//``````````````````````````````````````````````````````````````
// AJAX functions
//``````````````````````````````````````````````````````````````
var ajax_http = ajax_getHTTPObject();
var ajax_callback = '';
var ajax_return = '';

function doAjax(url,params,type,callback_func){
	ajax_http.open(type, url + '?' + params, true);
	isWorking = true;
	ajax_callback=callback_func; // set local var to global.
	ajax_http.onreadystatechange = ajax_handleHttpResponse;
	ajax_http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	ajax_http.setRequestHeader("Content-length", params.length);
	ajax_http.setRequestHeader("Connection", "close");
	ajax_http.send(params);
}
function ajax_getHTTPObject() {
	var xmlhttp;
	if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
		try {
			xmlhttp = new XMLHttpRequest();
		}
		catch (e) {
			xmlhttp = false;
		}
	}else if(typeof window.ActiveXObject != 'undefined'){
		xmlhttp = new ActiveXObject('Msxml2.XMLHTTP');
	}
	return xmlhttp;
}
function ajax_handleHttpResponse() {
	if (ajax_http.readyState == 4) {
		ajax_return = ajax_http.responseText;
		eval(ajax_callback);
	}
}