rendered paste body// Wait for something before to be ready
var readiness = "yes";
function waitForReadiness(nextFn) {
if(readiness == "yes") {
nextFn();
} else {
setTimeout(waitForReadiness(nextFn), 500);
}
}
// open/close module
function moduleOpenClose(moduleName, type) {
var ctid = moduleName + 'ct';
if(document.getElementById(ctid).style.display == "block" && type != 'open') {
setModuleStatus(moduleName, 'false');
document.getElementById(ctid).style.display = 'none';
} else {
progressTurnOn(moduleName);
for(fnName in fnNames[moduleName]) {
readiness = "no";
if(fnNames[moduleName][fnName] != fnNames[moduleName][fnNames[moduleName].length - 1]) {
var isitready = "no";
} else {
var isitready = "yes"
}
var fnurl = makeLink('fetch.php?js=mod&module=' + moduleName + '&function=' + fnNames[moduleName][fnName]);
getHTTPResponse(function(xmlhttp) { newFn[fnNames[moduleName][fnName]] = eval(xmlhttp.responseText); readiness = isitready; }, fnurl);
}
var modurl = makeLink('fetch.php?mod=' + moduleName);
var initFn = moduleName + "Init";
getHTTPResponse(function(xmlhttp) { XMLToInnerHTML(ctid, '', xmlhttp); document.getElementById(ctid).style.display = 'block'; progressTurnOff(moduleName); }, modurl);
setModuleStatus(moduleName, 'true');
waitForReadiness(newFn[initFn]);
}
}