function ajaxObject(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.setRequestHeader("Content-Length", passData.length);
        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 () { };
}

function GetValue(theObject)
{
	if (theObject.text)
	{
		return theObject.text;
	}
	else if (theObject.textContent)
	{
		return theObject.textContent;
	}
	return null;
}

function html_entity_decode(str) 
{
  var ta = document.createElement("textarea");
  ta.innerHTML = str.replace(/</g,"&lt;").replace(/>/g,"&gt;");
  return ta.value;
}
