requiredFields_fax = new Array(); requiredMessages_fax = new Array(); requiredFields = new Array(); requiredMessages = new Array(); sameFields1 = new Array(); sameFields2 = new Array(); sameMessages = new Array(); atLeastOneFields = new Array(); atLeastOneMessages = new Array(); validDayFields = new Array(); validMonthFields = new Array(); validYearFields = new Array(); validDateMessages = new Array(); beforeDay1Fields = new Array(); beforeMonth1Fields = new Array(); beforeYear1Fields = new Array(); beforeDay2Fields = new Array(); beforeMonth2Fields = new Array(); beforeYear2Fields = new Array(); beforeMessages = new Array(); checkFields = new Array(); checkValues = new Array(); checkMessages = new Array(); // Require a value to be non-empty in fax pages function require_fax(name, msg) { requiredFields_fax[requiredFields_fax.length] = name; requiredMessages_fax[requiredMessages_fax.length] = msg; } // END require // Require a value to be non-empty function require(name, msg) { requiredFields[requiredFields.length] = name; requiredMessages[requiredMessages.length] = msg; } // END require // Require two values to be the same function same(name1, name2, msg) { sameFields1[sameFields1.length] = name1; sameFields2[sameFields2.length] = name2; sameMessages[sameMessages.length] = msg; } // END same // Require at least one checkbox to be checked function atLeastOne(name, msg) { atLeastOneFields[atLeastOneFields.length] = name; atLeastOneMessages[atLeastOneMessages.length] = msg; } // END same // Require date to be a valid date function date(dayName, monthName, yearName, msg) { validDayFields[validDayFields.length] = dayName; validMonthFields[validMonthFields.length] = monthName; validYearFields[validYearFields.length] = yearName; validDateMessages[validDateMessages.length] = msg; } // Do the values represent a valid date? function dateIsValid(day, month, year) { switch (Number(month)) { case 3: // April case 5: // June case 8: // September case 10: // November return (day <= 30); break; case 1: // February if ((((year % 4) == 0) && ((year % 100) != 0)) || (((year % 100) == 0) && ((year % 400) == 0))) { return (day <= 29); } else { return (day <= 28); } break; case 0: // January case 2: // March case 4: // May case 6: // July case 7: // August case 9: // October case 11: // December return true; break; default: return false; break; } } // END date // Require date1 to be before date2 function before(dayName1, monthName1, yearName1, dayName2, monthName2, yearName2, msg) { beforeDay1Fields[beforeDay1Fields.length] = dayName1; beforeMonth1Fields[beforeMonth1Fields.length] = monthName1; beforeYear1Fields[beforeYear1Fields.length] = yearName1; beforeDay2Fields[beforeDay2Fields.length] = dayName2; beforeMonth2Fields[beforeMonth2Fields.length] = monthName2; beforeYear2Fields[beforeYear2Fields.length] = yearName2; beforeMessages[beforeMessages.length] = msg; } // END before // function check(name, value, msg) { checkFields[checkFields.length] = name; checkValues[checkValues.length] = value; checkMessages[checkMessages.length] = msg; } // END check // Are all of the forms requirements fulfilled? function validate(formName) { str = ""; with (document.forms[formName]) { // Check that required fields have contents if (!(elements[requiredFields_fax[0]].value.length == 0)||(!elements[requiredFields_fax[1]].value.length == 0)||(!elements[requiredFields_fax[2]].value.length == 0) ) { str = ""; } else { str += requiredMessages_fax[0] + "\n"; } for (i = 3; i < requiredFields_fax.length; i++) { if (elements[requiredFields_fax[i]].value.length == 0) { str += requiredMessages_fax[i] + "\n"; } } // Check that required fields have contents for (i = 0; i < requiredFields.length; i++) { if (elements[requiredFields[i]].value.length == 0) { str += requiredMessages[i] + "\n"; } } // Check that "same" fields' values are equal for (i = 0; i < sameFields1.length; i++) { if (elements[sameFields1[i]].value != elements[sameFields2[i]].value) { str += sameMessages[i] + "\n"; } } // Check that "atLeastOne" fields have at least one item checked for (i = 0; i < atLeastOneFields.length; i++) { for (j = 0; j < elements[atLeastOneFields[i]].length; j++) { if (elements[atLeastOneFields[i]][j].checked) { break; } } // END for each checkbox if (j == elements[atLeastOneFields[i]].length) { str += atLeastOneMessages[i] + "\n"; } } // END for each "atLeastOne" field // Check that "date" fields are valid dates for (i = 0; i < validDayFields.length; i++) { if (!dateIsValid(elements[validDayFields[i]].value, elements[validMonthFields[i]].value, elements[validYearFields[i]].value)) { str += validDateMessages[i] + "\n"; } } // Check that date1 is before date2 for (i = 0; i < beforeDay1Fields.length; i++) { day1 = Number(elements[beforeDay1Fields[i]].options[elements[beforeDay1Fields[i]].selectedIndex].value); day2 = Number(elements[beforeDay2Fields[i]].options[elements[beforeDay2Fields[i]].selectedIndex].value); month1 = Number(elements[beforeMonth1Fields[i]].options[elements[beforeMonth1Fields[i]].selectedIndex].value); month2 = Number(elements[beforeMonth2Fields[i]].options[elements[beforeMonth2Fields[i]].selectedIndex].value); year1 = Number(elements[beforeYear1Fields[i]].options[elements[beforeYear1Fields[i]].selectedIndex].value); year2 = Number(elements[beforeYear2Fields[i]].options[elements[beforeYear2Fields[i]].selectedIndex].value); if ((year1 > year2) || ((year1 == year2) && (month1 > month2)) || ((year1 == year2) && (month1 == month2) && (day1 > day2))) { str += beforeMessages[i] + "\n"; } } if (str != "") { alert(str); return false; } // Warn if requested fields value has changed // for (i = 0; i < checkFields.length; i++) { // if (elements[checkFields[i]].options[elements[checkFields[i]].selectedIndex].value != checkValues[i]) { // if (!confirm(checkMessages[i])) { // return false; // } // } // } } return true; } // END validate function phone(form_name,field_name) { flag=0; flag_one = 0 flag_two = 0 flag_three = 0 a = eval("document."+form_name+"."+field_name+".value") b = eval("document."+form_name+"."+field_name+".value.length") j = 0; for(i=0;i='0'&&a.charAt(i)<='9')) { j++ } } if(j > 10) { alert("Fax Number Number cannot be more than 10 digits") eval("document."+form_name+"."+field_name+".select()") eval("document."+form_name+"."+field_name+".focus ()") return false } else if(b < 12 || b > 12) { alert("Fax Number Should be in format 123-456-7890") eval("document."+form_name+"."+field_name+".select()") eval("document."+form_name+"."+field_name+".focus ()") return false } else if(b==12) { if(a.charAt(0) != '-') { for(i=0;i='0'&&a.charAt(i)<='9')||(a.charAt(i)=='(')||(a.charAt(i)== ')')) { if(i==0) { if(a.charAt(0) == '(') flag_one = 1 } else if(i==4) { if(a.charAt(4) == ')') flag_two = 1 } } else if((a.charAt(i) == '-')||(a.charAt(i) == '.')||(a.charAt(i) == ' ')) { if(i==3) { if((a.charAt(3)=='-')||(a.charAt(3)=='.')||(a.charAt(i) == ' ')) flag_one = 1 } else if(i==7) { if((a.charAt(3)=='-')||(a.charAt(3)=='.')||(a.charAt(i) == ' ')) flag_two = 1 } else { flag_one = 0 flag_two = 0 } } else { alert("Fax Number should be in numbers only") eval("document."+form_name+"."+field_name+".select()") eval("document."+form_name+"."+field_name+".focus ()") flag_three = 1 return false break } } if(flag_one == 1 && flag_two == 1) { if(b == 12) { } else { alert("Fax Number Should be in format 123-456-7890") eval("document."+form_name+"."+field_name+".select()") eval("document."+form_name+"."+field_name+".focus ()") return false } } else { if(flag_three != 1) { alert("Fax Number Should be in format 123-456-7890") eval("document."+form_name+"."+field_name+".select()") eval("document."+form_name+"."+field_name+".focus ()") return false } } } else { alert("Fax Number cannot be start with -") eval("document."+form_name+"."+field_name+".select()") eval("document."+form_name+"."+field_name+".focus ()") return false } }//end of else if return true }//end of phone