
function PortCheck(I){
	d =parseInt(I.value, 10);
if ( !( d<65536 && d>=0) )		
{		alert('Port value is out of range [0 - 65535]');	
	I.value = I.defaultValue;	
	}
}
function IPCheck(I){	
	d =parseInt(I.value, 10);
		if ( !(d<256 && d>=0) )
				{		
					alert('IP value is out of range [0 - 255]');	
						I.value = I.defaultValue;		
					}
				}
function IP0to254(I){	
	d =parseInt(I.value, 10);	
	if ( !(d<255 && d>=0) )		
	{		alert('IP value is out of range [0 - 254]');	
		I.value = I.defaultValue;		
	}
}
function IP1to254(I){
		d =parseInt(I.value, 10);
			if ( !(d<255 && d>0) )	
				{		
					alert('IP value is out of range [1 - 254]');
							I.value = I.defaultValue;	
							}
						}
function CheckMetric(I){
		d =parseInt(I.value, 10);
			if ( !(d<16 && d>=0) )	
				{		
					alert('Hop count value is out of range [0 - 15]');
							I.value = I.defaultValue;		
						}
					}
function IPdigitCheck(I,F){	
	d =parseInt(I.value, 10);
		if ( !(d<256 && d>=0) )		
		{		alert('IP value is out of range [0 - 255]');	
			I.value = I.defaultValue;	
			}	
			else if ( F.isFix.value == 0 )	
				{		alert('Will get IP address automatically');
						I.value =0;	
						}	
						else	
						{		
						}
					}
function IPdigitCheck1to254(I,F){	
	d =parseInt(I.value, 10);	
	if ( !(d<255 && d>0) )		
	{		alert('IP value is out of range [1 - 254]');	
		I.value = I.defaultValue;	
		}	
		else if ( F.isFix.value == 0 )	
			{		alert('Will get IP address automatically');	
				I.value =0;		
			}	else	
			{		}
		}
function ViewRoute(){
	self.open('RtTbl.htm', 'Route', 'alwaysRaised,resizable,scrollbars,width=560,height=400');
}
function ViewDHCP(){
	self.open('dhcp_tab.htm', 'DHCP', 'alwaysRaised,resizable,scrollbars,width=560,height=400');
}
function dynaDHCP(F){
		F.aliasIP1.value =F.aliasIP2.value =	F.aliasIP3.value =F.aliasIP4.value =	F.routerIP1.value =F.routerIP2.value =	F.routerIP3.value =F.routerIP4.value =0;	
		F.isFix.value =0;	
		alert('I will disconnect all connection when You click button [Apply]');
	}
function fixDHCP(F){	
	F.aliasIP1.value =F.aliasIP1.defaultValue;
		F.aliasIP2.value =F.aliasIP2.defaultValue;	
		F.aliasIP3.value =F.aliasIP3.defaultValue;
			F.aliasIP4.value =F.aliasIP4.defaultValue;	
			F.routerIP1.value =F.routerIP1.defaultValue;
				F.routerIP2.value =F.routerIP2.defaultValue;
					F.routerIP3.value =F.routerIP3.defaultValue;
						F.routerIP4.value =F.routerIP4.defaultValue;
							F.isFix.value =1;
						}
function netMaskdigitCheck(I,F){	
	d =parseInt(I.value, 10);
		if ( F.isFix.value == 0 )	
			{		
				alert('Will get IP address automatically');	
					I.value =0;		/*return false;*/		
				}	
				else if( !(d==0 || d==128 || d==192 || d==224 || d==240 || d==248 || d==252 || d==254 || d==255 ))	
					{		alert('Incorrect NetMask value!!!');		
					I.value = I.defaultValue;		
				}
			}
function netMaskdigitCheck3(I,F){	
	d =parseInt(I.value, 10);	
	if ( F.isFix.value == 0 )		
	{		alert('Will get IP address automatically');	
		I.value =0;		/*return false;*/	
		}	
		else 
		if( !(d==0 || d==128 || d==192 || d==224 || d==240 || d==248 || d==252 || d==254 ))	
			{			alert('Incorrect NetMask value!!!');		
				I.value = I.defaultValue;	
				}
			}
function ValidPrivateIP(F){	
	A1 = parseInt(F.ipAddr1.value, 10);	
	A2 = parseInt(F.ipAddr2.value, 10);	
	A3 = parseInt(F.ipAddr3.value, 10);	
	A4 = parseInt(F.ipAddr4.value, 10);	
	if( !(A1<256 && A1>=0) || !(A2<256 && A2>=0) || !(A3<256 && A3>=0) )	
		{		alert('Private IP Address out of range [0 - 255]');	
			return false;		
		}	
		if( !(A4<255 && A4>0) )		
		{		alert('Private IP Address out of range [1 - 254]');
			return false;		
		}	
		return true;
	}
function ValidPublicIP(F){	
	P1 = parseInt(F.aliasIP1.value, 10);	
	P2 = parseInt(F.aliasIP2.value, 10);	
	P3 = parseInt(F.aliasIP3.value, 10);	
	P4 = parseInt(F.aliasIP4.value, 10);	
	if( F.isFix.value == 0 )		
	{		return true;		}
		if( !(P1<256 && P1>=0) || !(P2<256 && P2>=0) ||  !(P3<256 && P3>=0) )	
			{		alert('Public IP Address out of range [0 - 255]');
					return false;	
					}
						if( !(P4<255 && P4>0) )	
							{		alert('Public IP Address out of range [1 - 254]');	
								return false;	
								}	
								return true;
							}
