add added files
[bcm963xx.git] / userapps / broadcom / cfm / html / wancfg.html
diff --git a/userapps/broadcom/cfm/html/wancfg.html b/userapps/broadcom/cfm/html/wancfg.html
new file mode 100755 (executable)
index 0000000..2bfda30
--- /dev/null
@@ -0,0 +1,350 @@
+<!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></title>
+
+       <link href="usr_main.css" rel="stylesheet" type="text/css">
+       <script src="usr_menus.js" type="text/javascript"></script>
+       <script src="usr_common.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
+setPageTitle("<%ejGetWl(wlInterface)%>");
+
+var dhcpClnt = '<%ejGet(enblDhcpClnt)%>';
+var addr = '<%ejGet(wanIpAddress)%>';
+var mask = '<%ejGet(wanSubnetMask)%>';
+var enblAuto = '<%ejGet(enblAuto)%>';
+var gtwyIfc = '<%ejGetOther(sysInfo, dfltGwIfc)%>';
+if ( gtwyIfc == '&nbsp;' ) gtwyIfc = '';
+var gtwy = '<%ejGetOther(sysInfo, dfltGw)%>';
+if ( gtwy == '&nbsp;' ) gtwy = '';
+var dnsAuto = '<%ejGetOther(sysInfo,dnsAuto)%>';
+var dns1Mem = '<%ejGet(dnsPrimary)%>';
+var dns1 = '<%ejGetOther(sysInfo, dns)%>';
+if ( dns1 == '&nbsp;' )
+   dns1 = '';
+var dns2Mem = '<%ejGet(dnsSecondary)%>';
+var dns2 = '<%ejGetOther(sysInfo, dns2)%>';
+if ( dns2 == '&nbsp;' )
+   dns2 = '';
+var qs = '<%ejGet(quickSetup)%>';
+var srvId = parseInt('<%ejGet(serviceId)%>');
+
+function disableDnsInfo() {
+   with ( document.forms[0] ) {
+      dnsPrimary.disabled = 1;
+      dnsPrimary.value = '';
+      dnsSecondary.disabled = 1;
+      dnsSecondary.value = '';
+   }
+}
+
+function enableDnsInfo() {
+   with ( document.forms[0] ) {
+      dnsPrimary.disabled = 0;
+      dnsPrimary.value = dns1;
+      dnsSecondary.disabled = 0;
+      dnsSecondary.value = dns2;
+   }
+}
+
+function dnsClick() {
+   with ( document.forms[0] ) {
+      if ( dns[0].checked == true )
+         disableDnsInfo();
+      else
+         enableDnsInfo();
+   }
+}
+
+function disableGwInfo() {
+   with ( document.forms[0] ) {
+      gwAddr.disabled = 1;
+      gwAddr.checked = false;
+      defaultGateway.disabled = 1;
+      defaultGateway.value = '';
+      gwIfc.disabled = 1;
+      gwIfc.checked = false;
+      wanIf.disabled = 1;
+   }
+}
+
+function enableGwInfo() {
+   with ( document.forms[0] ) {
+      gw[1].checked = true;
+      gwAddr.disabled = 0;
+      if ( isValidIpAddress(gtwy) == true ) {
+         gwAddr.checked = true;
+         defaultGateway.value = gtwy;
+      } else {
+         gwAddr.checked = false;
+         defaultGateway.value = '';
+      }
+      defaultGateway.disabled = 0;
+      gwIfc.disabled = 0;
+      if ( gtwyIfc != '' )
+         gwIfc.checked = true;
+      else
+         gwIfc.checked = false;
+      wanIf.disabled = 0;
+   }
+}
+
+function gwClick() {
+   with ( document.forms[0] ) {
+      if ( gw[0].checked == true )
+         disableGwInfo();
+      else
+         enableGwInfo();
+   }
+}
+
+function disableWanInfo() {
+   with ( document.forms[0] ) {
+      wanIpAddress.disabled = 1;
+      wanIpAddress.value = '';
+      wanSubnetMask.disabled = 1;
+      wanSubnetMask.value = '';
+   }
+}
+
+function enableWanInfo() {
+   with ( document.forms[0] ) {
+      wanIpAddress.disabled = 0;
+      wanIpAddress.value = addr;
+      wanSubnetMask.disabled = 0;
+      wanSubnetMask.value = mask;
+   }
+}
+
+function wanClick() {
+   with ( document.forms[0] ) {
+      if ( wan[0].checked == true )
+         disableWanInfo();
+      else
+         enableWanInfo();
+   }
+}
+
+function frmLoad() {
+   with ( document.forms[0] ) {
+      if ( dhcpClnt == '1' ) {
+         wan[0].checked = true;
+         disableWanInfo();
+      } else {
+         wan[1].checked = true;
+         enableWanInfo();
+      }
+      if ( enblAuto == '1' ) {
+         gw[0].checked = true;
+         disableGwInfo();
+      } else {
+         gw[1].checked = true;
+         enableGwInfo();
+      }
+      if (dnsAuto == '1') {
+         dns[0].checked = true;
+         disableDnsInfo();
+      } else {
+         dns[1].checked = true;
+         enableDnsInfo();
+      }
+   }
+}
+
+function btnNext() {
+   var loc = 'natcfg2.cgi?';
+
+   with ( document.forms[0] ) {
+      dns1 = dnsPrimary.value;
+      dns2 = dnsSecondary.value;
+      // wan IP address
+      if ( wan[0].checked == true )
+         loc += 'enblDhcpClnt=1';   // auto WAN address
+      else {
+         loc += 'enblDhcpClnt=0';   // static WAN address
+         if ( isValidIpAddress(wanIpAddress.value) == false ) {
+            alert('WAN IP address "' + wanIpAddress.value + '" is invalid IP address.');
+            return;
+         }
+         loc += '&wanIpAddress=' + wanIpAddress.value;
+         if ( isValidIpAddress(wanSubnetMask.value) == false ) {
+            alert('WAN subnet mask "' + wanSubnetmask.value + '" is invalid IP address.');
+            return;
+         }
+         loc += '&wanSubnetMask=' + wanSubnetMask.value;
+      }
+      // default gateway
+      if ( gw[0].checked == false ) {
+         if ( gwAddr.checked == false && gwIfc.checked == false ) {
+            alert('There is no selection for default gateway.');
+            return;
+         }
+         if ( gwAddr.checked == true ) {
+            if ( isValidIpAddress(defaultGateway.value) == false ) {
+               alert('Remote WAN IP address "' + defaultGateway.value + '" is invalid IP address.');
+               return;
+            }
+            loc += '&defaultGateway=' + defaultGateway.value;
+         } else
+            loc += '&defaultGateway=0.0.0.0';
+         if ( gwIfc.checked == true ) {
+            var idx = wanIf.selectedIndex;
+            var ifc = wanIf.options[idx].value;
+            // if chosen interface is MER but does not specify static IP address then display error
+            if ( ifc.indexOf('nas_') != -1 && gwAddr.checked == false ) {
+               alert('Default gateway IP address should be specified since MER interface is selected.');
+               return;
+            }
+            loc += '&wanIfName=' + ifc;
+         } else
+            loc += '&wanIfName=';
+         // use static default gateway
+         loc += '&enblAuto=0';
+      } else {
+         loc += '&defaultGateway=0.0.0.0';
+         loc += '&wanIfName=';
+         loc += '&enblAuto=1';
+      }
+      if ( dns[0].checked == false ) {
+         // primary DNS
+         if ( isValidIpAddress(dns1) == false ) {
+            alert('Primary DNS server "' + dnsPrimary.value + '" is invalid IP address.');
+            return;
+         }
+         loc += '&dnsPrimary=' + dns1;
+         // secondary DNS
+         if ( dns2 != '' && dns2 != '0.0.0.0' ) {
+            if ( isValidIpAddress(dns2) == false ) {
+               alert('Secondary DNS server "' + dns2 + '" is invalid IP address.');
+               return;
+            }
+         }
+         loc += '&dnsSecondary=' + dns2;
+         loc += '&dnsDynamic=0';
+      } else {
+         loc += '&dnsPrimary=0.0.0.0';
+         loc += '&dnsSecondary=0.0.0.0';
+         loc += '&dnsDynamic=1';
+      }
+   }
+
+   var code = 'location.assign("' + loc + '")';
+   eval(code);
+}
+
+function btnBack() {
+   var loc = 'ntwkprtcl.html';
+
+   var code = 'location.assign("' + loc + '")';
+   eval(code);
+}
+
+// done hiding -->
+</script>
+</head>
+
+<body onload="initMenu('idMenu'); frmLoad();">
+
+<script type="text/javascript">
+       writeHeader("WAN IP Settings", "<%ejGet(curUserName)%>", "<%ejGetOther(sysInfo, adslStd)%>", "<%ejGetOther(sysInfo, noBrPrtcl)%>", <%ejGetOther(sysInfo, pppIpExtension)%>, <%ejGetOther(sysInfo, enblFirewall)%>, <%ejGetOther(sysInfo, enblNat)%>, "<%ejGetWl(wlInterface)%>", <%ejGet(enblQos)%>);
+</script>
+
+<form>
+       <p>Enter information provided to you by your ISP to configure the WAN IP settings.</p>
+
+       <p>
+               <input type="radio" name="wan" id="wan1" onClick='wanClick()'> <label for="wan1">Obtain an IP address automatically</label><br/>
+               <input type="radio" name="wan" id="wan2" onClick='wanClick()'> <label for="wan2">Use the following IP address:</label>
+       </p>
+       <table border="0" cellpadding="0" cellspacing="0">
+               <tr>
+                       <td><label for="wanIpAddress">WAN IP address:</label></td>
+                       <td><input type='text' name='wanIpAddress' id='wanIpAddress'></td>
+               </tr>
+               <tr>
+                       <td><label for="wanSubnetMask">WAN subnet mask:</label></td>
+                       <td><input type='text' name='wanSubnetMask' id='wanSubnetMask'></td>
+               </tr>
+       </table>
+
+       <p>
+               <input type="radio" name="gw" id="gw1" onClick='gwClick()'> <label for="gw1">Obtain default gateway automatically</label><br/>
+               <input type="radio" name="gw" id="gw2" onClick='gwClick()'> <label for="gw2">Use the following default gateway:</label>
+       </p>
+       <table border="0" cellpadding="0" cellspacing="0">
+               <tr>
+                       <td>&nbsp;</td>
+                       <td><input type="checkbox" name='gwAddr' id='gwAddr'> <label for="gwAddr">Use IP address:</label></td>
+                       <td><input type='text' name='defaultGateway' id='defaultGateway'></td>
+               </tr>
+               <tr>
+                       <td>&nbsp;</td>
+                       <td><input type="checkbox" name='gwIfc' id='gwIfc'> <label for="gwIfc">Use WAN interface:</label></td>
+                       <td><select name='wanIf' id='wanIf'>
+<script type="text/javascript">
+<!-- hide
+{
+   var i = 0;
+   var defaultInterface = '<%ejGetOther(wanInterfaceInfo, default)%>';
+   var interfaceInfo = '<%ejGetOther(wanInterfaceInfo, route)%>';
+   var interfaces = interfaceInfo.split('|');
+   
+   if ( srvId == 0 || qs == '1' ) {
+      var defaultNames = defaultInterface.split('/');
+      document.write("  <option value='" + defaultNames[1] + "' selected>");
+      document.writeln(defaultInterface);
+      for ( i = 0; i < interfaces.length; i++ ) {
+         var names = interfaces[i].split('/');
+         document.write("  <option value='" + names[1] + "'>");
+         document.writeln(interfaces[i]);
+      }
+   } else {
+      for ( i = 0; i < interfaces.length; i++ ) {
+         var names = interfaces[i].split('/');
+         if ( names[1] == gtwyIfc )
+            document.write("  <option value='" + names[1] + "' selected>");
+         else
+            document.write("  <option value='" + names[1] + "'>");
+         document.writeln(interfaces[i]);
+      }
+   }
+}
+// done hiding -->
+</script>
+                        </select></td>
+               </tr>
+            </table>
+
+            <p>
+                  <input type="radio" name="dns" id="dnsP" onClick='dnsClick()'><label for="dnsP">Obtain DNS server addresses automatically</label><br>
+                  <input type="radio" name="dns" id="dnsS" onClick='dnsClick()'><label for="dnsS">Use the following DNS server addresses:</label>
+            </p>
+            <table border="0" cellpadding="0" cellspacing="0">
+               <tr>
+                  <td width="20">&nbsp;</td>
+                  <td><label for="dnsPrimary">Primary DNS server:</label></td>
+                  <td><input type='text' name='dnsPrimary' id='dnsPrimary'></td>
+               </tr>
+               <tr>
+                  <td>&nbsp;</td>
+                  <td><label for="dnsSecondary">Secondary DNS server:</label></td>
+                  <td><input type='text' name='dnsSecondary' id='dnsSecondary'></td>
+               </tr>
+            </table><br>
+            <p><input type='button' onClick='btnBack()' value='Back'> <input type='button' onClick='btnNext()' value='Next'></p>
+         </form>
+
+<script type="text/javascript">
+       writeFooter();
+</script>
+
+</body>
+</html>