//changed the IRegionalOfferTag function to add functionality for RTO in Infiniti.Same as for NISSAN-5/6/2002(RJ)
var intIsActiveCS=1;
var intIsActiveRTO=1;
var strNameTag;

var strVisitorIdText="visitorID";
var strVisitorIdLength=20;
var strZipCodeText="ZipCode";

var strCSImgSrc;
var strRTOImgSrc;
var strRTO2ImgSrc;
var doneLoading;

// source page
var strSourcePage;

//Grab the referral tags and store them in cookies. Store in cookies only if they exists in URL
var strReferralSite="Site";
var strReferralArea="Area";
var strReferralCreative="Creative";

var objRTArgs=GetQueryString();
if(!(objRTArgs[strReferralSite]==null)){
    SetRefCookie(strReferralSite,escape(objRTArgs[strReferralSite]));
}
if(!(objRTArgs[strReferralArea]==null)){
    SetRefCookie(strReferralArea,escape(objRTArgs[strReferralArea]));
}
if(!(objRTArgs[strReferralCreative]==null)){
    SetRefCookie(strReferralCreative,escape(objRTArgs[strReferralCreative]));
}

//function to set session cookie for referral tags
function SetRefCookie(strCookieName,strCookieValue){
    var arrHostName=document.location.hostname.split(".");
    var hostName="."+arrHostName[arrHostName.length-2]+"."+arrHostName[arrHostName.length-1];
    document.cookie=strCookieName+"="+escape(strCookieValue)+"; domain="+hostName+"; path=/";
    return;
}

//End of cookie writing for referral tags

function GetCookie(strCookieName){
    var strArg=strCookieName+"=";
    var intArgLen=strArg.length;
    var intCookieLen=document.cookie.length;
    var i=0;

    while(i<intCookieLen){
        var j=i+intArgLen;
        if(document.cookie.substring(i,j)==strArg){
            return GetCookieVal(j);
        }
        i=document.cookie.indexOf(" ",i)+1;
        if(i==0){
            break;
        }
    }
    return null;
}

function GetCookieVal(intOffset){
    var strEnd=document.cookie.indexOf(";",intOffset);
    if(strEnd==-1){
        strEnd=document.cookie.length;
    }
    return unescape(document.cookie.substring(intOffset,strEnd));
}

function SetCookie(strCookieName,strCookieValue){
    var dateNextYear=new Date();
    var arrHostName=document.location.hostname.split(".");
    var hostName="."+arrHostName[arrHostName.length-2]+"."+arrHostName[arrHostName.length-1];

    dateNextYear.setFullYear(dateNextYear.getFullYear()+1);
    document.cookie=strCookieName+"="+escape(strCookieValue)+"; domain="+hostName+"; expires="+dateNextYear.toGMTString()+"; path=/";
    return;
}

function GetVisitorId(){
    CheckVisitorId();
    return GetCookie(strVisitorIdText);
}

function SetVisitorId(strVisitorId){
    SetCookie(strVisitorIdText,strVisitorId);
    return;
}

function CheckVisitorId(){
    var strVID=GetCookie(strVisitorIdText);

    if(strVID==null||strVID==""||strVID.length>strVisitorIdLength){
        strVID=CreateRandomNumber(strVisitorIdLength);
    }
    SetCookie(strVisitorIdText,strVID);
    return;
}

function GetZipCode(){
    return GetCookie(strZipCodeText);
}

function SetZipCode(newZip){
    var strZipCode=new String(newZip);

    // if the zipcode is formatted xxxxx-xxxx, we will store only the
    // first 5 digits
    arrZipCode=strZipCode.split("-");

    SetCookie(strZipCodeText,arrZipCode[0]);
    return;
}

function CreateRandomNumber(numLength){
    var strRandomDec1=Math.random().toString();
    var strRandomDec2=Math.random().toString();
    var arrRandomNumber1=strRandomDec1.split(".");
    var arrRandomNumber2=strRandomDec2.split(".");
    // since the random number generator doesn't always give enough
    // digits we will concatenate 2 sets of random numbers to ensure this
    var strRandomNumber=arrRandomNumber1[1]+arrRandomNumber2[1];
    var strPaddedNum;

    var len=strRandomNumber.length;
    if (numLength<=len){
        return strRandomNumber.substring(0,numLength);
    }

    for(var i=0;i<numLength-len;i++){
        strPaddedNum=strPaddedNum+"0";
    }

    return strPaddedNum+strRandomNumber;
}

