// Help and Message ==========================================================


var HelpOptionsVar = "width=480,height=420,scrollbars,toolbar,resizable,dependent=yes";
var GlossOptionsVar = "width=420,height=180,scrollbars,toolbar,resizable,dependent=yes";
var bigsub   = "width=700,height=440,scrollbars,menubar,resizable,status,dependent=yes";
var macfiltersub = "width=700,height=550,scrollbars,menubar,resizable,status,dependent=yes";
var pclistsub = "width=700,height=620,scrollbars,menubar,resizable,status,dependent=yes";
var summarysub  = "width=700,height=500,scrollbars,menubar,resizable,status,dependent=yes";
var smallsub = "width=440,height=320,scrollbars,resizable,dependent=yes";
var sersub   = "width=500,height=380,scrollbars,resizable,status,dependent=yes";
var multisub   = "width=630,height=470,scrollbars,menubar,resizable,status,dependent=yes";
var helpWinVar = null;
var glossWinVar = null;
var datSubWinVar = null;
var ValidStr = 'abcdefghijklmnopqrstuvwxyz-';
var ValidStr_ddns = 'abcdefghijklmnopqrstuvwxyz-1234567890';
var hex_str = "ABCDEFabcdef0123456789";
var DEBUG = 0;
function isMacBroadcast(mac)
{
	var mac1=mac.toUpperCase();
	if(mac1=="FF:FF:FF:FF:FF:FF" || mac1=="FFFFFFFFFFFF")
		return true;
	else
		return false;
}
function isMacMulticast(mac)
{
	var mac1=mac.toUpperCase();
	var byte=parseInt(mac1.substr(0,2));
	if((byte&0x1)==0x1)//if lowest bit of first byte is 1, then it is multicast address.
		return true;
	else
		return false;
}
function isIPMulticast(ip)
{
	var dot_pos=ip.indexOf(".");
	if(parseInt(ip.substr(0,dot_pos))>=224)
		return true;
	else
		return false;
}
function dw(message)
{
	document.write(message);	
}

function showMsg()
{
	var msgVar=document.forms[0].message.value;
	if (msgVar.length > 1)
		alert(msgVar);
}


function closeWin(win_var)
{
	if ( ((win_var != null) && (win_var.close)) || ((win_var != null) && (win_var.closed==false)) )
		win_var.close();
}

function openHelpWin(file_name)
{
   helpWinVar = window.open(file_name,'help_win',HelpOptionsVar);
   if (helpWinVar.focus)
		setTimeout('helpWinVar.focus()',200);
}

function openGlossWin()
{
	glossWinVar = window.open('','gloss_win',GlossOptionsVar);
	if (glossWinVar.focus)
		setTimeout('glossWinVar.focus()',200);
}

function closeSubWins()
{
	closeWin(helpWinVar);
	closeWin(glossWinVar);
	closeWin(datSubWinVar);
}

function openDataSubWin(filename,win_type)
{
	closeWin(datSubWinVar);
	datSubWinVar = window.open(filename,'datasub_win',win_type);
	if (datSubWinVar.focus)
		setTimeout('datSubWinVar.focus()',200);
}

function showHelp(helpfile) 
{
	if(top.frames.length == 0)
		return;
	top.helpframe.location.href = helpfile;
}


function addstr(input_msg)
{
	var last_msg = "";
	var str_location;
	var temp_str_1 = "";
	var temp_str_2 = "";
	var str_num = 0;
	temp_str_1 = addstr.arguments[0];
	while(1)
	{
		str_location = temp_str_1.indexOf("%s");
		if(str_location >= 0)
		{
			str_num++;
			temp_str_2 = temp_str_1.substring(0,str_location);
			last_msg += temp_str_2 + addstr.arguments[str_num];
			temp_str_1 = temp_str_1.substring(str_location+2,temp_str_1.length);
			continue;
		}
		if(str_location < 0)
		{
			last_msg += temp_str_1;
			break;
		}
	}
	return last_msg;
}

function checkMsg(msg)
{
	if(msg.length > 1)
	{
		alert(msg);
		return false;
	}
	return true;
}	

function setHTML(windowObj, el, htmlStr)  // el must be str, not reference
{
    if (document.all)
	{
	  if (windowObj.document.all(el) )
        windowObj.document.all(el).innerHTML = htmlStr;
	}
	else if (document.getElementById)
	{
	  if (windowObj.document.getElementById(el) )
	    windowObj.document.getElementById(el).innerHTML = htmlStr;
	}
}


