﻿// 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
// Version 1.14
// Updated Mobile redirect for LRNA
// Version 1.15
// Added campaign code for LRNA Evoque form.
// Version 1.18
// Added Document.domain variable

document.domain='127.0.0.1';

// NOTE THIS FILE IS MAINTAINED BY JAGUAR (MARTIN HERBERT)

//Mobile tracking script for LRNA Blackberrys
var loc = location.href;
var ua = navigator.userAgent.toLowerCase();
if ( ( loc.indexOf("/us/en/") != -1 ) && ( ua.indexOf("blackberry") != -1 ) ) {
	location.href='../../../../landrover.mobi/@c=redirect';
}

// 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) === '../../../default.htm' ? 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 {
			if ( market == "ru" ) {
				pageTracker2 = _gat._getTracker(mcode);
				pageTracker2._setDomainName("none");
				pageTracker2._setAllowLinker(true);
				pageTracker2._trackPageview(url);
			} else {
				pageTracker2 = _gat._getTracker(mcode);
				pageTracker2._setDomainName(".landrover.com");
				pageTracker2._setAllowHash(false);
				pageTracker2._trackPageview(url);
			}
		}
	} catch(err) {}
	mobileRedirect(market);
}

function track(trackurl) {
	if ( trackurl.indexOf("/rc/lr/") != -1 && trackurl.indexOf("/rc/lr/") == 0 ) {
		var length = trackurl.length;
		var newurl = trackurl.substring(6,length);
		var mkt = newurl.substring(4,6);
		var lan = newurl.substring(1,3);
		var newurllen = newurl.length;
		newurl = "../../../" + mkt + "/" + lan + "../../../rr/microsite/" + newurl.substring(7,length);
		var trackurl = newurl;
	}
	try {
		if ( trackurl.indexOf("/ru/ru/") != -1 ) {
			pageTracker = _gat._getTracker('UA-11793351-1');
			pageTracker._setDomainName("none");
			pageTracker._setAllowLinker(true);
			pageTracker._trackPageview(trackurl);
		} else {
			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 formtype = formtype.toLowerCase();
	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 ( formtype == "preorder" ) {
			if ( srefC == "" ) {
				var url = form + "&sreferrer=LRR3010MS_Q4";
			} else {
				var url = form + "&sreferrer=" + srefC;
			}
			if ( camC == "" ) {
				var url = url + "&campaignid=LRR3010MS_Q4";
			} 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 ( marketid == "1" && langid == "8" ) {
		if ( formtype == "smallrangerover" ) {
			if ( srefC == "" ) {
				var url = form + "&sreferrer=Evoque-USA";
			} else {
				var url = form + "&sreferrer=" + srefC;
			}
			if ( camC == "" ) {
				var url = url;
			} 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;
			}
		}
	} 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|IEMobile"
			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='../../../../landrover.mobi/@c=redirect';
				}
			}//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("../../../default.htm") != -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);
		}
	}
}

if ( typeof jQuery == 'undefined' ) {
	jQueryTest('false');
} else {
	jQueryTest('true');
}

function jQueryTest(value) {
	if ( value == 'true' ) {
		jQuery(function($) {
			$("iframe").each(function() {
				if ( $(this).attr("src").indexOf("op") || $(this).attr("src").indexOf("ourplanet") != -1 ) {
					var pin = get_parameters('p',location.href);
					var dlink = get_parameters('l',location.href);
					if ( pin != '' ) {
						if ( dlink != '' ) {
							var url = $(this).attr("src");
							if ( url.indexOf("?") != -1 ) {
								url = url + '&p=' + pin + '&l=' + dlink;
							} else if ( url.indexOf("?") == -1 ) {
								url = url + '@p=' + pin + '&l=' + dlink;
							}
						} else {
							var url = $(this).attr("src");
							if ( url.indexOf("?") != -1 ) {
								url = url + '&p=' + pin;
							} else if ( url.indexOf("?") == -1 ) {
								url = url + '@p=' + pin;
							}
						}
						$(this).attr("src",url);
					} else {
						if ( dlink != '' ) {
							var url = $(this).attr("src");
							if ( url.indexOf("?") != -1 ) {
								url = url + '&l=' + dlink;
							} else if ( url.indexOf("?") == -1 ) {
								url = url + '@l=' + dlink;
							}
						}
						$(this).attr("src",url);
					}
				}
				//var env = location.href;
				//if ( env.indexOf("web01") != -1 ) {
					//env = 'Live';
				//} else if ( env.indexOf("web02") != -1 ) {
					//env = 'Live';
				//} else if ( env.indexOf("web03") != -1 ) {
					//env = 'Live';
				//} else if ( env.indexOf("global") != -1 ) {
					//env = 'Live';
				//} else if ( env.indexOf("www") != -1 ) {
					//env = 'Live';
				//} else {
					//env = 'Staging';
				//}
				//var s = $(this).attr("src");
				//if ( s.toLowerCase().indexOf("rangeroverevoque.config.landrover.com") != -1 ) {
					//if ( env == 'Staging' ) {
						//s = s.replace("rangeroverevoque.config.landrover.com", "evoque.config.landrover.com");
						//$(this).attr("src",s);
					//}
				//}
				//if ( env.indexOf("preview") || env.indexOf("edit") != -1 ) {
					//if ( $(this).attr("src").indexOf("rangeroverevoque.config.landrover.com") != -1 ) {
						//var newurl = $(this).attr("src");
						//newurl = newurl.replace("rangeroverevoque.config.landrover.com", "evoque.config.landrover.com");
						//$(this).attr("src", newurl);
					//}
				//}
			});
		});
	} else if ( value == 'false' ) {
		if ( typeof jQuery == 'undefined' ) {
		} else {
			window.clearTimeout("jQueryTest('false');");
			jQueryTest('true');
		}
	}
}

window.setTimeout("jQueryTest('false');",500);
