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].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){
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);
}*/
obj.appendChild(b);
}
- if (command == 'unclaim'){
+ if (command == 'Unclaim'){
var b = document.createElement("input");
b.type = 'button';
b.value = 'J';
+ b.title = 'Make target joinable';
command = 'set&joinable=TRUE';
if (joinable == 1){
b.value = 'N';
+ b.title = 'Disable join';
command = 'set&joinable=FALSE';
}
- b.setAttribute("onClick", "claim('"+dataSource+"',"+target+","+wave+",'"+command+"')");
+ b.setAttribute("onclick", "claim('"+dataSource+"',"+target+","+wave+",'"+command+"');");
obj.appendChild(b);
}
+ /*@cc_on
+ obj.innerHTML = obj.innerHTML; // IE doesn't understand unless you tell it twice
+ @*/
}
+ /*
obj = document.getElementById("coords"+target);
var coords = targets[i].getElementsByTagName("coords");;
if (obj)
obj.innerHTML = coords[0].firstChild.nodeValue;
+ */
}
if (timestamp){
- timestamp = xmldoc.getElementsByTagName("timestamp");
+ timestamp = xmlthingy.getElementsByTagName("timestamp");
if (timestamp)
modified = timestamp[0].firstChild.nodeValue;
}