function validateFields(fields)
{
	var len = fields.length;
	for(i = 0;i<len;i++)
	{
		switch(fields[i].type)
		{
			case 'email':
			if( !isEmail(fields[i].id) ) return false;
			break;
			case 'text':
			if( !isText(fields[i].id) ) return false;
			break;
			case 'postalcode':
			if( !isPostalCode(fields[i].id) ) return false;
			break;
			case 'phone':
			if( !isPhone(fields[i].id) ) return false; 
			break;
			case 'agreement':
			if( !isAgreed(fields[i].id) ) return false;
		}
	}	
	
	return true;
}

function isEmail(id)
{
	var form = document.getElementById(id);
	var regex = /^[a-zA-Z0-9._-]+@([a-zA-Z0-9.-]+\.)+[a-zA-Z0-9.-]{2,4}$/;
	if (regex.test(form.value)){
		return true;
	}else{
		alert('Please enter a valid email address.');
		return false;
	}
}

function isText(id)
{
	var form = document.getElementById(id);
	if (form.value != ""){
		return true;
	}else{
		alert('One or more fields are empty.');
		return false;
	}
}

function isPostalCode(id)
{
	var form = document.getElementById(id);
	var regex = /\b[ABCEGHJKLMNPRSTZVXYabceghjklmnprstzvxy]\d[ABCEGHJKLMNPRSTZVXYabceghjklmnprstzvxy]\ +\d[ABCEGHJKLMNPRSTZVXYabceghjklmnprstzvxy]\d\b/;
	if (regex.test(form.value)){
		return true;
	}else{
		alert('Please enter a valid postal code.');
		return false;
	}
}

function isPhone(id)
{
	var form = document.getElementById(id);
	var regex = /^\D?(\d{3})\D?\D?(\d{3})\D?(\d{4})$/;
	if (regex.test(form.value)){
		return true;
	}else{
		alert('Please enter a valid phone number.');
		return false;
	}
}

function isAgreed(id)
{
	var form = document.getElementById(id);
	if(form.checked){
		return true;
	}else{
		alert('You must agree to the terms and conditions.');
	}
}