function httpreq()
{
  var ret;

  try
  {
    ret = new ActiveXObject("Msxml2.XMLHTTP");
  }

  catch (e)
  {
    try
    {
      ret = new ActiveXObject("Microsoft.XMLHTTP");
    }

    catch (e)
    {
      ret = null;
    }
  }

  if ((!ret) && typeof XMLHttpRequest != "undefined")
  {
    ret = new XMLHttpRequest();
  }

  return ret;
}

function get(url, element)
{
  var req;
  
  document.getElementById(element).innerHTML = "Bringing you content.";
  req = new httpreq();

  req.onreadystatechange = function()
  {
    document.getElementById(element).innerHTML = "Waiting for content.";
    if (req.readyState == 4)
    {
      if (req.status == 200)
        document.getElementById(element).innerHTML = req.responseText;
      else
        document.getElementById(element).innerHTML = "Error: " + req.status + ": " + req.statusText;
    }
  };

  req.open("GET", url, true);
  req.send(null);
}

function post(url, data, element)
{
  var req;

  document.getElementById(element).innerHTML = "Posting.";
  req = new httpreq();

  req.onreadystatechange = function()
  {
    document.getElementById(element).innerHTML = "Waiting for content.";
    if (req.readyState == 4)
    {
      if (req.status == 200)
        document.getElementById(element).innerHTML = req.responseText;
      else
        document.getElementById(element).innerHTML = "Error: " + req.status + ": " + req.statusText;
    }
  };

  req.open("POST", url, true);
  req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  req.send(data);
}

function postform(name, element)
{
  var form, entries, x, y;
  var data;

  form = document.forms[name];
  entries = new Array();

  for (x = 0; x < form.elements.length; x++)
  {
    if (form.elements[x].type == "select-one")
    {
      //y = new Object();
      //y.name = form.elements[x].name;
      //y.value = form.elements[x].value;
      //entries.push(y);
      data = form.elements[x].name + "=" + form.elements[x].value;
    }
  }

  post(form.action, data, element);
  //post(form.action, entries);
}
