1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html>
3<head>
4<%11%>
5<title>NETGEAR   Genie</title>
6<%144%>
7<link rel="stylesheet" href="<%951%>">
8<script type="text/javascript">
9<!-- 
10var DisableFixedDNS = false;
11var DisableFixedMAC = false;
12var MacAddress;
13var DodDisable = false;
14
15function goBasic()
16{
17     var ret;
18     ret = confirm("<%2210%>");
19     if(ret==1){
20         top.location.href="genie_basic.htm";
21     }else{
22         return false;
23     }
24
25}
26
27function goTestApply()
28{
29	var winoptions = "width=640,height=480,menubar=yes,toolbar=yes,status=yes,location=yes,resizable=yes";
30	if(document.forms[0].runtest.value == "yes")
31		window.open('BAS_wtest_l.htm','test_win',winoptions);
32}
33
34function loadcheck()
35{
36	var cf = document.forms[0];
37	if(isIE()){
38		cf.pptp_username.size="24";
39		cf.pptp_passwd.size="24";
40	}	
41}
42    
43
44
45function checkData(index)
46{
47	var cf = document.forms[0];
48	var msg = "";
49	var region_gui = cf.gui_region.value;
50	
51	msg+= checkBlank(cf.pptp_username, "<%242%>");
52	if(cf.pptp_idletime.value.length<=0)
53		msg+= "<%240%>";
54	else if(!_isNumeric(cf.pptp_idletime.value))
55		msg+= "<%241%>";
56	
57	if((cf.myip_1.value.length>0)||(cf.myip_2.value.length>0)||(cf.myip_3.value.length>0)||(cf.myip_4.value.length>0))
58	{
59		if(!((cf.mymask_1.value.length>0)||(cf.mymask_2.value.length>0)||(cf.mymask_3.value.length>0)||(cf.mymask_4.value.length>0)))
60		{
61			if(!checkIP(cf.myip_1,cf.myip_2,cf.myip_3,cf.myip_4,255))
62			{
63				if (cf.myip_1.value > 191) //class C
64				{
65					cf.mymask_1.value = 255;
66					cf.mymask_2.value = 255;
67					cf.mymask_3.value = 255;
68					cf.mymask_4.value = 0;
69				}
70				else if (cf.myip_1.value > 127) //class B
71				{
72					cf.mymask_1.value = 255;
73					cf.mymask_2.value = 255;
74					cf.mymask_3.value = 0;
75					cf.mymask_4.value = 0;
76				}
77				else //class A
78				{
79					cf.mymask_1.value = 255;
80					cf.mymask_2.value = 0;
81					cf.mymask_3.value = 0;
82					cf.mymask_4.value = 0;
83				}
84			}
85		}
86		else if(checkIP(cf.mymask_1,cf.mymask_2,cf.mymask_3,cf.mymask_4,255))
87			msg += "<%189%>";
88		
89		
90		if(checkIP(cf.myip_1,cf.myip_2,cf.myip_3,cf.myip_4,255))
91			msg+= "<%243%>";
92		else
93		{
94			cf.myip_1.value = parseInt(cf.myip_1.value,10);
95			cf.myip_2.value = parseInt(cf.myip_2.value,10);
96			cf.myip_3.value = parseInt(cf.myip_3.value,10);
97			cf.myip_4.value = parseInt(cf.myip_4.value,10);
98		}
99		cf.static_pptp_enable.value = 1;
100	}
101	else
102		cf.static_pptp_enable.value = 0;
103
104	if((cf.mygw_1.value.length>0)||(cf.mygw_2.value.length>0)||(cf.mygw_3.value.length>0)||(cf.mygw_4.value.length>0))
105	{
106		var myIpAddr = (cf.myip_1.value << 24) | (cf.myip_2.value << 16) | (cf.myip_3.value << 8) | (cf.myip_4.value);
107		var netMask = (cf.mymask_1.value << 24) | (cf.mymask_2.value << 16) | (cf.mymask_3.value << 8) | (cf.mymask_4.value);
108		var myGateway = (cf.mygw_1.value << 24) | (cf.mygw_2.value << 16) | (cf.mygw_3.value << 8) | (cf.mygw_4.value);
109		var tmpip = cf.myip_1.value+'.'+cf.myip_2.value+'.'+cf.myip_3.value+'.'+cf.myip_4.value;
110		var tmpgateway = cf.mygw_1.value+'.'+cf.mygw_2.value+'.'+cf.mygw_3.value+'.'+cf.mygw_4.value;
111	
112		if(checkIP(cf.mygw_1,cf.mygw_2,cf.mygw_3,cf.mygw_4,255))
113			msg+= "<%190%>";
114		//else if((myIpAddr&netMask) != (myGateway&netMask))
115		//{
116		//	msg+= '<%191%>' +tmpip+ '<%192%>'+ tmpgateway+'\n';
117		//}
118		else
119		{
120			cf.mygw_1.value = parseInt(cf.mygw_1.value,10);
121			cf.mygw_2.value = parseInt(cf.mygw_2.value,10);
122			cf.mygw_3.value = parseInt(cf.mygw_3.value,10);
123			cf.mygw_4.value = parseInt(cf.mygw_4.value,10);
124		}
125	}
126
127	var data;
128	data = cf.pptp_serv_ip.value.match(/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/);
129	if ((data && !isValidIPaddr(cf.pptp_serv_ip.value))
130		|| cf.pptp_serv_ip.value == ""
131		|| cf.pptp_serv_ip.value.match( /[^\x20-\x7E]/ ))
132		msg+= "<%294%>";
133
134	if (msg.length > 1)
135	{
136		alert(msg);
137		return false;
138	}
139
140    cf.pptp_user_netmask.value = cf.mymask_1.value+'.'+cf.mymask_2.value+'.'+cf.mymask_3.value+'.'+cf.mymask_4.value;
141	cf.pptp_user_ip.value = cf.myip_1.value+'.'+cf.myip_2.value+'.'+cf.myip_3.value+'.'+cf.myip_4.value;
142	cf.pptp_gateway.value = cf.mygw_1.value+'.'+cf.mygw_2.value+'.'+cf.mygw_3.value+'.'+cf.mygw_4.value;
143    
144    if (index == 1)
145        cf.action.value = "apply";
146    else if (index == 2)
147        cf.action.value = "test";
148    document.forms[0].submit();
149	return true;
150}
151function loadSettings()
152{
153	var cf = document.forms[0];
154	var pptp_user_ip = cf.pptp_user_ip.value.split(".");
155    var pptp_user_netmask = cf.pptp_user_netmask.value.split(".");
156	var pptp_gateway = cf.pptp_gateway.value.split(".");
157    if(cf.static_pptp_enable.value == 1)
158    {
159        if (cf.pptp_user_ip.value != "")
160        {
161            cf.myip_1.value = pptp_user_ip[0];
162            cf.myip_2.value = pptp_user_ip[1];
163            cf.myip_3.value = pptp_user_ip[2];
164            cf.myip_4.value = pptp_user_ip[3];
165        }
166        if (cf.pptp_user_netmask.value != "")
167        {
168            cf.mymask_1.value = pptp_user_netmask[0];
169            cf.mymask_2.value = pptp_user_netmask[1];
170            cf.mymask_3.value = pptp_user_netmask[2];
171            cf.mymask_4.value = pptp_user_netmask[3];
172        }
173
174        if (cf.pptp_gateway.value != "")
175        {
176            cf.mygw_1.value = pptp_gateway[0];
177            cf.mygw_2.value = pptp_gateway[1];
178            cf.mygw_3.value = pptp_gateway[2];
179            cf.mygw_4.value = pptp_gateway[3];
180        }
181    }
182    else
183    {
184        setDisabled(true, cf.mygw_1, cf.mygw_2, cf.mygw_3, cf.mygw_4);
185    }
186    if ( (cf.pptp_user_ip.value == "...") || (cf.pptp_user_ip.value == "") )
187    {
188        setDisabled(true, cf.mygw_1, cf.mygw_2, cf.mygw_3, cf.mygw_4);
189    }
190
191}
192
193function myip_update()
194{
195    var cf = document.forms[0];
196
197    if((cf.myip_1.value.length>0)&&(cf.myip_2.value.length>0)&&(cf.myip_3.value.length>0)&&(cf.myip_4.value.length>0))
198    {
199        setDisabled(false, cf.mygw_1, cf.mygw_2, cf.mygw_3, cf.mygw_4);
200    }
201    else
202    {
203        setDisabled(true, cf.mygw_1, cf.mygw_2, cf.mygw_3, cf.mygw_4);
204    } 
205}
206
207function goSetting() 
208{
209	location.href="genie_basic.htm";
210}
211//-->
212</script>
213
214</head>
215
216<body bgcolor="#ffffff" onload="loadSettings();loadcheck();">
217<form name="formname" method="POST" action="genie_pptp.cgi"> 
218<table border="0" cellpadding="0" cellspacing="3" width="99%">
219<tr style="height:10px">
220	<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td>
221</tr>
222<tr>
223	<td>&nbsp;</td>
224	<td class="centerTd">
225		<h2 style="color:#ff0000;"><%2294%></h2>
226        </td>
227	<td>&nbsp;</td>
228
229</tr>
230<tr>	
231	<td>&nbsp;</td>
232	<td class="textRow centerTd"><p><%2295%></p></td>
233	<td>&nbsp;</td>
234</tr>
235<tr style="height:10px">
236	<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td>
237</tr>
238<tr>
239	<td>&nbsp;</td>
240	<td NOWRAP class="inputRow centerTd" tabindex="-1" onFocus="this.blur()"><span style="display:-moz-inline-box;display:inline-block;width:240px;text-align:right;padding-bottom:5px;padding-right:10px"><%2241%></span><input type="text" name="pptp_username" size="15" maxlength="60" value="<%295%>"></td>
241	<td>&nbsp;</td>
242</tr>
243<tr>
244	<td>&nbsp;</td>
245	<td NOWRAP class="inputRow centerTd" tabindex="-1" onFocus="this.blur()"><span style="display:-moz-inline-box;display:inline-block;width:240px;text-align:right;padding-bottom:5px;padding-right:10px"><%1822%></span><input type="password" name="pptp_passwd" size="15" maxlength="50" value="<%296%>"></td>
246	<td>&nbsp;</td>
247</tr>
248<tr>
249	<td>&nbsp;</td>
250	<td NOWRAP class="inputRow centerTd" tabindex="-1" onFocus="this.blur()"><span style="display:-moz-inline-box;display:inline-block;width:240px;text-align:right;padding-bottom:5px;padding-right:10px"><%2254%></span><input type="text" class="num" name="pptp_idletime" size="3" maxlength="3" value="<%297%>"></td>
251	<td>&nbsp;</td>
252</tr>
253<tr>
254	<td>&nbsp;</td>
255	<td NOWRAP class="inputRow centerTd" tabindex="-1" onFocus="this.blur()"><span style="display:-moz-inline-box;display:inline-block;width:240px;text-align:right;padding-bottom:5px;padding-right:10px"><%266%></span><input type="text" name="myip_1" class="num" size="4" maxlength="3" onBlur="myip_update()" onkeydown="bscheck(event,this,1)" onkeyup="jumpcheck(this,0)">.<input type="text" name="myip_2" class="num" size="4" maxlength="3" onBlur="myip_update()" onkeydown="bscheck(event,this,0)" onkeyup="jumpcheck(this,0)">.<input type="text" name="myip_3" class="num" size="4" maxlength="3" onBlur="myip_update()" onkeydown="bscheck(event,this,0)" onkeyup="jumpcheck(this,0)">.<input type="text" name="myip_4" class="num" size="4" maxlength="3" onBlur="myip_update()" onkeydown="bscheck(event,this,0)" onkeyup="jumpcheck(this,1)"></td>
256	<td>&nbsp;</td>
257</tr>
258
259<tr>
260	<td>&nbsp;</td>
261	<td NOWRAP class="inputRow centerTd" tabindex="-1" onFocus="this.blur()"><span style="display:-moz-inline-box;display:inline-block;width:240px;text-align:right;padding-bottom:5px;padding-right:10px"><%267%>       </span>
262	<input type="text" name="mymask_1" class="num" size="4" maxlength="3" onkeydown="bscheck(event,this,1)" onkeyup="jumpcheck(this,0)">.<input type="text" name="mymask_2" class="num" size="4" maxlength="3" onkeydown="bscheck(event,this,0)" onkeyup="jumpcheck(this,0)">.<input type="text" name="mymask_3" class="num" size="4" maxlength="3" onkeydown="bscheck(event,this,0)" onkeyup="jumpcheck(this,0)">.<input type="text" name="mymask_4" class="num" size="4" maxlength="3" onkeydown="bscheck(event,this,0)" onkeyup="jumpcheck(this,1)"></td>
263	<td>&nbsp;</td>
264</tr>
265
266<tr>
267	<td>&nbsp;</td>
268	<td NOWRAP class="inputRow centerTd" tabindex="-1" onFocus="this.blur()"><span style="display:-moz-inline-box;display:inline-block;width:240px;text-align:right;padding-bottom:5px;padding-right:10px"><%2255%></span><input type="text" name="pptp_serv_ip" size="24" maxlength="63" value="<%304%>"></td>
269	<td>&nbsp;</td>
270</tr>
271<tr>
272	<td>&nbsp;</td>
273	<td NOWRAP class="inputRow centerTd" tabindex="-1" onFocus="this.blur()"><span style="display:-moz-inline-box;display:inline-block;width:240px;text-align:right;padding-bottom:5px;padding-right:10px"><%2256%></span><input type="text" name="mygw_1" class="num" size="4" maxlength="3" onkeydown="bscheck(event,this,1)" onkeyup="jumpcheck(this,0)">.<input type="text" name="mygw_2" class="num" size="4" maxlength="3" onkeydown="bscheck(event,this,0)" onkeyup="jumpcheck(this,0)">.<input type="text" name="mygw_3" class="num" size="4" maxlength="3" onkeydown="bscheck(event,this,0)" onkeyup="jumpcheck(this,0)">.<input type="text" name="mygw_4" class="num" size="4" maxlength="3" onkeydown="bscheck(event,this,0)" onkeyup="jumpcheck(this,1)"></td>
274	<td>&nbsp;</td>
275</tr>
276<tr style="height:10px">
277	<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td>
278</tr>
279<tr>
280	<td>&nbsp;</td>
281	<td class="textRow centerTd2">
282		<div ID="buttons">
283			<button class="purpleBtn" name="Next" onClick="goBasic();" type="button"><span><%2296%></span></button>
284			<span style="display:-moz-inline-box;display:inline-block;width:20px;"></span>
285			<button value="submit" class="purpleBtn" name="Next" width=100px onClick="return checkData(1)" type="submit"><span><%1784%></span></button>
286		</div>
287	</td>
288	<td>&nbsp;</td>
289</tr>
290</table>
291<input type="hidden" name="runtest" value="no">
292<INPUT name=pptp_user_ip type=hidden value= "<%303%>">
293<INPUT name=pptp_gateway type=hidden value="<%305%>">
294<INPUT name=pptp_user_netmask type=hidden value="<%306%>">
295<INPUT name=static_pptp_enable type=hidden value= "<%307%>">
296<INPUT name=gui_region type=hidden value="<%9%>">
297<INPUT name=action type=hidden value="">
298</form>
299</body>
300</html>
301