  var req;

  function loadXMLDoc(url, divID) {
    //alert("start load xml");
    req = false;
    // branch for native XMLHttpRequest object
    if(window.XMLHttpRequest) {
      try {
        req = new XMLHttpRequest();
      } catch(e) {
        req = false;
      }
      // branch for IE/Windows ActiveX version
    } else if(window.ActiveXObject) {
      //alert("this is IE");
      try {
        req = new ActiveXObject("Msxml.XMLHTTP");
      } catch(e) {
        try {
          //alert("in second try");
          req = new ActiveXObject("Microsoft.XMLHTTP");
        } catch(e) {
          req = false;
          //alert("all failed set to false");
        }
      }
    }
//alert("now getting page");
    if(req) {//I am using SYNCHRONOUS (dangerous) call so I dn't need callback... maybe someday I will figure out how to do this and make it work in asynchronous while using it in the unload function.
      //req.onreadystatechange = processReqChange;
      //var sep = (-1 < url.indexOf("?")) ? "&" : "?";
      //url = url + sep + "__=" + encodeURIComponent((new Date()).getTime());
      req.open("GET", url, false);
//alert("sending request for url " + url);
      req.send("");
    }

//alert( 'finished');
    if ( req.responseText != '' && divID != '' )
    {
        //alert("now setting " + divID);
        document.getElementById(divID).innerHTML=req.responseText;
    }
  }

  function processReqChange() {
    // only if req shows "loaded"
    if (req.readyState == 4) {
     // only if "OK"
      if (req.status == 200) {
        // ...processing statements go here...
        //document.getElementById('serge').innerHTML=req.responseText;
        //document.getElementById('serge').style.display="block";
      } else {
        alert("There was a problem requesting URL:\n" +
        req.statusText);
      }
    }
  }

