/*** AJAX ***/ var ajax_req; // OBJETO XML (ajax) var ajax_result=''; var ajax_external=''; function loadXMLDoc(url) { // branch for native XMLHttpRequest object if (window.XMLHttpRequest) { ajax_req = new XMLHttpRequest(); ajax_req.onreadystatechange = processReqChange; ajax_req.open("GET", url, true); ajax_req.setRequestHeader("Referer", window.location); ajax_req.send(null); // branch for IE/Windows ActiveX version } else if (window.ActiveXObject) { ajax_req = new ActiveXObject("Microsoft.XMLHTTP"); if (ajax_req) { ajax_req.onreadystatechange = processReqChange; ajax_req.open("GET", url, true); ajax_req.send(); } } } // FUNCION Q SE LLAMA EN CADA PETICION AL AJAX function processReqChange() { // only if ajax_req shows "complete" if (ajax_req.readyState == 4) { // si "OK" if (!ajax_req.status || (ajax_req.status == 200)) { // si anda todo bien, proceso... if (ajax_reading) { //cargo el resultado de la url ajax_result=ajax_req.responseText; } else { ajax_result='ERROR:busy'; } } else { ajax_result='ERROR:'+ajax_req.statusText; } ajax_reading = false; if (ajax_external!='') eval(ajax_external); } return false; } var ajax_reading = false; // SEMAFORO! function LoadURL(url, external) { ajax_reading = true; ajax_result=''; var d = new Date() var uID = '' + d.getDate()+d.getMonth() +1+d.getFullYear()+d.getHours()+d.getMinutes()+d.getSeconds()+Math.random(); if (url.indexOf('?')>0) url = url+'&uID='+uID; else url = url+'?uID='+uID; // Add the session pid url = url + "&PHPSESSID=b94ddd4c97a9ae800d9312b9b2ea49e2"; ajax_external=external; try { loadXMLDoc(url); } catch (e) { ajax_result = "ERROR:not connected"; } return ajax_result; } var variables; var layerObject, layerDir; var layerHTML; var layerScripts; var layerLoadList; var layerLoadListParams; // GET parameters var layerDrawn = false; var layerExecuted = false; // "Constructor" variables = Array(); layerLoadList = Array(); layerLoadListParams = Array(); layerHTML = Array(); layerScripts = Array(); function setVar(varName, varValue) { variables[varName] = varValue; } function getVar(varName) { return variables[varName]; } function remVar(varName) { variables[varname] = null; } function saveHTTPVar(varName) { // Get cookies staten var parts, parties, key, changed; // Flag for checking whether value is alredy checked. changed = false; // Break parts = document.cookie.split(/;/); for (key in parts) { parties = parts.split(/=/); if (parties[0] == varName) { parties[1] = variables[varName]; parts = parties.join("="); changed = true; } } if (changed) document.cookie = parts.join(";"); else if (document.cookie) document.cookie += ";" + varName + "=" + variables[varName]; else document.cookie = varName + "=" + variables[varName]; } // Synchronous system call, whith callback function function sysCall(url, func) { if (ajax_reading) throw 'AjaxBusy'; LoadURL(url, func); } /*** Layers ***/ function setLayerObject(id) { layerObject = id; } function setLayerDir(url) { layerDir = url; } function layerLoad(layerName, getParams) { if (!layerLoadList) layerLoadList = Array(); layerLoadList.push(layerName); if (getParams != "") layerLoadListParams[layerName] = getParams; loadAllLayers(); } function layerDraw(layerName) { if (document.getElementById(layerObject)) document.getElementById(layerObject).innerHTML = layerHTML[layerName]; layerDrawn = layerName; } function layerExecute(layerName) { layerExecuted = layerName; eval(layerScripts[layerName]); main(); } /*** FUNCIONES INTERNAS ***/ function loadAllLayers() { var getParams; if (ajax_reading) return; if (layerLoadList.length) { getParams = layerLoadListParams[layerLoadList[0]] ? "?" + layerLoadListParams[layerLoadList[0]] : ""; LoadURL(layerDir + "/" + layerLoadList[0] + getParams, "layerHTMLLoaded(\"" + layerLoadList[0] + "\")"); } } function layerHTMLLoaded(layerName) { var getParams; layerHTML[layerName] = ajax_result; getParams = layerLoadListParams[layerLoadList[0]] ? "?" + layerLoadListParams[layerLoadList[0]] : ""; LoadURL(layerDir + "/" + layerName + ".js" + getParams, "layerJSLoaded(\"" + layerName + "\")"); } function layerJSLoaded(layerName) { var i; layerScripts[layerName] = ajax_result; for (i in layerLoadList) if (layerLoadList[i] == layerName) { layerLoadList.splice(i, 1); break; } loadAllLayers(); layerLoaded(layerName); } function layerIsLoaded(layerName) { return layerScripts[layerName] != null; }