/* namespacing object */ 

var 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; 

/*--- content loader object for cross-browser requests ---*/ 

net.ContentLoader=function(url,on_load,on_error,method,params,contentType){ 
this.req=null; 

this.on_load=on_load; 

this.on_error=(on_error) ? on_error : 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) 

{ 

//add try catch; 

try { 

this.req = new ActiveXObject("Msxml2.XMLHTTP"); 

}catch (e1){ 

try { 

this.req = new ActiveXObject("Microsoft.XMLHTTP"); 

} catch (e2){ 

} 

} 

// 

//this.req=new ActiveXObject("Microsoft.XMLHTTP"); 

} 

if (this.req) 

{ 

try 

{ 

var loader=this; 

this.req.onreadystatechange=function() 

{ 

net.ContentLoader.onReadyState.call(loader); 

} 

this.req.open(method,url,true); 

if (contentType) 

{ 

this.req.setRequestHeader('Content-Type', contentType); 

} 

this.req.send(params); 

} 

catch (err) 

{ 

this.on_error.call(this); 

} 

} 

} 

net.ContentLoader.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){ 

this.on_load.call(this); 

}else{ 

this.on_error.call(this); 

} 

} 

} 

net.ContentLoader.prototype.defaultError=function(){ 

alert("error fetching data!" 

+"\n\nreadyState:"+this.req.readyState 

+"\nstatus: "+this.req.status 

+"\nheaders: "+this.req.getAllResponseHeaders()); 

}  
