// English, German, French, Spanish, Chinese, Italian, Simple Chinese var languageMap = new Array("english","german","french","spanish","chinese","italian","simplechinese"); var languageIndex = 0; var sysOPMode=0; var apMode=0; var sysOPMode_AR = 0; var sysOPMode_AP = 2; includeModelInformation(); function includeModelInformation() { dw(''); includeLanguage(); } function setWebTitle() { dw('.:: Welcome to ZyXEL ' + ModelName + ' (' + systemName + ') ::.'); } function includeLanguage() { var src = "language_" + languageMap[languageIndex] + ".js"; dw(''); } var IP_REGX = new RegExp("^([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-2][0-3])\\.(\\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-4])$"); var MULTICAST_IP_REGX = new RegExp("^(22[4-9]|2[3-4][0-9]|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 SUBMASK_REGX = new RegExp("^1*0*$"); var HOST_NAME_REGX = new RegExp("^([a-zA-Z0-9]([a-zA-Z0-9\\-]{0,61}[a-zA-Z0-9])?\\.)+[a-zA-Z]{2,6}$"); function dw(str) { document.write(str+'\n'); } function setFocus(field) { field.value = field.defaultValue; field.focus(); return; } function checkDigitRange(value, minValue, maxValue) { if(value <= maxValue && value >= minValue) return true; return false; } function checkMACAddress(str) { if(str.length < 12) return false; if(str.charAt(0) != '0' || str.charAt(1) != '0') return false; if(str.length == 12) { for(var i=2;i= '0' && str.charAt(i) <= '9') || (str.charAt(i) >= 'a' && str.charAt(i) <= 'f') || (str.charAt(i) >= 'A' && str.charAt(i) <= 'F') ) continue; else return false; } } else if(str.length == 17) { for(var i=2;i= '0' && str.charAt(i) <= '9') || (str.charAt(i) >= 'a' && str.charAt(i) <= 'f') || (str.charAt(i) >= 'A' && str.charAt(i) <= 'F') ) { continue; } else if(i!=2 && i!= 5 && i != 8 && i != 11 && i != 14) { return false; } } } else return false; return true; } function checkIPAddr(ip) { if(!IP_REGX.test(ip.value)) return false; /* if(MULTICAST_IP_REGX.test(ip.value)) return false; if(validateKey(field.value) == 0) return false; if(!checkDigitRange(field.value,1,1,255)) return false; if(!checkDigitRange(field.value,2,0,255)) return false; if(!checkDigitRange(field.value,3,0,255)) return false; if(!checkDigitRange(field.value,4,1,254)) return false; */ return true; } 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;i= '0' && str.charAt(i) <= '9') || (str.charAt(i) == '.' ) ) continue; return 0; } return 1; } function checkDigitRange(str, num, min, max) { d = getDigit(str,num); if ( d > max || d < min ) return false; return true; } /* function checkIPAddr(field) { if ( validateKey(field.value) == 0) return false; if ( !checkDigitRange(field.value,1,1,255)) return false; if ( !checkDigitRange(field.value,2,0,255)) return false; if ( !checkDigitRange(field.value,3,0,255)) return false; if ( !checkDigitRange(field.value,4,1,254)) return false; return true; } */ function checkStaRoutingIPAddr(field) { if ( validateKey(field.value) == 0) return false; if ( !checkDigitRange(field.value,1,1,254)) return false; if ( !checkDigitRange(field.value,2,0,254)) return false; if ( !checkDigitRange(field.value,3,0,254)) return false; if ( !checkDigitRange(field.value,4,0,254)) return false; return true; } function checkMaskAddr(field) { if ( validateKey(field.value) == 0) return false; if ( !checkDigitRange(field.value,1,1,255)) return false; if ( !checkDigitRange(field.value,2,0,255)) return false; if ( !checkDigitRange(field.value,3,0,255)) return false; if ( !checkDigitRange(field.value,4,0,255)) return false; return true; } /* 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 isRange(value, minValue, maxValue) { if(value <= maxValue && value >= minValue) return true; else return false; } //---------------------------------------------------------------- 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 showSpacedText(str) { str=str.replace(/ /g," "); return str; } function showRevSpacedText(str) { str=str.replace(/ /g," "); return str; }