function validate(theForm)
{
	return (
		checkString(theForm.firstname, "\"First Name\"", false) &&
		checkString(theForm.lastname, "\"Last Name\"", false) &&
		checkDropdown(theForm.birthday, "\"Birth Day\"", false) &&
		checkDropdown(theForm.birthmonth, "\"Birth Month\"", false) &&
		checkDropdown(theForm.birthyear, "\"Birth Year\"", false) &&
		checkDropdown(theForm.gender, "\"Gender\"", false) &&
		checkString(theForm.address, "\"Street Name\"", false) &&
		checkString(theForm.city, "\"City/Town\"", false) &&
		checkDropdown(theForm.county, "\"State\"", false) &&
		checkString(theForm.zipcode, "\"Post Code\"", false) &&
		checkString(theForm.country, "\"Country\"", false) &&
		checkDropdown(theForm.occupancy, "\"Occupancy\"", false) &&
		checkNumericIgnoreWhitespace(theForm.homephone, "\"Home Phone\"", false) &&
		checkNumericIgnoreWhitespace(theForm.mobilephone, "\"Mobile Phone\"", false) &&
		checkEmail(theForm.email, false)  &&
		checkString(theForm.prevaddress, "\"Previous Address Street Name\"", true) &&
		checkString(theForm.prevcity, "\"Previous Address City/Town\"", true) &&
		checkString(theForm.prevzipcode, "\"Previous Address Post Code\"", true) &&
		checkString(theForm.prevcountry, "\"Previous Address Country\"", true) &&
		checkDropdown(theForm.prevoccupancy, "\"Previous Address Occupancy\"", true) &&
		checkNonNumeric(theForm.employer, "\"Employer Name\"", false) &&
		checkString(theForm.jobtitle, "\"Job Title\"", false) &&
		checkString(theForm.workaddress, "\"Work Address\"", false) &&
		checkString(theForm.workcity, "\"Work City\"", false) &&
		checkDropdown(theForm.workcounty, "\"Work County\"", false) &&
		checkString(theForm.workzipcode, "\"Work Post Code\"", false) &&
		checkNumericIgnoreWhitespace(theForm.workphone, "\"Employer Phone\"", false) && 
		checkDropdown(theForm.directdeposit, "\"Direct Debit\"", false) &&
		checkNumeric(theForm.monthlyincome, "\"Monthly Salary\"", false) &&
		checkDropdown(theForm.payperiod, "\"Pay Frequency\"", false) &&
		checkDropdown(theForm.incomesource, "\"Income Source\"", false) &&
		checkPrivacyPolicy(AcceptPrivacyPolicy)
	);
}

function validateNoPrev(theForm)
{
	return (
		checkString(theForm.firstname, "\"First Name\"", false) &&
		checkString(theForm.lastname, "\"Last Name\"", false) &&
		checkDropdown(theForm.birthday, "\"Birth Day\"", false) &&
		checkDropdown(theForm.birthmonth, "\"Birth Month\"", false) &&
		checkDropdown(theForm.birthyear, "\"Birth Year\"", false) &&
		checkDropdown(theForm.gender, "\"Gender\"", false) &&
		checkString(theForm.address, "\"Street Name\"", false) &&
		checkString(theForm.city, "\"City/Town\"", false) &&
		checkDropdown(theForm.county, "\"State\"", false) &&
		checkString(theForm.zipcode, "\"Post Code\"", false) &&
		checkString(theForm.country, "\"Country\"", false) &&
		checkDropdown(theForm.occupancy, "\"Occupancy\"", false) &&
		checkEmail(theForm.email, false)  &&
		checkNumericIgnoreWhitespace(theForm.mobilephone, "\"Mobile Phone\"", false) &&
		checkNumericIgnoreWhitespace(theForm.homephone, "\"Home Phone\"", false) &&
		checkDropdown(theForm.cardType, "\"Debit Card Type\"", false) &&
		checkString(theForm.nationalID, "\"UK National ID\"", false) &&
		checkNonNumeric(theForm.employer, "\"Employer Name\"", false) &&
		checkString(theForm.jobtitle, "\"Job Title\"", false) &&
		checkDropdown(theForm.monthlyincome, "\"Monthly Salary\"", false) &&
		checkNumericIgnoreWhitespace(theForm.workphone, "\"Employer Phone\"", false) &&
		checkDropdown(theForm.payperiod, "\"Pay Frequency\"", false) &&
		checkDropdown(theForm.directdeposit, "\"Direct Debit\"", false) &&
		checkDropdown(theForm.incomesource, "\"Income Source\"", false) &&
		checkDropdown(theForm.empyears, "\"Years at Employer\"", false) &&
		checkDropdown(theForm.empmonths, "\"Months at Employer\"", false) &&
		checkPrivacyPolicy(AcceptPrivacyPolicy)
	);
}

