
var xOffset;
var yOffset;
var realWidth;
var realHeight;

var floatX = new Object();
var floatY = new Object();
var layerwidth = new Object();
var layerheight = new Object();
var halign = new Object();
var valign = new Object();
var delayspeed = new Object;
var ifloatX = new Object();
var ifloatY = new Object();
var lastX = new Object();
var lastY = new Object();

var defines = new Array();
var adjustTimeouts = new Object();

NS6=false;
IE4=(document.all);
if (!IE4) {NS6=(document.getElementById);}

var __ALC_IS_INITTED = false;

if ( typeof(__ALC_Badges) == 'undefined' ) {
	var __ALC_Badges = new Array();
}
var __ALC_Current_Badge = 0;

var __ALC_NEW_CLIENT = false;
var __ALC_NEW_SESSION = false;
var __ALC_REF_LOADED = false;

var __ALC_OREF;
var __ALC_DEFAULT_IMG = true;
var __ALC_DEFAULT_FISH = true;
var __ALC_INVITE_DIV = false;
var __ALC_INVITE_TIMEOUT = 1;
var __ALC_INNER_TIMEOUT;
var __ALC_INNER_SHOWING = false;
var __ALC_UNAVAILABLE_LINK = false;
var __ALC_CLIENT_DEFAULT_STYLE = true;
var __ALC_CLIENT_STYLE = 'light';
var __ALC_CLIENT_SOURCE = '';
var __ALC_CLIENT_WIDTH = 500;
var __ALC_CLIENT_HEIGHT = 500;
var __ALC_CLIENT_STYLE_LOCATION = 'inline';
var __ALC_CLIENT_STYLE_POSITION = 'top';
var __ALC_CONTACT_DEFAULT_STYLE = true;
var __ALC_CONTACT_SOURCE = '';
var __ALC_SESS_CLICKED;
var __ALC_DEPLOYMENT = 0;
var __ALC_DEPARTMENT = 0;
var __ALC_PRECHAT_INFO = new Array();

var __ALC_AUTO_INVITE_ID = 0;
var __ALC_AUTO_INVITE_DEFAULT_STYLE = true;
var __ALC_AUTO_INVITE_TIMEOUT;
var __ALC_AUTO_INVITE_SHOWING = false;
var __ALC_AUTO_INVITE_TIMER;

var swfVer;

function getCookie(name)
{
	var start = document.cookie.indexOf( name + "=");
	var len = start + name.length + 1;
	if ( start < 0 ) {
		return null;
	}
	if ( start == 1 ) { return null; }
	var end = document.cookie.indexOf(';', len);
	if ( end == -1 ) { end = document.cookie.length; }
	return unescape( document.cookie.substring(len, end) );
}

