// JavaScript Document

function validate ()
	{
		// name - non integer at least 2 characters
		var name = document.frmContact.name;
		var nameError = 0;
		
		if ((name.value.length < 2) || (isNaN (name.value) == false))
			{
				nameError ++;
				alert ('Please enter a valid name');
				return false;
			}
			
		// email - must have @ and .
		if (nameError == 0)
			{
				var email = document.frmContact.email;
				var emailError = 0;
				
				// @ must have at least 1 preceding character
				// . must have at least 2 following characters
				var posAt = email.value.indexOf ('@');
				var posDot = email.value.lastIndexOf ('.');
					
				// posDot will be -1 if it has not been entered
					if (posDot != -1)
						{
							posDot = email.value.length - posDot;
						}
				
				// perform test
				if ((posAt < 1) || (posDot < 3 ))
					{
						emailError ++;
						alert ('Please enter a valid email address');
						return false;
					}
			}
		
		// telephone - must be integer at least 10 characters
		if (emailError == 0)
			{
				var telephone = document.frmContact.telephone;
				var telephoneError = 0;
				
				if ((telephone.value.length < 10) || (isNaN (telephone.value)))
					{
						telephoneError ++;
						alert ('Please enter a valid telephone number with only numbers and no spaces or other characters');
						return false;
					}
			}
		
		// subject - must not be omitted
		if (telephoneError == 0)
			{
				var subject = document.frmContact.subject;
				var subjectError = 0;
				
				if (subject.value == '')
					{
						subjectError ++;
						alert ('Please enter a subject');
						return false;
					}
			}
		
		// message - must not be omitted
		if (subjectError == 0)
			{
				var message = document.frmContact.message;
				var messageError = 0;
				
				if (message.value == '')
					{
						messageError ++;
						alert ('Please enter a message');
						return false;
					}
			}
		
		// let the user confirm
		if (messageError == 0)
			{
				var userConfirm = confirm ('Are you sure this information is correct?');
				
				if (userConfirm == false)
					{
						return false;
					}
			}
	}