function checkForm(form) {
	
	var errorMsg = "";
	var titleReg = "(^(Mr|Mrs|Ms|Miss|Other)\$)";
	
	var contactDayReg = "(^([12][0-9]|3[01]|0?[1-9])\$)";
	var contactMonthReg = "(^([1][012]|0?[1-9])\$)";
	var dobYearReg = "(((19|20)[0-9][0-9])\$)";
	var contactTimeReg = "(^(Morning|Afternoon|Evening)\$)";
	var contactMethodReg = "(^(Email|Phone)\$)";
	var stateReg = "(^(ACT|NSW|NT|QLD|SA|TAS|VIC|WA|Other)\$)";
	var yesNoReg = "(^(Yes|No)\$)";
	var prefPhoneReg = "(^(Mobile|Business|Private)\$)";

	var otherTitleMandatory = 0;
	var emailMandatory = 0;
	var phoneMin = 0;
	var otherStateMin = 0;
	var businessMin = 0;

	var theDate = new Date();
	var currentYear = theDate.getFullYear();
	var nextYear = currentYear + 1;
	var contactYearReg = "(" + currentYear +"|"+nextYear+ ")";
	
	var formTitle = form.formTitle.value;

	if (getSelectedOptionValue(form.title) == "Other")
	{
		otherTitleMandatory = 1;
	}

	if (formTitle != "aboutUs")
	{
		if (getSelectedOptionValue(form.contactMethod) == "Email")
		{
			emailMandatory = 1;
		}

		if ((getSelectedOptionValue(form.contactMethod) == "Phone") || (form.phone.value.length >0))
		{
			phoneMin = 8;
			
		}
	}

errorMsg += isFieldValid(getSelectedOptionValue(form.title),"Your details - Title",1,5,"optionsList",titleReg);
errorMsg += isFieldValid(form.otherTitle.value,"Your details - Other Title",otherTitleMandatory,15,"text");
errorMsg += isFieldValid(form.firstName.value,"Your details - First name",1,50,"text");

if ((formTitle == "personal") || (formTitle == "finAdvice"))
{
	errorMsg += isFieldValid(form.middleName.value,"Your details - Middle name",0,50,"text");
}

errorMsg += isFieldValid(form.surname.value,"Your details - Surname",1,50,"text");

if ((formTitle == "businessSolutions") || (formTitle == "agribusiness"))
{
	errorMsg += isFieldValid(form.businessName.value,"Your details - Business name",1,60,"alphanum");
}

if ((formTitle == "finAdvice"))
{
	errorMsg += isFieldValid(form.dobDay.value,"Your contact information - Date of birth(day)",0,2,"custom",contactDayReg);
	errorMsg += isFieldValid(form.dobMonth.value,"Your contact information - Date of birth(month)",0,2,"custom",contactMonthReg);
	errorMsg += isFieldValid(form.dobYear.value,"Your contact information - Date of birth(year)",0,4,"custom",dobYearReg);
}

errorMsg += isFieldValid(form.address.value,"Your details - Address",1,80,"alphaNum");
errorMsg += isFieldValid(form.suburb.value,"Your details - Suburb",1,50,"text");
errorMsg += isFieldValid(getSelectedOptionValue(form.state),"Your details - State",1,6,"custom",stateReg);

if (form.country.value == "Australia" || form.country.value == "australia" || form.country.value == "") {
	errorMsg += isFieldValid(form.postcode.value,"Your details - Postcode",4,4,"num");
} else {
	errorMsg += isFieldValid(form.postcode.value,"Your details - Postcode",1,10,"alphaNum");
}

errorMsg += isFieldValid(form.otherState.value,"Your details - State (Other)",otherStateMin,30,"text");
errorMsg += isFieldValid(form.country.value,"Your details - Country",0,50,"text");

if (formTitle != "aboutUs")
{
	if (formTitle != "finAdvice")
	{
		errorMsg += isFieldValid(getSelectedOptionValue(form.prefPhone),"Your contact information - Preferred telephone no.",0,10,"custom",prefPhoneReg);
	}
	errorMsg += isFieldValid(form.phone.value,"Your contact information - Phone number(phone)",phoneMin,14,"num");
}

errorMsg += isFieldValid(form.emailAddress.value,"Your contact information -  Email",emailMandatory,50,"email");

if (formTitle != "aboutUs")
{
	errorMsg += isFieldValid(getSelectedOptionValue(form.contactMethod),"Your contact information - Preferred contact method",1,5,"optionsList",contactMethodReg);
	errorMsg += isFieldValid(getSelectedOptionValue(form.contactTime),"Your contact information - Preferred contact time",1,9,"optionsList",contactTimeReg);
	if (formTitle != "finAdvice")
	{
		errorMsg += isFieldValid(form.contactDay.value,"Your contact information - Preferred contact date(day)",0,2,"custom",contactDayReg);
		errorMsg += isFieldValid(form.contactMonth.value,"Your contact information - Preferred contact date(month)",0,2,"custom",contactMonthReg);
		errorMsg += isFieldValid(form.contactYear.value,"Your contact information - Preferred contact date(year)",0,4,"custom",contactYearReg);
		errorMsg += isFieldValid(form.bankerName.value,"Your enquiry - Banker name",0,50,"text");
	}
	errorMsg += isFieldValid(form.branch.value,"Your enquiry - Preferred National branch",0,50,"alphanum");
}

if (formTitle == "finAdvice")
{
	errorMsg += isFieldValid(form.mobile.value,"Your contact information - Mobile number(phone)",0,14,"num");
}

if (formTitle == "aboutUs")
{
	errorMsg += isFieldValid(form.shareholderNumber.value,"Your enquiry - Shareholder number",0,50,"alphaNum");
	errorMsg += isFieldValid(form.shareHoldingName.value,"Your enquiry - Name of shareholding",0,50,"alphaNum");
}

errorMsg += isFieldValid(form.comments.value,"Your enquiry -  - Additional comments",0,1000,"alphaNum");

return errorMsg;

}