function Clickstream(strURL,strMake,strArea,strTopic,strCategory,strName){
    var strCSTag;
    var strVisitorId=GetVisitorId();
    var objMLArgs=GetQueryString();

    strNameTag=strName;

    // update global source page variable
    strSourcePage=strName;

    if(intIsActiveCS&&strVisitorId!=null){
        strCSImgSrc=strURL+'?c='+strMake+'&v='+strVisitorId+'&TYPE=content&AREA='+strArea+'&TOPIC='+strTopic+'&CATEGORY='+strCategory+'&NAME='+strName;
        if(objMLArgs.Site||objMLArgs.Area||objMLArgs.Creative){
            if(objMLArgs.Site){
                strCSImgSrc+='&REFSITE='+objMLArgs.Site;
            }else if(objMLArgs.Area||objMLArgs.Creative){
                strCSImgSrc+='&REFSITE=UnknownSite';
            }
            if(objMLArgs.Area){
                strCSImgSrc+='&REFAREA='+objMLArgs.Area;
            }else if(objMLArgs.Site||objMLArgs.Creative){
                strCSImgSrc+='&REFAREA=UnknownArea';
            }
            if(objMLArgs.Creative){
                strCSImgSrc+='&REFCREATIVE='+objMLArgs.Creative;
            } else if(objMLArgs.Site||objMLArgs.Area){
                strCSImgSrc+='&REFCREATIVE=UnknownCreative';
            }
        }

        strCSTag='<img src="/m/static/i/spacer.gif" name="csimage" border="0" width="1" height="1">';
        document.write(strCSTag);

        //document.onload=setTimeout("swapCRMImage('document.images.csimage.src = strCSImgSrc')",100);
        //document.onload=setTimeout("swapCRMImage('document.images.csimage.src = strCSImgSrc')",1000);
        document.onload = setTimeout("document.images.csimage.src = strCSImgSrc",1000);
    }

    return;
}


// <Nissan Spanish> DS: 02/13/2003: 
// New function to create the Clickstream tag for Spanish pages  
function Clickstream_Spanish (strURL, strMake, strName) {
	var strCSTag;
	var strVisitorId = GetVisitorId();

	strNameTag = strName;

	// update global source page variable
	strSourcePage = strName;

	if (intIsActiveCS && strVisitorId != null) {

		strCSImgSrc = strURL + '?Site=' + strMake + '&SessionId=' + strVisitorId + '&Page=' + strName;
				
		strCSTag = '<img src="/m/static/i/spacer.gif" name=csimage border=0 width=1 height=1>';
		document.write(strCSTag);

		document.onload = setTimeout("swapCRMImage('document.images.csimage.src = strCSImgSrc')",1000);
		//document.onload = setTimeout("document.images.csimage.src = strCSImgSrc",1000);
		

	}
	return;
}
// </Nissan Spanish> 


function swapCRMImage(strEval){
    if(typeof(initDone)=="undefined"){
        if(doneLoading){
            eval(strEval);
        }else{
            setTimeout("swapCRMImage('"+strEval+"')",100);
        }
    }else{
        if(initDone){
            eval(strEval);
        }else{
            setTimeout("swapCRMImage('"+strEval+"')",100);
        }
    }
}

function GetQueryString(){
    var objQSArgs=new Object();
    var strQuery=document.location.search.substring(1);
    var arrPairs=strQuery.split("&");

    for(var i=0;i<arrPairs.length;i++){
        var pos=arrPairs[i].indexOf('=');

        if(pos==-1){continue;}

        var strName=arrPairs[i].substring(0,pos);
        var strValue=arrPairs[i].substring(pos+1);
        objQSArgs[strName]=unescape(strValue);
    }
    return objQSArgs;
}

