// Date last modified =  091709
// Modified by =  Hadar Blutrich

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

function lpAddMonitorTag(src)
{
	if (!lpMTagConfig.lpTagLoaded)
	{
		if(typeof(src)=="undefined"||typeof(src)=="object"){src=lpMTagConfig.lpMTagSrc?lpMTagConfig.lpMTagSrc:"/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 [iin 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 Confermation 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();

// 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());
	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. 
try{
	if (typeof(lpUnit)=="undefined")	var lpUnit='consumer-home';
	if(typeof(lpAddVars)!="undefined")	lpAddVars("page","unit",lpUnit);
	lpMTagConfig.defaultInvite ='chat-' + lpUnit;
	}catch(e){}

lpMTagConfig.onLoadCode[lpMTagConfig.onLoadCode.length] = onloadEMT;

//Fade 
lpMTagConfig.FadeStart = 0;
lpMTagConfig.FadeEnd = 0;
lpMTagConfig.FadePace = 0;
lpMTagConfig.FadeLayerID = "";
lpMTagConfig.FadeOnDone = null;

lpMTagConfig.doLighbox = function (){
    var layer = document.createElement("div");
    layer.id = "lplightbox";
    layer.style.position = "absolute";
    layer.style.left = "0px";
    layer.style.top = "0px";
    layer.style.width = "100%";
    layer.style.height = "100%";
    layer.style.zIndex = "30000"; //Change zIndex of lightbox effect
    layer.style.backgroundColor = "#000";
    
	//added for IE6 //////
	if(document.getElementsByTagName("body")!=null){
	 document.getElementsByTagName("body")[0].style.height = "100%";
	 document.getElementsByTagName("body")[0].style.margin = "0px";
	 document.getElementsByTagName("body")[0].style.padding = "0px";
	}
	//if(document.getElementsByTagName("html")!=null){
	 //document.getElementsByTagName("html")[0].style.height = "100%";
	//}
	///////////////////
	
	document.getElementsByTagName("body")[0].appendChild(layer);
	
    lpMTagConfig.FadeStart = 0;
	lpMTagConfig.FadeEnd = 70;
	lpMTagConfig.FadePace = 5;
	
	lpMTagConfig.FadeLayerID = "lplightbox";
	
	lpMTagConfig.Fade();
}


lpMTagConfig.Fade = function(){

	//check if done fading in or out
	if((lpMTagConfig.FadePace>0 && lpMTagConfig.FadeStart >= lpMTagConfig.FadeEnd) ||
		(lpMTagConfig.FadePace<0 && lpMTagConfig.FadeStart <= lpMTagConfig.FadeEnd)) {
		
		//call callback, if defined
		if(lpMTagConfig.FadeOnDone != null) lpMTagConfig.FadeOnDone();
		
		return;
	}
	var layer = document.getElementById(lpMTagConfig.FadeLayerID);
	if(layer == null) return;
	
	layer.style.opacity = (lpMTagConfig.FadeStart + lpMTagConfig.FadePace)/101; //((theFader.start+delta) / 101);
	layer.style.MozOpacity = (lpMTagConfig.FadeStart + lpMTagConfig.FadePace)/100; //((theFader.start+delta) / 100);
	layer.style.KhtmlOpacity = (lpMTagConfig.FadeStart + lpMTagConfig.FadePace)/100;//((theFader.start+delta) / 100);
	layer.style.filter = "alpha(opacity=" + (lpMTagConfig.FadeStart + lpMTagConfig.FadePace) + ")"; //"alpha(opacity=" + (theFader.start+delta) + ")";
	
	lpMTagConfig.FadeStart += lpMTagConfig.FadePace;
	setTimeout(lpMTagConfig.Fade, 50);
}

lpMTagConfig.closeLightbox = function (){
    
	if(document.getElementById(lpMTagConfig.FadeLayerID) == null) return;
	
	lpMTagConfig.FadeStart = 70;
	lpMTagConfig.FadeEnd = 0;
	lpMTagConfig.FadePace = -5;
	lpMTagConfig.FadeOnDone = lpMTagConfig.fadeoutDone;
	
	
	lpMTagConfig.Fade();
}

lpMTagConfig.fadeoutDone = function (){
    lpMTagConfig.FadeOnDone = null; //reset
	
	document.getElementById(lpMTagConfig.FadeLayerID).style.display = "none";
}
//2
lpMTagConfig.inviteChatStart = function(objName) {
	try {
		var inviteObj = eval(objName);
		if (typeof(inviteObj.inviteHTML)!= "undefined" && inviteObj.inviteHTML.indexOf('showlb=\'1\'')>=0){
			var positionObj = document.getElementById(inviteObj.divID); //Add
			positionObj.style.zIndex="40000"; //Add
			setTimeout(lpMTagConfig.doLighbox, 100);
		}
	}
	catch (e) {
		if (lpMTagDebug) lpMTagDebug.Display('Error in inviteChatStart: '+e ,'ERROR');
	}
	return true;
};

lpMTagConfig.inviteChatAccept=function(objName) {
	try {
		var inviteObj = eval(objName);
		lpMTagConfig.closeLightbox();
	}
	catch (e) {
		if (lpMTagDebug) lpMTagDebug.Display('Error in inviteChatAccept: '+e ,'ERROR');
	}
	return true;
};

lpMTagConfig.inviteChatDeclined=function(objName) {
	try {
		var inviteObj = eval(objName);
		lpMTagConfig.closeLightbox();
	}
	catch (e) {
		if (lpMTagDebug) lpMTagDebug.Display('Error in inviteChatDeclined: '+e ,'ERROR');
	}
	return true;
};

lpMTagConfig.inviteChatTimeout=function(objName) {
	try {
		var inviteObj = eval(objName);
		lpMTagConfig.closeLightbox();
	}
	catch (e) {
		if (lpMTagDebug) lpMTagDebug.Display('Error in inviteChatTimeout: '+e ,'ERROR');
	}
	return true;
};
//Fade End

// LP Button Code-
if(typeof(lpMTagConfig.dynButton)!="undefined") {
	lpMTagConfig.dynButton[lpMTagConfig.dynButton.length] = {"name":"chat-" + lpUnit+ "-marketing","pid":"lpButton-marketing","afterStartPage": true};
	lpMTagConfig.dynButton[lpMTagConfig.dynButton.length] = {"name":"chat-" + lpUnit+ "-application","pid":"lpButton-application","afterStartPage": true};
}