function createXMLHttp()
{
  if(typeof XMLHttpRequest != "undefined")
  {
    return new XMLHttpRequest();
  }
  else if(window.ActiveXObject)
  {
    var aVersion = [ "MSXML2.XMLHttp.5.0",
                     "MSXML2.XMLHttp.4.0",
                     "MSXML2.XMLHttp.3.0",
                     "MSXML.XMLHttp",
                     "Microsoft.XMLHttp"];
    for (var i = 0; i < aVersion.length; i++)
    {
      try
      {
        var oXmlHttp = new ActiveXObject(aVersion[i]);
        return oXmlHttp;
      }
      catch(oError)
      {
        //Do nothing
      }
    }
  }
  throw new Error("XMLHttp object could not be created");
}

function getInfo(tag_id, uri, onload_handler)
{
  var oXmlHttp = new createXMLHttp();
  oXmlHttp.open("GET", uri, true);
  oXmlHttp.onreadystatechange = function()
  {
    if(oXmlHttp.readyState == 4)
    {
      var cell = document.getElementById(tag_id);

      if(oXmlHttp.status == 200) {
        cell.innerHTML = oXmlHttp.responseText;

        if(onload_handler) {
          onload_handler();
        }
      } else {
        cell.innerHTML = "Failed to retrieve information: " + oXmlHttp.statusText;
      }
    }
  };
  oXmlHttp.send(null);
}
