// JavaScript Document

//validation functions

//used for name, address, city and county
function name_validation(param_value) {
	if (param_value.replace(/ /g, '').length > 1) {
		return true;
	} else {
		return false;
	}
}

function email_validation(param_value) {
	var re = /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/;
	if (!param_value.match(re)) {
		return false;
	} else {
		return true;
	}
}

function phone_validation(param_value) {
	var re = /^1?\s*[\-\s]?\s*\(?\s*\d{3}\s*[\)\-\s]?\s*\d{3}\s*[\-\s]?\s*\d{4}$/;
	if (!param_value.match(re)) {
		return false;
	} else {
		return true;
	}
}

function not_empty_validation(param_value) {
	var re = /.+/;
	if (!param_value.match(re)) {
		return false;
	} else {
		return true;
	}
}

function not_empty_radio_validation(param_object) {
	for (var i = 0; i < param_object.length; i++) {
		if (param_object.item(i).checked) {
			return true;
		}
	}
	
	return false;
}

function zip_validation(param_value) {
	var re = /^\d{5}(\s*[-\s]?\s*\d{4})?$/;
	if (!param_value.match(re)) {
		return false;
	} else {
		return true;
	}
}

function age_validation(param_value) {
	var re = /^\d{2,3}(\s*[-\s]?\s*\d{4})?$/;
	if (!param_value.match(re)) {
		return false;
	} else {
		return true;
	}			
}

function empty_validation(param_value) {
	if (param_value.length == 0) {
		return true;
	} else {
		return false;
	}
}

function integer_validation(param_value) {
	var re = /^\d+$/;
	if (!param_value.match(re)) {
		return false;
	} else {
		return true;
	}		
}

var fields = new Array();

function validate() {
	var valid_form = true;
	var required;
	var valid;
	var field;
	var field_container;
	var previous_field_container;
	
	for (var i = 0; i < fields.length; i++) {
		if (fields[i][2].toLowerCase() == 'true') {
			required = true;
		} else {
			required = false;
		}
		field = document.getElementById(fields[i][0]);
		field_container = field.parentNode.parentNode.parentNode;
		switch(fields[i][1].toLowerCase()) {
			case 'name':
				valid = name_validation(field.value);
				break;
			case 'not empty':
			case 'not_empty':
				valid = not_empty_validation(field.value);
				break;
			case 'zip':
				valid = zip_validation(field.value);
				break;
			case 'phone':
				valid = phone_validation(field.value);
				break;
			case 'email':
				valid = email_validation(field.value);
				break;
			default:
				valid = false;
		}
		if (valid) {
			if (!((previous_field_container == field_container) && (previous_field_container.className == 'input_error'))) {
				field_container.className = 'input_valid';
			}
		} else {
			if ((field.value == '') && (!required)) {
				field_container.className = '';
			} else {
				field_container.className = 'input_error';
				valid_form = false;
			}
		}
		previous_field_container = field_container;
	}
	
	document.getElementById('btn_submit').disabled = !valid_form;
	if (valid_form) {
		document.getElementById('btn_submit_container').className = '';
		document.getElementById('btn_submit_disabled_container').className = 'display_none';
	} else {		
		document.getElementById('btn_submit_container').className = 'display_none';
		document.getElementById('btn_submit_disabled_container').className = '';
	}
}

function submit_form() {
	document.mass_email_form.action = 'mass_email.php';
	document.mass_email_form.submit();
	return false;
}