var xmlhttp;
var callBackFunction;
function Ajax_CallServerSideFunction(function_name, parameters, callback_function){
Ajax_ShowLoader();
callBackFunction = callback_function;
xmlhttp = CreateXMLHttpRequest(callBack);
var reqUrl;
reqUrl = myAjaxUrl;
var r = Math.random();
var params = "";
params += "ajax_request=true";
params += "&function_name=" + function_name;
params += "¶meters_count=" + parameters.length;
var i;
for(i = 0; i < parameters.length; i++){
params += "&p" + i + "=" + escape(parameters[i]);
}
reqUrl += "?rand=" + escape(r);
// document.write(reqUrl);
// alert(reqUrl);
xmlhttp.open("POST", reqUrl, true);
//Send the proper header information along with the request
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.setRequestHeader("Content-length", params.length);
xmlhttp.setRequestHeader("Connection", "close");
xmlhttp.send(params);
}
function Ajax_ShowLoader() {
var ni = document.body;
var newdiv = document.createElement('div');
var divIdName = 'ajax_loader';
newdiv.setAttribute('id',divIdName);
newdiv.innerHTML = '
';
newdiv.style.position = 'absolute';
newdiv.style.top = document.body.scrollTop + 200 + 'px';
newdiv.style.left = '50%';
newdiv.style.border = '1px solid #999';
ni.appendChild(newdiv);
}
function Ajax_HideLoader(divId) {
var d = document.body;
var olddiv = document.getElementById(divId);
d.removeChild(olddiv);
}
function CreateXMLHttpRequest(handler) {
var agt = navigator.userAgent.toLowerCase();
var is_ie5 = (agt.indexOf('msie 5') != -1);
var xmlhttp = null;
try {
xmlhttp = new XMLHttpRequest();
try {
// Fix for some version of Mozilla browser.
http_request.overrideMimeType('text/xml');
} catch(e) { }
xmlhttp.onload = handler;
xmlhttp.onerror = handler;
} catch(e) {
var control = (is_ie5) ? "Microsoft.XMLHTTP" : "Msxml2.XMLHTTP";
xmlhttp = new ActiveXObject(control);
xmlhttp.onreadystatechange = handler;
}
return xmlhttp;
}
function callBack(){
// alert(xmlhttp.readyState);
if(xmlhttp.readyState == 4){
// alert(xmlhttp.status);
if(xmlhttp.status == 200){
// alert('Response: ' + xmlhttp.responseText);
callBackFunction(xmlhttp.responseText);
Ajax_HideLoader('ajax_loader');
}
}
}