// JavaScript Documentfunction ajax(){   //---------------------   // Private Declarations   //---------------------   var _request = null;   var _this = null;	   //--------------------   // Public Declarations   //--------------------   this.GetResponseXML = function()   {      return (_request) ? _request.responseXML : null;   }	   this.GetResponseText = function()   {      return (_request) ? _request.responseText : null;   }	   this.GetRequestObject = function()   {      return _request;   }	   this.InitializeRequest = function(Method, Uri)   {      _InitializeRequest();      _this = this;		      switch (arguments.length)      {         case 2:            _request.open(Method, Uri);            break;				         case 3:            _request.open(Method, Uri, arguments[2]);            break;      }		      if (arguments.length >= 4) 	  	_request.open(Method, Uri, arguments[2], arguments[3]);		      this.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");   }	   this.SetRequestHeader = function(Field, Value)   {      if (_request) _request.setRequestHeader(Field, Value);   }	   this.Commit = function(Data)   {      if (_request) _request.send(Data);   }	   this.Close = function()   {      if (_request) _request.abort();   }	   //---------------------------   // Public Event Declarations.   //---------------------------   this.OnUninitialize = function() { };   this.OnLoading = function() { };   this.OnLoaded = function() { };   this.OnInteractive = function() { };   this.OnSuccess = function() { };   this.OnFailure = function() { };	   //---------------------------   // Private Event Declarations   //---------------------------   function _OnUninitialize() { _this.OnUninitialize(); }   function _OnLoading() { _this.OnLoading(); }   function _OnLoaded() { _this.OnLoaded(); }   function _OnInteractive() { _this.OnInteractive(); }   function _OnSuccess() { _this.OnSuccess(); }   function _OnFailure() { _this.OnFailure(); }   //------------------   // Private Functions   //------------------   function _InitializeRequest()   {      _request = _GetRequest();      _request.onreadystatechange = _StateHandler;   }	   function _StateHandler()   {      switch (_request.readyState)      {         case 0:            window.setTimeout("void(0)", 100);            _OnUninitialize();            break;				         case 1:            window.setTimeout("void(0)", 100);            _OnLoading();            break;				         case 2:            window.setTimeout("void(0)", 100);            _OnLoaded();            break;			         case 3:            window.setTimeout("void(0)", 100);            _OnInteractive();            break;				         case 4:            if (_request.status == 200)               _OnSuccess();            else               _OnFailure();					            return;            break;      }   }   function _GetRequest()   {      var obj;		      try      {         obj = new XMLHttpRequest();      }      catch (error)      {         try         {            obj = new ActiveXObject("Microsoft.XMLHTTP");         }         catch (error)         {            return null;         }      }      return obj;   }}
