//var LSP_lspRoot			= 'http://ks9/lsp/';
var LSP_lspRoot			= 'http://www.livesupportperson.com/';

var LSP_imgSuspended	= LSP_lspRoot + 'images/support_suspended.gif';
var LSP_imgOnline		= LSP_lspRoot + 'js/online.php?domainId=' + LSP_domainId + '&imgsuffix='+LSP_imgSuffix;		// 'upload/domain/' + LSP_domainId + '_online' + LSP_imgSuffix + '.gif';
var LSP_imgOffline		= LSP_lspRoot + 'js/offline.php?domainId=' + LSP_domainId + '&imgsuffix='+LSP_imgSuffix;	// 'upload/domain/' + LSP_domainId + '_offline' + LSP_imgSuffix + '.gif';
var LSP_imgInitiator	= LSP_lspRoot + 'js/initiate.php?domainId=' + LSP_domainId;
var LSP_connect			= LSP_lspRoot + 'js/connect.php?domainId=' + LSP_domainId;


var LSP_urlVisited		= LSP_urlVisited == undefined ? document.location:LSP_urlVisited;
var LSP_referer			= LSP_referer	 == undefined ? document.referrer:LSP_referer;
var LSP_ip				= LSP_ip		 == undefined ? 'N/A':LSP_ip;
var LSP_userAgent		= LSP_userAgent	 == undefined ? 'N/A':LSP_userAgent;

var LSP_queryString		= 'domainId='+LSP_domainId+'&urlVisited='+LSP_urlVisited+'&referer='+LSP_referer+'&imgsuffix='+LSP_imgSuffix+'&ip='+LSP_ip+'&userAgent='+LSP_userAgent+'&';

document.write('<a href="#" onclick="window.open(\'' + LSP_connect + '\', \'_blank\', \'width=432, height=432\');"><img src="' + LSP_imgOffline + '" id="LSP_ID_imgStatus" name="LSP_ID_imgStatus" alt="" border=0></a>');
document.write('<a href="#" onclick="window.open(\'' + LSP_connect + '\', \'_blank\', \'width=432, height=432\');stopInitiatorImage(1);"><img style="position:absolute; display:none;" src="' + LSP_imgInitiator + '" id="LSP_ID_imgInitiator" name="LSP_ID_imgStatus" alt="" border=0></a>');

var LSP_imgLoader		= new Image;
LSP_imgLoader.onload	= LSP_parseActions;

var LSP_imgStatus		= document.getElementById('LSP_ID_imgStatus');
var LSP_imgInitiator	= document.getElementById('LSP_ID_imgInitiator');

var LSP_imgInitiatorDir	= 0;
var LSP_imgInitiatorRep	= 0;
var LSP_imgInitiatorResp= 0;

var LSP_imgMoveGrid		= 3;
var LSP_imgMoveRepeat	= 5;

var LSP_imgMoveMS		= 100;
var LSP_refreshMS		= 10000;

// Single function to save heartbeat, check for new actions
function LSP_contactServer(extraQs)
{
	extraQs					= extraQs == undefined ? '' : extraQs;

	LSP_imgLoader.src		= LSP_lspRoot + 'js/status.php?xyz='+Math.random()+'&' + LSP_queryString + (LSP_imgInitiatorResp!=0?'initImgResp='+LSP_imgInitiatorResp+'&':'') + extraQs;
	LSP_imgInitiatorResp	= 0;
}

function LSP_parseActions()
{
	LSP_action	= LSP_imgLoader.width;
	LSP_status	= LSP_imgLoader.height;

	if ( LSP_status == 3 )
	{
		alert('Domain Id not defined. The live support system is shutting down.');
		return;
	}

	if ( LSP_status == 4 )
	{
		LSP_imgStatus.src = LSP_imgSuspended;
		return;
	}

	if ( LSP_status == 1 )
		LSP_imgStatus.src = LSP_imgOffline;
	else if ( LSP_status == 2 )
		LSP_imgStatus.src = LSP_imgOnline;

	// Action = 1 means nothing (everything normal)
	if ( LSP_action == 1 )
	{
	}
	
	// Action = 2 means a popup msg is waiting
	else if ( LSP_action == 2 )
	{
		window.open(LSP_connect, '_blank', 'width=432, height=432');
	}

	// Action = 3 show image initiator
	else if ( LSP_action == 3 && LSP_imgInitiatorDir == 0 )
	{
		showInitiatorImage();
	}

	window.setTimeout('LSP_contactServer()', LSP_refreshMS);
}

