var engineKeys = new Array(); var displayKeys = new Array(); var engineScrubs = new Array(); engineKeys[0] = 'first'; displayKeys[0] = 'First name'; engineScrubs[0] = 'Alpha|Min=2|Max=50'; engineKeys[1] = 'last'; displayKeys[1] = 'Last name'; engineScrubs[1] = 'Alpha|Min=2|Max=50'; engineKeys[2] = 'email'; displayKeys[2] = 'Email address'; engineScrubs[2] = 'Email'; engineKeys[3] = 'home_area_code'; displayKeys[3] = 'Home phone area code'; engineScrubs[3] = 'Numeric|Min=3|Max=3'; engineKeys[4] = 'home_prefix'; displayKeys[4] = 'Home phone prefix'; engineScrubs[4] = 'Numeric|Min=3|Max=3'; engineKeys[5] = 'home_suffix'; displayKeys[5] = 'Home phone suffix'; engineScrubs[5] = 'Numeric|Min=4|Max=4'; engineKeys[6] = 'bus_area_code'; displayKeys[6] = 'Business phone area code'; engineScrubs[6] = 'Numeric|Min=3|Max=3'; engineKeys[7] = 'bus_prefix'; displayKeys[7] = 'Business phone prefix'; engineScrubs[7] = 'Numeric|Min=3|Max=3'; engineKeys[8] = 'bus_suffix'; displayKeys[8] = 'Business phone suffix'; engineScrubs[8] = 'Numeric|Min=4|Max=4'; engineKeys[9] = 'mail_addr_1'; displayKeys[9] = 'Address'; engineScrubs[9] = 'AlphaNumeric|Min=2|Max=50'; engineKeys[10] = 'mail_addr_2'; displayKeys[10] = 'Address line 2'; engineScrubs[10] = 'AlphaNumeric'; engineKeys[11] = 'mail_city'; displayKeys[11] = 'City'; engineScrubs[11] = 'Alpha|Min=2|Max=29'; engineKeys[12] = 'mail_stateprov'; displayKeys[12] = 'State'; engineScrubs[12] = 'Alpha'; engineKeys[13] = 'mail_postalcode'; displayKeys[13] = 'Zip Code'; engineScrubs[13] = 'Numeric|Min=5|Max=5'; engineKeys[14] = 'mail_zip4'; displayKeys[14] = 'Zip Code'; engineScrubs[14] = 'Numeric|Min=5|Max=5'; engineKeys[15] = 'mail_country'; displayKeys[15] = 'Country'; engineScrubs[15] = 'Alpha'; engineKeys[16] = 'mail_zip_intl'; displayKeys[16] = 'Postal Zip Code'; engineScrubs[16] = 'AlphaNumeric|Min=5|Max=6'; engineKeys[17] = 'preferred_calltime'; displayKeys[17] = 'Best Time to Call'; engineScrubs[17] = 'AlphaNumeric'; engineKeys[18] = 'age'; displayKeys[18] = 'Age'; engineScrubs[18] = 'All'; engineKeys[19] = 'agreement'; displayKeys[19] = 'Permission to Contact'; engineScrubs[19] = 'All'; engineKeys[20] = 'work_experience'; displayKeys[20] = 'Work Experience'; engineScrubs[20] = 'All'; engineKeys[21] = 'bdate_day'; displayKeys[21] = 'Birth Day'; engineScrubs[21] = 'All'; engineKeys[22] = 'bdate_month'; displayKeys[22] = 'Birth Month'; engineScrubs[22] = 'All'; engineKeys[23] = 'bdate_year'; displayKeys[23] = 'Birth Year'; engineScrubs[23] = 'All'; engineKeys[24] = 'citizen'; displayKeys[24] = 'U.S. resident'; engineScrubs[24] = 'All'; engineKeys[25] = 'college_credits'; displayKeys[25] = 'College Credits'; engineScrubs[25] = 'All'; engineKeys[26] = 'confirmation_email_id'; displayKeys[26] = 'Confirmation Email'; engineScrubs[26] = 'Email'; engineKeys[27] = 'edu_gender'; displayKeys[27] = 'Gender'; engineScrubs[27] = 'All'; engineKeys[28] = 'edu_program'; displayKeys[28] = 'Program of Interest'; engineScrubs[28] = 'All'; engineKeys[29] = 'edu_qualified'; displayKeys[29] = 'Age Requirement'; engineScrubs[29] = 'All'; engineKeys[30] = 'employed'; displayKeys[30] = 'Employment'; engineScrubs[30] = 'All'; engineKeys[31] = 'employer'; displayKeys[31] = 'Employer'; engineScrubs[31] = 'All'; engineKeys[32] = 'enrollment_date'; displayKeys[32] = 'Enrollment Date'; engineScrubs[32] = 'All'; engineKeys[33] = 'high_school_graduation_year'; displayKeys[33] = 'High School Graduation Year'; engineScrubs[33] = 'All'; engineKeys[34] = 'jobtitle'; displayKeys[34] = 'Occupation'; engineScrubs[34] = 'All'; engineKeys[35] = 'level_of_education'; displayKeys[35] = 'Education Level'; engineScrubs[35] = 'All'; engineKeys[36] = 'mail_addr_type'; displayKeys[36] = 'Mail Address Type'; engineScrubs[36] = 'All'; engineKeys[37] = 'military'; displayKeys[37] = 'Military'; engineScrubs[37] = 'All'; engineKeys[38] = 'uop_modality'; displayKeys[38] = 'Onsite/Online'; engineScrubs[38] = 'All'; var errmsg = ""; var errcount = 0; function getDisplayKey(engineKey) { for(var i = 0; i < displayKeys.length; i++) { if(displayKeys[i] == engineKey) return displayKey[i]; } } function validateForm(formName) { errmsg = "Please correct all errors before continuing: \n\n"; var errors = 0; var All =/.*/; var Alpha = /^[a-zA-Z\s\.\-\'\,\xC0-\xFF]+$/; var AlphaOnly = /^[a-zA-Z]+$/; var Numeric = /^\d+$/; var Dates = /^[a-zA-Z0-9\s\.\-\'\,\\]+$/; var AlphaNumeric = /^[a-zA-Z0-9\s\.\-\'\,]+$/; var Email = /\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/; for(var i = 0; i < document.forms[formName].length; i++) { for(var e = 0; e < engineKeys.length; e++) { var key = document.forms[formName].elements[i].name; var val = ""; if(document.forms[formName].elements[i].value){ val = document.forms[formName].elements[i].value; } var val_max = val; val = val.replace(/\s/g,''); // BUG 5057, 4884 -> delete all spaces before validating / checking the length var js_key = "js_" + key; var js_val = ""; if(document.forms[formName].elements[js_key] != null) { js_val = document.forms[formName].elements[js_key].value; } if(key == engineKeys[e]) { var scrubVal = ""; if(js_val == "" || js_val == null) { scrubVal = engineScrubs[e].split('|'); } else { scrubVal = js_val.split('|'); } for(var s = 0; s < scrubVal.length; s++) { var scrub = ""; var arg = ""; if(scrubVal[s].indexOf('=')) { var tmp = scrubVal[s].split('='); scrub = tmp[0]; arg = tmp[1]; } else { scrub = scrubVal[s]; } switch(scrub.toLowerCase()) { case 'alpha': if(val != null && val.match(Alpha) == null) { errmsg += displayKeys[e] + " contains non-valid characters.\n"; errors++; } break; case 'alphaonly': if(val != null && val.match(AlphaOnly) == null) { errmsg += displayKeys[e] + " contains non-valid characters.\n"; errors++; } break; case 'numeric': if(val != null && val.match(Numeric) == null) { if(displayKeys[e] == "Birth Month" || displayKeys[e] == "Birth Day" || displayKeys[e] == "Birth Year") { errmsg += "Select " + displayKeys[e] + ".\n"; } else { errmsg += displayKeys[e] + " must be only numbers (NO $,%.).\n"; } errors++; } break; case 'alphanumeric': if(val != null && val.match(AlphaNumeric) == null) { errmsg += displayKeys[e] + " contains non-valid characters.\n"; errors++; } break; case 'email': if(val != null && val.match(Email) == null) { errmsg += displayKeys[e] + " contains non-valid characters.\n"; errors++; } break; case 'min': if(val != null && val.length < arg) { errmsg += displayKeys[e] + " cannot be less than " + arg + " characters.\n"; errors++; } break; case 'max': if(val != null && val_max.length > arg) { errmsg += displayKeys[e] + " cannot be more than " + arg + " characters.\n"; errors++; } break; case 'gt': if(val != null && val <= arg) { errmsg += displayKeys[e] + " must be greater than " + arg + ".\n"; errors++; } break; case 'lt': if(val != null && val >= arg) { errmsg += displayKeys[e] + " must be less than " + arg + ".\n"; errors++; } break; case 'bdate_month': if(!isValidDate(val, document.forms[formName].bdate_day.value)) { errmsg += "Birth Date is not valid.\n"; errors++; } break; case 'optional': break; default: if(val == null || val == "") { errmsg += displayKeys[e] + " is a required field.\n"; errors++; } break; } } } } // form loop } // engineKeys loop if(errors <= 0) { try { cst = "document." + formName + ".CID.value"; if(getQueryValue("CID") && getQueryValue("CID") != "undefined") eval(cst + " = getQueryValue('CID')"); if(getQueryValue("SID") && getQueryValue("SID") != "undefined") addHidden(getQueryValue("SID")); if(getQueryValue("OID") && getQueryValue("OID") != "undefined") addHidden(getQueryValue("OID")); if(getQueryValue("ADTID") && getQueryValue("ADTID") != "undefined") addHidden(getQueryValue("ADTID")); if(getQueryValue("HSID") && getQueryValue("HSID") != "undefined") addHidden(getQueryValue("HSID")); if(getQueryValue("TID") && getQueryValue("TID") != "undefined") addHidden(getQueryValue("TID")); if(getQueryValue("CRID") && getQueryValue("CRID") != "undefined") addHidden(getQueryValue("CRID")); if(getQueryValue("TEST") && getQueryValue("TEST") != "undefined") addHidden(getQueryValue("TEST")); } catch($emsg) { //this didn't work, oh well! } if(document.all || document.getElementById) { var allinputs = document.getElementsByTagName("input"); for(i = 0; i < allinputs.length; i++) { var tempobj = allinputs[i]; if((tempobj.type.toLowerCase() == "submit") && (tempobj != null && document.forms[formName][tempobj.name] != null)) { tempobj.disabled = true; tempobj.style.cursor='default' } else if((tempobj.type.toLowerCase() == "image") && (tempobj != null && document.forms[formName][tempobj.name] != null)) { tempobj.disabled = true; tempobj.style.cursor='default' } } } return true; } alert(errmsg); if(document.all) { if(errmsg != null && document.all.item("error") != null) document.all.item("error").innerText = errmsg; } else { if(errmsg != null && document.getElementById('error') != null) { if(document.getElementById('error').childNodes[0] == null) { var textNode = document.createTextNode(errmsg); document.getElementById('error').appendChild(textNode); } else { document.getElementById('error').childNodes[0].nodeValue = errmsg; } } } errcount = errors; return false; } function isValidDate(month, day) { if(month == null || day == null || month == undefined || day == undefined) { return false; } if(month == '01' && (day > 31 || day < 0)) return false; if(month == '02' && (day > 28 || day < 0)) return false; if(month == '03' && (day > 31 || day < 0)) return false; if(month == '04' && (day > 30 || day < 0)) return false; if(month == '05' && (day > 31 || day < 0)) return false; if(month == '06' && (day > 30 || day < 0)) return false; if(month == '07' && (day > 31 || day < 0)) return false; if(month == '08' && (day > 31 || day < 0)) return false; if(month == '09' && (day > 30 || day < 0)) return false; if(month == '00' && (day > 31 || day < 0)) return false; if(month == '11' && (day > 30 || day < 0)) return false; if(month == '12' && (day > 31 || day < 0)) return false; return true; } function checkMailCountry() { var countryName = getQueryValue("mail_country"); if(document.schoolForm.mail_country && countryName) { document.schoolForm.mail_country.value = countryName; } } function checkMailStateProv() { var stateName = getQueryValue("mail_stateprov"); if(document.schoolForm.mail_stateprov && stateName) { document.schoolForm.mail_stateprov.value= stateName; } } function checkLevelOfEducation() { var educationLevel = getQueryValue("level_of_education"); if(document.schoolForm.level_of_education && educationLevel) { document.schoolForm.level_of_education.value = educationLevel; } } function swap_zip() { var zip = ''; var zip_intl = unescape(getQueryValue("mail_zip_intl")); var zip_post = unescape(getQueryValue("mail_postalcode")); if(zip_intl && zip_intl != "undefined") { zip = zip_intl; } if(zip_post && zip_post != "undefined") { zip = zip_post; } if(zip) { if(document.schoolForm.mail_postalcode) { document.schoolForm.mail_postalcode.value = zip; } if(document.schoolForm.mail_zip_intl) { document.schoolForm.mail_zip_intl.value = zip; } } }