function numbersOnly (theString) { var OK = true; for (var i =0; i < theString.length; i++) { theChar = theString.charAt(i); if (theChar == ".") continue; if ((theChar < "0") || (theChar > "9")) { OK = false; break; } } return OK; } function validate (form) { var sum = 0; var flag = true; var number_fields = ""; var empty_fields =""; var error_fields = ""; var select_fields= ""; var emp ="--- The following field(s) are empty: \n"; var num ="--- The following field(s) require numerical answers: (no commas or percent symbols) \n"; var error="--- The following field(s) had errors \n"; var select_msg = "--- The following fields require a selection: \n"; var msg = "_________________________________________________________________\n\n"; msg +="The following errors occurred during the processing of your submission. \n Please correct the error(s) and re-submit. \n"; msg += "_________________________________________________________________\n\n"; //form.previouscounty.value = form.county.selectedIndex; for (var i=0; i < form.elements.length; i++) { var f = form.elements[i]; //if (f.type == "hidden") { continue; } if (f.name == "type") { continue; } if (f.name == "lun") { if (form.lun.value=="feet") { if (form.len.value > 21121) { error_fields += " Length must be less than 4 miles.\n"; flag = false; } } else { if (form.len.value > 20001) { error_fields += " Length must be less than 20 kilometers. \n"; flag = false; } } } if (f.name == "more_areas") { if (f.checked) { form.action = "input1.pl"; } else { form.action = "input2.pl"; } } if (f.type == "radio") { var flag2 = false; var l = eval("form." + f.name + ".length"); for (var k=0; k < l; k++){ var n = "form." + f.name + "[" + k + "].checked"; if (eval(n)) { flag2 = true; break; } } if ((!flag2) && (flag)) { error_fields += " Please select one of the buttons. \n"; flag = false; } } if (f.type == "text") { if (f.name == "own_value") { continue; } if (f.name == "othernzones") { if (form.nzones.selectedIndex != 5) { continue; } } if (f.value.length == 0) { if (form.num_areas) { if (i > 1) { continue; } } flag=false; empty_fields += " " + f.name + "\n"; } if ((f.name == "run_name") || (f.name == "sitename")) { continue; } if (!numbersOnly(f.value)) { flag = false; number_fields +=" " + f.name + "\n"; } if (f.name=="bottom_width") { if (parseFloat(f.value) > parseFloat(form.elements[i-1].value)) { error_fields += " Bottom width must be less then the channel width (ie. the top of the channel must be wider than the bottom). \n"; flag = false; } } if (f.name =="hlen") { if (f.value < 100) { error_fields += " The hydraulic length needs to be greater than 100 ft (m). \n"; flag = false; } } if (f.name == "cul_length") { if (form.units.value == "feet") { if (f.value > 1000) { error_fields += " Please enter a culvert length less than 1000 feet. \n"; flag = false; } } else { if (f.value > 350) { error_fields += " Please enter a culvert length less than 350 meters. \n"; flag = false; } } } if ((f.name == "states") || (f.name == "counties")) { var flag1 = false; for (var j = 0; j < f.options.length; j++) { if (f.options[j].selected) { flag1 = true; break; } } if (!flag1) { flag = false; select_fields += " " + f.name + "\n"; } } if ((f.name.match(/majorlandcover1/)) || (f.name.match(/covertype/)) || (f.name.match(/treatment/)) || (f.name.match (/condition/))) { if (f.selectedIndex == 0) { flag = false; select_fields += " " + f.name + "\n"; } } if (f.name == "slope") { if (form.slope.value >= 40) { error_fields += " Slope must be less than 40%. \n"; flag = false; } } } // end if (f.type == "text") } // end for loop if (flag) { return flag; } else { if (empty_fields) { msg += emp + empty_fields + "\n\n"; } if (number_fields) { msg += num + number_fields + "\n\n"; } if (error_fields) { msg += error + error_fields + "\n"; } if (select_fields) { msg += select_msg + select_fields + "\n"; } alert (msg); return flag; } } //function update_status(form) { // if ((form.type.options[0].selected) || (form.type.options[2].selected)) { // form.lun.options[0].selected = true; } // if ((form.type.options[1].selected) || (form.type.options[3].selected)) { // form.lun.options[1].selected = true; } //} function index(form){ var index=form.states.selectedIndex; form.stateid.value=index; return; }