﻿// LR GWS 4.0 Tracking Script
// Version 1.2
// Added sReferrer/Campaign ID Tracking Persistance
// Added Forms Campaign Persistance
// Version 1.3
// Refactored so the code can be re-used in Build and Price AJAX calls
// Version 1.4
// Added 2nd GA account for split tracking purposes.
// Version 1.5
// Added SBE Tracking
// Version 1.6
// Updated code to remove Document domain
// Version 1.7
// Added additional Pagetracker variable
// Version 1.8
// Updated PageTracker calls to be Global Variables
// Version 1.9
// Added Mobile Redirector script support for LRNA
// Version 1.10
// Added additional Campaign Tracking for LRUK
// Version 1.11
// Added additional Campaign Tracking for LRUK
// Version 1.12
// Rework of SBE function for Overlays - LRO-494
// Version 1.13
// Amendment of SBE function for UVL

// NOTE THIS FILE IS MAINTAINED BY JAGUAR (MARTIN HERBERT)

// Global Page Trackers
var pageTracker
var pageTracker2

// Store any sreferrer or campaignid parameters in a cookie.
if ( (get_parameters('sreferrer',window.location.href) != "") && (get_parameters('campaignid',window.location.href) == "") ) {
	writeSessionCookie('sreferrer',get_parameters('sreferrer',window.location.href));
} else if ( (get_parameters('sreferrer',window.location.href) != "") && (get_parameters('campaignid',window.location.href) != "") ) {
	writeSessionCookie('sreferrer',get_parameters('sreferrer',window.location.href));
	writeSessionCookie('campaignid',get_parameters('campaignid',window.location.href));
} else if ( (get_parameters('sreferrer',window.location.href) == "") && (get_parameters('campaignid',window.location.href) != "") ) {
	writeSessionCookie('campaignid',get_parameters('campaignid',window.location.href));
}

// Work out the correct path to ga.js.
// This will work in localhost/development/staging and live environments.
var t_path = '/system/logging';
try {
	var scripts = document.getElementsByTagName("script");
	var path = scripts[scripts.length -1].src;
	if(path.indexOf("google.js")>=0) {
		t_path = path.replace("/google.js", "");
	}
} catch (ex) {}

// Load ga.js, and ONLY WHEN LOADED, track this page.
{
	var done = false;
	document.write("<scr"+"ipt language='Javascript' type='text/javascript' src='"+t_path+"/ga.js' onload='gaLoaded(this);' onreadystatechange='gaLoaded(this);'></scr"+"ipt>");

	function gaLoaded(elem) {
		if ( !done && 
				(!elem.readyState || elem.readyState == "loaded" || elem.readyState == "complete") ) {
			done = true;

			trackurl(window.location.href, false);
			
			// Handle memory leak in IE
    		elem.onload = elem.onreadystatechange = null;
	    }
	}
}

// Get parameter from a passed-in href
function get_parameters(name, href) {
	name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
	var regexS = "[\\?&]"+name+"=([^&#]*)";
	var regex = new RegExp (regexS);
	var results = regex.exec(href);
	if(results == null)
	return "";
	else
	return results[1];
}

function get_formid(name,url) {
	name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
	var regexS = "[\\?&]"+name+"=([^&#]*)";
	var regex = new RegExp (regexS);
	var results = regex.exec(url);
	if(results == null)
	return "";
	else
	return results[1];
}

function createCookie(name,value) {
	document.cookie = name+"="+value+";";
}

function writeSessionCookie (cookieName, cookieValue) {
  if (testSessionCookie()) {
    document.cookie = escape(cookieName) + "=" + escape(cookieValue) + "; path=/";
    return true;
  }
  else return false;
}

function getCookieValue (cookieName) {
  var exp = new RegExp (escape(cookieName) + "=([^;]+)");
  if (exp.test (document.cookie + ";")) {
    exp.exec (document.cookie + ";");
    return unescape(RegExp.$1);
  }
  else return false;
}

function testSessionCookie () {
  document.cookie ="testSessionCookie=Enabled";
  if (getCookieValue ("testSessionCookie")=="Enabled")
    return true 
  else
    return false;
}

//Remove hostname for 2nd Tracking account

function getPath(url) {
    var a = document.createElement('a');
    a.href = url;
    return a.pathname.substr(0,1) === '/' ? a.pathname : '/' + a.pathname;
}


// Setup tracking for Market ID

