// insertAdjacentHTML(), insertAdjacentText() and insertAdjacentElement() // for Netscape 6/Mozilla by Thor Larholm thor@jscript.dk if(typeof HTMLElement!="undefined" && !HTMLElement.prototype.insertAdjacentElement){ HTMLElement.prototype.insertAdjacentElement = function(where,parsedNode) { switch (where){ case 'beforeBegin': this.parentNode.insertBefore(parsedNode,this) break; case 'afterBegin': this.insertBefore(parsedNode,this.firstChild); break; case 'beforeEnd': this.appendChild(parsedNode); break; case 'afterEnd': if (this.nextSibling) this.parentNode.insertBefore(parsedNode,this.nextSibling); else this.parentNode.appendChild(parsedNode); break; } } HTMLElement.prototype.insertAdjacentHTML = function(where,htmlStr) { var r = this.ownerDocument.createRange(); r.setStartBefore(this); var parsedHTML = r.createContextualFragment(htmlStr); this.insertAdjacentElement(where,parsedHTML) } HTMLElement.prototype.insertAdjacentText = function(where,txtStr) { var parsedText = document.createTextNode(txtStr) this.insertAdjacentElement(where,parsedText) } } function popupInfo() { var w = 335; var h = 250; var winl = (screen.width - w) / 2; var wint = (screen.height - h) / 2; winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars=no,menubars=no,toolbars=no,resizable'; win = window.open('/hostmaster/info.jsp', 'popUP', winprops); if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); } } function OpenWindow(theURL,winName,features) { window.open(theURL,winName,features); } function setFocus(aField) { document.forms[0][aField].focus(); } function 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=reloadPage; } } else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) { location.reload(); } } function isEmpty(aTextField) { if ((document.forms[0][aTextField].value.length==0) || (document.forms[0][aTextField].value==null)) { return true; } else { return false; } } function isValidContactID(aTextField) { if ((document.forms[0][aTextField].value==null) || (document.forms[0][aTextField].value=="xxx_xxxxxxxxxxxx") || (document.forms[0][aTextField].value.length < 5) || (document.forms[0][aTextField].value.search(/^(\w{3})_(.{1,12})$/) == -1)) { return true; } else { return false; } } function isValidEnglish(aTextField) { if (document.forms[0][aTextField].value.search(/[\u0000-\u001F\u007F-\uFFFF]/) == -1) { return true; } else { return false } } function isValidAuthInfo(aTextField) { if ((document.forms[0][aTextField].value.length < 6) || (document.forms[0][aTextField].value==null)) { return true; } else { return false; } } // validates a phone number function isPhoneNumber(aTextField) { //if (document.forms[0][aTextField].value.search(/\+?\d{2}\)? ?\[-.]\d{20}/) != -1) if (document.forms[0][aTextField].value.search(/^\+[0-9]{1,3}\.[0-9]{1,14}$/) == -1) //if match failed return true; else return false; } // validates an email to type aaa.aaa@bbb.bbb.ccc function isEmail(aTextField) { //if (document.forms[0][aTextField].value.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) == -1) if (document.forms[0][aTextField].value.search(/^([\w-#$&'*+\/=?^_'{|}~]+(?:\.[\w-#$&'*+\/=?^_'{|}~]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i) == -1) return true; else return false; } function isValidHostName(aTextField) { if ((document.forms[0][aTextField].value.length == 0) || (document.forms[0][aTextField].value==null)) { return true; } else { return false; } } // validates ROID function isValidROID(aTextField){ //if (document.forms[0][aTextField].value.search(/\+?\d{2}\)? ?\[-.]\d{20}/) != -1) if ((document.forms[0][aTextField].value.length > 0 ) && (document.forms[0][aTextField].value.search(/(\w|_){1,80}-\w{1,8}/) == -1)) {//if match failed return true; } else { return false; } } // validates a date function isValidDate(aTextField) { //if (document.forms[0][aTextField].value.search(/\+?\d{2}\)? ?\[-.]\d{20}/) != -1) if ((document.forms[0][aTextField].value.length > 10) || document.forms[0][aTextField].value.search(/\d{4}\-([1-9]|0[1-9]|1[012])\-(3[01]|0[1-9]|[1-9])/) == -1) //if match failed return true; else return false; } function isValidIP(aIPtype,aTextField) { if ((document.forms[0][aTextField].value==null) || (document.forms[0][aTextField].value.length < 7) || (document.forms[0][aTextField].value.search(/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/) == -1)) { return true; } else { return false; } } /*function isValidIPAddress(aIPtype,aTextField) { var IPtype = document.forms[0][aIPtype].value; var IPvalue = document.forms[0][aTextField].value; var ipV4Pattern = /^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/; var ipV6Pattern = ""; var ipArray = IPvalue.match(ipV4Pattern); if (IPtype == "v4") { if (IPvalue == "0.0.0.0" || IPvalue == "255.255.255.255" || ipArray == null) return true; else { for (i = 0; i < 5; i++) { thisSegment = ipArray[i]; if (thisSegment > 255) { return true; i = 5; }//if }//for }//else } else if (IPtype == "v6") { return false; } else return true; return false; }*/ function isValidIPAddress(aIPtype,aTextField) { var IPtype = document.forms[0][aIPtype].value; var IPvalue = document.forms[0][aTextField].value; if (IPtype=="v4") return isValidIPv4Address(IPvalue); else if (IPtype=="v6") return ! isValidIPv6Address(IPvalue); }//end function isValidIPv4Address(IPvalue) { var ipV4Pattern = /^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/; var ipArray = IPvalue.match(ipV4Pattern); if (IPvalue == "0.0.0.0" || IPvalue == "255.255.255.255" || IPvalue == "127.0.0.1" || ipArray == null || (ipArray[1] == 10) || (ipArray[1] == 172 && (ipArray[2]>15 && ipArray[2]<32)) || (ipArray[1] == 192 && ipArray[2]==168) ) return true; else { for (i = 0; i < 5; i++) { thisSegment = ipArray[i]; if (thisSegment > 255 || (i==1 && thisSegment==0) || (i==4 && (thisSegment==0 || thisSegment==255))) { return true; i = 5; }//if }//for }//else return false; }//end function isValidIPv6Address(ipaddr) { // check if there is a '::' in the field var parts = ipaddr.split("::"); if(parts.length == 1) { // there is NO occurence of '::' //var re11 = /^[A-Fa-f0-9]{1,4}(:[A-Fa-f0-9]{1,4}){7,7}?$/; var re11 = /^([0]\:){6}\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}(\/\d{1,2})?$/; if (re11.test(ipaddr)) { // IPv4 address in IPv6 address 0:0:0:0:0:0:n.n.n.n/nn e.g. 0:0:0:0:0:0:10.10.10.10/24 var ipv4parts = ipaddr.split(":"); return isValidIPv4Address(ipv4parts[6]); } // Pure IPv6 address var re12 = /^[A-Fa-f0-9]{1,4}\:[A-Fa-f0-9]{1,4}\:[A-Fa-f0-9]{1,4}\:[A-Fa-f0-9]{1,4}\:[A-Fa-f0-9]{1,4}\:[A-Fa-f0-9]{1,4}\:[A-Fa-f0-9]{1,4}\:[A-Fa-f0-9]{1,4}(\/\d{1,2})?$/; if (re12.test(ipaddr)) return true; else return false; } if(parts.length == 2) { // there is one occurence of '::' if (parts[0] == "") { // IPv4 address in IPv6 address ::n.n.n.n/nn e.g. :10.10.27.127/24 return isValidIPv4Address(parts[1]); } // Pure IPv6 address // check first part var re21 = /^[A-Fa-f0-9]{1,4}(\:[A-Fa-f0-9]{1,4}){0,5}$/; if(!re21.test(parts[0])) { return false } // check second part var re22 = /^([A-Fa-f0-9]{1,4}\:){0,5}[A-Fa-f0-9]{1,4}(\/\d{1,2})?$/ if(!re22.test(parts[1])) { return false; } return true; } // there is more that one occurence of '::' return false; } // end function