 var serviceName='Anny';
 var chat=1;
 var userSleep=0;
 var usInt=null;
 var gmInt=null;
 var keyed=false;
 var lastId='0';
 var userId=0;

 function init(){
if(document.all) {
$('chat-window').style.width='500px';
$('chat-window').style.height='350px';
$('chat-window').style.border='1px outset #CCCCCC';
$('window-close').style.marginRight='0px';
$('submitbtn').style.marginRight='7px';
}

function chatZero(){
chat=0;

return true;
}

var aArr=$$('a');
for(i=0; i<aArr.length; i++)
aArr[i].onclick=chatZero;

var whdr=$('window-header');
whdr.onmousedown=onmousedown;
whdr.onmouseup=onmouseup;

var submitbtn=$('submitbtn');
submitbtn.onclick=btnsubmit;

var usermsg=$('usermsg');
usermsg.onkeydown=keydown;

window.onbeforeunload=onbunload;
}

 var onbunload=function(){
 	if(chat==0) return;

  	var wnd=$('chat-window');

 	alert("Wait! A live agent would like to talk to you about a last minute discount Please click 'Cancel' on the next window to get your saving");

 	wnd.style.display='block';
  	$('usermsg').focus();
  	chat=0;

	setTimeout('getmsg()',1000);

 	return "Click 'CANCEL' below to chat...";
 }

 function uSleep(){
 	if(keyed) return;

   	var url="./ajaxchat/script.php";
   	userSleep++;
    var param='act=3&last='+lastId+'&usersleep='+userSleep;
    var chatlog=$('chat-log');

	$('chat-typing').update(serviceName+" is typing a message...");

	new Ajax.Request(
		url,
		{
  			method: "post",
   			parameters: param,
   			onSuccess: function(transport){
   				var arr=eval(transport.responseText);
                lastId=arr[0];
           		chatlog.innerHTML=chatlog.innerHTML+"<p><span class='server'>"+serviceName+" says: </span>"+arr[1]+"</p>";
				chatlog.scrollTop+=10000;
				$('chat-typing').update("");
  				$('usermsg').focus();
  			}
	});
 }

 function getmsg(){
   	var url="./ajaxchat/script.php";
    var param='act=2';
    var chatlog=$('chat-log');

	$('chat-typing').update(serviceName+" is typing a message...");

	new Ajax.Request(
		url,
		{
  			method: "post",
   			parameters: param,
   			onSuccess: function(transport){
   				var arr=eval(transport.responseText);
                userId=arr[0];
          		chatlog.innerHTML=chatlog.innerHTML+"<p><span class='server'>"+serviceName+" says: </span>"+arr[1]+"</p>";
				chatlog.scrollTop+=10000;
				$('chat-typing').update("");
 				usInt=setInterval('uSleep()',20000);
  			}
	});
 }

 function closeWnd(){

  	var wnd=$('chat-window');

 	if(confirm('Do you really want to close the chat?')){wnd.style.display='none';clearInterval(gmInt);}
 }

 function answer(text){
	$('chat-log').innerHTML=$('chat-log').innerHTML+"<p><span class='server'>"+serviceName+" says: </span>"+text+"</p>";
	$('chat-log').scrollTop+=10000;
	$('chat-typing').update("");
 }

 var btnsubmit=function(){
  	var text=$('usermsg');
    var chatlog=$('chat-log');
   	var url="./ajaxchat/script.php";
    var param='act=1&user='+userId+'&msg='+escape(text.value);

  	if(text.value!=''){

		chatlog.innerHTML=chatlog.innerHTML+"<p><span class='client'>You: </span><span class='clientText'>"+text.value+"</span></p>";
		$('chat-typing').update(serviceName+" is typing a message...");
		chatlog.scrollTop+=10000;

    	text.value='';

  		new Ajax.Request(
  			url,
  			{
    			method: "post",
    			parameters: param,
    			onSuccess: function(transport){
    				if(transport.responseText!=''){
						setTimeout("answer('"+transport.responseText+"')",3000);
    				}
   					$('usermsg').focus();
   					usInt=setInterval('uSleep()',20000);
   					keyed=false;
   			}
   		});
  	}

 	return false;
 }

 var keydown=function(e){
	clearInterval(usInt);
	keyed=true;

	if(!e)e=window.event;

	if(e.keyCode==13) {
		btnsubmit();
	}
 }

 var onmousedown=function(e){
 	var whdr=$('window-header');
	if(!e)e=window.event;
	whdr.onmousemove=moveBox;
	whdr.onselectstart=cancelSelection;
	whdr.parentNode.X=e.clientX;
	whdr.parentNode.Y=e.clientY;
//	return killEvent(e);
 }

 var onmouseup=function(){
 	var whdr=$('window-header');
	whdr.onmousemove=null;
	whdr.onselectstart=null;
 }


 var moveBox=function(e){
 	var whdr=$('window-header');

	if(!e)e=window.event;
	var deltaX=whdr.parentNode.X-e.clientX;
	var deltaY=whdr.parentNode.Y-e.clientY;
	whdr.parentNode.X=e.clientX;
	whdr.parentNode.Y=e.clientY;
	whdr.parentNode.style.left=whdr.parentNode.offsetLeft-deltaX;
	whdr.parentNode.style.top=whdr.parentNode.offsetTop-deltaY;
 }

 var cancelSelection=function(e){
	if(!e)e=window.event;
	return killEvent(e);
 }

 var killEvent=function(e){
	if(e){stopPropagation(e);preventDefault(e);}
	return false;
 }

 function stopPropagation(e){
	if(!e)e=window.event;
	if(e){if(e.stopPropagation)e.stopPropagation();else e.cancelBubble=true;}
 }

 function preventDefault(e){
	if(!e)e=window.event;
	if (e){if(e.preventDefault)e.preventDefault();else e.returnValue=false;}
 }
