function AjaxWorker(remoteTarget, customRequestHandler) { this.sendRequest = sendRequest; this.createRequestObject = createRequestObject; this.remoteTarget = remoteTarget; this.customRequestHandler = customRequestHandler; this.requestHandler = requestHandler; this.http = createRequestObject(); } function createRequestObject() { if (navigator.appName == "Microsoft Internet Explorer") { return new ActiveXObject("Microsoft.XMLHTTP"); } else { return new XMLHttpRequest(); } } function requestHandler () { if(this.http.readyState == 4) { this.custumRequestHandler(); } } function sendRequest(reqParams) { this.http.open('get', this.remoteTarget + "?" + reqParams); this.http.onreadystatechange = this.requestHandler; this.http.send(null); }