var fileUrl = 'http://'+document.domain;
var servletUrl = fileUrl+'/via/servlet/dr?';
if (document.domain == 'localhost')
{
	fileUrl += '/dr';
}


function ajaxObject(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,async) 
  { 
    if (that.updating) 
    { 
    	return false; 
    }
    
    if (async == null)
    {
    	async = true;
    }
    
    // Factory XMLHttpRequest
    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, async);
        that.AJAX.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        that.AJAX.setRequestHeader("Content-Length", passData.length);
        that.AJAX.send(passData);
        if (!async && (that.AJAX != null))
        {
        	that.callback(that.AJAX.responseText,that.AJAX.status,that.AJAX.responseXML);        
        }
      } 
      else 
      {
        var uri = urlCall+'?'+passData+'&timestamp='+(that.updating.getTime()); 
        that.AJAX.open("GET", uri, true);                             
        that.AJAX.send(null);                                         
      }              
      return true;                                             
    }                                                                           
  }
  var urlCall = servletUrl;        
  this.callback = callbackFunction || function () { };
}

