/*
//===============================================================================
//copy this function to the page in question and assign the functions to the fields as appropriate.
function validateForm(theForm)
	{
		// Customize these calls for your form
	
		// Start ------->
		if (!validRequired(theForm.fullname,"Name"))
			return false;
	
		if (!validEmail(theForm.email,"Email Address",true))
			return false;
	
		if (!validDate(theForm.available,"Date Available",true))
			return false;
	
		if (!validNum(theForm.yearsexperience,"Years Experience",true))
			return false;
							
		if (!validMatching(theForm.field1, theForm.field2))
			return false;
		// <--------- End
		
		return true;
	}
// use onSubmit="return validateForm(this)" in the form tag
//===============================================================================
*/
function isEmailAddr(email)
	{
		var result = false;
		var theStr = new String(email);
		var index = theStr.indexOf("@");
		if (index > 0)
			{
				var pindex = theStr.indexOf(".",index);
				if ((pindex > index+1) && (theStr.length > pindex+1))
				result = true;
			}
		return result;
	}

function validRequired(formField,fieldLabel)
	{
		var result = true;
		
		if (formField.value=="")
			{
				alert('Please enter a value for the "' + fieldLabel +'" field.');
				formField.focus();
				result = false;
			}
		
		return result;
	}

function allDigits(str)
	{
		return inValidCharSet(str,"0123456789");
	}
	
	function inValidCharSet(str,charset)
	{
		var result = true;
	
		// Note: doesn't use regular expressions to avoid early Mac browser bugs	
		for (var i=0;i<str.length;i++)
			if (charset.indexOf(str.substr(i,1))<0)
			{
				result = false;
				break;
			}
		
		return result;
	}

function validEmail(formField,fieldLabel,required)
	{
		var result = true;
		
		if (required && !validRequired(formField,fieldLabel))
			result = false;
	
		if (result && ((formField.value.length < 3) || !isEmailAddr(formField.value)) )
		{
			alert("Please enter a complete email address in the form: yourname@yourdomain.com");
			formField.focus();
			result = false;
		}
	   
	  return result;
	
	}

function validNum(formField,fieldLabel,required)
	{
		var result = true;
	
		if (required && !validRequired(formField,fieldLabel))
			result = false;
	  
		if (result)
		{
			if (!allDigits(formField.value))
			{
				alert('Please enter a number for the "' + fieldLabel +'" field.');
				formField.focus();		
				result = false;
			}
		} 
		
		return result;
	}
	
function validRange(formField,fieldLabel,minValue, maxValue)
	{
		var result = true;

		if (!(formField.value>=minValue) || !(formField.value<=maxValue))
			{
				alert('Please enter a number between ' + minValue + ' and ' + maxValue + ' for the "' + fieldLabel +'" field.');
				formField.focus();		
				result = false;
			}
		
		return result;
	}


function validInt(formField,fieldLabel,required)
	{
		var result = true;
	
		if (required && !validRequired(formField,fieldLabel))
			result = false;
	  
		if (result)
		{
			var num = parseInt(formField.value,10);
			if (isNaN(num))
			{
				alert('Please enter a number for the "' + fieldLabel +'" field.');
				formField.focus();		
				result = false;
			}
		} 
		
		return result;
	}


function validDate(formField,fieldLabel,required)
	{
		var result = true;
	
		if (required && !validRequired(formField,fieldLabel))
			result = false;
			
		if (result)
			{
				var elems = formField.value.split("/");
				
				result = (elems.length == 3); // should be three components
				
				if (result)
				{
					var day = parseInt(elems[0],10);
					var month = parseInt(elems[1],10);
					var year = parseInt(elems[2],10);
					result = allDigits(elems[0]) && (day > 0) && (day < 32) &&
							 allDigits(elems[1]) && (month > 0) && (month < 13) &&
							 allDigits(elems[2]) && ((elems[2].length == 2) || (elems[2].length == 4));
				}
				
				if (!result)
				{
					alert('Date must be in the format DD/MM/YYYY for the "' + fieldLabel +'" field.');
					formField.focus();		
				}
			}

		return result;
	}

function validMatching(formField1,formField2)
	{
		var result = true;
		if (!eval(formField1.value==formField2.value))
			{
			alert("Your password and password confirmation did not match. These must be identical.");
			formField1.focus();
			result = false;
			}
		
		return result;
	}
	
function validRadioButtons(formField1, fieldLabel)
	{
	var radio_choice=false;
	
	for (counter=0;counter < formField1.length; counter++)
		{
			if (formField1[counter].checked)
				radio_choice=true;
		}
		
	var result = true;
	if (!radio_choice)
		{
		alert("You must select one of the "+fieldLabel+" radio buttons.");
		result = false;
		}
	return result;
	}
		
function validDropDown(formField1, fieldLabel)
	{
	if (formField1.value=='' || formField1.value=='0')
		{
		alert("You must select a "+fieldLabel+" item.");
		result = false;
		}
	return result;
	}


/* 
====================================================
THIS IS THE STUFF TO INCLUDE ONTO THE PAGE
THIS IS THE STUFF TO INCLUDE ONTO THE PAGE
THIS IS THE STUFF TO INCLUDE ONTO THE PAGE
THIS IS THE STUFF TO INCLUDE ONTO THE PAGE
====================================================

' in the form tag -->   onSubmit="return validateForm(this);" 


function validateForm(theForm)
	{
		// Customize these calls for your form
	
		// Start ------->
		if (!validRequired(theForm.FirstName,"First Name"))
			return false;
			
		if (!validRequired(theForm.LastName,"Last Name"))
			return false;
	
		if (!validEmail(theForm.Email,"Email Address",true))
			return false;
			
		if (!validRequired(theForm.BillingAddress,"Billing Address"))
			return false;
			
		if (!validRequired(theForm.BillingCounty,"Billing County"))
			return false;
			
		if (!validRequired(theForm.BillingPostcode,"Billing post code"))
			return false;
			
		if (!validRequired(theForm.CompanyPhone,"Company Phone Number"))
			return false;
			
		//check whether to use the same billing address
		if (!theForm.SameDeliveryAddress.checked)
			{
			//validate the Delivery address items
			if (!validRequired(theForm.DeliveryAddress,"Delivery Address"))
				return false;
				
			if (!validRequired(theForm.DeliveryCounty,"Delivery County"))
				return false;
				
			if (!validRequired(theForm.DeliveryPostcode,"DeliveryCounty"))
				return false;
			
			}
			
		if (!validRequired(theForm.UserName,"User name"))
			return false;
						
		if (!validRequired(theForm.UserPassword,"Password"))
			return false;
			
		if (!validRequired(theForm.Confirm,"Password confirmation"))
			return false;
			
		if (!validMatching(theForm.UserPassword, theForm.Confirm))
			return false;
		
		// <--------- End
		return true;
	}
	
*/
