// 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