var jpmSiteIDOnAffilinet;
var sharedcookieNameForFNZ;
var fnzCookieValidatorPage="https://jpmpublicoe8.fnzc.co.uk/register/create/";
var wealthManagerFinalURL = "https://public.jpmorganwealthmanagerplus.co.uk/Register/Create";
var PItoFNZDataPushMethod="GET"

/* to hold multiple affilinet platforms*/
var affilinetPlatform = new Array();
affilinetPlatform.push([9403,1]);
 
 
jpmSiteIDOnAffilinet = 9403;
sharedcookieNameForFNZ = "JPMWMaffilinatecookies"

//http://being.successfultogether.co.uk/click.asp?ref=236725&site=9403 


$(document).ready(function() {

var publisherId; //ref
var affilinetAccountID ; //site id
var sourceWebSite ; //site

/*
publisherId   = urlParameter('ref');
affilinetAccountID = urlParameter('site');
sourceWebSite = urlParameter('src');
*/

publisherId   = urlParameter('utm_campaign');
affilinetAccountID = urlParameter('site');
sourceWebSite = urlParameter('utm_source');

if(publisherId   == "") {
publisherId   = urlParameter('ref');
}

if(affilinetAccountID == "") {
affilinetAccountID = urlParameter('site');
}

if(sourceWebSite== "") {
sourceWebSite = urlParameter('src');
}





if(sourceWebSite!=undefined) {sourceWebSite = sourceWebSite.toLowerCase();}

if((affilinetAccountID =="" || affilinetAccountID == undefined) && sourceWebSite =="affilinet")
{
    affilinetAccountID=jpmSiteIDOnAffilinet;
}



if(publisherId !="" &&  publisherId !=undefined && affilinetAccountID!="" && affilinetAccountID != undefined)
{
    var sharedcookiesForFNZ;
    var d=new Date();
    d.setDate(d.getDate()+30);
    
    sharedcookiesForFNZ = publisherId + "||" + affilinetAccountID + "||" + d.toUTCString();
    
    /*if cookies is already there then don't overwrite its value: as per specification*/
    
    if($.cookie(sharedcookieNameForFNZ) ==null || $.cookie(sharedcookieNameForFNZ) ==undefined)
    {
        $.cookie(sharedcookieNameForFNZ, sharedcookiesForFNZ, { expires: 30 , path: '/' });
    }    

}

});


function checkFNZCookie(urlToLaunchWM)
{

    if ($.cookie(sharedcookieNameForFNZ)) {
    
        var sharedcookiesForFNZ = $.cookie(sharedcookieNameForFNZ).split('||');
        if(sharedcookiesForFNZ.length>=3)
        {
            reroutePageToFNZ(sharedcookiesForFNZ)
        }else
        {
            window.open(urlToLaunchWM);
        
        }
        
    }
    else {  window.open(urlToLaunchWM); }


}


function reroutePageToFNZ(sharedcookiesForFNZ)
{
    if(sharedcookiesForFNZ[1] != jpmSiteIDOnAffilinet)
    {
        return;
    }
    
     
    var noOfDayRemained;
    var urlToSubmitToFNZ;
    var jpmAffiliateId;
    
    
    var d1 = new Date(sharedcookiesForFNZ[2]);
    var d2 = new Date()
    noOfDayRemained = DateDiff.inDays(d2, d1);
    
     jmpAffiliateID =  getJPMAffiliateID(sharedcookiesForFNZ[1]);
     
     urlToSubmitToFNZ = fnzCookieValidatorPage;	
     urlToSubmitToFNZ= urlToSubmitToFNZ + "?PublisherID="+sharedcookiesForFNZ[0];
     //urlToSubmitToFNZ= urlToSubmitToFNZ + "PublisherID="+sharedcookiesForFNZ[0];
     urlToSubmitToFNZ= urlToSubmitToFNZ + "&AffiliateID="+jmpAffiliateID;
     urlToSubmitToFNZ= urlToSubmitToFNZ + "&CookieDays="+noOfDayRemained;

     //addHiddenTextBox(wealthManagerFinalURL);
     
     if(PItoFNZDataPushMethod == "POST") {
     var thisForm = document.forms[0];
     
     thisForm.action=urlToSubmitToFNZ ;
     thisForm.submit(); 
     }
     else
     {
		window.location = urlToSubmitToFNZ;
     }
    
}


function addHiddenTextBox(value)
{

    var element = document.createElement("input");
 
    
    element.setAttribute("type", "hidden");
    element.setAttribute("value", value);
    element.setAttribute("name", "wmredirecturl");
    
    var thisForm = document.forms[0];
    
    thisForm.appendChild(element);
    
}


var DateDiff = {
 
    inDays: function(d1, d2) {
        var t2 = d2.getTime();
        var t1 = d1.getTime();
 
        return parseInt((t2-t1)/(24*3600*1000));
    },
 
    inWeeks: function(d1, d2) {
        var t2 = d2.getTime();
        var t1 = d1.getTime();
 
        return parseInt((t2-t1)/(24*3600*1000*7));
    },
 
    inMonths: function(d1, d2) {
        var d1Y = d1.getFullYear();
        var d2Y = d2.getFullYear();
        var d1M = d1.getMonth();
        var d2M = d2.getMonth();
 
        return (d2M+12*d2Y)-(d1M+12*d1Y);
    },
 
    inYears: function(d1, d2) {
        return d2.getFullYear()-d1.getFullYear();
    }
}



function getJPMAffiliateID(valueOfAccId)
{
    var platformRegisted=0;
    platformRegisted = affilinetPlatform.length;
     
     for(var i=0; i< platformRegisted ; i++)
     {
        if(affilinetPlatform[i][0] == valueOfAccId)
        {
            return affilinetPlatform[i][1];         
        }
     
     }


return 0;

}
