var cnnad_tileID = cnnad_getID();
var cnnad_enabled = true;

function reverseString (input)
{
	// convert everything to a string
	input = "" + input;
	var output = '';

	if (input.length)
	{
		var i;
		for (i = input.length; i > 0; i--)
		{
			output += input.charAt(i-1);
		}
	}
	return(output);
}

function cnnad_getID() {
	return (reverseString(new Date().getTime()));
}

function cnnad_renderAd(cnnad_url) {
// this function is deprecated in failsafe ads solution. -sg
	cnnad_url = cnnad_preview(cnnad_url);
	if(cnnad_enabled == true) {
		document.write("<script type=\"text/javascript\"");
		document.write(" src=\""+cnnad_url+"&tile="+cnnad_tileID+"\"></scr");
		document.write("ipt>");
	}
}

function cnnad_preview(cnnad_adstring) {
	return cnnad_adstring;
}

function cnnad_createAdNoTileId(adId,cnnad_url,cnnad_height,cnnad_width) {
	cnnad_url = cnnad_preview(cnnad_url);
	document.write('<iframe hspace="0" vspace="0" marginHeight="0" marginWidth="0" src="' + cnnad_url + '&page.allowcompete=yes&domId=' + adId + '" border="0" frameBorder="0" height="0" width="0" scrolling="no"  id="'+adId+'" style="position: absolute; visibility: hidden;" ALLOWTRANSPARENCY="true"></iframe>');
}

// ADM functionality
function cnnad_createAd(adId,cnnad_url,cnnad_height,cnnad_width) {
	cnnad_url = cnnad_preview(cnnad_url);
	document.write('<iframe hspace="0" vspace="0" marginHeight="0" marginWidth="0" src="' + cnnad_url + '&tile=' + cnnad_tileID + '&page.allowcompete=yes&domId=' + adId + '" border="0" frameBorder="0" height="0" width="0" scrolling="no"  id="'+adId+'" style="position: absolute; visibility: hidden;" ALLOWTRANSPARENCY="true"></iframe>');


	var adSize = new String();

	if(cnnad_url.match("_position=") ){
		adSize = cnnad_getParamValue(cnnad_url, "_position=", "_");
	}
	else if(cnnad_url.match("_pos=")){
		adSize = cnnad_getParamValue(cnnad_url, "_pos=", "_");
	}
	else {
		adSize = "";
	}

	cnnad_calledURLs[adSize] = cnnad_url;


}
// END ADM functionality

function cnnad_writeAd(cnnad_callid,cnnad_url) {
        if(cnnad_enabled == true) {
                document.write("<script id=\"" + cnnad_callid + "\" type=\"text/javascript\" onload=\"cnnSendData();\"");
                document.write(" src=\""+cnnad_url+"&tile="+cnnad_tileID+"\"></scr");
                document.write("ipt>");
        }
}

function cnnad_showAd(cnnad_id) {
	if (document.getElementById(cnnad_id))
	{
		document.getElementById(cnnad_id).style.position = 'relative';
		document.getElementById(cnnad_id).style.visibility = 'visible';
	} else 
	{
		//alert("Error displaying ad component: " + cnnad_id);	
		// just do not display the ad. -sg
	}
}


function cnnad_setAdSize(docId,height,width) {
        if (document.getElementById(docId)) {
                document.getElementById(docId).height = height;
                document.getElementById(docId).width = width;
        }
}

function cnnad_readCookie( name ) {
        if ( document.cookie == '' ) { // there is no cookie, so go no further
            return false;
        } else { // there is a cookie
            var firstChar, lastChar;
                var theBigCookie = document.cookie;
                firstChar = theBigCookie.indexOf(name); // find the start of 'name'
                var NN2Hack = firstChar + name.length;
                if ( (firstChar != -1) && (theBigCookie.charAt(NN2Hack) == '=') ) { // if you found the cookie
                        firstChar += name.length + 1; // skip 'name' and '='
                        lastChar = theBigCookie.indexOf(';', firstChar); // Find the end of the value string (i.e. the next ';').
                        if (lastChar == -1) lastChar = theBigCookie.length;
                        return unescape( theBigCookie.substring(firstChar, lastChar) );
                } else { // If there was no cookie of that name, return false.
                        return false;
                }
        }
}

function cnnad_getTld (hostname)
{
	var data = hostname.split(".");
	if (data.length >= 2)
	{
		return (data[data.length-2] + "." + data[data.length-1]);
	}
	return(null);
}

