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