﻿// 初始化參數;
var ScreenHeight = screen.height;
var indexVal ;
var FloatBannerObj = null;//廣告物件;
//物件移動濾鏡;
var ObjTimer = null;//移動時的計時器;
var ObjTimeOut = null;//暫停時的計時器;
var StopScrollCheck = null;//暫停時Scroll偵測計時器;
var nowY;
var radius;
var MoveBannerFilter = Class.create();
MoveBannerFilter.prototype = 
{
	BannerObj : null,
	initY : null,
	Mathad : null,
	timeValue : 30,//撥放影格速度;
	p : null,//位移量;
	SpeedValue : 20,//初始速度;
	Speedrange : 10,//速度變量;
	a : 0,//廣告半徑暫存值;
	Bound : 1,
	flag : false,//廣告位移起動標記;
	flag2 : false,//廣告位移暫停標記;
	radiuslimit : null,//廣告上方最高點位置;
	NowBanerTop : null,
	initialize : function(oObj)
    {
		this.radiuslimit = radius*3;
		this.BannerObj = oObj;
		this.initY = eval((oObj.style.top).substr(0,(oObj.style.top).length-2));		 
	},
	Move : function (Mathad)
	{	
	    this.Mathad = Mathad;		
		ObjTimer = setInterval(eval("this."+Mathad),this.timeValue);		
	},
	ByScollY :function (){
		clearInterval(ObjTimer);
		MoveBanner.NowBanerTop =265-(BannerHeight[indexVal]/2);
	    nowY = MoveBanner.NowBanerTop;
		StopScrollCheck = setInterval(MoveBanner.fadRefresh,30);
	},
	speed : function (num)
	{
	    speedX = -(100)/num;
	    return speedX;
    },
	Circle : function ()
	{
		this.p += this.speed(this.SpeedValue); 		
		var range = (this.p*Math.PI)/180;
		re2 = ((Math.cos(range))*this.a);		
		return re2;
    },
	UpDown : function (){		
		FloatBannerObj.style.left = ((940-(BannerWidth[indexVal]/2))+((YAHOO.util.Dom.getViewportWidth() - 940)/2)) + "px";
		var NewVal = MoveBanner.Circle();		
		if(NewVal == MoveBanner.a && MoveBanner.flag == false){			
		   MoveBanner.a=MoveBanner.a+(radius*MoveBanner.Bound);
		   MoveBanner.BannerObj.style.top = (MoveBanner.initY-MoveBanner.a)+(NewVal)+document.documentElement.scrollTop+"px";	
		   MoveBanner.flag=true;
		}else if(MoveBanner.flag==true){			
		   MoveBanner.BannerObj.style.display = "";
		   MoveBanner.BannerObj.style.top = (MoveBanner.initY-MoveBanner.a)+(NewVal)+document.documentElement.scrollTop+"px";		  
		   if(NewVal==MoveBanner.a){			  
			   MoveBanner.a=MoveBanner.a+(radius*MoveBanner.Bound);
			   MoveBanner.SpeedValue = MoveBanner.SpeedValue+(MoveBanner.Speedrange*MoveBanner.Bound);			   
			   if(MoveBanner.a == MoveBanner.radiuslimit){	
			      
			      MoveBanner.Bound=MoveBanner.Bound * -1; 
				  MoveBanner.flag2 = true;
				  			  
			   }else if(MoveBanner.a == 0){
				  MoveBanner.Bound=MoveBanner.Bound * -1;
			   }
		   }		  
		   if(NewVal == MoveBanner.radiuslimit*-1 && MoveBanner.flag2==true){
			   clearInterval(ObjTimer);	
			   MoveBanner.NowBanerTop = (MoveBanner.BannerObj.style.top).substr(0,(MoveBanner.BannerObj.style.top).length-2)-document.documentElement.scrollTop;
			   nowY = MoveBanner.NowBanerTop;
			   StopScrollCheck = setInterval(MoveBanner.fadRefresh,30);
			   MoveBanner.flag2 = false;
			   ObjTimeOut = setTimeout(MoveBanner.ReMove,3000);
		   }
		}		
	},	
	ReMove :function ()
	{
		clearInterval(StopScrollCheck);
	    MoveBanner.Move(MoveBanner.Mathad);
	},
	fadRefresh : function ()
    {    
       offsetY = MoveBanner.NowBanerTop + document.documentElement.scrollTop - nowY;	  
	   nowY += offsetY / 1; //分母決定是否一次到位;
       MoveBanner.BannerObj.style.top = nowY+"px";	 
	   MoveBanner.BannerObj.style.left = ((940-(BannerWidth[indexVal]/2))+((YAHOO.util.Dom.getViewportWidth() - 940)/2)) + "px";
    }
}


