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;
+ var url = dataSource + '&cmd='+cmd+'&target=' + target + '&wave=' + wave + '&rand='+ Math.random();
//obj.innerHTML = "test";
HTTP.open("GET", url,true);
HTTP.onreadystatechange = function(){
updateClaims(dataSource,HTTP.responseXML,false);
var obj = document.getElementById("targets");
if (obj){
- var re = new RegExp("targetlist>(.*)</targetlist", "m");
- re.test(HTTP.responseText);
- obj.innerHTML = RegExp.$1;
+ clearObject(obj);
+ var re = new RegExp("targetlist>((.|\\n)*)</targetlist");
+ if(re.test(HTTP.responseText))
+ obj.innerHTML = RegExp.$1;
}
}
}
}
}
+function clearObject(obj){
+ while (obj.hasChildNodes()){
+ obj.removeChild(obj.firstChild);
+ }
+}
+
function listTargets(dataSource){
var http = getHTTPObject();
- http.open("GET",dataSource+'&cmd=gettargets',true);
+ http.open("GET",dataSource+'&cmd=gettargets' + '&rand='+ Math.random(),true);
http.onreadystatechange = function(){
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>((.|\\n)*)</targetlist");
+ 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.open("GET",dataSource+"&cmd=update&from="+modified + '&rand='+ Math.random(),true);
HTTP.onreadystatechange = function(){
if (HTTP.readyState == 4 &&
HTTP.status == 200) {
}
}
-function updateClaims(dataSource,xmldoc,timestamp){
- targets = xmldoc.getElementsByTagName("target");
+function updateClaims(dataSource,xmlthingy,timestamp){
+ var targets = xmlthingy.getElementsByTagName("target");
for (var i = 0; i < targets.length; i++){
var target = targets[i].attributes.getNamedItem("id").nodeValue;
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];
b.type = 'button';
b.setAttribute("class", command);
b.value = command +' wave '+wave+' '+claimers;
- b.setAttribute("onClick", "claim('"+dataSource+"',"+target+","+wave+",'"+command+"')");
+ b.setAttribute("onclick", "claim('"+dataSource+"',"+target+","+wave+",'"+command+"');");
/*b.onclick = function(){
claim(dataSource,t,wave,command);
}*/
b.value = 'N';
command = 'set&joinable=FALSE';
}
- b.setAttribute("onClick", "claim('"+dataSource+"',"+target+","+wave+",'"+command+"')");
+ b.setAttribute("onclick", "claim('"+dataSource+"',"+target+","+wave+",'"+command+"');");
obj.appendChild(b);
}
+ obj.innerHTML = obj.innerHTML; // IE doesn't understand unless you tell it twice
}
obj = document.getElementById("coords"+target);
var coords = targets[i].getElementsByTagName("coords");;
obj.innerHTML = coords[0].firstChild.nodeValue;
}
if (timestamp){
- timestamp = xmldoc.getElementsByTagName("timestamp");
+ timestamp = xmlthingy.getElementsByTagName("timestamp");
if (timestamp)
modified = timestamp[0].firstChild.nodeValue;
}