function ALCStart(license_id, deployment_id)
{
	if ( typeof(license_id) == 'undefined' || typeof(deployment_id) == 'undefined' ) {
		//alert('Activa Live Chat Error: This deployment is not valid on this domain. Please update your deployment via your account dashboard');
		__ALC_IS_INITTED = true;
	}
	
	__ALC_DEPLOYMENT = deployment_id;
	
	__ALC_OREF = getCookie('__ALC_OREF');
	if ( !__ALC_OREF) {
		__ALC_OREF = encodeURIComponent(document.referrer)
		if ( !__ALC_OREF ) {
			__ALC_OREF = 'Direct';
		}
		document.cookie = '__ALC_OREF='+__ALC_OREF;
	} else {
		__ALC_OREF = encodeURIComponent(__ALC_OREF);
	}
	
	setOffsets();
	
	document.write('<div id="alc_chat_div"></div>');
	
	if ( __ALC_DEFAULT_FISH ) {
		if ((IE4) || (NS6)) {
			if ( typeof(__ALC_INVITE_IMG) == 'undefined' ) {
				if ( typeof(__ALC_INVITE_STYLE_TEMPLATE) == 'undefined' ) {
					__ALC_INVITE_IMG = 'http://www.activalive.com/images/invite.png';
				} else {
					__ALC_INVITE_IMG = 'http://www.activalive.com/images/invites/'+__ALC_INVITE_STYLE_TEMPLATE+'_'+__ALC_INVITE_STYLE_COLOR+'.png';
				}
			}

			if ( typeof(__ALC_INVITE_STYLE_COLOR) != 'undefined' ) {
				//document.write('<div id="alc_op_invite" style="position: absolute; z-index: 1000; width: 292px; height: 159px; text-align: center; display: none;"><div style="width: 292px; height: 159px; margin: 0 auto;"><div onclick="alcClearInvite(\'rejected\');" style="cursor: pointer; curosr: hand; float: right; background:url(http://www.activalive.com/images/invite_close.png) no-repeat; _background: none; _filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=crop src=\'http://www.activalive.com/images/invite_close.png\'); width: 73px; height: 18px;"></div><div onclick="ALCStartChat();" style="cursor: pointer; curosr: hand; clear: right; background:url('+__ALC_INVITE_IMG+') no-repeat; _background: none; _filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=crop src=\''+__ALC_INVITE_IMG+'\'); width: 292px; height: 141px;"></div></div>');
				//document.write('</div>');
				
				__ALC_INVITE_DIV = document.createElement("div");
				__ALC_INVITE_DIV.innerHTML = '<div id="alc_op_invite" style="position: absolute; z-index: 1000; width: 292px; height: 159px; text-align: center; display: none;"><div style="width: 292px; height: 159px; margin: 0 auto;"><div onclick="alcClearInvite(\'rejected\');" style="cursor: pointer; curosr: hand; float: right; background:url(http://www.activalive.com/images/invite_close.png) no-repeat; _background: none; _filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=crop src=\'http://www.activalive.com/images/invite_close.png\'); width: 73px; height: 18px;"></div><div onclick="ALCStartChat();" style="cursor: pointer; curosr: hand; clear: right; background:url('+__ALC_INVITE_IMG+') no-repeat; _background: none; _filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=crop src=\''+__ALC_INVITE_IMG+'\'); width: 292px; height: 141px;"></div></div></div>';
			}
		}
	}
	
	if ( (IE4) || (NS6) ) {
		if ( __ALC_AUTO_INVITE_DEFAULT_STYLE ) {
			if ( typeof(__ALC_AUTO_INVITE_STYLE_TEMPLATE) == 'undefined' ) {
				__ALC_AUTO_INVITE_IMG = 'http://www.activalive.com/images/invite.png';
			} else {
				__ALC_AUTO_INVITE_IMG = 'http://www.activalive.com/images/invites/'+__ALC_AUTO_INVITE_STYLE_TEMPLATE+'_'+__ALC_AUTO_INVITE_STYLE_COLOR+'.png';
			}

			document.write('<div id="alc_auto_invite" style="position: absolute; z-index: 1000; width: 292px; height: 159px; text-align: center; display: none;"><div style="width: 292px; height: 159px; margin: 0 auto;"><div onclick="alcClearAutoInvite(\'rejected\');" style="cursor: pointer; curosr: hand; float: right; background:url(http://www.activalive.com/images/invite_close.png) no-repeat; _background: none; _filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=crop src=\'http://www.activalive.com/images/invite_close.png\'); width: 73px; height: 18px;"></div><div onclick="ALCStartChat(\'autoinvite\');" style="cursor: pointer; curosr: hand; clear: right; background:url('+__ALC_AUTO_INVITE_IMG+') no-repeat; _background: none; _filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=crop src=\''+__ALC_AUTO_INVITE_IMG+'\'); width: 292px; height: 141px;"></div></div>');
			document.write('</div>');
		}
	}
	
	defines.push('alc_auto_invite');
	
	floatX.alc_auto_invite = -300;
	ifloatX.alc_auto_invite = floatX.alc_auto_invite;
	floatY.alc_auto_invite = -200;
	ifloatY.alc_auto_invite = floatY.alc_auto_invite;
	layerwidth.alc_auto_invite = 292;
	layerheight.alc_auto_invite = 159;
	halign.alc_auto_invite = "center";
	valign.alc_auto_invite = "top";
	delayspeed.alc_auto_invite = 1;
	
	lastX.alc_auto_invite = -1;
	lastY.alc_auto_invite = -1;
	
	define();
	
	window.onresize = define;

	__ALC_SESS_CLICKED = getCookie('__ALC_SESS_CLICKED');
	
	src = 'http://www.activalive.com/checker.php?license='+license_id+'&deployment='+deployment_id+'&client_id='+getCookie('__ALC_CLIENT_ID')+'&session_id='+getCookie('__ALC_SESSION_ID')+'&cb='+getCookie('__ALC_CB_RUNNING')+'&rnd='+Math.random();
	/*if ( typeof(__ALC_DEPARTMENTS) == 'object' ) {
		for ( var x=0; x<__ALC_DEPARTMENTS.length; x++ ) {
			src += '&dept[]='+__ALC_DEPARTMENTS[x];
		}
	}*/
	src += '&rand='+Math.random();
	
	swfVer = GetSwfVer();
	document.write('<script type="text/javascript" src="http://www.activalive.com/js/json.js"\>\<\/script\>');
	document.write('<script type="text/javascript" src="'+src+'"\>\<\/script\>');
	document.write('<script type="text/javascript" src="http://www.activalive.com/js/cobrowse.js"><'+'/script>');
}

