var xmlhttp = false;

if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
	xmlhttp = new XMLHttpRequest();
}

var busy = false;

function doXMLHTTPAction(ResponseHandler, URL) {
  if (!xmlhttp) {
    alert("You must be able to use XMLHTTP for this function.");
    return false;
  }
  
  if (busy == true) {
    alert("Waiting for another action to finish..");
  }

  try {
    busy = true;
    xmlhttp.open("GET", URL);
    xmlhttp.setRequestHeader("Cache-Control", "max-age=1");
    xmlhttp.onreadystatechange = function() {
      if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
        ResponseHandler(xmlhttp.responseText, URL);
      }
    }
    xmlhttp.send(null);
  }
  catch (e) {
    alert("Failed to process XMLHTTPRequest:\nURL: "+URL+"\nMessage: " + e.message);
  }
  busy = false;
  
  return true;
}