﻿var sKeyword;
// These two should be refactored in the future versions
var ai = 1;
var nc;
var lazyLoad = false;

function addEvent( obj, type, fn ) {
  if ( obj.attachEvent ) {
    obj['e'+type+fn] = fn;
    obj[type+fn] = function(){obj['e'+type+fn]( window.event );}
    obj.attachEvent( 'on'+type, obj[type+fn] );
  } else
    obj.addEventListener( type, fn, false );
}

if (typeof docWrite == 'function')
{
    var dart_array = new Array();   // array to store http request to doubleclick server
    addEvent( window, 'load', placedart );
    //lazyLoad = true;
}


/* DART Script
 * Author: Peter Bojanczyk
 *
 * fnTdo - creates the proper DART ad based on the parameters passed in
 * aU = (unused) unused left over from old script
 * adWidth = width of the ad
 * adHeight = height of the ad
 * adTile = (unused) tile number 
 * adType = type of ad to render ("i" = iframe, "j" = javascript)
 * adId = this value gets put into the nc= tag
 */
function fnTdo(aU,adWidth,adHeight,adTile,adType,adId)
{
	// Default values
	var sDblClickURL = (("https:" == document.location.protocol) ? "https://ad.doubleclick.net" : "http://ad.ca.doubleclick.net");
	var sLoc="hub";
	var sOps="";
	var sView="";
	var sPos = "";	
	var sDARTCode;
	// Generate a random number
    var nRandom=Math.random()+"";
    nRandom=nRandom.substring(2,nRandom.length); 
    // Check adId passed in
 	if(adId==null)
		adId="";
	// Process variables to determine ZONE, MODE, DOMAIN, ARENA etc.
	initValues(); 
    // Check google keyword
	if((google_kw)&&(adWidth==468||adWidth==160)&&(sZone=="search"))
		if(google_kw.indexOf('##')>-1)
			sPos="ldbd";
    // Initialize javascript code	
    if (lazyLoad)
    {
        sDARTCode=sDblClickURL+'/adj/'+sDomain+'/'+sZone+';abr=!webtv;'; //!ie
    }
    else
    {
        sDARTCode='<scr'+'ipt language="javascript" src="'+sDblClickURL+'/adj/'+sDomain+'/'+sZone+';abr=!webtv;'; //!ie
    }
    // Dart search keywords
    if (sZone=="search" && wpcat!='')
        sDARTCode+='wpcat='+wpcat+';';
    if (sZone=="search" && wpind!='')
        sDARTCode+='wpind='+wpind+';';
    if (sZone=="search" && wploc!='')
        sDARTCode+='wploc='+wploc+';';
    // Sub fasttrack
    if (wpsubft!='')
        sDARTCode+='wpsubft='+wpsubft+';';
    
    if (lazyLoad)
    {
        sDARTCode+='mode='+sMode+';loc='+sLoc+';adpg='+sZone+';arena='+sArena+';ops='+sOps+';nc='+adId+';kw='+sKeyword+';vwr='+sView+';pos='+sPos+';sz='+adWidth+'x'+adHeight+';tile='+ai+';ord='+nRandom+'?';	    
    }
    else
    {
        sDARTCode+='mode='+sMode+';loc='+sLoc+';adpg='+sZone+';arena='+sArena+';ops='+sOps+';nc='+adId+';kw='+sKeyword+';vwr='+sView+';pos='+sPos+';sz='+adWidth+'x'+adHeight+';tile='+ai+';ord='+nRandom+'?" ></scr' + 'ipt>';	    
    }
	
	// Check if ad needs to be generated inside an iframe
	if (adType=="i") {	    
	    var tmpDARTCode='<iframe src="'+sDblClickURL+'/adi/'+sDomain+'/'+sZone+';';
        // Dart search keywords
        if (sZone=="search" && wpcat!='')
            tmpDARTCode+='wpcat='+wpcat+';';
        if (sZone=="search" && wpind!='')
            tmpDARTCode+='wpind='+wpind+';';
        if (sZone=="search" && wploc!='')
            tmpDARTCode+='wploc='+wploc+';';
        // Sub fasttrack
        if (wpsubft!='')
            tmpDARTCode+='wpsubft='+wpsubft+';';
	    tmpDARTCode+='mode='+sMode+';loc='+sLoc+';adpg='+sZone+';arena='+sArena+';ops='+sOps+';nc='+adId+';kw='+sKeyword+';vwr='+sView+';pos='+sPos+';sz='+adWidth+'x'+adHeight+';tile='+ai+';ord='+nRandom+'?" ';
	    tmpDARTCode+='width="'+adWidth+'" height="'+adHeight+'" frameborder="0" marginheight="0" marginwidth="0" scrolling="no">';
	    sDARTCode = tmpDARTCode + sDARTCode + '</iframe>';
	}	
	
	// Write out the ad
	if (adType=="i" || !lazyLoad)
	{
	    document.write('<div id="tempAd">' + sDARTCode + '</div>');	
	}
	else
	{
	    document.write('<div id="tempAd'+ai+'"></div>');
	    dart_array["tempAd"+ai] = sDARTCode;
	}
	
    // Incrememnt tile count	
	ai=ai+1;
	// Reset variables
	sDARTCode='';
	sPos='';
}

// loops through http request for doubleclick and execute the returning "document.write" in it respected container
function placedart()
{
    for (var key in dart_array) 
    { 
        docWrite(key, dart_array[key], function() {});
    }
}

function initValues() {
    
    // INIT DART KEYWORDS
    
    // If keyVal not defined assign blank
    if(!keyVal) {
	    keyVal="";
	    sKeyword="";
	}
	else {
        // Convert keyVal to "escaped" keyVal
        var keyValEscaped=escape(keyVal);
        // If the "escaped" KeyVal contains % codes, strip them out
        if(keyValEscaped.indexOf('%')>-1)
	        keyValEscaped=keyValEscaped.replace(/%\w\w/gi,"");    
        // If keyValEscaped is longer than 50 chars, trim it
        if(keyValEscaped.length>=50)
	        keyValEscaped=keyValEscaped.substring(0,50);
        sKeyword=(keyValEscaped);
        // If keyval is set to default, blank it out
        if(sKeyword=="keyword")
	        sKeyword="";
	    else if (sZone!="posting")
	        sZone = "search";
	}
}
