function createAjaxCtrl ()
{
  
  var XMLHttpRequestObject = false;
  
  if (window.XMLHttpRequest) 
  {
    XMLHttpRequestObject = new XMLHttpRequest();
  }
  else if (window.ActiveXObject)
  {
    XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
  }
  
  return XMLHttpRequestObject;
  
}


function HttpRequest ()
{
  var
    _this = this;

  this.response = false;
  
  if (window.XMLHttpRequest) 
    this.request = new XMLHttpRequest();
  else if (window.ActiveXObject)
    this.request = new ActiveXObject("Microsoft.XMLHTTP");

  this.handle = function(request)
  {
    if(this.request) 
    {
      var 
        mytime= "ms=" + new Date().getTime();
    
      var
        token = '&';
      
      if (request.indexOf('?')<0 )
        token = '?';
    
      this.request.open("GET", request+token+mytime);
      
      var
        _request = this.request,
        _responseF = this.response,
        _this = this;
      
      this.request.onreadystatechange = function ()
      {
        if (_request.readyState == 4 && _request.status == 200) 
          _responseF(_this);

        if ( request.readyState == 4 )
        {
          request.onreadystatechange = function() { };
        } 

      }

      this.request.send(null);
    }
    else
      alert('no HttpRequest');
  }
  
  this.writeHTML = function()
  {
//    alert('writing '+_this.request.responseText+' in tag '+_this.tag);
    if(myGetElementById(_this.tag))
      myGetElementById(_this.tag).innerHTML = _this.request.responseText;
  }
  
  function redirect()
  {
    if ( _this.request.responseText == "ACC_UPDATED")
      redirectToSelf();
  }
  
  this.destroy = function()
  {
    this.request  = null;
    this.response = null;
    this.tag      = null;
    this.handle   = null;
    
  }
}

/*
function getConferenceParticipants(dataSource, divID)
{
  var
    XMLHttpRequestObject = createAjaxCtrl ();
  
  if(XMLHttpRequestObject) 
  {
    var obj = myGetElementById(divID);
    XMLHttpRequestObject.open("GET", dataSource);

    // this is executed each time the AJAX object receives data 
    XMLHttpRequestObject.onreadystatechange = function()
    {
      if (XMLHttpRequestObject.readyState == 4 &&
      XMLHttpRequestObject.status == 200) 
      {
        obj.innerHTML = XMLHttpRequestObject.responseText;
      }
    }    
    XMLHttpRequestObject.send(null);
  }
  else
    alert('no XMLHttpRequestObject');
}
*/