function trackMarket(track2) {
	try {
		var url = track2;
		url = url.toLowerCase();
		url = getPath(url);
		var market = url.substring(1, url.indexOf("/", 1));
		var mcode = "";
		if ( market == "at" ) {
			mcode = "UA-12686130-1";
		} else if ( market == "au" ) {
			mcode = "UA-12685770-1";
		} else if ( market == "be" ) {
			mcode = "UA-12686154-1";
		} else if ( market == "br" ) {
			mcode = "UA-12686214-1";
		} else if ( market == "ca" ) {
			mcode = "UA-12686224-1";
		} else if ( market == "ch" ) {
			mcode = "UA-12686238-1";
		} else if ( market == "cn" ) {
			mcode = "UA-12686257-1";
		} else if ( market == "de" ) {
			mcode = "UA-12686269-1";
		} else if ( market == "es" ) {
			mcode = "UA-12686280-1";
		} else if ( market == "fr" ) {
			mcode = "UA-12686295-1";
		} else if ( market == "gb" ) {
			mcode = "UA-12669933-1";
		} else if ( market == "gl" ) {
			mcode = "UA-12686542-1";
		} else if ( market == "it" ) {
			mcode = "UA-12686315-1";
		} else if ( market == "jp" ) {
			mcode = "UA-12686337-1";
		} else if ( market == "me" ) {
			mcode = "UA-12686358-1";
		} else if ( market == "nl" ) {
			mcode = "UA-12686376-1";
		} else if ( market == "no" ) {
			mcode = "UA-12686389-1";
		} else if ( market == "nz" ) {
			mcode = "UA-12686402-1";
		} else if ( market == "pt" ) {
			mcode = "UA-12686428-1";
		} else if ( market == "ru" ) {
			mcode = "UA-12686446-1";
		} else if ( market == "se" ) {
			mcode = "UA-12686477-1";
		} else if ( market == "us" ) {
			mcode = "UA-12686499-1";
		} else if ( market == "za" ) {
			mcode = "UA-12686517-1";
		}
		else;
		if ( mcode == "" ) {
		} else {
			pageTracker2 = _gat._getTracker(mcode);
			pageTracker2._setDomainName(".landrover.com");
			pageTracker2._setAllowHash(false);
			pageTracker2._trackPageview(url);
		}
	} catch(err) {}
	mobileRedirect(market);
}

function track(trackurl) {
	try {
		pageTracker = _gat._getTracker('UA-11793351-1');
		pageTracker._setDomainName(".landrover.com");
		pageTracker._setAllowHash(false);
		pageTracker._trackPageview(trackurl);
		var track2 = trackurl;
		trackMarket(track2);
	} catch(err) {}
}

function submittrack (trackurl,isAjax) {
	track(trackurl);
}

function trackurl(href, isAjax) {
	var href = getPath(href);
	if ( (get_parameters('sreferrer', href) != "") && (get_parameters('campaignid', href) != "") ) {
		submittrack(href, isAjax);
	} else if ( (get_parameters('sreferrer',href) != "") && (get_parameters('campaignid',href) == "") ) {
		if ( getCookieValue('campaignid') == "" ) {
			submittrack(href, isAjax);
		} else {
			var cCookie = href + "&campaignid=" + getCookieValue('campaignid');
			submittrack(cCookie, isAjax);
		}
	} else if ( (get_parameters('sreferrer',href) == "") && (get_parameters('campaignid',href) != "") ) {
		if (getCookieValue('sreferrer') == "" ) {
			submittrack(href, isAjax);
		} else {
			var sCookie = href + "&sreferrer=" + getCookieValue('sreferrer');
			submittrack(href, isAjax);
		}
	} else if ( (get_parameters('campaignid',href) != "") && (get_parameters('sreferrer',href) != "") ) {
		submittrack(href, isAjax);
	} else if ( (get_parameters('campaignid',href) != "") && (get_parameters('sreferrer',href) == "") ) {
		if (getCookieValue('sreferrer') == "" ) {
			submittrack(href, isAjax);
		} else {
			var sCookie = href + "&sreferrer=" + getCookieValue('sreferrer');
			submittrack(sCookie, isAjax);
		}
	} else if ( (get_parameters('campaignid',href) == "") && (get_parameters('sreferrer',href) != "") ) {
		if (getCookieValue('campaignid') == "" ) {
			submittrack(href, isAjax);
		} else {
			var cCookie = href + "&campaignid=" + getCookieValue('campaignid');
			submittrack(cCookie, isAjax);
		}
	} else {
		if ( (getCookieValue("sreferrer") != "") && (getCookieValue("campaignid") == "") ) {
			if (get_parameters('utm_source',href) == "") {
				var sCookie = href + "&sreferrer=" + getCookieValue('sreferrer');
				submittrack(sCookie, isAjax);
			} else {
				var sCookie = href + "?sreferrer=" + getCookieValue('sreferrer');
				submittrack(sCookie, isAjax);
			}
		} else if ( (getCookieValue('sreferrer') == "") && (getCookieValue('campaignid') != "") ) {
			if (get_parameters('utm_source',href) == "") {
				var cCookie = href + "&campaignid=" + getCookieValue('campaignid');
				submittrack(cCookie, isAjax);
			} else {
				var cCookie = href + "?campaignid=" + getCookieValue('campaignid');
				submittrack(cCookie, isAjax);
			}
		} else if ( (getCookieValue('sreferrer') != "") && (getCookieValue('campaignid') != "") ) {
			if (get_parameters('utm_source',href) == "") {
				var scCookie = href + "?sreferrer=" + getCookieValue('sreferrer') + "&campaignid=" + getCookieValue('campaignid');
				submittrack(scCookie, isAjax);
			} else {
				var scCookie = href + "&sreferrer=" + getCookieValue('sreferrer') + "&campaignid=" + getCookieValue('campaignid');
				submittrack(scCookie, isAjax);
			}
		} else {
			submittrack(href, isAjax);
		}
	}
}

