<html><head><title>WEB Config</title>
<script language="JavaScript">
<!--
var i,j,k
function MakeArray(n) 
{
    this.length=n;
    for(var i=1;i<=n;i++)
    	this[i]=0;
    return this;
}
function isip(objs){
var lm1=0,t=1,i,j
j=objs
for(i=0;i<=j.length;i++){
    if(j.charAt(i)=="." || i==j.length){
        if(j.charAt(i)=="." && i==j.length-1)
            return false
        if(checknum(j.substring(lm1,i))){
            if(inrange(j.substring(lm1,i),0,255)){
                t++
                lm1=i+1
            }
            else{
                return false
            }
        }
    }
}
if(t!=5)
    return false
return true
}
function inrange(objs,val1,val2){
var i,j,minn,maxn
j=objs
i=parseInt(j,10)
if(val1>val2){
  maxn=val1
  minn=val2
}
else{
  maxn=val2
  minn=val1
}
if(i>maxn || i<minn)
  return false
return true
}
function checknum(objs){
var i,j,k
j=objs
if(j.length==0)
  return false
for(k=0;k<j.length;k++){
  if(j.charAt(k)!=" ")
    break
}
for(i=k;i<j.length;i++){
  if(j.charAt(i)<"0" || j.charAt(i)>"9")
    break
}
if(i==k)
  return false
for(k=i;k<j.length;k++){
  if(j.charAt(k)!=" ")
    return false
}
return true
}
function getsubnet(objs,objb){
	var lm1=0,t=1,i,j,ipstr
	
	ipnum=new MakeArray(4)
	masknum=new MakeArray(4)
	j=objs
	for(i=0;i<=j.length;i++){
	    if(j.charAt(i)=='.' || i==j.length){
	        if(j.charAt(i)=='.' && i==j.length-1)
	            return false
	        if(checknum(j.substring(lm1,i))){
	            if(inrange(j.substring(lm1,i),0,255)){
	            	ipnum[t]=parseInt(j.substring(lm1,i))
	                t++
			lm1=i+1
	            }
	            else
	                return false
	        }
	        else
	            return false
	    }
	}
	if(t!=5)
	    return false
	t=1
	lm1=0
	j=objb
	for(i=0;i<=j.length;i++){
	    if(j.charAt(i)=='.' || i==j.length){
	        if(j.charAt(i)=='.' && i==j.length-1)
	            return false
	        if(checknum(j.substring(lm1,i))){
	            if(inrange(j.substring(lm1,i),0,255)){
	            	masknum[t]=parseInt(j.substring(lm1,i))
	                t++
			lm1=i+1
	            }
	            else
	                return false
	        }
	    }
	}
	if(t!=5)
	    return false
	ipstr=(ipnum[1]& masknum[1]).toString()+'.'+(ipnum[2]& masknum[2]).toString()+'.'
	ipstr=ipstr+(ipnum[3]& masknum[3]).toString()+'.'+(ipnum[4]& masknum[4]).toString()
	return ipstr
}
function checkall(formobj)
{ var error=0
  var tmp1,tmp2
  if (isip(formobj.sip1.value)==false)
  {
    alert("The Range 1 Start IPis not a validIP !!")
    error=1
  }
  if (isip(formobj.eip1.value)==false)
  {
    alert("The Range 1 End IPis not a validIP !!")
    error=1
  }
  tmp1=getsubnet("192.168.1.1","255.255.255.0")
  tmp2=getsubnet(formobj.sip1.value,"255.255.255.0")
  if(((tmp1 != tmp2) || (isip(tmp2) != true)) && (formobj.sip1.value!="0.0.0.0" || formobj.eip1.value!="0.0.0.0"))
  {
    alert("The Subnet of Range 1 Start IP is different with Ethernet IP")
    error=1
  }
  tmp2=getsubnet(formobj.eip1.value,"255.255.255.0")
  if(((tmp1 != tmp2) || (isip(tmp2) != true)) && (formobj.sip1.value!="0.0.0.0" || formobj.eip1.value!="0.0.0.0"))
  {
    alert("The Subnet of Range 1 End IP is different with Ethernet IP")
    error=1
  }
  if (isip(formobj.sip2.value)==false)
  {
    alert("The Range 2 Start IPis not a validIP !!")
    error=1
  }
  if (isip(formobj.eip2.value)==false)
  {
    alert("The Range 2 End IPis not a validIP !!")
    error=1
  }
  tmp1=getsubnet("192.168.1.1","255.255.255.0")
  tmp2=getsubnet(formobj.sip2.value,"255.255.255.0")
  if(((tmp1 != tmp2) || (isip(tmp2) != true)) && (formobj.sip2.value!="0.0.0.0" || formobj.eip2.value!="0.0.0.0"))
  {
    alert("The Subnet of Range 2 Start IP is different with Ethernet IP")
    error=1
  }
  tmp2=getsubnet(formobj.eip2.value,"255.255.255.0")
  if(((tmp1 != tmp2) || (isip(tmp2) != true)) && (formobj.sip2.value!="0.0.0.0" || formobj.eip2.value!="0.0.0.0"))
  {
    alert("The Subnet of Range 2 End IP is different with Ethernet IP")
    error=1
  }
  if (isip(formobj.dns1.value)==false)
  {
    alert("The first DNS IPis not a validIP !!")
    error=1
  }
  if (isip(formobj.dns2.value)==false)
  {
    alert("The second DNS IPis not a validIP !!")
    error=1
  }
  //alert("Check all Data is right")
  if (error==0)
  {
    formobj.submit()
    return true
  }
  else return false
}
-->
</script>
</head><body bgcolor="#A1A1DA">
<form ACTION=dhcp_show METHOD=GET>
<center><font size="6"><p style="margin-bottom: 0">DHCP Server Setup</p></font><table border="5">
<tr>
 <td><font size="4">
<input type="hidden" name="cmd" value="Y">
<center>Enable<input type=checkbox value=1 name=enable  ></center><br><table><tr><th colspan=5><font size=4>DHCP Server Setting:</font></th></tr><tr><td align="right">Range 1 Start IP Address:</td><td><input type=text size=12 maxlength=17 name=sip1 value=0.0.0.0></td>
<td align="right">    End IP Address:</td><td><input type=text size=12 maxlength=17 name=eip1 value=0.0.0.0></td></tr>
<tr><td align="right">Range 2 Start IP Address:</td><td><input type=text size=12 maxlength=17 name=sip2 value=0.0.0.0></td>
<td align="right">    End IP Address:</td><td><input type=text size=12 maxlength=17 name=eip2 value=0.0.0.0></td></tr>
<tr><td align="right">Primary DNS Address:</td><td><input type=text size=12 maxlength=17 name=dns1 value=0.0.0.0></td>
<td align="right">    2nd DNS Address:</td><td><input type=text size=12 maxlength=17 name=dns2 value=0.0.0.0></td></tr>
<tr><td align="right">Default-lease Time:</td><td><input type=text size=10 maxlength=10 name=mlt1 value=43200></td></tr></table><br>
<center><INPUT TYPE=RESET value="Reset">    <INPUT TYPE=button value="Submit" onclick='checkall(this.form)'></center><br>
</font></td>
 </tr>
</table></center></form></body></html>