var ALCOpCheck = function(badge, avail) {
	if ( avail ) {
		if ( typeof(__ALC_Badges) != 'undefined' ) {
			if ( document.getElementById(__ALC_Badges[badge].available) ) {
				document.getElementById(__ALC_Badges[badge].available).style.display = '';
			}
		} else if ( document.getElementById('alc_op_yes') ) {
			document.getElementById('alc_op_yes').style.display = '';
		}
		
		if ( typeof(__ALC_Badges) != 'undefined' ) {
			if ( document.getElementById(__ALC_Badges[badge].unavailable) ) {
				document.getElementById(__ALC_Badges[badge].unavailable).style.display = 'none';
			}
		} else if ( document.getElementById('alc_op_no') ) {
			document.getElementById('alc_op_no').style.display = 'none';
		}
	} else {
		if ( typeof(__ALC_Badges) != 'undefined' ) {
			if ( document.getElementById(__ALC_Badges[badge].available) ) {
				document.getElementById(__ALC_Badges[badge].available).style.display = 'none';
			}
		} else if ( document.getElementById('alc_op_yes') ) {
			document.getElementById('alc_op_yes').style.display = 'none';
		}
		
		if ( typeof(__ALC_Badges) != 'undefined' ) {
			if ( document.getElementById(__ALC_Badges[badge].unavailable) ) {
				document.getElementById(__ALC_Badges[badge].unavailable).style.display = '';
			}
		} else if ( document.getElementById('alc_op_no') ) {
			document.getElementById('alc_op_no').style.display = '';
		}
	}
}

var ALCInner = function(show) {
	var elem = document.getElementById('alc_op_invite');
	if ( !elem ) {
		return;
	}
	if ( show && !__ALC_INNER_SHOWING && !__ALC_AUTO_INVITE_SHOWING ) {
		if ( window != window.top && __ALC_CLIENT_STYLE_LOCATION == 'inline' ) {
			return;
		}
		
		__ALC_INNER_SHOWING = true;

		window.clearTimeout(__ALC_INNER_TIMEOUT);
		
		if ( __ALC_INVITE_TIMEOUT > 0 ) {
			__ALC_INNER_TIMEOUT = window.setTimeout(function() { alcClearInvite('timeout'); }, __ALC_INVITE_TIMEOUT * 1000);
		}
		
		elem.style.display = '';
		
		halign.alc_op_invite = "center";
		valign.alc_op_invite = "center";
		define();
		
		var dt = new Date();
		/*
		-1 - On page exit
		-2 - Never
		*/
		if ( __ALC_INVITE_TIMEOUT == -1 || __ALC_INVITE_TIMEOUT == -2 ) {
			dt.setFullYear(dt.getFullYear()+10);
			document.cookie = '__ALC_INVITE_EXPIRE='+__ALC_INVITE_TIMEOUT+';expires='+dt.toGMTString()+';path=/';
		} else {
			dt.setTime(dt.getTime()+(__ALC_INVITE_TIMEOUT*1000));
			document.cookie = '__ALC_INVITE_EXPIRE='+dt.getTime()+';expires='+dt.toGMTString()+';path=/';
		}
	} else if ( !show ) {
		__ALC_INNER_SHOWING = false;
		window.clearTimeout(__ALC_INNER_TIMEOUT);
		
		halign.alc_op_invite = "center";
		valign.alc_op_invite = "top";
		define();
		
		var dt = new Date();
		dt.setTime(dt.getTime()-60000);
		document.cookie = '__ALC_INVITE_EXPIRE=0;expires='+dt.toGMTString()+';path=/';
	}
}

