// Date last modified =  20100106
// Modified by =  YT

var lpMTagConfig = {
        "lpServer" : "server.lon.liveperson.net",
        "lpNumber" : "73500804",
        "lpProtocol" : (document.location.toString().indexOf("https:")==0) ? "https" : "http",
		"lpTagLoaded" : false,
		"lpTagSrv" : "sr2.liveperson.net",
		"pageStartTime" : (new Date()).getTime(), //pageStartTime is set with a timestamp as soon as the page starts loading
		"deploymentID" : "1"
}

lpMTagConfig.deploymentConfigPath = lpMTagConfig.lpServer+'/visitor/addons/deploy.asp';

lpMTagConfig.lpLoadScripts = function(){
	lpAddMonitorTag(lpMTagConfig.lpProtocol + '://' + lpMTagConfig.deploymentConfigPath + '?site=' + lpMTagConfig.lpNumber + '&d_id=' + lpMTagConfig.deploymentID);
}

function lpAddMonitorTag(src){	
	if (!lpMTagConfig.lpTagLoaded)  {if(typeof(src)=="undefined"||typeof(src)=="object"){if (lpMTagConfig.lpMTagSrc) {src = lpMTagConfig.lpMTagSrc;}else {if (lpMTagConfig.lpTagSrv) {src = lpMTagConfig.lpProtocol + "://" +lpMTagConfig.lpTagSrv + "/hcp/html/mTag.js";}else {src = "/hcp/html/mTag.js";};};};if (src.indexOf("http") != 0){src=lpMTagConfig.lpProtocol+"://"+lpMTagConfig.lpServer+src+"?site="+lpMTagConfig.lpNumber;}else{if(src.indexOf("site=")< 0){if(src.indexOf("?")< 0){src=src+"?";}else{src=src+"&";}src=src+"site="+lpMTagConfig.lpNumber;};};var s=document.createElement("script");s.setAttribute("type", "text/javascript");s.setAttribute("charset", "iso-8859-1");s.setAttribute("src", src);document.getElementsByTagName("head").item(0).appendChild(s);}
}

//The code below send a PAGEVAR to LP with the time [in seconds] it took the page to load. Code is executed in the onload event
lpMTagConfig.calculateSentPageTime = function () {
	var t = (new Date()).getTime() - lpMTagConfig.pageStartTime;
	lpAddVars('page','pageLoadTime', Math.round(t/1000)+" sec");
};

if (window.attachEvent)window.attachEvent("onload",lpMTagConfig.calculateSentPageTime);
else window.addEventListener("load",lpMTagConfig.calculateSentPageTime,false);

//Load mtag.js inline if this is a Confirmation Page else load it on page load event
if (window.attachEvent)window.attachEvent("onload",lpAddMonitorTag);
else window.addEventListener("load",lpAddMonitorTag,false);


//Variables Arrays - By Scope
if (typeof(lpMTagConfig.pageVar)=="undefined") lpMTagConfig.pageVar = new Array();
if (typeof(lpMTagConfig.sessionVar)=="undefined") lpMTagConfig.sessionVar = new Array();
if (typeof(lpMTagConfig.visitorVar)=="undefined") lpMTagConfig.visitorVar = new Array();
//Extra actions to be taken once the code executes
if (typeof(lpMTagConfig.onLoadCode)=="undefined") lpMTagConfig.onLoadCode = new Array();
//Dynamic Buttons Array
if(typeof(lpMTagConfig.dynButton)=="undefined") lpMTagConfig.dynButton=new Array();  
// This need to be add to afterStartPage will work
if(typeof(lpMTagConfig.ifVisitorCode)=="undefined") lpMTagConfig.ifVisitorCode=new Array();  

// Function that sends variables to LP - By Scope
function lpAddVars(scope,name,value) {
	if (name.indexOf('OrderTotal')!=-1 || name.indexOf('OrderNumber')!=-1){
		if  (value=='' || value==0) return; // pass 0 value to all but OrderTotal
		else lpMTagConfig.sendCookies = false
	}
	value=lpTrimSpaces(value.toString());
//Remove cut long variables names and values
	if (name.length>50) { 
		name=name.substr(0,25);
	}
    if (value.length>100) {
		value=value.substr(0,50);
	}
	switch (scope){
		case 'page': lpMTagConfig.pageVar[lpMTagConfig.pageVar.length] = escape(name)+'='+escape(value); break;
		case 'session': lpMTagConfig.sessionVar[lpMTagConfig.sessionVar.length] = escape(name)+'='+escape(value); break;
		case 'visitor': lpMTagConfig.visitorVar[lpMTagConfig.visitorVar.length] = escape(name)+'='+escape(value); break;
	}	
}
// Preventing long cookie transfer for IE based browsers.
function onloadEMT() { 
	var LPcookieLengthTest=document.cookie;
	if (lpMTag.lpBrowser == "IE" && LPcookieLengthTest.length>1000){
		lpMTagConfig.sendCookies=false;
	}
}

//The Trim function returns a text value with the leading and trailing spaces removed
function lpTrimSpaces(stringToTrim) {
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}
// Immediate Data submission function
function lpSendData(varscope,varname,varvalue){
	if(typeof(lpMTag)!="undefined" && typeof(lpMTag.lpSendData)!="undefined")
		lpMTag.lpSendData(varscope.toUpperCase() +"VAR!"+ varname + "=" + varvalue, true);
}

// This need to be add to afterStartPage will work
lpMTagConfig.ifVisitorCode = [];

// The unit variable purpose is to route the chat or call to the designated skill. <LOB> should be replaced with the skill name, i.e. : sales
try{
	if (typeof(lpUnit)=="undefined")	var lpUnit='paymentacceptance-sales';
	if(typeof(lpAddVars)!="undefined")	lpAddVars('page','unit',lpUnit);
	
	lpMTagConfig.defaultInvite ='chat'+'-'+lpUnit;
	}catch(e){}
	
lpMTagConfig.onLoadCode[lpMTagConfig.onLoadCode.length] = onloadEMT;

//Scan dynButton and removes buttons which doesnt have Div on the page
lpMTagConfig.onLoadCode[lpMTagConfig.onLoadCode.length] = function () {
	if(typeof(lpMTagConfig.dynButton)!='undefined') {
		for (i=0;i<lpMTagConfig.dynButton.length;++i){
			if (typeof(lpMTagConfig.dynButton[i].pid)!='undefined' && document.getElementById(lpMTagConfig.dynButton[i].pid) == null) {
					lpMTagConfig.dynButton.splice(i,1);
			}
		}
	}
};

// LP Button Code-
if(typeof(lpMTagConfig.dynButton)!="undefined") {
	lpMTagConfig.dynButton[lpMTagConfig.dynButton.length] = {"name":"chat-paymentacceptance-colossus","pid":"buttonDivColossus","afterStartPage": true};
	lpMTagConfig.dynButton[lpMTagConfig.dynButton.length] = {"name":"chat-paymentacceptance-brochureware","pid":"buttonDivBrochureware","afterStartPage": true};
	lpMTagConfig.dynButton[lpMTagConfig.dynButton.length] = {"name":"chat-paymentacceptance-callback","pid":"buttonDivCallback","afterStartPage": true};
}
