var fieldname = 'chat';
var last_time = 0;
var xmlHttp = http_object();
var type = 'receive';
var read_interval = 15000;
var interval = setInterval('handle_send("read", last_id);', read_interval);

function handle_send(mode, f)
{
	if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
	{
		indicator_switch('on');
		type = 'receive';
		param = 'mode=' + mode;	
		param += '&last_id=' + last_id;
		param += '&last_time=' + last_time;			
		param += '&last_post=' + post_time;			
		param += '&read_interval=' + read_interval;			

		if (mode == 'add' && document.getElementById('message').value != '')
		{
			type = 'send';
			for(var i = 0; i < f.elements.length; i++)
			{ 
				elem = f.elements[i]; 
				param += '&' + elem.name + '=' + encodeURIComponent(elem.value); 
			}
			document.getElementById('message').value = '';
		}
		else if (mode == 'delete')
		{
			type = 'delete';
			param += '&chat_id=' + f;
		}
		xmlHttp.open("POST", root + "forums/chat.php", true);
		xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		xmlHttp.onreadystatechange = handle_return;
		xmlHttp.send(param);
	}
}

function handle_return()
{
	if (xmlHttp.readyState == 4)
	{
		if (type != 'delete')
		{
			results = xmlHttp.responseText.split('---');
			if (results[1])
			{
				if (last_id == 0)
				{
					document.getElementById(fieldname).innerHTML = results[0];
				}
				else
				{
					document.getElementById(fieldname).innerHTML = results[0] + document.getElementById(fieldname).innerHTML;
				}
				last_id = results[1];
				if (results[2])
				{
					document.getElementById('whois_online').innerHTML = results[2];
					last_time = results[3];
					if (results[4] != read_interval * 1000)
					{
						window.clearInterval(interval);
						read_interval = results[4] * 1000;
						interval = setInterval('handle_send("read", last_id);', read_interval);
						document.getElementById('update_seconds').innerHTML = results[4];
					}
					post_time = results[5];
				}
			}
		}
		indicator_switch('off');
	}
}

function delete_post(chatid)
{
	document.getElementById('p' + chatid).style.display = 'none';
	handle_send('delete', chatid);
}

function indicator_switch(mode)
{
	if(document.getElementById("act_indicator"))
	{
		var img = document.getElementById("act_indicator");	
		if(img.style.visibility == "hidden" && mode == 'on') 
		{
			img.style.visibility = "visible";
		}
		else if (mode == 'off')
		{
			img.style.visibility = "hidden"
		}	
	}
}

function http_object()
{
	if (window.XMLHttpRequest)
	{
		return new XMLHttpRequest();
	}
	else if(window.ActiveXObject)
	{
		return new ActiveXObject("Microsoft.XMLHTTP");
	}
	else
	{
		document.getElementById('p_status').innerHTML = 'Status: Cound not create XmlHttpRequest Object.  Consider upgrading your browser.';
	}
}