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

function loadXMLDoc(url) {

	var xmlhttp;
	var AJAXContent = "";
	var strReturnValue = "test";


	//Browser Support Code
	try {
		// Opera 8.0+, Firefox, Safari
		xmlhttp = new XMLHttpRequest();
		//alert("Opera 8.0+, Firefox, Safari");
	} 
	catch (e) {
		// Internet Explorer Browsers
		try {
			xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
			//alert("Internet Explorer Browsers 1");
		} 
		catch (e) {
			try {
				xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
				//alert("Internet Explorer Browsers 2");
			} 
			catch (e) {
				// Something went wrong
				//alert("Your browser does not support AJAX.");
				return false;
			}
		}
	}



	xmlhttp.open("GET", url, false);	//synchronous
	//xmlhttp.open("GET", url, true);	//asynchronous

	xmlhttp.send(null); 

	try{
		AJAXContent = eval( '(' + xmlhttp.responseText + ')' );
		strReturnValue = AJAXContent.chat_account;
	}
	catch (e) {
		strReturnValue = "33858854";  //Use the dev/test chat account if the ajax attempt fails.
	}
	

	return(strReturnValue);

}

var bbtAccount = loadXMLDoc("/includes/chat/get-host-ip.asp?"+ Math.random());


//var bbtAccount=(location.hostname=='www.bbt.com')?'2489482':'33858854';
var lpMTagConfig = {
	'lpServer' : 'sales.liveperson.net',
	'lpNumber' : bbtAccount,
	'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');
};

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

// 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. Trims suffix of the variable name above the 25th character onwards
	if (name.length>50) { 
		name=name.substr(0,50);
	}
    if (value.length>50) { // Trims suffix of the variable value above the 50th character onwards
		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);
}

// 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='sales-biz-deposits'; }
	if(typeof(lpAddVars)!='undefined') { lpAddVars('page','unit',lpUnit); }
	if (typeof(lpLanguage)=='undefined')	var lpLanguage='english';
	if(typeof(lpLanguage)!='undefined')	lpAddVars('page','language',lpLanguage);
	lpMTagConfig.defaultInvite ='chat'+'-' + lpUnit+'-'+lpLanguage;
}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);
			}
		}
	}
};

//The folowing functions will be load after the page will finish loading
lpMTagConfig.onLoadAll = function () {
	lpMTagConfig.calculateSentPageTime();
	lpMTagConfig.lpLoadScripts();
};

if (window.attachEvent) { 
	window.attachEvent('onload',lpMTagConfig.onLoadAll); 
} else {
	window.addEventListener('load',lpMTagConfig.onLoadAll,false);
}

//Omniture tracking calls (inviteAccept/Declined/Timeout,ButtonClicked)
//wa_lpEvents's function should be defined on BB&T/Vendor's end in s_code.js file.
lpMTagConfig.inviteChatAccept = function(objName) {
	var inviteObj = eval(objName);
	try{
		//Omniture tracking call - inviteChatAccept
		wa_lpEvents("inviteChatAccept",lpUnit,lpPageName);
	} catch(e){}
	return true;
};
lpMTagConfig.inviteChatDeclined = function(objName) {
	var inviteObj = eval(objName);
	try{
		//Omniture tracking call - inviteChatDeclined
		wa_lpEvents("inviteChatDeclined",lpUnit,lpPageName);
	} catch(e){}
	return true;
};
lpMTagConfig.inviteChatTimeout = function(objName) {
	var inviteObj = eval(objName);
	try{
		//Omniture tracking call - inviteChatTimeout
		wa_lpEvents("inviteChatTimeout",lpUnit,lpPageName);
	} catch(e){}
	return true;
};
lpMTagConfig.db1 = new Object();
lpMTagConfig.db1.dbClicked = function (objName, status) {
    objRef = eval(objName);	
    if (status == 'online') {
		try{
			//Omniture tracking call - ButtonClicked
			wa_lpEvents("ButtonClicked",lpUnit,lpPageName);
		} catch(e){}
    }
	return true;
};


// old button setup
// LP Button Code
// lpMTagConfig.dynButton[lpMTagConfig.dynButton.length] = { 'name': 'chat-' + lpUnit + '-' + lpLanguage, 'pid': 'lpButton', 'afterStartPage': true, 'ovr': 'lpMTagConfig.db1' };

//new button data 11-12-09
//Description	Name	Pid
//BBT.com Button	chat-sales-biz-deposits-english	lp-chat-sales-biz-deposits-english-div
//BOAO Compare and Select Button	chat-sales-biz-application-english-boao1	lp-chat-sales-biz-application-english-boao1-div
//BOAO Application Pages Button	chat-sales-biz-application-english-boao2	lp-chat-sales-biz-application-english-boao2-div
// new buttons
//chat-sales-biz-deposits-english
if (typeof (lpMTagConfig.dynButton) != "undefined") {
    lpMTagConfig.dynButton[lpMTagConfig.dynButton.length] = { "name": "chat-sales-biz-deposits-english", "pid": "lp-chat-sales-biz-deposits-english-div", 'afterStartPage': true, "ovr": "lpMTagConfig.db1" };
}
//chat-sales-biz-application-english-boao1
if (typeof (lpMTagConfig.dynButton) != "undefined") {
    lpMTagConfig.dynButton[lpMTagConfig.dynButton.length] = { "name": "chat-sales-biz-application-english-boao1", "pid": "lp-chat-sales-biz-application-english-boao1-div", 'afterStartPage': true, "ovr": "lpMTagConfig.db1" };
}
//chat-sales-biz-application-english-boao2
if (typeof (lpMTagConfig.dynButton) != "undefined") {
    lpMTagConfig.dynButton[lpMTagConfig.dynButton.length] = { "name": "chat-sales-biz-application-english-boao2", "pid": "lp-chat-sales-biz-application-english-boao2-div", 'afterStartPage': true, "ovr": "lpMTagConfig.db1" };
}