////////////////////////////////

// This script is copyright (c) Henrik Petersen, NetKontoret
// Feel free to use this script on your own pages as long as you do not change it.
// It is illegal to distribute the script as part of a tutorial / script archive.
// Updated version available at: http://www.echoecho.com/toolfloatinglayer.htm
// This comment and the 4 lines above may not be removed from the code.

function adjust(elem)
{
	setOffsets();
	
	var domElem = document.getElementById(elem);
	if ( !domElem ) {
		return;
	}
	
	if ( lastX[elem] == -1 || delayspeed[elem] == 0 ) {
		lastX[elem] = xOffset + floatX[elem];
		lastY[elem] = yOffset + floatY[elem];
	} else {
		var dx = Math.abs(xOffset+floatX[elem]-lastX[elem]);
		var dy = Math.abs(yOffset+floatY[elem]-lastY[elem]);
		var d = Math.sqrt(dx*dx+dy*dy);
		var c = Math.round(d/10);
		
		if ( xOffset + floatX[elem] > lastX[elem] ) { lastX[elem] = lastX[elem] + delayspeed[elem] + c; }
		if ( xOffset + floatX[elem] < lastX[elem] ) { lastX[elem] = lastX[elem] - delayspeed[elem] - c; }
		if ( yOffset + floatY[elem] > lastY[elem] ) { lastY[elem] = lastY[elem] + delayspeed[elem] + c; }
		if ( yOffset + floatY[elem] < lastY[elem] ) { lastY[elem] = lastY[elem] - delayspeed[elem] - c; }
	}

	if ( (NS6) ) {
		document.getElementById(elem).style.left = lastX[elem]+"px";
			
		var currY = document.getElementById(elem).style.top.replace('px', '');
		if ( (valign[elem] == "top" && currY > lastY[elem]) || valign[elem] != "top" ) {
			document.getElementById(elem).style.top = lastY[elem]+"px";
		}
	} else if (IE4) {
		document.all[elem].style.posLeft = lastX[elem];
		
		var currY = document.all[elem].style.posTop;
		if ( ( valign[elem] == "top" && currY > lastY[elem]) || valign[elem] != "top" ) {
			document.all[elem].style.posTop = lastY[elem];
		}
	}
	
	if ( floatY[elem] == ifloatY[elem] && lastY[elem] < (yOffset - layerheight[elem]) ) {
		domElem.style.display = 'none';
	}
	
	var timeout = window.setTimeout(function() { adjust(elem); }, 5);
	adjustTimeouts[elem] = timeout;
}

function position(elem)
{
	setOffsets();
	
	var domElem = document.getElementById(elem);
	if ( !domElem ) {
		return;
	}
	
	lastX[elem] = xOffset + floatX[elem];
	lastY[elem] = yOffset + floatY[elem];
	
	if ( (NS6) ) {
		document.getElementById(elem).style.left = lastX[elem]+"px";
			
		var currY = document.getElementById(elem).style.top.replace('px', '');
		if ( (valign[elem] == "top" && currY > lastY[elem]) || valign[elem] != "top" ) {
			document.getElementById(elem).style.top = lastY[elem]+"px";
		}
	} else if (IE4) {
		document.all[elem].style.posLeft = lastX[elem];
		
		var currY = document.all[elem].style.posTop;
		if ( ( valign[elem] == "top" && currY > lastY[elem]) || valign[elem] != "top" ) {
			document.all[elem].style.posTop = lastY[elem];
		}
	}
	
	if ( floatY[elem] == ifloatY[elem] && lastY[elem] < (yOffset - layerheight[elem]) ) {
		domElem.style.display = 'none';
	}
	
	var timeout = window.setTimeout(function() { adjust(elem); }, 5);
	adjustTimeouts[elem] = timeout;
}

