function AjaxManager() { } AjaxManager.prototype.Execute = function(url, onReadyStateHandler) { var httpRequest = this.GetHttpRequest(); httpRequest.onreadystatechange = onReadyStateHandler; httpRequest.open("GET", url, true); httpRequest.send(null); return httpRequest; } AjaxManager.prototype.IsComplete = function(httpRequest) { if (httpRequest == undefined) { return false; } if (httpRequest.readyState == 4 || httpRequest.readyState == "complete") { return true; } return false; } AjaxManager.prototype.GetHttpRequest = function() { req = null; // branch for native XMLHttpRequest object if(window.XMLHttpRequest) { try { req = new XMLHttpRequest(); } catch(e) { req = null; } // branch for IE/Windows ActiveX version } else if(window.ActiveXObject) { try { req = new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) { try { req = new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) { req = null; } } } return req; }