if(typeof KIDS == "undefined" || !KIDS) var KIDS = {};

KIDS.namespace("ads.refresh");

KIDS.ads.refresh.stopAdRefresh  = new Array();
KIDS.ads.refresh.timedAdRefresh = new Array();
KIDS.ads.refresh.minSponsor = 1;
KIDS.ads.refresh.maxSponsor = 1;
KIDS.ads.refresh.randSponsor = Math.floor(Math.random()*(KIDS.ads.refresh.maxSponsor-KIDS.ads.refresh.minSponsor+1)+KIDS.ads.refresh.minSponsor);
KIDS.ads.refresh.ord = Math.random()*1000000000000000000;
KIDS.ads.refresh.tile = 0;

$(document).ready(function(){
	KIDS.ads.getAds();
	KIDS.ads.refresh.invokeAdCreation();
});

KIDS.ads.refresh.invokeAdCreation = function(){
	try{
		for(var one in KIDS.ads.adArray){			
			if(KIDS.get("adfree")!="true"){ 
				KIDS.ads.refresh.createRefreshableAd(KIDS.ads.adArray[one]);
				$("#ad-"+KIDS.ads.adArray[one].getSize()+"Div").removeClass("hiddenClass");
			}
		}
		$("#top-advertisement").removeClass("hiddenClass");
		for(i=0;i<KIDS.ads.refresh.timedAdRefresh.length;i++)					
			KIDS.ads.refresh.stopAdRefresh[i] = {"rate":KIDS.ads.refresh.timedAdRefresh[i].rate,"value":window.setInterval("KIDS.ads.refresh.reloadAds('"+KIDS.ads.refresh.timedAdRefresh[i].elementID+"')",KIDS.ads.refresh.timedAdRefresh[i].rate*60*1000)};
		if(KIDS.ads.adArray.length==0){
			for(var one in KIDS.ads.defaultConfig){				
				KIDS.ads.refresh.createRefreshableAd(new KIDS.ads.Ad(KIDS.ads.defaultConfig[one]));
			}
		}
	}catch(e){KIDS.utils.doLog("KIDS.ads.refresh.invokeAdCreation failed");}	
}
KIDS.ads.refresh.createRefreshableAd = function(adObj){
	try{
		if(adObj!=null){
			var rfAdObj=new KIDS.ads.refresh.RefreshableAd(adObj);
			rfAdObj.renderRefreshableAd();
			if(adObj.isRefreshable()){
				var eID = adObj.getElementID();
				var rate = adObj.getRefreshRate();	
				var hasRate = false;
				for(var i=0;i<KIDS.ads.refresh.timedAdRefresh.length;i++){
					if(KIDS.ads.refresh.timedAdRefresh[i].rate.toString()==rate.toString())hasRate=true;
				}
				if(!hasRate){
					KIDS.ads.refresh.timedAdRefresh[KIDS.ads.refresh.timedAdRefresh.length]={"rate":rate,"elementID":eID};
				}else{
					KIDS.ads.refresh.timedAdRefresh[KIDS.ads.refresh.timedAdRefresh.length-1].elementID += ";" + eID;
				}
			}
			/*
			var sz = adObj.getSize();
			if(sz=="120x60"){
				var clsStr = "small-sponsored";
				clsStr += (isWide) ? " wide" : ""; 
				$("#ad-"+sz+"Div").addClass(clsStr);
			}
			*/
		}
	}catch(e){KIDS.utils.doLog("KIDS.ads.refresh.createRefreshableAd failed");}
}
KIDS.ads.refresh.RefreshableAd = function(adObj){
	try{
		KIDS.ads.refresh.tile++;
		zone = location.pathname;
		
		if(zone.indexOf(".html")<0){
			if(zone.charAt(zone.length-1)!="/") zone+="/";
			zone+="index.html";
		}
		zone=zone.replace(/[- ]/gi,"_");
		var kVals = ""+adObj.getKeyValues();	
		kVals = (kVals.lastIndexOf(";")==(kVals.length-1)) ? kVals : kVals+";";
		if(com.mtvi.config.qs.testmode) kVals += "testmode=" + com.mtvi.config.qs.testmode+";";
		if(KIDS.ads.refresh.maxSponsor>1) kVals+="cat="+KIDS.ads.refresh.randSponsor+";";
		//kVals+="ord="+KIDS.ads.refresh.ord+";";		
		this.renderRefreshableAd = function(){			
			var eID = adObj.getElementID();
			var iFrameContents = '<iframe id="' + eID + '" allowtransparency="true" ';
			iFrameContents += 'src="';
			var iSrc = '/ad/' + eID + '/?zone=' + zone;
			if(kVals.length>0){ 
				iSrc += '&keyValues=' + kVals;
				if(kVals.charAt(kVals.length-1)!=';')iSrc+=';';
			}
			if(KIDS.get("urlAlias").length>0)iSrc+='activity='+KIDS.get("urlAlias")+';';
			iSrc+='tile='+KIDS.ads.refresh.tile+';';
			iSrc = encodeURI(iSrc);
			iFrameContents+=iSrc;
			iFrameContents+='" ';			
			var sz = adObj.getSize();
			if(sz.indexOf("-")>0) sz = sz.substring(0,sz.indexOf("-"));
			if(adObj.getActualSize()) sz = adObj.getActualSize();
			
			var sizeArr = sz.split("x");
			if(sizeArr.length==2){
				iFrameContents += 'width="' + sizeArr[0] + '" ';
				iFrameContents += 'height="' + sizeArr[1] + '" ';
			}
			iFrameContents += 'frameborder="0" scrolling="no" marginheight="0" marginwidth="0"';
			iFrameContents += '>';
			iFrameContents += '</iframe>';
			if($("#ad-"+adObj.getSize()+"Div").length>0) $("#ad-"+adObj.getSize()+"Div").html(iFrameContents);
		}
	}catch(e){KIDS.utils.doLog("KIDS.ads.refresh.RefreshableAd failed");}
}
KIDS.ads.refresh.reloadAds = function(eleId){
	try{
		var ord = Math.random()*1000000000000000000;
		var cat = Math.floor(Math.random()*(KIDS.ads.refresh.maxSponsor-KIDS.ads.refresh.minSponsor+1)+KIDS.ads.refresh.minSponsor);		
		var idArr = eleId.split(";");
		for(var i=0;i<idArr.length;i++){
			var oldSrc = $("#"+idArr[i]).attr("src");
			//var patt = new RegExp("(^.*cat=)\\d+(;.*ord=)\\d+(;.*$)");
			//var result = patt.exec(oldSrc);
			//var newSrc = (result.length==4) ? result[1]+cat+result[2]+ord+result[3] : oldSrc;
			//$("#"+idArr[i]).attr("src",newSrc);
			$("#"+idArr[i]).attr("src",oldSrc);
			var gSwf = document.getElementById("gameSwf");					
			if(gSwf)gSwf.focus();
		}	
	}catch(e){KIDS.utils.doLog("KIDS.ads.refresh.reloadAds failed");}
}
KIDS.ads.refresh.stopRefreshing = function(){
	try{
		var len = KIDS.ads.refresh.stopAdRefresh.length;
		for(var i=0;i<len;i++){
			window.clearInterval(KIDS.ads.refresh.stopAdRefresh[i].value);
		}
	}catch(e){KIDS.utils.doLog("KIDS.ads.refresh.stopRefreshing failed");}
}