function setcookie(name, value, expires, path, domain, secure) {  
    
    expires instanceof Date ? expires = expires.toGMTString() : typeof(expires) == 'number' && (expires = (new Date(+(new Date) + expires * 1e3)).toGMTString());
    var r = [name + "=" + escape(value)], s, i;
    for(i in s = {expires: expires, path: path, domain: domain}){
        s[i] && r.push(i + "=" + s[i]);
    }
    return secure && r.push("secure"), document.cookie = r.join(";"), true;
    
}

function str_replace ( search, replace, subject ) { 
 
    if(!(replace instanceof Array)){
        replace=new Array(replace);
        if(search instanceof Array){//If search    is an array and replace    is a string, then this replacement string is used for every value of search
            while(search.length>replace.length){
                replace[replace.length]=replace[0];
            }
        }
    }
 
    if(!(search instanceof Array))search=new Array(search);
    while(search.length>replace.length){//If replace    has fewer values than search , then an empty string is used for the rest of replacement values
        replace[replace.length]='';
    }
 
    if(subject instanceof Array){//If subject is an array, then the search and replace is performed with every entry of subject , and the return value is an array as well.
        for(k in subject){
            subject[k]=str_replace(search,replace,subject[k]);
        }
        return subject;
    }
 
    for(var k=0; k<search.length; k++){
        var i = subject.indexOf(search[k]);
        while(i>-1){
            subject = subject.replace(search[k], replace[k]);
            i = subject.indexOf(search[k],i);
        }
    }
 
    return subject;
 
}

var hello;
var hellox;
var minimal;

function ShowMH(w)
{
	hello.style.width = w + 'px';
	hello.style.marginLeft = -w + 'px';
	hellox.style.width = w + 'px';
	hellox.style.marginLeft = -w + 'px';
}

function ShowMsgHellow()
{
	hello = document.getElementById('msgh');
	hellox = document.getElementById('msghx');
	hello.style.display = 'block';
	hellox.style.display = 'block';
	for (i=11; i<=235; i++)
	{
		eval('setTimeout("ShowMH('+i+')",i*3);');
	}

	httpReqY=createHttpRequest();
    file = '/msg_min_ajax.php?stat=1';
    sendRequestYs(file);						
}

function sendRequestYs(file)
{
    httpReqY.open('get',file);
    httpReqY.send(null);
}




function msgNM(state)
{
	if (state==0)
	{
		minimal.className = 'msgNewX';
	} else
		{
			minimal.className = 'msgNew';
		}
}

function msgNewMessage()
{
	minimal = document.getElementById('mmin');
	minimal.className = 'msgNew';
	x=0;
	for (i=1; i<=64; i++)
	{
		to = i*200;
		eval('setTimeout("msgNM('+x+')",'+to+');');
		x++;
		if (x==2) x=0;
	}
}

var httpReq;
var httpReqX;
var httpReqZ;
var msending=0;

var msg_checking=0;

function createHttpRequest() {

var httpRequest;
var browser = navigator.appName;

if (browser == "Microsoft Internet Explorer") {
httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
} else {
httpRequest = new XMLHttpRequest();
}

return httpRequest;
} 

function sendRequest(file)
{
    httpReq.open('get',file);
    httpReq.onreadystatechange = InsertHistory;
    httpReq.send(null);
}

function msgSendMessage()
{
	txt = document.getElementById('msgArea').value;
	if (txt!='' && msending==0)
	{
		msending = 1;
		httpReq=createHttpRequest();
		txt = str_replace('\n','<br>',txt);
    	file = '/msg_send_ajax.php?msg='+txt;
    	sendRequest(file);			
    }
}

function InsertHistory()
{
	if (httpReq.readyState==4)
    {
		txt = httpReq.responseText;
		if (txt==666)
		{
			document.getElementById('msg_window1').style.display = 'none';
			document.getElementById('msg_window2').style.display = 'none';
			document.getElementById('msg_err1').style.display = 'block';
			document.getElementById('msg_err2').style.display = 'block';
		} else
			{

		x = txt.indexOf('+setcookie');
		txt1 = txt.substring(0,x);
		txt2 = txt.substring(x+1);
		txt = txt1;
			eval(txt2);
		document.getElementById('msgHistory').innerHTML = txt;	
		document.getElementById('msgArea').value = '';
		document.getElementById('msgScrollArea').scrollTop = document.getElementById('msgScrollArea').scrollHeight;
		msending = 0;
		if (msg_checking==0) msgCheckNewMessages();
			}
	} else
		{
			setTimeout('InsertHistory()',100);
		}
}

function sendRequestX(file)
{
    httpReqX.open('get',file);
    httpReqX.onreadystatechange = InsertHistoryX;
    httpReqX.send(null);
}

function msgCheckNewMessages()
{
	if (msg_checking==0) msg_checking=1;
	httpReqX=createHttpRequest();
    file = '/msg_check_ajax.php';
    sendRequestX(file);				
    setTimeout("msgCheckNewMessages()",2000);
}

