function GetXmlHttpObject(){ var xmlHttp=null; try { xmlHttp=new XMLHttpRequest(); } catch (e){ try { xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); } catch (e){ xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); } } return xmlHttp; } var xmlreqs = new Array(); var xmlactions = new Array(); var xmlvars = new Array(); var xmldivs = new Array(); function CXMLReq(freed) { this.freed = freed; this.xmlhttp = false; if (window.XMLHttpRequest) { this.xmlhttp = new XMLHttpRequest(); } else if (window.ActiveXObject) { this.xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } } function xmlreqGET(url, theaction, thediv, thevars, ajaxdescription) { requestcount++; var thisrequest = requestcount; var pos = -1; for (var i=0; i < xmlreqs.length; i++) { if (xmlreqs[i].freed == 1) { pos = i; break; } } if (pos == -1) { pos = xmlreqs.length; xmlreqs[pos] = new CXMLReq(1); } xmlactions[pos] = theaction; xmldivs[pos] = thediv; xmlvars[pos] = thevars; if (xmlreqs[pos].xmlhttp) { xmlreqs[pos].freed = 0; xmlreqs[pos].xmlhttp.open("GET",url,true); //xmlreqs[pos].xmlhttp.onerror = function(){ alert('error:'+url); } xmlreqs[pos].xmlhttp.onreadystatechange = function() { if (typeof(xmlhttpChange) != 'undefined') { xmlhttpChange(pos, thisrequest); } } if (window.XMLHttpRequest) { xmlreqs[pos].xmlhttp.send(null); } else if (window.ActiveXObject) { xmlreqs[pos].xmlhttp.send(); } } } function xmlreqPOST(url, data, theaction, thediv, thevars, ajaxdescription) { requestcount++; var thisrequest = requestcount; var pos = -1; for (var i=0; i < xmlreqs.length; i++) { if (xmlreqs[i].freed == 1) { pos = i; break; } } if (pos == -1) { pos = xmlreqs.length; xmlreqs[pos] = new CXMLReq(1); } xmlactions[pos] = theaction; xmldivs[pos] = thediv; xmlvars[pos] = thevars; if (xmlreqs[pos].xmlhttp) { xmlreqs[pos].freed = 0; xmlreqs[pos].xmlhttp.open("POST",url,true); xmlreqs[pos].xmlhttp.onreadystatechange = function() { if (typeof(xmlhttpChange) != 'undefined') { xmlhttpChange(pos, thisrequest); } } xmlreqs[pos].xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); xmlreqs[pos].xmlhttp.send(data); } } function xmlhttpChange(pos, thisrequest) { if (typeof(xmlreqs[pos]) != 'undefined' && xmlreqs[pos].freed == 0 && xmlreqs[pos].xmlhttp.readyState == 4) { if (xmlreqs[pos].xmlhttp.status == 200 || xmlreqs[pos].xmlhttp.status == 304) { handle_response(xmlreqs[pos].xmlhttp.responseText, pos, thisrequest); } else { // nothing } xmlreqs[pos].freed = 1; } else { } }