//  High-level test functions - generate messages

function checkBlank(fieldObj, fname)
{
	var msg = "";
	if (fieldObj.value.length < 1){
		msg = addstr(msg_blank,fname);
        }
	return msg;
}

function checkNoBlanks(fObj, fname)
{
	var space = " ";
 	if (fObj.value.indexOf(space) >= 0 )
		return addstr(msg_space, fname);
	else return "";
}

function checkMail(fobj, fname)
{  
   var tmp_str = fobj.value;
   var msg = "";

   //matching Email address format(regular expression)
   var pattern = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
   
   if(!pattern.test(tmp_str))
     msg = addstr(msg_invalid_email, fname);
   
   return msg;
} 

function checkAllSpaces(fieldObj, fname)
{
	var msg = "";
	if(fieldObj.value.length == 0)
		return "";
	var tstr = makeStr(fieldObj.value.length," ");
	if (tstr == fieldObj.value)
		msg = addstr(msg_allspaces,fname);
	return msg;
}

function checkValid(text_input_field, field_name, Valid_Str, max_size, mustFill)
{
	var error_msg= "";
	var size = text_input_field.value.length;
	var str = text_input_field.value;

	if ((mustFill) && (size != max_size) )
		error_msg = addstr(msg_blank_in,field_name);
 	for (var i=0; i < size; i++)
  	{
    	if (!(Valid_Str.indexOf(str.charAt(i)) >= 0))
    	{
			error_msg = addstr(msg_invalid,field_name,Valid_Str);
			break;
    	}
  	}
  	return error_msg;
}

function checkInt(text_input_field, field_name, min_value, max_value, required)
// NOTE: Doesn't allow negative numbers, required is true/false
{
	var str = text_input_field.value;
	var error_msg= "";

	if (text_input_field.value.length==0) // blank
	{
		if (required)
			error_msg = addstr(msg_blank,field_name);
	}
	else // not blank, check contents
	{
		for (var i=0; i < str.length; i++)
		{
			if ((str.charAt(i) < '0') || (str.charAt(i) > '9'))
				error_msg = addstr(msg_check_invalid,field_name);
		}
		if (error_msg.length < 2) // don't parse if invalid
		{
			var int_value = parseInt(str,10);
			if (int_value < min_value || int_value > max_value)
				error_msg = addstr(msg_valid_range,field_name,min_value,max_value);
		}
	}
	return(error_msg);
}

function checkMAC(fObj, fname, removeSeparators)
{
	var msg = "";
	if(badMac(fObj, removeSeparators))
		msg = addstr(msg_invalid_mac, fname);
	return msg;
}	


// Low-level test functions - return true or false ============================


function blankIP(ip1, ip2, ip3, ip4) // ip fields, true if 0 or blank
{
return ((ip1.value == "" || ip1.value == "0")
	 && (ip2.value == "" || ip2.value == "0")
	 && (ip3.value == "" || ip3.value == "0")
	 && (ip4.value == "" || ip4.value == "0"))
}

function badIP(ip1, ip2, ip3, ip4, max)   // ip fields, 1.0.0.1 to 254.255.255.max
{
	if(!(isInteger(ip1.value,1,254,false))) return true;
	if(!(isInteger(ip2.value,0,255,false))) return true;
	if(!(isInteger(ip3.value,0,255,false))) return true;
	if(!(isInteger(ip4.value,1,max,false))) return true;
	if(parseInt(ip1.value)==127 && parseInt(ip2.value)==0 && parseInt(ip3.value)==0 && parseInt(ip4.value)==1) return true;
   	return false;
}
function badSubnetIP(ip1, ip2, ip3, ip4, max)   // ip fields 1.0.0.0. to 255.255.255.max
{
	if(!(isInteger(ip1.value,1,254,false))) return true;
	if(!(isInteger(ip2.value,0,255,false))) return true;
	if(!(isInteger(ip3.value,0,255,false))) return true;
	if(!(isInteger(ip4.value,0,max,false))) return true;
   	return false;
}
// check whether ip address is valid
function valid_ip_address(ip, mask)
{
	var pos;
	var ip1,ip2,ip3,ip4,u32ip;
	var mask1,mask2,mask3,mask4,u32mask;
	
	pos=ip.indexOf(".");
	ip1=ip.substr(0,pos);
	ip=ip.substr(pos+1);
	pos=ip.indexOf(".");
	ip2=ip.substr(0,pos);
	ip=ip.substr(pos+1);
	pos=ip.indexOf(".");
	ip3=ip.substr(0,pos);
	ip4=ip.substr(pos+1);
	
	pos=mask.indexOf(".");
	mask1=mask.substr(0,pos);
	mask=mask.substr(pos+1);
	pos=mask.indexOf(".");
	mask2=mask.substr(0,pos);
	mask=mask.substr(pos+1);
	pos=mask.indexOf(".");
	mask3=mask.substr(0,pos);
	mask4=mask.substr(pos+1);
	
	u32ip=(parseInt(ip1)<<24)|(parseInt(ip2)<<16)|(parseInt(ip3)<<8)|(parseInt(ip4));
	u32mask=(parseInt(mask1)<<24)|(parseInt(mask2)<<16)|(parseInt(mask3)<<8)|(parseInt(mask4));
	
	if((u32ip&(~u32mask))==0 
		|| (u32ip&(~u32mask))==~u32mask)
		return false;
	else
		return true;
}