function InsertHistoryX()
{
	if (httpReqX.readyState==4)
	{
		txt = httpReqX.responseText;
		if (txt==666)
		{
			document.getElementById('msg_window1').style.display = 'none';
			document.getElementById('msg_window2').style.display = 'none';
			document.getElementById('msg_err1').style.display = 'block';
			document.getElementById('msg_err2').style.display = 'block';
		} else
			{
				if (txt!=0)
				{
					document.getElementById('msgHistory').innerHTML = txt;
					document.getElementById('msgScrollArea').scrollTop = document.getElementById('msgScrollArea').scrollHeight;
					if (document.getElementById('mmin').style.display=='block') msgNewMessage();
				}
			}	
	} else
		{
			setTimeout('InsertHistoryX()',100);
		}		
}

function msgCloseMSG()
{
	if (httpReqZ.readyState==4)
	{	
		if (document.getElementById('msgh')) {document.getElementById('msgh').style.display = 'none'; document.getElementById('msghx').style.display = 'none';} 
		document.getElementById('msg_cnf1').style.display = 'none';
		document.getElementById('msg_cnf2').style.display = 'none';;
		if (document.getElementById('msg_window1')) document.getElementById('msg_window1').style.display = 'none';
		if (document.getElementById('msg_window2')) document.getElementById('msg_window2').style.display = 'none';
	} else
		{
			setTimeout('msgCloseMSG()',100);	
		}
			
}

function sendRequestZ(file)
{
    httpReqZ.open('get',file);
    httpReqZ.onreadystatechange = msgCloseMSG;
    httpReqZ.send(null);
}

function msgCloseMessenger()
{
	httpReqZ=createHttpRequest();
    file = '/msg_close_ajax.php';
    sendRequestZ(file);			
}

function msgConfirmCloseMessenger()
{
	document.getElementById('msg_cnf1').style.display = 'block';
	document.getElementById('msg_cnf2').style.display = 'block';;
}

function msgMinimizeMessenger()
{
	httpReqY=createHttpRequest();
    file = '/msg_min_ajax.php?stat=1';
    sendRequestY(file);				
}

function sendRequestY(file)
{
    httpReqY.open('get',file);
    httpReqY.onreadystatechange = msgMinMSG;
    httpReqY.send(null);
}

function msgMinMSG()
{
	if (httpReqY.readyState==4)
	{	
		if (document.getElementById('msgh')) {document.getElementById('msgh').style.display = 'none'; document.getElementById('msghx').style.display = 'none';}
		document.getElementById('mmin').className = 'msgMin';
		document.getElementById('mmin').style.display = 'block';
		if (document.getElementById('msg_cnf1')) document.getElementById('msg_cnf1').style.display = 'none';
		if (document.getElementById('msg_cnf2')) document.getElementById('msg_cnf2').style.display = 'none';;
		if (document.getElementById('msg_window1')) document.getElementById('msg_window1').style.display = 'none';
		if (document.getElementById('msg_window2')) document.getElementById('msg_window2').style.display = 'none';
	} else
		{
			setTimeout('msgMinMSG()',100);	
		}			
}

function msgMaximizeMessenger()
{
	httpReqQ=createHttpRequest();
    file = '/msg_min_ajax.php?stat=0';
    sendRequestQ(file);				
}

function sendRequestQ(file)
{
    httpReqQ.open('get',file);
    httpReqQ.onreadystatechange = msgMaxMSG;
    httpReqQ.send(null);
}

function getClientHeight()
{
  return document.compatMode=='CSS1Compat' && !window.opera?document.documentElement.clientHeight:document.body.clientHeight;
}


function msgNetBook()
{
	scH = getClientHeight();
	
	if (scH<600)
	{
		if (document.getElementById('msg_window1')) document.getElementById('msg_window1').className = 'msgWindowXs';
		if (document.getElementById('msg_window2')) document.getElementById('msg_window2').className = 'msgWindows';
	} else
		{
			if (document.getElementById('msg_window1')) document.getElementById('msg_window1').className = 'msgWindowX';
			if (document.getElementById('msg_window2')) document.getElementById('msg_window2').className = 'msgWindow';
		}	
}
	
function msgMaxMSG()
{
	if (document.getElementById('msgh')) {document.getElementById('msgh').style.display = 'none'; document.getElementById('msghx').style.display = 'none';} 
	if (document.getElementById('mmin')) 
	{
		document.getElementById('mmin').style.display = 'none';
	}
	
	msgNetBook();
	
	document.getElementById('msg_window1').style.display = 'block';
	document.getElementById('msg_window2').style.display = 'block';
	document.getElementById('msgArea').focus();
	document.getElementById('msgScrollArea').scrollTop = document.getElementById('msgScrollArea').scrollHeight;
}

function ctrlEnter(event, formElem) {  
    if((event.ctrlKey) && ((event.keyCode == 0xA)||(event.keyCode == 0xD))) {  
        msgSendMessage();
    }   
 }  
 
 function msgCloseError()
 {
 	document.getElementById('msg_err1').style.display = 'none';
 	document.getElementById('msg_err2').style.display = 'none';
 }

