var re = /^\s*|\s*$/g; var regex = /^[a-zA-Z0-9._-]+@([a-zA-Z0-9.-]+\.)+[a-zA-Z0-9.-]{2,4}$/; var pregex = /^\(?\d{3,3}\)?[ -]?\d{3,3}[ -]?\d{4,4}$/; var fregex = /^([a-zA-Z0-9._-]+\.)[a-zA-Z0-9]{2,4}$/; function trim(value) { return (value.replace(re,"")); } function check_fields(theField, check_type, theForm) { var return_value = false; var file_name_value = ""; var find_last_backslash = ""; var field_name = ""; var temp_field_name = ""; var fields = ""; var temp_field_value = ""; switch (check_type) { case 2: (!isNaN(theField.value) || (trim(theField.value) == '')) ? return_value = true : theField.focus(); break; case 3: (regex.test(theField.value) || (trim(theField.value) == '')) ? return_value = true : theField.focus(); break; case 4: (pregex.test(theField.value) || (trim(theField.value) == '')) ? return_value = true : theField.focus(); break; case 5: // added for macs temp_field_value = theField.value.replace(/\//g, '\\'); (fregex.test(temp_field_value.slice(temp_field_value.lastIndexOf("\\")+1)) || (trim(temp_field_value) == '')) ? return_value = true : theField.focus(); break; case 6: (eval("theForm." + theField.slice(0, theField.lastIndexOf("|")) + ".value.length") <= (theField.slice(theField.lastIndexOf("|")+1) - 0)) ? return_value = true : eval("theForm." + theField.slice(0, theField.lastIndexOf('|')) + ".focus()"); break; case 7: fields = theField.split("|"); (eval("theForm." + fields[0] + ".value") == eval("theForm." + fields[1] + ".value")) ? return_value = true : eval("theForm." + fields[0] + ".focus()"); break; case 8: /* This is broken up into 3 parts First value = field name second value = value being searched for third value = 1 or 0... 1 = first value must contain second value, 0 = first value must *NOT* contain second value e.g. first_name|Jim|1 == James = False, Jimmy = True */ fields = theField.split("|"); var temp_value = eval("theForm." + fields[0] + ".value.indexOf(\"" + fields[1] + "\")"); ((eval("trim(theForm." + fields[0] + ".value)") == '') || (((temp_value == -1) && (fields[2] == 0)) || ((temp_value > -1) && (fields[2]== 1)))) ? return_value = true : eval("theForm." + fields[0] + ".focus()"); break; case 9: fields = theField.split("|"); ((eval("theForm." + fields[0] + ".value.length") >= (fields[1] - 0)) || (eval("trim(theForm." + fields[0] + ".value)") == '')) ? return_value = true : eval("theForm." + fields[0] + ".focus()"); break; case 10: fields = theField.split("|"); for (var i = 0; i < fields.length; i++) { if (eval("theForm." + fields[i] + ".checked")) { return_value = true; break; } } break; case 11: fields = theField.split("|"); /* This is broken up into 2 parts First value = field name second value = extensions being searched for (also a list) e.g. my_image|jpg.gif.png == car.gif = true, car.bmp = False */ // replace . with | so can build regular expression var extension_list = fields[1].toLowerCase().replace(/\./g, "|"); // compile reg exp var new_re = new RegExp(extension_list) // get field value field_name = eval('theForm.' + fields[0]); // get file name //added for macs temp_field_value = field_name.value.replace(/\//g, '\\'); file_name_value = temp_field_value.slice(field_name.value.lastIndexOf("\\")+1) // get extension var extension_value = file_name_value.toLowerCase().split("."); // run reg exp against file name to check if extension is present ((new_re.test(extension_value[1])) || (trim(field_name.value) == '')) ? return_value = true : eval("theForm." + fields[0] + ".focus()"); break; default: var field_type = theForm.elements[theField].type; if ((field_type.indexOf('radio') > -1) || (field_type.indexOf('checkbox') > -1)) { var field_length = eval("theForm." + theForm.elements[theField].name + ".length"); if (isNaN(field_length)) { if (eval("theForm." + theForm.elements[theField].name + ".checked")) { return_value = true; break; } } else { for (var i = 0; i < field_length; i++) { if (eval("theForm." + theForm.elements[theField].name + "[i].checked")) { return_value = true; break; } } } } else if (field_type.indexOf('select') > -1) { if (theForm.elements[theField].options[theForm.elements[theField].selectedIndex].value != '') { return_value = true; } // else make sure entry is not blank } else { if (trim(theForm.elements[theField].value) != '') { return_value = true; } } break; } return (return_value); }