/*  
*  Overlay Ads Library  
*  Last Updated 05.2008  
*  Developed by Second Thought, Inc.
*/

var oAds = new Array();

function AdUnit(div, x, y, w, h){
	this._divName = div;
	this._x = x;
	this._y = y;
	this._width = w;
	this._height = h;
}

function OverlayAds(channel){
	this._duration = 10;
	this._channel = channel;
	this._testmode = false;
	this._oCount = 0;
	this._oArray = new Array();
	this._oPrefix = "_odiv_";
	this._oSplit = "<!-- breaker -->";
	this._pDiv = "adlayer";
	this._synched = true;
	this._ord = genRandom();
	this._adsArray = new Array();
	this._displayList = new Array();
	this._peopleAdList =  new Array();
	this._peopleGameId =  0;
	this._masterInt = -1;
	clearInterval(this._masterInt);	
	this.checkMaster = checkMaster;
	
	this._createHolder = _createHolder;
	this.displayAd = displayOverlayAd;
	this.displayAds = displayOverlayAds;
	this.removeAd = removeOverlayAd;
	this.placeAd = placeOverlayAd;
	this.refreshAd = refreshOverlayAd;
	this.removeAll = removeAllAds;

	document.write("<div id='"+this._pDiv+"' style='position:relative; z-index:198; left:0px; top:0px; margin:0px; padding:0px; width:100%'></div>");	
	oAds.push(this);
}



function _createHolder(currad){
	var t="";
	if(this._testmode){ t = "border: 1px solid cyan; ";  };
	//getDocElt(this._pDiv).innerHTML += "<div id='_layer_"+currad._divName+"' style='z-index:199; padding:0px; position:absolute; left:"+currad._x+"px; top:"+currad._y+"px; height:"+currad._height+"px; width:"+currad._width+"px;"+t+"'></div>";
	var c = "<div id='_layer_"+currad._divName+"' style='z-index:199; padding:0px; position:absolute; left:"+currad._x+"px; top:"+currad._y+"px; height:"+currad._height+"px; width:"+currad._width+"px;"+t+"'>";
		c += "<iframe width='"+currad._width+"' bgcolor='transparent' style='background-color:transparent;display:none;' allowtransparency='true' height='"+currad._height+"' frameborder='0' scrolling='no' id='"+currad._divName+"_iframe' src='/blank.html'></iframe>";
		c += "</div>";
	getDocElt(this._pDiv).innerHTML += c;
}


function placeOverlayAd(divid, x, y, w, h){
	var ad = new AdUnit(divid, x, y, w, h);
	this._adsArray.push(ad);
	this._createHolder(ad);
}


function displayOverlayAds(){ 
	this._ord = genRandom();
	var count = 0;
	this._displayList = displayOverlayAds.arguments;
	this.displayAd(this._displayList[0]);
	clearInterval(this._masterInt);
	this._masterInt = setInterval("oAds[0].checkMaster()", 500);
}


function checkMaster(){
	for(var i=1; i<this._displayList.length; i++){
		var currad = this._displayList[i];
		this.displayAd(currad);
	}
	//eraseCookie("tover_"+this._ord);
	clearInterval(this._masterInt);	
	/*
	if(readCookie("tover_"+this._ord) != null ){
		for(var i=1; i<this._displayList.length; i++){
			var currad = this._displayList[i];
			this.displayAd(currad);
		}
		//eraseCookie("tover_"+this._ord);
		clearInterval(this._masterInt);	
	}
	*/
}


function displayOverlayAd(divid){ 
	for(var i=0; i<this._adsArray.length; i++){
		var currad = this._adsArray[i];
		if(currad._divName == divid){
			// does div already exist?
			if(inArray(divid, this._oArray)>-1){
				this.removeAd(divid);
			}
			this._oArray.push(divid);
			
			var t="", disp="";
			var uniqueId = this._oPrefix+divid;
			var isrc = '';
//			s = "<iframe width='"+currad._width+"' height='"+currad._height+"' frameborder='0' scrolling='no' id='"+divid+"_iframe' src='/overlayads/"+this._channel+"/"+divid+".html?ord="+this._ord+"'></iframe>";
//			s = "<iframe width='"+currad._width+"' height='"+currad._height+"' frameborder='0' scrolling='no' id='"+divid+"_iframe' src=/overlayads/all/"+divid + ".php?ord="+this._ord+ "&channel"+ this._channel+ "&duration" + this._duration +"'></iframe>";
//			s = "<iframe width='"+currad._width+"' bgcolor='transparent' style='background-color:transparent;' allowtransparency='true' height='"+currad._height+"' frameborder='0' scrolling='no' id='"+divid+"_iframe' src='/overlayads/all/"+divid + ".php?ord="+this._ord+ "&channel="+ this._channel+ "&duration=" + this._duration +"'></iframe>";
//			s = "<iframe width='"+currad._width+"' bgcolor='transparent' style='background-color:transparent;' allowtransparency='true' height='"+currad._height+"' frameborder='0' scrolling='no' id='"+divid+"_iframe' src='/overlayads/all/"+divid + ".php?ord="+this._ord+ "&channel="+ this._channel+ "&duration=" + this._duration +"'></iframe>";
//			getDocElt("_layer_"+divid).innerHTML = s;

	// Fix by just changing the iframe source
			isrc = '/overlayads/all/'+divid + '.php?ord='+this._ord+ '&channel='+ this._channel+ '&duration=' + this._duration+'&gameId=' + this._peopleGameId;
			getDocElt(divid+'_iframe').src = isrc;
			getDocElt(divid+'_iframe').style.display = 'block';

		}
	}
}

function clearOverlayDiv(){
	this._oArray = new Array();
	getDocElt(this._pDiv).innerHTML = "";
}


function refreshOverlayAd(divid){
	var idframe = divid+"_iframe";
	var iframeAd;
	var ord = Math.random()*10000000000000000;
	iframeAd = getDocElt(idframe);
	iframeAd.src = iframeAd.src + "?r="+ord;
	showElt(id);
}


function removeOverlayAd(id){
	getDocElt("_layer_"+id).innerHTML = "";
	var index = inArray(id, this._oArray);
	(this._oArray).splice(index, 1);
}


function removeAllAds(){
	for(var i=0; i<this._adsArray.length; i++){
		var currad = this._adsArray[i];
		this.removeAd(currad._divName);
	}
}


function hideElt(id){
  var elem, vis;
  elem = getDocElt(id);
  vis = elem.style;
  vis.display = "none";
}


function showElt(id){
  var elem, vis;
  elem = getDocElt(id);
  vis = elem.style;
  vis.display = "block";
}


function getDocElt(id){
	var elem;
  if( document.getElementById ) 
    elem = document.getElementById(id);
  else if( document.all )
      elem = document.all[id];
  else if( document.layers )
    elem = document.layers[id];
	return elem;
}


function inArray(val, arr){
	for(var i=0; i<arr.length; i++){
		if(val==arr[i]){
			return i;	
		}
	}
	return -1;
}

function genRandom(){
	return Math.random()*10000000000000000;
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}
