var table = document.getElementsByTagName('table')[0];
var scanBtn = getE("startScan");
var scanTime = getE("scanTime");
var clientsFound = getE("clientsFound");
var scanStatus = getE("clientScanStatus");
var clientNames = getE('clientNames');
var nameListTable = getE('nameList');
var res;
function compare(a, b) {
if (a.p > b.p) return -1;
if (a.p < b.p) return 1;
return 0;
}
function toggleBtn(onoff) {
if (onoff) {
scanStatus.style.visibility = 'visible';
} else {
scanStatus.style.visibility = 'hidden';
}
}
function getResults() {
getResponse("ClientScanResults.json", function(responseText) {
try{
res = JSON.parse(responseText);
}catch(e){
showMessage("Error: clear the client list.");
return;
}
res.clients = res.clients.sort(compare);
clientsFound.innerHTML = res.clients.length;
var tr = '';
if (res.clients.length > 0) tr += '
| Pkts | Vendor | Name | MAC | AP | ';
if (res.clients.length > 1) tr += ' |  all |
';
else tr += 'Select | ';
for (var i = 0; i < res.clients.length; i++) {
if (res.clients[i].s == 1) tr += '';
else tr += '
';
tr += '| ' + res.clients[i].p + ' | ';
tr += '' + res.clients[i].v + ' | ';
if(res.clients[i].l >= 0) tr += '' + res.clients[i].n + ' edit | ';
else tr += 'set | ';
tr += '' + res.clients[i].m + ' | ';
tr += '' + res.clients[i].a + ' | ';
if (res.clients[i].s == 1) tr += ' | ';
else tr += ' | ';
tr += '
';
}
table.innerHTML = tr;
clientNames.innerHTML = res.nameList.length + "/50";
var tr = '| MAC | Name | X | Add |
';
for (var i = 0; i < res.nameList.length; i++) {
tr += '';
tr += '| ' + res.nameList[i].m + ' | ';
tr += '' + res.nameList[i].n + ' edit | ';
tr += ' | ';
tr += ' | ';
tr += '
';
}
nameListTable.innerHTML = tr;
}, function() {
showMessage("reconnect and reload the site");
}, 6000);
}
function scan() {
toggleBtn(true);
getResponse("ClientScan.json?time=" + scanTime.value, function(responseText) {
if(responseText == "true") {
setTimeout(function() {
toggleBtn(true);
getResults();
}, scanTime.value * 1000);
}
else showMessage("response error ClientScan.json");
});
}
function select(num) {
getResponse("clientSelect.json?num=" + num, function(responseText) {
if (responseText == "true") getResults();
else showMessage("response error clientSelect.json");
});
}
function clearNameList() {
getResponse("clearNameList.json", function(responseText) {
if (responseText == "true") getResults();
else showMessage("response error clearNameList.json");
});
}
function addClient(){
getResponse("addClient.json?mac="+cMac.value+"&name="+cName.value, function(responseText) {
if (responseText == "true") getResults();
else showMessage("response error addClient.json");
});
}
function setName(id) {
var newName = prompt("Name for " + res.clients[id].m);
if (newName != null) {
getResponse("setName.json?id=" + id + "&name=" + newName, function(responseText) {
if(responseText == "true") getResults();
else showMessage("response error editNameList.json");
});
}
}
function editNameList(id) {
var newName = prompt("Name for " + res.nameList[id].m);
if (newName != null) {
getResponse("editNameList.json?id=" + id + "&name=" + newName, function(responseText) {
if(responseText == "true") getResults();
else showMessage("response error editNameList.json");
});
}
}
function deleteName(id) {
getResponse("deleteName.json?num=" + id, function(responseText) {
if (responseText == "true") getResults();
else showMessage("response error deleteName.json");
});
}
function add(id){
getResponse("addClientFromList.json?num=" + id, function(responseText) {
if (responseText == "true") getResults();
else showMessage("response error addClientFromList.json");
});
}
getResponse("ClientScanTime.json", function(responseText) {
scanTime.value = responseText;
});
getResults();
toggleBtn(false);