function Ajax()
{
  var http_request = false;
  //var _datareturn='';//data return
  var _postvalue='';//get data from form value
  var _method='';//get or post
  var _url='';//url address
  var _responsetype='';//text or xml
  var _formobject;//form id
  var _documentid='';//get document id
  
  function setMethod(setValue){
   _method=setValue;
   return false;
  }
  this.setMethod=setMethod;
  
  function setUrl(setValue){
   _url=setValue;
  }
  this.setUrl=setUrl;
  
  function setResponseType(setValue){
   _responsetype=setValue;
  }
  this.setResponseType=setResponseType;
  
  function setDocumentId(setValue){
   _documentid=setValue;
  }
  this.setDocumentId=setDocumentId;
  
  function setFormObject(setValue){
   _formobject=setValue;
  }
  this.setFormObject=setFormObject;
  
  function createRequest()
  {
    http_request = false ;
    if (window.XMLHttpRequest) 
    { // Mozilla, Safari ,...
       http_request = new XMLHttpRequest();
       if (http_request.overrideMimeType) 
       {
         http_request.overrideMimeType('text/xml');
         // See note below about this line
       }
    } 
    else 
       if (window.ActiveXObject) 
       { // IE
         var aVersions = [ "MSXML2.XMLHttp.6.0", 
         "MSXML2.XMLHttp.5.0", 
         "MSXML2.XMLHttp.4.0", 
         "MSXML2.XMLHttp.3.0", 
         "Microsoft.XMLHTTP" ];
         for (var i = 0; i < aVersions.length; i++) 
         {
           try 
           { 
              http_request = new ActiveXObject(aVersions[ i ]);
              break;
           }
           catch (e)
           {
              // Do nothing 
           } 
          }//end for
        }//end if window.ActiveXObject
        if (!http_request) 
        {
          alert ('Giving up :( Cannot create an XMLHTTP instance');
          return false;
        }
     
     var timestamp = new Date();
     var uniqueURI = _url+ (_url.indexOf("?") > 0 ? "&" : "?")+ "timestamp="+ 
            timestamp.getTime();
     
     if(_method=="get")
     {
      http_request.open('GET', uniqueURI, true);
      http_request.onreadystatechange = handleResponse;
      http_request.send(null);
     }
    else
     {
      if(!_formobject)return false;
      for(i = 0; i < _formobject.length; i++)
      {
        if (_postvalue.length) _postvalue += '&';
        switch(_formobject.elements[i].type)
        {
          case "text":
           _postvalue += _formobject.elements[i].name + '=' +   
                   encodeURI(_formobject.elements[i].value);
          break;
          case "password":
           _postvalue += _formobject.elements[i].name + '=' + 
                   encodeURI(_formobject.elements[i].value);
          break;
          case "textarea":
           _postvalue += _formobject.elements[i].name + '=' + 
                   encodeURI(_formobject.elements[i].value);
          break;
          case "hidden":
           _postvalue += _formobject.elements[i].name + '=' + 
                  encodeURI(_formobject.elements[i].value);
          break;
          case "select-one":
           if(_formobject.elements[i].selectedIndex>=0)
           {
            _postvalue += _formobject.elements[i].options[_formobject.elements[i].
                    selectedIndex-1].value;
          }
          break;
         }//end switch
     }//end for
      http_request.open('POST', uniqueURI, true);
      http_request.onreadystatechange = handleResponse;
      http_request.setRequestHeader('Content-Type', 
             'application/x-www-form-urlencoded');
      http_request.send(_postvalue);
      for(i = 0; i < _formobject.length; i++)
       {
      if((_formobject.elements[i].type=="text")||
       (_formobject.elements[i].type=="textarea")||
       (_formobject.elements[i].type=="hidden")||
       (_formobject.elements[i].type=="password"))
       _formobject.elements[i].value="";
       }
       
     }//end else
  }//end function
  this.createRequest=createRequest;
  


  function handleResponse()
  {
   if (http_request.readyState == 4) 
   {
    if (http_request.status == 200) 
    {
      var docid=new Array();
      var i;
      docid=_documentid.split('~');
      
      if(_responsetype=="text")
      {
       var responsetxt=new Array();
       responsetxt=http_request.responseText.split('|');
       
       for(i=0;i<docid.length;i++)
       {
        document.getElementById(docid[i]).innerHTML=''+responsetxt[i];
       }
      }
      else if(_responsetype=="xml")
       alert(http_request.responseXML);
   
    } else alert('There was a problem with the request.');
   }//else alert('There was a problem with the request '+http_request.readyState);
   return false;
  }//end function
 }//end class
 
 function doRequest(urladdress, documentid, formobject){
  try
  {
   var obj=new Ajax();
   obj.setMethod('get');
   obj.setUrl(urladdress);
   obj.setResponseType('text');
   obj.setDocumentId(documentid);
   if(formobject)
   {
    obj.setFormObject(formobject);
   }
   obj.createRequest();
   }
 catch(ex)
    {
      alert(ex.message);
    }
 } 

function ajax(path,htmid)
{
	document.getElementById(htmid).innerHTML = "<img src='images/loading.gif'> <font style='font-size:11px;color:#FF0000;font-family:tahoma,arial,verdana'>Loading ...</font>";
	doRequest(path,htmid);
}