(function(w) { var authStr = ['Open', 'WEP', 'WPA', 'WPA2', 'WPA/WPA2']; var curSSID; // Get XX % for a slider input function rangePt(inp) { return Math.round(((inp.value / inp.max)*100)) + '%'; } // Display selected STA SSID etc function selectSta(name, password, ip) { $('#sta_ssid').val(name); $('#sta_password').val(password); $('#sta-nw').toggleClass('hidden', name.length == 0); $('#sta-nw-nil').toggleClass('hidden', name.length > 0); $('#sta-nw .essid').html(e(name)); var nopw = undef(password) || password.length == 0; $('#sta-nw .passwd').toggleClass('hidden', nopw); $('#sta-nw .nopasswd').toggleClass('hidden', !nopw); $('#sta-nw .ip').html(ip.length>0 ? tr('wifi.connected_ip_is')+ip : tr('wifi.not_conn')); } /** Update display for received response */ function onScan(resp, status) { //var ap_json = { // "result": { // "inProgress": "0", // "APs": [ // {"essid": "Chlivek", "bssid": "88:f7:c7:52:b3:99", "rssi": "204", "enc": "4", "channel": "1"}, // {"essid": "TyNikdy", "bssid": "5c:f4:ab:0d:f1:1b", "rssi": "164", "enc": "3", "channel": "1"}, // ] // } //}; if (status != 200) { // bad response rescan(5000); // wait 5sm then retry return; } try { resp = JSON.parse(resp); } catch (e) { console.log(e); rescan(5000); return; } var done = !bool(resp.result.inProgress) && (resp.result.APs.length > 0); rescan(done ? 15000 : 1000); if (!done) return; // no redraw yet // clear the AP list var $list = $('#ap-list'); // remove old APs $('#ap-list .AP').remove(); $list.toggleClass('hidden', !done); $('#ap-loader').toggleClass('hidden', done); // scan done resp.result.APs.sort(function (a, b) { return b.rssi - a.rssi; }).forEach(function (ap) { ap.enc = parseInt(ap.enc); if (ap.enc > 4) return; // hide unsupported auths var item = mk('div'); var $item = $(item) .data('ssid', ap.essid) .data('pwd', ap.enc) .attr('tabindex', 0) .addClass('AP'); // mark current SSID if (ap.essid == curSSID) { $item.addClass('selected'); } var inner = mk('div'); $(inner).addClass('inner') .htmlAppend('