// FormChek.js - Comments removed // VARIABLE DECLARATIONS var digits = "0123456789"; var lowercaseLetters = "abcdefghijklmnopqrstuvwxyz" var uppercaseLetters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" // whitespace characters var whitespace = " \t\n\r"; // decimal point character differs by language and culture var decimalPointDelimiter = "." // non-digit characters which are allowed in phone numbers var phoneNumberDelimiters = "()- "; // characters which are allowed in US phone numbers var validUSPhoneChars = digits + phoneNumberDelimiters; // non-digit characters which are allowed in // Social Security Numbers var SSNDelimiters = "- "; // characters which are allowed in Social Security Numbers var validSSNChars = digits + SSNDelimiters; // U.S. Social Security Numbers have 9 digits. // They are formatted as 123-45-6789. var digitsInSocialSecurityNumber = 9; // U.S. phone numbers have 10 digits. // They are formatted as 123 456 7890 or (123) 456-7890. var digitsInUSPhoneNumber = 10; // non-digit characters which are allowed in ZIP Codes var ZIPCodeDelimiters = "-"; // our preferred delimiter for reformatting ZIP Codes var ZIPCodeDelimeter = "-" // characters which are allowed in Social Security Numbers var validZIPCodeChars = digits + ZIPCodeDelimiters // U.S. ZIP codes have 5 or 9 digits. // They are formatted as 12345 or 12345-6789. var digitsInZIPCode1 = 5 var digitsInZIPCode2 = 9 // CONSTANT STRING DECLARATIONS // (grouped for ease of translation and localization) // m is an abbreviation for "missing" var mPrefix = "You did not enter a value into the " var mSuffix = " field. This is a required field. Please enter it now." // s is an abbreviation for "string" var sUSLastName = "Last Name" var sUSFirstName = "First Name" var sWorldLastName = "Family Name" var sWorldFirstName = "Given Name" var sTitle = "Title" var sCompanyName = "Company Name" var sUSAddress = "Street Address" var sWorldAddress = "Address" var sCity = "City" var sStateCode = "State Code" var sWorldState = "State, Province, or Prefecture" var sCountry = "Country" var sCode = "ZIP Code" var sWorldPostalCode = "Postal Code" var sPhone = "Telephone" var sFax = "Fax Number" var sDateOfBirth = "Date of Birth" var sExpirationDate = "Expiration Date" var sEmail = "Email" var sSSN = "Social Security Number" var sOtherInfo = "Other Information" // i is an abbreviation for "invalid" var iStateCode = "This field must be a valid two character U.S. state abbreviation (like CA for California). Please reenter it now." var iZIPCode = "This field must be a 5 or 9 digit U.S. ZIP Code (like 94043). Please reenter it now." var iUSPhone = "This field must be a 10 digit U.S. phone number (like 415 555 1212). Please reenter it now." var iSSN = "This field must be a 9 digit U.S. social security number (like 123 45 6789). Please reenter it now." var iEmail = "This field must be a valid email address (like foo@bar.com). Please reenter it now." var iDay = "This field must be a day number between 1 and 31. Please reenter it now." var iMonth = "This field must be a month number between 1 and 12. Please reenter it now." var iYear = "This field must be a 2 or 4 digit year number. Please reenter it now." var iDatePrefix = "The Day, Month, and Year for " var iDateSuffix = " do not form a valid date. Please reenter them now." // p is an abbreviation for "prompt" var pEntryPrompt = "Please enter a " var pStateCode = "2 character code (like CA)." var pZIPCode = "5 or 9 digit U.S. ZIP Code (like 94043)." var pUSPhone = "10 digit U.S. phone number (like 415 555 1212)." var pSSN = "9 digit U.S. social security number (like 123 45 6789)." var pEmail = "valid email address (like foo@bar.com)." var pDay = "day number between 1 and 31." var pMonth = "month number between 1 and 12." var pYear = "2 or 4 digit year number." var defaultEmptyOK = false function makeArray(n) { for (var i = 1; i <= n; i++) { this[i] = 0 } return this } var daysInMonth = makeArray(12); daysInMonth[1] = 31; daysInMonth[2] = 29; // must programmatically check this daysInMonth[3] = 31; daysInMonth[4] = 30; daysInMonth[5] = 31; daysInMonth[6] = 30; daysInMonth[7] = 31; daysInMonth[8] = 31; daysInMonth[9] = 30; daysInMonth[10] = 31; daysInMonth[11] = 30; daysInMonth[12] = 31; // Valid U.S. Postal Codes for states, territories, armed forces, etc. // See http://www.usps.gov/ncsc/lookups/abbr_state.txt. var USStateCodeDelimiter = "|"; var USStateCodes = "AL|AK|AS|AZ|AR|CA|CO|CT|DE|DC|FM|FL|GA|GU|HI|ID|IL|IN|IA|KS|KY|LA|ME|MH|MD|MA|MI|MN|MS|MO|MT|NE|NV|NH|NJ|NM|NY|NC|ND|MP|OH|OK|OR|PW|PA|PR|RI|SC|SD|TN|TX|UT|VT|VI|VA|WA|WV|WI|WY|AE|AA|AE|AE|AP" function isEmpty(s) { return ((s == null) || (s.length == 0)) } function isWhitespace (s) { var i; // Is s empty? if (isEmpty(s)) return true; // Search through string's characters one by one // until we find a non-whitespace character. // When we do, return false; if we don't, return true. for (i = 0; i < s.length; i++) { // Check that current character isn't whitespace. var c = s.charAt(i); if (whitespace.indexOf(c) == -1) return false; } // All characters are whitespace. return true; } function stripCharsInBag (s, bag) { var i; var returnString = ""; // Search through string's characters one by one. // If character is not in bag, append to returnString. for (i = 0; i < s.length; i++) { // Check that current character isn't whitespace. var c = s.charAt(i); if (bag.indexOf(c) == -1) returnString += c; } return returnString; } function stripCharsNotInBag (s, bag) { var i; var returnString = ""; // Search through string's characters one by one. // If character is in bag, append to returnString. for (i = 0; i < s.length; i++) { // Check that current character isn't whitespace. var c = s.charAt(i); if (bag.indexOf(c) != -1) returnString += c; } return returnString; } function stripWhitespace (s) { return stripCharsInBag (s, whitespace) } function charInString (c, s) { for (i = 0; i < s.length; i++) { if (s.charAt(i) == c) return true; } return false } function stripInitialWhitespace (s) { var i = 0; while ((i < s.length) && charInString (s.charAt(i), whitespace)) i++; return s.substring (i, s.length); } function isLetter (c) { return ( ((c >= "a") && (c <= "z")) || ((c >= "A") && (c <= "Z")) ) } function isDigit (c) { return ((c >= "0") && (c <= "9")) } function isLetterOrDigit (c) { return (isLetter(c) || isDigit(c)) } function isInteger (s) { var i; if (isEmpty(s)) if (isInteger.arguments.length == 1) return defaultEmptyOK; else return (isInteger.arguments[1] == true); // Search through string's characters one by one // until we find a non-numeric character. // When we do, return false; if we don't, return true. for (i = 0; i < s.length; i++) { // Check that current character is number. var c = s.charAt(i); if (!isDigit(c)) return false; } // All characters are numbers. return true; } function isSignedInteger (s) { if (isEmpty(s)) if (isSignedInteger.arguments.length == 1) return defaultEmptyOK; else return (isSignedInteger.arguments[1] == true); else { var startPos = 0; var secondArg = defaultEmptyOK; if (isSignedInteger.arguments.length > 1) secondArg = isSignedInteger.arguments[1]; if ( (s.charAt(0) == "-") || (s.charAt(0) == "+") ) startPos = 1; return (isInteger(s.substring(startPos, s.length), secondArg)) } } function isPositiveInteger (s) { var secondArg = defaultEmptyOK; if (isPositiveInteger.arguments.length > 1) secondArg = isPositiveInteger.arguments[1]; return (isSignedInteger(s, secondArg) && ( (isEmpty(s) && secondArg) || (parseInt (s) > 0) ) ); } function isNonnegativeInteger (s) { var secondArg = defaultEmptyOK; if (isNonnegativeInteger.arguments.length > 1) secondArg = isNonnegativeInteger.arguments[1]; return (isSignedInteger(s, secondArg) && ( (isEmpty(s) && secondArg) || (parseInt (s) >= 0) ) ); } function isNegativeInteger (s) { var secondArg = defaultEmptyOK; if (isNegativeInteger.arguments.length > 1) secondArg = isNegativeInteger.arguments[1]; return (isSignedInteger(s, secondArg) && ( (isEmpty(s) && secondArg) || (parseInt (s) < 0) ) ); } function isNonpositiveInteger (s) { var secondArg = defaultEmptyOK; if (isNonpositiveInteger.arguments.length > 1) secondArg = isNonpositiveInteger.arguments[1]; return (isSignedInteger(s, secondArg) && ( (isEmpty(s) && secondArg) || (parseInt (s) <= 0) ) ); } function isFloat (s) { var i; var seenDecimalPoint = false; if (isEmpty(s)) if (isFloat.arguments.length == 1) return defaultEmptyOK; else return (isFloat.arguments[1] == true); if (s == decimalPointDelimiter) return false; for (i = 0; i < s.length; i++) { var c = s.charAt(i); if ((c == decimalPointDelimiter) && !seenDecimalPoint) seenDecimalPoint = true; else if (!isDigit(c)) return false; } return true; } function isSignedFloat (s) { if (isEmpty(s)) if (isSignedFloat.arguments.length == 1) return defaultEmptyOK; else return (isSignedFloat.arguments[1] == true); else { var startPos = 0; var secondArg = defaultEmptyOK; if (isSignedFloat.arguments.length > 1) secondArg = isSignedFloat.arguments[1]; // skip leading + or - if ( (s.charAt(0) == "-") || (s.charAt(0) == "+") ) startPos = 1; return (isFloat(s.substring(startPos, s.length), secondArg)) } } function isAlphabetic (s) { var i; if (isEmpty(s)) if (isAlphabetic.arguments.length == 1) return defaultEmptyOK; else return (isAlphabetic.arguments[1] == true); // Search through string's characters one by one // until we find a non-alphabetic character. // When we do, return false; if we don't, return true. for (i = 0; i < s.length; i++) { // Check that current character is letter. var c = s.charAt(i); if (!isLetter(c)) return false; } // All characters are letters. return true; } function isAlphanumeric (s) { var i; if (isEmpty(s)) if (isAlphanumeric.arguments.length == 1) return defaultEmptyOK; else return (isAlphanumeric.arguments[1] == true); for (i = 0; i < s.length; i++) { // Check that current character is number or letter. var c = s.charAt(i); if (! (isLetter(c) || isDigit(c) ) ) return false; } // All characters are numbers or letters. return true; } function reformat (s) { var arg; var sPos = 0; var resultString = ""; for (var i = 1; i < reformat.arguments.length; i++) { arg = reformat.arguments[i]; if (i % 2 == 1) resultString += arg; else { resultString += s.substring(sPos, sPos + arg); sPos += arg; } } return resultString; } function isSSN (s) { if (isEmpty(s)) if (isSSN.arguments.length == 1) return defaultEmptyOK; else return (isSSN.arguments[1] == true); return (isInteger(s) && s.length == digitsInSocialSecurityNumber) } function isUSPhoneNumber (s) { if (isEmpty(s)) if (isUSPhoneNumber.arguments.length == 1) return defaultEmptyOK; else return (isUSPhoneNumber.arguments[1] == true); return (isInteger(s) && s.length == digitsInUSPhoneNumber) } function isZIPCode (s) { if (isEmpty(s)) if (isZIPCode.arguments.length == 1) return defaultEmptyOK; else return (isZIPCode.arguments[1] == true); return (isInteger(s) && ((s.length == digitsInZIPCode1) || (s.length == digitsInZIPCode2))) } function isStateCode(s) { if (isEmpty(s)) if (isStateCode.arguments.length == 1) return defaultEmptyOK; else return (isStateCode.arguments[1] == true); return ( (USStateCodes.indexOf(s) != -1) && (s.indexOf(USStateCodeDelimiter) == -1) ) } function isEmail (s) { if (isEmpty(s)) if (isEmail.arguments.length == 1) return defaultEmptyOK; else return (isEmail.arguments[1] == true); // is s whitespace? if (isWhitespace(s)) return false; var i = 1; var sLength = s.length; // look for @ while ((i < sLength) && (s.charAt(i) != "@")) { i++ } if ((i >= sLength) || (s.charAt(i) != "@")) return false; else i += 2; // look for . while ((i < sLength) && (s.charAt(i) != ".")) { i++ } // there must be at least one character after the . if ((i >= sLength - 1) || (s.charAt(i) != ".")) return false; else return true; } function isYear (s) { if (isEmpty(s)) if (isYear.arguments.length == 1) return defaultEmptyOK; else return (isYear.arguments[1] == true); if (!isNonnegativeInteger(s)) return false; return ((s.length == 2) || (s.length == 4)); } function isIntegerInRange (s, a, b) { if (isEmpty(s)) if (isIntegerInRange.arguments.length == 1) return defaultEmptyOK; else return (isIntegerInRange.arguments[1] == true); if (!isInteger(s, false)) return false; var num = parseInt (s); return ((num >= a) && (num <= b)); } function isMonth (s) { if (isEmpty(s)) if (isMonth.arguments.length == 1) return defaultEmptyOK; else return (isMonth.arguments[1] == true); return isIntegerInRange (s, 1, 12); } function isDay (s) { if (isEmpty(s)) if (isDay.arguments.length == 1) return defaultEmptyOK; else return (isDay.arguments[1] == true); return isIntegerInRange (s, 1, 31); } function daysInFebruary (year) { // February has 29 days in any year evenly divisible by four, // EXCEPT for centurial years which are not also divisible by 400. return ( ((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0) ) ) ? 29 : 28 ); } function isDate (year, month, day) { // catch invalid years (not 2- or 4-digit) and invalid months and days. if (! (isYear(year, false) && isMonth(month, false) && isDay(day, false))) return false; // Explicitly change type to integer to make code work in both // JavaScript 1.1 and JavaScript 1.2. var intYear = parseInt(year); var intMonth = parseInt(month); var intDay = parseInt(day); // catch invalid days, except for February if (intDay > daysInMonth[intMonth]) return false; if ((intMonth == 2) && (intDay > daysInFebruary(intYear))) return false; return true; } /* FUNCTIONS TO NOTIFY USER OF INPUT REQUIREMENTS OR MISTAKES. */ // Display prompt string s in status bar. function prompt (s) { window.status = s } // Display data entry prompt string s in status bar. function promptEntry (s) { window.status = pEntryPrompt + s } function warnEmpty (theField, s) { theField.focus() alert(mPrefix + s + mSuffix) return false } function warnInvalid (theField, s) { theField.focus() theField.select() alert(s) return false } function checkString (theField, s, emptyOK) { // Next line is needed on NN3 to avoid "undefined is not a number" error // in equality comparison below. if (checkString.arguments.length == 2) emptyOK = defaultEmptyOK; if ((emptyOK == true) && (isEmpty(theField.value))) return true; if (isWhitespace(theField.value)) return warnEmpty (theField, s); else return true; } function checkStateCode (theField, emptyOK) { if (checkStateCode.arguments.length == 1) emptyOK = defaultEmptyOK; if ((emptyOK == true) && (isEmpty(theField.value))) return true; else { theField.value = theField.value.toUpperCase(); if (!isStateCode(theField.value, false)) return warnInvalid (theField, iStateCode); else return true; } } // takes ZIPString, a string of 5 or 9 digits; // if 9 digits, inserts separator hyphen function reformatZIPCode (ZIPString) { if (ZIPString.length == 5) return ZIPString; else return (reformat (ZIPString, "", 5, "-", 4)); } // checkZIPCode (TEXTFIELD theField [, BOOLEAN emptyOK==false]) // // Check that string theField.value is a valid ZIP code. // // For explanation of optional argument emptyOK, // see comments of function isInteger. function checkZIPCode (theField, emptyOK) { if (checkZIPCode.arguments.length == 1) emptyOK = defaultEmptyOK; if ((emptyOK == true) && (isEmpty(theField.value))) return true; else { var normalizedZIP = stripCharsInBag(theField.value, ZIPCodeDelimiters) if (!isZIPCode(normalizedZIP, false)) return warnInvalid (theField, iZIPCode); else { // if you don't want to insert a hyphen, comment next line out theField.value = reformatZIPCode(normalizedZIP) return true; } } } function reformatUSPhone (USPhone) { return (reformat (USPhone, "(", 3, ") ", 3, "-", 4)) } function checkUSPhone (theField, emptyOK) { if (checkUSPhone.arguments.length == 1) emptyOK = defaultEmptyOK; if ((emptyOK == true) && (isEmpty(theField.value))) return true; else { var normalizedPhone = stripCharsInBag(theField.value, phoneNumberDelimiters) if (!isUSPhoneNumber(normalizedPhone, false)) return warnInvalid (theField, iUSPhone); else { // if you don't want to reformat as (123) 456-789, comment next line out theField.value = reformatUSPhone(normalizedPhone) return true; } } } function checkEmail (theField, emptyOK) { if (checkEmail.arguments.length == 1) emptyOK = defaultEmptyOK; if ((emptyOK == true) && (isEmpty(theField.value))) return true; else if (!isEmail(theField.value, false)) return warnInvalid (theField, iEmail); else return true; } function reformatSSN (SSN) { return (reformat (SSN, "", 3, "-", 2, "-", 4)) } function checkSSN (theField, emptyOK) { if (checkSSN.arguments.length == 1) emptyOK = defaultEmptyOK; if ((emptyOK == true) && (isEmpty(theField.value))) return true; else { var normalizedSSN = stripCharsInBag(theField.value, SSNDelimiters) if (!isSSN(normalizedSSN, false)) return warnInvalid (theField, iSSN); else { // if you don't want to reformats as 123-456-7890, comment next line out theField.value = reformatSSN(normalizedSSN) return true; } } } function checkYear (theField, emptyOK) { if (checkYear.arguments.length == 1) emptyOK = defaultEmptyOK; if ((emptyOK == true) && (isEmpty(theField.value))) return true; if (!isYear(theField.value, false)) return warnInvalid (theField, iYear); else return true; } function checkMonth (theField, emptyOK) { if (checkMonth.arguments.length == 1) emptyOK = defaultEmptyOK; if ((emptyOK == true) && (isEmpty(theField.value))) return true; if (!isMonth(theField.value, false)) return warnInvalid (theField, iMonth); else return true; } function checkDay (theField, emptyOK) { if (checkDay.arguments.length == 1) emptyOK = defaultEmptyOK; if ((emptyOK == true) && (isEmpty(theField.value))) return true; if (!isDay(theField.value, false)) return warnInvalid (theField, iDay); else return true; } function checkDate (yearField, monthField, dayField, labelString, OKtoOmitDay) { // Next line is needed on NN3 to avoid "undefined is not a number" error // in equality comparison below. if (checkDate.arguments.length == 4) OKtoOmitDay = false; if (!isYear(yearField.value)) return warnInvalid (yearField, iYear); if (!isMonth(monthField.value)) return warnInvalid (monthField, iMonth); if ( (OKtoOmitDay == true) && isEmpty(dayField.value) ) return true; else if (!isDay(dayField.value)) return warnInvalid (dayField, iDay); if (isDate (yearField.value, monthField.value, dayField.value)) return true; alert (iDatePrefix + labelString + iDateSuffix) return false } function getRadioButtonValue (radio) { for (var i = 0; i < radio.length; i++) { if (radio[i].checked) { break } } return radio[i].value } //takes user to URL passed to function function returnURL(strURL) { location = strURL; } function isSelectedRadioButton (radio) { var isChecked = false for (var i = 0; i < radio.length; i++) { if (radio[i].checked) { isChecked = true; break } } return isChecked } function checkStateSelected (form) { //alert("form.State.selectedindex = " + form.State.selectedIndex ); if(form.State.selectedIndex == 0) { form.State.focus(); alert('Please select a State.'); return false; } else { //alert("No problem with state validation."); return true; } } function isCompletedLeadForm(form) { return ( checkString(form.elements["FirstName"],sUSFirstName) && checkString(form.elements["LastName"],sUSLastName) && checkString(form.elements["Title"], "Title") && checkString(form.elements["Company"], "Company") && checkString(form.elements["Address1"], "Address 1") && checkString(form.elements["City"],sCity) && checkStateSelected(form) && checkZIPCode(form.elements["PostalCode"], "Postal Code") && checkEmail(form.elements["EmailAddress"], "E-mail") && checkUSPhone(form.elements["Phone"]) ) } function validateLeadForm(form) { if (isCompletedLeadForm(form)) { // Form is ready to be submitted. //alert("Submitting Lead Form now."); form.submit(); } else { //do nothing //alert("Problem found in required fields."); } } function isCompletedForgotLoginPassword(form) { return ( checkString(form.elements["Usrname"], "Username") ) } function validateForgotLoginPassword(form) { if (isCompletedForgotLoginPassword(form)) { // Form is ready to be submitted. //alert("Submitting Forgot Login Passord Form now."); form.submit(); } else { //do nothing //alert("Problem found in required fields."); return false; } } /*handles creation of popup window*/ function PopUpWindow() { alert("PopUpWindow Called."); var winpop = window.open("","DisplayWindowPopUp", "toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0,height=350,width=250"); return; } /*handles validation of required fields for File Exchange Tools*/ function fileExchangeToolsValidation(form) { // remove leading spaces and all trailing spaces str = new String(form.strComments.value); str = stripInitialWhitespace (str); var i = str.length; while (i >= 0) { if (!isWhitespace(str.charAt(i))) { break; }else{ i--; } } str = str.substring(0,i); form.strComments.value = str; if (str.length <= 4 && form.kwSpecialHandling[0].checked) { // an empty field with a yes selection alert('You have selected SPECIAL HANDLING but gave us no instructions.\nPlease either enter the special instructions or select no under SPECIAL HANDLING.'); return false; } if(isSelectFieldEmpty(form.kwFileType) || form.kwFileType.selectedIndex == 0) { alert('Please select a file type.'); return false; } if(isSelectFieldEmpty(form.kwFileTypeExtension) || form.kwFileTypeExtension.selectedIndex == 0) { alert('Please select a file format.'); return false; } if(isSelectFieldEmpty(form.strMonth) || form.strMonth.selectedIndex == 0) { alert('Please select a month.'); return false; } if(isSelectFieldEmpty(form.strDay) || form.strDay.selectedIndex == 0) { alert('Please select a day.'); return false; } if(isSelectFieldEmpty(form.strYear) || form.strYear.selectedIndex == 0) { alert('Please select a year.'); return false; } { for(i = 0; i < form.elements.length; i++) { if(form.elements[i].type == "file" && form.elements[i].value == "") { alert("Please select a file to upload."); form.elements[i].focus(); return false; } } } var intYear = parseInt(form.strYear.options[form.strYear.selectedIndex].value, 10); var intMonth = parseInt(form.strMonth.options[form.strMonth.selectedIndex].value, 10); var intDay = parseInt(form.strDay.options[form.strDay.selectedIndex].value, 10); if(intMonth == 2) { if(intYear % 4 > 0 && intDay > 28) { alert('There are only 28 days in February of ' + intYear + '. Please select a valid day.'); return false; } else if(intYear % 4 == 0 && intDay > 29) { alert('There are only 29 days in February of ' + intYear + '. Please select a valid day.'); } } if((intMonth == 4 || intMonth == 6 || intMonth == 9 || intMonth == 11) && intDay > 30) { alert('You have selected an invalid day for the month selected. Please choose a day which is not greater than 30.'); return false; } if(!isEmpty(form.strExtraDetail.value)) { var period = form.strExtraDetail.value.indexOf("."); if(period != -1) { alert('Invalid characters (.) used in Extra Detail field. Please use letters or numbers.'); form.strExtraDetail.focus(); form.strExtraDetail.select(); return false; } } { var slash = form.strExtraDetail.value.indexOf("/"); if(slash != -1) { alert('Invalid characters (/) used in Extra Detail field. Please use letters or numbers.'); form.strExtraDetail.focus(); form.strExtraDetail.select(); return false; } } { var plus = form.strExtraDetail.value.indexOf("+"); if(plus != -1) { alert('Invalid characters (+) used in Extra Detail field. Please use letters or numbers.'); form.strExtraDetail.focus(); form.strExtraDetail.select(); return false; } } { var equal = form.strExtraDetail.value.indexOf("="); if(equal != -1) { alert('Invalid characters (=) used in Extra Detail field. Please use letters or numbers.'); form.strExtraDetail.focus(); form.strExtraDetail.select(); return false; } } { var at = form.strExtraDetail.value.indexOf("@"); if(at != -1) { alert('Invalid characters (@) used in Extra Detail field. Please use letters or numbers.'); form.strExtraDetail.focus(); form.strExtraDetail.select(); return false; } } { var pipe = form.strExtraDetail.value.indexOf("|"); if(pipe != -1) { alert('Invalid characters (|) used in Extra Detail field. Please use letters or numbers.'); form.strExtraDetail.focus(); form.strExtraDetail.select(); return false; } } { var openbracket = form.strExtraDetail.value.indexOf("["); if(openbracket != -1) { alert('Invalid characters ([) used in Extra Detail field. Please use letters or numbers.'); form.strExtraDetail.focus(); form.strExtraDetail.select(); return false; } } { var closebracket = form.strExtraDetail.value.indexOf("]"); if(closebracket != -1) { alert('Invalid characters (]) used in Extra Detail field. Please use letters or numbers.'); form.strExtraDetail.focus(); form.strExtraDetail.select(); return false; } } { var percent = form.strExtraDetail.value.indexOf("%"); if(percent != -1) { alert('Invalid characters (%) used in Extra Detail field. Please use letters or numbers.'); form.strExtraDetail.focus(); form.strExtraDetail.select(); return false; } } { var ampersand = form.strExtraDetail.value.indexOf("&"); if(ampersand != -1) { alert('Invalid characters (&) used in Extra Detail field. Please use letters or numbers.'); form.strExtraDetail.focus(); form.strExtraDetail.select(); return false; } } { var dollar = form.strExtraDetail.value.indexOf("$"); if(dollar != -1) { alert('Invalid characters ($) used in Extra Detail field. Please use letters or numbers.'); form.strExtraDetail.focus(); form.strExtraDetail.select(); return false; } } { var pound = form.strExtraDetail.value.indexOf("#"); if(pound != -1) { alert('Invalid characters (#) used in Extra Detail field. Please use letters or numbers.'); form.strExtraDetail.focus(); form.strExtraDetail.select(); return false; } } { var asterick = form.strExtraDetail.value.indexOf("*"); if(asterick != -1) { alert('Invalid characters (*) used in Extra Detail field. Please use letters or numbers.'); form.strExtraDetail.focus(); form.strExtraDetail.select(); return false; } } { var questionmark = form.strExtraDetail.value.indexOf("?"); if(questionmark != -1) { alert('Invalid characters (?) used in Extra Detail field. Please use letters or numbers.'); form.strExtraDetail.focus(); form.strExtraDetail.select(); return false; } } { var greaterthan = form.strExtraDetail.value.indexOf(">"); if(greaterthan != -1) { alert('Invalid characters (>) used in Extra Detail field. Please use letters or numbers.'); form.strExtraDetail.focus(); form.strExtraDetail.select(); return false; } } { var lessthan = form.strExtraDetail.value.indexOf("<"); if(lessthan != -1) { alert('Invalid characters (<) used in Extra Detail field. Please use letters or numbers.'); form.strExtraDetail.focus(); form.strExtraDetail.select(); return false; } } { var comma = form.strExtraDetail.value.indexOf(","); if(comma != -1) { alert('Invalid characters (,) used in Extra Detail field. Please use letters or numbers.'); form.strExtraDetail.focus(); form.strExtraDetail.select(); return false; } } { var colon = form.strExtraDetail.value.indexOf(":"); if(colon != -1) { alert('Invalid characters (:) used in Extra Detail field. Please use letters or numbers.'); form.strExtraDetail.focus(); form.strExtraDetail.select(); return false; } } { var semicolon = form.strExtraDetail.value.indexOf(";"); if(semicolon != -1) { alert('Invalid characters (;) used in Extra Detail field. Please use letters or numbers.'); form.strExtraDetail.focus(); form.strExtraDetail.select(); return false; } } { var tilda = form.strExtraDetail.value.indexOf("~"); if(tilda != -1) { alert('Invalid characters (~) used in Extra Detail field. Please use letters or numbers.'); form.strExtraDetail.focus(); form.strExtraDetail.select(); return false; } } { var carat = form.strExtraDetail.value.indexOf("^"); if(carat != -1) { alert('Invalid characters (^) used in Extra Detail field. Please use letters or numbers.'); form.strExtraDetail.focus(); form.strExtraDetail.select(); return false; } } { var exclamation = form.strExtraDetail.value.indexOf("!"); if(exclamation != -1) { alert('Invalid characters (!) used in Extra Detail field. Please use letters or numbers.'); form.strExtraDetail.focus(); form.strExtraDetail.select(); return false; } } form.submit(); return true; } function isSelectFieldEmpty(fieldname) { if(fieldname.selectedIndex == -1) { return true; } else { return false; } } /* validates required fields in the Start section of Reminder form */ function isCompletedRemindersStart(form) { return ( checkString(form.elements["strText"],"Reminder detail") && isStartMonthSelected(form) && isStartDaySelected(form) && isStartYearSelected(form) ) } /* validates required fields in the Expiry section of Reminder form */ function isCompletedRemindersExpiry(form) { return ( isExpiryMonthSelected(form) && isExpiryDaySelected(form) && isExpiryYearSelected(form) ) } /* validates required field in the Duration section of Reminder form */ function isCompletedRemindersDuration(form) { //alert('form.intDuration = ' + form.intDuration); if (form.intDuration.value == "") { alert('Please enter a duration.'); return false; } else { return true; } } function checkDropDownSelected(dropdown) { for (var i = 0; i < dropdown.length; i++) { if (dropdown[0].checked) { return false; } else { return true; } } return ""; } /*handles validation of required fields for Edit Reminders function*/ function ReminderValidation(form) { if(isCompletedRemindersStart(form)) { if (isSelectedRadioButton (form.kwStopDisplay)) { if ( form.kwStopDisplay[0].checked) { //alert('Stop Expiry Date selected.'); if (isCompletedRemindersExpiry(form)) { form.submit() return true; } else { return false; } } else { if (form.kwStopDisplay[1].checked) { //alert('Stop Duration selected.'); if(isCompletedRemindersDuration(form)) { form.submit() return true; } else { return false; } } } //form.submit() } else { alert('Please select either Stop Displaying on Expire Date or a Duration.'); return false; } } else { return false; } return ""; } function isStartMonthSelected(form) { if(isSelectFieldEmpty(form.strStartMonth) || form.strStartMonth.selectedIndex == 0) { alert('Please select a Start Month.'); return false; } else { return true; } } function isStartDaySelected(form) { if(isSelectFieldEmpty(form.strStartDay) || form.strStartDay.selectedIndex == 0) { alert('Please select a Start Day.'); return false; } else { return true; } } function isStartYearSelected(form) { if(isSelectFieldEmpty(form.strStartYear) || form.strStartYear.selectedIndex == 0) { alert('Please select a Start Year.'); return false; } else { return true; } } function isExpiryMonthSelected(form) { if(isSelectFieldEmpty(form.strExpMonth) || form.strExpMonth.selectedIndex == 0) { alert('Please select an Expiry Month.'); return false; } else { return true; } } function isExpiryDaySelected(form) { if(isSelectFieldEmpty(form.strExpDay) || form.strExpDay.selectedIndex == 0) { alert('Please select an Expiry Day.'); return false; } else { return true; } } function isExpiryYearSelected(form) { //alert('Expiry year being validated.'); if(isSelectFieldEmpty(form.strExpYear) || form.strExpYear.selectedIndex == 0) { alert('Please select an Expiry Year.'); return false; } else { return true; } } function isInvoiceMonthSelected(form) { if(isSelectFieldEmpty(form.strInvoiceMonth) || form.strInvoiceMonth.selectedIndex == 0) { alert('Please select an Invoice Month.'); return false; } else { return true; } } function isCompletedCIWEntityForm(form) { return ( isEntityTypeSelected(form) && checkString(form.elements["EntityLegalName"],"entity legal name") && checkString(form.elements["EntityTaxID"],"entity tax ID") && checkString(form.elements["EntityContact"],"entity contact name") && checkString(form.elements["EntityStreetAdd"], "entity street address") && checkString(form.elements["EntityCity"], "entity city") && checkEntityStateSelected(form) && checkString(form.elements["EntityZip"], "entity postal code") ) } function isEntityTypeSelected(form) { if(isSelectFieldEmpty(form.EntityType) || form.EntityType.selectedIndex == 0) { alert('Please select an entity type.'); return false; } else { return true; } } function validateCIWEntity(form) { //alert("Submitting CIW Entity Form now."); //Form is ready to be submitted //alert("Submitting CIW Entity Form now."); form.submit(); } function deleteCIWEntity(form) { // Form is ready to be deleted. //alert("Deleting CIW Entity Form now."); alert("form.kwReaders.value = " + form.kwReaders.value); alert("form.elements[0].name = " + form.elements[0].name); form.EntityCustNum.value = "000000"; // form.submit(); window.close(); } function checkEntityStateSelected (form) { //alert("form.EntityState.selectedindex = " + form.EntityState.selectedIndex ); if(form.EntityState.selectedIndex == 0) { form.EntityState.focus(); alert('Please select an entity state.'); return false; } else { //alert("No problem with entity state validation."); return true; } } //default window for help and legal notices function newHelpLegalWin(URL) { window.open(URL, 'popup', 'scrollbars,width=350,height=400') } //FrameChek Function function FrameChek(form) { if( top.length != 0 ) { document.write("Frames are being used"); } } //Frame Submit Function function mainSubmit() { if( top.length != 0 ) { //document.write("Frames are being used"); submitDocumentFrame(); //resetDocumentFrame(); } } function isCompletedOnLineApplication(form) { return ( checkString(form.elements["FirstName"],sUSFirstName) && checkString(form.elements["LastName"],sUSLastName) && //checkString(form.elements["Name"],"Name") &&; checkString(form.elements["Address"], "Address") && checkString(form.elements["City"],sCity) && checkStateSelected(form) && checkZIPCode(form.elements["Zip"], "Postal Code") && checkUSPhone(form.elements["Phone"]) && checkEmail(form.elements["Email"], "E-mail") ) } function validateOnLineApplication(form) { //alert("Submitting OnLine Application now."); if (isCompletedOnLineApplication(form)) { // Form is ready to be submitted. //alert("Submitting OnLine Application now."); form.submit(); } else { //do nothing //alert("Problem found in required fields."); } } //Responds to password request from public module. function PasswordRequestResponse(tmpUserName, tmpUserNameOK) { if(tmpUserNameOK == "Yes") { alert("Your password will be emailed to you shortly."); history.go(-2); } else { alert("The username" + tmpUserName + " is not valid. Please correct and rety."); } } function submitDocumentFrame() { var frameArray = parent.frames; var frameTerminus = parent.frames.length; for (f=0; f