function validIP(ip1, ip2, ip3, ip4, mask1,mask2,mask3,mask4)
{
	var u32ip=(parseInt(ip1.value)<<24)|(parseInt(ip2.value)<<16)|(parseInt(ip3.value)<<8)|(parseInt(ip4.value));
	var u32mask=(parseInt(mask1.value)<<24)|(parseInt(mask2.value)<<16)|(parseInt(mask3.value)<<8)|(parseInt(mask4.value));
	if((u32ip&(~u32mask))==0 
		|| (u32ip&(~u32mask))==~u32mask)
		return false;
	else
		return true;
}

function badMask(ip1, ip2, ip3, ip4)   // mask fields 0 to 255
{
	if(!(isInteger(ip1.value,0,255,false))) return true;
	if(!(isInteger(ip2.value,0,255,false))) return true;
	if(!(isInteger(ip3.value,0,255,false))) return true;
	if(!(isInteger(ip4.value,0,255,false))) return true;
   	return false;
}


function badMac(macfld, removeSeparators) // macfld is form field, removeSeparators true/false
{
	var myRE = /[0-9a-fA-F]{12}/;
	var MAC = macfld.value;	
	
	MAC = MAC.replace(/:/g,"");
	MAC = MAC.replace(/-/g,"");
	if (removeSeparators)
		macfld.value = MAC;	
	if((MAC.length != 12) || (MAC == "000000000000")||(myRE.test(MAC)!=true))
		return true;
	else
	 	return false;
}

function ValidMacAddress(macAddr)
{
//	alert("ValidMacAddress(): Use badMac(macfld, removeSeparators) instead!");
//	return;
	
	var i;
	if ((macAddr.indexOf(':')!=-1)||(macAddr.indexOf('-')!=-1))
	{     
        macAddr = macAddr.replace(/:/g,"");
		macAddr = macAddr.replace(/-/g,"");
	}
	
	if ((macAddr.length == 12) && (macAddr != "000000000000"))
	{
		for(i=0; i<macAddr.length;i++) 
		{
			var c = macAddr.substring(i, i+1);
			if(("0" <= c && c <= "9") || ("a" <= c && c <= "f") || ("A" <= c && c <= "F")) 
				continue;
			else
				return false;
		}

		return true;
	}

	return false;	  
}



function badIpRange(from1,from2,from3,from4,to1,to2,to3,to4)
// parameters are form fields, returns true if invalid ( from > to )
{
    var total1 = 0;
    var total2 = 0;
    
    total1 += parseInt(from4.value,10);
    total1 += parseInt(from3.value,10)*256;
    total1 += parseInt(from2.value,10)*256*256;
    total1 += parseInt(from1.value,10)*256*256*256;
    
    total2 += parseInt(to4.value,10);
    total2 += parseInt(to3.value,10)*256;
    total2 += parseInt(to2.value,10)*256*256;
    total2 += parseInt(to1.value,10)*256*256*256;
    if(total1 >= total2)
        return true;
    return false;
}


function isBlank(str) 
{
	return (str.length == 0 );
}


function isBigger(str_a, str_b)
//  true if a bigger than b
{
	var int_value_a = parseInt(str_a);
	var int_value_b = parseInt(str_b);
	return (int_value_a > int_value_b);
}