function NRegionalOfferTag(strURL,strName,strRTOPos,email,modelName,modelYear){
    var strRTO;
    var strVisitorId=GetVisitorId();
    var strZipCode=GetZipCode();
    var strCurrentState=document.location.href;
    var strReloadURL;
    var strZipCodeURL="/global/zipcode/ZipCodeApplication";
    var strChangeZip;

    strNameTag=strName;

    if(intIsActiveRTO&&strVisitorId!=null&&(location.href.indexOf("Reload")<0)){
        strRTOImgSrc=strURL+'?SessionId='+strVisitorId+'&RPEvent=NissanRegionalExtendRTO&Zip='+strZipCode+'&Page='+strName+'&RTOPos='+strRTOPos;
        if(email){
            strRTOImgSrc+='&email='+email;
        }
        if(modelName){
            strRTOImgSrc+='&modelName='+modelName;
        }
        if(modelYear){
            strRTOImgSrc+='&modelYear='+modelYear;
        }
        if(strRTOPos=='5'){
            strRTO2ImgSrc = strRTOImgSrc;
        }
        strRTO='<table width="209" border="0" cellpadding="0" cellspacing="0"><tr><td align="center" colspan="2">';
        strRTO+='<a href="'+strURL;
        strRTO+='?SessionId='+strVisitorId;
        strRTO+='&RPEvent=NissanRegionalAcceptRTO';
        strRTO+='&Zip='+strZipCode;
        strRTO+='&CurrentState='+strCurrentState;
        strRTO+='&Page='+strName;
        strRTO+='&RTOPos='+strRTOPos;
        if(email){
            strRTO+='&email='+email;
        }
        if(modelName){
            strRTO+='&modelName='+modelName;
        }
        if(modelYear){
            strRTO+='&modelYear='+modelYear;
        }
        strRTO+='">';
        if(strRTOPos=='5'){
            strRTO+='<img name="CRMImg2" src="/m/static/i/spacer.gif" width="209" height="87" border="0">';
        } else {
            strRTO+='<img name="CRMImg" src="/m/static/i/spacer.gif" width="209" height="87" border="0">';
        }
        strRTO+='</a></td></tr>';
        document.write(strRTO);
        if(strZipCode!=null&&strRTOPos!='5'){
            strChangeZip='<tr><td height="5"></td></tr><tr><td width="5"></td><td><a class="ArrowLink" href="';
            strChangeZip+=strZipCodeURL;
            strChangeZip+='?CurrentState='+strCurrentState;
            // if (is.ie5) {strChangeZip += escape("?Reload")}
            strChangeZip+='" onmouseover="arrowSwap(\'changeZip\',1)" ';
            strChangeZip+='onmouseout="arrowSwap(\'changeZip\')">';
            strChangeZip+='<img name="changeZip" src="/m/static/i/gl_arrow.gif" width="9" height="7" border="0">';
            strChangeZip+='Update Your Zip Code</a></td></tr>';
            document.write(strChangeZip);
        }
        document.write('</table>');
        // document.onload = setTimeout("swapCRMImage('document.images.CRMImg.src = strRTOImgSrc')",100);
        if(strRTOPos=='5'){
            document.onload=setTimeout("document.images.CRMImg2.src = strRTO2ImgSrc",1000);
        } else {
            document.onload=setTimeout("document.images.CRMImg.src = strRTOImgSrc",1000);
        }
    }
    if(location.href.indexOf("Reload")>0){
        intCutPoint=location.href.indexOf("Reload")-1;
        strReloadURL=location.href.substring(0,intCutPoint);
        location=strReloadURL;
    }
}

function changeCRMImg(strURL){
    document.CRMImg.src=strURL;
}

function IRegionalOfferTag(strURL,strName,strRTOPos,email,modelName,modelYear){
    var strRTO;
    var strVisitorId=GetVisitorId();
    var strZipCode=GetZipCode();
    var strCurrentState=document.location.href;
    var strZipCodeURL="/form/global/UpdateZipCode";
    var strChangeZip;

    strNameTag=strName;

    if(intIsActiveRTO&&strVisitorId!=null){
    // if (intIsActiveRTO && strVisitorId != null && (location.href.indexOf("Reload") < 0)) {
        strRTOImgSrc=strURL+'?SessionId='+strVisitorId+'&RPEvent=InfinitiRegionalExtendRTO&Zip='+strZipCode+'&Page='+strName+'&RTOPos='+strRTOPos;
        if(email){
            strRTOImgSrc+='&email='+email;
        }
        if(modelName){
            strRTOImgSrc+='&modelName='+modelName;
        }
        if(modelYear){
            strRTOImgSrc+='&modelYear='+modelYear;
        }
        if(strRTOPos=='05'){
            strRTO2ImgSrc=strRTOImgSrc;
        }
        strRTO='<a href="'+strURL;
        strRTO+='?SessionId='+strVisitorId;
        strRTO+='&RPEvent=InfinitiRegionalAcceptRTO';
        strRTO+='&Zip='+strZipCode;
        strRTO+='&CurrentState='+strCurrentState;
        // if (is.ie5) {strRTO += escape("?Reload")}
        strRTO+='&Page='+strName;
        strRTO+='&RTOPos='+strRTOPos;
        if(email){
            strRTO+='&email='+email;
        }
        if(modelName){
            strRTO+='&modelName='+modelName;
        }
        if(modelYear){
            strRTO+='&modelYear='+modelYear;
        }
        strRTO+='">';
        if(strRTOPos=='05'){
            strRTO+='<img name="rtoimage2" width="128" height="58" src="/m/static/i/spacer.gif" border="0">';
        } else {
            strRTO+='<img name="rtoimage" width="128" height="58" src="/m/static/i/spacer.gif" border="0">';
        }
        strRTO+='</a>';
        document.write(strRTO);
        if(strZipCode!=null&&strRTOPos!='05'){
            strChangeZip='<br><img src="/m/static/i/spacer.gif" width="5" height="1">';
            strChangeZip+='<img name="changeZip" src="/m/static/i/gl_/gl_n_arrow.gif" border="0">';
            strChangeZip+='<img src="/m/static/i/spacer.gif" width="6" height="1">';
            strChangeZip+='<a href="';
            strChangeZip+=strZipCodeURL;
            strChangeZip+='?CurrentState='+strCurrentState;
            // if (is.ie5) {strChangeZip += escape("?Reload")}
            strChangeZip+='" class="rtnav">';
            strChangeZip+='Update Your Zip</a>';
            document.write(strChangeZip);
        }
        //document.onload=setTimeout("swapCRMImage('document.images.rtoimage.src = strRTOImgSrc')",100);
        //document.onload=setTimeout("swapCRMImage('document.images.rtoimage.src = strRTOImgSrc')",1000);
        if(strRTOPos=='05'){
            document.onload = setTimeout("document.images.rtoimage2.src = strRTO2ImgSrc",1000);
        } else {
            document.onload = setTimeout("document.images.rtoimage.src = strRTOImgSrc",1000);
        }
    }
    if(location.href.indexOf("Reload")>0){
        intCutPoint=location.href.indexOf("Reload")-1;
        strReloadURL=location.href.substring(0,intCutPoint);
        location=strReloadURL;
    }
}


