function ShowWizard(name){ window.open(name,"Wizard","width=460,height=360") } function ExitWizard(){ if (confirm("Quit setup wizard and discard settings ?")) window.close() } //parameter pass by value; function Validate_IP1(ipaddr) { var re = /^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/; if (re.test(ipaddr)) { var parts = ipaddr.split("."); if (parseInt(parseFloat(parts[0])) == 0) { return false; } for (var i=0; i 255) { return false; } } return true; } else { return false; } } function Validate_SSID(ssid){ var re = /^(\w|-|\.)+$/; if (!re.test(ssid)) { alert("SSID contains invalid character."); return false; } return true; } function Validate_ESSID(essid) { var re = /^(\w|-|\.)+$/; if (!re.test(essid)) { alert("ESSID contains invalid character."); return false; } return true; } function Validate_Server(host, blank) { if(trim(host.value) == "" && blank == "0") { alert("The server address must fill in."); host.focus(); host.select(); return false; } if(trim(host.value) == "" && blank == "1") { host.focus(); host.select(); return true; } if (trim(host.value) == "1.1.1.1") { alert("Can't use reserved IP address."); host.focus(); host.select(); return false; } return true; } function Validate_Port(port, blank) { if(trim(port.value) == "" && blank == "0") { alert("Not a valid port number."); port.focus(); port.select(); return false; } if(trim(port.value) == "" && blank == "1") { port.focus(); port.select(); return true; } if (!Check_Number(port.value) || port.value > 65535) { alert("Not a valid port number."); port.focus(); port.select(); return false; } return true; } /* INPUT: 1.ip(object) 2.blank(string) [1:allow empty][0:not allow empty] OUTPUT: true:OK false:error */ function Validate_IP(ip, blank) { var re = /^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/; if(trim(ip.value) == "" && blank == "0") { alert("IP must fill in."); ip.focus(); ip.select(); return false; } if(trim(ip.value) == "" && blank == "1") { ip.focus(); ip.select(); return true; } if(trim(ip.value) == "1.1.1.1") { alert("Can't use reserved IP address."); ip.focus(); ip.select(); return false; } if (re.test(ip.value)) { var parts = ip.value.split("."); if (parseInt(parseFloat(parts[0])) == 0) { alert("Not a valid IP address."); ip.focus(); ip.select(); return false; } for (var i=0; i 255) { alert("Not a valid IP address."); ip.focus(); ip.select(); return false; } } return true; } else { alert("Not a valid IP address."); ip.focus(); ip.select(); return false; } } function iptonum(ip) { dummy = ip.split("."); retval = dummy[0]; for(i=1;i<=3;i++) { temp = dummy[i]; retval = 256 * retval + parseInt(temp); } return retval; } function validate_subnet(ip,network,netmask) { if(trim(ip)=="" || trim(network)=="" || trim(netmask)=="") {return false;} ipnum = iptonum(ip); networknum = iptonum(network); netmasknum = iptonum(netmask); if((ipnum & netmasknum)==(networknum & netmasknum)) { return true; } else { return false; } } function ip2num(ip) { dummy = ip.split("."); retval = dummy[0]; for(i=1;i<=3;i++) { temp = dummy[i]; retval = 256 * retval + parseInt(temp); } return retval; } function Validate_Zero_IP(ip) { part = ip.split("/"); if ( part[0] == "0.0.0.0" ) if ( part[1] != "0.0.0.0" ) return true; if ( part[0] != "0.0.0.0" ) if ( ( part[1] == "0.0.0.0" ) || (part[1] == "0" ) ) return true; return false; } function Validate_Segment(ip) { part = ip.split("/"); if ( part[1] == "255.255.255.255" ) return false; return true; } function validate_dhcp_range(ip, start, end) { tip = iptonum(ip); tstart = iptonum(start); tend = iptonum(end); if(tip>=tstart && tip <= tend) { return false; } else { return true; } } function Check_Number(num) { if(isNaN(num)) { return false; } else if (num <= 0) { return false; } else if (num - parseInt(num,10) != 0) { return false; } else { return true; } } function Check_Number_NoZero(num) { if(isNaN(num)) { return false; } else if (num < 0) { return false; } else if (num - parseInt(num,10) != 0) { return false; } else { return true; } } function Validate_Mac1(mac) { var re = /^[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}$/; var re1 = /^[0-9A-Fa-f]{2}-[0-9A-Fa-f]{2}-[0-9A-Fa-f]{2}-[0-9A-Fa-f]{2}-[0-9A-Fa-f]{2}-[0-9A-Fa-f]{2}$/; if (!re.test(mac.value) && !re1.test(mac.value)) { return false; } return true; } function Validate_Mac(mac) { if (!Validate_Mac1(mac)) { alert("Not a valid MAC address."); mac.focus(); mac.select(); return false; } return true; } function Validate_IP_Segment(ip) { var re = new RegExp("^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}/[0-9]{1,3}$"); var re1 = new RegExp("^([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})/([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$"); if(re.test(ip)) { part = ip.split("."); part1 = part[3].split("/"); if(part[0] <= 255 && part[1] <=255 && part[2] <= 255 && part1[0] <= 255 && part1[1] <= 32) { return true; } else { return false; } } else if(re1.test(ip)) { part = ip.split("/"); part1 = part[0].split("."); part2 = part[1].split("."); if(part1[0] <= 255 && part1[1] <=255 && part1[2] <= 255 && part1[3] <= 255 && part2[0] <= 255 && part2[1] <=255 && part2[2] <= 255 && part2[3] <= 255) { return true; } else { return false; } } return false; } /* * Validate if the string is a valid password. A valid password is a string with * length no longer than 20 characters and contain only alphanumeric, dash and * dot characters. * * @param str the inputted string * @param allow_empty if empty string is valid; assumed false if not given * @return true if str is valid; false otherwise */ function ValidatePassword(str, allow_empty) { var regexp=/^[\w-.]{1,20}$/; var allow_empty = (allow_empty == undefined) ? false : allow_empty; if (allow_empty && str == "") { return true; } return regexp.test(str); } function MM_openBrWindow(theURL,winName,features) { //v2.0 window.open(theURL,winName,features); } function MM_reloadPage(init) { //reloads the window if Nav4 resized if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) { document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }} else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload(); } MM_reloadPage(true); function MM_preloadImages() { //v3.0 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array(); var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i0&&parent.frames.length) { d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i 2) { if ((img = MM_findObj(args[2])) != null && !img.MM_init) { img.MM_init = true; img.MM_up = args[3]; img.MM_dn = img.src; if ((nbArr = document[grpName]) == null) nbArr = document[grpName] = new Array(); nbArr[nbArr.length] = img; for (i=4; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) { if (!img.MM_up) img.MM_up = img.src; img.src = img.MM_dn = args[i+1]; nbArr[nbArr.length] = img; } } } else if (event == "over") { document.MM_nbOver = nbArr = new Array(); for (i=1; i < args.length-1; i+=3) if ((img = MM_findObj(args[i])) != null) { if (!img.MM_up) img.MM_up = img.src; img.src = (img.MM_dn && args[i+2]) ? args[i+2] : ((args[i+1])? args[i+1] : img.MM_up); nbArr[nbArr.length] = img; } } else if (event == "out" ) { for (i=0; i < document.MM_nbOver.length; i++) { img = document.MM_nbOver[i]; img.src = (img.MM_dn) ? img.MM_dn : img.MM_up; } } else if (event == "down") { nbArr = document[grpName]; if (nbArr) for (i=0; i < nbArr.length; i++) { img=nbArr[i]; img.src = img.MM_up; img.MM_dn = 0; } document[grpName] = nbArr = new Array(); for (i=2; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) { if (!img.MM_up) img.MM_up = img.src; img.src = (args[i+1])? args[i+1] : img.MM_up; nbArr[nbArr.length] = img; } } } function trim(inputString) { if (typeof inputString != "string") { return inputString; } var retValue = inputString; var ch = retValue.substring(0, 1); while (ch == " ") { // Check for spaces at the beginning of the string retValue = retValue.substring(1, retValue.length); ch = retValue.substring(0, 1); } ch = retValue.substring(retValue.length-1, retValue.length); while (ch == " ") { // Check for spaces at the end of the string retValue = retValue.substring(0, retValue.length-1); ch = retValue.substring(retValue.length-1, retValue.length); } while (retValue.indexOf(" ") != -1) { // Note that there are two spaces in the string - look for multiple spaces within the string retValue = retValue.substring(0, retValue.indexOf(" ")) + retValue.substring(retValue.indexOf(" ")+1, retValue.length); } return retValue; // Return the trimmed string back to the user } function isValidEmail(emailAddress) { var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/ if(!re.test(emailAddress.value)) { alert("Not a valid Email address."); emailAddress.focus(); emailAddress.select(); return false; } return true; } function isValidMultipleEmail(emailAddress) { var email =document.createElement("input"); var emails=emailAddress.value.split(','); var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/ for(key in emails) { email.setAttribute("value", trim(emails[key])); if(email.value != ""){ //if(!isValidEmail(email)) return false; if(!re.test(email.value)) { alert("Not a valid Email address."); emailAddress.focus(); emailAddress.select(); return false; } } } return true; } function validate_domain(domain, type) { var spcchr = "\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"; var valchr = "\[^\\s" + spcchr + "\]"; var regip1 = /^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$/; var regip2 = /^[0-9\.]+$/; var regdn1 = new RegExp("^" + valchr + "+(\\." + valchr + "+)+$"); var regdn2 = new RegExp("^" + valchr + "+(\\." + valchr + "+)*$"); var regdn3 = new RegExp("^[\\.]{0,1}" + valchr + "+(\\." + valchr + "+)*$"); var regdn4 = new RegExp("^" + valchr + "+(\\." + valchr + "+)*[\\.]{0,1}$"); var regdn5 = new RegExp("^[\\.]{0,1}" + valchr + "+(\\." + valchr + "+)*[\\.]{0,1}$"); if (domain.length >= 256) return false; // extended domain style if (!regdn5.test(domain)) return false; // IP only if (type == "1") { if (!regip1.test(domain)) return false; } // reject IP style if (type == "2" || type == "4" || type == "6" || type == "8" || type == "10") { if ( regip2.test(domain)) return false; } // host if (type == "2" || type == "3") { if (!regdn1.test(domain)) return false; } // domain if (type == "4" || type == "5") { if (!regdn2.test(domain)) return false; } // L-extended domain if (type == "6" || type == "7") { if (!regdn3.test(domain)) return false; } // R-extended domain if (type == "8" || type == "9") { if (!regdn4.test(domain)) return false; } return true; } function ValidateUniCode(str) { chkString = new String(str.value); var l = chkString.length; var i =0; var re = /^[a-zA-Z0-9\.-_]+$/; for (i=0 ; i < l ; i++) { if (chkString.charCodeAt(i) <=127) if ( ! re.test(chkString.charAt(i)) ) return false; } return true; } function toSmallCase(str) { var re = /\s/; var words = str.split(re); for (i = words.length - 1; i >= 0; i--) { words[i] = words[i].toLowerCase(); } return words.join(' '); } function IsNumeric(strString) { var strValidChars = "0123456789.-"; var strChar; var blnResult = true; if (strString.length == 0) return false; for (i = 0; i < strString.length && blnResult == true; i++) { strChar = strString.charAt(i); if (strValidChars.indexOf(strChar) == -1) { blnResult = false; } } return blnResult; }