function isInteger(str,min_value,max_value,allowBlank)  // allowBlank = true or false
// return true if positive Integer, false otherwise
{
	if(str.length == 0)
		if(allowBlank)
			return true;
		else
			return false;
	for (var i=0; i < str.length; i++)
	{
		if ((str.charAt(i) < '0') || (str.charAt(i) > '9'))
				return false;
	}
	var int_value = parseInt(str,10);
	if ((int_value < min_value) || (int_value > max_value))
		return false;
	return true;
}


function isHex(str) {
    var i;
    for(i = 0; i<str.length; i++) {
        var c = str.substring(i, i+1);
        if(("0" <= c && c <= "9") || ("a" <= c && c <= "f") || ("A" <= c && c <= "F")) {
            continue;
        }
        return false;
    }
    return true;
}

function isTelephoneNum(str) 
{
	var c;
    if(str.length == 0) 
        return false;
    for (var i = 0; i < str.length; i++) 
	{
        c = str.substring(i, i+1);
        if (c>= "0" && c <= "9")
            continue;
        if ( c == '-' && i !=0 && i != (str.length-1) )
            continue;
        if ( c == ',' ) continue;
        if (c == ' ') continue;
        if (c>= 'A' && c <= 'Z') continue;
        if (c>= 'a' && c <= 'z') continue;
        return false;
    }
    return true;
}

function checkDay(year,month,day)  // check if valid date
{
	var isleap = false;
	if(year%400 == 0 || (year%4 == 0 && year%100 != 0))
		isleap = true;
	if(month%2)
	{
		if((month<=7)&&(day>31))
			return false;
		if((month>7)&&(day>30))
			return false;
	}
	else
	{
		if(month<=6)
		{
			if(month == 2)
			{
				if((isleap)&&(day>29))
				{
					return false;
				}
				if((!isleap)&&(day>28))
				{			
					return false;	
				}		
			}
			else
			{
				if(day > 30)
					return false;
			}
		}
		else
			if(day>31)
				return false;
	}
	return true;
}

function CheckSpaceInName(text_input_field)
//not allow space in name,
{
	if (text_input_field.value.length>1)
	{
		for (var i=0;i<text_input_field.value.length;i++)
		{
			if (text_input_field.value.charAt(i) == ' ')
				return false;
		}
	}
	return true;
}

// Utility & Misc functions ===================================================
//Input Output Ip Address-KelV!n y0u@2004/Oct/24------------------------------------------------------
function IP_T2R(ipbox, ipvar)
{
   var ipstr;
   ipstr= eval("document.forms[0]."+ipbox+"1").value+"." 
          +eval("document.forms[0]."+ipbox+"2").value+"."
		  +eval("document.forms[0]."+ipbox+"3").value+"."
		  +eval("document.forms[0]."+ipbox+"4").value;
	eval("document.forms[0]."+ipvar).value = ipstr;
}
function IP_R2T(ipbox, ipvar)
{
	var ipArray = new Array();
	var i;
	var str;

    str = eval("document.forms[0]."+ipvar).value
	if(str.length == 0)
	    return;
	ipArray = str.split(".");
	for(i=1; i<=ipArray.length; i++)
	{
		eval("document.forms[0]."+ipbox+i).value = ipArray[i-1];
	}
}
function IP_STRING_R2T(ipbox, ipstr)
{
	var ipArray = new Array();
	var i;
	var str;

	if(ipstr.length == 0)
	    return;

	ipArray = ipstr.split(".");
	for(i=1; i<=ipArray.length; i++)
	{
		eval("document.forms[0]."+ipbox+i).value = ipArray[i-1];
	}
}
function IP_STRING_T2R(ipbox)
{
   return  eval("document.forms[0]."+ipbox+"1").value+"." 
          +eval("document.forms[0]."+ipbox+"2").value+"."
		  +eval("document.forms[0]."+ipbox+"3").value+"."
		  +eval("document.forms[0]."+ipbox+"4").value;	
}
// Utility & Misc functions ===================================================
//false: valide ip address, true: invalid ip address
function checkIPAddress(ipbox, max, bAllowBlank)
{
	if(bAllowBlank == true)
	{
		if((eval("document.forms[0]."+ipbox+"1").value == "0"||eval("document.forms[0]."+ipbox+"1").value == "")
		&& (eval("document.forms[0]."+ipbox+"2").value == "0"||eval("document.forms[0]."+ipbox+"2").value == "")
		&& (eval("document.forms[0]."+ipbox+"3").value == "0"||eval("document.forms[0]."+ipbox+"3").value == "")
		&& (eval("document.forms[0]."+ipbox+"4").value == "0"||eval("document.forms[0]."+ipbox+"4").value == ""))
		     return false;  
	}

	return checkIP(	eval("document.forms[0]."+ipbox+"1"),
					eval("document.forms[0]."+ipbox+"2"),
					eval("document.forms[0]."+ipbox+"3"),
					eval("document.forms[0]."+ipbox+"4"), max);
}
// Utility & Misc functions ===================================================

