var scStartTime = new Date();
var scPageNamePreTab = "";
var scPreEvents = "";

function sendTrackingLink(eventsToSet,varsToSet,friendlyName)
{
    try { 
        s.linkTrackVars = varsToSet ? varsToSet : "None";
        s.linkTrackEvents = eventsToSet ? eventsToSet : "None";
        if (eventsToSet)
            s.linkTrackVars = s.linkTrackVars.match("None") ? "events" : s.linkTrackVars + ",events";
        s.events = eventsToSet ? eventsToSet : "";
        s.tl(true,'o',friendlyName);
    }
    catch(e) {}
}

/* Split the sitecat page name up and populate individual vars*/
function splitscPageName()
{
    try {	
			var t = s.pageName.split(">");			
			var lowestpageindex = t.length;
			
			//Populate Channel
			if(s.pageName.match(/\bGLOBAL\b/gi))
			{	
				s.channel="GLOBAL"
			}
			
			if(lowestpageindex>=2 && s.pageName.match("PRODUCTSANDSERVICES"))
			{
				var ch = t[0];
				ch  = ch.replace(/\bNWSB\b/gi,'');
				ch  = ch.replace("|",'');
				ch  = ch.replace(/\bCATEGORY:\b/gi,'');
				ch  = ch.replace(/\bSUBCATLIST:\b/gi,'');
				ch  = ch.replace(/\bSUBCAT:\b/gi,'');
				ch  = ch.replace(/\bCATLIST:\b/gi,'');				
				ch  = ch.replace(/\bPRODUCT:\b/gi,'');
				ch  = ch.replace(/\GLOBAL:\b/gi,'');
				ch  = ch.replace(/\b>INDEX\b/gi,'');
				s.channel = ch;
			}
			
			if(lowestpageindex>=3 && !s.pageName.match("PRODUCTSANDSERVICES"))
			{
				var ch = t[0];
				ch  = ch.replace(/\bNWSB\b/gi,'');
				ch  = ch.replace("|",'');
				ch  = ch.replace(/\bCATEGORY:\b/gi,'');
				ch  = ch.replace(/\bSUBCATLIST:\b/gi,'');
				ch  = ch.replace(/\bSUBCAT:\b/gi,'');
				ch  = ch.replace(/\bCATLIST:\b/gi,'');				
				ch  = ch.replace(/\bPRODUCT:\b/gi,'');
				ch  = ch.replace(/\GLOBAL:\b/gi,'');
				ch  = ch.replace(/\b>INDEX\b/gi,'');
				s.channel=ch;
			}
			
			//Prop1
			if(lowestpageindex>2)
			{
				var ch = t[0] + ">" + t[1];
				ch  = ch.replace(/\bNWSB\b/gi,'');
				ch  = ch.replace("|",'');
				ch  = ch.replace(/\bCATEGORY:\b/gi,'');
				ch  = ch.replace(/\bSUBCATLIST:\b/gi,'');
				ch  = ch.replace(/\bSUBCAT:\b/gi,'');
				ch  = ch.replace(/\bCATLIST:\b/gi,'');				
				ch  = ch.replace(/\bPRODUCT:\b/gi,'');
				ch  = ch.replace(/\GLOBAL:\b/gi,'');
				ch  = ch.replace(/\b>INDEX\b/gi,'');
				s.prop1 = ch;
			}
			
			//Prop2			
			if(lowestpageindex>3)
			{
				
				var ch;
				 if(lowestpageindex>=4)
					{				 
						ch = t[0] + ">" + t[1] +  ">" + t[2] + ">" + t[3];
					}
				 else
					{
						ch = t[0] + ">" + t[1] +  ">" + t[2];
					}
					
				ch  = ch.replace(/\bNWSB\b/gi,'');
				ch  = ch.replace("|",'');
				ch  = ch.replace(/\bCATEGORY:\b/gi,'');
				ch  = ch.replace(/\bSUBCATLIST:\b/gi,'');
				ch  = ch.replace(/\bSUBCAT:\b/gi,'');
				ch  = ch.replace(/\bCATLIST:\b/gi,'');				
				ch  = ch.replace(/\bPRODUCT:\b/gi,'');
				ch  = ch.replace(/\GLOBAL:\b/gi,'');
				ch  = ch.replace(/\b>INDEX\b/gi,'');				
				s.prop2 = ch;				
			}			
			
			//Page URL'S
			s.prop3=document.location.href;
			s.eVar9=s.prop3;
    }

    catch(e){}
}

