1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 2"http://www.w3.org/TR/html4/loose.dtd"> 3<head> 4<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 5<meta HTTP-EQUIV="Pragma" CONTENT="no-cache"> 6<meta HTTP-EQUIV="Expires" CONTENT="-1"> 7<link rel="shortcut icon" href="images/favicon.png"> 8<link rel="icon" href="images/favicon.png"> 9<link href="/form_style.css" rel="stylesheet" type="text/css" /> 10<link href="/NM_style.css" rel="stylesheet" type="text/css" /> 11<link href="/device-map/device-map.css" rel="stylesheet" type="text/css" /> 12<title>device-map/clients.asp</title> 13<style> 14p{ 15 font-weight: bolder; 16} 17.circle { 18 position: absolute; 19 width: 23px; 20 height: 23px; 21 border-radius: 50%; 22 background: #333; 23 margin-top: -77px; 24 margin-left: 57px; 25} 26.circle div{ 27 height: 23px; 28 text-align: center; 29 margin-top: 4px; 30} 31.nav { 32 display:none; 33 float: left; 34 width: 107%; 35 margin-bottom: 30px; 36 margin-top: -7px; 37} 38.nav ul{ 39 margin: 0; 40 padding: 0; 41 border-top:solid 2px #666; 42} 43.nav li{ 44 font-family:Arial; 45 position: relative; 46 float: left; 47 color: #FFF; 48 list-style: none; 49 background:#4d595d; 50 cursor:pointer; 51 width: 100%; 52} 53.nav li:hover{ 54 background-color:#77A5C6; 55} 56.nav li a { 57 display: block; 58 padding: 6px; 59 color: #FFF; 60 border-bottom:solid 1px #666; 61 text-decoration: none; 62 cursor:pointer; 63} 64.ipMethod{ 65 background-color: #222; 66 font-size: 10px; 67 font-family: monospace; 68 padding: 2px 3px; 69 border-radius: 3px; 70} 71.imgUserIcon{ 72 cursor: pointer; 73 position: relative; 74 left: 17px; 75 width: 52px; 76 height: 52px; 77 -webkit-border-radius: 10px; 78 -moz-border-radius: 10px; 79 border-radius: 10px; 80} 81</style> 82<script type="text/javascript" src="/state.js"></script> 83<script language="JavaScript" type="text/javascript" src="/client_function.js"></script> 84<script type="text/javascript" src="/js/jquery.js"></script> 85<script type="text/javascript" src="/help.js"></script> 86<script> 87if(parent.location.pathname.search("index") === -1) top.location.href = "../index.asp"; 88 89var wirelessOverFlag = false; 90overlib.isOut = true; 91 92var pagesVar = { 93 curTab: "online", 94 CLIENTSPERPAGE: 7, 95 startIndex: 0, 96 endIndex: 7, /* refer to startIndex + CLIENTSPERPAGE */ 97 startArray: [0], 98 99 resetVar: function(){ 100 pagesVar.CLIENTSPERPAGE = 7; 101 pagesVar.startIndex = 0; 102 pagesVar.endIndex = pagesVar.startIndex + pagesVar.CLIENTSPERPAGE; 103 pagesVar.startArray = [0]; 104 105 document.getElementById("select_wlclient_band").style.display = "none"; 106 } 107} 108 109var clientMacUploadIcon = new Array(); 110 111function generate_wireless_band_list(){ 112 if(wl_nband_title.length == 1) return false; 113 114 var code = '<ul>'; 115 for(var i=0; i<wl_nband_title.length; i++){ 116 code += '<li><a onclick="switchTab_drawClientList(\''; 117 code += i; 118 code += '\')"> '; 119 code += wl_nband_title[i]; 120 code += ' (<b style="font-size:11px;" id="liWirelessNum'; 121 code += i; 122 code += '">0</b>)</a></li>'; 123 } 124 code += '</ul>'; 125 126 document.getElementById('select_wlclient_band').innerHTML = code; 127} 128 129function initial(){ 130 parent.hideEditBlock(); 131 generate_wireless_band_list(); 132 updateClientList(); 133 updateClientListBackground(); 134} 135 136function convRSSI(val){ 137 if(val == "") return "wired"; 138 139 val = parseInt(val); 140 if(val >= -50) return 4; 141 else if(val >= -80) return Math.ceil((24 + ((val + 80) * 26)/10)/25); 142 else if(val >= -90) return Math.ceil((((val + 90) * 26)/10)/25); 143 else return 1; 144} 145 146function drawClientList(tab){ 147 var clientHtml = '<table width="100%" cellspacing="0" align="center"><tbody><tr><td>'; 148 var clientHtmlTd = ''; 149 var i = pagesVar.startIndex; 150 //user icon 151 var userIconBase64 = "NoIcon"; 152 153 if(typeof tab == "undefined"){ 154 tab = pagesVar.curTab; 155 } 156 genClientList(); 157 pagesVar.endIndex = pagesVar.startIndex + pagesVar.CLIENTSPERPAGE; 158 while(i < pagesVar.endIndex){ 159 var clientObj = clientList[clientList[i]]; 160 161 // fileter /* 162 if(i > clientList.length-1) break; 163 if(tab == 'online' && !clientObj.isOnline){i++; pagesVar.endIndex++; continue;} 164 if((tab == 'wired' && clientObj.isWL != 0) || !clientObj.isOnline){i++; pagesVar.endIndex++; continue;} 165 if((tab == 'wireless' && clientObj.isWL == 0) || !clientObj.isOnline){i++; pagesVar.endIndex++; continue;} 166 if((tab == 'wireless0' && (clientObj.isWL == 0 || clientObj.isWL == 2 || clientObj.isWL == 3)) || !clientObj.isOnline){i++; pagesVar.endIndex++; continue;} 167 if((tab == 'wireless1' && (clientObj.isWL == 0 || clientObj.isWL == 1 || clientObj.isWL == 3)) || !clientObj.isOnline){i++; pagesVar.endIndex++; continue;} 168 if((tab == 'wireless2' && (clientObj.isWL == 0 || clientObj.isWL == 1 || clientObj.isWL == 2)) || !clientObj.isOnline){i++; pagesVar.endIndex++; continue;} 169 if(tab == 'custom' && clientObj.from != "customList"){i++; pagesVar.endIndex++; continue;} 170 var clientName = (clientObj.nickName == "") ? clientObj.name : clientObj.nickName; 171 if(clientName.toLowerCase().indexOf(document.getElementById("searchingBar").value.toLowerCase()) == -1){i++; pagesVar.endIndex++; continue;} 172 // filter */ 173 174 clientHtmlTd += '<div class="clientBg" onclick="popupCustomTable(\'' + clientObj.mac + '\');"><table width="100%" height="85px" border="0"><tr><td rowspan="3" width="85px">'; 175 if(usericon_support) { 176 if(clientMacUploadIcon[clientObj.mac] == undefined) { 177 var clientMac = clientObj.mac.replace(/\:/g, ""); 178 userIconBase64 = getUploadIcon(clientMac); 179 clientMacUploadIcon[clientObj.mac] = userIconBase64; 180 } 181 else { 182 userIconBase64 = clientMacUploadIcon[clientObj.mac]; 183 } 184 } 185 186 var deviceTitle = (clientObj.dpiDevice == "") ? clientObj.vendor : clientObj.dpiDevice; 187 if(userIconBase64 != "NoIcon") { 188 clientHtmlTd += '<div title="'+ deviceTitle + '"">'; 189 clientHtmlTd += '<img id="imgUserIcon_'+ i +'" class="imgUserIcon" src="' + userIconBase64 + '"'; 190 clientHtmlTd += '</div>'; 191 } 192 else if(clientObj.type != "0" || clientObj.vendor == "") { 193 clientHtmlTd += '<div class="clientIcon type'; 194 clientHtmlTd += clientObj.type; 195 clientHtmlTd += '" title="'; 196 clientHtmlTd += deviceTitle; 197 clientHtmlTd += '"></div>'; 198 } 199 else if(clientObj.vendor != "") { 200 var venderIconClassName = getVenderIconClassName(clientObj.vendor.toLowerCase()); 201 if(venderIconClassName != "" && !downsize_4m_support) { 202 clientHtmlTd += '<div class="venderIcon '; 203 clientHtmlTd += venderIconClassName; 204 clientHtmlTd += '" title="'; 205 clientHtmlTd += deviceTitle; 206 clientHtmlTd += '"></div>'; 207 } 208 else { 209 clientHtmlTd += '<div class="clientIcon type'; 210 clientHtmlTd += clientObj.type; 211 clientHtmlTd += '" title="'; 212 clientHtmlTd += deviceTitle; 213 clientHtmlTd += '"></div>'; 214 } 215 } 216 217 clientHtmlTd += '</td><td style="height:30px;font-size:11px;word-break:break-all;"><div>'; 218 clientHtmlTd += clientName; 219 clientHtmlTd += '</div></td>'; 220 221 clientHtmlTd += '<td style="width:55px">'; 222 if(!clientObj.internetState) { 223 clientHtmlTd += '<div class="internetBlock" title="Block Internet access" style="height:20px;width:20px;margin-right:5px;float:right;"></div>';/*untranslated*/ 224 } 225 226 if(clientObj.internetMode == "time") { 227 clientHtmlTd += '<div class="internetTimeLimits" title="Time Scheduling" style="background-size:25px 20px;height:20px;width:25px;margin-right:5px;float:right;"></div>';/*untranslated*/ 228 } 229 if(parent.sw_mode == 1){ 230 clientHtmlTd += '</td></tr><tr><td style="height:20px;" title=\'' + ipState[clientObj.ipMethod] + '\'>'; 231 } 232 else { 233 clientHtmlTd += '</td></tr><tr><td style="height:20px;">'; 234 } 235 clientHtmlTd += (clientObj.isWebServer) ? '<a class="link" href="http://' + clientObj.ip + '" target="_blank">' + clientObj.ip + '</a>' : clientObj.ip; 236 237 clientHtmlTd += '</td><td>'; 238 var rssi_t = 0; 239 var connectModeTip = ""; 240 rssi_t = convRSSI(clientObj.rssi); 241 if(isNaN(rssi_t)) 242 connectModeTip = "<#tm_wired#>"; 243 else { 244 switch (rssi_t) { 245 case 1: 246 connectModeTip = "<#Radio#>: <#PASS_score1#>\n"; 247 break; 248 case 2: 249 connectModeTip = "<#Radio#>: <#PASS_score2#>\n"; 250 break; 251 case 3: 252 connectModeTip = "<#Radio#>: <#PASS_score3#>\n"; 253 break; 254 case 4: 255 connectModeTip = "<#Radio#>: <#PASS_score4#>\n"; 256 break; 257 } 258 if(stainfo_support) { 259 if(clientObj.curTx != "") 260 connectModeTip += "Tx Rate: " + clientObj.curTx + "\n"; 261 if(clientObj.curRx != "") 262 connectModeTip += "Rx Rate: " + clientObj.curRx + "\n"; 263 connectModeTip += "<#Access_Time#>: " + clientObj.wlConnectTime + ""; 264 } 265 } 266 267 if(parent.sw_mode != 4) { 268 clientHtmlTd += '<div style="height:28px;width:28px;float:right;margin-right:5px;margin-bottom:-20px;">'; 269 clientHtmlTd += '<div class="radioIcon radio_' + rssi_t +'" title="' + connectModeTip + '"></div>'; 270 if(clientObj.isWL != 0) { 271 var bandClass = (navigator.userAgent.toUpperCase().match(/CHROME\/([\d.]+)/)) ? "band_txt_chrome" : "band_txt"; 272 clientHtmlTd += '<div class="band_block"><span class='+bandClass+'>' + wl_nband_title[clientObj.isWL-1].replace("Hz", "") + '</span></div>'; 273 } 274 clientHtmlTd += '</div>'; 275 } 276 277 clientHtmlTd += '</td></tr>'; 278 clientHtmlTd += '<tr><td colspan="2"><div style="margin-top:-15px;width:140px;" class="link" onclick="oui_query_full_vendor(\''; 279 clientHtmlTd += clientObj.mac; 280 clientHtmlTd += '\');event.cancelBubble=true;return overlib(\''; 281 clientHtmlTd += retOverLibStr(clientObj); 282 clientHtmlTd += '\');" onmouseout="nd();">'; 283 clientHtmlTd += clientObj.mac; 284 clientHtmlTd += '</td></tr></table></div>'; 285 286 // display how many clients that hide behind a repeater. 287 if(clientObj.macRepeat > 1){ 288 clientHtmlTd += '<div class="circle"><div>'; 289 clientHtmlTd += clientObj.macRepeat; 290 clientHtmlTd += '</div></div>'; 291 } 292 293 // display boost client. 294 if(clientObj.wtfast && wtfast_support) { 295 clientHtmlTd += '<div class="boost_tag">BOOST</div>';/*untranslated*/ 296 } 297 298 i++; 299 } 300 301 if(clientHtmlTd == ''){ 302 if(networkmap_fullscan == 1) 303 clientHtmlTd = '<div style="color:#FC0;height:30px;text-align:center;margin-top:15px"><#Device_Searching#><img src="/images/InternetScan.gif"></div>'; 304 else 305 clientHtmlTd = '<div style="color:#FC0;height:30px;text-align:center;margin-top:15px"><#IPConnection_VSList_Norule#></div>'; 306 } 307 308 clientHtml += clientHtmlTd; 309 clientHtml += '</td></tr></tbody></table>'; 310 document.getElementById("client_list_Block").innerHTML = clientHtml; 311 312 // page switcher 313 document.getElementById("leftBtn").style.visibility = (pagesVar.startIndex == 0) ? "hidden" : "visible"; 314 document.getElementById("rightBtn").style.visibility = (pagesVar.endIndex >= clientList.length) ? "hidden" : "visible"; 315 316 // Wired 317 document.getElementById("tabWired").style.display = (totalClientNum.wired == 0) ? "none" : ""; 318 document.getElementById("tabWiredNum").innerHTML = totalClientNum.wired; 319 320 // Wireless 321 document.getElementById("tabWireless").style.display = (totalClientNum.wireless == 0) ? "none" : ""; 322 document.getElementById("tabWirelessNum").innerHTML = totalClientNum.wireless; 323 if(totalClientNum.wireless == 0) 324 wirelessOverFlag = false; 325 326 if(wl_nband_title.length > 1){ 327 for(var i=0; i<wl_nband_title.length; i++){ 328 document.getElementById("liWirelessNum" + i).innerHTML = totalClientNum.wireless_ifnames[i]; 329 } 330 } 331 332 if(typeof tab.split("wireless")[1] == 'undefined' || tab.split("wireless")[1] == '' || tab.split("wireless")[1] == 'NaN'){ 333 if(!wirelessOverFlag) 334 document.getElementById("select_wlclient_band").style.display = "none"; 335 document.getElementById("searchingBar").placeholder = 'Search'; 336 } 337 else{ 338 document.getElementById("searchingBar").placeholder = '[' + wl_nband_title[tab.split("wireless")[1]] + '](' + totalClientNum.wireless_ifnames[tab.split("wireless")[1]] + ')'; 339 } 340 341 if(pagesVar.curTab != tab){ 342 document.getElementById("client_list_Block").style.display = 'none'; 343 $("#client_list_Block").fadeIn(300); 344 pagesVar.curTab = tab; 345 } 346 347 $(".circle").mouseover(function(){ 348 return overlib(this.firstChild.innerHTML + " clients are connecting to <% nvram_get("productid"); %> through this device."); 349 }); 350 351 $(".circle").mouseout(function(){ 352 nd(); 353 }); 354} 355 356function updatePagesVar(direction){ 357 if(typeof direction != "undefined"){ 358 if(direction == '-'){ 359 pagesVar.startArray.length--; 360 pagesVar.startIndex = pagesVar.startArray.slice(-1)[0]; 361 pagesVar.endIndex = pagesVar.startIndex + pagesVar.CLIENTSPERPAGE; 362 } 363 else if(direction == '+'){ 364 pagesVar.startIndex = pagesVar.endIndex; 365 pagesVar.endIndex = pagesVar.startIndex + pagesVar.CLIENTSPERPAGE; 366 pagesVar.startArray.push(pagesVar.startIndex); 367 } 368 369 pagesVar.startIndex = (pagesVar.startIndex < 0) ? 0 : pagesVar.startIndex; 370 pagesVar.endIndex = (pagesVar.endIndex > clientList.length) ? clientList.length : pagesVar.endIndex; 371 pagesVar.endIndex = (pagesVar.endIndex < pagesVar.CLIENTSPERPAGE) ? pagesVar.CLIENTSPERPAGE : pagesVar.endIndex; 372 } 373 374 drawClientList(pagesVar.curTab); 375} 376 377function retOverLibStr(client){ 378 var overlibStr = "<p><#MAC_Address#>:</p>" + client.mac.toUpperCase(); 379 380 if(client.ssid) 381 overlibStr += "<p>SSID:</p>" + client.ssid.replace(/"/g, '"'); 382 if(client.isLogin) 383 overlibStr += "<p>Logged In User:</p>YES"; 384 if(client.isPrinter) 385 overlibStr += "<p><#Device_service_Printer#></p>YES"; 386 if(client.isITunes) 387 overlibStr += "<p><#Device_service_iTune#></p>YES"; 388 if(client.isWL > 0){ 389 overlibStr += "<p><#Wireless_Radio#>:</p>" + wl_nband_title[client.isWL-1] + " (" + client.rssi + " dBm)"; 390 if(stainfo_support) { 391 overlibStr += "<p>Tx Rate:</p>" + ((client.curTx != "") ? client.curTx : "-"); 392 overlibStr += "<p>Rx Rate:</p>" + ((client.curRx != "") ? client.curRx : "-"); 393 overlibStr += "<p><#Access_Time#>:</p>" + client.wlConnectTime; 394 } 395 } 396 return overlibStr; 397} 398 399function oui_query_full_vendor(mac){ 400 if(clientList[mac].vendor != "") { 401 setTimeout(function(){ 402 var overlibStrTmp = retOverLibStr(clientList[mac]); 403 overlibStrTmp += "<p><span>.....................................</span></p><p style='margin-top:5px'><#Manufacturer#> :</p>"; 404 overlibStrTmp += clientList[mac].vendor; 405 return overlib(overlibStrTmp); 406 }, 1); 407 } 408 else { 409 if('<% nvram_get("x_Setting"); %>' == '1' && wanConnectStatus && clientList[mac].internetState) { 410 var queryStr = mac.replace(/\:/g, "").splice(6,6,""); 411 $.ajax({ 412 url: 'https://services11.ieee.org/RST/standards-ra-web/rest/assignments/download/?registry=MA-L&format=html&text='+ queryStr, 413 type: 'GET', 414 success: function(response) { 415 if(overlib.isOut) return nd(); 416 417 var overlibStrTmp = retOverLibStr(clientList[mac]); 418 if(response.search("Sorry!") == -1) { 419 if(response.search(queryStr) != -1) { 420 var retData = response.split("pre")[1].split("(base 16)")[1].replace("PROVINCE OF CHINA", "R.O.C").split("</"); 421 overlibStrTmp += "<p><span>.....................................</span></p><p style='margin-top:5px'><#Manufacturer#> :</p>"; 422 overlibStrTmp += retData[0]; 423 } 424 } 425 return overlib(overlibStrTmp); 426 } 427 }); 428 } 429 } 430} 431 432function popupCustomTable(mac){ 433 parent.popupEditBlock(clientList[mac]); 434} 435 436function updateClientList(e){ 437 $.ajax({ 438 url: '/update_clients.asp', 439 dataType: 'script', 440 error: function(xhr) { 441 setTimeout("updateClientList();", 1000); 442 }, 443 success: function(response){ 444 document.getElementById("loadingIcon").style.visibility = (networkmap_fullscan == 1 && parent.manualUpdate) ? "visible" : "hidden"; 445 446 if(isJsonChanged(originData, originDataTmp) || originData.fromNetworkmapd == ""){ 447 drawClientList(); 448 parent.show_client_status(totalClientNum.online); 449 } 450 451 if(networkmap_fullscan == 0) parent.manualUpdate = false; 452 setTimeout("updateClientList();", 3000); 453 } 454 }); 455} 456</script> 457</head> 458 459<body class="statusbody" onload="initial();"> 460<iframe name="applyFrame" id="applyFrame" src="" width="0" height="0" frameborder="0" scrolling="no"></iframe> 461<form method="post" name="form" id="refreshForm" action="/apply.cgi" target="applyFrame"> 462<input type="hidden" name="action_mode" value="refresh_networkmap"> 463<input type="hidden" name="action_script" value=""> 464<input type="hidden" name="action_wait" value="5"> 465<input type="hidden" name="current_page" value="device-map/clients.asp"> 466<input type="hidden" name="next_page" value="device-map/clients.asp"> 467</form> 468 469<table width="320px" border="0" cellpadding="0" cellspacing="0"> 470 <tr> 471 <td> 472 <table width="100px" border="0" align="left" style="margin-left:8px;" cellpadding="0" cellspacing="0"> 473 <td> 474 <div id="tabOnline" class="tabclick_NW" align="center"> 475 <span> 476 Online 477 </span> 478 </div> 479 <script> 480 document.getElementById('tabOnline').onclick = function(){ 481 pagesVar.resetVar(); 482 drawClientList('online'); 483 document.getElementById('tabOnline').className = 'tabclick_NW'; 484 document.getElementById('tabWired').className = 'tab_NW'; 485 document.getElementById('tabWireless').className = 'tab_NW'; 486 document.getElementById('tabCustom').className = 'tab_NW'; 487 } 488 </script> 489 </td> 490 <td> 491 <div id="tabWired" class="tab_NW" align="center" style="display:none"> 492 <span> 493 Wired (<b style="font-size:10px;" id="tabWiredNum">0</b>) 494 </span> 495 </div> 496 <script> 497 document.getElementById('tabWired').onclick = function(){ 498 pagesVar.resetVar(); 499 drawClientList('wired'); 500 document.getElementById('tabOnline').className = 'tab_NW'; 501 document.getElementById('tabWired').className = 'tabclick_NW'; 502 document.getElementById('tabWireless').className = 'tab_NW'; 503 document.getElementById('tabCustom').className = 'tab_NW'; 504 } 505 </script> 506 </td> 507 <td> 508 <div id="tabWireless" class="tab_NW" align="center" style="display:none"> 509 <span id="tabWirelessSpan"> 510 Wireless (<b style="font-size:10px;" id="tabWirelessNum">0</b>) 511 </span> 512 <nav class="nav" id="select_wlclient_band"></nav> 513 </div> 514 <script> 515 function switchTab_drawClientList(wband){ 516 pagesVar.resetVar(); 517 drawClientList('wireless' + wband); 518 document.getElementById('tabOnline').className = 'tab_NW'; 519 document.getElementById('tabWired').className = 'tab_NW'; 520 document.getElementById('tabWireless').className = 'tabclick_NW'; 521 document.getElementById('tabCustom').className = 'tab_NW'; 522 } 523 524 $('#tabWirelessSpan').click(function(){ 525 switchTab_drawClientList(''); 526 }); 527 528 $('#tabWireless').mouseenter(function(){ 529 if(wl_nband_title.length > 0){ 530 $("#select_wlclient_band").slideDown("fast", function(){}); 531 wirelessOverFlag = true; 532 } 533 }); 534 535 $('#tabWireless').mouseleave(function(){ 536 $("#select_wlclient_band").css({"display": "none"}); 537 wirelessOverFlag = false; 538 }); 539 </script> 540 </td> 541 <td> 542 <div id="tabCustom" class="tab_NW" align="center" style="display:none"> 543 <span> 544 History (<b style="font-size:10px;" id="tabCustomNum">0</b>) 545 </span> 546 </div> 547 <script> 548 document.getElementById('tabCustom').onclick = function(){ 549 pagesVar.resetVar(); 550 drawClientList('custom'); 551 document.getElementById('tabOnline').className = 'tab_NW'; 552 document.getElementById('tabWired').className = 'tab_NW'; 553 document.getElementById('tabWireless').className = 'tab_NW'; 554 document.getElementById('tabCustom').className = 'tabclick_NW'; 555 } 556 </script> 557 </td> 558 <td> 559 </td> 560 </table> 561 </td> 562 </tr> 563 564 <tr> 565 <td> 566 <table width="95%" border="0" align="center" cellpadding="4" cellspacing="0" style="background-color:#4d595d;"> 567 <tr> 568 <td style="padding:3px 3px 5px 5px;"> 569 <input type="text" placeholder="Search" id="searchingBar" class="input_25_table" style="width:96%;margin-top:3px;margin-bottom:3px" maxlength="" value="" autocorrect="off" autocapitalize="off"> 570 <script> 571 document.getElementById('searchingBar').onkeyup = function(){ 572 pagesVar.resetVar(); 573 drawClientList(); 574 } 575 </script> 576 577 <div id="client_list_Block"></div> 578 </td> 579 </tr> 580 </table> 581 </td> 582 </tr> 583</table> 584 585<br/> 586<img height="25" id="leftBtn" onclick="updatePagesVar('-');" style="cursor:pointer;margin-left:10px;" src="/images/arrow-left.png"> 587<input type="button" id="refresh_list" class="button_gen" value="<#CTL_refresh#>" style="margin-left:70px;"> 588 <script> 589 document.getElementById('refresh_list').onclick = function(){ 590 var local_mac = '<% nvram_get("lan_hwaddr"); %>'; 591 cookie.unset("wireless_list_" + local_mac + "_temp"); 592 cookie.unset("wireless_list_" + local_mac); 593 parent.manualUpdate = true; 594 document.form.submit(); 595 } 596 </script> 597<img src="/images/InternetScan.gif" id="loadingIcon" style="visibility:hidden"> 598<img height="25" id="rightBtn" onclick="updatePagesVar('+');" style="cursor:pointer;margin-left:25px;" src="/images/arrow-right.png"> 599</body> 600</html> 601