var currentDiv = "";
var topHeading = "";
var queAllow = true;
var queBool = new Array(10);
var queUrl = new Array(10);
var queDivID = new Array(10);
var xmlHttp;
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  ){

    //currentDiv.innerHTML=xmlHttp.responseText;
    //Append new Javascript
var elem = currentDiv;
var newSpan = document.createElement('span');
newSpan.id = elem.id;
newSpan.innerHTML = xmlHttp.responseText;

for (var i = 0; i < currentDiv.childNodes.length; i++) {
   var n = currentDiv.childNodes[i]
   n.parentNode.removeChild(n)
}
currentDiv.appendChild(newSpan);


   if( frames.parent ){ //If it's in an Iframe then add the javascript to the parent window so that it will fire
      var h = frames.parent.document.getElementsByTagName('head')[0];
   }else{
    var h = document.getElementsByTagName('head')[0];

   }

    var scripts = currentDiv.getElementsByTagName('script');
    var ScriptsTotal = document.getElementsByTagName('script');

    var FoundJscript=0;


        for (var i = 0; i < scripts.length; i++) {
        FoundJscript=0;
        var s = scripts[i];

        if( s.innerHTML ){
         /* for(var j=0;j<ScriptsTotal.length;j++){

                  if (s.innerHTML) {
                  //Check if it doesn't already exists

                          if( ScriptsTotal[j].innerHTML == s.innerHTML ){
                              FoundJscript=1;
                              break;
                          }


                  }
          }   */

          //if(FoundJscript==0){

           var x = document.createElement('script');
           x.text = s.innerHTML;

           h.appendChild(x);
           h.removeChild(x);
          //}
        }
        }
   }

    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
}

function AppendJS(Item){
  //If it's in an Iframe then add the javascript to the parent window so that it will fire
      var h = frames.parent.document.getElementsByTagName('head')[0];


    var scripts = Item.getElementsByTagName('script');
    for (var i = 0; i < scripts.length; ++i) {
        var s = scripts[i];
        if (s.innerHTML) {
           var x = document.createElement('script');
           x.innerHTML = s.innerHTML;
           h.appendChild(x);
           h.removeChild(x);
        }
  }
}





