function helpSta() {
var dateTbl = new Array("Date", "12/17/2001", "12/17/2001", "12/17/2001", "12/17/2001", "01/01/1970", "01/01/1970", "01/01/1970", "01/01/1970", "01/01/1970");
var timeTbl = new Array("Time", "10:01:21", "10:01:11", "10:01:09", "09:47:17", "00:01:13", "00:01:13", "00:01:13", "00:01:13", "00:00:25");
var logTbl = new Array("Log Message", "NTP Date/Time updated", "192.168.2.100 login success", "User from 192.168.2.100 timed out", "NTP Date/Time updated", "DHCP Client: Receive Ack from 192.168.1.3,Lease time=300", "DHCP Client: Send Request,Request IP=192.168.1.25", "DHCP Client: Receive Offer from 192.168.1.3", "DHCP Client: Send Discover", "192.168.2.100 login success");
for ( i=0 ; i<=9 ;i++) {
document.write("
"+ dateTbl[i] +"
"+ timeTbl[i] +"
"+ logTbl[i] +"
");
}
}
function helpSup() {}
//******************************************************************************************
function strRule(name, str) {
if(name.value=="") {
alert(str + ' cannot be empty!');
setFocus(name);
return false;
}
return true;
}
Schedule = [
["Mon",0x1000000],
["Tue",0x0100000],
["Wed",0x0010000],
["Thu",0x0001000],
["Fri",0x0000100],
["Sat",0x0000010],
["Sun",0x0000001]
];
BCOLOR = [
["Mon","#99CCFF",0x1000000],
["Tue","#FFCC99",0x0100000],
["Wed","#CCFF99",0x0010000],
["Thu","#FFFF99",0x0001000],
["Fri","#9999FF",0x0000100],
["Sat","#FFCC99",0x0000010],
["Sun","#CCCCCC",0x0000001]
];
function validateKey(str) {
for (var i=0; i= '0' && str.charAt(i) <= '9') ||
(str.charAt(i) == '.' ) )
continue;
return 0;
}
return 1;
}
function getDigit(str, num) {
i=1;
if ( num != 1 ) {
while (i!=num && str.length!=0) {
if ( str.charAt(0) == '.' ) {
i++;
}
str = str.substring(1);
}
if ( i!=num )
return -1;
}
for (i=0; i max || d < min )
return false;
return true;
}
function setFocus(field) {
field.value = field.defaultValue;
field.focus();
return;
}
function checkIpAddr(field, msg)
{
if ( validateKey(field.value) == 0) {
alert(msg + ' value. It should be the decimal number (0-9).');
return false;
}
if ( !checkDigitRange(field.value,1,1,255) ) {
alert(msg+' range in 1st digit. It should be 1-255.');
return false;
}
if ( !checkDigitRange(field.value,2,0,255) ) {
alert(msg + ' range in 2nd digit. It should be 0-255.');
return false;
}
if ( !checkDigitRange(field.value,3,0,255) ) {
alert(msg + ' range in 3rd digit. It should be 0-255.');
return false;
}
if ( !checkDigitRange(field.value,4,1,254) ) {
alert(msg + ' range in 4th digit. It should be 1-254.');
return false;
}
return true;
}
function ipRule(ip, str, type, defVal) {
if (type == "ip") {
if (ip.value=="") {
alert(str+" cannot be empty! It should be filled with 4 digit numbers as xxx.xxx.xxx.xxx.");
if (defVal == 1)
ip.value = ip.defaultValue;
ip.focus();
return false;
}
}
else {
if (ip.value=="" || ip.value=="0.0.0.0") {
ip.value = "0.0.0.0";
return true;
}
}
if ( checkIpAddr(ip, 'Invalid '+str) == false ){
if (defVal == 1)
ip.value = ip.defaultValue;
ip.focus();
return false;
}
return true;
}
function portRule( fromPort, fromStr, toPort, toStr, min, max, defVal) {
//********** from port **********
if (fromPort.value=="") {
alert(fromStr+" cannot be empty! You should set a value between "+min+"-"+max+".");
if ( defVal == 1 )
fromPort.value = fromPort.defaultValue;
fromPort.focus();
return false;
}
if ( validateKey( fromPort.value ) == 0 ) {
alert("Invalid value of"+fromStr+"! It should be the decimal number (0-9).");
if ( defVal == 1 )
fromPort.value = fromPort.defaultValue;
fromPort.focus();
return false;
}
d1 = getDigit(fromPort.value, 1);
if (d1 > max || d1 < min) {
alert("Invalid value of"+fromStr+"! You should set a value between "+min+"-"+max+".");
if ( defVal == 1 )
fromPort.value = fromPort.defaultValue;
fromPort.focus();
return false;
}
//********** to port **********
if (toStr != "") {
if (toPort.value!="") {
if ( validateKey( toPort.value ) == 0 ) {
alert("Invalid value of"+toStr+"! It should be the decimal number (0-9).");
if ( defVal == 1 )
toPort.value = toPort.defaultValue;
toPort.focus();
return false;
}
d2 = getDigit(toPort.value, 1);
if (d2 > max || d2 < min) {
alert("Invalid value of"+toStr+"! You should set a value between "+min+"-"+max+".");
if ( defVal == 1 )
toPort.value = toPort.defaultValue;
toPort.focus();
return false;
}
if (d1 > d2 ) {
if(defVal==2)
alert("Invalid time range! Start value should be less than end value.");
else
alert("Invalid port range! 1st port value should be less than 2nd value.");
if ( defVal == 1 )
toPort.value = toPort.defaultValue;
fromPort.focus();
return false;
}
}
}
return true;
}
function macRule( mac, name,defVal) {
var str = mac.value;
if ( str.length < 12) {
alert("Input MAC address is not complete. It should be 12 digits in hex.");
if ( defVal == 1 )
mac.value = mac.defaultValue;
mac.focus();
return false;
}
for (var i=0; i= '0' && str.charAt(i) <= '9') ||
(str.charAt(i) >= 'a' && str.charAt(i) <= 'f') ||
(str.charAt(i) >= 'A' && str.charAt(i) <= 'F') )
continue;
alert("Invalid MAC address. It should be in hex number (0-9 or a-f).");
if ( defVal == 1 )
mac.value = mac.defaultValue;
mac.focus();
return false;
}
return true;
}
function MM_openBrWindow(theURL,winName,features){
window.open(theURL,winName,features);
}
function deleteClick() {
if ( !confirm('Do you really want to delete the selected entry?') ) {
return false;
}
else
return true;
}
function deleteAllClick() {
if ( !confirm('Do you really want to delete the all entries?') ) {
return false;
}
else
return true;
}
function qosTxt(text) {
var buffer;
if (text == "title") buffer = "QoS";
if (text == "enable") buffer = " Enable QoS";
if (text == "wan1Tbl") buffer = "Current QoS Table:";
if (text == "wan2Tbl") buffer = "Current QoS of WAN2 Table:";
if (text == "wan3Tbl") buffer = "Current QoS of WAN3 Table:";
if (text == "wan4Tbl") buffer = "Current QoS of WAN4 Table:";
if (text == "priority") buffer = "Priority";
if (text == "name") buffer = "Rule Name";
if (text == "upload") buffer = "Upload Bandwidth";
if (text == "download") buffer = "Download Bandwidth";
if (text == "select") buffer = "Select";
if (text == "tdownload") buffer = "Total Download Bandwidth";
if (text == "tupload") buffer = "Total Upload Bandwidth";
document.write(buffer);
}
function qosBtnTxt(form) {
form.addQos.value='Add';
form.showQos.value='Edit';
form.delSelQos.value='Delete Selected';
form.delAllQos.value='Delete All';
form.moveUpQos.value='Move Up';
form.moveDownQos.value='Move Down';
form.reset.value='Reset';
return true;
}
function qosAddTxt(text) {
var buffer;
if (text == "title") buffer = "QoS";
if (text == "descript") buffer = "";
if (text == "name") buffer = "Rule Name ";
if (text == "wanIf") buffer = "WAN Port ";
if (text == "strBw") buffer = "Bandwidth ";
if (text == "scAddr") buffer = "Local Address ";
if (text == "ip") buffer = "Local IP Address ";
if (text == "mac") buffer = "MAC Address ";
if (text == "dtIp") buffer = "Remote IP Address ";
if (text == "traf") buffer = "Traffic Type ";
if (text == "ptl") buffer = "Protocol ";
if (text == "scPort") buffer = "Local Port Range ";
if (text == "dtPort") buffer = "Remote Port Range ";
if (text == "btn") {
document.formQos.apply.value='Save';
document.formQos.reset.value='Reset'; return true;
}
document.write(buffer);
}
var HOST_NAME_REGX =new RegExp("^[a-zA-Z0-9]\\w{0,30}$");
var HOST_NAME1_REGX =new RegExp("^([a-zA-Z0-9]([a-zA-Z0-9\\-]{0,61}[a-zA-Z0-9])?\\.)+[a-zA-Z]{2,6}$");
var HOST_NAME3_REGX =new RegExp("^((http|https)\://)?([a-zA-Z0-9]([a-zA-Z0-9\\-]{0,10}[a-zA-Z0-9])?[\\.]?){1,3}[a-zA-Z0-9]{2,6}$");
var IP_REGX=new RegExp("^(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])$");
var IP_REGX1=new RegExp("^((http|https)\://)?(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])$");
function printf(fmt)
{
var reg = /%s/;
var result = new String(fmt);
for (var i = 1; i < arguments.length; i++)
{
result = result.replace(reg, new String(arguments[i]));
}
document.write(result);
}
function select_option(name,var_js_array,st_value)
{
printf("");
}
function getStateString(code)
{
var stateCode = parseInt(code,10);
var mask;
var codeString = [];
for (var i = 0; i < BCOLOR.length ; i++)
{
mask = parseInt(BCOLOR[i][2],10);
if ( (mask != 0) && ((stateCode & mask) == mask) )
{
codeString.push(BCOLOR[i][0]);
}
}
return codeString.join(", ");
return "---";
}
function dw(str)
{
document.write(str+'\n');
}
var SUBMASK_REGX = new RegExp("^1*0*$");
function rvt(num)
{
var x=0, y=0;
p = new Array;
q = new Array;
var bin_num="";
var tmp;
x = num;
for (i=0; i<10; i++)
{
y = Math.pow(2, i);
p[i] = i;
q[i] = (y&x)/y;
if (y>x)
{
tmp = i;
break;
}
}
p.pop();
q.pop();
p.reverse();
q.reverse();
for(i=0;i255) return false;
var length = (rvt(num)).length;
if(length < 8)
{
for(var j=1;j<=(8-length);j++)
zero = zero + '0';
}
bin = bin + zero + rvt(num);
}
if(!SUBMASK_REGX.test(bin))
return false;
return true;
}
function checkIsNMode(bandVal)
{
return (bandVal==6||bandVal==7||bandVal==8||bandVal==9||bandVal==11)?true:false;
}
function checksubnetIPwithNetAndBroadcast(ip, mask, client, str)
{
var networkIP="";
var broadcastIP="";
networkIP=getNetworkIP(ip.value,mask.value);
useNetworkIP=prefixNetwork(networkIP)+(eval(getDigit(networkIP,4))+1);
broadcastIP=getBroadcastIP(ip.value,mask.value);
useBroadcastIP=prefixNetwork(broadcastIP)+(eval(getDigit(broadcastIP,4))-1);
if(!checkSameSubnet(ip.value,client.value,mask.value) || client.value==networkIP || client.value==broadcastIP)
{
alert(showText(370) + str + '!\n' + showText(371) + '\nNow subnet is \"' +useNetworkIP+ '\" to \"'+useBroadcastIP+'\"');
client.value = client.defaultValue;
client.focus();
return false;
}
return true;
}
function getNetworkIP(ip,mask)
{
var subnetIP="";
var ip_t=ip.split(".");
var mask_t=mask.split(".");
for(var i=0;i<4;i++){
subnetIP=subnetIP+(ip_t[i] & mask_t[i]);
if(i!=3)
subnetIP=subnetIP+'.';
}
return subnetIP;
}
function prefixNetwork(ip)
{
var prefixIP="";
for(var i=1;i<=3;i++){
prefixIP=prefixIP+getDigit(ip,i)+'.';
}
return prefixIP;
}
function getBroadcastIP(ip,mask)
{
var broadcastIP="";
var ip_t=ip.split(".");
var mask_t=mask.split(".");
for(var i=0;i<4;i++){
broadcastIP=broadcastIP+(ip_t[i] | (255-mask_t[i]));
if(i!=3)
broadcastIP=broadcastIP+'.';
}
return broadcastIP;
}
function digitEncode(input)
{
var result='', code = '';
var j=0;
for(j=0;j