/* FILE ARCHIVED ON 4:51:19 Nov 5, 2008 AND RETRIEVED FROM THE AN OPENWAYBACK INSTANCE ON 17:58:02 Jul 21, 2024. JAVASCRIPT APPENDED BY OPENWAYBACK, COPYRIGHT INTERNET ARCHIVE. ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C. SECTION 108(a)(3)). */ // ***ITSS*** StdVars.JS var delimiters = "-_()[]{}<>.,\t\\/"; var digits = "0123456789"; var lowercaseLetters = "abcdefghijklmnopqrstuvwxyz" var uppercaseLetters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" var whitespace = " \t\n\r"; var decimalPointDelimiter = "." var phoneNumberDelimiters = "()- "; var validUSPhoneChars = digits + phoneNumberDelimiters; var validWorldPhoneChars = digits + phoneNumberDelimiters + "+"; var digitsInUSPhoneNumber = 10; var ZIPCodeDelimiters = "-"; var ZIPCodeDelimeter = "-"; var validZIPCodeChars = digits + ZIPCodeDelimiters var digitsInZIPCode1 = 5 var digitsInZIPCode2 = 9 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; 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; var iZIPCode = "This field must be a 5 or 9 digit U.S. ZIP Code (like 94043). Please reenter it now." // ***ITSS*** StdParse.JS function isEmpty(s) { return ((s == null) || (s.length == 0)) } function isWhitespace (s) { var i; if (isEmpty(s)) return true; for (i = 0; i < s.length; i++) { var c = s.charAt(i); if (whitespace.indexOf(c) == -1) 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 stripCharsNotInBag (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 isLetter (c) { return ( ((c >= "a") && (c <= "z")) || ((c >= "A") && (c <= "Z")) ) } function isDigit (c) { return ((c >= "0") && (c <= "9")) } function isInteger (s) { var i; if (isEmpty(s)) if (isInteger.arguments.length == 1) return defaultEmptyOK; else return (isInteger.arguments[1] == true); for (i = 0; i < s.length; i++) { var c = s.charAt(i); if (!isDigit(c)) return false; } 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 isNonnegativeInteger (s) { var secondArg = defaultEmptyOK; if (isNonnegativeInteger.arguments.length > 1) secondArg = isNonnegativeInteger.arguments[1]; return (isSignedInteger(s, secondArg) && ( (isEmpty(s) && secondArg) || (parseInt (s, 10) >= 0) ) ); } function isPositiveInteger (s) { var secondArg = defaultEmptyOK; if (isPositiveInteger.arguments.length > 1) secondArg = isPositiveInteger.arguments[1]; return (isSignedInteger(s, secondArg) && ( (isEmpty(s) && secondArg) || (parseInt (s, 10) > 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]; if ( (s.charAt(0) == "-") || (s.charAt(0) == "+") ) startPos = 1; return (isFloat(s.substring(startPos, s.length), secondArg)) } } 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 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, 10); return ((num >= a) && (num <= b)); } function inBag(c, bag) { if (bag.indexOf(c) == (-1) ) return (false); else return (true); } function ReplaceChar (source, target, replace) { var i; var l = source.length; var retstr = ""; for (i = 0; i < l; i++) { var c = source.charAt(i); if (c == target) { retstr += replace; } else { retstr += c; } } return retstr; } function JSReplaceSubstring (source, target, replace) { var idx = 0; var foundoffset; var ls = source.length; var lt = target.length; var retstr = ""; foundoffset = source.indexOf(target, idx); while (foundoffset != (-1)) { retstr = retstr + source.substring(idx, foundoffset) + replace; idx = foundoffset + lt; foundoffset = source.indexOf(target, idx); } retstr += source.substring(idx, ls); return (retstr); } function hasDigit(s) { var i; var l = s.length; if (isEmpty(s)) { if (hasDigit.arguments.length == 1) { return defaultEmptyOK; } else { return (hasDigit.arguments[1] == true); } } for (i = 0; i < l; i++) { var c = s.charAt(i); if (isDigit(c)) { return (true); } } return (false); } function hasLetter(s) { var i; var l = s.length; if (isEmpty(s)) { if (hasLetter.arguments.length == 1) { return defaultEmptyOK; } else { return (hasLetter.arguments[1] == true); } } for (i = 0; i < l; i++) { var c = s.charAt(i); if (isLetter(c)) { return (true); } } return (false); } function JSstrcmp (s1, s2) { var ls1 = s1.length; var i; var casesensitive = true; if (ls1 != s2.length) return (1); if(JSstrcmp.arguments.length > 2) casesensitive = JSstrcmp.arguments[2]; if (!casesensitive) { s1 = s1.toUpperCase(); s2 = s2.toUpperCase(); } for (i = 0; i < ls1; i++) { if (s1.charAt(i) != s2.charAt(i)) return (1); } return (0); } function Uprot_ssplit(s, delimiter) { var rstrings = new Array(); rstrings[0] = ""; var ls = s.length; var scount = 0; var c; for (var i = 0; i < ls; i++) { c = s.charAt(i); if (c == delimiter) { rstrings[++scount] = ""; } else { rstrings[scount] += c; } } return (rstrings); } function Uprot_sslice(s, start, count) { var newstring = ""; var startloop = (start < 0) ? 0 : start; var end = startloop + count; var endloop = (end > s.length) ? s.length : end; for (var i = startloop; i < endloop ; i++) { newstring += s.charAt(i); } return (newstring); } function padLeadingCount (s, c, count) { var newstring = ""; for (var i = 0; i < count; i++) { newstring += c; } return (newstring + s); } function padLeadingLength (s, c, newlength) { return (padLeadingCount(s, c, (newlength - s.length))); } function padTrailingCount (s, c, count) { var newstring = ""; for (var i = 0; i < count; i++) { newstring += c; } return (s + newstring); } function padTrailingLength (s, c, newlength) { return (padTrailingCount(s, c, (newlength - s.length))); } function roundRightAsInt (s, prec) { var s_normal = stripCharsNotInBag(s, digits); var ls = s_normal.length; if (prec >= ls) { return (s); } var tstring = Uprot_sslice(s_normal, 0, prec) + "." + Uprot_sslice(s_normal, prec, ls-prec); var rnum = new Number(Math.round(parseFloat(tstring))); var rstring = padLeadingLength (rnum.toString(), "0", prec); return (rstring); } function formatFloatString(s, prec) { var rstring = new String; var istring = new String(s); var ROUND = true; var parts = Uprot_ssplit(istring, "."); var plength = prec; if (parts.length > 1) { plength =(prec - parts[1].length); } else { parts[1] = ""; } if (parts[0] == "" || parts[0] == "-" || parts[0] == "+") { parts[0] += "0"; } if (formatFloatString.arguments.length > 2) { if (formatFloatString.arguments[2] == ROUND) { parts[1] = roundRightAsInt (parts[1], prec); } } parts[1] = padTrailingCount(parts[1], "0", plength); rstring = parts[0] + "." + Uprot_sslice(parts[1], 0, prec); return(rstring); } // ***ITSS*** StdVal.JS function CheckSubmitted(flag) { if(!isSubmitted) { if(flag=="Attach") { isSubmitted = QuickAttachmentValidate(); } else if (flag == "SuperEdit") { isSubmitted = QuickSEValidate(); } else if(flag==null) { isSubmitted = ValidateFields(); } else { alert("Submit did not have a valid argument"); } } else { alert("Submit is already in progress. Please wait for confirmation from server..."); isSubmitted = 0; } } function RadioButtonChecked (RadioObj) { var chButton = ""; var i; if(!RadioObj.length) { if (RadioButtonChecked.arguments.length > 1) { return (RadioButtonChecked.arguments[1]); } else { return (false); } } for (i =0; i < RadioObj.length; i++) { if (RadioObj[i].checked) { chButton = RadioObj[i].value; } } if(chButton == "") chButton = null; return (chButton); } function optionValue (SelectObj) { var idx = SelectObj.selectedIndex; var tempstring = (idx == constNOSELECTION) ? "" : SelectObj.options[idx].value; return (tempstring); } function fieldExists (field) { var hiddenOK = false; if (field) { if (fieldExists.arguments.length > 1) { hiddenOK = fieldExists.arguments[1]; } var isHidden = hiddenOK ? false : (field.type == "hidden" ); return (!isHidden); } else { return (false); } } // ***ITSS*** HelpOpen.JS var smwinparms = "toolbar=1,scrollbars=1,resizable=1,width=600,height=300"; var medwinparms = "toolbar=1,scrollbars=1,resizable=1,width=750,height=400"; var bigwinparms = "toolbar=1,scrollbars=1,resizable=1,width=770,height=500"; var fundwinparms = "toolbar=1,scrollbars=1,resizable=1,width=980,height=700"; function helpwinopen(windowtype) { var formType = helpFormType; if (windowtype == "FormHelp") { winFORMHELP= window.open("/" + helppath + "/FormHelp/" + NotesForm + "?OpenDocument",windowtype, bigwinparms); } else if (windowtype == "SSLHelp") { winSSLHELP= window.open("/" + helppath + "/Security/SSLOverview?OpenDocument",windowtype, bigwinparms); } else if (windowtype == "GuideMe") { var urlview = "helpguideme"; var urldoc = formType; var agentparms = "&" + urlview + "&" + formType; winGUIDEME= window.open("/" + dbpath + "/GuideMeFind?OpenAgent" + agentparms,windowtype, bigwinparms); } else if (windowtype == "AboutGSA") { winABOUTGSA= window.open("https://webarchive.library.unt.edu/eot2008/20081105045119/http://www.gsa.gov/aboutgsa.htm",windowtype,bigwinparms); } else if (windowtype == "Feedback") { winFEEDBACK= window.open("/" + feedbackpath + "/",windowtype,bigwinparms); } else if (windowtype == "TechSupport") { winTECHSUPPORT= window.open("/" + feedbackpath,windowtype,bigwinparms); } else if (windowtype == "TemplateHelp") { winINSTRUCTIONS= window.open("/" + helppath + "/howdoi/smt?opendocument",windowtype,bigwinparms); } else if (windowtype == "JustTemp") { winJUSTTEMP= window.open("/" + helppath + "/howdoi/justtemp?opendocument",windowtype,bigwinparms); } else if (windowtype == "Instructions") { winINSTRUCTIONS= window.open("/" + helppath + "/",windowtype,bigwinparms); } else if (windowtype == "SICList") { winNEWSTUFF= window.open("/" + helppath + "/ObjTellMeAbout/siclist?opendocument",windowtype,bigwinparms); } else if (windowtype == "ContactUs") { winCONTACTUS= window.open("/" + helppath + "/contactus/MainContactUsPage?Opendocument",windowtype,bigwinparms); } else if (windowtype == "DispBOMSOW") { winBOMSOW= window.open("/" + URLtoBOMSOW,windowtype,bigwinparms); } else if (windowtype == "DispCOI") { winCOI= window.open("/" + URLtoCOI,windowtype,bigwinparms); } } function fundwinopen(windowtype) { if (windowtype == "FundDB") { winFUNDDB= window.open(fundpath,windowtype,fundwinparms ); winFUNDDB.focus(); } } // ***ITSS*** ParseDollar.JS function ITS_checkUSDollars(theField) { var s = theField.value; var p; theField._sempty = false; theField._szero = false; if (ITS_checkUSDollars.arguments.length > 1) { p = ITS_checkUSDollars.arguments[1]; } else { p = 2; } if (isEmpty(s)) { theField._sempty = true; if (ITS_checkUSDollars.arguments.length > 2) { return ( (ITS_checkUSDollars.arguments[2] == true)); } else { return ( defaultEmptyOK); } } var s_normal = stripCharsNotInBag(s, digits + "+-."); if ( isSignedFloat(s_normal)) { var s_float = parseFloat(s_normal); if (s_float == 0) { theField._szero = true; if (ITS_checkUSDollars.arguments.length > 3) { if(ITS_checkUSDollars.arguments[3] != true) return (false); } } if (ITS_checkUSDollars.arguments.length > 4) { if (ITS_checkUSDollars.arguments[4] == true) { theField.value = formatFloatString(s_normal, p, true); } } return (true); } else { return (false); } } // ***ITSS*** ParseDate.JS var dateDelimiters = " /-.,"; var dateDelimiter = "/"; var Y2KCutOff = 70; var milMonth = new Array(12); milMonth[1] = "JAN"; milMonth[2] = "FEB"; milMonth[3] = "MAR"; milMonth[4] = "APR"; milMonth[5] = "MAY"; milMonth[6] = "JUN"; milMonth[7] = "JUL"; milMonth[8] = "AUG"; milMonth[9] = "SEP"; milMonth[10] = "OCT"; milMonth[11] = "NOV"; milMonth[12] = "DEC"; 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 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) { return ( ((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0) ) ) ? 29 : 28 ); } function isDate (year, month, day) { if (! (isYear(year, false) && isMonth(month, false) && isDay(day, false))) return false; var intYear = parseInt(year, 10); var intMonth = parseInt(month, 10); var intDay = parseInt(day, 10); if (intDay > daysInMonth[intMonth]) return false; if ((intMonth == 2) && (intDay > daysInFebruary(intYear))) return false; return true; } function isMilMonth(s) { if (isEmpty(s)) if (isMonth.arguments.length == 1) return defaultEmptyOK; else return (isMonth.arguments[1] == true); var S = s.toUpperCase(); for (var i = 0; i <= 12; i++) { if (S == milMonth[i]) return (true); } return (false); } function MilitaryToUSMonth(s) { if (isMilMonth(s)) { var S = s.toUpperCase(); for (var i = 0; i <= 12; i++) { if (S == milMonth[i]) { retM = new Number(i); return (retM.toString()); } } } return (0); } function parseDate(s) { var tElems = new Array(); var dElems = new Array(); var inElement = false; var l = s.length; var idx = 0; var element = ""; if (l != 0) { for(var i = 0; i < l; i++) { var c = s.charAt(i); if (inElement) { if (inBag(c, dateDelimiters) ) { tElems[idx] = element; idx++; inElement = false; } else { element += c; } } else if (!inElement && !inBag(c, dateDelimiters) ) { inElement = true; element = c; } } if (inElement) { tElems[idx] = element; } } var n = tElems.length; idx = 0; if (n != 0) { for (var m = 0; m < n; m++) { element = ""; t = tElems[m]; l = t.length; inLetter = isLetter(t.charAt(0)); inDigit = isDigit(t.charAt(0)); for (i = 0; i < l; i++) { var c = t.charAt(i); if (inLetter) { if (isDigit(c)) { dElems[idx] = element; idx++; inLetter = false; inDigit = true; element = c; } else { element += c; } } else if (inDigit) { if (isLetter(c)) { dElems[idx] = element; idx++; inLetter = true; inDigit = false; element = c; } else { element += c; } } } dElems[idx] = element; idx++; } } return (dElems); } function fixupY2KYear (s) { if (fixupY2KYear.arguments.length == 1) cutoff = Y2KCutOff; else cutoff = fixupY2KYear.arguments[1]; intY = parseInt(s, 10); if (intY < 100) { if (intY < cutoff) intY += 2000; else intY += 1900; } retY = new Number(intY); return (retY.toString()); } function isGoodDate(s, returnFlag) { var tdate = parseDate(s); var elements = tdate.length; if (elements != 3) return (0); gMonth = ""; gDay = ""; gYear = ""; gDate = ""; tdate[2] = fixupY2KYear(tdate[2]); if ( isMonth(tdate[0]) && isDay(tdate[1]) && isYear(tdate[2]) ) { gMonth = tdate[0]; gDay = tdate[1]; gYear = tdate[2]; } else if ( isDay(tdate[0]) && isMilMonth(tdate[1]) && isYear(tdate[2]) ) { gMonth = MilitaryToUSMonth(tdate[1]); gDay = tdate[0]; gYear = tdate[2]; } if (isDate(gYear, gMonth, gDay)) { gDate = gMonth+dateDelimiter+gDay+dateDelimiter+gYear; } if (returnFlag) { return (gDate); } else { return (gDate != ""); } } function getToday() { var datedelimiter = "/"; var today = new Date(); var Monthnum = new Number(today.getMonth() + 1); var Datenum = new Number(today.getDate()); var Yearnum = new Number(today.getYear()); var dstr = ""; dstr += Monthnum.toString(); dstr += datedelimiter; dstr += Datenum.toString(); dstr += datedelimiter; dstr += fixupY2KYear(Yearnum.toString()); return ( dstr ); } function ITS_checkDate(theField, emptyOK) { if (ITS_checkDate.arguments.length == 1) emptyOK = defaultEmptyOK; if ((emptyOK == true) && (isEmpty(theField.value))) { return true; } else { var tdate = isGoodDate(theField.value, true); if(tdate != "") { theField.value = tdate; return (true); } else { return (false); } } } function ValDate( DateField, Message ) { var Date = isGoodDate(DateField.value, true); if(Date != "") { DateField.value = Date; return (1); } else { alert("You must enter the " + Message + " date using a valid date format!"); DateField.focus(); return (0); } } // ***ITSS*** ParseAddress.JS var dateDelimiters = " /-.,"; var dateDelimiter = "/"; var Y2KCutOff = 70; var numBADUSPhone = 14; var BADUSPhone = new Array(numBADUSPhone); { var i = new Number (numBADUSPhone); i--; var j = 0; BADUSPhone[i--] = "9876543210"; BADUSPhone[i--] = "0123456789"; BADUSPhone[i--] = "0987654321"; BADUSPhone[i--] = "1234567890"; for ( ; i >=0; i--) { BADUSPhone[i] = ""; for (j=0; j < digitsInUSPhoneNumber; j++) { BADUSPhone[i] += i.toString(); } } } var numBADInternationalPhone = 2; var BADInternationalPhone = new Array(numBADInternationalPhone); { var i = new Number (numBADInternationalPhone); i--; var j = 0; BADInternationalPhone[i--] = "0123456789"; BADInternationalPhone[i--] = "0987654321"; } 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 isInternationalPhoneNumber (s) { if (isEmpty(s)) if (isInternationalPhoneNumber.arguments.length == 1) return defaultEmptyOK; else return (isInternationalPhoneNumber.arguments[1] == true); return (isPositiveInteger(s)) } 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 reformatZIPCode (ZIPString) { if (ZIPString.length == 5) return ZIPString; else return (reformat (ZIPString, "", 5, "-", 4)); } function reformatUSPhone (USPhone) { return (reformat (USPhone, "(", 3, ") ", 3, "-", 4)) } function ITS_checkZIPCode (theField, emptyOK) { if (ITS_checkZIPCode.arguments.length == 1) emptyOK = defaultEmptyOK; if ((emptyOK == true) && (isEmpty(theField.value))) return true; else { var normZIP = stripCharsNotInBag(theField.value, digits) if (isZIPCode(normZIP, false)) { theField.value = reformatZIPCode(normZIP); return (true); } else { return (false); } } } function IsBADUSPhone (s1) { for (var i = 0; i < numBADUSPhone; i++) { if (!JSstrcmp(s1, BADUSPhone[i])) return (true); } return (false); } function IsBADInternationalPhone (s1) { var BAD = false; var ALLZERO = true; for (var i = 0; i < numBADInternationalPhone; i++) { if (!JSstrcmp(s1, BADInternationalPhone[i])) BAD = true; } for (i = 0; i < s1.length; i++) { if (s1.charAt(i) != "0") ALLZERO = false; } if (BAD || ALLZERO) return (true); else return (false); } function ITS_checkUSPhone (theField, emptyOK, checkBAD) { if (ITS_checkUSPhone.arguments.length < 2) emptyOK = defaultEmptyOK; if (isEmpty(theField.value)) return (emptyOK); var normPhone = stripCharsNotInBag(theField.value, digits); if(isUSPhoneNumber(normPhone, false)) { if (checkBAD && IsBADUSPhone(normPhone)) { return (false); } else { theField.value = reformatUSPhone(normPhone); return (true); } } else { return (false); } } function ITS_checkInternationalPhone (theField, emptyOK, checkBAD) { if (ITS_checkInternationalPhone.arguments.length == 1) emptyOK = defaultEmptyOK; if (isEmpty(theField.value)) return (emptyOK); var normPhone = stripCharsNotInBag(theField.value, digits); if (checkBAD && IsBADInternationalPhone(normPhone)) { return (false); } else { return ( normPhone.charAt(0) == "0" && normPhone.length <= 21 && isInternationalPhoneNumber(normPhone, false)); } } // ***ITSS*** ParseTaxID.JS var numBADTaxID = 16; var digitsInTaxID = 9; var BADTaxID = new Array(numBADTaxID); { var i = new Number (numBADTaxID); i--; var j = 0; BADTaxID[i--] = "876543210"; BADTaxID[i--] = "012345678"; BADTaxID[i--] = "987654321"; BADTaxID[i--] = "123456789"; BADTaxID[i--] = "987654321"; BADTaxID[i--] = "123456789"; for ( ; i >=0; i--) { BADTaxID[i] = ""; for (j=0; j < digitsInTaxID; j++) { BADTaxID[i] += i.toString(); } } } function IsBADTaxID (s1) { var i; if (s1.length != digitsInTaxID) { return (true); } else { for (i = 0; i < numBADTaxID; i++) { if (!JSstrcmp(s1, BADTaxID[i])) return (true); } } return (false); } // ***ITSS*** ITSLaunch.JS function ITSListLauncher (field) { var sel = field.selectedIndex; if(sel != const1SELECTION && sel != constNOSELECTION) { var form = field.form; var launchURL = ""; if (field.options[sel].value) { var queryname = ReplaceChar(field.options[sel].value, " ", "+"); } launchURL = queryname; window.location = launchURL; } } function ITSURLLauncher (launchs) { var launchURL = launchs; if ( !(launchs.length == 0 || launchs == "")) { launchURL = ReplaceChar(launchURL, " ", "+"); launchURL = ReplaceChar(launchURL, "'", "%27"); window.location = launchURL; } } function ITSpromptURLLauncher (launchs, prompt) { if (confirm(prompt)) { ITSURLLauncher (launchs); } } function WebGo () { var dbpath = WebGo.arguments.length > 0 ? WebGo.arguments[0] : "Webdbpath"; var backpath = WebGo.arguments.length > 1 ? WebGo.arguments[1] : "WebBackPath"; var goview = WebGo.arguments.length > 2 ? WebGo.arguments[2] : "WebGoView"; var startkeyv = WebGo.arguments.length > 3 ? WebGo.arguments[3] : "StartKeyValue"; var keyfield = document.forms[0][startkeyv]; if ( !(keyfield.length == 0 || keyfield.value == "") ) { var pathv = document.forms[0][dbpath].value; var backpathv = document.forms[0][backpath].value; var goviewv = document.forms[0][goview].value; var key = keyfield.value; var viewex = ""; var viewc = "&&" + "&Count=30"; if (goviewv == "ClientSort" || goviewv == "ContCObyID" ) { key = stripCharsNotInBag(keyfield.value, digits + uppercaseLetters + lowercaseLetters + "<>"); } // if (goviewv == "ClientSort" || goviewv == "ContCObyID" ) { // viewex = "&&" + "&ExpandView"; // } // if (goviewv == "ContDocPickOID" || goviewv == "ClientPickN" || goviewv == "ContPickC" || goviewv == "ContPickClass" || goviewv == "ContPickN" || goviewv == "ContPickR") { // viewc = "&&" + "&Count=30"; // } // if (goviewv == "BOACZ" || goviewv == "BOACN" || goviewv == "BOACBO" || goviewv == "DODAACN") { // viewc = "&&" + "&Count=30"; // } var launchURL = "/" + pathv + "/WebStartKey?OpenAgent&&" + backpathv + "&&" + goviewv + "&&" + key + viewc + viewex; ITSURLLauncher(launchURL); } else { alert("Please enter a search value in the box, then press the Go button."); keyfield.focus(); } } // ***ITSS*** PickListParent.JS function makeFieldMap () { var argl = makeFieldMap.arguments.length; var tarray = new Array; var idxn = ""; var elem = ""; var idx = 0; for (var i = 0; i < argl; i+=2) { idxn = makeFieldMap.arguments[i]; if (idxn == "") idxn = idx++; elem = (i+1 < argl) ? makeFieldMap.arguments[i+1] : ""; tarray[idxn] = elem; } return (tarray); } function openListWindow (winname, URLstring) { var argl = openListWindow.arguments.length; var fldmapn = ""; for (var i = 2; i < argl; i+=2) { if (i+1 < argl) { fldmap = openListWindow.arguments[i]; mapn = openListWindow.arguments[i+1]; fldmapn = winname + mapn + "FIELDMAP"; window[fldmapn] = new Array; window[fldmapn] = fldmap; } } var winref = window.open(URLstring,winname,"height=300,width=650,scrollbars=1,toolbar=1,menubar=0,resizable=1"); winref.focus(); } function getParentFieldName (mapn, chfieldn) { var fldmapn = mapn + "FIELDMAP"; return (window[fldmapn][chfieldn]); } function addListOption (fieldn, optiontext, optionvalue, optionselected) { var field = document[JSform][fieldn]; var newitem = field.options.length; var duplicate = false; for (var i = 0; i < newitem; i++) { var textmatch = field.options[i].text ? (field.options[i].text == optiontext ? true : false) : true; var valuematch = field.options[i].text == optiontext ? true : false; if (textmatch && valuematch) { duplicate = true; break; } } if (!duplicate) { field.options[newitem] = new Option(optiontext, optionvalue); field.options[newitem].selected = optionselected; } } function deleteListOption (fieldn, optiontext, optionvalue) { var field = document[JSform][fieldn]; var numopts = field.options.length; for (var i = 0; i < numopts; i ++) { var textmatch = field.options[i].text ? (field.options[i].text == optiontext ? true : false) : true; var valuematch = field.options[i].text == optiontext ? true : false; if (textmatch && valuematch) { field.options[i] = null; numopts = field.options.length; } } } function clearListOptions (fieldn) { var field = document[JSform][fieldn]; var delprompt = true; if (clearListOptions.arguments.length > 1) { delprompt = (clearListOptions.arguments[1] != "NoPrompt"); } if (delprompt) { var conmsg = "You are about to remove all selections from this list!\n\n"; conmsg += "If you want to remove all selections, click OK,\n"; conmsg += "otherwise, click Cancel"; if (confirm (conmsg)) { field.options.length = 1; } } else { field.options.length = 1; } } function selectOption (theField, fieldv) { var optl = theField.options.length; for (var i = 0; i < optl; i++) { if (theField.options[i].text == fieldv || theField.options[i].value == fieldv) { theField.options[i].selected = true; } } } function setField (fieldn, fieldv) { if (document[JSform][fieldn]) { var theField = document[JSform][fieldn]; if (theField.type == "text" || theField.type == "hidden" || theField.type == "textarea") { theField.value = fieldv; } else if (theField.type == "select-multiple" || theField.type == "select-one") { selectOption (theField, fieldv); } } } // Page: JSValChangePassword.JS function checkInvalidPasswordChars(passwd) { var validCharsRE = /[^A-Za-z0-9!#\$%()\*\+,\-:<=>\?\\_`\{\}|~^\[\]&]/g; var invalidChars = ""; var matchArray; var invalidCharFound; //set the lastIndex to 0 everytime, just in case it is not set to its starting char validCharsRE.lastIndex = 0; do { matchArray = validCharsRE.exec(passwd); if (matchArray) invalidChars += matchArray[0]; } while (validCharsRE.lastIndex != 0 && validCharsRE.lastIndex < passwd.length); return invalidChars; } function hasSpecialChar(s) { var specialCharsRE = /[!#\$%()\*\+,\-:<=>\?\\_`\{\}|~^\[\]&]/g; var results; var retVal; results = specialCharsRE.exec(s); if (results == null){ retVal = false; } else { retVal = true; } return(retVal); } function QuickSEValidate() { JSForm.SEFlag.value = "True"; JSForm.submit(); return (1); } function ValidateChangePasswordFields() { var READY = 1; var SUBMITTED = false; if (document[JSform].newpassword.value == "") { READY = 0; alert("You must enter a New Password!"); document[JSform].newpassword.focus(); } else if (document[JSform].newpassword2.value == "") { READY = 0; alert("You must enter your New Password twice!"); document[JSform].newpassword2.focus(); } if (READY) { if (document[JSform].newpassword.value.length < PASSLENGTH) { READY = 0; alert("Your new password must be at least " + PASSLENGTH + " characters long and include at least one letter, one numeral, and one special character."); document[JSform].newpassword.focus(); document[JSform].newpassword.select(); } } if (READY) { if ( !hasLetter(document[JSform].newpassword.value) ) { READY = 0; alert("Your new password must must be at least " + PASSLENGTH + " characters long and contain a combination of letters, numerals, and special characters!\n\tPlease include at least one LETTER."); document[JSform].newpassword.focus(); document[JSform].newpassword.select(); } else if ( !hasDigit(document[JSform].newpassword.value) ) { READY = 0; alert("Your new password must must be at least " + PASSLENGTH + " characters long and contain a combination of letters, numerals, and special characters!\n\tPlease include at least one NUMERAL."); document[JSform].newpassword.focus(); document[JSform].newpassword.select(); } else if ( !hasSpecialChar(document.forms[1].newpassword.value) ) { READY = 0; alert("Your new password must must be at least " + PASSLENGTH + " characters long and contain a combination of letters, numerals, and special characters!\n\tPlease include at least one SPECIAL CHARACTER: !#$%()*+,-:<=>?\_`{}|~^[]&"); document.forms[1].newpassword.focus(); document.forms[1].newpassword.select(); } } if (READY) { var invalidChars = checkInvalidPasswordChars(document[JSform].newpassword.value); if (invalidChars) { READY = 0; alert("Your new password cannot contain the following invalid characters: " + invalidChars); document[JSform].newpassword.focus(); document[JSform].newpassword.select(); } } if (READY) { if ( document[JSform].newpassword.value != document[JSform].newpassword2.value ) { READY = 0; alert("You did not re-type your new password correctly!\n\tPlease try again."); document[JSform].newpassword2.focus(); document[JSform].newpassword2.select(); } } if(READY) { if(confirm("Are you sure you want to submit your Password Change?")) { SUBMITTED = true; document[JSform].submit(); } } return(SUBMITTED); } function ShowPlsWaitMessage() { //Hides the ChangePassword Button, and displays a Please wait message instead var changePwBtn = document.getElementById("changePwBtn"); var plsWaitDiv = document.getElementById("plsWaitDiv"); if (changePwBtn) changePwBtn.style.display="none"; if (plsWaitDiv) plsWaitDiv.style.display="block"; }