function CtXMLHttpRequest(){if(window.XMLHttpRequest){req=new XMLHttpRequest();this.browsertype="moz"}else{req=new ActiveXObject("Microsoft.XMLHTTP");this.browsertype="ie"}this.reqobject=req;this.onreadystatechangefunctionname="void();"}CtXMLHttpRequest.prototype.SetOnreadystatechange=function(a){this.reqobject.onreadystatechange=a};CtXMLHttpRequest.prototype.open=function(f,c,a,e,b){if(this.browsertype=="ie"){var d=Math.random(1000);c+="&ie_nocache_random_param"+d+"="+d}this.reqobject.open(f,c,a,e,b)};CtXMLHttpRequest.prototype.openCorePublishService=function(b,a,f,e){var d=b+"?service="+a+"&responseformat="+f;if(typeof(ctCgiAntiCSRFTokenUrlpart)!="undefined"){d+="&"+ctCgiAntiCSRFTokenUrlpart}if(e){for(var c in e){d+="&"+c+"="+e[c]}}this.open("GET",d,true);this.send()};CtXMLHttpRequest.prototype.send=function(a){this.reqobject.send(a)};CtXMLHttpRequest.prototype.getReadyState=function(){return this.reqobject.readyState};CtXMLHttpRequest.prototype.isReadyToProcess=function(){if(this.reqobject.readyState==4&&this.hasError()==false){return true}else{return false}};CtXMLHttpRequest.prototype.hasError=function(){if(this.getStatus()!=200&&this.getReadyState()==4){return true}else{return false}};CtXMLHttpRequest.prototype.getErrorString=function(){if(this.hasError()==false){return""}else{switch(this.getStatus()){case"404":return"the page requested could not be found. Check the url to the service";break;case"500":default:return"An internal service error occurred.";break}}return""};CtXMLHttpRequest.prototype.getStatus=function(){try{return this.reqobject.status}catch(a){return 200}};CtXMLHttpRequest.prototype.getStatusText=function(){return this.reqobject.statusText};CtXMLHttpRequest.prototype.getResponseText=function(){return this.reqobject.responseText};CtXMLHttpRequest.prototype.getResponseXML=function(){return this.reqobject.responseXML};CtXMLHttpRequest.prototype.abort=function(){return this.reqobject.abort};CtXMLHttpRequest.prototype.getAllResponseHeaders=function(){return this.reqobject.getAllResponseHeaders()};CtXMLHttpRequest.prototype.getResponseheader=function(a){return this.reqobject.getResponseheader(a)};CtXMLHttpRequest.prototype.setRequestHeader=function(a,b){return this.reqobject.setRequestHeader(a,b)};
