]> ruin.nu Git - ndwebbie.git/blobdiff - raid.js
small fixes
[ndwebbie.git] / raid.js
diff --git a/raid.js b/raid.js
index 5a4eb14d97929b9c0c29ec13e51323e5e2bcc510..0e2fedc5130aa9170165bc78187aa95d4f68092c 100644 (file)
--- a/raid.js
+++ b/raid.js
@@ -25,10 +25,10 @@ function getHTTPObject() {
   return xmlhttp;
 }
 
-var HTTP = getHTTPObject();
 var modified = '_';
 
 function claim(dataSource, target, wave,cmd){
+       var HTTP = getHTTPObject();
        if(HTTP) {
                var url = dataSource + '&cmd='+cmd+'&target=' + target + '&wave=' + wave;
                //obj.innerHTML = "test";
@@ -39,9 +39,10 @@ function claim(dataSource, target, wave,cmd){
                                updateClaims(dataSource,HTTP.responseXML,false);
                                var obj = document.getElementById("targets");
                                if (obj){
+                                       clearObject(obj);
                                        var re = new RegExp("targetlist>(.*)</targetlist", "m");
-                                       re.test(HTTP.responseText);
-                                       obj.innerHTML = RegExp.$1;
+                                       if(re.test(HTTP.responseText))
+                                               obj.innerHTML = RegExp.$1;
                                }
                        }
                }
@@ -49,6 +50,12 @@ function claim(dataSource, target, wave,cmd){
        }
 }
 
+function clearObject(obj){
+       while (obj.hasChildNodes()){
+               obj.removeChild(obj.firstChild);
+       }
+}
+
 function listTargets(dataSource){
        var http = getHTTPObject();
        http.open("GET",dataSource+'&cmd=gettargets',true);
@@ -56,14 +63,19 @@ function listTargets(dataSource){
                if (http.readyState == 4 &&
                                http.status == 200) {
                        var obj = document.getElementById("targets");
-                       if (obj)
-                               obj.innerHTML = http.responseText;
+                       if (obj){
+                               clearObject(obj);
+                               var re = new RegExp("targetlist>(.*)</targetlist", "m");
+                               if(re.test(http.responseText))
+                                       obj.innerHTML = RegExp.$1;
+                       }
                }
        }
        http.send(null);
 }
 
 function update(dataSource){
+       var HTTP = getHTTPObject();
        if(HTTP) {
                HTTP.open("GET",dataSource+"&cmd=update&from="+modified,true);
                HTTP.onreadystatechange = function(){
@@ -83,12 +95,13 @@ function updateClaims(dataSource,xmldoc,timestamp){
                var obj = document.getElementById("claim"+target);
                if (!obj)
                        continue;
-               obj.innerHTML = '';
+               //obj.innerHTML = '';
+               clearObject(obj);
                var waves = targets[i].getElementsByTagName("wave");;
                for (var j = 0; j < waves.length; j++){
-                       var command = waves[j].firstChild.nextSibling;
-                       var claimers = command.nextSibling;
-                       var joinable = claimers.nextSibling;
+                       var command = waves[j].getElementsByTagName("command")[0];
+                       var claimers = waves[j].getElementsByTagName("claimers")[0];
+                       var joinable = waves[j].getElementsByTagName("joinable")[0];
                        var wave = waves[j].attributes.getNamedItem("id").nodeValue;
                        command = command.firstChild.nodeValue;
                        if(claimers.firstChild){
@@ -112,7 +125,7 @@ function updateClaims(dataSource,xmldoc,timestamp){
                                }*/
                                obj.appendChild(b);
                        }
-                       if (command == 'unclaim'){
+                       if (command == 'Unclaim'){
                                var b = document.createElement("input");
                                b.type = 'button';
                                b.value = 'J';