function RegionalOfferTagUrl(strURL,strName,strRTOPos){
    var strRTOUrl;
    var strVisitorId=GetVisitorId();
    var strZipCode=GetZipCode();
    var strCurrentState=document.location.href;
    var strReloadURL;
    var strRTOImgSrc;

    if(intIsActiveRTO&&strVisitorId!=null&&(location.href.indexOf("Reload")<0)){
        var arrHostName=document.location.hostname.split(".");
        var OfferPrefix;
        var hostName=arrHostName[arrHostName.length-2];
        if(hostName=='infiniti'){
            OfferPrefix='Infiniti';
        }else if(hostName=='nissanusa'){
            OfferPrefix='Nissan';
        }else{
            var hostNamePrefix=arrHostName[0];
            var arrHostNamePrefix=hostNamePrefix.split("-");

            hostNamePrefix=arrHostNamePrefix[0];

            if(hostNamePrefix=='infiniti'){
                OfferPrefix='Infiniti';
            }else if(hostNamePrefix == 'nissan'){
                OfferPrefix='Nissan';
            }
        }

        strRTOImgSrc=strURL+'?SessionId='+strVisitorId+'&RPEvent='+OfferPrefix+'RegionalExtendRTO&Zip='+strZipCode+'&Page='+strName+'&RTOPos='+strRTOPos;

        strRTOUrl=strURL;
        strRTOUrl+='?SessionId='+strVisitorId;
        strRTOUrl+='&RPEvent='+OfferPrefix+'RegionalAcceptRTO';
        strRTOUrl+='&Zip='+strZipCode;
        strRTOUrl+='&CurrentState='+strCurrentState;
        // if (is.ie5) {strRTOUrl += escape("?Reload")}
        strRTOUrl+='&Page='+strName;
  	strRTOUrl+='&RTOPos='+strRTOPos;
  	
        if(rtoURL!=""){
            rtoURL=strRTOUrl;
            rtoMain=strRTOImgSrc;
        }
    }

    if(location.href.indexOf("Reload")>0){
        var intCutPoint=location.href.indexOf("Reload")-1;
        strReloadURL=location.href.substring(0,intCutPoint);
        location=strReloadURL;
    }
}

function ShowUpdateZipcode(){
    var strZipCode=GetZipCode();
    var strCurrentState=document.location.href;
    var strZipCodeURL="/global/zipcode/ZipCodeApplication";
    var strChangeZip;

    if(strZipCode!=null){
        strChangeZip='<table><tr><td width="10"></td><td><a class="ArrowLink" href="';
        strChangeZip+=strZipCodeURL;
        strChangeZip+='?CurrentState='+strCurrentState;
        // if (is.ie5) {strChangeZip += escape("?Reload")}
        strChangeZip+='" onmouseover="arrowSwap(\'changeZip\',1)" ';
        strChangeZip+='onmouseout="arrowSwap(\'changeZip\')">';
        strChangeZip+='<img name="changeZip" src="/m/static/i/gl_arrow.gif" width="9" height="7" border="0">';
        strChangeZip+='Update Your Zip Code</a></td></tr></table>';
        document.write(strChangeZip);
    }
}