var currentDiv = "";
var topHeading = "";
var queAllow = true;
var queBool = new Array(10);
var queUrl = new Array(10);
var queDivID = new Array(10);
for (var i = 0; i < 10; i++) {
  queBool[i] = false;
  queUrl[i] = "";
  queDivID[i] = "";
}
 function loadPage(url,divID) {
   //Add a random variables to the url, this is a hack to prevent caching as IE tends to be unpredictable. The url is made unique by adding a random variable.
  if( url.indexOf("?") == -1){
   url+="?RandomVariable="+Math.floor(Math.random()*9999);
  }else{
   url+="&RandomVariable="+Math.floor(Math.random()*9999);
  }
  
  if (queAllow == true) {
    queAllow = false
    currentDiv = divID
    xmlHttp = new GetXmlHttpObject()
    if (xmlHttp==null) {
      alert ("Browser does not support HTTP Request")
      return
    }
    xmlHttp.onreadystatechange=stateChanged

    xmlHttp.open("GET",url,true)
    xmlHttp.send(null)
  } else {
    i = 0;
    while (queBool[i] == true) {
      i++;
    }
    queAllow = false
    queBool[i] = true
    queUrl[i] = url
    queDivID[i] = divID
  }
}
function stateChanged() {
  if (xmlHttp.readyState==1) {
  }
  if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") {

   if( currentDiv != '' ){
    document.getElementById(currentDiv).innerHTML=xmlHttp.responseText
   }
    
    queAllow = true
    i = 0;
    while (queBool[i] == false) {
      i++;
    }
    if (queBool[i]==true) {
      queBool[i] = false
      loadPage(queUrl[i],queDivID[i])
      queUrl[i] = ""
      queDivID[i] = ""
    }
  }
}

function GetXmlHttpObject(handler) {
  var objXMLHttp = null
  if (window.XMLHttpRequest) {
    objXMLHttp = new XMLHttpRequest()
  }
  else if (window.ActiveXObject) {
    objXMLHttp = new ActiveXObject("Microsoft.XMLHTTP")
  }
  return objXMLHttp
}