//隨機廣告設定;
var NewArray = new Array(1,1,3,1,1,2,1,1,2,1);
var NowChoise = Math.floor(Math.random()*10);
//機率測試;
/*var A100 = 0;var B200 = 0;var C300 = 0;
function Redom(){ NowChoise = Math.floor(Math.random()*10);switch(NewArray[NowChoise]){case 1: A100++; break;case 2: B200++; break;case 3: C300++; break; }}for(l=0; i<1000; i++){Redom(); }alert("100:"+A100+"\n 200:"+B200+"\n 300:"+C300);*/
//設定Banner及連結;
function BuildBanner(Banner){
	var j=0;
    while(Banner[j] == ""){
	    j++;
	}
	return j;
}

if(BannerPath.length == 0 || (BannerPath.length == 1 && BannerPath[0] == "")){
	indexVal = 0;
}else
{
    indexVal = BuildBanner(BannerPath);
}

if(ScreenHeight<900){	
	var ObjOrgTop = 562-(BannerHeight[indexVal]/2);//廣告初始上方位置;
	radius = 50;//廣告Updown位移半徑量;
}else if(ScreenHeight>=900){
	var ObjOrgTop = 710-(BannerHeight[indexVal]/2);//廣告初始上方位置;
	radius = 75;//廣告Updown位移半徑量;
}

// 20100512 Modified by Iruka for CR-2726
if (BannerPath[indexVal] != "" && BannerPath[indexVal] != undefined && 
	(chkHome() || chkStore() || chkCategory()) )
{	
	if(LinkTarget[indexVal]=="Y")
	{
		var Target = "_blank";
	}else
	{
		var Target = "_top";
	}	
	document.write("<a href=\""+LinkURL[indexVal]+"\" target=\""+Target+"\"><div id=\"FloatBanner\"></div></a>");	
	if(BannerPath[indexVal].split(".").pop().toLowerCase() != "swf"){
		$('FloatBanner').style.width=BannerWidth[indexVal]+"px";
		$('FloatBanner').style.height=BannerHeight[indexVal]+"px";
		$('FloatBanner').style.backgroundImage = "url("+BannerPath[indexVal]+")";
		$('FloatBanner').style.behavior="url(../R5CSS/iepngfix/iepngfix.htc)";
		$('FloatBanner').style.backgroundRepeat = "no-repeat";
	}else{
		var FloatBannerAD = new FlashObject(BannerPath[indexVal],"Banner", BannerWidth[indexVal], BannerHeight[indexVal], "8", "#FFFFFF");	
		FloatBannerAD.addParam("wmode", "transparent");	
		FloatBannerAD.write("FloatBanner");		
	}	
	
	FloatBannerObj = $("FloatBanner");
	FloatBannerObj.style.top= ObjOrgTop+"px";	
	FloatBannerObj.style.position="absolute";
	FloatBannerObj.style.zIndex="1000";
	FloatBannerObj.style.cursor="pointer";	
	FloatBannerObj.style.left = ((940-(BannerWidth[indexVal]/2))+((YAHOO.util.Dom.getViewportWidth() - 940)/2)) + "px";
	var MoveBanner = new MoveBannerFilter(FloatBannerObj);//使用移動濾鏡;
	if(MoveMode[indexVal] == "Y"){		
		MoveBanner.Move("UpDown");
	}else{
		MoveBanner.Move("ByScollY");	
	}
}

// 20100512 Added by Iruka for CR-2726
function chkHome()
{
	var chk = false;
	if (getUrlObj.PageName == 'home.aspx' && ShowHome[indexVal] != "N"){
		chk = true;
	}
	return chk;
}

function chkStore()
{
	var chk = false;
	if (ShowStore[indexVal] != "N") {
		if (getUrlObj.PageName.indexOf("_home") > -1 && 
	        getUrlObj.PageName != 'st_home.aspx' && getUrlObj.PageName != 'tf_home.aspx')
		{
			if (ShowSID[indexVal] == "" || ShowSID[indexVal] == undefined || 
				chkID(ShowSID[indexVal], NowStoreID))
			{
				chk = true;
			}
		}
	}
	return chk;
}

function chkCategory()
{
	var chk = false;
	if (ShowCate[indexVal] != "N") {
		if (getUrlObj.PageName == 'lproductlist.aspx' && 
			(ShowCID[indexVal] == "" || ShowCID[indexVal] == undefined || chkID(ShowCID[indexVal], StrCategoryID)))
		{
			chk = true;
		} else if (getUrlObj.PageName == 'sproductlist.aspx') {
			if (ShowCID[indexVal] == "" || ShowCID[indexVal] == undefined) {
				chk = true;
			} else {
				for(chkCI = 1; chkCI < 6; chkCI++) {
					if(eval("WTCateID" + chkCI) != "" && !chk){
				 		chk = chkID(ShowCID[indexVal], eval("WTCateID"+chkCI));
					}
			   }
			}
		}
	}
	return chk;
}

function chkID(str, id)
{
	return (","+str+",").indexOf(","+id+",") > -1;
}
// End CR-2726
