function sel_func(obj,value){for(i=0;i<obj.options.length;i++) if(obj.options[i].value == value) {	obj.selectedIndex = i; break; }}function rad_func(obj,value){for(i=0;i<obj.length;i++) if(obj[i].value == value) {	obj[i].checked = 1; break; }}function chk_func(obj,value){if( obj.value==value )obj.checked=1;}function resetValue(F){for(i=0;i<F.elements.length;i++) {if(F.elements[i].type=='select-one') F.elements[i].selectedIndex=0; else if (F.elements[i].type=='checkbox') F.elements[i].checked=false; else F.elements[i].value=F.elements[i].defaultValue;}init(F);}function choose_enable(obj){obj.disabled=false; }function choose_disable(obj){obj.disabled=true; }function checkDigit(I){var S=I.value;for(var k=0; k<S.length; k++){if(S.charAt(k) <'0' || S.charAt(k) > '9'){alert('Input value should be digit');I.value=I.defaultValue;return false;}}}function FirstIP(I){d=parseInt(I.value, 10);/*if(!(d<255 && d>0 && d!=127 && d!=224))*/if(!( d>0 && d<224 && d!=127)){alert('Invalid IP Address!');I.value=I.defaultValue;return false;}return true;}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 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 netMaskdigitCheck(I,F){d=parseInt(I.value,10);if(!(d==0 || d==128 || d==192 || d==224 || d==240 || d==248 || d==252 || d==254 || d==255 )){alert('Invalid Subnet Mask!');I.value=I.defaultValue;}}function netMaskdigitCheck3(I,F){d=parseInt(I.value,10);if(!(d==0 || d==128 || d==192 || d==224 || d==240 || d==248 || d==252 || d==254 )){alert('Invalid Subnet Mask!');I.value=I.defaultValue;}}function Path_MTU_Check(MTUSwitch, MTULength,loginStatus){	if( MTUSwitch[0].checked )	{		len=parseInt(MTULength.value, 10);		if( loginStatus.value == 3 )		{			if( len<576 || len>1492)			{				alert('The MTU size is out of range [576 - 1492]');				return false;			}		}		else if( (loginStatus.value == 5) || (loginStatus.value == 7))		{			if( len<1200 || len>1460)			{				alert('The MTU size is out of range [1200 - 1460]');				return false;			}		}		else		{			if( len<576 || len>1500)			{				alert('The MTU size is out of range [576 - 1500]');				return false;			}		}	}	return true;}var x=new Array(0,128,192,224,240,248,252);function enDHCP(F,S){/*S is Submit value*/var IPLastByte=0;var SNLastByte=0;var NWAddr=0;var BRAddr=0;IPLastByte=parseInt(F.txt_deviceIP3.value);SNLastByte = x[F.sel_lanNetMask.selectedIndex];NWAddr=eval(IPLastByte & SNLastByte);BRAddr=eval(NWAddr^~SNLastByte&255);var RangeS=0; var D4; var DL; var DN; var DBC; var IPLastByte;D4 =parseInt(F.txt_dhcpStartIP.value,10);DL =parseInt(F.txt_dhcpLen.value,10);DN =eval(IPLastByte & SNLastByte);DBC =eval(DN^~SNLastByte&255);/*DN =parseInt(F.hid_ipNet.value,10);DBC =parseInt(F.hid_ipBcast.value,10);*/if(F.sel_dhcpStatus.value == 0){F.txt_deviceIP3.value=F.txt_dhcpLen.value=0;return true;}if((NWAddr+1)==IPLastByte) RangeS=DN+2;else RangeS=DN+1;if(S==1){if(D4<=DN || D4>=DBC || D4==IPLastByte){alert('DHCP start IP is out of range [' +(RangeS)+ ' - ' +(DBC-1)+ ']');F.txt_dhcpStartIP.value =F.txt_dhcpStartIP.defaultValue;return;}if(DL<0 || (DL>(DBC-DN-2))){alert('Number of DHCP users is out of range [0 - ' +(DBC-DN-2)+ ']');F.txt_dhcpLen.value =F.txt_dhcpLen.defaultValue;return;}}else if (S==2){if(DL<0 || (DL>(DBC-D4))){alert('Number of DHCP users is out of range [0  - ' +(DBC-D4)+ ']');F.txt_dhcpLen.value =F.txt_dhcpLen.defaultValue;return;}}}function ValidPrivateIP(F,I){var A=new Array(4);for(i=0;i<4;i++) A[i] = parseInt((eval(I+i).value),10); if(!(A[0]<255 && A[0]>0 && A[0]!=127 && A[0]!=224) || !(A[1]<256 && A[1]>=0) || !(A[2]<256 && A[2]>=0)){alert('Private IP Address is not correct!');return false;}if(!(A[3]<255 && A[3]>0) ){alert('Private IP Address out of range [1 - 254]');return false;}return true;}function ValidPublicIP(F,I){var P=new Array(4);for(i=0;i<4;i++)P[i]=parseInt((eval(I+i).value),10); if(!(P[0]<255 && P[0]>0 && P[0]!=127 && P[0]!=224) || !(P[1]<256 && P[1]>=0) || !(P[2]<256 && P[2]>=0)){alert('Invalid IP Address!');return false;}if(!(P[3]<255 && P[3]>0) ){alert('Invalid IP Address!');return false;}return true;}function ValidRouterIP(F,I){var R=new Array(4);for(i=0;i<4;i++)R[i]=parseInt((eval(I+i).value),10); if(!(R[0]<256 && R[0]>=0) || !(R[1]<256 && R[1]>=0) || !(R[2]<256 && R[2]>=0) || !(R[3]<256 && R[3]>=0)){alert('Default Router IP Address out of range [0 - 255]');return false;}return true;}function ValidSubnetMask(F,N){var match0= -1;var match1= -1;var m=new Array(4);for(i=0;i<4;i++){m[i]=parseInt((eval(N+i).value), 10); }if(m[0] == 0 && m[1] == 0 && m[2] == 0 && m[3] == 0){alert('Invalid Subnet Mask!');return false;}if(m[0] == 255 && m[1] == 255 && m[2] == 255 && m[3] == 255){alert('Invalid Subnet Mask!');return false;}for(i=3;i>=0;i--){for(j=1;j<=8;j++){if((m[i] % 2) == 0)match0=(3-i)*8 + j;else if(((m[i] % 2) == 1) && match1 == -1)match1=(3-i)*8 + j;m[i]=Math.floor(m[i] / 2);}}if(match0 > match1){alert('Invalid Subnet Mask!');return false;}else return true;}function ValidGatewayIP(F,I,N,G){var IP=new Array(4);var NM=new Array(4);var GW=new Array(4);for(i=0;i<4;i++)IP[i]=parseInt((eval(I+i).value),10);for(i=0;i<4;i++)NM[i]=parseInt((eval(N+i).value),10);for(i=0;i<4;i++)GW[i]=parseInt((eval(G+i).value),10);for(i=0;i<4;i++){if((IP[i] & NM[i]) != (GW[i] & NM[i])){alert('Invalid Gateway address!');return false;}}if((IP[0] == GW[0]) && (IP[1] == GW[1]) && (IP[2] == GW[2]) && (IP[3] == GW[3])){alert('Invalid Gateway address!');return false;}else return true;}function ValidOnePageIP(F){A=ValidPrivateIP(F,'F.txt_deviceIP');P=ValidPublicIP(F,'F.txt_aliasIP');R=ValidRouterIP(F,'F.txt_routerIP');M=ValidSubnetMask(F,'F.txt_aliasMaskIP');G=ValidGatewayIP(F,'F.txt_aliasIP','F.txt_aliasMaskIP','F.txt_routerIP');if(A && P && R && M && G){return true;}else return;}