function sbe (form) {
	var formtype = form.substring(form.lastIndexOf('/')+1, form.lastIndexOf('aspx')-1);
	var marketid = get_parameters('marketid',form);
	var langid = get_parameters('langid',form);
	var srefC = getCookieValue('sreferrer');
	var camC = getCookieValue('campaignid');
	if ( marketid == "4" && langid == "2" ) {
		if ( formtype == "testdrive" ) {
			if ( srefC == "" ) {
				var url = form + "&sreferrer=LLR2410IN_YR";
			} else {
				var url = form + "&sreferrer=" + srefC;
			}
			if ( camC == "" ) {
				var url = url + "&campaignid=LLR2410IN_YR";
			} else {
				var url = url + "&campaignid=" + camC;
			}
		} else if ( formtype == "printbrochure" ) {
			if ( srefC == "" ) {
				var url = form + "&sreferrer=LLR2310IN_YR";
			} else {
				var url = form + "&sreferrer=" + srefC;
			}
			if ( camC == "" ) {
				var url = url + "&campaignid=LLR2310IN_YR";
			} else {
				var url = url + "&campaignid=" + camC;
			}
		} else if ( formtype == "configurator" ) {
			if ( srefC == "" ) {
				var url = form + "&sreferrer=LLR11610IN_YR";
			} else {
				var url = form + "&sreferrer=" + srefC;
			}
			if ( camC == "" ) {
				var url = url + "&campaignid=LLR11610IN_YR";
			} else {
				var url = url + "&campaignid=" + camC;
			}
		} else if ( formtype == "ExperienceLandRover" ) {
			if ( srefC == "" ) {
				var url = form + "&sreferrer=LFL2410IN_Q1";
			} else {
				var url = form + "&sreferrer=" + srefC;
			}
			if ( camC == "" ) {
				var url = url + "&campaignid=LFL2410IN_Q1";
			} else {
				var url = url + "&campaignid=" + camC;
			}
		} else if ( formtype == "UltimateRugbyExperience2" ) {
			if ( srefC == "" ) {
				var url = form + "&sreferrer=LLR6710IN_Q1";
			} else {
				var url = form + "&sreferrer=" + srefC;
			}
			if ( camC == "" ) {
				var url = url + "&campaignid=LLR6710IN_Q1";
			} else {
				var url = url + "&campaignid=" + camC;
			}
		} else if ( formtype == "RugbyBox" ) {
			if ( srefC == "" ) {
				var url = form + "&sreferrer=LLR29409IN_Q3";
			} else {
				var url = form + "&sreferrer=" + srefC;
			}
			if ( camC == "" ) {
				var url = url + "&campaignid=LLR29409IN_Q3";
			} else {
				var url = url + "&campaignid=" + camC;
			}
		} else if ( formtype == "newsmallrangeroverkmi" ) {
			if ( srefC == "" ) {
				var url = form + "&sreferrer=LLR24910IN_Q2";
			} else {
				var url = form + "&sreferrer=" + srefC;
			}
			if ( camC == "" ) {
				var url = url + "&campaignid=LLR24910IN_Q2";
			} else {
				var url = url + "&campaignid=" + camC;
			}
		} else if ( formtype == "tdms" ) {
			if ( srefC == "" ) {
				var url = form + "&sreferrer=LLR21210IN_YR";
			} else {
				var url = form + "&sreferrer=" + srefC;
			}
			if ( camC == "" ) {
				var url = url + "&campaignid=LLR21210IN_YR";
			} else {
				var url = url + "&campaignid=" + camC;
			}
		} else {
			if ( srefC == "" ) {
				var url = form + "&sreferrer=LLR1710IN_YR";
			} else {
				var url = form + "&sreferrer=" + srefC;
			}
			if ( camC == "" ) {
				var url = url + "&campaignid=LLR1710IN_YR";
			} else {
				var url = url + "&campaignid=" + camC;
			}
		}
	} else {
		if ( srefC == "" ) {
			var url = form;
		} else {
			var url = form + "&sreferrer=" + srefC;
		}
		if ( camC == "" ) {
			var url = url;
		} else {
			var url = url + "&campaignid=" + camC;
		}
	}
	if (url.indexOf("www.cpo.landroverusa.com") != -1 ) {
		var scWidth = screen.width;
		var scHeight = screen.height;
		window.open(url, 'sbe', 'width=' + scWidth + ',height=' + scHeight + ',top=0,left=0,scrollbars=0,toolbars=0,menubar=0,statusbar=0,resizable=1');
	} else {
	//if ( url.indexOf("forms.landrover.com") == -1 ) {
		window.open(url, 'sbe', 'width=1024,height=600,scrollbars=1,toolbars=0,menubar=0,statusbar=0');
	<!--} else {
		//jQuery(function($) {
			//var overlayContent = url;
			//overlayContent += '</div></div>';
			//overlaySettings = {
				//closeButton: '<div class="close-nav"><a class="nyroModalClose" id="overlay-close-nav" title="' + pageConfig.text.overlay.close + '">' + pageConfig.text.overlay.close + '</a></div>',
				//content: overlayContent,
				//height: 500,
				//width: 1024,
				//wrap: {
					//ajax: '<div id="nyroModalContentWrapper"></div>',
					//manual: '<div id="nyroModalContentWrapper"></div>'
				//},
				//windowResize: false
			//};
			//$.nyroModalManual({
				//content: "<iframe src='" + url + "' name='ajax' width='100%' height='496' />",
				//closeButton: overlaySettings.closeButton,
				//wrap: overlaySettings.wrap,
				//windowResize: overlaySettings.windowResize,
				//width:overlaySettings.width,
				//height:overlaySettings.height
			//});
		//});
	}
}

