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 += '\')">&nbsp;&nbsp;';
119		code += wl_nband_title[i];
120		code += '&nbsp;&nbsp;(<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, '&quot;');
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