function validateForm() {
	

 	if (!document.form.name.value) 
 	{
        alert("You must enter your name before submitting this form.");
        document.form.name.focus();
		return false;     
   	}

 	if (!document.form.address1.value) 
	{
		alert("You must enter your street name and house number before submitting this form.");
        document.form.address1.focus();
		return false; 
	}

 	if (!document.form.town.value) 
	{
		alert("You must enter your town before submitting this form.");
        document.form.town.focus();
		return false; 
	}
	
	if (!document.form.postCode.value) 
	{
		alert("You must enter your postcode before submitting this form.");
       	document.form.postCode.focus();
		return false; 
	}
	
	
	if (!validPhoneNumber(document.form.phone.value))
	{
		document.form.phone.focus();
		return false;
	}

	if (!validEmail(document.form.email.value)) 
	{
		document.form.email.focus();
		return false;
	}
	
	if (!document.form.dob.value) 
	{
		alert("You must enter your date of birth before submitting this form.");
       	document.form.dob.focus();
		return false; 
	}
	
	if (!document.form.course.value) 
	{
		alert("You must enter a selected course or activity before submitting this form.");
       	document.form.course.focus();
		return false; 
	}
	
	if (!document.form.dates.value) 
	{
		alert("You must enter your preferred dates before submitting this form.");
       	document.form.dates.focus();
		return false; 
	}

 	
	// if we have made it to here, everything is valid, so form can now be submitted.
	
	return true;

	
}

function validEmail() {
		
		var email = document.form.email.value;

		if (email == '') { 			
			alert("You must enter your email address before submitting this form.");
			return false; }

		var invalid = "\:\,\;\#$\%\&\(\)\+\=\/"; 

		for(var i=0; i<invalid.length; i++)
		{
			var badChar = invalid.charAt(i);

			if (email.indexOf(badChar,0) != -1)
			{
				alert("The e-mail address you entered contains one or more invalid characters.")
				return false;
			}
		}
	
		var atSignPos = email.indexOf('@',1);  

		if (atSignPos == -1)
		{
			alert("The e-mail address you entered is missing its @ sign.")
			return false;
		}
		else if (email.indexOf('@',atSignPos+1) != -1)  
		{
			alert("The e-mail address you entered contains too many @ signs." )
			return false;
		}

		var dotPos = email.indexOf('.',atSignPos+2); 
		
		if (dotPos == -1)
		{
			alert("The e-mail address you entered is missing its extension.")
			return false;
		}
		else if (dotPos+3 > email.length) 
		{
			alert("The e-mail address you entered appears to use an invalid extension.")
			return false;
		}

		return true;
	}
	

function validPhoneNumber() {
	var number = document.form.phone.value;
	var validChars = "0123456789()-+ ";
	var i = 0;
	if (number =="") 
	{
		alert("You must enter your telephone number before submitting this form.");
		return false; 
	}


	for (i = 0; i <= number.length -1; i++) 
	{
		if (validChars.indexOf(number.charAt(i)) == -1) 
		{
			alert(number.charAt(i) + " is not valid for a telephone number.")
			return false;
		} 

	} 

	return true;
}  


