/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

var trk = {
    brandSrch : "_PI_br_", //this is the string we are searching for to chk it is a brand traffic
    A8ID : "", //PPC tracking code
    dcsDelim :'~~', // the delimiter for dc storm - shouldnt need to be changed
    dcsTrack : '', //dcs tracking set by them
    naturalTraffic : 'a08_PI_natural', //default/natural tracking code
    theTracker : '', //the tracking code we send to the affiliate
    paramSearch : "?CTY", //this is the parameter we are searching for to insert the tracking code
      
    addTrackingToDeepLink : function(className,trackingVarName,trackingCode,dcStrmTrack){
        var debug = 0;
        var paramChar; //either '?' or '&'

        //chk if A8ID
        if (trackingCode){
            this.A8ID = trackingCode;
        }
        else{//natural traffic
            this.A8ID = this.naturalTraffic;
        }

        //set dc storm code
        if(dcStrmTrack){//dc storm code present
            this.dcsTrack = dcStrmTrack;
        }
        else{
            this.dcsTrack = 'NoDCS';
        }

        //build final tracking code
        this.theTracker = this.A8ID + this.dcsDelim + this.dcsTrack;

        //chk if there's existing params
            //find the start position we need to search from, so we ignore the beginning affiliate tracking link
/* -- this code may be incorrect as we need to put the a8id in the middle of the affiliate link - feb 10
        var prodLinkStart = $j(className).attr('href').indexOf('premierinn.com');

        if (String($j(className).attr('href')).indexOf('?',prodLinkStart) > 1){
            paramChar = '&';
        }
        //else there's no parameters
        else{
            paramChar = '?';
        }
*/
  
        //if this is a brand tracking term then we need to amend the outlink
        if(this._isBrand()){
            //modify the link
            var tmp ='';
            var start = 0;
            var endString = '';
            var startString ='';
            var modLink =''; //the final affiliate link that includes the correct brand acct

            $j(className).each(function(){
                var tmp = $j(this).attr("href");
                var start = tmp.indexOf('biblion'); //start char of
                var endString = tmp.substr(start+7, tmp.length-1);
                var startString = tmp.substr(0,start+7);
                //modLink = startString + '2' + endString;
                modLink = startString + endString;
                $j(this).attr("href",modLink);
            });
        }

        if(debug){
            $j.prompt($j(className).attr("href")+paramChar+trackingVarName+"="+this.theTracker);
        }

        this._insertTracking(className,this.paramSearch);
        //$j(className).attr("href",$j(className).attr("href")+paramChar+trackingVarName+"="+this.theTracker)
      },

    linkWithTracking : function(rawLink){
        var tmp = rawLink.split(trk.paramSearch);
        var startString = tmp[0];
        var endString = "&CTY" + tmp[1];
        tmp = startString + "?LID=" + trk.theTracker + endString;
        return tmp;
      },

      _isBrand : function(){
          //chks if hte incoming traffic came from a ppc brand term
          if(this.A8ID.indexOf(this.brandSrch) > -1){
              return true;
          }
          else{
              return false;
          }
      },

      
    _insertTracking : function(className){
    /**
    * @desc splits the link and inserts the A8ID into the correct place for tracking
    * @author JL
    * @dependencies if other external libs/classes used
    * @changelog
    * @param string $className - string we are searching for to do a search and replace
    **/
          
        $j(className).each(function(para1){
            var link = $j(this).attr("href");
            link = trk.linkWithTracking(link);
            $j(this).attr("href",link);
        })
    }
}
function zz1_addTrackingToDeepLink(className,trackingVarName,trackingCode,noTrackValue){
/*-------------------------------------
Description:
Adds the tracking code to all links of "className"

Author: JL
Updates:
Dependencies:
   jq.cookie
-------------------------------------*/
	//check if any GET params exist
	var debug = 0;
	var paramChar; //either '?' or '&'
	if (debug){$j.prompt($j(className).attr('href'))};

	if (trackingCode === null){
		trackingCode = noTrackValue;
	}

	//chk if there's existing params
	if (String($j(className).attr('href')).indexOf('?') > 1){
		paramChar = '&';
	}
	//else there's no parameters
	else{
		paramChar = '?';
	}

	if(debug){$j.prompt($j(className).attr("href")+paramChar+trackingVarName+"="+trackingCode)};
	$j(className).attr("href",$j(className).attr("href")+paramChar+trackingVarName+"="+trackingCode)
}