function define()
{
	setOffsets();
	
	for ( var x=0; x<defines.length; x++ ) {
		if ( halign[defines[x]] == "left" ) { floatX[defines[x]] = ifloatX[defines[x]] };
		if ( halign[defines[x]] == "right" ) { floatX[defines[x]] = realWidth - ifloatX[defines[x]] - layerwidth[defines[x]] - 20};
		if ( halign[defines[x]] == "center" ) { floatX[defines[x]] = Math.round((realWidth - 20)/2) - Math.round(layerwidth[defines[x]]/2)};
		if ( valign[defines[x]] == "top" ) { floatY[defines[x]] = ifloatY[defines[x]]};
		if ( valign[defines[x]] == "bottom" ) { floatY[defines[x]] = realHeight - ifloatY[defines[x]] - layerheight[defines[x]]};
		if ( valign[defines[x]] == "center" ) { floatY[defines[x]] = Math.round((realHeight - 20)/2) - Math.round(layerheight[defines[x]]/2)};
	}
}

function setOffsets()
{
	if ( window.pageXOffset ) {
		xOffset = window.pageXOffset;
	} else if (document.documentElement && document.documentElement.scrollLeft) {
		xOffset = document.documentElement.scrollLeft;
	} else if (document.body) {
		xOffset = document.body.scrollLeft;
	}
	
	if ( window.pageYOffset ) {
		yOffset = window.pageYOffset;
	} else if (document.documentElement && document.documentElement.scrollTop) {
		yOffset = document.documentElement.scrollTop
	} else if (document.body) {
		yOffset = document.body.scrollTop;
	}
	
	if ( window.innerWidth ) {
		realWidth = window.innerWidth;
	} else if (document.documentElement && document.documentElement.clientWidth) {
		realWidth = document.documentElement.clientWidth;
	} else if (document.body) {
		realWidth = document.body.clientWidth;
	}
	
	if ( window.innerHeight ) {
		realHeight = window.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) {
		realHeight = document.documentElement.clientHeight;
	} else if (document.body) {
		realHeight = document.body.clientHeight;
	}
}





var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;

function ControlVersion()
{
	var version;
	var axo;
	var e;

	// NOTE : new ActiveXObject(strFoo) throws an exception if strFoo isn't in the registry

	try {
		// version will be set for 7.X or greater players
		axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
		version = axo.GetVariable("$version");
	} catch (e) {
	}

	if (!version)
	{
		try {
			// version will be set for 6.X players only
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
			
			// installed player is some revision of 6.0
			// GetVariable("$version") crashes for versions 6.0.22 through 6.0.29,
			// so we have to be careful. 
			
			// default to the first public version
			version = "WIN 6,0,21,0";

			// throws if AllowScripAccess does not exist (introduced in 6.0r47)		
			axo.AllowScriptAccess = "always";

			// safe to call for 6.0r47 or greater
			version = axo.GetVariable("$version");

		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 4.X or 5.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = axo.GetVariable("$version");
		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 3.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = "WIN 3,0,18,0";
		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 2.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
			version = "WIN 2,0,0,11";
		} catch (e) {
			version = -1;
		}
	}
	
	return version;
}

// JavaScript helper required to detect Flash Player PlugIn version information
function GetSwfVer(){
	// NS/Opera version >= 3 check for Flash plugin in plugin array
	var flashVer = -1;
	
	if (navigator.plugins != null && navigator.plugins.length > 0) {
		if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
			var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
			var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;			
			var descArray = flashDescription.split(" ");
			var tempArrayMajor = descArray[2].split(".");
			var versionMajor = tempArrayMajor[0];
			var versionMinor = tempArrayMajor[1];
			if ( descArray[3] != "" ) {
				tempArrayMinor = descArray[3].split("r");
			} else {
				tempArrayMinor = descArray[4].split("r");
			}
			var versionRevision = tempArrayMinor[1] > 0 ? tempArrayMinor[1] : 0;
			var flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
		}
	}
	// MSN/WebTV 2.6 supports Flash 4
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
	// WebTV 2.5 supports Flash 3
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
	// older WebTV supports Flash 2
	else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
	else if ( isIE && isWin && !isOpera ) {
		flashVer = ControlVersion();
	}	
	return flashVer;
}

function __ALC_DID(string) {
	return document.getElementById(string);
}