	var radioKeep = new Array();
	var checkKeep = new Array();
	var count = 0
	var radioCount = 0
	var checkCount = 0
	var eNumLen = ""
	var eNum = ""
	var req = ""
	var fieldCount = 0

function val() {
	count = 0;
	radioCount = 0;
	checkCount = 0;
	eNumLen = document.form_val.elements.length;
	eNum = document.form_val.elements;
	req = ""
	reqorspec = ""
	special = ""
	fieldCount = 0

	for(count=0;count<eNumLen;count++) {
	re = /^(\w+)\-?\-?\w*\_\_(req)\-?\-?\w*$/;
	reSpec = /^(\w+)\-?\-?\w*\_\_(spec)\-?\-?\w*$/;

		if (re.test(eNum[count].name)) {
			reqorspec = 1
			findVal();
		}
		if (reSpec.test(eNum[count].name)) {
			reqorspec = 2
			findVal();
		}
	}

function findVal(x) {

		if (eNum[count].type == "text" || eNum[count].type == "password") {
			text(RegExp.$1);
		}
		else if (eNum[count].type == "radio" || eNum[count].type == "checkbox") {
			radio(RegExp.$1, radioKeep, radioCount, count);
		}
		else if (eNum[count].selectedIndex == 0) {
			menu(RegExp.$1);
		}
		else if (eNum[count].type == "textarea") {
			textarea(RegExp.$1);
		}
		else{}

	}

	function text(re1) {
		if (eNum[count].value == "") {
			fieldCount++
			if (reqorspec == 1) {
				req+= fieldCount + ".  " + properCap(re1) + "\n<br>";
			}
		}
		if (eNum[count].name == "password_confirm__req") {
			if (eNum[count].value != eNum[count-1].value) {
			special+= "Passwords do not match\n<br>"
			}
		}
		//if (eNum[count].name == "phone_1__req") {
			//rePhone = /^\d{3}-\d{3}-\d{4}$/;
			//if (rePhone.test(eNum[count].value)) {
			//}
			//else {
			//special+= "*Phone Number 1 must be in 222-333-4444 format<br>";
			//}
		//}
		if (eNum[count].name == "phone_1__req" && eNum[count].value != "") {
			//rePhone = /^\d{3}-\d{3}-\d{4}$/;
			if (eNum[count].value.length > 9) {
			}
			else {
				special+= "*Phone Numbers must be at least ten digits long";
			}
		}
		if (eNum[count].name == "phone_2__spec" && eNum[count].value != "") {
			//rePhone = /^\d{3}-\d{3}-\d{4}$/;
			if (eNum[count].value.length > 9) {
			}
			else {
				special+= "*Phone Numbers must be at least ten digits long";
			}
		}
		if (eNum[count].name == "phone_2__spec" && eNum[count].value != "") {
			//rePhone = /^\d{3}-\d{3}-\d{4}$/;
			if (eNum[count].value.length > 9) {
			}
			else {
				special+= "*Phone Numbers must be at least ten digits long";
			}
		}
		if (eNum[count].name == "other_phone__spec" && eNum[count].value != "") {
			//rePhone = /^\d{3}-\d{3}-\d{4}$/;
			if (eNum[count].value.length > 9) {
			}
			else {
				special+= "*Phone Numbers must be at least ten digits long";
			}
		}
		//if (eNum[count].name == "phone_2__spec" && eNum[count].value != "") {
			//rePhone = /^\d{3}-\d{3}-\d{4}$/;
			//if (rePhone.test(eNum[count].value)) {
			//}
			//else {
			//special+= "*Phone Number 2 must be in 222-333-4444 format<br>";
			//}
		//}
		if (eNum[count].name == "zip__req" && eNum[count].value != "") {
			reZip = /^(\d{5})|([A-Za-z]\d[A-Za-z]( |-|)\d[A-Za-z]\d)$/;
			if (reZip.test(eNum[count].value)) {
			}
			else {
			special+= "*Zip/Postal Code has Incorrect Format.<br>U.S./Mexico Example: 99999<br>Canada Example: A9A 9A9<br>";
			}
		}
		if (eNum[count].name == "pet_dob__spec" && eNum[count].value != "") {
			reZip = /^\d\d?\/\d\d?\/\d\d\d?\d?$/;
			if (reZip.test(eNum[count].value)) {
			}
			else {
			special+= "*Date must be in 01/01/04 format<br>";
			}
		}
		if (eNum[count].name == "eventLostDate2__spec" && eNum[count].value != "") {
			reZip = /^\d\d?\/\d\d?\/\d\d\d?\d?$/;
			if (reZip.test(eNum[count].value)) {
			}
			else {
			special+= "*Date must be in 01/01/04 format<br>";
			}
		}
		/*if (eNum[count].name == "email__spec" && eNum[count].value != "") {
			reEmail = /^w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
			if (reEmail.test(eNum[count].value)) {
			}
			else {
			special+= "*Please provide an acurate email address.  If you do not have one, please call for assistance at 1-800-888-8888<br>";
			}
		}*/
		
	}

	function textarea(re1) {
		
		if (eNum[count].value == "") {
			fieldCount++
			req+= fieldCount + ".  " + properCap(re1) + "\n<br>";
		}
		if (eNum[count].value.length > 1000) {
			special+= "*Comments must be less than 1000 charectors<br>";
		}
	}

	function menu(re1) {
			fieldCount++
			req+= fieldCount + ".  " + properCap(re1) + "\n<br>";
	}

	function radio(re1,rk,rc,c) {
	
		if (eNum[count].checked || rk[rc] == re1) {
			if (rk[rc] != re1) {
			rk[rc] = re1;
			rc++;
			}
		}
		else{
			var thisRad = eNum[count].name;
			c++;
			var nextRad = eNum[c].name;
			c--;
				if (thisRad != nextRad) {
				fieldCount++
				req+= fieldCount + ".  " + properCap(re1) + "\n<br>";
				}
				else{}
		}
	}

if (req>"" || special>"") {

//alert(req);

errorWin = window.open('form_error.htm','error_win','width=400,height=400')
errorWin.err = req
errorWin.spec = special

}
else{
document.form_val.submit()
//errorWin.close();
}

}

function properCap(eName) {

var splitter = new Array();
splitter = eName.split("_");
var zz = ""

for(i=0;i<splitter.length;i++) {		
	if (splitter[i].length > 1 || splitter[i] == "i") {
	var a = splitter[i];
	zz += a.charAt(0).toUpperCase();
	zz += a.substring(1,splitter[i].length) + " ";
	}
	else{zz += splitter[i] + " "}

}

return zz;

}