//----------------------------------------------------
// dcAd
// keyValues should be in the form key=value;nextkey=nextval;
// If not using a keyValue, pass empty string.
//----------------------------------------------------
	
ord=Math.random()*10000000000000000;
incrementalTile = 1;

//funtion to create incremental tild IDs
function incrementTile() {
    incrementalTile++;
}
	
//backwards compatible for old ad tags	
function dcAd(site, zone, adId, keyValues, isFrame) {
	switch (adId) {
		case 'videosponsorbutton':
			size='88x31';
			iFrameWidth=150; //incorrect
			iFrameHeight=31;  //incorrect
		break;
		case 'messaging':
			size='300x250';
			xIndex=size.indexOf('x');
			iFrameWidth=size.substring(0,xIndex);
			iFrameHeight=size.substring(xIndex+1,size.length);
		break;
		case 'skyscraper':
			size='160x600';
			xIndex=size.indexOf('x');
			iFrameWidth=size.substring(0,xIndex);
			iFrameHeight=size.substring(xIndex+1,size.length);
		break;
		case 'hpsidebar':
			size='300x40';
			xIndex=size.indexOf('x');
			iFrameWidth=size.substring(0,xIndex);
			iFrameHeight=size.substring(xIndex+1,size.length);
		break;
		case 'sponsoredby':
			size='330x25';
			xIndex=size.indexOf('x');
			iFrameWidth=size.substring(0,xIndex);
			iFrameHeight=size.substring(xIndex+1,size.length);
		break;
		case 'hpcenterbar':
			size='355x40';
			xIndex=size.indexOf('x');
			iFrameWidth=size.substring(0,xIndex);
			iFrameHeight=size.substring(xIndex+1,size.length);
		break;
		case 'modulesponsor':
			size='88x31';
			iFrameWidth=88; //incorrect
			iFrameHeight=55;  //incorrect
		break;
		case 'button2':
			size='120x60';
			xIndex=size.indexOf('x');
			iFrameWidth=size.substring(0,xIndex);
			iFrameHeight=size.substring(xIndex+1,size.length);
		break;
		case 'navad':
			size='90x120';
			iFrameWidth=90; //incorrect
			iFrameHeight=120;  //incorrect
		break;
		case 'richmedia':
			size='1x3';
			xIndex=size.indexOf('x');
			iFrameWidth=size.substring(0,xIndex);
			iFrameHeight=size.substring(xIndex+1,size.length);
		break;
		case 'bizdevtext':
			size='1x2';
			iFrameWidth=0; //will never use iframes
			iFrameHeight=0;  //will never use iframes
		break;
		case 'narrowsky':
			size='120x600';
			xIndex=size.indexOf('x');
			iFrameWidth=size.substring(0,xIndex);
			iFrameHeight=size.substring(xIndex+1,size.length);
		break;
		case 'mainheaderad':
			size='120x60';
			iFrameWidth=120; //incorrect
			iFrameHeight=60;  //incorrect
		break;
		case 'leaderboard':
			size='728x90';
			xIndex=size.indexOf('x');
			iFrameWidth=size.substring(0,xIndex);
			iFrameHeight=size.substring(xIndex+1,size.length);
		break;
		case 'sponsoredwildcard':
			size='1x4';
			xIndex=size.indexOf('x');
			iFrameWidth=0; //will never use iframes
			iFrameHeight=0;  //will never use iframes
		break;
		case 'specialoffer':
			size='1x5';
			xIndex=size.indexOf('x');
			iFrameWidth=0; //will never use iframes
			iFrameHeight=0;  //will never use iframes
		break;
		default:
			size='1x1';
			iFrameWidth=1;
			iFrameHeight=1;
		}
		
	  dcRichAd(site, zone, adId, keyValues, isFrame, iFrameWidth, iFrameHeight);
}

function dcRichAd(site, zone, adId, keyValues, isFrame, iFrameWidth, iFrameHeight) {
	switch (adId) {
		//leave 1 blank for XML video ad
		case 'videosponsorbutton':
			size='88x31';
		break;
		case 'messaging':
			size='300x250';
		break;
		case 'skyscraper':
			size='160x600';
		break;
		case 'hpsidebar':
			size='300x40';
		break;
		case 'sponsoredby':
			size='330x25';
		break;
		case 'hpcenterbar':
			size='355x40';
		break;
		case 'modulesponsor':
			size='88x31';
		break;
		case 'button2':
			size='120x60';
		break;
		case 'navad':
			size='90x120';
		break;
		case 'richmedia':
			size='1x3';
		break;
		case 'bizdevtext':
			size='1x2';
		break;
		case 'narrowsky':
			size='120x600';
		break;
		case 'mainheaderad':
			size='120x60';
		break;
		case 'leaderboard':
			size='728x90';
		break;
		case 'sponsoredwildcard':
			size='1x4';
		break;
		case 'specialoffer':
			size='1x5';
		break;
		}
	
	zone = zone.replace("partners.","partner.");
	tileId = incrementalTile;
	incrementTile();
	
	if (isFrame) {
		document.write('<iframe id="dc'+ ord + 't' + tileId + '" src="#" width="'+iFrameWidth+'" height="'+iFrameHeight+'" marginwidth="0" marginheight="0" hspace="0" vspace="0" frameborder="0" scrolling=no borderCOLOR="#000000" >');
		if (navigator.userAgent.indexOf("Gecko")==-1) {
			document.write('<script language="JavaScript" src="http://ad.doubleclick.net/adj/' + site + '/' + zone + ';' + keyValues + 'tile=' + tileId + ';sz=' + size + ';abr=!ie;ord=' + ord + '?" type="text/javascript"><\/script>');
		}
		document.write('</iframe>');
		
		if (document.getElementById('dc'+ord+'t'+tileId)) { 
			document.getElementById('dc'+ord+'t'+tileId).src = 'http://ad.doubleclick.net/adi/' + site + '/' + zone + ';' + keyValues + 'tile=' + tileId + ';sz=' + size + ';ord=' + ord + '?';
		}
	} else {
		document.write('<script language="JavaScript" src="http://ad.doubleclick.net/adj/' + site + '/' + zone + ';' + keyValues + 'tile=' + tileId + ';sz=' + size + ';ord=' + ord + '?" type="text/javascript"><\/script>');
	}
//</script><noscript><a href="http://ad.doubleclick.net/jump/' + site + '/' + zone + ';' + keyValues + 'tile=' + tileId + ';sz=' + size + ';ord=123456789?" target="_blank"><img src="http://ad.doubleclick.net/ad/cbstest.gustavo/sports;tile=1;sz=300x250;ord=123456789?" width="300" height="250" border="0" alt=""></a></noscript>
}

