﻿function checkEmail(Address)
{
	// An address must start with a letter followed by one or more letters, digits or _
	// These characters can be repeated zero or more times separated by . or -
	// The @ can then be followed by the same combination that can come before it
	// Followed by and ending in one or more groups of . followed by between 2 or 4 letters
	//
	re = /^[a-zA-Z]\w*([\.-]?\w+)*@\w+([\.-]?\w+)*(\.[a-zA-Z]{2,4})+$/;
	return re.test(Address)
}

function checkName(Name)
{
	// A name can consist of one or more characters chosen from the list in square brackets
	//
	re=/^([A-Za-z '-])+$/;
	return re.test(Name)
}
function checkContact()
{
	var fName = document.getElementById('firstName').value;
	var lName = document.getElementById('lastName').value;
	var address = document.getElementById('email').value;
	var comments = document.getElementById('comments').value;
	var error = false;
	var errorMsg = "";
	
	if (fName.length < 1)
	{	errorMsg = 'Error in first name - must contain at least 1 letter' + "\n";
		error = true
	}
	else if (!checkName(fName))
	{	errorMsg = 'Error in first name- can only contain letters hyphen or quote' + "\n";
		error = true
	};
	
	if (lName.length < 2)
	{	errorMsg = errorMsg + 'Error: last name must be 2 - 20 characters' + "\n";
		error = true
	}	
	else if (!checkName(lName))
	{	errorMsg = errorMsg + 'Error in last name- can only contain letters hyphen or quote' + "\n";
			error = true
	};
		
	if (!checkEmail(address))
	{	errorMsg = errorMsg + 'Error in email address' +"\n";
		error = true
	};
	
	if (comments == "")
	{	errorMsg = errorMsg + 'You must enter a comment';
		error = true;
	};
	
	if( error ) alert(errorMsg);
	
	return !error;
}

