
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;
net.ContentLoader=function(url,method,requestParams,onload,onerror){
  this.url=url;
  this.req=null;
  this.onload=onload;
  this.onerror=(onerror)?onerror:this.defaultError;
  this.requestParams=requestParams;
  this.method=method;   
}
net.ContentLoader.prototype={
  loadXMLDoc:function()
  {
    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);
        }
        if(this.method=='GET'){
          if(this.requestParams.length!=0)
              this.requestParams = '?'+this.requestParams;
          this.req.open(this.method,this.url+this.requestParams,true); 
          this.req.setRequestHeader("Cache-Control","no-cache");    
          this.req.send(null);                
        }else{
         this.req.open(this.method,this.url,true); 
         this.req.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
         this.req.send(this.requestParams);                
        }
      }
      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){
       this.onload.call(this);
     }else{
       this.onerror.call(this);
     }
    }
  },
  defaultError:function(){
    alert("error occured");
  }
}