function resetAd (newOrd, dcSeed, keyValues, i){

	iFrameID=document.getElementsByTagName("iframe")[i].id;
	//if the iFrame is for a Double Click ad...
	if (iFrameID.substring(0,2)=="dc"){
		
		//don't need to redraw iFrame
		//recall Double Click
			
			if (document.getElementById(iFrameID)) { 

				//pull out all variables I need from the current source as a string
				iFrameSrc=document.getElementById(iFrameID).src;
				
				if (iFrameSrc.indexOf("DCRefresh") == -1){
					//first call to refresh
					//string manipulation of DC call
					
					sizeStartPos=iFrameSrc.indexOf("sz=")+3;
					sizeEndPos=iFrameSrc.indexOf(";", sizeStartPos);
					ordStartPos=iFrameSrc.indexOf("ord=")+4;
					ordEndPos=iFrameSrc.indexOf("?",ordStartPos);
					zoneStartPos=iFrameSrc.lastIndexOf("/")+1;
					zoneEndPos=iFrameSrc.indexOf(";",zoneStartPos);
					}
				else {
					//not the first call to refresh
					//string manipulation of dcrefresh

					sizeStartPos=iFrameSrc.indexOf("&size=")+6;
					sizeEndPos=iFrameSrc.indexOf("&ord=", sizeStartPos);
					ordStartPos=iFrameSrc.indexOf("&ord=")+5;
					ordEndPos=iFrameSrc.indexOf("&zone=", ordStartPos);
					zoneStartPos=iFrameSrc.indexOf("&zone=")+6;
					zoneEndPos=iFrameSrc.indexOf("&dcSeed=",zoneStartPos);
					}
				
				zone=iFrameSrc.substring(zoneStartPos,zoneEndPos);
				tile = incrementalTile;
                incrementTile();
				size=iFrameSrc.substring(sizeStartPos,sizeEndPos);

				//alert("keyValues="+ keyValues +"\n"+"tileId="+ tile +"\n"+"size="+ size +"\n"+"ord="+ newOrd +"\n"+"zone="+ zone +"\n");
			
				var thisFrame=document.getElementById(iFrameID);
				if (iFrameSrc.indexOf("DCRefresh") == -1)
			  	    thisFrame.src="/services/DCRefresh.aspx?keyValues=" + escape(keyValues) + "&tileId=" + tile + "&size=" + size + "&ord=" + newOrd + "&zone=" + zone + "&dcSeed=" + dcSeed;
				else
					thisFrame.src="/services/DCRefresh.aspx?keyValues=" + keyValues + "&tileId=" + tile + "&size=" + size + "&ord=" + newOrd + "&zone=" + zone + "&dcSeed=" + dcSeed;
			}
		}
    }

function resetAdsWithKeyValues(newOrd, dcSeed, keyValues) {
    //for the newOrd, the video ad is Tile 1
    incrementalTile = 2;
    for (var i=0;i<document.getElementsByTagName("iframe").length;i++) {
		iFrameID=document.getElementsByTagName("iframe")[i].id;
		//if the iFrame is for a Double Click ad...
		if (iFrameID.substring(0,2)=="dc"){
				
			if (document.getElementById(iFrameID)) {
                resetAd(newOrd, dcSeed, keyValues, i);
            }
         } 
     }
}

function resetAds(newOrd, dcSeed){
    //for the newOrd, the video ad is Tile 1
    incrementalTile = 2;
	for (var i=0;i<document.getElementsByTagName("iframe").length;i++) {
		iFrameID=document.getElementsByTagName("iframe")[i].id;
		//if the iFrame is for a Double Click ad...
		if (iFrameID.substring(0,2)=="dc"){
	
			if (document.getElementById(iFrameID)) { 

				//pull out all variables I need fromt he current source as a string
				iFrameSrc=document.getElementById(iFrameID).src;
				
				if (iFrameSrc.indexOf("DCRefresh") == -1){
					//first call to refresh
					//string manipulation of DC call

					keyvaluesStartPos=iFrameSrc.indexOf(";")+1;
					keyvaluesEndPos=iFrameSrc.indexOf("tile",keyvaluesStartPos);
					
					}
				else {
					//not the first call to refresh
					//string manipulation of dcrefresh

					keyvaluesStartPos=iFrameSrc.indexOf("?keyValues=")+11;
					keyvaluesEndPos=iFrameSrc.indexOf("&tileId=",keyvaluesStartPos);
					}
				
				keyValues=iFrameSrc.substring(keyvaluesStartPos,keyvaluesEndPos);
                resetAd(newOrd, dcSeed, keyValues, i);
			}
		}
	}
}
	
	
//This function is passed to the video section players as a substitute to resetAds 
function doNothing(newOrd, dcSeed){
		
}