http://downloads.netgear.com/files/GPL/GPL_Source_V361j_DM111PSP_series_consumer_rele...
[bcm963xx.git] / userapps / broadcom / cfm / html / wancfg.html
1 <html>
2    <head>
3       <meta HTTP-EQUIV='Pragma' CONTENT='no-cache'>
4       <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'>
5       <link rel="stylesheet" href='stylemain.css' type='text/css'>
6          <link rel="stylesheet" href='colors.css' type='text/css'>
7             <script language="javascript" src="util.js"></script>
8             <script language="javascript">
9 <!-- hide\r
10 parent.helpframe.location.href="hlpipoacfg.html";
11 var randomNum = '<%ejGet(CheckNum)%>';
12 var dhcpClnt = '<%ejGet(enblDhcpClnt)%>';
13 var addr = '<%ejGet(wanIpAddress)%>';
14 var mask = '<%ejGet(wanSubnetMask)%>';
15 var nat = '<%ejGet(enblNat)%>';
16 var dns1 = '<%ejGet(dnsPrimary)%>';
17 var dns2 = '<%ejGet(dnsSecondary)%>';
18 var dnsauto = '<%ejGet(dnsDynamic)%>';
19 var qs = '<%ejGet(quickSetup)%>';
20 var gate = '<%ejGetOther(memInfo, dfltGw)%>';   
21 var prtcl = '<%ejGetOther(memInfo, ntwkPrtcl)%>';
22 var vpi = '<%ejGet(atmVpi)%>';
23 var vci = '<%ejGet(atmVci)%>';
24 var serviceId = '<%ejGet(serviceId)%>';
25 var existedProtocol = '<%ejGet(existedProtocol)%>';
26 var buildmergw = '<%ejGetOther(sysInfo, buildMerGw)%>';
27 var mergw = '<%ejGet(meraddgw)%>';
28 var defaultPrtcl = '<%ejGet(defaultPrtcl)%>';
29
30 function ShowMERGWInfo(){\r
31         document.getElementById('MERAddGwInfo').innerHTML =\r
32                 '<table border="0" cellpadding="0" cellspacing="0">'+   \r
33         '<tr height="30">'+\r
34         '<td><input type="checkbox" name="meraddgw"></td>'+\r
35         '<td>&nbsp;Add Default Route</td>'+\r
36         '</tr>'+\r
37         '</table>';             \r
38         with ( document.forms[0] ) {\r
39                 if (mergw == '1')\r
40                         meraddgw.checked = true;\r
41                 else\r
42                         meraddgw.checked = false;                       \r
43         }               \r
44 }\r
45 \r
46 function ShowDNSInfo(){\r
47         document.getElementById('dnsServer').innerHTML =\r
48                 '<table border="0" cellpadding="0" cellspacing="0">'+\r
49         '<tr>'+\r
50         '<td><input type="radio" name="dns" id="pdnsradio" onClick="dnsClick()"></td>'+\r
51         '<td colspan="2">&nbsp;Obtain DNS server address automatically</td>'+\r
52         '</tr>'+\r
53         '<tr>'+\r
54         '<td><input type="radio" name="dns" id="sdnsradio" onClick="dnsClick()"></td>'+\r
55         '<td colspan="2">&nbsp;Use the following DNS server addresses:</td>'+\r
56         '</tr>'+\r
57         '<tr>'+\r
58         '<td>&nbsp;</td>'+\r
59         '<td nowrap>&nbsp;Primary DNS server:</td>'+\r
60         '<td><input type="text" name="dnsPrimary" id="dnsPrimary"></td>'+\r
61         '</tr>'+\r
62         '<tr>'+\r
63         '<td>&nbsp;</td>'+\r
64         '<td>&nbsp;Secondary DNS server:</td>'+\r
65         '<td><input type="text" name="dnsSecondary" id="dnsSecondary"></td>'+\r
66         '</tr>'+\r
67         '</table>'+\r
68         '<table border="0" cellpadding="0" cellspacing="0">'+\r
69         '<tr height="30">'+\r
70         '<td width="25"><input type="checkbox" name="enbNat" id="enbNat"></td>'+\r
71         '<td>Enable NAT</td>'+\r
72         '</tr></table>';\r
73 }\r
74 \r
75 \r
76 function disableWanInfo() {\r
77    with ( document.forms[0] ) {\r
78       wanIpAddress.disabled = 1;\r
79       wanIpAddress.value = '';\r
80       wanSubnetMask.disabled = 1;\r
81       wanSubnetMask.value = '';\r
82       gateway.disabled = 1;\r
83       gateway.value = '';\r
84    }\r
85 }\r
86 \r
87 function enableWanInfo() {\r
88    with ( document.forms[0] ) {\r
89       wanIpAddress.disabled = 0;\r
90       wanIpAddress.value = addr;\r
91       wanSubnetMask.disabled = 0;\r
92       wanSubnetMask.value = mask;\r
93       gateway.disabled = 0;\r
94       if(gate == '0.0.0.0' || gate == 'Automatically Assigned' || gate == 'Automatisch zugewiesen' || gate == 'Not Applicable' || gate == 'Nicht anwendbar')\r
95          gateway.value = '';\r
96       else\r
97          gateway.value=gate;   \r
98    }\r
99 }\r
100 \r
101 function disableDnsInfo() {\r
102    with ( document.forms[0] ) {\r
103         document.getElementById("dnsPrimary").disabled=1;\r
104         document.getElementById("dnsPrimary").value='';\r
105         document.getElementById("dnsSecondary").disabled=1;\r
106         document.getElementById("dnsSecondary").value='';\r
107    }\r
108 }\r
109 \r
110 function enableDnsInfo() {\r
111    with ( document.forms[0] ) {\r
112         document.getElementById("dnsPrimary").disabled=0;\r
113         document.getElementById("dnsPrimary").value=dns1;\r
114         document.getElementById("dnsSecondary").disabled=0;\r
115         document.getElementById("dnsSecondary").value=dns2;\r
116    }\r
117 }\r
118 \r
119 function wanClick() {\r
120         with ( document.forms[0] ) {\r
121         if (wan[1].checked == true || wan[2].checked == true){\r
122                 ShowDNSInfo();\r
123                 if (wan[2].checked == true){\r
124                         enableWanInfo();\r
125                         document.getElementById("pdnsradio").disabled=true;\r
126                         document.getElementById("sdnsradio").checked=true;\r
127                         enableDnsInfo();\r
128                 } else {\r
129                         disableWanInfo();\r
130                         document.getElementById("pdnsradio").disabled=0;\r
131                         if ( dnsauto == '1' ) {\r
132                         document.getElementById("pdnsradio").checked=true;\r
133                         disableDnsInfo();\r
134                         } else {\r
135                         document.getElementById("sdnsradio").checked=true;\r
136                         enableDnsInfo();\r
137                         }       \r
138                 }\r
139                 if ( qs == '0' && (existedProtocol == 'MER' || existedProtocol == 'PPPoE')){\r
140                                 wan[0].disabled = true;\r
141                         }\r
142                 if(nat == '1'){\r
143                         document.getElementById("enbNat").checked=true;\r
144                 }else{\r
145                         document.getElementById("enbNat").checked=false;\r
146                 }\r
147                 if (buildmergw == '1' && qs == '0')\r
148                                 ShowMERGWInfo();                \r
149         } else {\r
150                 disableWanInfo();\r
151                 document.getElementById('dnsServer').innerHTML ='';\r
152                 document.getElementById('MERAddGwInfo').innerHTML ='';\r
153         }\r
154         }\r
155 }\r
156 \r
157 function dnsClick() {\r
158    with ( document.forms[0] ) {\r
159       if ( dns[0].checked == true )\r
160          disableDnsInfo();\r
161       else\r
162          enableDnsInfo();\r
163    }\r
164 }\r
165 \r
166 function frmLoad() {\r
167         with ( document.forms[0] ) {\r
168                 if ( dns1 == '&nbsp' || dns1 == '0.0.0.0') dns1 = '';\r
169         if ( dns2 == '&nbsp' || dns2 == '0.0.0.0') dns2 = '';\r
170         if(qs == '1' && defaultPrtcl != '2'){//2: MER\r
171                 wan[0].checked = true;\r
172         } else {\r
173                 if ( prtcl == 'MER' ){\r
174                         ShowDNSInfo();\r
175                         if ( dhcpClnt == '1' ) {\r
176                                 wan[1].checked = true;\r
177                                 disableWanInfo();\r
178                                 if ( dnsauto == '1' ) {\r
179                                 document.getElementById("pdnsradio").checked=true;\r
180                                 disableDnsInfo();\r
181                                 } else {\r
182                                 document.getElementById("sdnsradio").checked=true;\r
183                                 enableDnsInfo();\r
184                                 }\r
185                                 } else {\r
186                                 wan[2].checked = true;\r
187                                 enableWanInfo();\r
188                                 document.getElementById("pdnsradio").disabled=true;\r
189                                 document.getElementById("sdnsradio").checked=true;\r
190                                 enableDnsInfo();\r
191                                 }\r
192                                 if (existedProtocol == 'MER' || existedProtocol == 'PPPoE'){\r
193                                         wan[0].disabled = true;\r
194                                 }\r
195                                 if(nat == '1'){\r
196                                 document.getElementById("enbNat").checked=true;\r
197                         }else{\r
198                                 document.getElementById("enbNat").checked=false;\r
199                         }\r
200                         \r
201                         if (buildmergw == '1' && qs == '0')\r
202                                         ShowMERGWInfo();                \r
203                         } else {\r
204                                 wan[0].checked = true;\r
205                                 disableWanInfo();\r
206                         }\r
207                 }\r
208         }\r
209 }\r
210 \r
211 function btnNext() {\r
212         var loc = 'lancfg.cgi?';\r
213         var service = '';\r
214 \r
215         if (qs == 0)\r
216         loc = 'ntwksum2.cgi?';\r
217 \r
218         loc += 'checkNum=' + randomNum + '&';\r
219         \r
220         with ( document.forms[0] ) {\r
221                 if ( wan[1].checked == true || wan[2].checked == true) {\r
222                 dns1 = dnsPrimary.value;\r
223                 dns2 = dnsSecondary.value;\r
224         }\r
225         if ( wan[1].checked == true ) {\r
226                 loc += 'ntwkPrtcl=2';\r
227                 loc += '&enblDhcpClnt=1&enblAuto=1';\r
228                 loc += '&defaultGateway=0.0.0.0';\r
229                 loc += '&wanIpAddress=0.0.0.0';\r
230                 loc += '&wanSubnetMask=255.255.255.255';\r
231                 if ( dns[0].checked == true ) {\r
232                 loc += '&dnsPrimary=0.0.0.0';\r
233                 loc += '&dnsSecondary=0.0.0.0';\r
234                 loc += '&dnsDynamic=1';\r
235                 } else {\r
236                 if ( isValidIpAddress(dns1) == false ) {\r
237                         alert('Primary DNS "' + dns1 + '" has invalid IP address.');\r
238                         return;\r
239                 }\r
240                 loc += '&dnsPrimary=' + dns1;\r
241                 \r
242                 if (dns2 != '' && dns2 != '0.0.0.0') {\r
243                         if ( isValidIpAddress(dns2) == false ) {\r
244                                 alert('Secondary DNS "' + dns2 + '" has invalid IP address.');\r
245                                 return;\r
246                         }\r
247                         loc += '&dnsSecondary=' + dnsSecondary.value;\r
248                         } else\r
249                         loc += '&dnsSecondary=' + '0.0.0.0';\r
250                 \r
251                 loc += '&dnsDynamic=0';\r
252                 }\r
253                 service = 'mer_' + vpi + '_' + vci;\r
254                 loc += '&serviceName=' + encodeUrl(service);\r
255         } else if ( wan[2].checked == true ){\r
256                 if ( isValidIpAddress(wanIpAddress.value) == false ) {\r
257                 alert('WAN IP address "' + wanIpAddress.value + '" is invalid IP address.');\r
258                 return;\r
259                 }\r
260                 if ( isValidIpAddress(wanSubnetMask.value) == false ) {\r
261                 alert('WAN subnet mask "' + wanSubnetMask.value + '" has invalid IP address.');\r
262                 return;\r
263                 }\r
264                 if ( isValidIpAddress(gateway.value) == false ) {\r
265                 alert('Gateway "' + gateway.value + '" has invalid IP address.');\r
266                 return;\r
267                 }\r
268                 if ( isValidIpAddress(dns1) == false ) {\r
269                 alert('Primary DNS "' + dns1 + '" has invalid IP address.');\r
270                 return;\r
271                 }\r
272                 if (dns2 != '' && dns2 != '0.0.0.0') {\r
273                 if ( isValidIpAddress(dns2) == false ) {\r
274                         alert('Secondary DNS "' + dns2 + '" has invalid IP address.');\r
275                         return;\r
276                 }\r
277                 } else\r
278                 dns2 = '0.0.0.0';\r
279                 loc += 'ntwkPrtcl=2';\r
280                 loc += '&enblDhcpClnt=0&enblAuto=0';\r
281                 loc += '&wanIpAddress=' + wanIpAddress.value;\r
282                 loc += '&wanSubnetMask=' + wanSubnetMask.value;\r
283                 loc += '&defaultGateway=' + gateway.value;\r
284                 loc += '&wanIfName='; // clear wanIfname,because we set interface name to wanIfname in IPOA\r
285                 loc += '&dnsPrimary=' + dns1;\r
286                 loc += '&dnsSecondary=' + dns2;\r
287                 loc += '&dnsDynamic=0';\r
288                 service = 'mer_' + vpi + '_' + vci;\r
289                 loc += '&serviceName=' + encodeUrl(service);\r
290         } else {\r
291                 loc += 'ntwkPrtcl=3';\r
292                 service = 'br_' + vpi + '_' + vci;\r
293                 loc += '&serviceName=' + encodeUrl(service);\r
294         }\r
295         \r
296         if ( wan[1].checked == true || wan[2].checked == true) {\r
297                 if(enbNat.checked==true){\r
298                         loc += '&enblNat=1';\r
299                         if (qs == '1')\r
300                                 loc += '&enblUPnP=1';\r
301                 }else{\r
302                         loc += '&enblNat=0';\r
303                         if (qs == '1')\r
304                                 loc += '&enblUPnP=0';\r
305                 }\r
306       \r
307                 loc += '&enblFirewall=1'; //always enable firewall     \r
308                         \r
309                         if (buildmergw == '1'){\r
310                         if (qs == '1'){\r
311                                 loc += '&meraddgw=1';\r
312                         } else {\r
313                                 if (meraddgw.checked == true)\r
314                                         loc += '&meraddgw=1';\r
315                                 else\r
316                                         loc += '&meraddgw=0';\r
317                         }\r
318                 }      \r
319                 }\r
320         \r
321         }\r
322         \r
323         var code = 'window.location.href="/'; // for Mac safari browser compatibility\r
324         code += loc + '"';\r
325         eval(code);\r
326 }\r
327 \r
328 function btnBack() {\r
329         var loc = 'ntwkprtcl2.html';\r
330 \r
331         var code = 'window.location.href="/'; // for Mac safari browser compatibility\r
332         code += loc + '"';\r
333         eval(code);\r
334 }\r
335 \r
336 // done hiding -->\r
337 </script>\r
338 \r
339 </head>\r
340 <body onLoad='frmLoad()'>\r
341          <form class="formpadding">\r
342 <table border="0" cellpadding="0" cellspacing="3" width="98%">
343 <tr>
344   <td><b><font class="netgear">Configure Internet Connection - WAN IP Settings</font></b></td>
345 </tr>
346 <tr><td>&nbsp;</td></tr>
347 <tr>\r
348   <td background="liteblue.gif" height="12">&nbsp;</td>\r
349 </tr>
350 </table>                \r
351             Enter information provided to you by your ISP to configure the WAN IP settings.<br>\r
352             <br>\r
353             <table border="0" cellpadding="0" cellspacing="0">\r
354                <tr>\r
355 \r
356                   <td><input type="radio" name="wan" onClick='wanClick()'></td>\r
357                   <td colspan="2">&nbsp;None</td>\r
358                </tr>\r
359                <tr>\r
360                   <td><input type="radio" name="wan" onClick='wanClick()'></td>\r
361                   <td colspan="2">&nbsp;Obtain an IP address automatically</td>\r
362                </tr>\r
363                <tr>\r
364 \r
365                   <td><input type="radio" name="wan" onClick='wanClick()'></td>\r
366                   <td colspan="2">&nbsp;Use the following IP address:</td>\r
367                </tr>\r
368                <tr>\r
369                   <td>&nbsp;</td>\r
370                   <td width="130">&nbsp;WAN IP Address:</td>\r
371                   <td><input type='text' name='wanIpAddress'></td>\r
372                </tr>\r
373 \r
374                <tr>\r
375                   <td>&nbsp;</td>\r
376                   <td>&nbsp;WAN Subnet Mask:</td>\r
377                   <td><input type='text' name='wanSubnetMask'></td>\r
378                </tr>\r
379                <tr>\r
380                   <td>&nbsp;</td>\r
381                   <td>&nbsp;Default Gateway:</td>\r
382 \r
383                   <td><input type='text' name='gateway'></td>\r
384                </tr>\r
385             </table>\r
386             <p id='dnsServer'></p>\r
387             <p id='MERAddGwInfo'></p>\r
388 <table border="0" cellpadding="0" cellspacing="3" width="98%">
389 <tr>\r
390   <td background="liteblue.gif" height="12">&nbsp;</td>\r
391 </tr>
392 </table>
393             <table width="520"><tr>\r
394                <td align="right"><input type='button' onClick='btnBack()' value='< Back'> <input type='button' onClick='btnNext()' value='Next >'></td>\r
395             </tr></table>\r
396 \r
397 </form>\r
398 </body>\r
399 </html>
400