function checkBankForm()
{
// defaults for the script
   var errors = '';
   var dateerror      = '';
   var dateerror2      = '';
   var oMyForm = document.appform;
// regular expression patterns
   var validemail     = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
   var validname      = /^([a-zA-Z\-'])+ *([a-zA-Z\- '])*$/;
   var validpc1       = /^[a-zA-Z0-9 ]{2,}$/;
   var validpc2       = /^[a-zA-Z0-9 ]{3,}$/;
   var valid3digit    = /^[0-9]{3}$/;
   var valid4digit    = /^[0-9]{4}$/;
   var validcurrency  = /^[0-9]{1,}$/;
   var validphone     = /^[0-9 ]{11,}$/;
   var validnumber    = /^[0-9]{1,}$/;
   var validday         = /^[\d]{1,}$/;
   var validmnth        = /^[\d]{2}$/;
   var validyear        = /^[\d]{4}$/;

// test for basic mandatory form field values
   if(oMyForm.c1_ttl.value =='')
   { errors+='Select your title from the list.\n'; }
   if(!validname.test(oMyForm.c1_fn.value))
   { errors+='Provide your first name.\n'; }
   if(!validname.test(oMyForm.c1_sn.value))
   { errors+='Provide your last name.\n'; }
// DATE OF BIRTH CHECK
   if(oMyForm.c1_day.value != '' && oMyForm.c1_mnth.value != '' && oMyForm.c1_yr.value != '')
   {
      if(!valid4digit.test(oMyForm.c1_yr.value))
      { dateerror++; }
      if((oMyForm.c1_day.value == 31) && (oMyForm.c1_mnth.value == 4 || oMyForm.c1_mnth.value == 6 || oMyForm.c1_mnth.value == 9 || oMyForm.c1_mnth.value == 11))
      { dateerror++; }
      if((oMyForm.c1_day.value > 29) && (oMyForm.c1_mnth.value == 2)) 
      { dateerror++; }
   }
   else 
   { dateerror++; }
   if(dateerror) 
   { errors+='Invalid date for date of birth.\n'; }
// END OF DATE OF BIRTH CHECK
   if(!validemail.test(oMyForm.c1_em.value))
   { errors+='Provide a valid email address.\n'; }
   if(!validphone.test(oMyForm.c1_th.value) && !validphone.test(oMyForm.c1_tm.value) && !validphone.test(oMyForm.c1_tw.value))
   { errors+='Please provide at least one contact number.\n'; }
   if(!validphone.test(oMyForm.c1_th.value) && oMyForm.c1_th.value !='')
   { errors+='Please provide a valid home number.\n'; }
   if(!validphone.test(oMyForm.c1_tm.value) && oMyForm.c1_tm.value !='')
   { errors+='Please provide a valid mobile number.\n'; }
   if(!validphone.test(oMyForm.c1_tw.value) && oMyForm.c1_tw.value !='')
   { errors+='Please provide a valid work number.\n'; }
   if(oMyForm.c1_th_time.value =='')
   {errors+='Tell us the best time to call you.\n';}
   if(oMyForm.c1_nat.value =='')
   {errors+='Tell us your nationality.\n';}
   if((oMyForm.c1_ad1.value =='') && (oMyForm.c1_ad2.value =='') && (oMyForm.c1_cty.value ==''))
   { errors+='Provide your postal address.\n'; }
   if(!validpc1.test(oMyForm.c1_pc1.value) || !validpc2.test(oMyForm.c1_pc2.value))
   { errors+='Please provide a valid postcode.\n'; }
   if(!validnumber.test(oMyForm.c1_tadyr.value))
   {errors+='How long have you been at your present address?\n';}
   if(oMyForm.c1_livstat.value =='')
   {errors+='Select your living status from the list.\n';}
   if(oMyForm.c1_mar.value =='')
   {errors+='Select your marital status from the list.\n';}
   if(oMyForm.c1_creditrating.value =='')
   {errors+='Select your credit rating from the list.\n';}
   if(oMyForm.c1_occ_type.value =='')
   {errors+='Select your Employment Status from the list.\n';}
   if(!validcurrency.test(oMyForm.c1_occ_inc.value))
   { errors+='Provide your annual income.\n'; }
   if(!validnumber.test(oMyForm.c1_occ_yr.value))
   { errors+='Provide your time in job.\n'; }
	
   if(	( oMyForm.c1_cred_ccj[0].checked == false 			&& oMyForm.c1_cred_ccj[1].checked == false )
		||	( oMyForm.c1_cred_arrear[0].checked == false 		&& oMyForm.c1_cred_arrear[1].checked == false )
		||	( oMyForm.c1_cred_debt[0].checked == false 			&& oMyForm.c1_cred_debt[1].checked == false )
		||	( oMyForm.c1_cred_default[0].checked == false 	&& oMyForm.c1_cred_default[1].checked == false )
		||	( oMyForm.c1_cred_iva[0].checked == false 			&& oMyForm.c1_cred_iva[1].checked == false )
		||	( oMyForm.c1_cred_bankrupt[0].checked == false 	&& oMyForm.c1_cred_bankrupt[1].checked == false )
	)
   {errors+='Please answer all the yes and no credit history questions.\n';}
   if( oMyForm.c1_bank_exist[0].checked == false 			&& oMyForm.c1_bank_exist[1].checked == false )
   {errors+='Please tell us if you have an existing bank account.\n';}
	if( oMyForm.c1_bank_exist[0].checked == true )
	{
		if(!validnumber.test(oMyForm.c1_bank_yr.value))
		{errors+='Please tell us how long you have had your account.\n';}
	}
   if(oMyForm.c1_bank_type.value == '')
   {errors+='Please choose the type of bank account you require.\n';}
   if((oMyForm.c1_bank_type.value != 'good')&& (oMyForm.c1_bank_type.value == 'Professional Business Account' || oMyForm.c1_bank_type.value == 'Privacy Business Account'))
   {
	   errors+='You are not eligible for a Proffessional Business Account but we can provide you with a Basic Business Account.\n';
	   oMyForm.c1_bank_type.selectedIndex = 0;
	   oMyForm.c1_bank_type.focus();
	}
	
   if( oMyForm.c1_card_visa[0].checked == false 			&& oMyForm.c1_card_visa[1].checked == false )
   {errors+='Do you have a visa card.\n';}
   if( oMyForm.c1_card_master[0].checked == false 	&& oMyForm.c1_card_master[1].checked == false )
   {errors+='Do you have a mastercard.\n';}
   if( oMyForm.c1_card_amex[0].checked == false 			&& oMyForm.c1_card_amex[1].checked == false )
   {errors+='Do you have an american express card.\n';}
   if( oMyForm.c1_card_jcb[0].checked == false 			&& oMyForm.c1_card_jcb[1].checked == false )
   {errors+='Do you have a JCB card.\n';}

   if(oMyForm.c1_ask_loan[0].checked == true && oMyForm.c1_livstat.value=='Home Owner')
   	{
	   if((!validcurrency.test(oMyForm.ap_amount.value) ) || (oMyForm.ap_amount.value) < 5000 )
	   {errors+='State required loan amount (at least £5000).\n';}
	   if(oMyForm.ap_type.value =='')
	   {errors+='Please select the type of loan you require\n';}
	   if(!validcurrency.test(oMyForm.mg_balance.value))
	   {errors+='Please state the approx balance of your mortgage\n';}
		if(!validcurrency.test(oMyForm.pr_value.value))
	   {errors+='Please state the approx value of your home\n';}
	   if(oMyForm.pr_purday.value != '' && oMyForm.pr_purmnth.value != '' && oMyForm.pr_puryr.value != '')
	   {
		  if(!validyear.test(oMyForm.pr_puryr.value) || !validmnth.test(oMyForm.pr_purmnth.value) || !validday.test(oMyForm.pr_purday.value))
		  { dateerror2++; }
		  if((oMyForm.pr_purday.value == 31) && (oMyForm.pr_purmnth.value == 4 || oMyForm.pr_purmnth.value == 6 || oMyForm.pr_purmnth.value == 9 || oMyForm.pr_purmnth.value == 11))
		  { dateerror2++; }
		  if((oMyForm.pr_purday.value > 29) && (oMyForm.pr_purmnth.value == 2)) 
		  { dateerror2++; }
	   }
	   else 
	   { dateerror2++; }
	   if(dateerror2) 
	   { errors+='Invalid date of purchase.\n'; }
	}
   if(oMyForm.c1_ask_loan[0].checked == true && oMyForm.c1_livstat.value=='Tenant')
   	{
	   if((!validcurrency.test(oMyForm.ap_amount.value) ) || (oMyForm.ap_amount.value) < 5000 )
	   {errors+='State required loan amount (at least £5000).\n';}
	   if(oMyForm.ap_type.value =='')
	   {errors+='Please select the type of loan you require\n';}
	}

// check to see if agreement has been checked
   if(oMyForm.c1_dp.checked == false)
   {errors+='Please tick the box to accept our data protection information.\n';}

// show errors or submit form
   if (errors){alert('We cannot accept your application until the following fields are completed\n-----------------------------------------------------------------------------\n'+errors);}
   else{oMyForm.submit();}
}

