  
  function aObj(url, callbackFunction)
  { var that=this;      
    this.updating = false;
    this.abort = function()
    { if (that.updating)
      { that.updating=false;
        that.AJAX.abort();
        that.AJAX=null;
      }
    }
    
    this.update = function(passData,postMethod)
    { if (that.updating) { return false; }
      that.AJAX = null;                          
      if (window.XMLHttpRequest)      { that.AJAX=new XMLHttpRequest(); }      
      else                            { that.AJAX=new ActiveXObject("Microsoft.XMLHTTP"); }                                             
      if (that.AJAX==null)            { return false; } 
      else
      { that.AJAX.onreadystatechange = function()
        { if (that.AJAX.readyState==4)
          { that.updating=false;                
           that.callback(that.AJAX.responseText,that.AJAX.status,that.AJAX.responseXML);        
           that.AJAX=null;                                        
          }                                                      
        }                                                        
        
        that.updating = new Date();                              
        if (/post/i.test(postMethod))
        { var uri=urlCall+'?'+that.updating.getTime();
          that.AJAX.open("POST", uri, true);
          that.AJAX.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
          that.AJAX.send(passData);
        } 
        else 
        { var uri=urlCall+'?'+passData+'&timestamp='+(that.updating.getTime()); 
          that.AJAX.open("GET", uri, true);                             
          that.AJAX.send(null);                                         
        }              
        return true;                                             
      }                                                                           
    }
    var urlCall = url;        
    this.callback = callbackFunction || function () { };
  }
  
  /*****************************************************************************
    
                               HOW TO USE THIS STUF
  
  ******************************************************************************                       
  
    function fin(responseTxt,responseStat)
    { alert(responseStat+' - '+responseTxt);
    }
    
    var test1 = new aObj('http://someurl.com/server.cgi',fin);
        test1.update();
                    
    var test2 = new ajaxObject('http://someurl.com/program.php',fin);
        test2.update('id=user4379');
                    
    var test3 = new ajaxObject('http://someurl.com/prog.py');
        test3.callback = function (responseTxt, responseStat)
                        { document.getElementById('someDiv').innerHTML=responseTxt;
                        }
        test3.update('coolData=47&userId=user49&log=true'); 
                    
    var test4 = new ajaxObject('http://someurl.com/postit.cgi');
        test4.update('coolData=47&userId=user49&log=true','POST');  
        
  */

