function parseQueryString(sQueryString) { getStringToParse(); splitStringToParse(); createNameAndValueArrays(); associateArrays(); alert(aQueryString); return false; function associateArrays() { for ( i = 0; i < aQueryStringNames.length; i++ ) aQueryString[aQueryStringNames[i]]=removePlus(aQueryStringValues[i]); function removePlus(psEncodeString) { var lsRegExp = /\+/g; return unescape(String(psEncodeString).replace(lsRegExp, " ")); } } function createNameAndValueArrays() { aQueryStringNames = new Array(); aQueryStringValues = new Array(); var aQueryString = sDelimitedString.split(" "); for (i = 0, a=0; i < aQueryString.length - 1; i += 2, a++) { aQueryStringNames[a] = aQueryString[i]; aQueryStringValues[a] = aQueryString[i + 1]; } } function getStringToParse() { sQueryString = (sQueryString || window.document.location.search); var iQueryStart = sQueryString.indexOf("?") + 1; sQueryString = (sQueryString.substring(iQueryStart,sQueryString.length)); sStrippedString = (sQueryString || window.document.location.search.substring(1,document.location.search.length)); } function splitStringToParse() { aQueryString = new Array(); sDelimitedString = ''; var splitString = sStrippedString.split("&"); for ( i = 0; i < splitString.length; i++ ) { removeAmpersandEntityRefs(i); var attribute = splitString[i].split("="); sDelimitedString+=attribute[0] + " " + attribute[1] + " "; } return sDelimitedString; function removeAmpersandEntityRefs(i) { if(splitString[i].indexOf('amp;') != -1) splitString[i]=splitString[i].substring(4,splitString[i].length); } } } function getArrayAsString(aArrayToConvert) { sArrayToConvert = ''; for (sAttributes in aArrayToConvert) { sArrayToConvert += sAttributes; sArrayToConvert += '=' + aArrayToConvert[sAttributes] + '&'; } sArrayToConvert = sArrayToConvert.substring(0,sArrayToConvert.length-1) return sArrayToConvert; } function bcheck() { bName = navigator.appName; bVer = parseInt(navigator.appVersion); if (!(((bName == "Netscape")&&(bVer>=5)) || ((bName == "Microsoft Internet Explorer")&&(bVer>=4)))) { alert("A test of your browser indicates that your browser must be upgraded to be compatible with this site's security features.\nClick 'OK' for more browser information."); window.location='/mt/general/browser.do' } } function isFuture(YYYY,MM,DD) {// returns true if the given date is in the future, false if it is not var sysYYYY = 2024; var sysMM = 4; var sysDD = 27; // alert("Date submitted - y:" + YYYY + " m:" + MM + " d:" + DD + "\n" + "System Dates y:" + sysYYYY + " m:" + sysMM + " d:" + sysDD); if (YYYY > sysYYYY) { return true; } else { if (YYYY == sysYYYY) { if (MM > sysMM) { return true; } else if (MM == sysMM) { if (DD > sysDD) { return true; } } } return false; } } function showStatus(msg) { window.status=msg; return true; } function dateValidator(dateStr) {// validates CCYY/MM/DD CCYY-MM-DD and returns true if the date is valid, and an appropriate error message if it is not var datePat = /^(\d{4})(\/|-)(\d{1,2})\2(\d{1,2})$/; var matchArray = dateStr.match(datePat); // format ok? if (matchArray == null) { return "Date is either not in a valid format, or is missing the month, day, or year."; } year = matchArray[1];// parse date into variables month = matchArray[3]; day = matchArray[4]; if (month < 1 || month > 12) {// check month range return "Month must be between 1 and 12."; } if (day < 1 || day > 31) { return "Day must be between 1 and 31."; } if ((month==4 || month==6 || month==9 || month==11) && day==31) { var theMonth = getMonthName(month); return theMonth + " doesn't have 31 days."; } if (month == 2) {// check for february 29th var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0)); if (day>29 || (day==29 && !isleap)) { return "February " + year + " doesn't have " + day + " days."; } } return true; function getMonthName(n) {// n is the month number var monthArray = new Array(); monthArray[1] = 'January'; monthArray[2] = 'February'; monthArray[3] = 'March'; monthArray[4] = 'April'; monthArray[5] = 'May'; monthArray[6] = 'June'; monthArray[7] = 'July'; monthArray[8] = 'August'; monthArray[9] = 'September'; monthArray[10] = 'October'; monthArray[11] = 'November'; monthArray[12] = 'December'; for (var i = 0; i < monthArray.length; i++) { if (i==n) { return monthArray[i] } } } } function addZero(field) { if (field.value.length == 1) { field.value = "0" + field.value; } } 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 focusField(field) { field.select(); return false; // I applied this to date fields with autotab because // in NS you couldn't tab back if the field was full } function matchFields(field1,field2,name1,name2) { var str1=(field1.value).toLowerCase(); var str2=(field2.value).toLowerCase(); if (str1 != str2) { alert(name1 + " and " + name2 + " must match exactly. Review the information below, click OK, and make the appropriate revisions.\n\n" + name1 + ": " + field1.value + "\n" + name2 + ": " + field2.value); field1.focus(); return false; } return true; } function resetForm(f) { f.reset(); for (var i = 0; i < f.length; i++) { if (f[i].type!='hidden') { f[i].focus(); break; } } } function validateCheckboxes(f) { var checkboxesOk = false; for (var i = 0; i < f.length; i++) { if (f[i].type=='checkbox' && f[i].checked==true) { checkboxesOk = true; } } if (checkboxesOk==false) { alert("Select at least one to remove."); return false; } return true; } function requiredField(theField,fieldName) { if(theField.value =="") { alert(fieldName + " is required."); theField.focus(); return false; } else { return true; } } function requiredFormFields(field1,fieldName1,field2,fieldName2,field3,fieldName3) { var reqFields = new Array(); reqFields[1]=field1.value; reqFields[2]=field2.value; reqFields[3]=field3.value; var reqFieldNames = new Array(); reqFieldNames[1]=fieldName1; reqFieldNames[2]=fieldName2; reqFieldNames[3]=fieldName3; var msgHeader = "Correct the following and resubmit.\n\n"; var msg= new Array(); msg[1]=msg[2]=msg[3]= ""; if((field1.value=="") || (field2.value=="") || (field3.value=="") ) { for(var i=1; i<4; i++) { if(reqFields[i]=="") { msg[i]= reqFieldNames[i] + " is required.\n"; } } alert(msgHeader+msg[1]+msg[2]+msg[3]); return false; } else { return true; } } function confirmDelete(s) { if (confirm("Are you sure you want to delete this " + s + "?")) { return true; } return false; }