function AssembleLanIPAddress ()
{

	if ( !(IPCheck(document.forms[0].lan_ipaddr_1)) ) {
    		document.forms[0].lan_ipaddr_1.value = 0;
    		return false;
  	}

	if ( !(IPCheck(document.forms[0].lan_ipaddr_2)) ) {
    		document.forms[0].lan_ipaddr_2.value = 0;
    		return false;
  	}

	if ( !(IPCheck(document.forms[0].lan_ipaddr_3)) ) {
    		document.forms[0].lan_ipaddr_3.value = 0;
    		return false;
  	}

	if ( !(IPCheck(document.forms[0].lan_ipaddr_4)) ) {
    		document.forms[0].lan_ipaddr_4.value = 0;
    		return false;
  	}
	if ((document.forms[0].lan_ipaddr_1.value==255) &&
	(document.forms[0].lan_ipaddr_2.value==255) &&
	(document.forms[0].lan_ipaddr_3.value==255) &&
	(document.forms[0].lan_ipaddr_4.value==255)
	)
	{
		alert(mavis_str(Alert_Msg_46));
		//alert("All 255 is invalid!");
		document.forms[0].lan_ipaddr_1.focus();
		return 0;
	}  	
	if ((document.forms[0].lan_ipaddr_4.value==0) ||
		(document.forms[0].lan_ipaddr_4.value==255)
		)
	{
		 alert(mavis_str(Alert_Msg_65));
		//alert("0 or 255 is invalid!");
		document.forms[0].lan_ipaddr_4.focus();
		return 0;
	}
	if ((document.forms[0].lan_ipaddr_1.value==0) ||
		(document.forms[0].lan_ipaddr_1.value==255)
		)
	{
		 alert(mavis_str(Alert_Msg_65));
		//alert("0 or 255 is invalid!");
		document.forms[0].lan_ipaddr_1.focus();
		return 0;
	}
	d = document.forms[0].lan_ipaddr_1.value + '.';
  	d = d + document.forms[0].lan_ipaddr_2.value + '.';
  	d = d + document.forms[0].lan_ipaddr_3.value + '.';
  	d = d + document.forms[0].lan_ipaddr_4.value;

	document.forms[0].lan_ipaddr.value = d;
	return true;
}

function CombineLanNetmask(passForm)
{

  	d = document.forms[0].lan_netmask_1.value;
  	if (!IPCheck(document.forms[0].lan_netmask_1) ) 
  	{

    		document.forms[0].lan_netmask_1.value = 0;
    		return false;
  	}

	d = document.forms[0].lan_netmask_2.value;
  	if (!IPCheck(document.forms[0].lan_netmask_2) ) {

    		document.forms[0].lan_netmask_2.value = 0;
    		return false;
  	}

	d = document.forms[0].lan_netmask_3.value;
  	if (!IPCheck(document.forms[0].lan_netmask_3) ) {
    		document.forms[0].lan_netmask_3.value = 0;
    		return false;
  	}

	d = document.forms[0].lan_netmask_4.value;
  	if (!IPCheck(document.forms[0].lan_netmask_4) ) {
    		document.forms[0].lan_netmask_4.value = 0;
    		return false;
  	}
  	d = document.forms[0].lan_netmask_1.value + '.';
  	d = d + document.forms[0].lan_netmask_2.value + '.';
  	d = d + document.forms[0].lan_netmask_3.value + '.';
  	d = d + document.forms[0].lan_netmask_4.value;

  	document.forms[0].lan_netmask.value = d;
  	
	return 1;
}

function SplitLanSubnetMask ( IPString )
{
	document.forms[0].lan_netmask_1.value = GetIPSegment ( IPString , 1 );
	document.forms[0].lan_netmask_2.value = GetIPSegment ( IPString , 2 );
	document.forms[0].lan_netmask_3.value = GetIPSegment ( IPString , 3 );
	document.forms[0].lan_netmask_4.value = GetIPSegment ( IPString , 4 );
	return true;
}

