// Check if a variable exists or isn't null
function varExists(theVal) {
	switch (theVal) {
		case null:
		case '':
		case 'undefined':
			return false;
			break;
		default:
			return true;
			break;
	}
}

// Verify an email address
function valEmail(theEmail) {
	with (theEmail) {
		apos	= theEmail.indexOf("@");
		dotpos	= theEmail.lastIndexOf(".");
		
		if (apos < 1 || dotpos - apos < 2) {
			return false;
		} else {
			return true;
		}
	}
}

// Verify the form
function verifyForm(form) {
	// Loop through form elements
	var errNum	= 0;
	var errMsg	= "";
	
	for (var i= 0; i < form.elements.length; i++) {
		var formType	= form.elements[i].type;
		var formName	= form.elements[i].name;
		var formId		= form.elements[i].id;
		
		if (varExists(formId)) {
			var formVal		= document.getElementById(formName).value;
			//alert(formName);
		
			switch(formName) {
				case "_name":
					if (formVal == "") {
						errNum++;
						errMsg	+= "Please fill out your name.\n";
					}
					break;
					
				case "_email":
					if (formVal == "") {
						errNum++;
						errMsg	+= "Please fill out your email address.\n";
					} else {
						// Not blank, check against pattern
						if (!valEmail(formVal)) {
							errNum++;
							errMsg	+= "Please format your email address properly.\n";
						}
					}
					break;
					
				case "_howfound":
					if (formVal == "") {
						errNum++;
						errMsg	+= "Please choose how you found out about us.\n";
					}
					break;
				
				case "_captcha":
					if (formVal == "") {
						errNum++;
						errMsg	+= "Please complete the captcha.\n";
					}
					break;
			}
		}
	}
	
	if (errNum >= 1) {
		alert(errMsg);
		return false;
	} else {
		return true;
	}
}