function isIE()
{
    if(navigator.appName.indexOf("Microsoft") != -1)
        return true;
    else return false;
}

function setDisabled(OnOffFlag,formFields)
{
	for (var i = 1; i < setDisabled.arguments.length; i++)
		setDisabled.arguments[i].disabled = OnOffFlag;
}

function makeStr(strSize, fillChar)
{
	var temp = "";
	for (i=0; i < strSize ; i ++)
		temp = temp + fillChar;
	return temp;
}

var showit = "block";
var hideit = "none";

function show_hide(el,shownow)  // IE & NS6; shownow = true, false
{
//	alert("el = " + el);
	if (document.all)
		document.all(el).style.display = (shownow) ? showit : hideit ;
	else if (document.getElementById)
		document.getElementById(el).style.display = (shownow) ? showit : hideit ;
}


function printPage()
{
    location.href="javascript:print();";
}



ie4 = ((navigator.appName == "Microsoft Internet Explorer") && (parseInt(navigator.appVersion) >= 4 ))
ns4 = ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) < 6 ))
ns6 = ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) >= 6 ))

// 0.0.0.0
var ZERO_NO = 1;	// 0x0000 0001
var ZERO_OK = 2;	// 0x0000 0010
// x.x.x.0
var MASK_NO = 4;	// 0x0000 0100
var MASK_OK = 8;	// 0x0000 1000
// 255.255.255.255
var BCST_NO = 16;	// 0x0001 0000
var BCST_OK = 32;	// 0x0010 0000

var SPACE_NO = 1;
var SPACE_OK = 2;
var page_clicked="";	// which menu user click
var submitted=false;
function check_page_clicked(menu)
{
    if(menu==page_clicked)
    	return false;
    else
    {
    	page_clicked = menu;
	return true;
    }
}
// submit return true, else return false
function check_submitted()
{
    if(submitted==false)
    {
        submitted=true;
	return true;
    }
    else
    {
        return false;
    }
}

function choose_disable(dis_object)
{
	if(!dis_object)	return;
	dis_object.disabled = true;

	if(!ns4)
		dis_object.style.backgroundColor = "#e0e0e0";
}

function showMenuItem(menu)
{
    var strHtml;

    if(menu==vapp)
	    strHtml='<td class="thistab" width="94">'+menu+'</td>';
	else
    	strHtml='<td class="thistab" width="92">'+menu+'</td>';
	document.write(strHtml); 
}
	
function showMenuLink(mlink,menu)
{
    var strHtml;

    if(menu==vapp)
        strHtml='<td class="menucell" width="94"><a class="mainmenu" href="setup.cgi@next_file='+mlink+'" onClick="return check_page_clicked(\''+mlink+'\');">'+menu+'</a></td>';
    else
	strHtml='<td class="menucell" width="92"><a class="mainmenu" href="setup.cgi@next_file='+mlink+'" onClick="return check_page_clicked(\''+mlink+'\');">'+menu+'</a></td>';
	document.write(strHtml); 
}

function showSubItem(menu)
{
    var strHtml;

	strHtml='<span class="current">'+menu+'</span>&nbsp;&nbsp;';
	document.write(strHtml); 
}
	
function showSubLink(mlink,menu)
{
    var strHtml;

	strHtml='<a class="submenu" href="setup.cgi@next_file='+mlink+'" onClick="return check_page_clicked(\''+mlink+'\');">'+menu+'</a>';
	document.write(strHtml); 
}