function ValidRouterIP(F){	
	R1 = parseInt(F.routerIP1.value, 10);
		R2 = parseInt(F.routerIP2.value, 10);
			R3 = parseInt(F.routerIP3.value, 10);
				R4 = parseInt(F.routerIP4.value, 10);
					if( !(R1<256 && R1>=0) || !(R2<256 && R2>=0) || !(R3<256 && R3>=0) || !(R4<256 && R4>=0) )	
						{		
							alert('Default Router IP Address out of range [0 - 255]');
								return false;	
								}	
								return true;
							}
function ValidDNSIP(F){	
	D1 = parseInt(F.DNS1.value, 10);	
	D2 = parseInt(F.DNS2.value, 10);	
	D3 = parseInt(F.DNS3.value, 10);	
	D4 = parseInt(F.DNS4.value, 10);	
	if( !(D1<256 && D1>=0) || !(D2<256 && D2>=0) ||  !(D3<256 && D3>=0) || !(D4<256 && D4>=0) )		
	{		alert('Domain Name Server IP Address out of range [0 - 255]');	
		return false;		
	}	
	return true;
}
function ValidOnePageIP(F){	
	if( F.pppoeDODC.checked == true )	
		F.pppoeDOD.value = 1;	
		else		
		F.pppoeDOD.value = 0;	
		if( true /*F.pppoeKA.checked == true */)	
			F.pppoeKeepAlive.value = 1;	
			else		
			F.pppoeKeepAlive.value = 0;	
			A = ValidPrivateIP(F);	
			P = true;         /*ValidPublicIP(F);*/	
			R = ValidRouterIP(F);	
			if ( A && P && R )		
			{		
				F.submit();	
					return true;	
					}	
					else	
						return false;
					}
function ValidInternetIP(F){	
	P = ValidPublicIP(F);	
	R = ValidRouterIP(F);	
	D = ValidDNSIP(F);	
	if ( P && R && D )		
	{		F.submit();	
		return true;	
		}	else
				return false;
			}
			
function enDHCP(F,S){/*S is Submit value*/	
D4 =parseInt(F.dhcpS4.value, 10);	
DL =parseInt(F.dhcpLen.value, 10);	
DN =parseInt(F.ipNet.value, 10);	
DBC =parseInt(F.ipBcast.value, 10);
if(S==1){	
	if ( F.dhcpCheck.value == 0 )	
		{		killDHCP(F);	
			return true;	
			}	
			if ( D4<=DN || D4>=DBC )
					{		
						alert('dhcp start IP out of range [' +(DN+1)+ ' - ' +(DBC-1)+ ']' );
								F.dhcpS4.value =F.dhcpS4.defaultValue;	
									return false;		
								}	
								if ( DL<0 || (D4+DL-1)>= DBC )		
								{		alert('Number of DHCP users is out of range [0 - ' +(DBC-D4)+ ']');		
								F.dhcpLen.value =F.dhcpLen.defaultValue;	
									return false;		
								}	
							}else
								{	F.dhcpLen.value =F.dhcpLen.defaultValue;	
								F.dhcpS4.value =F.dhcpS4.defaultValue;	
								F.dhcpCheck.value=1;	
								return true;	
							}
						}
function CheckZeroIP(i1,i2,i3,i4){/*return 0:not a IP, 1:a OK IP, permit all 0s*/	
oi1=parseInt(i1, 10);	
oi2=parseInt(i2, 10);	
oi3=parseInt(i3, 10);	
oi4=parseInt(i4, 10);	
if ( oi1<0 || oi1>254 || (oi1!=i1) )
	return(0);
		if ( oi2<0 || oi2>254 || (oi2!=i2) )
			return(0);	
			if ( oi3<0 || oi3>254 || (oi3!=i3) )
				return(0);
					if ( oi4<0 || oi4>254 || (oi4!=i4) )
						return(0);	
						return(1);
					}
function ValidDevice(F){	
	if( F.sysPasswd.value != F.sysPasswdConfirm.value )		
	{		alert('Password confirmation is not matched.');	
		return false;		}	
		if( F.FactoryDefaults[0].checked == 1 )	
			{		if(!confirm('Warning! If you click OK, the device will reset to factory default and all previous settings will be erased.'))		
				{return false;}	
				}
					F.submit();
					return true;
				}
function killDHCP(F){	
	F.dhcpCheck.value=0;	
	F.dhcpS4.value = F.dhcpLen.value =0;
}
function selAp(F){	
	F.submit();	
	return true;
}
function DelAp(){
	 document.F2.ApName.value ='';
	  document.F2.oEndPrt.value =document.F2.oBegPrt.value=document.F2.iBegPrt.value =document.F2.iEndPrt.value =0;
	}/*=====max5/10; 2001/05/30 Edison*/
function RTScheck(F){	
	d =parseInt(F.wecaRTS.value, 10);	
	if ( !(d<=2432 && d>=256) )		
	{		
		alert('RTS Threshold is out of range [256 - 2432]');
				F.wecaRTS.value = F.wecaRTS.defaultValue;		
			}
		}
function Fragmentationcheck(F){	
	d =parseInt(F.wecaFrag.value, 10);	
	if ( !(d<=2346 && d>=256) )		
	{		alert('Fragmentation Threshold is out of range [256 - 2346]');	
		F.wecaFrag.value = F.wecaFrag.defaultValue;	
			return;		}	
			if ( d % 2 )	
				{		alert('Fragmentation Threshold only accepts even number');	
					F.wecaFrag.value = F.wecaFrag.defaultValue;	
					}
				}
function Dtimintervalcheck(F){	
	d =parseInt(F.wecaDtiminterval.value, 10);	
	if ( !(d<=65535 && d>=1) )		{	
			alert('Dtiminterval value is out of range [1 - 65535]');
					F.wecaDtiminterval.value = F.wecaDtiminterval.defaultValue;	
						}}
<!--> 