function http_action(){
  this.http_req=null;
  this.http_url='';
  this.http_parameters='';
  this.result_container=null;
  
  this.init=function(){
    // Mozilla, Safari,...
    if(window.XMLHttpRequest){
      this.http_req=new XMLHttpRequest();
      if(this.http_req.overrideMimeType){
        // set type accordingly to anticipated content type
        //http_request.overrideMimeType('text/xml');
        this.http_req.overrideMimeType('text/http');
      }
    }
    else if(window.ActiveXObject){
      // IE
      try{
        this.http_req=new ActiveXObject("Msxml2.XMLHTTP");
      }catch(e){
        try{
          this.http_req=new ActiveXObject("Microsoft.XMLHTTP");
        }catch(e){}
      }
    }
    if(!this.http_req){
      alert('Cannot create XMLHTTP instance');
      return false;
    }
  }
  
  this.send_post=function(url,parameters,container){
    this.http_url=url;
    this.http_parameters=parameters;
    this.result_container=container;
    
    if(!this.parameters)
      this.http_parameters='?http_active=1';
    else
      this.http_parameters+='&http_active=1';
    
    this.init();
    var self=this;
    
    this.show_progress();
    
    this.http_req.onreadystatechange=function(){
      if(self.http_req.readyState==4){
        result=self.http_req.responseText;
        document.getElementById(self.result_container).innerHTML=result;            
      }
    };
    this.http_req.open('POST',this.http_url,true);
    this.http_req.setRequestHeader("Content-type","application/x-www-form-urlencoded");
    this.http_req.setRequestHeader("Content-length",this.http_parameters.length);
    this.http_req.setRequestHeader("Connection", "close");
    this.http_req.send(this.http_parameters.parameters);
  }
  
  this.send_get=function(url,parameters,container){
    this.http_url=url;
    this.http_parameters=parameters;
    this.result_container=container;
    
    if(!this.parameters)
      this.http_parameters='?http_active=1';
    else
      this.http_parameters+='&http_active=1';
    
    this.init();
    var self=this;
    
    this.show_progress();
    
    this.http_req.onreadystatechange=function(){
      if(self.http_req.readyState==4){
        result=self.http_req.responseText;
        document.getElementById(self.result_container).innerHTML=result;            
      }
    };
    this.http_req.open('GET',this.http_url+this.http_parameters,true);
    this.http_req.send(null);
  }
  
  this.show_progress=function(){
    var image='<center><img border="0" src="'+system_root+
      'include/modules_js/http_action/images/progress.gif"></center>';
    document.getElementById(this.result_container).innerHTML=image; 
  }
}
