var ADV_FUNCTIONS=new Array();
var ADV_CONFIG={
	firstTimeAdvPoolSize:2,
	defaultAdvPoolSize:10,
	siteId:2,
	defaultAdvMin:480
};
//global
//window.onload=showAdvAdeptor;
//dojo.addOnLoad(showAdvAdeptor);
var ADV_ONLOAD_STARTED=false;
try{
	if(ADV_ONLOAD_INIT){
		ADV_ONLOAD_STARTED=true;
	}
}catch(e){
}
if(!ADV_ONLOAD_STARTED){
	addEvent(window, "load", showAdvAdeptor);
	ADV_ONLOAD_INIT=true;
}
function addEvent(elm, evType, fn, useCapture)   
{   
	if (elm.addEventListener){   
	elm.addEventListener(evType, fn, useCapture);   
	return true;   
	} else if (elm.attachEvent){   
	var r = elm.attachEvent("on"+evType, fn);   
	return r;   
	} else {   
	//alert("Handler could not be removed");   
	}   
}    

/*
[0]=要顯示的id，以逗號分割
[1]=function
[2]=function args
[3][0]=start time
[3][1]=adv 播放時間
[3][2]=上一次的uploadId
[3][3]=retObjs
*/
function getNextAdvInPool(funtionId){
	var ret=null;
	try{
		for(var i=0;i<ADV_FUNCTIONS.length;i++){
			if(ADV_FUNCTIONS[i][0]==funtionId){
				var allRet=ADV_FUNCTIONS[i][4][1];
				var currentIndex=ADV_FUNCTIONS[i][4][0];
				if(allRet.length-1>currentIndex){
					currentIndex=currentIndex+1;
					ret=funtionId;
					ADV_FUNCTIONS[i][4][0]=currentIndex;
					ADV_FUNCTIONS[i][3][3]=allRet[currentIndex];
				}else if(ADV_FUNCTIONS[i][4][2]){
					currentIndex=0;
					ret=funtionId;
					ADV_FUNCTIONS[i][4][0]=currentIndex;
					ADV_FUNCTIONS[i][3][3]=allRet[currentIndex];
				}
				break;
			}
		}
	}catch(e){
		//alert(e);
	}
	return ret;
}
function getAdvFunctionId(funtionId){
	for(var i=0;i<ADV_FUNCTIONS.length;i++){
		if(ADV_FUNCTIONS[i][0]==funtionId) return i;
	}
}
function getAdvFunctionIdByOneId(funtionId){
	for(var i=0;i<ADV_FUNCTIONS.length;i++){
		var fids=ADV_FUNCTIONS[i][0].split(",");
		for(var j=0;j<fids.length;j++)
			if(fids[j]==funtionId) return i;
	}
}
function showAdvAdeptor(){
	var randomVal = "";
	for(var i=0;i<ADV_FUNCTIONS.length;i++){
		var func=ADV_FUNCTIONS[i][1];
		var args=ADV_FUNCTIONS[i][2];
		if(typeof func == "function"){
			//set start time
			ADV_FUNCTIONS[i][3]=new Array();
			ADV_FUNCTIONS[i][3][0]=new Date();
			ADV_FUNCTIONS[i][3][1]=ADV_CONFIG.defaultAdvMin;
			ADV_FUNCTIONS[i][3][2]="";
			ADV_FUNCTIONS[i][4]=new Array();
			ADV_FUNCTIONS[i][4][0]=0;
			ADV_FUNCTIONS[i][4][1]=new Array();
			ADV_FUNCTIONS[i][4][2]=false;
			ADV_FUNCTIONS[i][4][3]=0;
			func(args);
		}
		if(func == "getLinkImages"){
			randomVal = ADV_FUNCTIONS[i][0];
		}
	}
	initImgTitles(randomVal);
	var advTimerMan=new AdvTimerManager();
	advTimerMan.start();
}
function AdvTimerManager(){
	this.init();
}
AdvTimerManager.prototype.init=function(){
	this.started=false;
	this.timerId=0;
	this.delay=10000;
	this.startTime=new Date();
}
AdvTimerManager.prototype.start=function(){
	if(!this.started){
		this.started=true;
		this.startTime=new Date();
		this.timerId=setInterval(this.go, 10000);
	}
}
AdvTimerManager.prototype.go=function(){
	var tDate = new Date();
	for(var i=0;i<ADV_FUNCTIONS.length;i++){
		var func=ADV_FUNCTIONS[i][1];
		var args=ADV_FUNCTIONS[i][2];
		var ctr=ADV_FUNCTIONS[i][3];
		if(ctr && typeof func == "function"){
			var funRunSTime=ctr[0];
			var funRunTimeout=ctr[1];
			var runtime=tDate.getTime()-funRunSTime.getTime();
			//請注意，advMin的數字是分鐘
			funRunTimeout=funRunTimeout*1000;
			if(funRunTimeout>0 && funRunTimeout < runtime){
				ADV_FUNCTIONS[i][3][0]=tDate;
				func(args);
				var randomVal = "";
				if(func == "getLinkImages"){
					randomVal = ADV_FUNCTIONS[i][0];
				}
				modifyAdMeta(randomVal);
			}
		}
	}
}
