// http://developer.apple.com/internet/webcontent/xmlhttpreq.html
var req;
var xmlDocLoading;
var xmlDocLoaded;
var xmlDocComplete;
var xmlDocLoadError;

function loadXMLDoc(url,content) {
    // branch for native XMLHttpRequest object
    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
        req.onreadystatechange = processReqChange;
        req.open("POST", url, true);
        req.send(content);
    // branch for IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
            req.onreadystatechange = processReqChange;
            req.open("POST", url, true);
            req.setRequestHeader("Content-Type","text/xml");
            req.send(content);
        }
    }
}

// 0 = uninitialized
// 1 = loading
// 2 = loaded
// 3 = interactive
// 4 = complete
function processReqChange(){
  var thefunc;
  switch (req.readyState){
   case 1 : thefunc = xmlDocLoading; break; // Loading
   case 2 : thefunc = xmlDocLoaded; break; // Loaded
   case 4 : if(req.status == 200)
         thefunc = xmlDocComplete;
       else
         thefunc = xmlDocLoadError;
       break;
   default: // do nothing;
  }
  if(thefunc) thefunc(req);
}