alreadySwappedDETargetImage = false;
var cnnDEadDEonCookie = false;

function cnnad_getDEAdHeadCookie( imageRef ) {
	if (typeof(cnnad_readCookie) != "undefined") {
		cnnDEadDEonCookie = cnnad_readCookie( 'adDEon' );
	}
	var newSrc = "http://gdyn." + cnnad_getTld(location.hostname) + "/1.1/1.gif?" + new Date().getTime();
	if ( !alreadySwappedDETargetImage && !cnnDEadDEonCookie) {
		imageRef.src = newSrc;
		alreadySwappedDETargetImage = true;
	}
}

var cnnDocDomain = cnnad_getTld(location.hostname);
if(cnnDocDomain) {document.domain = cnnDocDomain;}


function geoTest() 
{
	if (document.cookie.indexOf('adDEmas') != -1) 
	{
		readingCookie = cnnad_readCookie('adDEmas');
		splitCookie = readingCookie.split('&');
		var geoLocation = splitCookie[4];
		var geoCode = new Array('aus','deu','gbr','ind','jpn','nzl','phl','twn','can');
		var siteURL = new Array(
		'www.adultswim.com/index.html',
		'www.adultswim.com/index.html',
		'www.adultswim.com/index.html',
		'www.adultswim.com/index.html',
		'www.adultswim.com/index.html',
		'www.adultswim.com/index.html',
		'www.adultswim.com/index.html',
		'www.adultswim.com/index.html',
		'www.adultswim.com/index.html'
		);
		
		for (i=0; i<geoCode.length;i++)
		{
			if (geoLocation == geoCode[i])
			{
				//alert(geoLocation+','+geoCode[i]);
				top.location.href="http://"+siteURL[i];
				break;
			} else {
				//alert(geoLocation);
				if ((geoLocation == "usa")||(geoLocation == "none")) {
					return false;
				}
			}
		}
	}
}
//ADM send functionality
//pagemodes - 1(all tags) - DM_cat(), DM_addToLoc(), DM_tag();
//pagemodes - 2(health) -  DM_tag();
//pagemodes - 3(none);
var cnnad_pageMode = 1;
var cnnad_calledURLs = new Array(); //associative array
var cnnad_successfulSend = 0;
var cnnad_resultArray = new Array();

function cnnad_sendADMData() {
	//alert('sendADMData')
	var cnnad_ADMSizes = new Array();
	var finalExpression = "";
	cnnad_ADMSizes = ["728x90","300x250"];

	for(as=0;as<cnnad_ADMSizes.length;as++){
		var calledURL = cnnad_calledURLs[cnnad_ADMSizes[as]];

		if(calledURL && cnnad_successfulSend == 0){

			if(cnnad_pageMode != 3){
				//finalExpression += '<scr' + 'ipt src="http://js.revsci.net/gateway/gw.js?csid=A09801"></script> \n ';
				finalExpression += '<scr' + 'ipt> \n ';
				if(cnnad_pageMode == 1){
					finalExpression += '	A09801.DM_cat("';
					var rollup = cnnad_getParamValue(calledURL, "_rollup=","&");
					var section = cnnad_getParamValue(calledURL, "_section=","&");
					var subsection = cnnad_getParamValue(calledURL, "_subsection=","&");
											finalExpression += rollup;
					if((rollup!="") && ((section!="") || (subsection!=""))){
						finalExpression += " > ";
					}
					finalExpression += section;
					if((section!="") && (subsection!="")){
						finalExpression += " > ";
					}
					finalExpression += subsection;
					finalExpression += '"); \n ';
					finalExpression += '	A09801.DM_addEncToLoc(); \n ';
				}
				finalExpression += '	A09801.DM_tag(); \n ';
				finalExpression += '</scr' + 'ipt> \n ';

				//alert(finalExpression);
				document.write(finalExpression);

			}

			cnnad_successfulSend = 1;
			break;
		}
	}
}


function cnnad_getParamValue(paramString, parameter, endCharacter){
	if(paramString.match(parameter)){
		var startOfString = paramString.indexOf(parameter)+parameter.length;
		var endOfString = paramString.indexOf(endCharacter,startOfString);
	 	var parameterValue = paramString.substring(startOfString,endOfString);
	 	return parameterValue;
	 }
	 else{
	 	return "";
	 }
}
// end ADM send functionality

