http://downloads.netgear.com/files/GPL/DM111PSP_v3.61d_GPL.tar.gz
[bcm963xx.git] / userapps / broadcom / cfm / html / wlcfgadv.html
index 89b4e0d..5d470f1 100755 (executable)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--
-    (c) 2005 U.S. Robotics Corporation
--->
-<html>
-<head>
-       <title>Advanced Settings &laquo; Wireless</title>
-
-       <link href="usr_layout.css" type="text/css" rel="stylesheet" />
-       <script src="usr_layout.js" type="text/javascript"></script>
-
-       <link href="usr_menus_dropdown.css" rel="stylesheet" type="text/css">
-       <script src="usr_menus_dropdown.js" type="text/javascript"></script>
-       <script src="usr_menus_build.js" type="text/javascript"></script>
-
-       <link href="usr_device.css" type="text/css" rel="stylesheet" />
-       <script src="usr_device.js" type="text/javascript"></script>
-
-       <link href="usr_91xx.css" type="text/css" rel="stylesheet" />
-       <script src="usr_91xx.js" type="text/javascript"></script>
-       <script src="usr_resources.js" type="text/javascript"></script>
-
-       <meta HTTP-EQUIV='Pragma' CONTENT='no-cache'>
-
-       <script type="text/javascript" src="util.js"></script>
-       <script type="text/javascript">
-<!-- hide
-
-var enbl = '<%ejGetWlJS(wlEnbl)%>';
-var country = '<%ejGetWlJS(wlCountry)%>';
-var channel = '<%ejGetWlJS(wlChannel)%>';
-var rate = '<%ejGetWlJS(wlRate)%>';
-var frg = '<%ejGetWlJS(wlFrgThrshld)%>';
-var rts = '<%ejGetWlJS(wlRtsThrshld)%>';
-var dtm = '<%ejGetWlJS(wlDtmIntvl)%>';
-var bcn = '<%ejGetWlJS(wlBcnIntvl)%>';
-var phy = '<%ejGetWlJS(wlPhyType)%>';
-var brate = '<%ejGetWlJS(wlBasicRate)%>';
-var fburst = '<%ejGetWlJS(wlFrameBurst)%>';
-var gmode = '<%ejGetWlJS(wlgMode)%>';
-var pro = '<%ejGetWlJS(wlProtection)%>';
-var pre = '<%ejGetWlJS(wlPreambleType)%>';
-var apisolation= '<%ejGetWlJS(wlAPIsolation)%>';
-var band= '<%ejGetWlJS(wlBand)%>';
-var mcastrate = '<%ejGetWlJS(wlMCastRate)%>';
-var hasafterburner = '<%ejGetWlJS(wlHasAfterburner)%>';
-var afterburneren = '<%ejGetWlJS(wlAfterBurnerEn)%>';
-var bands = '<%ejGetWlJS(wlBands)%>';
-var mode = '<%ejGetWlJS(wlMode)%>';
-var wlRefresh = '<%ejGetWlJS(wlRefresh)%>';
-var TxPwrPcnt = '<%ejGetWlJS(wlTxPwrPcnt)%>';
-var reg_mode = '<%ejGetWlJS(wlRegMode)%>';
-var dfs_preism = '<%ejGetWlJS(wlDfsPreIsm)%>';
-var dfs_postism = '<%ejGetWlJS(wlDfsPostIsm)%>';
-var tpcDb = '<%ejGetWlJS(wlTpcDb)%>';
-var wme = '<%ejGetWlJS(wlWme)%>';
-var wlCurrentChannel = '<%ejGetWlJS(wlCurrentChannel)%>';
-var csscantimer = '<%ejGetWlJS(wlCsScanTimer)%>';
-var maxassoc = '<%ejGetWlJS(wlMaxAssoc)%>';
-var nbw = '<%ejGetWlJS(wlNBw)%>';
-var nctrlsb = '<%ejGetWlJS(wlNCtrlsb)%>';
-var corerev = '<%ejGetWlJS(wlCoreRev)%>';
-var npro = '<%ejGetWlJS(wlNProtection)%>';
-var nmcsidx = '<%ejGetWlJS(wlNMcsidx)%>';
-var chanspec = '<%ejGetWlJS(wlCurrentChSpec)%>';
-var nmode = '<%ejGetWlJS(wlNmode)%>';
-var nreqd = '<%ejGetWlJS(wlNReqd)%>';
-var curr_bw_str = "";
-
-
-
-if ( wlRefresh == '1' ) {
-   var code = 'location="wlcfgadvrefresh.wl?wlRefresh=0"';
-   eval(code);
-}
-
-function getGmodeIndex(mode) {
-   var ret = 0;
-   switch(mode) {
-   case '0':
-      ret = 3;
-      break;
-   case '4':
-      ret = 1;
-      break;
-   case '5':
-      ret = 2;
-      break;
-   default:
-      ret = 0;
-      break;
-   }
-   return ret;
-}
-
-function getNmodeIndex(mode) {
-   var ret = 0;
-   switch(mode) {
-   case "off":
-      ret = 1;
-      break;
-   case "auto":
-   default:
-      ret = 0;
-      break;
-   }
-   return ret;
-}
-
-function genericChange(OnPageLoad)
-{
-   with ( document.forms[0] )
-   {
-      if(OnPageLoad)
-      {
-         wlAPIsolation.selectedIndex = parseInt(apisolation);
-         wlRate.selectedIndex = getRateIndex(rate);
-         wlMCastRate.selectedIndex = getRateIndex(mcastrate);
-         wlBasicRate.selectedIndex = getBasicRateIndex(brate);
-
-         if (afterburneren == "auto")
-             cbAcceleration.value = "maxg";
-         else if (fburst != "off")
-             cbAcceleration.value = "xpress";
-         else
-             cbAcceleration.value = "none";
-       
-         wlFrgThrshld.value = frg;
-         wlRtsThrshld.value = rts;
-         wlDtmIntvl.value = dtm;
-         wlBcnIntvl.value = bcn;
-         wlCsScanTimer.value = csscantimer;
-         wlMaxAssoc.value = maxassoc;
-         wlTxPower.selectedIndex = ((TxPwrPcnt/20) -1);
-         wlRegMode.selectedIndex = reg_mode;
-         wlDfsPreIsm.value = dfs_preism;
-         wlDfsPostIsm.value = dfs_postism;
-         wlTpcDb.selectedIndex = getTpcDbIndex(tpcDb);
-         /* preamble */
-         if ( pre == 'short' )
-            wlPreambleType.selectedIndex = 1;
-         else
-            wlPreambleType.selectedIndex = 0;
-               /*
-                       If WMM is enabled or the AP mode isn't set, cannot set acceleration to MAXg.
-               */
-/*DELME
-               if (wme == "1")
-               {
-                       // find the index of the MAXg option and delete it
-                       for (var ix = 0; ix < cbAcceleration.options.length; ++ix)
-                       {
-                               if (cbAcceleration.options[ix].value == "maxg")
-                               {
-                                       cbAcceleration.options[ix] = null;
-                                       break;
-                               }
-                       }
-               }
-DELME*/
-               setVisibility("idWMMnoMAXg", (wme == "1"));
-               setVisibility("idWMMno11n", (wme == "1"));
-//DELME                wlNmode.disabled = (wme == "1");   
-      }
-   }
-}
-
-function gModeChange(OnPageLoad) {
-
-   var sel_band;
-   var sel_gmode;
-   var sel_pro;
-   var sel_pre;
-   var sel_nmode;
-
-   /* save selected */
-   if(OnPageLoad) {
-      sel_band = band;
-      sel_gmode = gmode;
-      sel_pro = pro;
-      sel_nmode = nmode;
-   } else {
-      sel_band = document.forms[0].wlBand.value;
-      sel_gmode = document.forms[0].wlgMode.value;
-      sel_pro = document.forms[0].wlProtection.value;
-      sel_nmode = document.forms[0].wlNmode.value;
-   }
-
-   with ( document.forms[0] ) {
-      setVisibility("preambleType", false);
-
-      wlProtection.selectedIndex = getGModeProtection(sel_pro);
-      switch(sel_gmode) {
-         case '0':
-            setVisibility("preambleType", true);
-            wlgMode.selectedIndex = 3;
-            break;
-         case '4':
-            wlgMode.selectedIndex = 1;
-            break;
-         case '5':
-            wlgMode.selectedIndex = 2;
-            break;
-         default:
-            wlgMode.selectedIndex = 0;
-            setVisibility("preambleType", true);
-            break;
-      }
-
-      if (phy == "n" && sel_nmode != "off") {
-         SetDivisionVisibility("gMode", false);
-      } else {
-         if (sel_band == "2") {
-           if (phy == "b") { //11b
-             SetDivisionVisibility("gMode", false);
-           }
-           else { //11g
-             SetDivisionVisibility("gMode", true);
-           }
-         }
-         else { //11a
-           SetDivisionVisibility("gMode", false);
-           setVisibility("preambleType", false);
-         }
-      }
-   }
-}
-
-function wlLoadCountryList(OnPageLoad)
-{
-   var sel = 0;
-   var idx;
-
-   /* save selected */
-   if(OnPageLoad) {
-      sel = country;
-   } else {
-      sel = document.forms[0].wlCountry.options[document.forms[0].wlCountry.selectedIndex].value;
-   }
-
-   /* load list */
-   if (band == "1") { // 5G
-      <%ejGetWl(wlCountryList, a)%>
-   } else {
-      <%ejGetWl(wlCountryList, b)%>
-   }
-
-   /* mark selected */
-   for (idx=0; idx < document.forms[0].wlCountry.options.length; idx++) {
-      if (document.forms[0].wlCountry.options[idx].value == sel) {
-         document.forms[0].wlCountry.options[idx].selected = true;
-         break;
-      }
-   }
-
-   /* set to all(the last one) if not found */
-   if( idx == document.forms[0].wlCountry.options.length)
-      document.forms[0].wlCountry.options[idx-1].selected = true;
-}
-
-function loadChannelList(OnPageLoad)
-{
-   var sel_ch;
-   var sel_band;
-   var sel_nbw;
-   var sel_sb;
-   var idx;
-
-   /* save selected */
-   if(OnPageLoad) {
-      sel_ch = channel;
-      sel_band = band;
-      sel_nbw = nbw;
-      sel_sb = nctrlsb;
-   } else {
-      sel_ch = document.forms[0].wlChannel.value;
-      sel_band = document.forms[0].wlBand.value;
-      sel_nbw = document.forms[0].wlNbw.value;
-      sel_sb = document.forms[0].wlNCtrlsb.value;
-   }
-
-   /* load list */
-   document.forms[0].wlChannel.length = 0;
-
-   if ((sel_band == "2") && (phy != "n") ) {
-      <%ejGetWlStr(wlChannelList, b)%>
-   }
-   else  if ((sel_band == "1") && (phy != "n")) {
-      <%ejGetWlStr(wlChannelList, a)%>
-   }
-   else  if ((sel_band == "2") && (phy == "n") ) {
-      if(sel_nbw == 40) {
-         if(sel_sb == 1) {
-            <%ejGetWlStr(wlChannelList, n, b, 40, "upper")%>
-         } else {
-            <%ejGetWlStr(wlChannelList, n, b, 40, "lower")%>
-         }
-      } else {
-         <%ejGetWlStr(wlChannelList, n, b, 20 )%>
-      }
-   }
-   else  if ((sel_band == "1") && (phy == "n") ) {
-      if(sel_nbw == 40) {
-         if(sel_sb == 1) {
-            <%ejGetWlStr(wlChannelList, n, a, 40, "upper")%>
-         } else {
-            <%ejGetWlStr(wlChannelList, n, a, 40, "lower")%>
-         }
-      } else {
-         <%ejGetWlStr(wlChannelList, n, a, 20 )%>
-      }
-   }
-   else {
-      wlChannel[0] = new Option("Automatic", "0")
-   }
-
-   /* mark selected */
-   for (idx=0; idx<document.forms[0].wlChannel.options.length; idx++) {
-      if (document.forms[0].wlChannel.options[idx].value == sel_ch) {
-         document.forms[0].wlChannel.options[idx].selected = true;
-         break;
-      }
-   }
-
-   /* set to first channel if not found */
-   if (idx == document.forms[0].wlChannel.options.length) {
-      document.forms[0].wlChannel.options[0].selected = true;
-   }
-
-   with ( document.forms[0] ) {
-      if( wlChannel.selectedIndex != 0 ) {
-         wlCsScanTimer.disabled=true;
-      } else {
-         wlCsScanTimer.disabled=false;
-      }
-   }
-}
-
-function loadRateList(OnPageLoad) {
-   var sel_band;
-   var sel_rate;
-   var idx;
-   var sel_nmode;
-   var sel_gmode;
-
-   /* save selected */
-   if(OnPageLoad) {
-      sel_band = band;
-      sel_rate = rate;
-      sel_nmode = nmode;
-      sel_gmode = gmode;
-   }
-   else {
-      sel_band = document.forms[0].wlBand.value;
-      sel_rate = document.forms[0].wlRate.value;
-      sel_nmode = document.forms[0].wlNmode.value;
-      sel_gmode = document.forms[0].wlgMode.value;
-   }
-
-   if(phy != "n") sel_nmode = "off";
-
-   document.forms[0].wlRate.length = 0;
-
-   if (sel_band == "2") { // 2.4G
-      if (phy == "b" ||
-          (country == "JP" && document.forms[0].wlChannel.value == 14) ||
-          (sel_nmode == "off" && sel_gmode == "0")) {
-document.forms[0].wlRate[0] = new Option("Automatic", "0");
-document.forms[0].wlRate[1] = new Option("1 Mbps", "1000000");
-document.forms[0].wlRate[2] = new Option("2 Mbps", "2000000");
-document.forms[0].wlRate[3] = new Option("5.5 Mbps", "5500000");
-document.forms[0].wlRate[4] = new Option("11 Mbps", "11000000");
-      }
-      else {
-document.forms[0].wlRate[0] = new Option("Automatic", "0");
-document.forms[0].wlRate[1] = new Option("1 Mbps", "1000000");
-document.forms[0].wlRate[2] = new Option("2 Mbps", "2000000");
-document.forms[0].wlRate[3] = new Option("5.5 Mbps", "5500000");
-document.forms[0].wlRate[4] = new Option("6 Mbps", "6000000");
-document.forms[0].wlRate[5] = new Option("9 Mbps", "9000000");
-document.forms[0].wlRate[6] = new Option("11 Mbps", "11000000");
-document.forms[0].wlRate[7] = new Option("12 Mbps", "12000000");
-document.forms[0].wlRate[8] = new Option("18 Mbps", "18000000");
-document.forms[0].wlRate[9] = new Option("24 Mbps", "24000000");
-document.forms[0].wlRate[10] = new Option("36 Mbps", "36000000");
-document.forms[0].wlRate[11] = new Option("48 Mbps", "48000000");
-document.forms[0].wlRate[12] = new Option("54 Mbps", "54000000");
-     }
-   }
-   else if (sel_band == "1") { // 5G
-document.forms[0].wlRate[0] = new Option("Automatic", "0");
-document.forms[0].wlRate[1] = new Option("6 Mbps", "6000000");
-document.forms[0].wlRate[2] = new Option("9 Mbps", "9000000");
-document.forms[0].wlRate[3] = new Option("12 Mbps", "12000000");
-document.forms[0].wlRate[4] = new Option("18 Mbps", "18000000");
-document.forms[0].wlRate[5] = new Option("24 Mbps", "24000000");
-document.forms[0].wlRate[6] = new Option("36 Mbps", "36000000");
-document.forms[0].wlRate[7] = new Option("48 Mbps", "48000000");
-document.forms[0].wlRate[8] = new Option("54 Mbps", "54000000");
-   }
-   else {
-document.forms[0].wlRate[0] = new Option("Automatic", "0");
-   }
-
-   if(sel_nmode != "off") {
-      /* exclude auto for 802.11a/b/g (Legacy) rates if 11n is enabled */
-      document.forms[0].wlRate[0]=null;
-   }
-
-   /* mark selected */
-   for (idx = 0; idx < document.forms[0].wlRate.options.length; idx++) {
-      if (document.forms[0].wlRate.options[idx].value == sel_rate) {
-         document.forms[0].wlRate.options[idx].selected = true;
-         break;
-      }
-   }
-
-   /* set to first(Auto) if not found */
-   if( idx == document.forms[0].wlRate.options.length)
-      document.forms[0].wlRate.options[0].selected = true;
-}
-
-
-function loadMCastRateList(OnPageLoad) {
-
-   var sel_band;
-   var sel_rate;
-   var idx;
-   var sel_nmode;
-   var sel_gmode;
-
-   /* save selected */
-   if(OnPageLoad) {
-      sel_band = band;
-      sel_rate = mcastrate;
-      sel_nmode = nmode;
-      sel_gmode = gmode;
-   }
-   else {
-      sel_band = document.forms[0].wlBand.value;
-      sel_rate = document.forms[0].wlMCastRate.value;
-      sel_nmode = document.forms[0].wlNmode.value;
-      sel_gmode = document.forms[0].wlgMode.value;
-   }
-
-   if(phy != "n") sel_nmode = "off";
-
-   document.forms[0].wlMCastRate.length = 0;
-   if (sel_band == "2") { // 2.4G
-      if (phy == "b" ||
-          (country == "JP" && document.forms[0].wlChannel.value == 14) ||
-          (sel_nmode == "off" && sel_gmode == "0")) {
-document.forms[0].wlMCastRate[0] = new Option("Automatic", "0");
-document.forms[0].wlMCastRate[1] = new Option("1 Mbps", "1000000");
-document.forms[0].wlMCastRate[2] = new Option("2 Mbps", "2000000");
-document.forms[0].wlMCastRate[3] = new Option("5.5 Mbps", "5500000");
-document.forms[0].wlMCastRate[4] = new Option("11 Mbps", "11000000");
-      }
-      else {
-document.forms[0].wlMCastRate[0] = new Option("Automatic", "0");
-document.forms[0].wlMCastRate[1] = new Option("1 Mbps", "1000000");
-document.forms[0].wlMCastRate[2] = new Option("2 Mbps", "2000000");
-document.forms[0].wlMCastRate[3] = new Option("5.5 Mbps", "5500000");
-document.forms[0].wlMCastRate[4] = new Option("6 Mbps", "6000000");
-document.forms[0].wlMCastRate[5] = new Option("9 Mbps", "9000000");
-document.forms[0].wlMCastRate[6] = new Option("11 Mbps", "11000000");
-document.forms[0].wlMCastRate[7] = new Option("12 Mbps", "12000000");
-document.forms[0].wlMCastRate[8] = new Option("18 Mbps", "18000000");
-document.forms[0].wlMCastRate[9] = new Option("24 Mbps", "24000000");
-document.forms[0].wlMCastRate[10] = new Option("36 Mbps", "36000000");
-document.forms[0].wlMCastRate[11] = new Option("48 Mbps", "48000000");
-document.forms[0].wlMCastRate[12] = new Option("54 Mbps", "54000000");
-     }
-   }
-   else if (sel_band == "1") { // 5G
-document.forms[0].wlMCastRate[0] = new Option("Automatic", "0");
-document.forms[0].wlMCastRate[1] = new Option("6 Mbps", "6000000");
-document.forms[0].wlMCastRate[2] = new Option("9 Mbps", "9000000");
-document.forms[0].wlMCastRate[3] = new Option("12 Mbps", "12000000");
-document.forms[0].wlMCastRate[4] = new Option("18 Mbps", "18000000");
-document.forms[0].wlMCastRate[5] = new Option("24 Mbps", "24000000");
-document.forms[0].wlMCastRate[6] = new Option("36 Mbps", "36000000");
-document.forms[0].wlMCastRate[7] = new Option("48 Mbps", "48000000");
-document.forms[0].wlMCastRate[8] = new Option("54 Mbps", "54000000");
-   }
-   else {
-document.forms[0].wlMCastRate[0] = new Option("Automatic", "0");
-   }
-
-   /* mark selected */
-   for (idx=0; idx < document.forms[0].wlMCastRate.options.length; idx++) {
-      if (document.forms[0].wlMCastRate.options[idx].value == sel_rate) {
-         document.forms[0].wlMCastRate.options[idx].selected = true;
-         break;
-      }
-   }
-
-   /* set to first(Auto) if not found */
-   if( idx == document.forms[0].wlMCastRate.options.length)
-      document.forms[0].wlMCastRate.options[0].selected = true;
-
-}
-
-function loadBasicRateList(OnPageLoad) {
-
-   var sel_band;
-   var sel_rate;
-   var idx;
-
-   /* save selected */
-   if(OnPageLoad) {
-      sel_band = band;
-      sel_rate = brate;
-   }
-   else {
-      sel_band = document.forms[0].wlBand.value;
-      sel_rate = document.forms[0].wlBasicRate.value;
-   }
-
-  document.forms[0].wlBasicRate.length = 0;
-
-   if (sel_band == "2") { // 2.4G
-document.forms[0].wlBasicRate[0] = new Option("Default", "default");
-document.forms[0].wlBasicRate[1] = new Option("All", "all");
-document.forms[0].wlBasicRate[2] = new Option("1 & 2 Mbps", "12");
-      if (phy != "b") {
-         document.forms[0].wlBasicRate[3] = new Option("1 & 2 & 5.5 & 6 & 11 & 12 & 24 Mbps", "wifi2");
-      }
-
-   }
-   else if (sel_band == "1") { // 5G
-document.forms[0].wlBasicRate[0] = new Option("Default", "default");
-document.forms[0].wlBasicRate[1] = new Option("All", "all");
-document.forms[0].wlBasicRate[2] = new Option("6 & 12 Mbps", "12");
-document.forms[0].wlBasicRate[3] = new Option("6 & 12 & 24 Mbps", "wifi2");
-   }
-   else {
-document.forms[0].wlBasicRate[0] = new Option("Default", "0");
-   }
-
-   /* mark selected */
-   for (idx=0; idx < document.forms[0].wlBasicRate.options.length; idx++) {
-      if (document.forms[0].wlBasicRate.options[idx].value == sel_rate) {
-         document.forms[0].wlBasicRate.options[idx].selected = true;
-         break;
-      }
-   }
-
-   /* set to first(Auto) if not found */
-   if( idx == document.forms[0].wlBasicRate.options.length)
-      document.forms[0].wlBasicRate.options[0].selected = true;
-
-}
-
-function onBandChange(OnPageLoad) {
-
-   with ( document.forms[0] ) {
-      var sel_band;
-
-      /* save selected */
-      if(OnPageLoad) {
-         sel_band = band;
-         wlBand.selectedIndex = getBandIndex(sel_band);
-      }
-      else {
-         sel_band = document.forms[0].wlBand.value;
-      }
-
-      loadChannelList(OnPageLoad);
-      loadRateList(OnPageLoad);
-      loadMCastRateList(OnPageLoad);
-      loadBasicRateList(OnPageLoad);
-   }
-}
-
-function getBasicRateIndex(br) {
-   var ret = 0;
-   if ( br == "12" ) {
-      ret = 2;
-   }
-   else if ( br == "all" ) {
-      ret = 1;
-   } else if ( br == "wifi2" ) {
-      ret = 3;
-   } else
-      ret = 0;
-   return ret;
-}
-
-function getRateIndex(r) {
-   var rateNum = parseInt(r);
-   var ret = 0;
-
-   if ( band == '2') {
-      if ( phy == "b" ) { //11b
-         switch ( rateNum ) {
-         case 1000000:
-            ret = 1;
-            break;
-         case 2000000:
-            ret = 2;
-            break;
-         case 5500000:
-            ret = 3;
-            break;
-         case 11000000:
-            ret = 4;
-            break;
-         default:
-            ret = 0;
-            break;
-         }
-      }
-      // physical type is 802.11g
-      else {
-         switch ( rateNum ) {
-         case 1000000:
-            ret = 1;
-            break;
-         case 2000000:
-            ret = 2;
-            break;
-         case 5500000:
-            ret = 3;
-            break;
-         case 6000000:
-            ret = 4;
-            break;
-         case 9000000:
-            ret = 5;
-            break;
-         case 11000000:
-            ret = 6;
-            break;
-         case 12000000:
-            ret = 7;
-            break;
-         case 18000000:
-            ret = 8;
-            break;
-         case 24000000:
-            ret = 9;
-            break;
-         case 36000000:
-            ret = 10;
-            break;
-         case 48000000:
-            ret = 11;
-            break;
-         case 54000000:
-            ret = 12;
-            break;
-         default:
-            ret = 0;
-            break;
-         }
-      }
-   }
-   // physical type is 802.11a
-   else if ( band == '1' ) { // 11a
-      switch ( rateNum ) {
-      case 6000000:
-         ret = 1;
-         break;
-      case 9000000:
-         ret = 2;
-         break;
-      case 12000000:
-         ret = 3;
-         break;
-      case 18000000:
-         ret = 4;
-         break;
-      case 24000000:
-         ret = 5;
-         break;
-      case 36000000:
-         ret = 6;
-         break;
-      case 48000000:
-         ret = 7;
-         break;
-      case 54000000:
-         ret = 8;
-         break;
-      default:
-         ret = 0;
-         break;
-      }
-   }
-   return ret;
-}
-
-function getFrameBurstIndex(frameburst) {
-   var ret;
-
-   if ( frameburst == "off" )
-      ret = 0;
-   else
-      ret = 1;
-   return ret;
-}
-
-function getAfterBurnerIndex(afterburner) {
-   var ret;
-
-   if ( afterburner == "auto" )
-      ret = 1;
-   else
-      ret = 0;
-   return ret;
-}
-
-function getGModeProtection(pro) {
-   var ret;
-
-   if ( pro == "auto" )
-      ret = 1;
-   else
-      ret = 0;
-   return ret;
-}
-
-function getTpcDbIndex(val) {
-   var ret;
-
-   if ( val == "0" )
-      ret = 0;
-   else if ( val == "2" )
-      ret = 1;
-   else if ( val == "3" )
-      ret = 2;
-   else if ( val == "4" )
-      ret = 3;
-   else ret = 0;
-   return ret;
-}
-
-function phyChange() {
-   with ( document.forms[0] )
-      if (phy == "n") {
-         SetDivisionVisibility("nMode", true);
-         setVisibility("div_nMode_sel", true);
-         SetDivisionVisibility("gMode", false);
-      } else {
-         SetDivisionVisibility("nMode", false);
-         setVisibility("div_nMode_sel", false);
-         SetDivisionVisibility("gMode", true);
-      }
-}
-
-function RegModeChange(OnPageLoad) {
-   with ( document.forms[0] ) {
-      var sel_band;
-
-      /* save selected */
-      if(OnPageLoad) {
-         sel_band = band;
-      }
-      else {
-         sel_band = document.forms[0].wlBand.value;
-      }
-
-      if( wlRegMode.selectedIndex != 1 )
-         wlDfsPreIsm.disabled=wlDfsPostIsm.disabled=wlTpcDb.disabled=true;
-      else
-         wlDfsPreIsm.disabled=wlDfsPostIsm.disabled=wlTpcDb.disabled=false;
-
-      if (sel_band == "2") {
-        SetDivisionVisibility("regMode", false);
-      }
-      else {
-        SetDivisionVisibility("regMode", true);
-      }
-   }
-}
-
-function getBandIndex(b) {
-   var ret;
-
-   if ( b == '1' )
-      ret = 1;
-   else
-      ret = 0;
-   return ret;
-}
-
-function wl_afterburner_options(OnPageLoad)
-{
-       with (document.forms[0])
-       {
-               // MAXg and WMM cannot both be enabled at the same time. MAXg requires Fragmentation to be set to 2346.
-               // But no need to check these because the MAXg option is deleted if they're true.
-               if (cbAcceleration.value == "maxg")
-                       wlFrgThrshld.value = 2346;
-       }
-       return true;
-}
-
-function wl_ewc_options(OnPageLoad)
-{
-   var sel_nbw;
-   var sel_nmcsidx;
-   var idx;
-   var sel_ch;
-   var sel_nmode;
-   var sel_nreqd;
-
-   if(phy != "n")
-      return;
-
-   if(OnPageLoad) {
-     sel_nbw = curr_bw_str; //nbw;
-     sel_ch = channel;
-     sel_nmode = nmode;
-     sel_nreqd = nreqd;
-
-     document.forms[0].wlNProtection.value = npro;
-     sel_nmcsidx = nmcsidx;
-     if(nctrlsb == 0) {
-        document.forms[0].wlNCtrlsb.selectedIndex = 0;
-        document.forms[0].wlNCtrlsb.disabled = 1;
-     } else
-        document.forms[0].wlNCtrlsb.value = nctrlsb;
-
-     document.forms[0].wlNReqd.value = nreqd;
-     if(sel_nmode == "off") {
-        document.forms[0].wlNmode.selectedIndex = 1;
-     }
-
-   } else {
-     sel_ch = document.forms[0].wlChannel.value;
-     sel_nbw = document.forms[0].wlNbw.value;
-     sel_nmcsidx = document.forms[0].wlNMmcsidx.value;
-     sel_nmode = document.forms[0].wlNmode.value;
-     sel_nreqd = document.forms[0].wlNReqd.value;
-   }
-
-   if(sel_nmode == "off") {
-      document.forms[0].wlNMmcsidx.disabled = 1;
-      document.forms[0].wlNbw.disabled = 1;
-      document.forms[0].wlNProtection.disabled = 1;
-      document.forms[0].wlNReqd.disabled = 1;
-      SetDivisionVisibility("nMode", false);
-   } else {
-      document.forms[0].wlNMmcsidx.disabled = 0;
-      document.forms[0].wlNbw.disabled = 0;
-      document.forms[0].wlNProtection.disabled = 0;
-      document.forms[0].wlNReqd.disabled = 0;
-      SetDivisionVisibility("nMode", true);
-   }
-
-   if (document.forms[0].wlNMmcsidx != null)
-      document.forms[0].wlNMmcsidx.disabled = 0;
-
-   if(corerev > 11) {
-      bw = new Array("10", "20", "40");
-   } else {
-      bw = new Array("20", "40");
-   }
-
-   /* If nmode is disabled, allow only 20Mhz selection and disable selection */
-   if (sel_nmode == "off") {
-      bw = new Array("20");
-      nbw = "20";
-   }
-
-   document.forms[0].wlNbw.length = 0;
-   for (var i in bw) {
-      document.forms[0].wlNbw[i] = new Option(bw[i] + " MHz", bw[i]);
-         /* Fix the selectedIndex to match new set of options */
-      if (bw[i] == sel_nbw) {
-         document.forms[0].wlNbw.selectedIndex = i;
-      }
-   }
-
-   /* load n phy rates */
-   if(sel_ch == 0) {
-      document.forms[0].wlNCtrlsb.disabled = 1;
-      document.forms[0].wlNbw.disabled = 1;
-      <%ejGetWlStr(wlNPhyRates, "0");%>
-   } else if (sel_nbw == "40") {
-      /* Control sb is allowed only for 40MHz BW Channels */
-      document.forms[0].wlNCtrlsb.disabled = 0;
-      <%ejGetWlStr(wlNPhyRates, "40");%>
-   } else if (sel_nbw == "20") {
-      document.forms[0].wlNCtrlsb.selectedIndex = 0;
-      document.forms[0].wlNCtrlsb.disabled = 1;
-      <%ejGetWlStr(wlNPhyRates, "20");%>
-   }
-
-   /* mark selected */
-   for (idx=0; idx< document.forms[0].wlNMmcsidx.options.length; idx++) {
-      if (document.forms[0].wlNMmcsidx[idx].value == sel_nmcsidx) {
-         document.forms[0].wlNMmcsidx[idx].selected = true;
-         break;
-      }
-   }
-
-   /* set to first (Auto) if not found */
-   if( idx == document.forms[0].wlNMmcsidx.options.length)
-      document.forms[0].wlNMmcsidx.options[0].selected = true;
-
-   /* mark selected */
-   document.forms[0].wlNmode.selectedIndex = getNmodeIndex(sel_nmode);
-
-}
-
-function wl_mcs_onchange(OnPageLoad)
-{
-   var sel_nmcsidx;
-   var sel_nmode;
-
-   if(phy != "n")
-      return;
-
-   if(OnPageLoad) {
-     sel_nmcsidx = nmcsidx;
-     sel_nmode = nmode;
-   } else {
-     sel_nmcsidx = document.forms[0].wlNMmcsidx.value;
-     sel_nmode = document.forms[0].wlNmode.value;
-   }
-
-   /* If using 'legacy rate' then enable */
-   if (sel_nmcsidx == "-2" || sel_nmode == "off")
-      document.forms[0].wlRate.disabled = 0;
-   else
-      document.forms[0].wlRate.disabled = 1;
-}
-
-
-function wl_recalc(OnPageLoad) {
-   with ( document.forms[0] ) {
-      phyChange(OnPageLoad);
-      genericChange(OnPageLoad);
-      updateCurChannel(OnPageLoad);
-      onBandChange(OnPageLoad);
-      gModeChange(OnPageLoad);
-      wl_ewc_options(OnPageLoad);
-      wl_afterburner_options(OnPageLoad);
-      RegModeChange(OnPageLoad);
-      wl_mcs_onchange(OnPageLoad)
-   }
-}
-
-function updateCurChannel(OnPageLoad) {
-
-   if(OnPageLoad) {
-
-      var curr_chanspec = parseInt(chanspec);
-      var curr_sb = (curr_chanspec & 0x300 ) >> 8;
-      var curr_bw = (curr_chanspec & 0xc00 ) >> 10;
-      var curr_sb_str = "N/A";
-
-      if(curr_bw == 2)
-         curr_bw_str = "20";
-      else if (curr_bw == 3)
-         curr_bw_str = "40";
-      else if (curr_bw == 1)
-         curr_bw_str = "10";
-
-      if(curr_sb == 1)
-         curr_sb_str = "Lower";
-      else if (curr_sb == 2)
-         curr_sb_str = "Upper";
-      else if (curr_sb == 3)
-         curr_sb_str = "None";
-   }
-}
-
-function onNmodeChange()
-{
-       /*
-               if WMM is on (and we're not already turning if off) and we're turning
-               on 802.11n mode, we have to turn off WMM.
-       */
-       if ((wme == "1") && bWMM && (document.forms[0].wlNmode.value == "auto"))
-       {
-               if (!confirm("802.11n mode does not support WMM. Click OK to enable 802.11n mode and disable WMM."))
-               {
-                       document.forms[0].wlNmode.value = "off";        // Set 802.11n back to Disabled
-                       return;
-               }
-
-               bWMM = false;           // turn off WMM
-       }
-
-   wl_recalc(false);
-   document.forms[0].wlRate.selectedIndex = 0;
-}
-
-function onAccelerationChange()
-{
-       /*
-               if WMM is on (and we're not already turning if off) and we're turning
-               on MAXg acceleration, we have to turn off WMM.
-       */
-       if ((wme == "1") && bWMM && (document.forms[0].cbAcceleration.value == "maxg"))
-       {
-               if (!confirm("MAXg acceleration is incompatible with WMM. Click OK to enable MAXg acceleration and disable WMM."))
-               {
-                       // set Acceleration to 54g+ (it could've been None, but we can't know that, so we go to the next one below MAXg)
-                       document.forms[0].cbAcceleration.value = "xpress";
-                       return;
-               }
-
-               bWMM = false;           // turn off WMM
-       }
-
-       wl_recalc(false);
-}
-
-
-function frmLoad() {
-   wl_recalc(true);
-}
-
-function SetDivisionVisibility(divID, mode)
-{
-   if ( divID == "nMode" )
-   {
-      setVisibility("idBandwidth", mode);
-      setVisibility("idCtrlSideband", mode);
-      setVisibility("idNRate", mode);
-      setVisibility("idNProtection", mode);
-      setVisibility("idNClient", mode);
-   }
-   else if ( divID == "gMode" )
-   {
-      setVisibility("id54gMode", mode);
-      setVisibility("id54gProtection", mode);
-   }
-   else if ( divID == "regMode" )
-   {
-      setVisibility("idRegulatory", mode);
-      setVisibility("idDfsPreIsm", mode);
-      setVisibility("idDfsPostIsm", mode);
-      setVisibility("idTpsMitigation", mode);
-   }
-}
-
-/*
-       If the user modifies a setting that requires WMM to be disabled,
-       this flag is reset.
-*/
-var bWMM = true;
-function btnApply()
-{
-   var loc = "wlcfgadv.wl?" + (bWMM ? "" : "wlWme=0&");
-   var idx, frgNum, rtsNum, dtmNum, bcnNum, frmburstNum;
-
-   if ( enbl == '0' )
-   {
-      alert('Cannot apply the change since wireless is currently disabled.');
-      return;
-   }
-
-   wl_recalc(false);
-
-   with ( document.forms[0] )
-   {
-      var sel_nmode = wlNmode.options[wlNmode.selectedIndex].value;
-      var sel_nmcsidx = wlNMmcsidx.value;
-
-      frgNum = parseInt(wlFrgThrshld.value);
-      if ( isNaN(frgNum) == true || frgNum < 256 || frgNum > 2346 ) {
-         alert('Fragmentation threshold "' + wlFrgThrshld.value + '" should be between 256 and 2346.');
-         return;
-      }
-
-      rtsNum = parseInt(wlRtsThrshld.value);
-      if ( isNaN(rtsNum) == true || rtsNum < 0 || rtsNum > 2347 ) {
-         alert('RTS threshold "' + wlRtsThrshld.value + '" should be between 0 and 2347.');
-         return;
-      }
-
-      dtmNum = parseInt(wlDtmIntvl.value);
-      if ( isNaN(dtmNum) == true || dtmNum < 1 || dtmNum > 255 ) {
-         alert('DTIM interval "' + wlDtmIntvl.value + '" should be between 1 and 255.');
-         return;
-      }
-
-      bcnNum = parseInt(wlBcnIntvl.value);
-      if ( isNaN(bcnNum) == true || bcnNum < 1 || bcnNum > 65535 ) {
-         alert('Beacon interval "' + wlBcnIntvl.value + '" should be between 1 and 65535.');
-         return;
-      }
-
-      assocNum = parseInt(wlMaxAssoc.value);
-      if ( isNaN(assocNum) == true || assocNum <= 0 || assocNum > 128 ) {
-         alert('Max Clients "' + wlMaxAssoc.value + '" should be between 1 and 128.');
-         return;
-      }
-
-      loc += 'wlChannel=' + wlChannel.options[wlChannel.selectedIndex].value;
-      loc += '&wlNmode=' + sel_nmode;
-      loc += '&wlNReqd=' + wlNReqd.value;
-      loc += '&wlBasicRate=' + wlBasicRate.options[wlBasicRate.selectedIndex].value;
-      loc += '&wlFrgThrshld=' + wlFrgThrshld.value;
-      loc += '&wlRtsThrshld=' + wlRtsThrshld.value;
-      loc += '&wlDtmIntvl=' + wlDtmIntvl.value;
-      loc += '&wlBcnIntvl=' + wlBcnIntvl.value;
-      loc += '&wlCsScanTimer=' + wlCsScanTimer.value;
-      loc += '&wlMaxAssoc=' + wlMaxAssoc.value;
-
-               if (cbAcceleration.value == "maxg")
-               {
-                       loc += "&wlAfterBurnerEn=auto";
-                       loc += "&wlFrameBurst=on";
-               }
-               else if (cbAcceleration.value == "xpress")
-               {
-                       loc += "&wlAfterBurnerEn=off";
-                       loc += "&wlFrameBurst=on";
-               }
-               else // if (cbAcceleration.value == "none")
-               {
-                       loc += "&wlAfterBurnerEn=off";
-                       loc += "&wlFrameBurst=off";
-               }
-
-      loc += '&wlAPIsolation=' + wlAPIsolation.value;
-      loc += '&wlBand=' + wlBand.value;
-      loc += '&wlMCastRate=' + wlMCastRate.options[wlMCastRate.selectedIndex].value;
-
-      /* rate */
-      if ( phy != "n" || (phy == "n" && (sel_nmode == "off" || sel_nmcsidx == -2)))
-         loc += '&wlRate=' + wlRate.options[wlRate.selectedIndex].value;
-
-      /* b/g mode */
-      if ( band == '2') { // 2.4G
-         if ( phy == "g" || (phy == "n" && sel_nmode == "off")) { // 802.11g
-            loc += '&wlgMode=' + wlgMode.options[wlgMode.selectedIndex].value;
-            loc += '&wlProtection=' + wlProtection.options[wlProtection.selectedIndex].value;
-            if (wlgMode.selectedIndex == 3) {
-               loc += '&wlPreambleType=' + wlPreambleType.options[wlPreambleType.selectedIndex].value;
-            }
-         } else if (phy == "b") { // 802.11b
-            loc += '&wlPreambleType=' + wlPreambleType.options[wlPreambleType.selectedIndex].value;
-         }
-      }
-
-     loc += '&wlTxPwrPcnt=' + wlTxPower.options[wlTxPower.selectedIndex].value;
-     loc += '&wlRegMode=' + wlRegMode.options[wlRegMode.selectedIndex].value;
-
-     if(phy == "n") {
-        loc += '&wlNBw=' + wlNbw.options[wlNbw.selectedIndex].value;
-
-        if(wlNbw.options[wlNbw.selectedIndex].value == 20)
-           loc += '&wlNCtrlsb=' + 0;
-        else
-           loc += '&wlNCtrlsb=' + wlNCtrlsb.options[wlNCtrlsb.selectedIndex].value;
-
-        loc += '&wlNProtection=' + wlNProtection.options[wlNProtection.selectedIndex].value;
-        loc += '&wlNMcsidx=' + wlNMmcsidx.options[wlNMmcsidx.selectedIndex].value;
-     }
-
-     if(wlRegMode.selectedIndex == 1) {
-        DfsPreIsmNum = parseInt(wlDfsPreIsm.value);
-        if ( isNaN(DfsPreIsmNum) == true || DfsPreIsmNum < 0 || DfsPreIsmNum > 99 ) {
-           alert('Pre-Network Radar Check "' + wlDfsPreIsm.value + '" should be between 0 and 99.');
-           return;
-        }
-
-        DfsPostNum = parseInt(wlDfsPostIsm.value);
-        if ( isNaN(DfsPostNum) == true || DfsPostNum < 10 || DfsPostNum > 99 ) {
-           alert('In-Network Radar Check: "' + wlDfsPostIsm.value + '" should be between 10 and 99.');
-           return;
-        }
-
-        loc += '&wlDfsPreIsm=' + wlDfsPreIsm.value;
-        loc += '&wlDfsPostIsm=' + wlDfsPostIsm.value;
-        loc += '&wlTpcDb=' + wlTpcDb.options[wlTpcDb.selectedIndex].value;
-     }
-
-   }
-   var code = 'location="' + loc + '"';
-
-   eval(code);
-}
-// done hiding -->
-       </script>
-</head>
-<body onload="initMenu(); frmLoad();">
-
-<script type="text/javascript">
-    writeHeader("Wireless");
-</script>
-
-<h3>Advanced Settings</h3>
-
-<p>This page allows you to configure advanced features of the wireless LAN
-interface. You can select a particular channel on which to operate, force the
-transmission rate to a particular speed, set the fragmentation threshold, set
-the RTS threshold, set the wakeup interval for clients in power-save mode, set
-the beacon interval for the access point, set the acceleration mode and set whether
-short or long preambles are used.</p>
-
-<p>Press <b>Apply</b> when you&rsquo;re finished making changes.</p>
-
-<form>
-   <table border="0" cellpadding="2" cellspacing="0">
-      <tr>
-          <td><label>AP isolation:</label></td>
-          <td><select name='wlAPIsolation' id='wlAPIsolation'>
-                 <option value='0'>Disabled</option>
-                 <option value='1'>Enabled</option>
-              </select></td>
-      </tr>
-      <tr>
-          <td><label>Band:</td>
-          <td><select name='wlBand' id='wlBand' onChange='onBandChange();'>
-<script type="text/javascript">
-<!-- hide
-if ( bands == '3' ) { // dual band
-         document.writeln('      <option value=2>2.4GHz</option>');
-         document.writeln('      <option value=1>5GHz</option>');
-}
-else if (bands == '1') {
-         document.writeln('      <option value=1>5GHz</option>');
-}
-else {
-         document.writeln('      <option value=2>2.4GHz</option>');
-}
-// done hiding -->
-</script>
-          </select></td>
-      </tr>
-      <tr>
-          <td><label>Channel:</label></td>
-          <td><select name='wlChannel' id='wlChannel' onChange="wl_recalc(false)">
-              </select></td>
-      </tr>
-      <tr>
-         <td><label>Channel timer:</label></td>
-         <td><input type='text' name='wlCsScanTimer' id='wlCsScanTimer' size="10"> <label>minutes</label></td>
-      </tr>
-      <tr id="div_nMode_sel">
-         <td><label>802.11n mode:</label></td>
-         <td><select name='wlNmode' id='wlNmode' onChange="onNmodeChange();">
-                <option value="auto">Automatic</option>
-                <option value="off">Disabled</option>
-             </select></td>
-      </tr>
-      <tr id="idWMMno11n">
-         <td></td>
-         <td><span class="clsNote">(Note: WMM is incompatible with <b>802.11n</b> mode.)</span></td>
-      </tr>
-      <tr id="idBandwidth">
-         <td><label>Bandwidth:</label></td>
-                <td><select name="wlNbw" id="wlNbw" onChange="wl_recalc(false)">
-                <option value="20">20MHz</option>
-                <option value="40">40MHz</option>
-             </select></td>
-      </tr>
-      <tr id="idCtrlSideband">
-         <td><label>Control sideband:</label></td>
-         <td><select name="wlNCtrlsb" id="wlNCtrlsb" onChange="wl_recalc(false)">
-                <option value="-1">Lower</option>
-                <option value="1">Upper</option>
-             </select></td>
-      </tr>
-      <tr id="idNRate">
-         <td><label>802.11n rate:</label></td>
-         <td><select name="wlNMmcsidx" id="wlNMmcsidx"  onChange="wl_mcs_onchange(false)";>
-             </select></td>
-      </tr>
-      <tr id="idNProtection">
-         <td><label>802.11n protection:</label></td>
-         <td><select name="wlNProtection" id="wlNProtection">
-                <option value="off">Off</option>
-                <option value="auto">Automatic</option>
-             </select></td>
-      </tr>
-      <tr id="idNClient">
-         <td><label>Support 802.11n client only:</label></td>
-         <td><select name="wlNReqd" id="wlNReqd">
-                <option value="0">Off</option>
-                <option value="1">On</option>
-            </select></td>
-      </tr>
-      <tr>
-          <td><label>54g&trade; rate:</label></td>
-          <td><select name='wlRate' id='wlRate'>
-              </select></td>
-      </tr>
-      <tr>
-          <td><label>Multicast rate:</label></td>
-          <td><select name='wlMCastRate' id='wlMCastRate'>
-              </select></td>
-      </tr>
-      <tr>
-          <td><label>Basic rate:</label></td>
-          <td><select name='wlBasicRate' id='wlBasicRate'>
-              </select></td>
-      </tr>
-      <tr>
-          <td><label for="wlFrgThrshld">Fragmentation&nbsp;threshold:</label></td>
-          <td><input type='text' name='wlFrgThrshld' id='wlFrgThrshld' size='10' onchange="wl_recalc(false);">
-          <span class="clsNote">(Note: <b>MAXg</b> acceleration requires a value of 2346.)</span></td>
-      </tr>
-      <tr>
-          <td><label for="wlRtsThrshld">RTS threshold:</label></td>
-          <td><input type='text' name='wlRtsThrshld' id='wlRtsThrshld' size='10'></td>
-      </tr>
-      <tr>
-          <td><label for="wlDtmIntvl">DTIM interval:</label></td>
-          <td><input type='text' name='wlDtmIntvl' id='wlDtmIntvl' size='10'></td>
-      </tr>
-      <tr>
-          <td><label for="wlBcnIntvl">Beacon interval:</label></td>
-          <td><input type='text' name='wlBcnIntvl' id='wlBcnIntvl' size='10'></td>
-      </tr>
-      <tr>
-         <td><label for="wlMaxAssoc">Maximum&nbsp;associated&nbsp;clients:</td>
-         <td><input type='text' name='wlMaxAssoc' id="wlMaxAssoc" size='10'></td>
-      </tr>
-
-      <tr>
-         <td><label>Acceleration:</label></td>
-         <td><select id="cbAcceleration" onchange="onAccelerationChange();">
-                <option value="maxg" selected>MAXg (125 Mbps)</option>
-                <option value="xpress">54g+ (XPress&trade;)</option>
-                <option value="none">None</option>
-                        </select></td>
-      </tr>
-      <tr id="idWMMnoMAXg">
-         <td></td>
-         <td><span class="clsNote">(Note: WMM is incompatible with <b>MAXg</b> acceleration.)</span></td>
-      </tr>
-
-      <tr id="id54gMode">
-         <td><label>54g&trade; mode:</label></td>
-         <td><select name="wlgMode" id="wlgMode" onChange="gModeChange()">
-                 <option value="1">Automatic</option>
-                 <option value="4">54g Performance</option>
-                 <option value="5">54g LRS</option>
-                 <option value="0">802.11b Only</option>
-             </select></td>
-      </tr>
-      <tr id="id54gProtection">
-         <td><label>54g&trade; protection:</label></td>
-         <td><select name="wlProtection" id="wlProtection">
-                 <option value="off">Disabled</option>
-                 <option value="auto">Automatic</option>
-             </select></td>
-      </tr>
-      <tr id="idRegulatory">
-         <td><label>Regulatory mode:</label></td>
-         <td><select name="wlRegMode" id="wlRegMode" onChange='RegModeChange()'>
-                 <option value="0">Disabled</option>
-                 <option value="1">802.11h</option>
-                 <option value="2">802.11d</option>
-             </select></td>
-      </tr>
-      <tr id="idDfsPreIsm">
-         <td><label for="wlDfsPreIsm">Pre-network radar check:</label></td>
-         <td><input type='text' name='wlDfsPreIsm' id='wlDfsPreIsm'></td>
-      </tr>
-      <tr id="idDfsPostIsm">
-         <td><label for="wlDfsPostIsm">In-network radar check:</label></td>
-         <td><input type='text' name='wlDfsPostIsm' id='wlDfsPostIsm'></td>
-      </tr>
-      <tr id="idTpsMitigation">
-         <td><label>TPC mitigation:</label></td>
-         <td><select name="wlTpcDb" id="wlTpcDb">
-               <option value="0">0 dB (off)</option>
-               <option value="2">2 dB</option>
-               <option value="3">3 dB</option>
-               <option value="4">4 dB</option>
-            </select></td>
-      </tr>
-       <tr id="preambleType">
-           <td><label>Preamble type:</label></td>
-           <td><select name="wlPreambleType" id="wlPreambleType">
-                  <option value="long">long</option>
-                  <option value="short">short</option>
-               </select></td>
-       </tr>
-      <tr id="WLTXPOWER">
-         <td><label>Transmit power:</label></td>
-         <td><select name="wlTxPower" id="wlTxPower">
-               <option value="20">20%</option>
-               <option value="40">40%</option>
-               <option value="60">60%</option>
-               <option value="80">80%</option>
-               <option value="100">100%</option>
-             </select></td>
-      </tr>
-   </table>
-
-   <p><input type='button' onClick='btnApply()' value='Apply'></p>
-</form>
-
-
-<script type="text/javascript">
-    writeFooter();
-</script>
-
-</body>
-</html>
+<html>\r
+   <head>\r
+      <meta HTTP-EQUIV='Pragma' CONTENT='no-cache'>\r
+      <link rel="stylesheet" href='stylemain.css' type='text/css'>\r
+         <link rel="stylesheet" href='colors.css' type='text/css'>\r
+            <script language="javascript" src="util.js"></script>\r
+            <script language="javascript">\r
+<!-- hide\r
+var enbl = '<%ejGetWl(wlEnbl)%>';\r
+var country = '<%ejGetWl(wlCountry)%>';\r
+var channel = '<%ejGetWl(wlChannel)%>';\r
+var rate = '<%ejGetWl(wlRate)%>';\r
+var frg = '<%ejGetWl(wlFrgThrshld)%>';\r
+var rts = '<%ejGetWl(wlRtsThrshld)%>';\r
+var dtm = '<%ejGetWl(wlDtmIntvl)%>';\r
+var bcn = '<%ejGetWl(wlBcnIntvl)%>';\r
+var phy = '<%ejGetWl(wlPhyType)%>';\r
+var brate = '<%ejGetWl(wlBasicRate)%>';\r
+var fburst = '<%ejGetWl(wlFrameBurst)%>';\r
+var gmode = '<%ejGetWl(wlgMode)%>';\r
+var pro = '<%ejGetWl(wlProtection)%>';\r
+var pre = '<%ejGetWl(wlPreambleType)%>';\r
+var apisolation= '<%ejGetWl(wlAPIsolation)%>';\r
+var band= '<%ejGetWl(wlBand)%>';\r
+var mcastrate = '<%ejGetWl(wlMCastRate)%>';\r
+var hasafterburner = '<%ejGetWl(wlHasAfterburner)%>';\r
+var afterburneren = '<%ejGetWl(wlAfterBurnerEn)%>';\r
+var bands = '<%ejGetWl(wlBands)%>';\r
+var mode = '<%ejGetWl(wlMode)%>';\r
+var wlRefresh = '<%ejGetWl(wlRefresh)%>';\r
+var TxPwrPcnt = '<%ejGetWl(wlTxPwrPcnt)%>';\r
+var reg_mode = '<%ejGetWl(wlRegMode)%>';\r
+var dfs_preism = '<%ejGetWl(wlDfsPreIsm)%>';\r
+var dfs_postism = '<%ejGetWl(wlDfsPostIsm)%>';\r
+var tpcDb = '<%ejGetWl(wlTpcDb)%>';\r
+var wme = '<%ejGetWl(wlWme)%>';\r
+var wlCurrentChannel = '<%ejGetWl(wlCurrentChannel)%>';\r
+var csscantimer = '<%ejGetWl(wlCsScanTimer)%>';\r
+var maxassoc = '<%ejGetWl(wlMaxAssoc)%>';\r
+var nbw = '<%ejGetWl(wlNBw)%>';\r
+var nctrlsb = '<%ejGetWl(wlNCtrlsb)%>';\r
+var corerev = '<%ejGetWl(wlCoreRev)%>';\r
+var npro = '<%ejGetWl(wlNProtection)%>';\r
+var nmcsidx = '<%ejGetWl(wlNMcsidx)%>';\r
+var chanspec = '<%ejGetWl(wlCurrentChSpec)%>';\r
+var nmode = '<%ejGetWl(wlNmode)%>'; \r
+var nreqd = '<%ejGetWl(wlNReqd)%>'; \r
+var curr_bw_str = "";\r
+\r
+\r
+\r
+if ( wlRefresh == '1' ) {\r
+   var code = 'location="wlcfgadvrefresh.wl?wlRefresh=0"';\r
+   eval(code);   \r
+}\r
+   \r
+function getGmodeIndex(mode) {\r
+   var ret = 0;\r
+   switch(mode) {\r
+   case '0':\r
+      ret = 3;\r
+      break;\r
+   case '4':\r
+      ret = 1;\r
+      break;\r
+   case '5':\r
+      ret = 2;\r
+      break;\r
+   default:\r
+      ret = 0;\r
+      break;\r
+   }\r
+   return ret;\r
+}\r
+\r
+function getNmodeIndex(mode) {\r
+   var ret = 0;\r
+   switch(mode) {\r
+   case "off":\r
+      ret = 1;\r
+      break;\r
+   case "auto":\r
+   default:\r
+      ret = 0;\r
+      break;\r
+   }\r
+   return ret;\r
+}\r
+\r
+function genericChange(OnPageLoad) {\r
+\r
+   with ( document.forms[0] ) {    \r
+      if(OnPageLoad) {\r
+         wlAPIsolation.selectedIndex = parseInt(apisolation);   \r
+         wlRate.selectedIndex = getRateIndex(rate);\r
+         wlMCastRate.selectedIndex = getRateIndex(mcastrate);\r
+         wlBasicRate.selectedIndex = getBasicRateIndex(brate);\r
+         wlFrameBurst.selectedIndex = getFrameBurstIndex(fburst);\r
+         wlFrgThrshld.value = frg;\r
+         wlRtsThrshld.value = rts;\r
+         wlDtmIntvl.value = dtm;\r
+         wlBcnIntvl.value = bcn;\r
+         wlCsScanTimer.value = csscantimer;\r
+         wlMaxAssoc.value = maxassoc;          \r
+         wlTxPower.selectedIndex = ((TxPwrPcnt/20) -1);\r
+         wlRegMode.selectedIndex = reg_mode;\r
+         wlDfsPreIsm.value = dfs_preism;\r
+         wlDfsPostIsm.value = dfs_postism;\r
+         wlTpcDb.selectedIndex = getTpcDbIndex(tpcDb);\r
+         /* preamble */\r
+         if ( pre == 'short' )\r
+            wlPreambleType.selectedIndex = 1;\r
+         else\r
+            wlPreambleType.selectedIndex = 0;                                           \r
+      }      \r
+   }\r
+}\r
+\r
+function gModeChange(OnPageLoad) {\r
+\r
+   var sel_band;\r
+   var sel_gmode;\r
+   var sel_pro;\r
+   var sel_pre;\r
+   var sel_nmode;\r
+           \r
+   /* save selected */   \r
+   if(OnPageLoad) {      \r
+      sel_band = band;\r
+      sel_gmode = gmode;\r
+      sel_pro = pro;\r
+      sel_nmode = nmode;\r
+   } else {\r
+      sel_band = document.forms[0].wlBand.value;\r
+      sel_gmode = document.forms[0].wlgMode.value; \r
+      sel_pro = document.forms[0].wlProtection.value;\r
+      sel_nmode = document.forms[0].wlNmode.value;      \r
+   }\r
+\r
+   with ( document.forms[0] ) {\r
+      showhide("preambleType", 0);\r
+         \r
+      wlProtection.selectedIndex = getGModeProtection(sel_pro);  \r
+      switch(sel_gmode) {\r
+         case '0':\r
+            showhide("preambleType", 1);         \r
+            wlgMode.selectedIndex = 3;\r
+            break;\r
+         case '4':\r
+            wlgMode.selectedIndex = 1;\r
+            break;\r
+         case '5':\r
+            wlgMode.selectedIndex = 2;\r
+            break;\r
+         default:\r
+            wlgMode.selectedIndex = 0;\r
+            showhide("preambleType", 1);            \r
+            break;\r
+      }                                        \r
+      \r
+      if (phy == "n" && sel_nmode != "off") {\r
+         showhide("div_gMode", 0);\r
+      } else {\r
+         if (sel_band == "2") {\r
+           if (phy == "b") { //11b\r
+             showhide("div_gMode", 0);\r
+           }\r
+           else { //11g\r
+             showhide("div_gMode", 1);            \r
+           }\r
+         }\r
+         else { //11a\r
+           showhide("div_gMode", 0);\r
+           showhide("preambleType", 0);    \r
+         }        \r
+      }           \r
+   }\r
+}\r
+\r
+function wlLoadCountryList(OnPageLoad)\r
+{\r
+   var sel = 0;\r
+   var idx;\r
+   \r
+   /* save selected */           \r
+   if(OnPageLoad) {         \r
+      sel = country;      \r
+   } else {\r
+      sel = document.forms[0].wlCountry.options[document.forms[0].wlCountry.selectedIndex].value;            \r
+   }\r
+   \r
+   /* load list */\r
+   if (band == "1") { // 5G\r
+      <%ejGetWl(wlCountryList, a)%>\r
+   } else {\r
+      <%ejGetWl(wlCountryList, b)%>\r
+   }\r
+\r
+   /* mark selected */         \r
+   for (idx=0; idx < document.forms[0].wlCountry.options.length; idx++) {\r
+      if (document.forms[0].wlCountry.options[idx].value == sel) {\r
+         document.forms[0].wlCountry.options[idx].selected = true;\r
+         break;\r
+      }\r
+   }\r
+   \r
+   /* set to all(the last one) if not found */\r
+   if( idx == document.forms[0].wlCountry.options.length)   \r
+      document.forms[0].wlCountry.options[idx-1].selected = true;\r
+}\r
+\r
+function loadChannelList(OnPageLoad)\r
+{\r
+   var sel_ch;\r
+   var sel_band;\r
+   var sel_nbw;\r
+   var sel_sb;\r
+   var idx;\r
+      \r
+   /* save selected */   \r
+   if(OnPageLoad) {      \r
+      sel_ch = channel;\r
+      sel_band = band;\r
+      sel_nbw = nbw;\r
+      sel_sb = nctrlsb;\r
+   } else {\r
+      sel_ch = document.forms[0].wlChannel.value;\r
+      sel_band = document.forms[0].wlBand.value;\r
+      sel_nbw = document.forms[0].wlNbw.value;\r
+      sel_sb = document.forms[0].wlNCtrlsb.value;\r
+   }\r
+   \r
+   /* load list */\r
+   document.forms[0].wlChannel.length = 0;\r
+             \r
+   if ((sel_band == "2") && (phy != "n") ) {\r
+      <%ejGetWl(wlChannelList, b)%>\r
+   }\r
+   else  if ((sel_band == "1") && (phy != "n")) {\r
+      <%ejGetWl(wlChannelList, a)%>\r
+   }\r
+   else  if ((sel_band == "2") && (phy == "n") ) { \r
+      if(sel_nbw == 40) {\r
+         if(sel_sb == 1) {\r
+            <%ejGetWl(wlChannelList, n, b, 40, "upper")%>\r
+         } else {\r
+            <%ejGetWl(wlChannelList, n, b, 40, "lower")%>         \r
+         }            \r
+      } else {      \r
+         <%ejGetWl(wlChannelList, n, b, 20 )%>\r
+      }         \r
+   }\r
+   else  if ((sel_band == "1") && (phy == "n") ) {    \r
+      if(sel_nbw == 40) {\r
+         if(sel_sb == 1) {\r
+            <%ejGetWl(wlChannelList, n, a, 40, "upper")%>\r
+         } else {\r
+            <%ejGetWl(wlChannelList, n, a, 40, "lower")%>         \r
+         }  \r
+      } else {\r
+         <%ejGetWl(wlChannelList, n, a, 20 )%>\r
+      }         \r
+   }      \r
+   else {\r
+      wlChannel[0] = new Option("Auto", "0")\r
+   }\r
+         \r
+   /* mark selected */\r
+   for (idx=0; idx<document.forms[0].wlChannel.options.length; idx++) {\r
+      if (document.forms[0].wlChannel.options[idx].value == sel_ch) {\r
+         document.forms[0].wlChannel.options[idx].selected = true;\r
+         break;\r
+      }\r
+   }\r
+   \r
+   /* set to first channel none-auto if not found */   \r
+   if (idx == document.forms[0].wlChannel.options.length) {\r
+      document.forms[0].wlChannel.options[1].selected = true;\r
+   }\r
+   \r
+   with ( document.forms[0] ) {\r
+      if( wlChannel.selectedIndex != 0 ) {\r
+         wlCsScanTimer.disabled=true;         \r
+      } else {\r
+         wlCsScanTimer.disabled=false;         \r
+      }\r
+   }   \r
+}\r
+\r
+function loadRateList(OnPageLoad) {\r
+   var sel_band;\r
+   var sel_rate;\r
+   var idx;\r
+   var sel_nmode;\r
+   var sel_gmode;\r
+         \r
+   /* save selected */\r
+   if(OnPageLoad) {\r
+      sel_band = band;\r
+      sel_rate = rate;\r
+      sel_nmode = nmode;\r
+      sel_gmode = gmode;\r
+   }\r
+   else {\r
+      sel_band = document.forms[0].wlBand.value;\r
+      sel_rate = document.forms[0].wlRate.value;\r
+      sel_nmode = document.forms[0].wlNmode.value;\r
+      sel_gmode = document.forms[0].wlgMode.value;\r
+   }\r
+\r
+   if(phy != "n") sel_nmode = "off";\r
+\r
+   document.forms[0].wlRate.length = 0;\r
+               \r
+   if (sel_band == "2") { // 2.4G\r
+      if (phy == "b" || \r
+          (country == "JP" && document.forms[0].wlChannel.value == 14) ||\r
+          (sel_nmode == "off" && sel_gmode == "0")) {\r
+document.forms[0].wlRate[0] = new Option("Auto", "0");\r
+document.forms[0].wlRate[1] = new Option("1 Mbps", "1000000");\r
+document.forms[0].wlRate[2] = new Option("2 Mbps", "2000000");\r
+document.forms[0].wlRate[3] = new Option("5.5 Mbps", "5500000");\r
+document.forms[0].wlRate[4] = new Option("11 Mbps", "11000000");\r
+      }\r
+      else {\r
+document.forms[0].wlRate[0] = new Option("Auto", "0");\r
+document.forms[0].wlRate[1] = new Option("1 Mbps", "1000000");\r
+document.forms[0].wlRate[2] = new Option("2 Mbps", "2000000");\r
+document.forms[0].wlRate[3] = new Option("5.5 Mbps", "5500000");\r
+document.forms[0].wlRate[4] = new Option("6 Mbps", "6000000");\r
+document.forms[0].wlRate[5] = new Option("9 Mbps", "9000000");\r
+document.forms[0].wlRate[6] = new Option("11 Mbps", "11000000");\r
+document.forms[0].wlRate[7] = new Option("12 Mbps", "12000000");\r
+document.forms[0].wlRate[8] = new Option("18 Mbps", "18000000");\r
+document.forms[0].wlRate[9] = new Option("24 Mbps", "24000000");\r
+document.forms[0].wlRate[10] = new Option("36 Mbps", "36000000");\r
+document.forms[0].wlRate[11] = new Option("48 Mbps", "48000000");\r
+document.forms[0].wlRate[12] = new Option("54 Mbps", "54000000");\r
+     }\r
+   }\r
+   else if (sel_band == "1") { // 5G\r
+document.forms[0].wlRate[0] = new Option("Auto", "0");\r
+document.forms[0].wlRate[1] = new Option("6 Mbps", "6000000");\r
+document.forms[0].wlRate[2] = new Option("9 Mbps", "9000000");\r
+document.forms[0].wlRate[3] = new Option("12 Mbps", "12000000");\r
+document.forms[0].wlRate[4] = new Option("18 Mbps", "18000000");\r
+document.forms[0].wlRate[5] = new Option("24 Mbps", "24000000");\r
+document.forms[0].wlRate[6] = new Option("36 Mbps", "36000000");\r
+document.forms[0].wlRate[7] = new Option("48 Mbps", "48000000");\r
+document.forms[0].wlRate[8] = new Option("54 Mbps", "54000000");\r
+   }\r
+   else {\r
+document.forms[0].wlRate[0] = new Option("Auto", "0");\r
+   }\r
+\r
+   if(sel_nmode != "off") {\r
+      /* exclude auto for 802.11a/b/g (Legacy) rates if 11n is enabled */\r
+      document.forms[0].wlRate[0]=null;\r
+   }\r
+      \r
+   /* mark selected */         \r
+   for (idx = 0; idx < document.forms[0].wlRate.options.length; idx++) {\r
+      if (document.forms[0].wlRate.options[idx].value == sel_rate) {\r
+         document.forms[0].wlRate.options[idx].selected = true;\r
+         break;\r
+      }\r
+   } \r
+      \r
+   /* set to first(Auto) if not found */\r
+   if( idx == document.forms[0].wlRate.options.length)   \r
+      document.forms[0].wlRate.options[0].selected = true;       \r
+}\r
+\r
+\r
+function loadMCastRateList(OnPageLoad) {\r
+\r
+   var sel_band;\r
+   var sel_rate;\r
+   var idx;\r
+   var sel_nmode;\r
+   var sel_gmode;\r
+   \r
+   /* save selected */\r
+   if(OnPageLoad) {\r
+      sel_band = band;\r
+      sel_rate = mcastrate;\r
+      sel_nmode = nmode;\r
+      sel_gmode = gmode;      \r
+   }\r
+   else {\r
+      sel_band = document.forms[0].wlBand.value;\r
+      sel_rate = document.forms[0].wlMCastRate.value;\r
+      sel_nmode = document.forms[0].wlNmode.value;\r
+      sel_gmode = document.forms[0].wlgMode.value;      \r
+   }\r
+\r
+   if(phy != "n") sel_nmode = "off";\r
+   \r
+   document.forms[0].wlMCastRate.length = 0;\r
+   if (sel_band == "2") { // 2.4G\r
+      if (phy == "b" ||      \r
+          (country == "JP" && document.forms[0].wlChannel.value == 14) ||\r
+          (sel_nmode == "off" && sel_gmode == "0")) {\r
+document.forms[0].wlMCastRate[0] = new Option("Auto", "0");\r
+document.forms[0].wlMCastRate[1] = new Option("1 Mbps", "1000000");\r
+document.forms[0].wlMCastRate[2] = new Option("2 Mbps", "2000000");\r
+document.forms[0].wlMCastRate[3] = new Option("5.5 Mbps", "5500000");\r
+document.forms[0].wlMCastRate[4] = new Option("11 Mbps", "11000000");\r
+      }\r
+      else {\r
+document.forms[0].wlMCastRate[0] = new Option("Auto", "0");\r
+document.forms[0].wlMCastRate[1] = new Option("1 Mbps", "1000000");\r
+document.forms[0].wlMCastRate[2] = new Option("2 Mbps", "2000000");\r
+document.forms[0].wlMCastRate[3] = new Option("5.5 Mbps", "5500000");\r
+document.forms[0].wlMCastRate[4] = new Option("6 Mbps", "6000000");\r
+document.forms[0].wlMCastRate[5] = new Option("9 Mbps", "9000000");\r
+document.forms[0].wlMCastRate[6] = new Option("11 Mbps", "11000000");\r
+document.forms[0].wlMCastRate[7] = new Option("12 Mbps", "12000000");\r
+document.forms[0].wlMCastRate[8] = new Option("18 Mbps", "18000000");\r
+document.forms[0].wlMCastRate[9] = new Option("24 Mbps", "24000000");\r
+document.forms[0].wlMCastRate[10] = new Option("36 Mbps", "36000000");\r
+document.forms[0].wlMCastRate[11] = new Option("48 Mbps", "48000000");\r
+document.forms[0].wlMCastRate[12] = new Option("54 Mbps", "54000000");\r
+     }\r
+   }\r
+   else if (sel_band == "1") { // 5G\r
+document.forms[0].wlMCastRate[0] = new Option("Auto", "0");\r
+document.forms[0].wlMCastRate[1] = new Option("6 Mbps", "6000000");\r
+document.forms[0].wlMCastRate[2] = new Option("9 Mbps", "9000000");\r
+document.forms[0].wlMCastRate[3] = new Option("12 Mbps", "12000000");\r
+document.forms[0].wlMCastRate[4] = new Option("18 Mbps", "18000000");\r
+document.forms[0].wlMCastRate[5] = new Option("24 Mbps", "24000000");\r
+document.forms[0].wlMCastRate[6] = new Option("36 Mbps", "36000000");\r
+document.forms[0].wlMCastRate[7] = new Option("48 Mbps", "48000000");\r
+document.forms[0].wlMCastRate[8] = new Option("54 Mbps", "54000000");\r
+   }\r
+   else {\r
+document.forms[0].wlMCastRate[0] = new Option("Auto", "0");\r
+   }\r
+   \r
+   /* mark selected */         \r
+   for (idx=0; idx < document.forms[0].wlMCastRate.options.length; idx++) {\r
+      if (document.forms[0].wlMCastRate.options[idx].value == sel_rate) {\r
+         document.forms[0].wlMCastRate.options[idx].selected = true;\r
+         break;\r
+      }\r
+   }\r
+   \r
+   /* set to first(Auto) if not found */\r
+   if( idx == document.forms[0].wlMCastRate.options.length)   \r
+      document.forms[0].wlMCastRate.options[0].selected = true;\r
+      \r
+}\r
+\r
+function loadBasicRateList(OnPageLoad) {\r
+\r
+   var sel_band;\r
+   var sel_rate;\r
+   var idx;\r
+\r
+   /* save selected */\r
+   if(OnPageLoad) {\r
+      sel_band = band;\r
+      sel_rate = brate;\r
+   }\r
+   else {\r
+      sel_band = document.forms[0].wlBand.value;\r
+      sel_rate = document.forms[0].wlBasicRate.value;\r
+   }\r
+   \r
+  document.forms[0].wlBasicRate.length = 0;\r
+  \r
+   if (sel_band == "2") { // 2.4G\r
+document.forms[0].wlBasicRate[0] = new Option("Default", "default");\r
+document.forms[0].wlBasicRate[1] = new Option("All", "all");\r
+document.forms[0].wlBasicRate[2] = new Option("1 & 2 Mbps", "12");\r
+      if (phy != "b") {\r
+         document.forms[0].wlBasicRate[3] = new Option("1 & 2 & 5.5 & 6 & 11 & 12 & 24 Mbps", "wifi2");\r
+      }\r
+      \r
+   }\r
+   else if (sel_band == "1") { // 5G\r
+document.forms[0].wlBasicRate[0] = new Option("Default", "default");\r
+document.forms[0].wlBasicRate[1] = new Option("All", "all");\r
+document.forms[0].wlBasicRate[2] = new Option("6 & 12 Mbps", "12");\r
+document.forms[0].wlBasicRate[3] = new Option("6 & 12 & 24 Mbps", "wifi2");\r
+   }\r
+   else {\r
+document.forms[0].wlBasicRate[0] = new Option("Default", "0");\r
+   }\r
+\r
+   /* mark selected */         \r
+   for (idx=0; idx < document.forms[0].wlBasicRate.options.length; idx++) {\r
+      if (document.forms[0].wlBasicRate.options[idx].value == sel_rate) {\r
+         document.forms[0].wlBasicRate.options[idx].selected = true;\r
+         break;\r
+      }\r
+   }\r
+   \r
+   /* set to first(Auto) if not found */\r
+   if( idx == document.forms[0].wlBasicRate.options.length)   \r
+      document.forms[0].wlBasicRate.options[0].selected = true;   \r
+      \r
+}\r
+\r
+function onBandChange(OnPageLoad) {\r
+\r
+   with ( document.forms[0] ) {\r
+      var sel_band;\r
+         \r
+      /* save selected */      \r
+      if(OnPageLoad) {\r
+         sel_band = band;\r
+         wlBand.selectedIndex = getBandIndex(sel_band);\r
+      }      \r
+      else {\r
+         sel_band = document.forms[0].wlBand.value;\r
+      }\r
+                \r
+      loadChannelList(OnPageLoad);\r
+      loadRateList(OnPageLoad);\r
+      loadMCastRateList(OnPageLoad);\r
+      loadBasicRateList(OnPageLoad);\r
+   }\r
+}\r
+\r
+function getBasicRateIndex(br) {\r
+   var ret = 0;\r
+   if ( br == "12" ) {\r
+      ret = 2;\r
+   }\r
+   else if ( br == "all" ) {\r
+      ret = 1;\r
+   } else if ( br == "wifi2" ) {\r
+      ret = 3;\r
+   } else\r
+      ret = 0;\r
+   return ret;\r
+}\r
+\r
+function getRateIndex(r) {\r
+   var rateNum = parseInt(r);\r
+   var ret = 0;\r
+\r
+   if ( band == '2') {\r
+      if ( phy == "b" ) { //11b\r
+         switch ( rateNum ) {\r
+         case 1000000:\r
+            ret = 1;\r
+            break;\r
+         case 2000000:\r
+            ret = 2;\r
+            break;\r
+         case 5500000:\r
+            ret = 3;\r
+            break;\r
+         case 11000000:\r
+            ret = 4;\r
+            break;\r
+         default:\r
+            ret = 0;\r
+            break;\r
+         }\r
+      }\r
+      // physical type is 802.11g\r
+      else {\r
+         switch ( rateNum ) {\r
+         case 1000000:\r
+            ret = 1;\r
+            break;\r
+         case 2000000:\r
+            ret = 2;\r
+            break;\r
+         case 5500000:\r
+            ret = 3;\r
+            break;\r
+         case 6000000:\r
+            ret = 4;\r
+            break;\r
+         case 9000000:\r
+            ret = 5;\r
+            break;\r
+         case 11000000:\r
+            ret = 6;\r
+            break;\r
+         case 12000000:\r
+            ret = 7;\r
+            break;\r
+         case 18000000:\r
+            ret = 8;\r
+            break;\r
+         case 24000000:\r
+            ret = 9;\r
+            break;\r
+         case 36000000:\r
+            ret = 10;\r
+            break;\r
+         case 48000000:\r
+            ret = 11;\r
+            break;\r
+         case 54000000:\r
+            ret = 12;\r
+            break;\r
+         default:\r
+            ret = 0;\r
+            break;\r
+         }\r
+      }\r
+   }\r
+   // physical type is 802.11a\r
+   else if ( band == '1' ) { // 11a\r
+      switch ( rateNum ) {\r
+      case 6000000:\r
+         ret = 1;\r
+         break;\r
+      case 9000000:\r
+         ret = 2;\r
+         break;\r
+      case 12000000:\r
+         ret = 3;\r
+         break;\r
+      case 18000000:\r
+         ret = 4;\r
+         break;\r
+      case 24000000:\r
+         ret = 5;\r
+         break;\r
+      case 36000000:\r
+         ret = 6;\r
+         break;\r
+      case 48000000:\r
+         ret = 7;\r
+         break;\r
+      case 54000000:\r
+         ret = 8;\r
+         break;\r
+      default:\r
+         ret = 0;\r
+         break;\r
+      }\r
+   }\r
+   return ret;\r
+}\r
+\r
+function getFrameBurstIndex(frameburst) {\r
+   var ret;\r
+   \r
+   if ( frameburst == "off" )\r
+      ret = 0;\r
+   else\r
+      ret = 1;\r
+   return ret;\r
+}\r
+\r
+function getAfterBurnerIndex(afterburner) {\r
+   var ret;\r
+   \r
+   if ( afterburner == "auto" )\r
+      ret = 1;\r
+   else\r
+      ret = 0;\r
+   return ret;\r
+}\r
+\r
+function getGModeProtection(pro) {\r
+   var ret;\r
+   \r
+   if ( pro == "auto" )\r
+      ret = 1;\r
+   else\r
+      ret = 0;\r
+   return ret;\r
+}\r
+\r
+function getTpcDbIndex(val) {\r
+   var ret;\r
+   \r
+   if ( val == "0" )\r
+      ret = 0;\r
+   else if ( val == "2" )\r
+      ret = 1;\r
+   else if ( val == "3" )\r
+      ret = 2;\r
+   else if ( val == "4" )\r
+      ret = 3;\r
+   else ret = 0;\r
+   return ret;\r
+}\r
+\r
+function phyChange() {\r
+   with ( document.forms[0] )\r
+      if (phy == "n") {\r
+         showhide("div_nMode", 1);\r
+         showhide("div_nMode_sel", 1);         \r
+         showhide("div_gMode", 0);         \r
+      } else {\r
+         showhide("div_nMode", 0);\r
+         showhide("div_nMode_sel", 0);         \r
+         showhide("div_gMode", 1);         \r
+      }         \r
+}\r
+\r
+function RegModeChange(OnPageLoad) {\r
+   with ( document.forms[0] ) {\r
+      var sel_band;\r
+      \r
+      /* save selected */      \r
+      if(OnPageLoad) {\r
+         sel_band = band;\r
+      }      \r
+      else {\r
+         sel_band = document.forms[0].wlBand.value;\r
+      }          \r
+                \r
+      if( wlRegMode.selectedIndex != 1 )\r
+         wlDfsPreIsm.disabled=wlDfsPostIsm.disabled=wlTpcDb.disabled=true;\r
+      else \r
+         wlDfsPreIsm.disabled=wlDfsPostIsm.disabled=wlTpcDb.disabled=false;\r
+         \r
+      if (sel_band == "2") {\r
+        showhide("div_regMode", 0);   \r
+      }\r
+      else {\r
+        showhide("div_regMode", 1);     \r
+      }         \r
+   }         \r
+}\r
+\r
+function getBandIndex(b) {\r
+   var ret;\r
+   \r
+   if ( b == '1' )\r
+      ret = 1;\r
+   else\r
+      ret = 0;\r
+   return ret;\r
+}\r
+\r
+function wl_afterburner_options(OnPageLoad) {\r
+\r
+    var hideAB = false;\r
+    var enableABSel = true; \r
+    var hideWarning = true;  \r
+              \r
+    with ( document.forms[0] ) {      \r
+\r
+        if(OnPageLoad)\r
+           wlAfterBurnerEn.selectedIndex = getAfterBurnerIndex(afterburneren);\r
+        \r
+       if ( (hasafterburner != 1) ){\r
+          hideAB = true;\r
+       }\r
+            \r
+       if (parseInt(wlFrgThrshld.value) != 2346 ){\r
+          //alert('wlFrgThrshld.value "' + parseInt(wlFrgThrshld.value) +'"');\r
+           enableABSel = false; \r
+           hideWarning = false;                \r
+       }\r
+         \r
+        if (hideAB || !enableABSel) {\r
+           wlAfterBurnerEn.value ="off";\r
+        }      \r
+       showhide("AFB", !hideAB);\r
+       wlAfterBurnerEn.disabled =!enableABSel;\r
+       showhide("ABWarning", !enableABSel);\r
+    }\r
+ }\r
+\r
+function wl_ewc_options(OnPageLoad)\r
+{\r
+   var sel_nbw;\r
+   var sel_nmcsidx;\r
+   var idx;   \r
+   var sel_ch;\r
+   var sel_nmode;\r
+   var sel_nreqd; \r
+        \r
+   if(phy != "n")\r
+      return;\r
+   \r
+   if(OnPageLoad) {\r
+     sel_nbw = curr_bw_str; //nbw;\r
+     sel_ch = channel;\r
+     sel_nmode = nmode;\r
+     sel_nreqd = nreqd; \r
+     \r
+     document.forms[0].wlNProtection.value = npro;     \r
+     sel_nmcsidx = nmcsidx;\r
+     if(nctrlsb == 0) {\r
+        document.forms[0].wlNCtrlsb.selectedIndex = 0;     \r
+        document.forms[0].wlNCtrlsb.disabled = 1;\r
+     } else         \r
+        document.forms[0].wlNCtrlsb.value = nctrlsb;   \r
+        \r
+     document.forms[0].wlNReqd.value = nreqd;\r
+     if(sel_nmode == "off") {\r
+        document.forms[0].wlNmode.selectedIndex = 1;\r
+     }\r
+     \r
+   } else {\r
+     sel_ch = document.forms[0].wlChannel.value;   \r
+     sel_nbw = document.forms[0].wlNbw.value;\r
+     sel_nmcsidx = document.forms[0].wlNMmcsidx.value;\r
+     sel_nmode = document.forms[0].wlNmode.value;\r
+     sel_nreqd = document.forms[0].wlNReqd.value;\r
+   }\r
+\r
+   if(sel_nmode == "off") {\r
+      document.forms[0].wlNMmcsidx.disabled = 1;      \r
+      document.forms[0].wlNbw.disabled = 1;\r
+      document.forms[0].wlNProtection.disabled = 1;\r
+      document.forms[0].wlNReqd.disabled = 1;\r
+      showhide("div_nMode", 0);      \r
+   } else {\r
+      document.forms[0].wlNMmcsidx.disabled = 0;\r
+      document.forms[0].wlNbw.disabled = 0;      \r
+      document.forms[0].wlNProtection.disabled = 0;      \r
+      document.forms[0].wlNReqd.disabled = 0;      \r
+      showhide("div_nMode", 1); \r
+   }  \r
+           \r
+   if (document.forms[0].wlNMmcsidx != null)\r
+      document.forms[0].wlNMmcsidx.disabled = 0;      \r
+   \r
+   if(corerev > 11) {\r
+      bw = new Array("10", "20", "40");\r
+   } else {\r
+      bw = new Array("20", "40");\r
+   }      \r
+\r
+   /* If nmode is disabled, allow only 20Mhz selection and disable selection */\r
+   if (sel_nmode == "off") {\r
+      bw = new Array("20");\r
+      nbw = "20";      \r
+   }\r
+   \r
+   document.forms[0].wlNbw.length = 0;\r
+   for (var i in bw) {\r
+      document.forms[0].wlNbw[i] = new Option(bw[i] + " MHz", bw[i]);\r
+         /* Fix the selectedIndex to match new set of options */\r
+      if (bw[i] == sel_nbw) {\r
+         document.forms[0].wlNbw.selectedIndex = i;\r
+      }\r
+   }\r
\r
+   /* load n phy rates */\r
+   if(sel_ch == 0) {\r
+      document.forms[0].wlNCtrlsb.disabled = 1;\r
+      document.forms[0].wlNbw.disabled = 1;  \r
+      <%ejGetWl(wlNPhyRates, "0");%>   \r
+   } else if (sel_nbw == "40") {\r
+      /* Control sb is allowed only for 40MHz BW Channels */   \r
+      document.forms[0].wlNCtrlsb.disabled = 0;\r
+      <%ejGetWl(wlNPhyRates, "40");%>\r
+   } else if (sel_nbw == "20") {\r
+      document.forms[0].wlNCtrlsb.selectedIndex = 0;\r
+      document.forms[0].wlNCtrlsb.disabled = 1;\r
+      <%ejGetWl(wlNPhyRates, "20");%>\r
+   }\r
+  \r
+   /* mark selected */         \r
+   for (idx=0; idx< document.forms[0].wlNMmcsidx.options.length; idx++) {\r
+      if (document.forms[0].wlNMmcsidx[idx].value == sel_nmcsidx) {\r
+         document.forms[0].wlNMmcsidx[idx].selected = true;\r
+         break;\r
+      }\r
+   }     \r
+   \r
+   /* set to first (Auto) if not found */\r
+   if( idx == document.forms[0].wlNMmcsidx.options.length)   \r
+      document.forms[0].wlNMmcsidx.options[0].selected = true;   \r
+\r
+   /* mark selected */ \r
+   document.forms[0].wlNmode.selectedIndex = getNmodeIndex(sel_nmode);\r
+               \r
+}\r
+\r
+function wl_mcs_onchange(OnPageLoad)\r
+{\r
+   var sel_nmcsidx;\r
+   var sel_nmode;\r
+   \r
+   if(phy != "n")\r
+      return;\r
+\r
+   if(OnPageLoad) {\r
+     sel_nmcsidx = nmcsidx;\r
+     sel_nmode = nmode;\r
+   } else {\r
+     sel_nmcsidx = document.forms[0].wlNMmcsidx.value;\r
+     sel_nmode = document.forms[0].wlNmode.value;     \r
+   }      \r
+   \r
+   /* If using 'legacy rate' then enable */\r
+   if (sel_nmcsidx == "-2" || sel_nmode == "off")\r
+      document.forms[0].wlRate.disabled = 0;\r
+   else\r
+      document.forms[0].wlRate.disabled = 1;\r
+}\r
+\r
+\r
+function wl_recalc(OnPageLoad) {\r
+   with ( document.forms[0] ) {               \r
+      phyChange(OnPageLoad);\r
+      genericChange(OnPageLoad);\r
+      updateCurChannel(OnPageLoad);      \r
+      onBandChange(OnPageLoad);       \r
+      gModeChange(OnPageLoad);\r
+      wl_ewc_options(OnPageLoad);\r
+      wl_afterburner_options(OnPageLoad);      \r
+      RegModeChange(OnPageLoad);\r
+      wl_mcs_onchange(OnPageLoad)\r
+   }\r
+}\r
+\r
+function updateCurChannel(OnPageLoad) {\r
+   \r
+   if(OnPageLoad) { \r
+\r
+      var curr_chanspec = parseInt(chanspec);\r
+      var curr_sb = (curr_chanspec & 0x300 ) >> 8;\r
+      var curr_bw = (curr_chanspec & 0xc00 ) >> 10;\r
+      var curr_sb_str = "N/A";\r
+            \r
+      if(curr_bw == 2)\r
+         curr_bw_str = "20";\r
+      else if (curr_bw == 3)\r
+         curr_bw_str = "40";\r
+      else if (curr_bw == 1)\r
+         curr_bw_str = "10";               \r
+         \r
+      if(curr_sb == 1)\r
+         curr_sb_str = "Lower";\r
+      else if (curr_sb == 2)\r
+         curr_sb_str = "Upper";\r
+      else if (curr_sb == 3)\r
+         curr_sb_str = "None";   \r
+               \r
+            \r
+      if (document.getElementById)  // DOM3 = IE5, NS6\r
+         document.getElementById("CurChannel").innerHTML = " Current: " + wlCurrentChannel;\r
+      else {\r
+         if (document.layers == false) // IE4\r
+            document.all.CurChannel.innerHTML = " Current: " + wlCurrentChannel;\r
+      }\r
+      \r
+      if (document.getElementById)  // DOM3 = IE5, NS6\r
+         document.getElementById("CurNbw").innerHTML = " Current: " + curr_bw_str + "MHz";\r
+      else {\r
+         if (document.layers == false) // IE4\r
+            document.all.CurNbw.innerHTML = " Current: " + curr_bw_str + "MHz";\r
+      }         \r
+\r
+      if (document.getElementById)  // DOM3 = IE5, NS6\r
+         document.getElementById("CurNCtrlsb").innerHTML = " Current: " + curr_sb_str;\r
+      else {\r
+         if (document.layers == false) // IE4\r
+            document.all.CurNCtrlsb.innerHTML = " Current: " + curr_sb_str;\r
+      }        \r
+   }\r
+}\r
+\r
+function onNmodeChange(OnPageLoad)\r
+{   \r
+   wl_recalc(OnPageLoad);\r
+   document.forms[0].wlRate.selectedIndex = 0;\r
+}\r
+\r
+function frmLoad() {\r
+   wl_recalc(true);  \r
+}\r
+\r
+function btnApply() {\r
+   var loc = 'wlcfgadv.wl?';\r
+   var idx, frgNum, rtsNum, dtmNum, bcnNum, frmburstNum;\r
+\r
+   if ( enbl == '0' ) {\r
+      alert('Cannot apply the change since wireless is currently disabled.');\r
+      return;\r
+   }\r
+           \r
+   wl_recalc(false); \r
+      \r
+   with ( document.forms[0] ) {\r
+      var sel_nmode = wlNmode.options[wlNmode.selectedIndex].value;\r
+      var sel_nmcsidx = wlNMmcsidx.value;\r
+      \r
+      frgNum = parseInt(wlFrgThrshld.value);\r
+      if ( isNaN(frgNum) == true || frgNum < 256 || frgNum > 2346 ) {\r
+         alert('Fragmentation threshold "' + wlFrgThrshld.value + '" should be between 256 and 2346.');\r
+         return;\r
+      }\r
+\r
+      rtsNum = parseInt(wlRtsThrshld.value);\r
+      if ( isNaN(rtsNum) == true || rtsNum < 0 || rtsNum > 2347 ) {\r
+         alert('RTS threshold "' + wlRtsThrshld.value + '" should be between 0 and 2347.');\r
+         return;\r
+      }\r
+\r
+      dtmNum = parseInt(wlDtmIntvl.value);\r
+      if ( isNaN(dtmNum) == true || dtmNum < 1 || dtmNum > 255 ) {\r
+         alert('DTIM interval "' + wlDtmIntvl.value + '" should be between 1 and 255.');\r
+         return;\r
+      }\r
+\r
+      bcnNum = parseInt(wlBcnIntvl.value);\r
+      if ( isNaN(bcnNum) == true || bcnNum < 1 || bcnNum > 65535 ) {\r
+         alert('Beacon interval "' + wlBcnIntvl.value + '" should be between 1 and 65535.');\r
+         return;\r
+      }\r
+\r
+      assocNum = parseInt(wlMaxAssoc.value);\r
+      if ( isNaN(assocNum) == true || assocNum <= 0 || assocNum > 128 ) {\r
+         alert('Max Clients "' + wlMaxAssoc.value + '" should be between 1 and 128.');\r
+         return;\r
+      }\r
+            \r
+      loc += 'wlChannel=' + wlChannel.options[wlChannel.selectedIndex].value;\r
+      loc += '&wlNmode=' + sel_nmode;\r
+      loc += '&wlNReqd=' + wlNReqd.value;      \r
+      loc += '&wlBasicRate=' + wlBasicRate.options[wlBasicRate.selectedIndex].value;\r
+      loc += '&wlFrgThrshld=' + wlFrgThrshld.value;\r
+      loc += '&wlRtsThrshld=' + wlRtsThrshld.value;\r
+      loc += '&wlDtmIntvl=' + wlDtmIntvl.value;\r
+      loc += '&wlBcnIntvl=' + wlBcnIntvl.value;\r
+      loc += '&wlCsScanTimer=' + wlCsScanTimer.value;\r
+      loc += '&wlMaxAssoc=' + wlMaxAssoc.value;      \r
+      loc += '&wlFrameBurst=' + wlFrameBurst.value;\r
+      loc += '&wlAPIsolation=' + wlAPIsolation.value;\r
+      loc += '&wlBand=' + wlBand.value;\r
+      loc += '&wlMCastRate=' + wlMCastRate.options[wlMCastRate.selectedIndex].value;\r
+      if (hasafterburner == '1') {\r
+         loc += '&wlAfterBurnerEn=' + wlAfterBurnerEn.value;\r
+      }\r
+      else {\r
+         loc += '&wlAfterBurnerEn=off';\r
+      }\r
+\r
+      /* rate */\r
+      if ( phy != "n" || (phy == "n" && (sel_nmode == "off" || sel_nmcsidx == -2)))\r
+         loc += '&wlRate=' + wlRate.options[wlRate.selectedIndex].value;\r
+                  \r
+      /* b/g mode */\r
+      if ( band == '2') { // 2.4G\r
+         if ( phy == "g" || (phy == "n" && sel_nmode == "off")) { // 802.11g\r
+            loc += '&wlgMode=' + wlgMode.options[wlgMode.selectedIndex].value;\r
+            loc += '&wlProtection=' + wlProtection.options[wlProtection.selectedIndex].value;\r
+            if (wlgMode.selectedIndex == 3) {\r
+               loc += '&wlPreambleType=' + wlPreambleType.options[wlPreambleType.selectedIndex].value;\r
+            }\r
+         } else if (phy == "b") { // 802.11b\r
+            loc += '&wlPreambleType=' + wlPreambleType.options[wlPreambleType.selectedIndex].value;\r
+         }\r
+      }\r
+\r
+     loc += '&wlTxPwrPcnt=' + wlTxPower.options[wlTxPower.selectedIndex].value;\r
+     loc += '&wlRegMode=' + wlRegMode.options[wlRegMode.selectedIndex].value;\r
+      \r
+     if(phy == "n") {\r
+        loc += '&wlNBw=' + wlNbw.options[wlNbw.selectedIndex].value;\r
+        \r
+        if(wlNbw.options[wlNbw.selectedIndex].value == 20)\r
+           loc += '&wlNCtrlsb=' + 0;\r
+        else   \r
+           loc += '&wlNCtrlsb=' + wlNCtrlsb.options[wlNCtrlsb.selectedIndex].value;\r
+           \r
+        loc += '&wlNProtection=' + wlNProtection.options[wlNProtection.selectedIndex].value;\r
+        loc += '&wlNMcsidx=' + wlNMmcsidx.options[wlNMmcsidx.selectedIndex].value;\r
+     }\r
+\r
+     if(wlRegMode.selectedIndex == 1) {\r
+        DfsPreIsmNum = parseInt(wlDfsPreIsm.value);\r
+        if ( isNaN(DfsPreIsmNum) == true || DfsPreIsmNum < 0 || DfsPreIsmNum > 99 ) {\r
+           alert('Pre-Network Radar Check "' + wlDfsPreIsm.value + '" should be between 0 and 99.');\r
+           return;\r
+        }\r
+      \r
+        DfsPostNum = parseInt(wlDfsPostIsm.value);\r
+        if ( isNaN(DfsPostNum) == true || DfsPostNum < 10 || DfsPostNum > 99 ) {\r
+           alert('In-Network Radar Check: "' + wlDfsPostIsm.value + '" should be between 10 and 99.');\r
+           return;\r
+        } \r
+      \r
+        loc += '&wlDfsPreIsm=' + wlDfsPreIsm.value;\r
+        loc += '&wlDfsPostIsm=' + wlDfsPostIsm.value;       \r
+        loc += '&wlTpcDb=' + wlTpcDb.options[wlTpcDb.selectedIndex].value;\r
+     }    \r
+             \r
+   }\r
+   var code = 'location="' + loc + '"';\r
+    \r
+   eval(code);\r
+}\r
+// done hiding -->\r
+            </script>\r
+   </head>\r
+   <body onLoad='frmLoad()'>\r
+      <blockquote>\r
+         <form>\r
+            <b>Wireless -- Advanced<br>\r
+            </b>\r
+            <br>\r
+            This page allows you to configure advanced features of the wireless LAN \r
+            interface. You can select a particular channel on which to operate, force the \r
+            transmission rate to a particular speed, set the fragmentation threshold, set \r
+            the RTS threshold, set the wakeup interval for clients in power-save mode, set \r
+            the beacon interval for the access point, set XPress mode and set whether short \r
+            or long preambles are used.<br>\r
+            Click "Apply" to configure the advanced wireless options.<br>\r
+            <br>\r
+            <table border="0" cellpadding="0" cellspacing="0">                               \r
+               <tr>\r
+                  <td width="180">AP Isolation:</td>\r
+                  <td><select name='wlAPIsolation' size="1">\r
+                        <option value="0">\r
+                        Off\r
+                        <option value="1">\r
+                        On\r
+                     </select></td>\r
+               </tr>\r
+               <tr>\r
+                  <td width="180">Band:</td>\r
+                  <script language="javascript">\r
+<!-- hide\r
+if ( bands == '3' ) { // dual band\r
+         document.writeln(' <td><select name="wlBand" size="1" onChange="wl_recalc(false);">');\r
+         document.writeln('      <option value=2>2.4GHz');\r
+         document.writeln('      <option value=1>5GHz');         \r
+}\r
+else if (bands == '1') {\r
+         document.writeln(' <td><select name="wlBand" size="1" onChange="wl_recalc(false);">');\r
+         document.writeln('      <option value=1>5GHz');         \r
+}\r
+else {\r
+         document.writeln(' <td><select name="wlBand" size="1" onChange="wl_recalc(false);">');\r
+         document.writeln('      <option value=2>2.4GHz');\r
+}\r
+// done hiding -->\r
+</script>\r
+                  </select></td>\r
+               </tr>\r
+               <tr>\r
+                  <td width="180">Channel:</td>\r
+                  <td td width="200"><select name='wlChannel' size="1" onChange="wl_recalc(false)">\r
+                     </select>\r
+                  </td>\r
+                  <td>\r
+                     <div id="CurChannel">\r
+                         Current Channel:\r
+                     </div>\r
+                  </td>                     \r
+               </tr>\r
+               <tr>\r
+                  <td width="180">Auto Channel Timer(min)</td>\r
+                  <td><input type='text' name='wlCsScanTimer' size='10'></td>\r
+               </tr>               \r
+            </table>\r
+            <div id="div_nMode_sel">    \r
+               <table border="0" cellpadding="0" cellspacing="0">\r
+                 <tr> \r
+                     <td width="180">802.11n/EWC:</td>\r
+                     <td width="200"><select name='wlNmode' size="1" onChange="onNmodeChange(false)">\r
+                        <option value="auto">\r
+                        Auto\r
+                        <option value="off">\r
+                        Disabled\r
+                     </select></td>\r
+                  </tr>\r
+               </table>\r
+            </div>            \r
+            <div id="div_nMode">    \r
+               <table border="0" cellpadding="0" cellspacing="0">               \r
+                 <tr> \r
+                     <td width="180">Bandwidth:</td>\r
+                     <td width="200"><select name='wlNbw' size="1" onChange="wl_recalc(false)">\r
+                        <option value="20">\r
+                        20MHz\r
+                        <option value="40">\r
+                        40MHz\r
+                     </select></td>\r
+                  <td>\r
+                     <div id="CurNbw">\r
+                         Current Bandwidth:\r
+                     </div>\r
+                  </td>                     \r
+                  </tr>                   \r
+                 <tr> \r
+                     <td width="180">Control Sideband:</td>\r
+                     <td width="200"><select name='wlNCtrlsb' size="1" onChange="wl_recalc(false)">\r
+                        <option value="-1">\r
+                        Lower\r
+                        <option value="1">\r
+                        Upper\r
+                     </select></td>\r
+                  <td>\r
+                     <div id="CurNCtrlsb">\r
+                         Current Control Sideband:\r
+                     </div>\r
+                  </td>                                                \r
+                  </tr>\r
+                  <tr>   \r
+                     <td width="180">802.11n Rate:</td>\r
+                     <td><select name='wlNMmcsidx' size="1"  onChange="wl_mcs_onchange()";>\r
+                     </select>\r
+                     </td>\r
+                  </tr>\r
+                  <tr>\r
+                     <td width="180">802.11n Protection:</td>\r
+                     <td><select name="wlNProtection" size="1">\r
+                           <option value="off">\r
+                           Off\r
+                           <option value="auto">\r
+                           Auto\r
+                        </select></td>\r
+                  </tr>\r
+                  <tr>\r
+                     <td width="180"> Support 802.11n Client Only:</td>\r
+                     <td><select name="wlNReqd" size="1">\r
+                           <option value="0">\r
+                           Off\r
+                           <option value="1">\r
+                           On\r
+                        </select></td>\r
+                  </tr>                  \r
+               </table>\r
+            </div> \r
+            <table border="0" cellpadding="0" cellspacing="0">\r
+               <tr>\r
+                  <td width="180"> 54g&#8482; Rate: </td>\r
+                  <td><select name='wlRate' size="1">\r
+                     </select></td>\r
+               </tr>\r
+               <tr>\r
+                  <td width="180">Multicast Rate:</td>\r
+                  <td><select name='wlMCastRate' size="1">\r
+                     </select></td>\r
+               </tr>\r
+               <tr>\r
+                  <td width="180">Basic Rate:</td>\r
+                  <td><select name='wlBasicRate' size="1">\r
+                     </select></td>\r
+               </tr>\r
+               <tr>\r
+                  <td width="180">Fragmentation Threshold:</td>\r
+                  <td><input type='text' name='wlFrgThrshld' size='10'></td>\r
+               </tr>\r
+               <tr>\r
+                  <td width="180">RTS Threshold:</td>\r
+                  <td><input type='text' name='wlRtsThrshld' size='10'></td>\r
+               </tr>\r
+               <tr>\r
+                  <td width="180">DTIM Interval:</td>\r
+                  <td><input type='text' name='wlDtmIntvl' size='10'></td>\r
+               </tr>\r
+               <tr>\r
+                  <td width="180">Beacon Interval:</td>\r
+                  <td><input type='text' name='wlBcnIntvl' size='10'></td>\r
+               </tr>\r
+               <tr>\r
+                  <td width="180">Maximum Associated Clients:</td>\r
+                  <td><input type='text' name='wlMaxAssoc' size='10'></td>\r
+               </tr>               \r
+               <tr>\r
+                  <td width="180">XPress&#8482; Technology:</td>\r
+                  <td><select name='wlFrameBurst' size="1">\r
+                        <option value="off">\r
+                        Disabled\r
+                        <option value="on">\r
+                        Enabled\r
+                     </select></td>\r
+               </tr> \r
+            </table>  \r
+            <div id="div_gMode">\r
+               <table border="0" cellpadding="0" cellspacing="0">\r
+                  <tr>\r
+                     <td width="180">54g&#8482; Mode:</td>\r
+                     <td><select name="wlgMode" size="1" onChange="wl_recalc(false)">\r
+                           <option value="1">\r
+                           54g Auto\r
+                           <option value="4">\r
+                           54g Performance\r
+                           <option value="5">\r
+                           54g LRS\r
+                           <option value="0">\r
+                           802.11b Only\r
+                        </select></td>\r
+                  </tr>\r
+                  <tr>\r
+                     <td width="180">54g&#8482; Protection:</td>\r
+                     <td><select name="wlProtection" size="1">\r
+                           <option value="off">\r
+                           Off\r
+                           <option value="auto">\r
+                           Auto\r
+                        </select></td>\r
+                  </tr>\r
+               </table>\r
+            </div>\r
+            <div id="div_regMode">\r
+               <table border="0" cellpadding="0" cellspacing="0">\r
+                  <tr>\r
+                     <td width="180">Regulatory Mode:</td>\r
+                     <td><select name="wlRegMode" size="1" onChange='RegModeChange(false)'>\r
+                           <option value="0">\r
+                           Disabled\r
+                           <option value="1">\r
+                           802.11h\r
+                           <option value="2">\r
+                           802.11d\r
+                        </select></td>\r
+                  </tr>\r
+                  <tr>\r
+                     <td width="180">Pre-Network Radar Check:</td>\r
+                     <td><input type='text' name='wlDfsPreIsm' size='2'></td>\r
+                  </tr>\r
+                  <tr>\r
+                     <td width="180">In-Network Radar Check:</td>\r
+                     <td><input type='text' name='wlDfsPostIsm' size='2'></td>\r
+                  </tr>\r
+                  <tr>\r
+                     <td width="180">TPC Mitigation(db):</td>\r
+                     <td><select name="wlTpcDb" size="1">\r
+                           <option value="0">\r
+                           0(off)\r
+                           <option value="2">\r
+                           2\r
+                           <option value="3">\r
+                           3\r
+                           <option value="4">\r
+                           4                           \r
+                        </select></td>\r
+                  </tr>\r
+               </table>\r
+            </div>\r
+            <div id="AFB">    \r
+               <table border="0" cellpadding="0" cellspacing="0">  \r
+                  <tr> \r
+                        <td width="180">Afterburner Technology:</td>\r
+                        <td><select name='wlAfterBurnerEn' size="1" onChange='wl_afterburner_options(false)'>\r
+                                <option value="off">\r
+                                Disabled\r
+                                <option value="auto">\r
+                                Enabled\r
+                                </select></td> \r
+                        <td>\r
+                                <div id="ABWarning">\r
+                                  Disable WMM(Quality of Service) and set Fragmentation to 2346 for selection\r
+                                </div>\r
+                        </td>                          \r
+                   </tr> \r
+               </table>\r
+            </div>                \r
+            <div id="preambleType">\r
+               <table border="0" cellpadding="0" cellspacing="0">\r
+                  <tr>\r
+                     <td width="180">Preamble Type:</td>\r
+                     <td><select name="wlPreambleType" size="1">\r
+                           <option value="long">\r
+                           long\r
+                           <option value="short">\r
+                           short\r
+                        </select></td>\r
+                  </tr>\r
+               </table>\r
+            </div>\r
+            <div id="WLTXPOWER">\r
+               <table border="0" cellpadding="0" cellspacing="0">\r
+                  <tr>\r
+                     <td width="180"> Transmit Power:</td>\r
+                     <td><select name="wlTxPower" size="1">\r
+                           <option value="20">\r
+                           20%\r
+                           <option value="40">\r
+                           40%\r
+                           <option value="60">\r
+                           60%\r
+                           <option value="80">\r
+                           80%\r
+                           <option value="100">\r
+                           100%\r
+                        </select></td>\r
+                  </tr>\r
+               </table>\r
+            </div>                                     \r
+            <br>\r
+            <center>\r
+               <input type='button' onClick='btnApply()' value='Save/Apply'>\r
+            </center>\r
+         </form>\r
+      </blockquote>\r
+   </body>\r
+</html>\r