function trim(stringToTrim) {	return stringToTrim.replace(/^\s+|\s+$/g,"");}function validate() {	var df = document.pubreq;	var bHasAtLeastOneOrder = false;	var bAllOrdersNumeric = true;	var arFields = new Array(); 	var value;	var k = 0;		// Hide all error messages.	document.getElementById('pub').style.visibility = 'hidden';	document.getElementById('number').style.visibility = 'hidden';	document.getElementById('invalid').style.visibility = 'hidden';	document.getElementById('invalidzip').style.visibility = 'hidden';		// List all the fields.	arFields[k] = df.Student1; k++;	arFields[k] = df.Student2; k++;	arFields[k] = df.Student3; k++;	arFields[k] = df.Student4; k++;	arFields[k] = df.Student5; k++;	arFields[k] = df.Student6; k++;	arFields[k] = df.Student7; k++;	arFields[k] = df.Student8; k++;	arFields[k] = df.Student9; k++;	arFields[k] = df.StudentA; k++;	arFields[k] = df.StudentB; k++;	arFields[k] = df.Student10; k++;	arFields[k] = df.Student11; k++;	arFields[k] = df.Student12; k++;	arFields[k] = df.Student13; k++;	arFields[k] = df.Student14; k++;	arFields[k] = df.Student17; k++;	arFields[k] = df.Student18; k++;	arFields[k] = df.Counselor1; k++;	arFields[k] = df.Counselor2; k++;	arFields[k] = df.Counselor3; k++;	arFields[k] = df.Counselor4; k++;	arFields[k] = df.Counselor12; k++;	arFields[k] = df.Administrator1; k++;	arFields[k] = df.Administrator2; k++;	arFields[k] = df.Administrator3; k++;	arFields[k] = df.Administrator4; k++;	arFields[k] = df.Administrator5; k++;	arFields[k] = df.Administrator6; k++;	arFields[k] = df.Administrator7; k++;	arFields[k] = df.Administrator10; k++;	arFields[k] = df.Administrator11; k++;		// Spanish language order, out of state	arFields[k] = df.Administrator12; k++;		// Spanish language order, out of state	arFields[k] = df.Administrator13; k++;	arFields[k] = df.Administrator14; k++;	arFields[k] = df.Administrator15; k++;	arFields[k] = df.Administrator16; k++;	arFields[k] = df.Administrator20; k++;		for (j=0; j < arFields.length; j++) {		if (typeof arFields[j] != "undefined") {			if (arFields[j].value) { 				value = trim(arFields[j].value);				if (value != "") { 	// Tests all publication boxes for a value in at least one.					bHasAtLeastOneOrder = true;					// Tests all publication boxes to verify values are numeric.					for (i=0; i<=value.length-1; i++)  if("0123456789".indexOf(value.charAt(i))==-1) { 						bAllOrdersNumeric = false;						break;						}					}				}			}		}	if (!bHasAtLeastOneOrder) {	// Not one box had a value.		document.getElementById('pub').style.visibility = 'visible';			document.location = '#pub';			return false;		}			if (!bAllOrdersNumeric) {		// At least one box had a non-numeric value.		document.getElementById('number').style.visibility = 'visible';			document.location = '#number';			return false;		}	// tests form for values 	if(!df.PersonName.value || !df.Street.value || !df.City.value || !df.Zip.value){	   document.getElementById('invalid').style.visibility = 'visible';			document.location = '#invalid';	   return false;	}	// test for zip code using regular exp	if(df.Zip.value.search(/^[0-9]{5}$/)==-1){	   document.getElementById('invalidzip').style.visibility = 'visible';			document.location = '#invalidzip';	   return false;	}	}