function trackErrorPageDetails()
{
    s.pageType="errorPage";	
    s.prop22 = "404";	
    s.eVar5=s.prop22;
	s.prop23=s.getPreviousValue(s.pageName,'gpv_pn');
	s.getPreviousValue(s.prop23,'gpv_pn');
}

/* Populate search vars */
function trackSearchDetails(a)
{	
    try {
			s.prop5 = a.queryDetails.queryText.toLowerCase();
			s.prop7 = a.queryDetails.estimatedTotal+='';
			s.eVar1 = s.prop5;   		
			s.eVar3 = s.prop7;
			s.prop8 = s.getPreviousValue(s.pageName,'gpv_prop8');			
			s.eVar4 = s.prop8;
			s.getPreviousValue(s.pageName,'gpv_prop8');
			if(s.prop8.length<9)
			{	
				s.prop8="NWSB|GLOBAL:SEARCH";
				s.eVar4 = s.prop8;
			}
			
			scSetUpPageVars();
		}
	catch(e) {}
}

/* Sends the img request to sitecat and they grab the data */
function renderScImageTag()
{
    try
    {
        var s_code=s.t();
        if(s_code)
            document.write(s_code);
    }
    catch(e){
	    }
 }

 function trackTabSC(index) {
          scSetUpPageVars();
    }

/* Read the tab number from the url to support adding to the page name. Tab numbers appear in different forms across the pages. */

function CheckTabsOnUrl(xslTabFlag,knownTab)
{
    try {
      if (!knownTab) {
          var bmk = stateManager.getCurrentBookmark();
          var tab = "";
          if (/tabs[0-9]/.test(window.location.href)) {
              tab = bmk.substring(3);
          }        
      }
      else
       tab = knownTab.substring(7);
	  
      if (!tab && xslTabFlag)
        tab = "1";
        
      if (tab)
        tab = ">TAB" + tab;
      return tab;
    }
    catch(e){return "";}
}


function trackIbankingLoginClick(eventString) {
    try {	
			sendTrackingLink("event8","","IBANKINGLOGINCLICK");
		}
    catch(e){}
}

function trackDigitalLoginClick(eventString) {
    try {	
			sendTrackingLink("event9","","DIGITALLOGINCLICK");
		}
    catch(e){}
}

function checkForApplyOnlineLinks(productName)
{
	var jqLinks = "a[href*=apply.ashx]";
	s.products = ";" + productName + ";;;";
	attachOnClickEventVars(jqLinks,"event12","products","APPLYONLINECLICK");
}

function checkForSBApplyOnline(productName)
{
	var jqLinks = "a[href*=open-an-account.ashx]";
	s.products = ";" + productName + ";;;";
	attachOnClickEventVars(jqLinks,"event12","products","SBAPPLYONLINECLICK");
}

function checkForCFDApplyOnline(productName)
{
	var jqLinks = "a[href*=open-an-account.ashx]";
	s.products = ";" + productName + ";;;";
	attachOnClickEventVars(jqLinks,"event12","products","CFDAPPLYONLINECLICK");
}

function checkForFXApplyOnline(productName)
{
	var jqLinks = "a[href*=open-an-account.ashx]";
	s.products = ";" + productName + ";;;";
	attachOnClickEventVars(jqLinks,"event12","products","FXAPPLYONLINECLICK");
}
 
function checkForSBOpenAccount(productName)
{
	s.products = ";" + productName + ";;;";	
	sendTrackingLink("event13","products","SPREADBETTINGCLICK");
}

function checkForCFDOpenAccount(productName)
{
	s.products = ";" + productName + ";;;";	
	sendTrackingLink("event14","products","CFDOPENACCOUNTCLICK");
}

function checkForApplyOnlineProducts(productName)
{	
	if(productName)
	{
		var jqLinks = "a[href*=apply.ashx]";
		s.products = ";" + productName + ";;;";
		attachOnClickEventVars(jqLinks,"event15","products","APPLYONLINECLICK");
	}	
}

