var t;
var myElement;
var FloatLayers       = new Array();
var FloatLayersByName = new Array();

 function FloatLayer(name, offX, offY, speed) {
	this.index = FloatLayers.length;

	FloatLayers.push(this);
	FloatLayersByName[name] = this;

	this.name    = name;
	this.floatX  = 0;
	this.floatY  = 0;
	this.tm      = null;
	this.steps   = speed;
	this.alignHorizontal = (offX >= 0) ? leftFloater : rightFloater;
	this.alignVertical   = (offY >= 0) ? topFloater : bottomFloater;
	this.ifloatX = Math.abs(offX);
	this.ifloatY = Math.abs(offY);
 }
 
 function start(){
 	var lay  = document.getElementById('floatlayer');
 	
 	lay.left = 339;//getXCoord(lay);
 	lay.top  = 108;//getYCoord(lay);
 	lay.style.position = 'absolute';
 	
 	getFloatLayer('floatlayer').initialize();
 	alignFloatLayers();
   }


function getFloatLayer(name){
	return FloatLayersByName[name];
}
FloatLayer.prototype.initialize=defineFloater;


function defineFloater(){
	this.layer  = document.getElementById(this.name);
	this.width  = this.layer.offsetWidth;
	this.height = this.layer.offsetHeight;
	this.prevX  = this.layer.offsetLeft;
	this.prevY  = this.layer.offsetTop;
 }

FloatLayer.prototype.align=alignFloater;

 function alignFloatLayers() {
	for( var i=0; i<FloatLayers.length; i++)
		FloatLayers[i].align();
 }

function alignFloater(){
	if(this.layer == null) this.initialize();
	this.alignHorizontal();
	this.alignVertical();
	if( this.prevX != this.floatX || this.prevY != this.floatY ){
		if(this.tm == null)
			this.tm=setTimeout('FloatLayers['+this.index+'].adjust()',50);
	}
 }
 
 function leftFloater() {
 	this.floatX = document.body.scrollLeft + this.ifloatX;
   }
   function topFloater() {
 	this.floatY = document.body.scrollTop + this.ifloatY;
   }
   function rightFloater() {
 	this.floatX = document.body.scrollLeft +
 			document.body.clientWidth - this.ifloatX - this.width;
   }
   function bottomFloater() {
 	this.floatY = document.body.scrollTop +
 			document.body.clientHeight - this.ifloatY - this.height;
   }


FloatLayer.prototype.adjust=adjustFloater;

  function adjustFloater() {
	this.tm=null;
	if(this.layer.style.position!='absolute')return;

	var dx = Math.abs(this.floatX-this.prevX);
	var dy = Math.abs(this.floatY-this.prevY);

	if (dx < this.steps / 2)
		cx = (dx >= 1) ? 1 : 0;
	else
		cx = Math.round(dx/this.steps);

	if (dy < this.steps/2)
		cy = (dy >= 1) ? 1 : 0;
	else
		cy = Math.round(dy/this.steps);

	if (this.floatX > this.prevX)
		this.prevX += cx;
	else if (this.floatX < this.prevX)
		this.prevX -= cx;

	if (this.floatY > this.prevY)
		this.prevY += cy;
	else if (this.floatY < this.prevY)
		this.prevY -= cy;

	this.layer.style.left = this.prevX;
	this.layer.style.top  = this.prevY;

	if (cx != 0 || cy != 0){
		if(this.tm == null)
			this.tm=setTimeout('FloatLayers['+this.index+'].adjust()',50);
	}else
		alignFloatLayers();
  }
   
function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/;domain=memorystock.com;"
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}

function ShowLiveAsst(){
 var c=document.getElementById("aControlIDoff");
 

 
 if(c!=null){
 	
	if(document.getElementById("aControlIDoff").style.display!=""){
	
	
		var rc=readCookie("livechat");
		//alert(rc);
		if(rc==null){
			CreateElm();
			document.getElementById("xlaALSinvite").style.display="block";
			immclose();
			return;
		}
	}
	
 }
	t=setTimeout("ShowLiveAsst();",60000);

}




function immclose(){
	if(document.getElementById("aControlIDoff").style.display==""){
		CloseLiveAsst();
		return;
	}
	setTimeout("immclose();",100);
}
function CloseLiveAsst(){
	createCookie("livechat","yes",0);
	clearTimeout(t);
	document.getElementById("xlaALSinvite").style.display="none";
	document.body.removeChild(myElement);

	
}

function ShowChat(){
	//alert(document.getElementById("aControlIDoff").style.display);
	CloseLiveAsst();
	newWindow = window.open('http://support.memorystock.com/Chat/frmClientPreChat.aspx?config=1', 'LiveChat1', 		'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=500,height=480'); 		if (newWindow) { newWindow.focus(); newWindow.opener=window; } return false;
}

function CreateElm(){

	tb="<table border='0' cellpadding='0' cellspacing='0'>"
	tb+="<tbody>"
	tb+="<tr>"
	tb+="<td>"
	tb+="<div style='position: relative; left: 140px; top: 128px; width: 158px; height: 86px; z-index: 1;'>"
	tb+="<iframe id='xlaALSinvitemsg' src='http://www.memorystock.com/support/proactivemsg.aspx'scrolling='auto' width='100%' frameborder='0' height='86'></iframe>"
	tb+="</div>"

	tb+="<a href='javascript:;' onclick='ShowChat();'><img src='http://www.memorystock.com/support/files/invite.gif' border='0'></a></td>"
	tb+="</tr>"
	tb+="<tr>"
	tb+="<td><a href='javascript:CloseLiveAsst();'><img src='http://www.memorystock.com/support/files/invite-close.gif' border='0'></a></td>"
	tb+="</tr>"
	tb+="</tbody>"
	tb+="</table>"

	
	myElement = document.createElement('div');
	//alert("Lennnn "+tb);
	myElement.setAttribute("id","floatlayer");
	
	myElement.setAttribute("style","position:absolute;left:339px; top:108px; z-index:1;");
	
	//myElement.innerHTML="This <b>HTML Div tag</b> is created by using Javascript DOM dynamically.";
	
	var myDiv=document.createElement('div');
	myDiv.setAttribute("id","xlaALSinvite");
	myDiv.setAttribute("style","display: none;");
	myDiv.innerHTML=tb;

	myElement.appendChild(myDiv);
   	document.body.appendChild(myElement);
   	new FloatLayer('floatlayer',339,108,10);
	start();
}







//CreateElm();
ShowLiveAsst();
document.onresize=alignFloatLayers;
document.onscroll=alignFloatLayers;




