var req; var reqURLStack = new Array(); function loadXMLDoc() { // branch for native XMLHttpRequest object if (reqURLStack.length>0){ if (!req || req.readyState == 4 || req.readyState==0){ if (window.XMLHttpRequest) { req = new XMLHttpRequest(); req.onreadystatechange = processReqChange; req.open("GET", reqURLStack.pop(), true); req.send(null); } // branch for IE/Windows ActiveX version else if (window.ActiveXObject) { req = new ActiveXObject("Microsoft.XMLHTTP"); if (req) { req.onreadystatechange = processReqChange; req.open("GET", reqURLStack.pop(), true); req.send(); } } } } else{ alert("Stack empty, should not be"); } } function processReqChange() { // only if req shows "complete" // alert("Processing request"); if (req.readyState == 4) { // only if "OK" if (req.status == 200) { //alert("Request OK"); response = req.responseXML.documentElement; if(response.getAttribute('callbackMethod')){ if(response.getAttribute('callingObject')=="none"){ addDebugEvent("Callback method: none"); eval(response.getAttribute('callbackMethod')+ "(response);"); } else if(response.getAttribute('callingObject')!="ACK"){ addDebugEvent("Callback method: " +response.getAttribute('callbackMethod')); callingObject = eval(response.getAttribute('callingObject')); eval("callingObject." +response.getAttribute('callbackMethod')+ "(response);"); } else if(response.getAttribute('callingObject')=="ACK"){ //Do nothing except print debug info about ACK addDebugEvent("Recieved a XMLRPC ACK "); } else if(response.getAttribute('callingObject')=="NACK"){ //Do nothing except print debug info about ACK addDebugEvent("Recieved a XMLRPC ACK "); } else { addDebugEvent("Recieved a undifined XMLRPC request"); } } } else { addDebugEvent("Problem retrieving the XML data: " + req.statusText + ' Status code:' + req.status); alert("Kontakten med servern har tappats. Kontrollera att du är uppkopplad på internet och försök igen."); } if(reqURLStack.length>0){ loadXMLDoc(); } } } /** * XMLRPC request * */ function makeReq(domainName,callingObject,action,attributes){ reqURL = 'http://'+domainName+'/xml/'+action+'/?callingObject=' +callingObject; //addDebugEvent("Session id set to: " +activeSession.getSessionId()); //addDebugEvent("Session id set to: " +domainName); if(attributes){ for(i=0;i