function determineTitle(form) {
	var popupTitle = "";

	if (form.formTitle.value == "personal") {
		popupTitle = "<title>Personal appointment request</title>";
	} else if (form.formTitle.value == "businessSolutions") {
		popupTitle = "<title>Email appointment request</title>";
	} else if (form.formTitle.value == "agribusiness") {
		popupTitle = "<title>Agribusiness appointment request</title>";
	} else if (form.formTitle.value == "aboutUs") {
		popupTitle = "<title>Shareholder & dividend enquiries</title>";
	} else if (form.formTitle.value == "finAdvice") {
		popupTitle = "<title>Financial advice enquiry</title>";
	}
	return popupTitle;
}

function determineHeader(form) {
	var popupHeader = "";

	if (form.formTitle.value == "personal") {
		popupHeader = "<strong>Personal appointment request</strong><br><br>";
	} else if (form.formTitle.value == "businessSolutions") {
		popupHeader = "<strong>Email appointment request</strong><br><br>";
	} else if (form.formTitle.value == "agribusness") {
		popupHeader = "<strong>Agribusiness appointment request</strong><br><br>";
	} else if (form.formTitle.value == "aboutUs") {
		popupTitle = "<title>Shareholder & dividend enquiries</title>";
	} else if (form.formTitle.value == "finAdvice") {
		popupTitle = "<title>Financial advice enquiry</title>";
	}
	return popupHeader;
}

function submitForm(form) {
	var errorMsg = checkForm(form);
	var reEnterMsg = " <p> Please click the 'Close' button and reenter it.</p>";

	if (isEmpty(errorMsg)) {
		globalWindowOpen('','genericAppointment_win',350,300,1,0,0,1,0,0,0,300,300);
		form.submit();
   
	} else {
		var pTitle = determineTitle(form);
		var pHeader = determineHeader(form);

		popup = window.open("","genericAppointment_win","width=400,height=400,toolbar=0,location=0,directories=0,status=0,menuBar=0,scrollBars=1,resizable=1");
		popup.document.write("<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN'><html><head>");
		popup.document.write("<link rel='stylesheet' href='/css/National/GlobalStyle.css' type='text/css'></head>");
		popup.document.write(pTitle);
		popup.document.write("<body>");
		
		popup.document.write(pHeader);
		popup.document.write(errorMsg);
		popup.document.write("<br>");
		popup.document.write(reEnterMsg);
		popup.document.write("<center><form><input type=button value=Close onClick=javascript:window.close();></center></form>");
		popup.document.write("</body>");
		popup.document.write("</html>");
		popup.document.close();

	}
}