function mobileRedirect(market) {
	if ( market == "us" ) {
		//mobile redirect
		//function ismobile() {
			var str = navigator.userAgent.toLowerCase();
			//These are the current known devices on the market
			var mobileDeviceNames = "ACER|Alcatel|AUDIOVOX|BlackBerry|CDM|Ericsson|iPhone|LG\/b|LGE|Motorola|MOT|NEC|Nokia|Panasonic|QCI|SAGEM|SAMSUNG|SEC|Sanyo|Sendo|SHARP|SIE-|SonyEricsson|Telit|Telit_mobile_Terminals|TSM|MMP|webOS|Android|Droid|HTC|mobile|Opera|Symbian"
			var findMobileAgent = mobileDeviceNames.split("|");
			if (screen.width < 700) {
				for (var i = findMobileAgent.length - 1; i >= 0; --i) {
				if (str.indexOf(findMobileAgent[i].toLowerCase()) != -1) {
					location.href='http://m.landrover.mwwla.mobi/go.php?k=3.2083&page=5745&m=76cc8cef';
				}
			}//find mobile agent
			};
		//}
	}
}

function getMarket() {
	var url = location.href;
	url = url.toLowerCase();
	url = getPath(url);
	var market = url.substring(1, url.indexOf("/", 1));
	return market;
}

function trackEventGH (position, market) {
	var url = location.href;
	if ( url.indexOf("http://www.landrover.com/") != -1 ) {
		if ( position == 'Map' ) {
			pageTracker._trackEvent('GlobalHome',position,market);
		} else if ( position == 'Dropdown' ) {
			var sel = document.getElementById('experience');
			var pos = sel.selectedIndex;
			var optText = sel.options[pos].text;
			if ( optText.indexOf("عرب") != -1 ) {
				optText = optText.replace("عرب","Arabic");
			}
			pageTracker._trackEvent('GlobalHome',position,optText);
		}
	}
}
