function checkForm(form) {
		
	var errorMsg = "";
	var formTitle = form.formTitle.value;
	var yesNoReg = "(^(yes|no)\$)";
	var stateReg = "(ACT|NSW|NT|QLD|SA|TAS|VIC|WA|)";
	var contactReg = "(home|work|mobile)"
	var timeReg = "(morning|afternoon|evening)";
	var methodReg = "(email|mail|phone)";
	var dayReg = "(monday|tuesday|wednesday|thursday|friday)";
	
	//Validate required fields on form
	errorMsg += isFieldValid(form.fname1.value, "Provider 1 - first name","1", "50", "text");	
	errorMsg += isFieldValid(form.sname1.value, "Provider 1 - surname","1", "50", "text");			
	errorMsg += isFieldValid(form.speciality1.value, "Provider 1 - specialty","1", "50", "text");
	if (form.p_no1.value.length != 0) {
		errorMsg += isFieldValid(form.p_no1.value, "Provider 1 - provider number","1", "50", "alphaNum");
	}	
	errorMsg += isFieldValid(form.busName.value, "Business Name","1", "200", "alphaNum");
	errorMsg += isFieldValid(form.address.value, "Address","1", "200", "alphaNum");	
	errorMsg += isFieldValid(form.suburb.value, "Suburb","1", "50", "text");	
	errorMsg += isFieldValid(form.postcode1.value, "Post code","4", "4", "num");
	errorMsg +=isFieldValid(getSelectedOptionValue(form.state), "State","2", "3", "optionsList",stateReg);	
	
	//Validate all other fields on form
	errorMsg += isFieldValid(form.title1.value, "Provider 1 - title","0", "5", "text");
	errorMsg += isFieldValid(form.title2.value, "Provider 2 - title","0", "5", "text");
	errorMsg += isFieldValid(form.title3.value, "Provider 3 - title","0", "5", "text");
	errorMsg += isFieldValid(form.title4.value, "Provider 4 - title","0", "5", "text");	
	errorMsg += isFieldValid(form.fname2.value, "Provider 2 - first name","0", "50", "text");
	errorMsg += isFieldValid(form.fname3.value, "Provider 3 - first name","0", "50", "text");
	errorMsg += isFieldValid(form.fname4.value, "Provider 4 - first name","0", "50", "text");
	errorMsg += isFieldValid(form.sname2.value, "Provider 2 - surname","0", "50", "text");
	errorMsg += isFieldValid(form.sname3.value, "Provider 3 - surname","0", "50", "text");
	errorMsg += isFieldValid(form.sname4.value, "Provider 4 - surname","0", "50", "text");	
	errorMsg += isFieldValid(form.speciality2.value, "Provider 2 - specialty","0", "50", "text");
	errorMsg += isFieldValid(form.speciality3.value, "Provider 3 - specialty","0", "50", "text");
	errorMsg += isFieldValid(form.speciality4.value, "Provider 4 - specialty","0", "50", "text");
	errorMsg += isFieldValid(form.p_no2.value, "Provider 2 - provider number","0", "50", "alphaNum");
	errorMsg += isFieldValid(form.p_no3.value, "Provider 3 - provider number","0", "50", "alphaNum");
	errorMsg += isFieldValid(form.p_no4.value, "Provider 4 - provider number","0", "50", "alphaNum");	
	errorMsg += isFieldValid(form.phone1.value, "Preferred Phone Number 1","0", "15", "num");
	errorMsg +=isFieldValid(getSelectedOptionValue(form.contactNo1), "Phone Number Type 1","0", "6", "optionsList",contactReg);	
	errorMsg += isFieldValid(form.phone2.value, "Preferred Phone Number 2","0", "15", "num");
	errorMsg +=isFieldValid(getSelectedOptionValue(form.contactNo2), "Phone Number Type 2","0", "6", "optionsList",contactReg);	
	errorMsg += isFieldValid(form.email.value, "Email Address","0", "100", "email");
	errorMsg +=isFieldValid(getSelectedOptionValue(form.prefContactMethod), "Preferred Contact Method","0", "10", "optionsList",methodReg);	
	errorMsg +=isFieldValid(getSelectedOptionValue(form.prefContactTime), "Preferred Contact Time","0", "10", "optionsList",timeReg);
	errorMsg +=isFieldValid(getSelectedOptionValue(form.prefContactDay), "Preferred Contact Day","0", "10", "optionsList",dayReg);
	errorMsg += isFieldValid(getRadioButtonValue(form.hicapsPractice),"Are you purchasing a practice with an existing HICAPS terminal?",0,3,"optionsList",yesNoReg);	
	errorMsg += isFieldValid(getRadioButtonValue(form.pms),"Do you have a Practice Management System?",0,3,"optionsList",yesNoReg);	
	errorMsg += isFieldValid(form.sourceRef.value, "How did you find out about HICAPS","0", "50", "text");	
	errorMsg += isFieldValid(form.addComments.value, "Additional Comments","0", "300", "alphaNum");
   	
	return errorMsg;
}

function submitForm(form) {

	var errorMsg = checkForm(form);
	var reEnterMsg = " <p> Please select the 'Close' button below to return to the email form.</p>";
	var formTitle = form.formTitle.value;	
	
	if (form.p_no1.value.length == 0) {
		form.p_no1.value = "not provided";
	}	
	
	if (isEmpty(errorMsg)) {
		globalWindowOpen('','hicapsRequestForm_win',350,300,1,0,0,1,0,0,0,300,300);
		form.submit();
   
	} else {

	popup = window.open("","hicapsRequestFormFinish_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/HICAPS/GlobalStyle.css' type='text/css'></head>");
	popup.document.write("<title>");
	popup.document.write(formTitle);
	popup.document.write("</title>");
	popup.document.write("<body>");	
	popup.document.write("<strong>");
	popup.document.write(formTitle);
	popup.document.write("</strong><br><br>");
	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();opener.focus();'></center></form>");
	popup.document.write("</body>");
	popup.document.write("</html>");
	popup.document.close();
	popup.focus(); // added to give focus to popup window
	}
}