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