function SplitLanIPAddress ( IPString )
{
	document.forms[0].lan_ipaddr_1.value = GetIPSegment ( IPString , 1 );
	document.forms[0].lan_ipaddr_2.value = GetIPSegment ( IPString , 2 );
	document.forms[0].lan_ipaddr_3.value = GetIPSegment ( IPString , 3 );
	document.forms[0].lan_ipaddr_4.value = GetIPSegment ( IPString , 4 );
	return true;
}
function SelLanNetmask(passForm, str, lannetmask)
{
	if (str == "init") {
//		var lannetmask = '<!--#set_get path="dev/ixp0/static/netmask" -->';
		if (lannetmask == "255.255.255.0")
			passForm.lan_netmask.selectedIndex = 0;
		else if (lannetmask == "255.255.255.128")
			passForm.lan_netmask.selectedIndex = 1;
		else if (lannetmask == "255.255.255.192")
			passForm.lan_netmask.selectedIndex = 2;
		else if (lannetmask == "255.255.255.224")
			passForm.lan_netmask.selectedIndex = 3;
		else if (lannetmask == "255.255.255.240")
			passForm.lan_netmask.selectedIndex = 4;
		else if (lannetmask == "255.255.255.248")
			passForm.lan_netmask.selectedIndex = 5;
		else if (lannetmask == "255.255.255.252")
			passForm.lan_netmask.selectedIndex = 6;						
		else
			passForm.lan_netmask.selectedIndex = 0;
	}
	else {
		;
	}
	
	return 1;
}

function AssembleDMZIPAddress (passForm)
{
	var hwdmz_ipaddr;
	var ip1 = parseInt(GetIPSegment(passForm.lan_ipaddr.value, 1), 10);
	var ip2 = parseInt(GetIPSegment(passForm.lan_ipaddr.value, 2), 10);
	var ip3 = parseInt(GetIPSegment(passForm.lan_ipaddr.value, 3), 10);
	var ip4 = parseInt(GetIPSegment(passForm.lan_ipaddr.value, 4), 10);
	
	var mask1 = parseInt(GetIPSegment(passForm.lan_netmask.value, 1), 10);
	var mask2 = parseInt(GetIPSegment(passForm.lan_netmask.value, 2), 10);
	var mask3 = parseInt(GetIPSegment(passForm.lan_netmask.value, 3), 10);
	var mask4 = parseInt(GetIPSegment(passForm.lan_netmask.value, 4), 10);

		
	if ((ip2 & mask2)==0)
	{ 
		if ((ip1+1)!=255)
	 		hwdmz_ipaddr = (ip1+1) + "." + ip2 + "." + ip3 + "." + ip4;
	 	else
	 		hwdmz_ipaddr = (ip1-1) + "." + ip2 + "." + ip3 + "." + ip4;
	}
	else if ((ip3 & mask3)==0)
	{
		if ((ip2+1)!=255)		
			hwdmz_ipaddr = ip1 + "." + (ip2+1) + "." + ip3 + "." + ip4;
		else
			hwdmz_ipaddr = ip1 + "." + (ip2-1) + "." + ip3 + "." + ip4;		
	}
	else if ((ip4 & mask4)==0)
	{
		if ((ip3+1)!=255)
			hwdmz_ipaddr = ip1 + "." + ip2 + "." + (ip3+1) + "." + ip4;
		else
			hwdmz_ipaddr = ip1 + "." + ip2 + "." + (ip3-1) + "." + ip4;
	}
	else
	{
		if ((ip3+1)!=255)		
			hwdmz_ipaddr = ip1 + "." + ip2 + "." + (ip3+1) + "." + ip4;
		else
			hwdmz_ipaddr = ip1 + "." + ip2 + "." + (ip3-1) + "." + ip4;		
	}
	passForm.hwdmz_ipaddr.value = hwdmz_ipaddr;
}

