function shoutbox_refresh()
{
	if(!this.spinner)
	{
		this.spinner = new ActivityIndicator("body", {image: imagepath + "/spinner_big.gif"});
	}
	new Ajax.Request('xmlhttp.php?action=shoutbox_refresh', {method: 'get', onComplete: function(request) { shoutbox_refresh_handle(request); }});
}

function shoutbox_refresh_handle(request)
{
	if(request.responseText.match(/<error>(.*)<\/error>/))
	{
		message = request.responseText.match(/<error>(.*)<\/error>/);
		if(!message[1])
		{
			message[1] = "An unknown error occurred.";
		}
		if(this.spinner)
		{
			this.spinner.destroy();
			this.spinner = '';
		}
		
		alert(message[1]);
	}
	else if(request.responseText)
	{
		shoutbox = document.getElementById('shoutbox_data');
		shoutbox.innerHTML = request.responseText;
	}
	
	if(this.spinner)
	{
		this.spinner.destroy();
		this.spinner = '';
	}
}

function shoutbox_add()
{
	this.spinner = new ActivityIndicator("body", {image: imagepath + "/spinner_big.gif"});
	
	message = document.getElementById('shoutbox_ajax_message').value;
	postData = "message="+encodeURIComponent(message).replace(/\+/g, "%2B");

	new Ajax.Request('xmlhttp.php?action=shoutbox_add', {method: 'post', postBody: postData, onComplete: function(request) { shoutbox_refresh_handle(request); }});
	
	document.getElementById('shoutbox_ajax_message').value = "";
}

//Control browser for add shout on enter function
NS4 = (document.layers) ? true : false;

function shoutbox_add_enter(event)
{
	var code = 0;
	
	if(NS4)
	{
		code = event.which;
	}
	else if(!!!(window.attachEvent && !window.opera))	//Never use this when running IE
	{
		code = event.keyCode;
	}
	
	if(code==13)
	{
		shoutbox_add();
	}
}