function showInitiatorImage()
{
	LSP_imgInitiator_width	= LSP_imgInitiator.width;
	LSP_imgInitiator_height	= LSP_imgInitiator.height;

	if (self.innerHeight) // all except Explorer
	{
		LSP_internal_width = self.innerWidth;
		LSP_internal_height = self.innerHeight;
	}
	else if (document.documentElement && document.documentElement.clientHeight)	// Explorer 6 Strict Mode
	{
		LSP_internal_width = document.documentElement.clientWidth;
		LSP_internal_height = document.documentElement.clientHeight;
	}
	else if (document.body) // other Explorers
	{
		LSP_internal_width = document.body.clientWidth;
		LSP_internal_height = document.body.clientHeight;
	}

	// Scroll Position
	var sd = getScrollXY();
	var LSP_scroll_left = sd[0];
	var LSP_scroll_top = sd[1];

	// Object Position
	var y = LSP_scroll_top + (LSP_internal_height / 2) - (LSP_imgInitiator_height / 2);

	LSP_imgInitiator.style.top		= y + 'px';
	LSP_imgInitiator.style.left		= LSP_scroll_left + 'px';
	LSP_imgInitiator.style.display = 'block';

	LSP_imgInitiatorDir				= LSP_imgMoveGrid;
	LSP_imgInitiatorRep				= LSP_imgMoveRepeat;

	window.setTimeout('showInitiatorImageMove()', LSP_imgMoveMS);
}

function showInitiatorImageMove()
{
	LSP_imgInitiator_width	= LSP_imgInitiator.width;
	LSP_imgInitiator_height	= LSP_imgInitiator.height;
	LSP_imgInitiator_left	= LSP_imgInitiator.style.left.replace('px', '');

	sd = getScrollXY();
	LSP_scroll_left = sd[0];
	LSP_scroll_top = sd[1];
	y = LSP_scroll_top + (LSP_internal_height / 2) - (LSP_imgInitiator_height / 2);
	LSP_imgInitiator.style.top		= y + 'px';

	if ( LSP_imgInitiatorDir < 0 )
	{
		if ( LSP_imgInitiator_left == LSP_scroll_left )
		{
			LSP_imgInitiatorRep--;
			
			if ( LSP_imgInitiatorRep <= 0 )
			{
				stopInitiatorImage(-1);
				return;
			}
	
			LSP_imgInitiatorDir = -LSP_imgInitiatorDir;
		}
	}

	if ( LSP_imgInitiator_left*1 + LSP_imgInitiator_width*1 + LSP_imgInitiatorDir*1 >= LSP_internal_width )
		LSP_imgInitiatorDir = -LSP_imgInitiatorDir;

	try
	{
		LSP_imgInitiator.style.left		= (LSP_imgInitiator_left*1 + LSP_imgInitiatorDir*1) + 'px';
	}
	catch (e)
	{
		alert('VALUE: '+(LSP_imgInitiator_left + LSP_imgInitiatorDir) + 'px');
		return;
	}

	window.setTimeout('showInitiatorImageMove()', LSP_imgMoveMS);
}

function stopInitiatorImage(response)
{
	LSP_imgInitiatorDir = 0;
	LSP_imgInitiatorResp= response;
	LSP_imgInitiator.style.display = 'none';
}

function getScrollXY()
{
	var scrOfX = 0, scrOfY = 0;
	if( typeof( window.pageYOffset ) == 'number' )
	{
		//Netscape compliant
		scrOfY = window.pageYOffset;
		scrOfX = window.pageXOffset;
	}
	else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) )
	{
		//DOM compliant
		scrOfY = document.body.scrollTop;
		scrOfX = document.body.scrollLeft;
	}
	else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) )
	{
		//IE6 standards compliant mode
		scrOfY = document.documentElement.scrollTop;
		scrOfX = document.documentElement.scrollLeft;
	}

	return [ scrOfX, scrOfY ];
}

LSP_contactServer('firstVisit=yes&');
