var medias=new Array();
var locs=new Array();
var ents=new Array();
var typeAt=new Array();
var mArray=new Array();

var typeMedias = 9;
var ent="";
var ent_id=0;
var cont_id=0;
var id=0;
var midiaCobertura=0;
var halfTotal=0;

function getHTTPObject(){
	var requestObject = false;
	if(window.XMLHttpRequest){
		requestObject = new XMLHttpRequest();
	}
	else if(window.ActiveXObject){
		try{
			// for IE 6
			requestObject=new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch(e){
			try{
				//for IE 5
				requestObject=new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch(e){
				// not applicable
				requestObject=false;
			}
		}
	}
	return requestObject;
}

function xmlArray(xmlArray){
	var mediaElements=xmlArray.getElementsByTagName("midia");
	for(var i=0;i<mediaElements.length;i++){
		Item=new mediaItem(mediaElements[i]);
		medias[i]=Item;
	}

	var locationElements=xmlArray.getElementsByTagName("localizacao");
	for(var i=0;i<locationElements.length;i++){
		ItemLoc=new locationItem(locationElements[i]);
		locs[i]=ItemLoc;
	}

	var eElements=xmlArray.getElementsByTagName("entidade");
	for(var i=0;i<eElements.length;i++){
		ItemE=new eItem(eElements[i]);
		ents[i]=ItemE;
	}
	gMedias();
}

function mediaItem(itemxml){
	var it=new Array("midia_id","tipo_id","html","brasil","script");
	var tmpElement=new Array();

	for(var i=0;i<it.length;i++){
		var tmp=itemxml.getElementsByTagName(it[i])[0];
		if(tmp!=undefined)
			if(tmp.childNodes[0]!=undefined)
				if(tmp.childNodes[0].nodeValue!=undefined) tmpElement[i]=tmp.childNodes[0].nodeValue;		
	}
	return tmpElement;
}

function eItem(itemxml){
	var it=new Array("entidade_id","nome");
	var tmpElement=new Array();

	for(var i=0;i<it.length;i++){
		var tmp=itemxml.getElementsByTagName(it[i])[0];
	
		if(tmp!=undefined)
			if(tmp.childNodes[0]!=undefined)
				if(tmp.childNodes[0].nodeValue!=undefined) tmpElement[i]=tmp.childNodes[0].nodeValue;		
	}
	return tmpElement;
}

function locationItem(itemxml){
	var it=new Array("midia_id","brasil","tipo_id","conteudo_id","entidade_id");
	var tmpElement=new Array();

	for(var i=0;i<it.length;i++){
		var tmp=itemxml.getElementsByTagName(it[i])[0];
		
		if(tmp!=undefined)
			if(tmp.childNodes[0]!=undefined)
				if(tmp.childNodes[0].nodeValue!=undefined) tmpElement[i]=tmp.childNodes[0].nodeValue;		
	}
	return tmpElement;
}

function getXML(){
	path=window.location.pathname;
	pathArr=new Array();
	pathArr=path.split("/");
	id=pathArr[2];
	
	if(!id>0)
		id=0;

	xm=getHTTPObject();
	xm.open("GET","http://"+window.location.host+"/ad.xml",true);
	xm.setRequestHeader("Cache-Control","no-cache");
	xm.setRequestHeader("Pragma","no-cache");
	xm.onreadystatechange=function(){
		if(xm.readyState==4){
			if(xm.status==200){
				if(xm.responseText!=null){
					xmlArray(xm.responseXML);
				}else{
					alert("Failed - file not found.");
					return false;
				}
			}
			else
				alert("Error code "+xm.status+" received: "+xm.statusText);
		}
	}
	xm.send(null);
}

function encMedia(id,b){
	if(b!=1) b=0;
	ret=id+"B"+b;
	return ret;
}

function sMedias(){
	// location 0-midia_id 1-brasil 2-tipo_id 3-conteudo_id 4-entidade_id 
	var hsh="";
	for(var type=0;type<typeMedias;type++){
		mArray[type]=new Array();
		fotoBr=new Array();
		var idxFotoBr=0;
		richBr=new Array();
		var idxRichBr=0;
		fullBr=new Array();
		var idxBr=0;
		var idx=0;
		var brLen=0;
		for(var i=0;i<locs.length;i++){
			if(locs[i][2]==(type+1)){
				if(locs[i][1]==1){
					//caso brasil
					if(type==0){
						//fullbanner
						fullBr[idxBr]=encMedia(locs[i][0],locs[i][1]);
						idxBr++;
					}else if(type==2){
						if(ent_id>0){
							// caso entidade especifica verifica se a localizacao e para aquela localidade
							// evita pegar o rich da home e mostrar em uma entidade
							if(locs[i][4]==ent_id) {
								richBr[idxRichBr]=encMedia(locs[i][0],locs[i][1]);
								idxRichBr++;
							}
						} else {
							// caso esteja home (ent_id==0)
							richBr[idxRichBr]=encMedia(locs[i][0],locs[i][1]);
							idxRichBr++;
						}
					}else if(type==8){
						fotoBr[idxFotoBr]=encMedia(locs[i][0],locs[i][1]);
						idxFotoBr++;						
					} else {
						mArray[type][idx]=encMedia(locs[i][0],locs[i][1]);
						idx++;
						brLen=1;
					}
				}else {
					if(cont_id>0 && ent_id>0){
						//caso conteudo especifico
						if(locs[i][3]==cont_id&&locs[i][4]==ent_id){mArray[type][idx]=encMedia(locs[i][0],locs[i][1]);idx++;}
					}
					else if(ent_id>0){
						//caso entidade especifica
						if(locs[i][4]==ent_id&&locs[i][3]<1){mArray[type][idx]=encMedia(locs[i][0],locs[i][1]);idx++;}
					}
					// caso seja home
					else if((locs[i][3]<1)&&(locs[i][4]<1)){mArray[type][idx]=encMedia(locs[i][0],locs[i][1]);idx++;}	
				}
			}
		}
//if(type==2||type==0||type==5) msg("<br/>teste1"+mArray[type].join("t"));
		if(ent_id>0 && (brLen == 1 || mArray[type].length == 0) && (type==0 || type==1 || type==2 || type==5 || type==6 || type==7|| type==8)){
			for(var i=0;i<locs.length;i++){
				if(locs[i][2]==(type+1)){
					if(locs[i][1]==1){
						//caso brasil
						if(type==0){
							//fullbanner
							fullBr[idxBr]=encMedia(locs[i][0],locs[i][1]);
							idxBr++;
						}else if(type==2){
							if(ent_id>0){
								// caso entidade especifica verifica se a localizacao e para aquela localidade
								// evita pegar o rich da home e mostrar em uma entidade
								if(locs[i][4]==ent_id) {
									richBr[idxRichBr]=encMedia(locs[i][0],locs[i][1]);
									idxRichBr++;
								}
							} else {
								// caso esteja home (ent_id==0)
								richBr[idxRichBr]=encMedia(locs[i][0],locs[i][1]);
								idxRichBr++;
							}
						}else if(type==8){
							fotoBr[idxFotoBr]=encMedia(locs[i][0],locs[i][1]);
							idxFotoBr++;						
						}else{
							mArray[type][idx]=encMedia(locs[i][0],locs[i][1]);
							idx++;
							brLen=1;
						}
					}else {
						if(ent_id>0){
							//pega midia de entidade especifica
							if(locs[i][4]==ent_id&&locs[i][3]<1){mArray[type][idx]=encMedia(locs[i][0],locs[i][1]);idx++;}
						}
						// pega midia da home home
						else if((type!=2)&&(locs[i][3]<1)&&(locs[i][4]<1)){mArray[type][idx]=encMedia(locs[i][0],locs[i][1]);idx++;}	
					}
				}
			}
		}
//if(type==2||type==0||type==5) msg("<br/>teste2"+mArray[type].join("t"));		
		if((brLen == 1 || mArray[type].length == 0) && (type==0 || type==1 || type==5 || type==6 || type==7|| type==8)){
			for(var i=0;i<locs.length;i++){
				if(locs[i][2]==(type+1)){
					if(locs[i][1]==1){
						//caso brasil
						if(type==0){
							//fullbanner
							fullBr[idxBr]=encMedia(locs[i][0],locs[i][1]);
							idxBr++;
						}else if(type==2){
							if(ent_id>0){
								// caso entidade especifica verifica se a localizacao e para aquela localidade
								// evita pegar o rich da home e mostrar em uma entidade
								if(locs[i][4]==ent_id) {
									richBr[idxRichBr]=encMedia(locs[i][0],locs[i][1]);
									idxRichBr++;
								}
							} else {
								// caso esteja home (ent_id==0)
								richBr[idxRichBr]=encMedia(locs[i][0],locs[i][1]);
								idxRichBr++;
							}
						}else if(type==8){
							fotoBr[idxFotoBr]=encMedia(locs[i][0],locs[i][1]);
							idxFotoBr++;						
						}else{
							mArray[type][idx]=encMedia(locs[i][0],locs[i][1]);
							idx++;
							brLen=1;
						}
					}else {
						// pega midia da home
						if((locs[i][3]<1)&&(locs[i][4]<1)){mArray[type][idx]=encMedia(locs[i][0],locs[i][1]);idx++;}
					}
				}
			}
		}
//if(type==0) msg("<br/>teste3"+mArray[type].join("SS"));

		if(type==0){
			var retMath = (pM1/100);
			var percBr = Math.round(pM1/10);
			var percCt = 10 - Math.round(pM1/10);
			var midiaBr = fullBr;
			var idxMidiaBr = idxBr;
		}
		if(type==2){
			var retMath = (pM1/100);
			var percBr = Math.round(pM1/10);
			var percCt = 10 - Math.round(pM1/10);
			var midiaBr = richBr;
			var idxMidiaBr = idxRichBr;
		}
		if(type==8){
			var retMath = (pM9/100);
			var percBr = Math.round(pM9/10);
			var percCt = 10 - Math.round(pM9/10);
			var midiaBr = fotoBr;
			var idxMidiaBr = idxFotoBr;
		}

		mArray[type].sort(function() {return 0.5 - Math.random()});
		if(type==0 || type==2 || type==8){
			//gera vetor com o multiplicador necessario para full ou foto cidades
			if(mArray[type].length > 0){
				var mult=parseInt((mArray[type].length/percCt)+1);
				var lim=mult*percCt;
				var len=mArray[type].length;
				var idxLen=0;
				while(mArray[type].length<lim){
					mArray[type][idx]=mArray[type][idxLen];
					idxLen++;
					idx++;
					if(idxLen>len) idxLen=0;
				}
			}
			
			//gera vetor com o multiplicador necessario para midia brasil
			if(midiaBr.length > 0){
				midiaBr.sort(function() {return 0.5 - Math.random()});
				var limBr=mult*percBr;
				var lenBr=midiaBr.length;
				var idxLenBr=0;
				while(midiaBr.length<limBr){
					midiaBr[idxMidiaBr]=midiaBr[idxLenBr];
					idxLenBr++;
					idxMidiaBr++;
					if(idxLenBr>lenBr) idxLenBr=0;
				}
				// comeca processo de juncao do full brasil e cidade
				var r=Math.random();
//if(type==0) msg("br "+midiaBr);
//if(type==0||type==8) msg("r "+r);
				if(r<retMath) var iniBr=0;
				else var iniBr=1;
				if(mArray[type].length==0) var iniBr=0;				
				var lenTotal=midiaBr.length+mArray[type].length;
				var arrBr=new Array();
				var iBr=0;
				var iC=0;
				for(var x=0;x<lenTotal;x++){
					if(x==iniBr){
						arrBr[x]=midiaBr[iBr];
						iBr++;
						if(mArray[type].length==0) iniBr++;
						else iniBr=iniBr+(Math.round(percCt/percBr)+1);
					}else{
						if(mArray[type].length>0){
							if(iC>mArray[type].length) iC=0;
							arrBr[x]=mArray[type][iC];
							iC++;
						}
					}
				}
				mArray[type]=arrBr;
//if(type==0) msg("XX "+mArray[type].join("s"));
			}
		}		
		hsh=hsh+type+"T"+mArray[type].join("-")+"X";
	}
	hsh=cont_id+"ID"+ent_id+"ID"+hsh;
//msg("<br/>HSH "+hsh);
	return hsh;
}

function gMedias(){
	var hsh="";
	if(!checkCookie("ad")){
		hsh=sMedias();
		setCookie("ad","0R"+hsh,null);
	}
	hsh=getCookie("ad");
	if(hsh) {
		if(hsh != "undefined" && (typeof hsh != "undefined") && hsh != null && hsh != "") {
			var refr=hsh.split("R");
			if(refr[0])
				var refresh=parseInt(refr[0]);
			else
				var refresh=0;
	
			if(refr[1] != "undefined" && (typeof refr[1] != "undefined") && refr[1] != null && refr[1] != "")
				var locId=refr[1].split("ID");
			if(locId[2] != "undefined" && (typeof locId[2] != "undefined") && locId[2] != null && locId[2] != "")
				var mType=locId[2].split("X");
		}
	
		mArray=0;
		var mArray=new Array();
		for(var i=0;i<(mType.length-1);i++){
			if(mType!=undefined){
				var arr=mType[i].split("T");
				var arrType=arr[1].split("-");
			}
			if(arrType!=undefined){
				var idx;
				if(refresh>=arrType.length) idx=refresh-(arrType.length*(parseInt(refresh/arrType.length)));
				else idx=refresh;

				if(arrType[idx]!=undefined){
					if(i==1){
						var half=new Array();
						var iHalf=idx;
						halfTotal=arrType.length;
						for(var x=0;x<3&&(x<halfTotal);x++){       
							if(iHalf>=arrType.length) iHalf=0;
							half[x]=arrType[iHalf].split("B");
							iHalf++;
						}
						mArray[i]=half;
					}else{
						var md=arrType[idx].split("B");
						mArray[i]=md;
					}
				}
			}
		}
		refresh++;
		setCookie("ad",refresh+"R"+refr[1],null);
//msg(mArray.join(" Z "));
		showMedias(mArray);
	}
}

function showMedias(m){
	for(var i=0;i<m.length;i++){
		var h="";
		var m_id="";
		var m_br="";
		if(i==1 && midiaCobertura==0){
			for(var x=0;x<3&&(x<halfTotal);x++){
				m_id=m[i][x][0];
				m_br=m[i][x][1];
				h=h+getHTML(m_id,m_br);
				setClk(i,m_id,m_br);
				if(x<2)
					h=h+"<div class='sepBN'>&nbsp;</div>";
			}
			showHTML(i,h);
		}else{
			if(midiaCobertura==0){
				m_id=m[i][0];
				m_br=m[i][1];
				h=getHTML(m_id,m_br);
				setClk(i,m_id,m_br);
				showHTML(i,h);
			} else if(i==0||i==5||i==6||i==7||i==8) {
				m_id=m[i][0];
				m_br=m[i][1];
				h=getHTML(m_id,m_br);
				setClk(i,m_id,m_br);
				showHTML(i,h);				
			}
		}
	}
}

function getHTML(m_id,m_br){
	var ret="";
	for(var i=0;i<medias.length;i++){
		if(medias[i][0]==m_id&&medias[i][3]==m_br)
		ret=medias[i][2];
	}
	if(ret.substr(0,9) == "undefined")
		ret = "";
		
	return ret;
}

function setClk(type,m_id,m_br){
	for(var i=0;i<medias.length;i++){
		if(medias[i][0]==m_id&&medias[i][3]==m_br)
		var ret=i;
	}
	var clk="";
	if(type==0) {clk="fullBannerCLK";}
	if(type==1) {clk="halfBannerCLK";}
	if(type==2) {clk="richMediaCLK";}
	//if(type==3) {clk="richIntroCLK";}
	//if(type==4) {clk="barraAgitoBrasilCLK";}
	if(type==5) {clk="skyScrapper1CLK";}
	if(type==6) {clk="skyScrapper2CLK";}
	if(type==7) {clk="skyScrapper3CLK";}
	if(type==8) {clk="fotoBannerCLK";}
	var c = document.getElementById(clk);
	if(c) {
		setTimeout( "document.getElementById('"+clk+"').src = '/scripts/shmbn_clk.php?s="+ret+"&e="+ent_id+"&d="+dom_id+"';", 100 );
	}
}

function showHTML(type,html){
	var d="";
	if(type==0) {d=document.getElementById("fullBanner");}
	if(type==1) {d=document.getElementById("halfBanner");}
	if(type==2) {d=document.getElementById("richMedia");}
	//if(type==3) d=document.getElementById("richIntro");
	//if(type==4) d=document.getElementById("barraAgitoBrasil");
	if(type==5) {d=document.getElementById("skyScrapper1");}
	if(type==6) {d=document.getElementById("skyScrapper2");}
	if(type==7) {d=document.getElementById("skyScrapper3");}
	if(type==8) {d=document.getElementById("fotoBanner");}
	if(d) {
		if(html != "" && html.substr(0,18) != "<div class='sepBN'" && html.substr(0,9) != "undefined" && (typeof html != "undefined")){
			html = html.replace("wxEeExw",ent_id);
			html = html.replace("wxCcCxw",cont_id);
			d.innerHTML=html;
			d.style.display="block";
		}
	}
}

function getCookie(c_name){
	if (document.cookie.length>0){
		c_start=document.cookie.indexOf(c_name+"=");
		if (c_start!=-1){ 
			c_start=c_start+c_name.length+1; 
    		c_end=document.cookie.indexOf(";",c_start);
    		if(c_end==-1) c_end=document.cookie.length;
	    	return unescape(document.cookie.substring(c_start,c_end));
    	} 
 	}
	return "";
}

function setCookie(c_name,value,expiredays){
	expiredays=1;
	expireminutes=10;
	var exdate=new Date();
	exdate.setMinutes( parseInt(exdate.getMinutes()) + expireminutes )
	//exdate.setDate(exdate.getDate()+expiredays);
	document.cookie=c_name+"="+escape(value)+((expiredays==null)?"":";expires="+exdate.toGMTString());
}

function checkCookie(c_name){
	ad = getCookie(c_name);
	if (ad!=null&&ad!=""){
		var locId=ad.split("ID");
		if(locId[0]!=cont_id&&locId[1]!=ent_id){
//msg('checkCookieFALSE');
	  		return false;
		}else{
//msg('checkCookieTRUE');
	  		return true;
  		}
  	}else{
//msg('checkCookieFALSE');  	
  		return false;
  	}
}

function msg(txt){
	document.getElementById("skyScrapper2").style.display="block";
	document.getElementById("skyScrapper2").innerHTML=document.getElementById("skyScrapper2").innerHTML+"<br/>"+txt;
}
function getMidiasCobertura(){
	midiaCobertura=1;
	getXML();
}
function getMidias(){
	getXML();
}
function checkMediaContainer(dName){
	var mdd=document.getElementById(dName);
	if(mdd) {
		if(mdd.innerHTML == '' || mdd.innerHTML.substr(0,9) == "undefined")
			mdd.parentNode.removeChild(mdd);
	}
}