function isValidEmail(s) {
   return (s.indexOf(".") > 2) && (s.indexOf("@") > 0);
}

function validateRequired(theForm) {
	var e = theForm.elements;
	
	var valid = true;

	// Iterate through the form elements
	for (var i = 0; i < e.length; i++) {

		if ((e[i].parentNode.parentNode.className.indexOf('email') != -1) && !isValidEmail(e[i].value)) {
			valid = false;
			e[i].parentNode.parentNode.className += " error";
		} else
		// IF the parent form grouping is required
  		if (e[i].parentNode.parentNode.className.indexOf('required') != -1) {
			// IF the form element, in a required form grouping, is left blank set error-state
			if (e[i].type != 'radio' && !e[i].value) {
				valid = false;
				
				if (e[i].parentNode.parentNode.className.indexOf('error') == -1)
					e[i].parentNode.parentNode.className += " error";
					
			// ELSE, remove the error-state class if a value has been entered
			} else {								
				var n = e[i].parentNode.parentNode.className.indexOf(' error');
				if (n != -1) {
					e[i].parentNode.parentNode.className = e[i].parentNode.parentNode.className.substring(0, n);
				}
			}

		}
	}
	if (! valid) {
		document.getElementById("errorBox").style.display = "block";
	}
	return valid;
}



		function flagInvalid(fieldElement) {
			if (fieldElement.parentNode.parentNode.className.indexOf('error') == -1)
				fieldElement.parentNode.parentNode.className += " error";
		}
		
		function flagValid(fieldElement) {
			var n = fieldElement.parentNode.parentNode.className.indexOf(' error');
			if (n != -1) {
				fieldElement.parentNode.parentNode.className = fieldElement.parentNode.parentNode.className.substring(0, n);
			}
		}



