var lastresponse;
var start = true;

function load()
{
	var xmlHttp;
	
    try
    {
        xmlHttp = new XMLHttpRequest();
    }
    catch (e)
    {
        try
        {
            xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch (e)
        {
            try
            {
                xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch (e)
            {
                alert("Your browser does not support AJAX!");
                return false;
            }
        }
    }
    xmlHttp.onreadystatechange = function()
    {
        if (xmlHttp.readyState == 4)
        {
			if(lastresponse != xmlHttp.responseText)
			{
				lastresponse = xmlHttp.responseText;
				if(document.getElementById("chattext").scrollTop == document.getElementById("chattext").scrollHeight - 660)
				{
					document.getElementById("chattext").innerHTML = lastresponse;
					document.getElementById("chattext").scrollTop = document.getElementById("chattext").scrollHeight - 660;
				}
				else if(start)
				{
					document.getElementById("chattext").innerHTML = lastresponse;
					document.getElementById("chattext").scrollTop = document.getElementById("chattext").scrollHeight - 660;
					start = false;
				}
				else
				{
					document.getElementById("chattext").innerHTML = lastresponse;
				}
			}
        }
    }
    xmlHttp.open("GET", "recvmsg.php?bustcache=" + Math.random(), true);
    xmlHttp.send(null);
}

function send()
{
	var xmlHttp;
	var username = escape(document.getElementById("username").value);
	var message = escape(document.getElementById("message").value);
	message = message.replace("+", "%2B");
	var params = "username=" + username + "&message=" + message;
	
    try
    {
        xmlHttp = new XMLHttpRequest();
    }
    catch (e)
    {
        try
        {
            xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch (e)
        {
            try
            {
                xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch (e)
            {
                alert("Your browser does not support AJAX!");
                return false;
            }
        }
    }
    xmlHttp.onreadystatechange = function()
    {
        if (xmlHttp.readyState == 4)
        {
			if(lastresponse != xmlHttp.responseText)
			{
				lastresponse = xmlHttp.responseText;
				if(document.getElementById("chattext").scrollTop == document.getElementById("chattext").scrollHeight - 660)
				{
					document.getElementById("chattext").innerHTML = lastresponse;
					document.getElementById("chattext").scrollTop = document.getElementById("chattext").scrollHeight - 660;
				}
				else if(start)
				{
					document.getElementById("chattext").innerHTML = lastresponse;
					document.getElementById("chattext").scrollTop = document.getElementById("chattext").scrollHeight - 660;
					start = false;
				}
				else
				{
					document.getElementById("chattext").innerHTML = lastresponse;
				}
			}
        }
    }
    xmlHttp.open("POST", "sendmsg.php?bustcache=" + Math.random(), true);
	xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xmlHttp.setRequestHeader("Content-length", params.length);
	xmlHttp.setRequestHeader("Connection", "close");
    xmlHttp.send(params);
	document.getElementById('message').value = '';
	document.getElementById('message').focus();
	load()
}

function checkModified(url)
{
	var xmlHttp;
	var lastmodified
	
    try
    {
        xmlHttp = new XMLHttpRequest();
    }
    catch (e)
    {
        try
        {
            xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch (e)
        {
            try
            {
                xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch (e)
            {
                alert("Your browser does not support AJAX!");
                return false;
            }
        }
    }
    xmlHttp.onreadystatechange = function()
    {
        if (xmlHttp.readyState == 4)
        {
			if(lastmodified != xmlHttp.getResponseHeader("Last-Modified"))
			{
				lastmodified = xmlHttp.getResponseHeader("Last-Modified")
				load()
			}
        }
    }
    xmlHttp.open("HEAD", "chat.txt", true);
    xmlHttp.send(null);
}

function checkKey(e)
{
	var keynum;
	
	if(window.event)
	{
		keynum = e.keyCode;
	}
	else if(e.which)
	{
		keynum = e.which;
	}
	
	if(keynum == 13)
	{
		send();
	}
}