function validateForm() {
	var form = document.forms[0];
	var elCount = form.elements.length;
	var valid = true;
	
	makeFieldsWhite(form.elements, elCount);
	
	for(var i = 0; i < elCount; i++) {
		var field = form.elements[i];
		if(field.type == 'text') {
			var format;
			switch(field.name) {
				case 'name':
					format = /^[a-zA-Z]+([\-']|\s)?[a-zA-Z]+$/;
				break;
				case 'email':
					format = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})$/;
				break;
				case 'aCode':
					format = /^[0][2,3,4,7,8]$/
				break;
				case 'pNum':
					format = /^[0-9]{8}$/
				break;
				case 'phone':
					format = /^[0-9]{10}$/
				break;
			}
			switch(field.name) {
				case 'name':
					if(!format.test(field.value)) {
							showError(field);
							valid = false;
						}
				break;
				case 'email':
					if(!format.test(field.value)) {
							showError(field);
							valid = false;
						}
				break;
				case 'phone':
				case 'aCode':
				case 'pNum':
					if(field.value) {
						if(!format.test(field.value)) {
							showError(field);
							valid = false;
						}
					}
				break;
			}
		}
	}
	if (valid == false) {
		alert('Please correct the highlighted fields');
		return false;
	}
}

function makeFieldsWhite(elements, total) {
	for(var i = 0; i < total - 2; i++) {
		if(elements[i].type != 'button' && elements[i].type != 'fieldset') {
			elements[i].style.backgroundColor = '#FFF';
		}
	}
}

function showError(field) {
	field.style.backgroundColor = '#FF0';
}