function showHead(product_descrip,product_name,fw_version,menu)
{
	var strHtml;

	strHtml='<tr>'+
                '<td width="420" colspan="2" bgcolor="#2971b9" height="55" valign="bottom" >&nbsp;&nbsp;&nbsp;&nbsp;<img border="0" src="UI_Linksys.gif" ></td>'+
                '<td width="390" colspan="2" bgcolor="#2971b9" align="right" valign="bottom" class="fwv">'+
                fv+':'+fw_version+' </td>'+
                '</tr>'+
            '<!-- header 2 -->'+
            '<tr>'+
                '<td colspan="4" height="11"><img border="0" src="UI_10.gif" width="810" height="11"></td>'+
            '</tr>'+
            '<!-- header 3 -->'+
            '<tr>'+
                '<td rowspan="4" width="164" align="center" class="bighead">'+menu+'</TD>'+
                '<td width="256" bgcolor="#2971b9" height="33" ></TD>'+
                '<td width="300" bgcolor="#2971b9" align="right" height="33" class="pname">'+product_descrip+'</TD>'+
                '<td width="90" height="12" align="center" class="mname">'+product_name+'</TD>'+
            '</TR>'+
            '<!-- header 3 -->'+
            '<tr>'+
                '<TD colspan="3" height="1" width="646" bgcolor="#5b5b5b"> </TD>'+
            '</TR>';
	document.write(strHtml); 
}

