// JavaScript Document
// form validation - core validation routine
function setupValidation()
{
	if(document.getElementById("hire_request"))
	{
		var frmvalidator = new Validator("hire_request");
		
		// fullname, address, postcode, phonenumber, 
		// ref1fullname, ref1address, ref1postcode, ref1phonenumber, 
		// ref2fullname, ref2address, ref2postcode, ref2phonenumber,
		// agreeterms
			
		frmvalidator.addValidation("fullname", "req", "Please enter your name");
		frmvalidator.addValidation("address", "req", "Please enter your postal address");
		frmvalidator.addValidation("postcode", "req", "Please enter your postcode");
		frmvalidator.addValidation("phonenumber", "req", "Please enter your phone number");
		frmvalidator.addValidation("email", "req", "Please enter your email address");
		frmvalidator.addValidation("email", "email", "Please enter a valid email address");

		frmvalidator.addValidation("startdate_month", "dontselect=0", "Please select a month for the start date");
		frmvalidator.addValidation("enddate_month", "dontselect=0", "Please select a month for the end date");
		frmvalidator.addValidation("startdate_date", "dontselect=0", "Please select a day for the start date");
		frmvalidator.addValidation("enddate_date", "dontselect=0", "Please select a day for the end date");
		frmvalidator.addValidation("startdate_year", "dontselect=0", "Please select a year for the start date");
		frmvalidator.addValidation("enddate_year", "dontselect=0", "Please select a year for the end date");

		frmvalidator.setAddnlValidationFunction("DoCustomValidation");
	}
}

// form validation - additional custom validation steps
function DoCustomValidation()
{
	  // grab a reference to the form
	  //var frm = document.forms["hire_request"];
	  var frm = document.getElementById("hire_request");
	    
	  // compare dates to ensure end not before start
	  if((getEndDateAsString() != null) && (getStartDateAsString() != null))
	  {
		//both valid dates
		
		var DateResult = compareDates(getStartDateAsString(),"dd-MM-yyyy", getEndDateAsString(), "dd-MM-yyyy");
		
		if(DateResult == 1)
		{ 
			alert("Please enter a start date that is BEFORE the end date");
			return false;
		}
		
		if(DateResult == -1)
		{ 
			alert("Please enter a valid start date and end date - -1");
			alert("start - " + getStartDateAsString());
			alert("end - " + getEndDateAsString());
			
			return false;
		}
		
		// DateResult must be == 0, so it has passed, continue
	  }
	  else
	  {
		alert("Please enter a valid start date and end date");
		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();
	});
}
