rendered paste bodyvar net=new Object();
net.READY_STATE_UNINITIALIZED=0;
net.READY_STATE_LOADING=1;
net.READY_STATE_LOADED=2;
net.READY_STATE_INTERACTIVE=3;
net.READY_STATE_COMPLETE=4;
net.ContentLoader=function(url,onload,onerror,method,params,contentType) {
this.url=url;
this.req=null;
this.onload=onload;
this.onerror=(onerror) ? onerror: this.defaultError;
this.loadXMLDoc(url,method,params,contentType);
}
net.ContentLoader.prototype= {
loadXMLDoc:function(url,method,params,contentType) {
if(!method) {
method="GET";
}
if(!contentType && method=="POST")
{
contentType="application/x-www-form-urlencoded";
}
if(window.XMLHttpRequest) {
this.req=new XMLHttpRequest();
} else if (window.ActiveXObject) {
this.req=new ActiveXObject("Microsoft.XmlHttp");
}
if(this.req) {
try {
var loader=this;
this.req.onreadystatechange=function() {
loader.onReadyState.call(loader);
}
this.req.open(method,url,true);
if(contentType) {
this.req.setRequestHeader("Content-Type", contentType);
}
this.req.send(params);
} catch (err) {
this.onerror.call(this);
}
}
},
onReadyState:function() {
var req=this.req;
var ready=req.readyState;
if (ready==net.READY_STATE_COMPLETE) {
var httpStatus=req.status;
if (httpStatus==200 || httpStatus==0) {
if(this.onload != null) {
this.onload.call(this);
}
} else {
this.onerror.call(this);
}
}
},
defaultError:function() {
alert("error fetching data!" + "\n\nreadyState: "+this.req.readyState+"\nstatus: "+this.req.status+"\nheaders: "+this.req.getAllResponseHeaders());
}
}