// JavaScript Document
// form validation - core validation routine
/////////////////////////////////////////////////
function setupValidation()
{
	if(document.getElementById("bookavisit"))
	{
		var frmvalidator = new Validator("bookavisit");
			
		frmvalidator.addValidation("fullname", "req", "Please enter your name");
		frmvalidator.addValidation("phonenumber", "req", "Please enter your phone number");
		frmvalidator.addValidation("email", "req", "Please enter your email address");
		frmvalidator.addValidation("branch", "dontselect=0", "Please choose which nursery to visit");
		frmvalidator.addValidation("email", "email", "Please enter a valid email address");
		frmvalidator.addValidation("date_month", "dontselect=0", "Please select a month for your visit");
		frmvalidator.addValidation("date_day", "dontselect=0", "Please select a day for your visit");
		frmvalidator.addValidation("date_year", "dontselect=0", "Please select a year for your visit");
		frmvalidator.setAddnlValidationFunction("DoCustomValidation");
		
	}
}

// custom validation
/////////////////////////////////////////////////
// form validation - additional custom validation steps
function DoCustomValidation()
{
	  // grab a reference to the form
	  var frm = document.forms["bookingfrm"];
	  	  
	  // compare dates to ensure end not before start
	  if(getStartDateAsString() == null)
	  {
		alert("Please enter a valid date for your visit");
		return false;
	  }

	  // validate the telephone number
	  if(!document.getElementByID("phonenumber").value.match(/^\+?[\d\s]+$/))
	  {
		alert("Please enter a valid phone number");
		return false;
	  }
	
	// no errors found throughout, return true
	return true;
}

// global startup function
/////////////////////////////////////////////////
if(document.getElementById && document.createTextNode)
{
	addEvent(window, 'load', function(e)
	{
		// form validation
		setupValidation();
	});
}
