/*
<!-- -->
<!-- The copyright in the work that is PublicAccess is the exclusive -->
<!-- property of CAPS Solutions Ltd, and its respective copyright owners, and is -->
<!-- protected under United Kingdom copyright law and other international copyright -->
<!-- treaties and conventions. 
<!-- © 2004. CAPS Solutions Ltd and its licensor(s). All rights reserved. -->
*/

//**********************************************************************************
//checks that all required fields have been filled   Calls functions from
//validate.js
//**********************************************************************************

function verify(f){
		
	//Check for existence of objects on the page prior to checking the object
	//as they may have been commented out during customisation of the site
	var bCaseNoEntered = false;
	if (f.caseNo) {
		bCaseNoEntered = ForceEntry(f.caseNo);
	}
	
	var bPlanningPortalRefEntered = false;
	if (f.PPReference) {
		bPlanningPortalRefEntered = ForceEntry(f.PPReference);
	}
	
	var bAltRefEntered = false;
	if (f.AltReference) {
		bAltRefEntered = ForceEntry(f.AltReference);
	}

	var bTypeEntered = false;
	if (f.srchtype) {
		bTypeEntered = ForceEntry(f.srchtype);
	}
	
	var bStatusEntered = false;
	if (f.srchstatus) {
		bStatusEntered = ForceEntry(f.srchstatus);
	}	
	
	var bDecisionEntered = false;
	if (f.srchdecision) {
		bDecisionEntered = ForceEntry(f.srchdecision);
	}
	
	var bAppealStatusEntered = false;
	if (f.srchapstatus) {
		bAppealStatusEntered = ForceEntry(f.srchapstatus);
	}
	
	var bAppealDecisionEntered = false;
	if (f.srchappealdecision) {
		bAppealDecisionEntered = ForceEntry(f.srchappealdecision);
	}
		
	var bWardEntered = false;
	if (f.srchwardcode) {
		bWardEntered = ForceEntry(f.srchwardcode);
	}
	
	var bParishEntered = false;
	if (f.srchparishcode) {
		bParishEntered = ForceEntry(f.srchparishcode);
	}
	
	var bAgentEntered = false;
	if (f.srchagentdetails) {
		bAgentEntered = ForceEntry(f.srchagentdetails);
	}
	
	var bDateValidatedStartEntered = false;
	if (f.srchDateValidStart) {
		bDateValidatedStartEntered = ForceEntry(f.srchDateValidStart);
	}
	
	var bDateValidatedEndEntered = false;
	if (f.srchDateValidEnd) {
		bDateValidatedEndEntered = ForceEntry(f.srchDateValidEnd);
	}

	var bDateCommitteeStartEntered = false;
	if (f.srchDateCommitteeStart) {
		bDateCommitteeStartEntered = ForceEntry(f.srchDateCommitteeStart);
	}
	
	var bDateCommitteeEndEntered = false;
	if (f.srchDateCommitteeEnd) {
		bDateCommitteeEndEntered = ForceEntry(f.srchDateCommitteeEnd);
	}
	
	var bDateReceivedStartEntered = false;
	if (f.srchDateReceivedStart) {
		bDateReceivedStartEntered = ForceEntry(f.srchDateReceivedStart);
	}
	
	var bDateReceivedEndEntered = false;
	if (f.srchDateReceivedEnd) {
		bDateReceivedEndEntered = ForceEntry(f.srchDateReceivedEnd);
	}
	
	// if searching on dates, check entry for ranges
	if((bDateValidatedEndEntered && !bDateValidatedStartEntered)){
		alert('Please enter a start date for the specified date range.');
		return false;
	}
	
	if(bDateValidatedStartEntered && bDateValidatedEndEntered)
	{
		if(compareDates(f.srchDateValidStart.value,"d/M/y",f.srchDateValidEnd.value,"d/M/y") > 0)
		{			
			alert('Please enter a start date for your search before the end date of your search.');
			return false;
		}
		else if(compareDates(f.srchDateValidStart.value,"d/M/y",f.srchDateValidEnd.value,"d/M/y") < 0)
		{
			alert('One of the dates enter is not of a valid date format');
			return false;
		}
	}

	// if searching on dates, check entry for ranges
	if((bDateCommitteeEndEntered && !bDateCommitteeStartEntered)){
		alert('Please enter a start date for the specified date range.');
		return false;
	}
	
	if(bDateCommitteeStartEntered && bDateCommitteeEndEntered)
	{
		if(compareDates(f.srchDateCommitteeStart.value,"d/M/y",f.srchDateCommitteeEnd.value,"d/M/y") > 0)
		{			
			alert('Please enter a start date for your search before the end date of your search.');
			return false;
		}
		else if(compareDates(f.srchDateCommitteeStart.value,"d/M/y",f.srchDateCommitteeEnd.value,"d/M/y") < 0)
		{
			alert('One of the dates enter is not of a valid date format');
			return false;
		}
	}
	
	// if searching on dates, check entry for ranges
	if((bDateReceivedEndEntered && !bDateReceivedStartEntered)){
		alert('Please enter a start date for the specified date range.');
		return false;
	}
	
	if(bDateReceivedStartEntered && bDateReceivedEndEntered)
	{
		if(compareDates(f.srchDateReceivedStart.value,"d/M/y",f.srchDateReceivedEnd.value,"d/M/y") > 0)
		{			
			alert('Please enter a start date for your search before the end date of your search.');
			return false;
		}
		else if(compareDates(f.srchDateReceivedStart.value,"d/M/y",f.srchDateReceivedEnd.value,"d/M/y") < 0)
		{
			alert('One of the dates enter is not of a valid date format');
			return false;
		}
	}
	
	// if searching on dates, check entry for ranges
	if((bDateCommitteeEndEntered && !bDateCommitteeStartEntered) || (bDateValidatedEndEntered && !bDateValidatedStartEntered) || (bDateReceivedEndEntered && !bDateReceivedStartEntered)){
		alert('Please enter a start date for the specified date range.');
		return false;
	}
	
	// check that at least one search parameter entered
	if (!bAltRefEntered && !bCaseNoEntered && !bPlanningPortalRefEntered && !bTypeEntered && !bStatusEntered && !bDecisionEntered && !bAppealStatusEntered && !bAppealDecisionEntered && !bWardEntered && !bAgentEntered && !bDateCommitteeStartEntered && !bDateValidatedStartEntered && !bDateReceivedStartEntered && !bParishEntered){
		alert("Please enter at least one search criterion.");
		return false;
	}
	
	// check length of caseno field
	if (bCaseNoEntered){
		var iCaseNoLen = f.caseNo.value.length;
		if(iCaseNoLen < 4){
			alert("Application Case Number must be at least four characters in length.");
			return false;
		}
	}
	
	
	// run standard validation
	if (!validateFormData(f)){
		return false;
	}
	
	return true;

}	