function validateWithBankInfo(theForm)
{
	var AcceptPrivacyPolicy, OptionalFields, isValid;
	
	//AcceptPrivacyPolicy = document.getElementById("AcceptPrivacyPolicy").checked;

	isValid = (
		checkDropdown(theForm.title, "\"Title\"", false) &&
		checkString(theForm.firstname, "\"First Name\"", false) &&
		checkString(theForm.lastname, "\"Last Name\"", false) &&
		checkEmail(theForm.email, false)  &&
		checkNumericIgnoreWhitespace(theForm.homephone, "\"Home Phone\"", false) &&
		checkNumericIgnoreWhitespace(theForm.mobilephone, "\"Mobile Phone\"", false) &&
		checkString(theForm.address, "\"House Name/Number\"", false) &&
		checkString(theForm.address2, "\"Street Name\"", false) &&
		checkString(theForm.city, "\"City/Town\"", false) &&
		checkDropdown(theForm.county, "\"State\"", false) &&
		checkString(theForm.zipcode, "\"Post Code\"", false) &&
		checkString(theForm.country, "\"Country\"", false) &&
		checkDropdown(theForm.occupancy, "\"Occupancy\"", false) &&
		checkDropdown(theForm.cardType, "\"Debit Card Type\"", false) &&
		checkDropdown(theForm.birthday, "\"Birth Day\"", false) &&
		checkDropdown(theForm.birthmonth, "\"Birth Month\"", false) &&
		checkDropdown(theForm.birthyear, "\"Birth Year\"", false) &&		
		checkNonNumeric(theForm.employer, "\"Employer Name\"", false) &&
		checkString(theForm.jobtitle, "\"Job Title\"", false) &&
		checkNumericIgnoreWhitespace(theForm.workphone, "\"Employer Phone\"", false) &&
		checkCurrency(theForm.monthlyincome, "\"Monthly Salary\"", false) &&		
		checkDropdown(theForm.directdeposit, "\"Direct Debit\"", false) &&				
		checkDropdown(theForm.incomesource, "\"Income Source\"", false) &&		
		checkDropdown(theForm.timeatemployer, "\"Time at Employer\"", false) &&
		checkDropdown(theForm.payperiod, "\"Pay Frequency\"", false) 
		//checkPrivacyPolicy(AcceptPrivacyPolicy)
	);
	
	try {
		OptionalFields = document.getElementById("OptionalFields").value;
	}
	catch( err ) {
		isValid = isValid &&
			checkNumericIgnoreWhitespace(theForm.bankAccountNumber, "\"Bank Account Number\"", false) &&
			checkNumericIgnoreWhitespace(theForm.bankSortCode, "\"Bank Sort Code\"", false) &&
			checkString(theForm.nationalID, "\"National ID\"", false)	
	}
	
	
	return isValid;
}

function checkPrivacyPolicy(AcceptPrivacyPolicy)
{
	if (AcceptPrivacyPolicy) {
		return true;
	} else {
		alert("Please check that you have read and accept the privacy policy");
		return false;
	}
}
	