function checkInternalSearchClick(){
	sendTrackingLink("event2","","INTERNALSEARCHCLICK");
}

function checkSearchClick(){
	sendTrackingLink("event1","","SEARCHCLICK");
}

function checkForShareDealingLogin()
{
	sendTrackingLink("event5","","SHAREDEALINGLOGIN");
}

function checkForSpreadBettingLogin()
{
	sendTrackingLink("event6","","SPREADBETTINGLOGIN");
}

function checkForSpreadCFDLogin()
{
	sendTrackingLink("event7","","SPREADCFDLOGIN");
}

function checkForCorporateLogin()
{
	sendTrackingLink("event8","","CORPORATELOGIN");
}

// Attach onclick to a number of links - if they exist. Attaches the 1st link found.
function attachOnClickEvent(jqlinksToCheck,eventToSet,friendlyName) {
    try {
        var jqLinks = jqlinksToCheck.split(",");
        
        for (i=0;i < jqLinks.length;i++) {
        
            /*if ($(jqLinks[i]).length > 0 && $(jqLinks[i]).click.length > 0) {*/
            if (jQuery(jqLinks[i]).length > 0) {
                jQuery(jqLinks[i]).click(function()
                {
                    friendlyName += ">" + jQuery(this).attr("title");
                    trackButtonClick(eventToSet,null,friendlyName);
                })
                break; /* exit loop if click event sent*/
            }
        }
    }
    catch(e){}
}

// Attach onclick to a number of links - if they exist. Attaches the 1st link found.
function attachOnClickEventVars(jqlinksToCheck,eventToSet,varsToSet,friendlyName) {
    try {
        var jqLinks = jqlinksToCheck.split(",");
        
        for (i=0;i < jqLinks.length;i++) {
        
            /*if ($(jqLinks[i]).length > 0 && $(jqLinks[i]).click.length > 0) {*/
            if (jQuery(jqLinks[i]).length > 0) {
                jQuery(jqLinks[i]).click(function()
                {
                    friendlyName += ">" + jQuery(this).attr("title");
                    trackButtonClick(eventToSet,varsToSet,friendlyName);
                })
                break; /* exit loop if click event sent*/
            }
        }
    }
    catch(e){}
}



function trackButtonClick(eventToSet,varsToSet,friendlyName)
{
		friendlyName = s.hier1 + ">" + friendlyName;
		sendTrackingLink(eventToSet,varsToSet,friendlyName);
}

function setEvents(scPreEvents) {      
	  
		var pageEvents = "event11";
		var serialCookieVal="";
		if(!readSerializedCookie('serialCookie'))
		{
			createSerializedCookie('serialCookie',Math.random()*1051625);
			serialCookieVal=readSerializedCookie('serialCookie');
			serialCookieVal = serialCookieVal.replace(".",'');
		}
		
		if(readSerializedCookie('serialCookie'))
		{
			serialCookieVal=readSerializedCookie('serialCookie');
			serialCookieVal = serialCookieVal.replace(".",'');
		}
		
		if (scPreEvents) {
			s.events = "";
			pageEvents += scPreEvents;
		}
		
		if (s.prop3.match(/\bcontact-us.ashx\b/gi))
		{
				pageEvents+=",event3:" + serialCookieVal;
		}
		 
		if (s.prop4.match("PRODUCT"))
		{
			var eventprodView =	",prodView,event10:" + serialCookieVal;
			pageEvents += eventprodView;
		}
	
		if(s.getQueryParam('intcam'))	
		{
			s.eVar11 = s.getQueryParam('intcam');
			s.eVar11= s.getValOnce(s.eVar11,'ev11');
			if(s.eVar11)	
			{
				s.prop10 = s.eVar11;
				pageEvents += ",event16";
			}
		}
		
		s.events = (s.events)?( s.events.match(pageEvents)? pageEvents : s.events):pageEvents;
}

function setProduct(pageNameFromMeta) {
	
     if (s.prop4.match("PRODUCT")) {
		  if (pageNameFromMeta)
				s.products = ";" + pageNameFromMeta + ";;;";
          }	  
	  
	  if (s.prop4.match("PREAPPLY")) {
		  if (pageNameFromMeta)
		    s.products = ";" + pageNameFromMeta + ";;;";
      }	  
}




