function checkBankForm()
{
// defaults for the script
   var errors = '';
   var dateerror      = '';
   var dateerror2      = '';
   var oMyForm = document.bankform;
// 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(oMyForm.c1_midname.value != '' && !validname.test(oMyForm.c1_midname.value))
   { errors+='Provide a valid middle 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))
   { 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(oMyForm.c1_nat.value =='')
   {errors+='Tell us your nationality.\n';}
   if(oMyForm.c1_gender.value =='')
   {errors+='Please select your gender from the list.\n';}
   if(oMyForm.c1_county.value =='')
   {errors+='Please confirm the county that you live in.\n';}  
   
   // Current address check
   if((oMyForm.c1_ad1.value =='') && (oMyForm.c1_ad2.value =='') && (oMyForm.c1_cty.value ==''))
   { errors+='Provide your current 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) && !validnumber.test(oMyForm.c1_tadmn.value))
   {errors+='How long have you been at your current address?\n';}
   
   // Previous address check
   if((oMyForm.c1_tadyr.value != '' && validnumber.test(oMyForm.c1_tadyr.value) && oMyForm.c1_tadyr.value < 3) || ((oMyForm.c1_tadyr.value < 3 || oMyForm.c1_tadyr.value == '') && oMyForm.c1_tadmn.value != ''))
   {
	   if((oMyForm.c1_pad1.value =='') && (oMyForm.c1_pad2.value ==''))
	   { errors+='Provide your previous postal address.\n'; }
	   if(oMyForm.c1_pcounty.value =='')
	   { errors+='Provide the county you lived in at your previous address.\n'; }
	   if(!validpc1.test(oMyForm.c1_ppc1.value) || !validpc2.test(oMyForm.c1_ppc2.value))
	   { errors+='Provide a valid postcode for your previous address.\n'; }	   
   }
   

// show errors or submit form
   if (errors)
   {alert(errors);}
   else{oMyForm.submit();}
}
