
var ajax_object;
var ajax_func;
var ajax_response;

function ajax_init()
{
	if (window.XMLHttpRequest)
	{
	  	ajax_object = new XMLHttpRequest();
	}
	else
	{
		ajax_object = new ActiveXObject("Microsoft.XMLHTTP");
	}
	ajax_object.onreadystatechange = ajax_finished;
}

function ajax_request(url, data, func)
{
	ajax_init();
	ajax_pending_handler();
	ajax_func = func;
	ajax_object.open("GET", "/" + url + "?sid=" + Math.random() + "&" + data, true);
	ajax_object.send(null);
}

function ajax_finished()
{
	if(ajax_object.readyState != 4) {
		return(false);
	}
	if(ajax_object.status != 200 &&  ajax_object.status != 301) {
		ajax_error_handler(ajaxError + ': ' + ajax_object.statusText + '. ' + ajaxTryAgain);
		return(false);
	}
	ajax_response = eval("(" + ajax_object.responseText + ")");
	if(ajax_response.error)
	{
		ajax_error_handler(ajax_response.error);
	}
	else
	{
		ajax_ok_handler();
		ajax_func(ajax_response);
	}
}

function ajax_null(data)
{
}