/* Track accordion click via event to SC*/
function trackAccordianClick(ec,accordianText) {
    try {
		
		//s.eVar7 = ec + "|" + accordianText;
		sendTrackingLink("event7","","AccordianText");
    }
    catch(e){}    
}


/* Campaign Handling*/
function campaignHandling()
{			
    s.campaign=s.getQueryParam('extcam');
	
    if (s.campaign && s.campaign.length > 0) {      
	  s.prop9 = s.getValOnce(s.campaign, 's_campaign');
	  
	  s.eVar8="";
	  if(s.prop9)
	  {
		s.eVar8 = "+1";
	  }
    }	
	
    s.campaign=s.getValOnce(s.campaign,'cmp_cookie');		

	if(s.getQueryParam('olbcam')){
		s.eVar20 = s.getQueryParam('olbcam');
		s.eVar20 = s.getValOnce(s.eVar20,'ev20');
	}	
	
	var URLreferrer = document.referrer;
	var currentURL = document.URL;
	
	if(URLreferrer.match("http://www."))
	{
		URLreferrer=URLreferrer.substr(11);		
		var indUrlReferrer = URLreferrer.indexOf("/");
		URLreferrer = URLreferrer.slice(0,indUrlReferrer);
	}
	else if(URLreferrer.match("http://"))
	{
		URLreferrer=URLreferrer.substr(7);		
		var indUrlReferrer = URLreferrer.indexOf("/");
		URLreferrer = URLreferrer.slice(0,indUrlReferrer);		
	}
	else if(URLreferrer.match("www."))
	{
		URLreferrer=URLreferrer.substr(4);		
		var indUrlReferrer = URLreferrer.indexOf("/");
		URLreferrer = URLreferrer.slice(0,indUrlReferrer);		
	}	
	
 	var searchEngineList = "search.yahoo.com|search.yahoo.com|bing.com|search.yahoo.com/search|ask.com|aolsearch.aol.co.uk|search.aol.co.uk|search.hp.my.aol.co.uk|aolbroadband.search.aol.co.uk|search.bt.com|search.virginmedia.com|search.orange.co.uk|talktalk.co.uk/search|search.sky.com|search.mywebsearch.com|fastbrowsersearch.com|easysearch.org.uk|freesearchsite.org|search.msn.com|crawler.com/search|tesco.net|baidu.com|google.ae|google.am|google.as|google.at|google.az|google.ba|google.be|google.bg|google.ca|google.cd|google.ch|google.ci|google.cl|google.cn|google.co.cr|google.co.id|google.co.il|google.co.in|google.co.jp|google.co.ke|google.co.kr|google.co.ma|google.co.nz|google.co.th|google.co.ug|google.co.uk|google.co.uz|google.co.ve|google.co.yu|google.co.za|google.co.zm|google.com.ai|google.com.ar|google.com.au|google.com.au|google.com.bd|google.com.bh|google.com.bn|google.com.bo|google.com.br|google.com.co|google.com.cu|google.com.do|google.com.ec|google.com.eg|google.com.et|google.com.gi|google.com.gt|google.com.hk|google.com.jm|google.com.kh|google.com.ly|google.com.mt|google.com.mx|google.com.my|google.com.na|google.com.ng|google.com.ni|google.com.om|google.com.pa|google.com.pe|google.com.ph|google.com.pk|google.com.pr|google.com.py|google.com.qa|google.com.sa|google.com.sg|google.com.sv|google.com.tr|google.com.tw|google.com.ua|google.com.uy|google.com.vc|google.com.vn|google.com/search|google.cz|google.de|google.dj|google.dk|google.ee|google.es|google.fi|google.fr|google.ge|google.gm|google.gp|google.gr|google.hn|google.hr|google.ht|google.hu|google.ie|google.is|google.it|google.je|google.jo|google.kz|google.li|google.lk|google.lt|google.lu|google.lv|google.ma|google.md|google.mn|google.mu|google.nl|google.no|google.nu|google.pl|google.pt|google.ro|google.ru|google.rw|google.se|google.si|google.sk|google.sm|google.sn|google.to|google.tt|dev.natwestcom.rbsgrp.net";
			 
 	var previousReferrer = s.getPreviousValue(s.prop31,'gpv_c31');
	
	var noValue = "no value";
	var didNotBounce = "Did not bounce";	
	var siteName = "natweststockbrokers";
	
	if((!URLreferrer.match(siteName)) && (!(previousReferrer.match("PPC|SEO|Affliate|External Banner|Email|Referrer|Direct|Did not bounce"))))
	{
		if((URLreferrer.match(searchEngineList)) && ((s.getQueryParam('extcam')=='ppc')||(s.getQueryParam('extcam')=='PPC')))
			{
			s.prop31 = "PPC";			
			} 
		else if((URLreferrer.match(searchEngineList)) && !((s.getQueryParam('extcam')=='ppc')||(s.getQueryParam('extcam')=='PPC')))
			{
			s.prop31 = "SEO";
			}  
		else if (((s.getQueryParam('extcam')=='afc')||(s.getQueryParam('extcam')=='AFC')))
			{
			s.prop31 = "Affiliate";
			}
		else if (((s.getQueryParam('extcam')=='bac')||(s.getQueryParam('extcam')=='BAC')))
			{
			s.prop31 = "External Banner";
			}	
		else if (((s.getQueryParam('extcam')=='emc')||(s.getQueryParam('extcam')=='EMC')))
			{
			s.prop31 = "Email";
			}  
		else if ((URLreferrer != ""))
			{
			s.prop31 = "Referrer";
			}  
		else
			{
			s.prop31 = "Direct";
			} 
	}	
	else if (previousReferrer.match("PPC|SEO|Affliate|External Banner|Email|Referrer|Direct"))
	{
		s.prop31 = "Did not bounce";
	}	
	else
	{
	s.prop31 = "";
	} 
	
	s.eVar21 = s.prop31;
	s.prop32 = "";
	s.eVar22="";
	s.eVar25="";
	if((s.prop31 != "Did not bounce") && (s.prop31 !=""))
	{
	s.prop32 = s.prop31 + ":" + s.getVisitNum();
	s.eVar22 = s.prop32;
	s.eVar25=s.crossVisitParticipation(s.eVar22,'s_ev22','30','10','>','event4',1);
	}
		
	previousCampaign = s.getPreviousValue(s.prop33,'gpv_c33');
	if (s.campaign && s.campaign.length > 0) 
		{
		s.prop33 = s.prop9 + ":" + s.pageName;
		s.eVar23 = s.prop33;
		}
	else if ((previousCampaign != "Did not bounce") && ((previousCampaign != "") && (previousCampaign != "no value")))
		{
		s.prop33 = "Did not bounce";
		s.eVar23 = s.prop33;
		}
	else
		{
		s.prop33 = "";
		s.eVar23 = s.prop33;
		}
		
		s.getPreviousValue(s.prop31,'gpv_c31');
		s.getPreviousValue(s.prop33,'gpv_c33');
}
function scFulldate() {
	var d = new Date();
	var month = d.getMonth();
	var realMonth = month + 1

return d.getDate() + "/" + realMonth + "/" + d.getFullYear();
}

function scHour() {
	var d = new Date();
	if (d.getHours() <12)
	{
	var mornVal = d.getHours();
	var amHour = mornVal + "AM";
	return amHour;
	}
	if (d.getHours() ==12)
	{
	var noonVal = d.getHours();
	var noonHour = noonVal + "PM";
	return noonHour;
	}
	if (d.getHours() >12)
	{
	var afterVal = d.getHours();
	var pmHour = (afterVal - 12) + "PM";
	return pmHour;
	}
}

function scDay() {
	var d = new Date();
	var weekday=new Array(7);
	weekday[0]="Sunday";
	weekday[1]="Monday";
	weekday[2]="Tuesday";
	weekday[3]="Wednesday";
	weekday[4]="Thursday";
	weekday[5]="Friday";
	weekday[6]="Saturday";

	return weekday[d.getDay()];
}


function createSerializedCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else 
	{
		var expires = "";	
		document.cookie = name+"="+value+expires+"; path=/";		
	}
}

function readSerializedCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}



