window.onload = function()
{
	chat = new ajaxObject("chat.php", reloadChat);
	chat.update('chat_get=true', "post");
	setInterval("chat.update('chat_get=true')", 1000);
}

function chatSend(formular)
{
	sendchat = new ajaxObject("chat.php");
	chat_text = encodeURIComponent(formular.chatText.value);
	sendchat.update('chat_send=true&chat_text=' + chat_text, "post");
	formular.chatText.value="";
	formular.chatText.focus();
	formular.chatText.select();
	return (false);
}

function reloadChat(responseText, responseStatus)
{
	chatdiv = document.getElementById('box_chat_text');
	chatdiv.innerHTML = responseText;
}

function ajaxObject(url, callbackFunction)
{
	var that=this;
	this.updating = false;

	this.abort = function()
	{
		if (that.updating)
		{
			that.updating=false;
			that.AJAX.abort();
			that.AJAX=null;
		}
	}

	this.update = function(passData,postMethod)
	{
		if (that.updating) { return false; }

		that.AJAX = null;
		if (window.XMLHttpRequest)
		{
			that.AJAX=new XMLHttpRequest(); 
		}
		else
		{
			that.AJAX=new ActiveXObject("Microsoft.XMLHTTP");
		}

		if (that.AJAX==null)
		{
			return false;
		}
		else
		{
			that.AJAX.onreadystatechange = function()
			{
				if (that.AJAX.readyState==4)
				{
					that.updating=false;
					that.callback(that.AJAX.responseText,that.AJAX.status,that.AJAX.responseXML);
					that.AJAX=null;
				}
			}

			that.updating = new Date();

			if (/post/i.test(postMethod))
			{
				var uri=urlCall+'?'+that.updating.getTime();
				that.AJAX.open("POST", uri, true);
				that.AJAX.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
				that.AJAX.setRequestHeader("Content-Length", passData.length);
				that.AJAX.send(passData);
			}
			else
			{
				var uri=urlCall+'?'+passData+'&timestamp='+(that.updating.getTime()); 
				that.AJAX.open("GET", uri, true);
				that.AJAX.send(null);
			}

			return true;
		}
	}

	var urlCall = url;
	this.callback = callbackFunction || function () { };
}
