var jah_inuse = new Array(); var jah_queue = new Array(); var jah_busy = new Array(); function jah(url,target) { if(jah_inuse[0] == 1){ jah_put_in_queue(url,target); }else{ // native XMLHttpRequest object document.getElementById('JahStatus').innerHTML = 'loading...'; jah_inuse[0]=1; jah_busy[0] = url+"||"+target; if (window.XMLHttpRequest) { req = new XMLHttpRequest(); req.onreadystatechange = function() {jahDone(target);}; req.open("GET", url, true); req.send(null); // IE/Windows ActiveX version } else if (window.ActiveXObject) { req = new ActiveXObject("Microsoft.XMLHTTP"); if (req) { req.onreadystatechange = function() {jahDone(target);}; req.open("GET", url, true); req.send(); } } } } function jahDone(target) { // only if req is "loaded" if (req.readyState == 4) { // only if "OK" if (req.status == 200) { results = req.responseText; document.getElementById(target).innerHTML = results; document.getElementById('JahStatus').innerHTML = ''; } else { document.getElementById(target).innerHTML="jah error: " + req.statusText; document.getElementById('JahStatus').innerHTML = "jah error"; } jah_inuse[0]=0; jah_busy[0] = ""; } } function jah_put_in_queue(url,target){ if(!in_array(jah_queue,url+"||"+target) && jah_busy[0]!=url+"||"+target/* ++ */ && !array_box(target) && !jah_busy_box(target)/* ++ */){ document.getElementById('JahStatus').innerHTML = 'pre-loading...'; jah_queue[jah_queue.length]=url+"||"+target if(jah_queue.length > 0){ jah_check_queue() } } } function jah_check_queue(){ if(jah_inuse[0] == 0 && jah_queue.length > 0){ var data = jah_queue[jah_queue.length-1].split("||"); jah(data[0],data[1],data[2]); jah_queue.pop() if(jah_queue.length < 1){ clearTimeout(jah_timing) } } jah_timing = setTimeout("jah_check_queue()", 1) } function in_array(array,string){ for(i=0;i