]> ruin.nu Git - ndwebbie.git/blobdiff - raid.js
small fixes
[ndwebbie.git] / raid.js
diff --git a/raid.js b/raid.js
index 5835beed0de54b3c7347b71bfbafd08966e4d902..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);
@@ -57,9 +64,10 @@ function listTargets(dataSource){
                                http.status == 200) {
                        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;
                        }
                }
        }
@@ -67,6 +75,7 @@ function listTargets(dataSource){
 }
 
 function update(dataSource){
+       var HTTP = getHTTPObject();
        if(HTTP) {
                HTTP.open("GET",dataSource+"&cmd=update&from="+modified,true);
                HTTP.onreadystatechange = function(){
@@ -86,7 +95,8 @@ 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].getElementsByTagName("command")[0];