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'); } } }