browser_name = navigator.appName; browser_version = parseFloat(navigator.appVersion); if ( browser_version < 3.0) { roll = 'false'; } else { roll = 'true'; } function msover(ref1,ref2) { if (roll == 'true') { document.images[ref1].src = ref2; } } function msout(ref1,ref2) { if (roll == 'true') { document.images[ref1].src = ref2; } } function isEmpty(str) { return (!str || 0 === str.length); } var isNS = (navigator.appName == 'Netscape'); function validateSSN(form) { if ((form.SSN1.value.length != 3)||(form.SSN2.value.length != 2)||(form.SSN3.value.length != 4)) { alert ('Must Enter 9 Digits for SSN.'); return false; } else { return true; } } function validate_keys(f) { for(var ii = 0; ii < f.length; ii++) { var ee = f.elements[ii]; ee.numeric = false; } if (f.CoCountry.value == 'USA') { f.CoZip.numeric = true; } f.ConPhoneA.numeric = true; f.ConPhoneA.phone = true; f.ConPhoneA.digits = 3; f.ConPhoneP.numeric = true; f.ConPhoneP.phone = true; f.ConPhoneP.digits = 3; f.ConPhoneS.numeric = true; f.ConPhoneS.phone = true; f.ConPhoneP.digits = 4; f.ConFaxA.numeric = true; f.ConFaxA.phone = true; f.ConFaxA.digits = 3; f.ConFaxP.numeric = true; f.ConFaxP.phone = true; f.ConFaxP.digits = 3; f.ConFaxS.numeric = true; f.ConFaxS.phone = true; f.ConFaxS.digits = 4; f.ConPhoneE.optional = true; f.ConFaxA.optional = true; f.ConFaxP.optional = true; f.ConFaxS.optional = true; f.CoAddr2.optional = true; f.CoOther.optional = true; } function isblank(s) { var ErrMsg = ""; if (!(s.value == null) && !(s.value == "")) { for(var i = 0; i < s.value.length; i++) { var c = s.value.charAt(i); if ((c != ' ') && (c != '\n') && (c != '\t')) return false; } } else { return true; } } function IsNumeric(f, MinDigits) { if (f.value.length < MinDigits) return false; for (var i=0; i < f.value.length; i++) { var v = parseInt(f.value.charAt(i)); if (isNaN(v)) return false; } return true; } function verify(f) { var valid = false; var msg; var empty_fields = ""; var errors = ""; for(var i = 0; i < f.length; i++) { var e = f.elements[i]; if (((e.type == "text") || (e.type == "textarea")) && !e.optional) { if ((e == null) || (e == "") || isblank(e)) { empty_fields += "\n " + e.title; continue; } } } if(f.CoType.selectedIndex == 0) { errors += "- Type of business must be selected.\n"; } if (!empty_fields && !errors) return true; if (!isNS) { msg = "______________________________________________________\n\n"; msg += "The form was not submitted because of the following error(s).\n"; msg += "Please correct these error(s) and re-submit.\n"; msg += "______________________________________________________\n\n"; if (empty_fields) { msg += "- The following required field(s) are empty:" + empty_fields + "\n";} if (errors) msg += "\n"; msg += errors; alert(msg); return false; } else { msg = 'Please complete all required fields. Phone and Fax fields must be numeric.'; } alert(msg); return false; } function validatePhone(f){ for(var i = 0; i < f.length; i++) { var e = f.elements[i]; if (e.phone) { if (e.value.length != e.digits) { alert ('Must Enter a 3 digit area code and 7 digit phone or fax number.'); return false; } else { return true; } } } } function validateZip(f) { if (f.CoCountry.value == 'USA') { if (f.CoZip.value.length != 5) { alert ('Zip Code must be 5 digits'); return false; } else { return true; } } return true; } function validateEmail(f) { var str = f.ConEmail.value; var reg1 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/; // not valid var reg2 = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/; // valid if (!reg1.test(str) && reg2.test(str)) { // if syntax is valid return true; } else { return true; } } function verifyEmail(f) { if (f.ConEmail.value != f.ConEmail2.value) { alert('The two email addresses do not match please re-enter'); return false; } else { return true; } } function validateChecked (f) { f.notify.optional = true; for(var i = 0; i < f.length; i++) { var e = f.elements[i]; if ((e.type == "checkbox") && !e.optional) { if (!e.checked) { alert('All boxes must be checked in order to proceed.'); i = f.length; return false; } } } return true; } function validateForm(f) { if ( verify(f) != true ) return false; if (validatePhone(f) != true) return false; if (validateZip(f) != true) return false; if (validateEmail(f) != true) return false; if (verifyEmail(f) != true) return false; if (emailCheck(f.ConEmail.value) != true) return false; if (emailCheck(f.ConEmail2.value) != true) return false; else return true; } function getNext(sElem) { for( var i = 0; i < document.form1.elements.length; i++ ) { if( document.form1.elements[i].name == sElem.name ) return ( document.form1.elements[(i+1)]); } } function moveNext( sElem, max ) { if (sElem.value.length > max) { var nextElem = getNext(sElem); nextElem.focus(); return; } else { return; } } var isNN = (navigator.appName.indexOf("Netscape")!=-1); function autoTab(input,len, e) { var keyCode = (isNN) ? e.which : e.keyCode; var filter = (isNN) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46]; if(input.value.length >= len && !containsElement(filter,keyCode)) { input.value = input.value.slice(0, len); input.form[(getIndex(input)+1) % input.form.length].focus(); } function containsElement(arr, ele) { var found = false, index = 0; while(!found && index < arr.length) if(arr[index] == ele) found = true; else index++; return found; } function getIndex(input) { var index = -1, i = 0, found = false; while (i < input.form.length && index == -1) if (input.form[i] == input)index = i; else i++; return index; } return true; } function emailCheck (emailStr) { var emailPat=/^(.+)@(.+)$/ var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]" var validChars="\[^\\s" + specialChars + "\]" var quotedUser="(\"[^\"]*\")" var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/ var atom=validChars + '+' var word="(" + atom + "|" + quotedUser + ")" var userPat=new RegExp("^" + word + "(\\." + word + ")*$") var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$") emailStr = emailStr.trim(); var matchArray=emailStr.match(emailPat); var ErrMsg = "" ErrMsg = "Email address appears to be incorrect (check @ and .'s)\n" ErrMsg += " Examples: bob@aol.com, bob.thompson@trucking.com, betty@msn.com\n" ErrMsg += " Emails should never have www in them" if (matchArray==null) { alert(ErrMsg) return false } var user=matchArray[1] var domain=matchArray[2] if (user.match(userPat)==null) { alert(ErrMsg) return false } var IPArray=domain.match(ipDomainPat) if (IPArray!=null) { for (var i=1;i<=4;i++) { if (IPArray[i]>255) { alert("Destination IP address is invalid!") return false } } return true } var domainArray=domain.match(domainPat) if (domainArray==null) { alert(ErrMsg) return false } var atomPat=new RegExp(atom,"g") var domArr=domain.match(atomPat) var len=domArr.length if (domArr[domArr.length-1].length<2) { alert(ErrMsg) return false } if (len<2) { alert(ErrMsg) return false } return true; } var dtCh= "/"; var minYear=1900; var maxYear=2100; function isInteger(s){ var i; for (i = 0; i < s.length; i++){ var c = s.charAt(i); if (((c < "0") || (c > "9"))) return false; } return true; } function stripCharsInBag(s, bag){ var i; var returnString = ""; for (i = 0; i < s.length; i++){ var c = s.charAt(i); if (bag.indexOf(c) == -1) returnString += c; } return returnString; } function daysInFebruary (year){ return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 ); } function DaysArray(n) { for (var i = 1; i <= n; i++) { this[i] = 31 if (i==4 || i==6 || i==9 || i==11) {this[i] = 30} if (i==2) {this[i] = 29} } return this } function isDate(dtStr){ var daysInMonth = DaysArray(12) var pos1=dtStr.indexOf(dtCh) var pos2=dtStr.indexOf(dtCh,pos1+1) var strMonth=dtStr.substring(0,pos1) var strDay=dtStr.substring(pos1+1,pos2) var strYear=dtStr.substring(pos2+1) strYr=strYear if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1) if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1) for (var i = 1; i <= 3; i++) { if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1) } month=parseInt(strMonth) day=parseInt(strDay) year=parseInt(strYr) if (pos1==-1 || pos2==-1){ alert("The date format should be : mm/dd/yyyy") return false } if (strMonth.length<1 || month<1 || month>12){ alert("Please enter a valid month") return false } if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){ alert("Please enter a valid day") return false } if (strYear.length != 4 || year==0 || yearmaxYear){ alert("Please enter a valid 4 digit year between "+minYear+" and "+maxYear) return false } if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){ alert("Please enter a valid date") return false } return true } function checkRange(sFromDate, sToDate) { var dFromDate = new Date(sFromDate.value) var dToDate = new Date(sToDate.value) if (dFromDate > dToDate) { alert(" Date range is not valid "); sFromDate.focus(); return true; } } function isFutureDate(sDate) { var dDate = new Date(sDate.value) var dNow = new Date() if (dDate > dNow) { alert(" Date cannot be greater than today's date "); sDate.focus(); return true; } } function valSSN(f) { if ((!IsNumeric(f.ssn1, 3)) || (!IsNumeric(f.ssn2, 2)) || (!IsNumeric(f.ssn3, 4))) { alert ('Must Enter 9 Digits for SSN.'); f.ssn1.focus(); return false; } } function validateSSN2(f) { if ((!IsNumeric(document.getElementById("ssn1"), 3)) || (!IsNumeric(document.getElementById("ssn2"), 2)) || (!IsNumeric(document.getElementById("ssn3"), 4))) { alert ('Must Enter 9 Digits for SSN.'); document.getElementById("ssn1").focus(); return false; } } function valPhone(f){ if ((!IsNumeric(f.ConPhoneA, 3)) || (!IsNumeric(f.ConPhoneP, 3)) || (!IsNumeric(f.ConPhoneS, 4))) { alert ('Must Enter a 3 digit area code and 7 digit phone number.'); return false; } else { return true; } } function valZip(f) { if (f.CoCountry.value == 'USA') { if (!IsNumeric(f.CoZip, 3)) { alert ('Zip Code must be 5 digits'); return false; } else { return true; } } return true; } function valDOTNum(f){ if (!IsNumeric(f.CoDOTNum, 3)) { alert ('Carrier DOT Number Must be atleast 3 digits.'); return false; } else { return true; } } var isNN = (navigator.appName.indexOf("Netscape")!=-1); function autoTab(input,len, e) { var keyCode = (isNN) ? e.which : e.keyCode; var filter = (isNN) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46]; if(input.value.length >= len && !containsElement(filter,keyCode)) { input.value = input.value.slice(0, len); input.form[(getIndex(input)+1) % input.form.length].focus(); } function containsElement(arr, ele) { var found = false, index = 0; while(!found && index < arr.length) if(arr[index] == ele) found = true; else index++; return found; } function getIndex(input) { var index = -1, i = 0, found = false; while (i < input.form.length && index == -1) if (input.form[i] == input)index = i; else i++; return index; } return true; }