1 function getHTTPObject() {
4 @if (@_jscript_version >= 5)
6 xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
9 xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
18 if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
20 xmlhttp = new XMLHttpRequest();
28 var HTTP = getHTTPObject();
31 function claim(dataSource, target, wave,cmd){
33 var url = dataSource + '&cmd='+cmd+'&target=' + target + '&wave=' + wave;
34 //obj.innerHTML = "test";
35 HTTP.open("GET", url,true);
36 HTTP.onreadystatechange = function(){
37 if (HTTP.readyState == 4 &&
39 updateClaims(dataSource,HTTP.responseXML,false);
40 var obj = document.getElementById("targets");
42 var re = new RegExp("targetlist>(.*)</targetlist", "m");
43 re.test(HTTP.responseText);
44 obj.innerHTML = RegExp.$1;
52 function listTargets(dataSource){
53 var http = getHTTPObject();
54 http.open("GET",dataSource+'&cmd=gettargets',true);
55 http.onreadystatechange = function(){
56 if (http.readyState == 4 &&
58 var obj = document.getElementById("targets");
60 var re = new RegExp("targetlist>(.*)</targetlist", "m");
61 re.test(http.responseText);
62 obj.innerHTML = RegExp.$1;
69 function update(dataSource){
71 HTTP.open("GET",dataSource+"&cmd=update&from="+modified,true);
72 HTTP.onreadystatechange = function(){
73 if (HTTP.readyState == 4 &&
75 updateClaims(dataSource,HTTP.responseXML,true);
82 function updateClaims(dataSource,xmldoc,timestamp){
83 targets = xmldoc.getElementsByTagName("target");
84 for (var i = 0; i < targets.length; i++){
85 var target = targets[i].attributes.getNamedItem("id").nodeValue;
86 var obj = document.getElementById("claim"+target);
90 var waves = targets[i].getElementsByTagName("wave");;
91 for (var j = 0; j < waves.length; j++){
92 var command = waves[j].getElementsByTagName("command")[0];
93 var claimers = waves[j].getElementsByTagName("claimers")[0];
94 var joinable = waves[j].getElementsByTagName("joinable")[0];
95 var wave = waves[j].attributes.getNamedItem("id").nodeValue;
96 command = command.firstChild.nodeValue;
97 if(claimers.firstChild){
98 claimers = '('+claimers.firstChild.nodeValue+')';
101 joinable = joinable.firstChild.nodeValue;
103 if (command == 'none'){
104 var s = document.createElement("b");
105 s.appendChild(document.createTextNode("Claimed by "+claimers));
108 var b = document.createElement("input");
110 b.setAttribute("class", command);
111 b.value = command +' wave '+wave+' '+claimers;
112 b.setAttribute("onClick", "claim('"+dataSource+"',"+target+","+wave+",'"+command+"')");
113 /*b.onclick = function(){
114 claim(dataSource,t,wave,command);
118 if (command == 'Unclaim'){
119 var b = document.createElement("input");
122 command = 'set&joinable=TRUE';
125 command = 'set&joinable=FALSE';
127 b.setAttribute("onClick", "claim('"+dataSource+"',"+target+","+wave+",'"+command+"')");
131 obj = document.getElementById("coords"+target);
132 var coords = targets[i].getElementsByTagName("coords");;
134 obj.innerHTML = coords[0].firstChild.nodeValue;
137 timestamp = xmldoc.getElementsByTagName("timestamp");
139 modified = timestamp[0].firstChild.nodeValue;