function showMenu(menu,submenu)
{
//main menu
    var strHtml;
    var arrMenuItem=new Array(vsetup,vwireless,vsecurity,vaccres,vapp,vadmin,vstatus);
    var arrMenuLink=new Array("Setup.htm","Wireless.htm","Security.htm","AccessRes.htm","SingleForwarding.htm","Administration.htm","Status.htm");
    var arrSubSetup=new Array(vbasic,vddns,vmac,vadvr,"NULL");
    var arrSubSetupLink=new Array("Setup.htm","Setup_DDNS.htm","Setup_MAC.htm","Setup_routing.htm");
    var arrSubWireless=new Array(vwbasic,vwsec,vwacl,vwadv,"NULL");
    var arrSubWirelessLink=new Array("Wireless.htm","WSecurity.htm","WMACFilter.htm","AdvancedWSettings.htm");
    var arrSubSec=new Array(vfirewall,vvpnp,"NULL");
    var arrSubSecLink=new Array("Security.htm","VPNPassthrough.htm");
    var arrSubAccres=new Array(vaccrest,"NULL");
    var arrSubAccresLink=new Array("AccessRes.htm");
    var arrSubApp=new Array(vportf,vportrange,vporttrig,vdmz,vqos,"NULL");
    var arrSubAppLink=new Array("SingleForwarding.htm","AppGaming.htm","PortRangeTriggering.htm","DMZ.htm","QoS.htm");
    var arrSubAdmin=new Array(admin_manage,admin_report,admin_diag,admin_back,admin_defult,admin_fwup,"NULL");
    //var arrSubAdmin=new Array(vmanage,vreport,vdiag,vback,vdefult,vfwup,"NULL");
    var arrSubAdminLink=new Array("Administration.htm","Log.htm","Diagnostics.htm","Backup.htm","Factorydefaults.htm","FirmwareUpgrade.htm");
    var arrSubStatus=new Array(vstatus1,vlan,vwlan,vdsl,"NULL");
    var arrSubStatusLink=new Array("Status.htm","LocalNetwork.htm","WNetwork.htm","DSL_status.htm");
    var i;
    var mainMenu;
    var mainMenuLink;

    if(menu==vsetup){
		    strHtml='<TR>'+
		            '<TD height="42" colspan="3">'+
		            '<table border="0" cellspacing="0" bgcolor="#2971b9" height="100%">'+
		            '<tr>'+
		            '<td height="10" background="UI_07.gif"> </td>'+
			        '<td height="10" background="UI_06.gif" colspan="6"> </td>'+
		            '</tr>'+
		            '<tr>';
     } else if(menu==vwireless){
		    strHtml='<TR>'+
		            '<TD height="42" colspan="3">'+
		            '<table border="0" cellspacing="0" bgcolor="#2971b9" height="100%">'+
		            '<tr>'+
		            '<td height="10" background="UI_06.gif"> </td>'+
		            '<td height="10" background="UI_07.gif"> </td>'+
			        	'<td height="10" background="UI_06.gif" colspan="5"> </td>'+
		            '</tr>'+
		            '<tr>'; 
     } else if(menu==vsecurity){
		    strHtml='<TR>'+
		            '<TD height="42" colspan="3">'+
		            '<table border="0" cellspacing="0" bgcolor="#2971b9" height="100%">'+
		            '<tr>'+
		            '<td height="10" background="UI_06.gif" colspan="2"> </td>'+
		            '<td height="10" background="UI_07.gif"> </td>'+
			        	'<td height="10" background="UI_06.gif" colspan="4"> </td>'+
		            '</tr>'+
		            '<tr>'; 
     }else if(menu==vaccres){
		    strHtml='<TR>'+
		            '<TD height="42" colspan="3">'+
		            '<table border="0" cellspacing="0" bgcolor="#2971b9" height="100%">'+
		            '<tr>'+
		            '<td height="10" background="UI_06.gif" colspan="3"> </td>'+
		            '<td height="10" background="UI_07.gif"> </td>'+
			        	'<td height="10" background="UI_06.gif" colspan="3"> </td>'+
		            '</tr>'+
		            '<tr>'; 
     }else if(menu==vapp){
		    strHtml='<TR>'+
		            '<TD height="42" colspan="3">'+
		            '<table border="0" cellspacing="0" bgcolor="#2971b9" height="100%">'+
		            '<tr>'+
		            '<td height="10" background="UI_06.gif" colspan="4"> </td>'+
		            '<td height="10" background="UI_07.gif"> </td>'+
			        	'<td height="10" background="UI_06.gif" colspan="2"> </td>'+
		            '</tr>'+
		            '<tr>'; 
     }else if(menu==vadmin){
		    strHtml='<TR>'+
		            '<TD height="42" colspan="3">'+
		            '<table border="0" cellspacing="0" bgcolor="#2971b9" height="100%">'+
		            '<tr>'+
		            '<td height="10" background="UI_06.gif" colspan="5"> </td>'+
		            '<td height="10" background="UI_07.gif"> </td>'+
			        	'<td height="10" background="UI_06.gif"> </td>'+
		            '</tr>'+
		            '<tr>'; 
     }else if(menu==vstatus){
		    strHtml='<TR>'+
		            '<TD height="42" colspan="3">'+
		            '<table border="0" cellspacing="0" bgcolor="#2971b9" height="100%">'+
		            '<tr>'+
		            '<td height="10" background="UI_06.gif" colspan="6"> </td>'+
		            '<td height="10" background="UI_07.gif"> </td>'+
		            '</tr>'+
		            '<tr>'; 
     }
            
     document.write(strHtml);
     for(i=0;i<7;i++){
         if(menu==arrMenuItem[i]){
                showMenuItem(arrMenuItem[i]);
         }else{
                showMenuLink(arrMenuLink[i],arrMenuItem[i]);
        }
     }
     strHtml='</tr>'+
             '</table>'+
             '</td>'+
             '</tr>';
     document.write(strHtml);
     
     strHtml='<TR>'+
                '<TD height="21" colspan="3" width="646">';
     document.write(strHtml);
     
     if(menu == vsetup){
        mainMenu=arrSubSetup;
        mainMenuLink=arrSubSetupLink;
     }
     if(menu == vwireless){
        mainMenu=arrSubWireless;
        mainMenuLink=arrSubWirelessLink;
     }
     if(menu == vsecurity){
        mainMenu=arrSubSec;
        mainMenuLink=arrSubSecLink;
     }
     if(menu == vaccres){
        mainMenu=arrSubAccres;
        mainMenuLink=arrSubAccresLink;
     }
     if(menu == vapp){
        mainMenu=arrSubApp;
        mainMenuLink=arrSubAppLink;
     }
     if(menu == vadmin){
        mainMenu=arrSubAdmin;
        mainMenuLink=arrSubAdminLink;
     }
     if(menu == vstatus){
        mainMenu=arrSubStatus;
        mainMenuLink=arrSubStatusLink;
     }
     strHtml='<table><tr>';
     document.write(strHtml);
     for(i=0;i<7;i++){
     	if(i<4)
     	    strHtml='<td align="center" nowrap>';
     	else
            strHtml='<td align="center">';
        document.write(strHtml);
        if(mainMenu[i]==submenu){
            showSubItem(mainMenu[i]);
        }else{
            showSubLink(mainMenuLink[i],mainMenu[i]);
        }
        document.write("</td>");
        if(mainMenu[i+1]!=='NULL'){
            document.write("<td nowrap>");
            dw('<b class="separator">|</b>');
            document.write("</td>");
        }else{
            break;
        }
     }
     strHtml='</tr></table>';
     document.write(strHtml);    

/*     for(i=0;;i++){
        if(arrSubWireless[i]==submenu){
            showSubItem(arrSubWireless[i]);
        }else{
            showSubLink(arrSubWirelessLink[i],arrSubWireless[i]);
        }
        if(arrSubWireless[i]!=='NULL'){
            dw('<b class="separator">|</b>&nbsp;&nbsp;');
        }else{
            break;
        }
    }
    
     for(i=0;;i++){
        if(arrSubSec[i]==submenu){
            showSubItem(arrSubSec[i]);
        }else{
            showSubLink(arrSubSecLink[i],arrSubSec[i]);
        }
        if(arrSubSec[i]!=='NULL'){
            dw('<b class="separator">|</b>&nbsp;&nbsp;');
        }else{
            break;
        }
    }

     for(i=0;;i++){
        if(arrSubAccres[i]==submenu){
            showSubItem(arrSubAccres[i]);
        }else{
            showSubLink(arrSubAccresLink[i],arrSubAccres[i]);
        }
        if(arrSubAccres[i]!=='NULL'){
            dw('<b class="separator">|</b>&nbsp;&nbsp;');
        }else{
            break;
        }
    }

    for(i=0;;i++){
        if(arrSubAdmin[i]==submenu){
            showSubItem(arrSubAdmin[i]);
        }else{
            showSubLink(arrSubAdminLink[i],arrSubAdmin[i]);
        }
        if(arrSubAdmin[i]!=='NULL'){
            dw('<b class="separator">|</b>&nbsp;&nbsp;');
        }else{
            break;
        }
    }

    for(i=0;;i++){
        if(arrSubApp[i]==submenu){
            showSubItem(arrSubApp[i]);
        }else{
            showSubLink(arrSubAppLink[i],arrSubApp[i]);
        }
        if(arrSubApp[i]!=='NULL'){
            dw('<b class="separator">|</b>&nbsp;&nbsp;');
        }else{
            break;
        }
    }

    for(i=0;;i++){
        if(arrSubStatus[i]==submenu){
            showSubItem(arrSubStatus[i]);
        }else{
            showSubLink(arrSubStatusLink[i],arrSubStatus[i]);
        }
        if(arrSubStatus[i]!=='NULL'){
            dw('<b class="separator">|</b>&nbsp;&nbsp;');
        }else{
            break;
        }
    }
*/
    strHtml='</td>'+
            '</tr>';
    document.write(strHtml);
/*<!-- sub menu--> 
<TR>
  <TD height="21" colspan="2" width="646"> &nbsp; &nbsp;
  <a class="submenu" href="setup.cgi@next_file=Setup.htm">Basic Setup</a><b class="separator">|</b>&nbsp;&nbsp;
  <span class="current">DDNS</span>&nbsp;&nbsp;<b class="separator">|</b>
  <a class="submenu" href="setup.cgi@next_file=Setup_MAC.htm">MAC Address Clone</a><b class="separator">|</b>
  <a class="submenu" href="setup.cgi@next_file=Setup_routing.htm">Advanced Routing</a>
 </td>
</tr>*/

}

function showSave()
{
    dw('<input type="SUBMIT" name="save" value="');
    dw(vbtnsave);
    dw('" class="stdbutton" onClick="return checkData()&&check_submitted();">');
}

function showCancel(curpage)
{
    dw('<input type="button" name="cancel" value="');
    dw(vbtncancel);
    dw('" class="stdbutton" onClick="if(check_submitted()) location.href=\'setup.cgi@next_file=');
    dw(curpage);
    dw('\'"> &nbsp;  &nbsp; ');
}

function showWlMac(curnumber)
{
    dw(vwclient_mac);
    if(parseInt(curnumber,10)<10)
    		dw('0');
    dw(curnumber);
    dw(':');
}

function showLogType(logtype)
{
    if(logtype=="System Log")
    		dw(va_log_type2);
    else if (logtype=="Access Log")
    		dw(va_log_type3);
    else if (logtype=="Firewall Log")
    		dw(va_log_type4);
    else if (logtype=="VPN Log")
    		dw(va_log_type5);
    else
    		dw(va_log_type1);								
}
