// JavaScript Document
<!--

function validate_form_registration()
{
valid = false;

if (( document.form1.txtForename.value == "" )) { alert( "Please make sure to complete the 'First Name' field." ); }
else if (( document.form1.txtSurname.value == "" )) { alert( "Please make sure to complete the 'Family Name' field." ); }
else if (( document.form1.txtAddress.value == "" )) { alert( "Please make sure to complete the 'Address' field." ); }
else if (( document.form1.txtEmail.value.search("@") == -1 ) || ( document.form1.txtEmail.value.search("[.*]" ) == -1 )) { alert( "Please insert a valid email address!"); }
else if (( document.form1.txtEmail.value.search(";") != -1 ) || ( document.form1.txtEmail.value.search(",") != -1 ) || ( document.form1.txtEmail.value.search(" ") != -1 )) { alert( "You cannot enter more than one e-mail address." ); }
else if (( document.form1.txtTelephone.value == "" )) { alert( "Please make sure to complete the 'Telephone' field." ); }

else if (document.form1.txtDOBDD.value.length < '2') {alert("Your entry in the Day field is too short. Please check!");
	document.form1.txtDOBDD.focus();
	return false;}
else if (document.form1.txtDOBMM.value.length < '2') {alert("Your entry in the Month field is too short. Please check!");
	document.form1.txtDOBMM.focus();
	return false;}
else if (document.form1.txtDOBYYYY.value.length < '4') {alert("Your entry in the Year field is too short. Please check!");
	document.form1.txtDOBYYYY.focus();
	return false;}
	
else if (isNumeric(document.form1.txtDOBDD)) {
	 	if (isNumeric(document.form1.txtDOBMM)) {
			isNumeric(document.form1.txtDOBYYYY)
		}}
var d = new Date()
var TheYear = d.getFullYear()

if (document.form1.txtDOBYYYY.value > TheYear) {alert('You have entered a date in the future! Please check your entry.');
	return false;}
else if (document.form1.txtDOBYYYY.value < (TheYear-100)) {alert('You have entered a date of more than 100 years ago. Please check your entry!');
	return false;}
else if (document.form1.txtDOBYYYY.value > (TheYear-18)) {alert('You must be at least 18 years old to be able to register. Please check your entry!')
	return false;}
	
isleap(document.form1.txtDOBYYYY.value);
if (window.myValue == (LeapYear = 'Yes')) {alertLeap("Yes");}
else if (window.myValue == (LeapYear != 'Yes')) {alertLeap("No");}



if (document.form1.txtNIN1.value == 'LL') {alert('Please make sure to enter your National Insurance Number correctly.');
	document.form1.txtNIN1.focus();
	return false;}
	else if (document.form1.txtNIN2.value == 'NN') {alert('Please make sure to enter your National Insurance Number correctly.');
		document.form1.txtNIN2.focus();
		return false;}
		else if (document.form1.txtNIN3.value == 'NN') {alert('Please make sure to enter your National Insurance Number correctly.');
			document.form1.txtNIN3.focus();
			return false;}
			else if (document.form1.txtNIN4.value == 'NN') {alert('Please make sure to enter your National Insurance Number correctly.');
				document.form1.txtNIN4.focus();
				return false;}
				else if (document.form1.txtNIN5.value == 'L') {alert('Please make sure to enter your National Insurance Number correctly.');
					document.form1.txtNIN5.focus();
					return false;}
					
else if (isAlphabet(document.form1.txtNIN1)) {
	 if (isNumeric(document.form1.txtNIN2)) {
	 if (isNumeric(document.form1.txtNIN3)) {
	 if (isNumeric(document.form1.txtNIN4)) {
	 if (isAlphabet(document.form1.txtNIN5)) {

	document.form1.submit();
	}
	return true;}}}}
}


function checkDateFields(elemDD, elemMM, elemYYYY)
{
var d=new Date();
var month=new Array(12);
month[0]="01";
month[1]="02";
month[2]="03";
month[3]="04";
month[4]="05";
month[5]="06";
month[6]="07";
month[7]="08";
month[8]="09";
month[9]="10";
month[10]="11";
month[11]="12";

var day=new Array(31);
day[0]="01";
day[1]="02";
day[2]="03";
day[3]="04";
day[4]="05";
day[5]="06";
day[6]="07";
day[7]="08";
day[8]="09";
day[9]="10";
day[10]="11";
day[11]="12";
day[12]="13";
day[13]="14";
day[14]="15";
day[15]="16";
day[16]="17";
day[17]="18";
day[18]="19";
day[19]="20";
day[20]="21";
day[21]="22";
day[22]="23";
day[23]="24";
day[24]="25";
day[25]="26";
day[26]="27";
day[27]="28";
day[28]="29";
day[29]="30";
day[30]="31";

var TheYear = d.getFullYear();
var TheMonth = month[d.getMonth()];
var TheDay = day[d.getDay()];

if (elemYYYY.value > TheYear) {alert('You have entered a date in the future! Please check your entry.');
	elemYYYY.focus();
	window.myValue = 'Stop';
	return false;}
else if (elemYYYY.value <= (TheYear-2)) {alert('Unfortunately, your certificate appears to be older than 12 months. You will need to re-apply for certification!');
	elemDD.focus();
	window.myValue = 'Stop';
	return false;}
else if(elemYYYY.value == (TheYear-1) && elemMM.value < TheMonth) { alert('Unfortunately, your certificate appears to be older than 12 months. You will need to re-apply for certification!');
	elemDD.focus();
	window.myValue = 'Stop';
	return false;}
else if(elemYYYY.value == (TheYear-1) && elemMM.value == TheMonth) {
		if (elemDD.value < TheDay) {alert('Unfortunately, your certificate appears to be older than 12 months. You will need to re-apply for certification!');
		elemDD.focus();
		window.myValue = 'Stop';
		return false;}}
else window.myValue = 'Continue';
}

function isNumeric2(elem)
{
	//alert('We are testing for numbers..');
	var numericExpression = /^[0-9]+$/;
	if(elem.value.match(numericExpression)){
		return true;
	}else{
		alert('You have not entered a number. Please check!');
		elem.focus();
		return false;
	}
}


function isleap(yr)
{
 //alert(yr);
 var LeapYear = 'No';
 if ((parseInt(yr)%4) == 0)
 {
  if (parseInt(yr)%100 == 0)
  {
    if (parseInt(yr)%400 != 0)
    {
    //alert("Not Leap");
	//alertLeap("No");
	window.myValue = (LeapYear = 'No');
	return "false";
    }
    if (parseInt(yr)%400 == 0)
    {
    //alert("Leap");
	//alertLeap("Yes");
	window.myValue = (LeapYear = 'Yes');
    return "true";
    }
  }
  if (parseInt(yr)%100 != 0)
  {
    //alert("Leap");
	//alertLeap("Yes");
	window.myValue = (LeapYear = 'Yes');
    return "true";
  }
 }
 if ((parseInt(yr)%4) != 0)
 {
    //alert("Not Leap");
	//alertLeap("No");
	window.myValue = (LeapYear = 'No');
    return "false";
 } 
}


function alertLeap2(elem1, elem2, elem3)
{
	window.myValue = '';

switch(elem2.value)
{
case "01": case "03": case "05": case "07": case "08": case "10": case "12":
  //alert("You are allowed to enter a number up to 31.");
  if(elem1.value > '31') {alert('You have entered an invalid date! Please check your entry.');
  window.myValue = 'Stop';
  return false;}
  else return true;
  break;
case "04": case "06": case "09": case "11":
  //alert("You are allowed to enter a number up to 30.");
  if(elem1.value > '30') {alert('You have entered an invalid date! Please check your entry.');
  window.myValue = 'Stop';
  return false;}
  else return true;
  break;
case "02":
  if (window.myValue == (LeapYear = "Yes")) {
	  if(elem1.value > '29') {alert('You have entered an invalid date! Please check your entry.');
	  window.myValue = 'Stop';
  	  return false;}
	  else return true;}
  	  else if(elem1.value > '28') {alert('You have entered an invalid date! Please check your entry.');
	  window.myValue = 'Stop';
  	return false;}
	else return true;
  break;
default:
  alert("an error has occurred. Please check your entry!");
  return false;
}
}


function validateCertificateDates()
{

//var elem1 = document.form2.txtPRODD
//var elem2 = document.form2.txtPROMM
//var elem3 = document.form2.txtPROYYYY

var elem4 = document.form2.txtMedicalDD
var elem5 = document.form2.txtMedicalMM
var elem6 = document.form2.txtMedicalYYYY

var elem7 = document.form2.txtDandADD
var elem8 = document.form2.txtDandAMM
var elem9 = document.form2.txtDandAYYYY

//if (elem1.value !== 'DD') {

//if (elem1.value.length < '2') {alert("Your entry in the Day field is too short. Please check!");
//	elem1.focus();
//	return false;}
//else if (elem2.value.length < '2') {alert("Your entry in the Month field is too short. Please check!");
//	elem2.focus();
//	return false;}
//else if (elem3.value.length < '4') {alert("Your entry in the Year field is too short. Please check!");
//	elem3.focus();
//	return false;}
	
//else if (isNumeric2(elem1)) {
//	 	if (isNumeric2(elem2)) {
//			isNumeric2(elem3)
//		}


//		if (elem2.value == '02') { (isleap(elem3.value)); }
//		else alertLeap2(elem1, elem2, elem3);
//}
//checkDateFields(elem1, elem2, elem3)
//if (document.form2.txtPRONumber.value == '') {alert('Please make sure to enter your PRO Certificate number!');}
//}

if (document.form2.txtMedicalNumber.value == '' && document.form2.txtDandANumber.value == '') { alert('Please make sure to enter some information!'); return false; }

if (document.form2.txtMedicalNumber.value !== '') { 
	if (elem4.value == 'DD' || elem5.value == 'MM' || elem6.value == 'YYYY') {alert('Please make sure you enter a date for your Medical Certificate!');
	return false; }
	else {
		//else check the entered dates.
		//alert('You have entered some information which will need checking!');
		if (elem4.value.length < '2') {alert("Your entry in the Day field is too short. Please check!");
		elem4.focus();
		return false;}
		else if (elem5.value.length < '2') {alert("Your entry in the Month field is too short. Please check!");
		elem5.focus();
		return false;}
		else if (elem6.value.length < '4') {alert("Your entry in the Year field is too short. Please check!");
		elem6.focus();
		return false;}
	
else if (isNumeric2(elem4)) {
	 	if (isNumeric2(elem5)) {
			isNumeric2(elem6)
		}


		if (elem5.value == '02') { (isleap(elem6.value)); }
		else alertLeap2(elem4, elem5, elem6);
		if (window.myValue == 'Stop') { return false; }
}
checkDateFields(elem4, elem5, elem6);
if (window.myValue == 'Stop') { return false; }
	}}

//if above certificate number is left empty, move to the next section.

if (document.form2.txtDandANumber.value !== '') { 
	if (elem7.value == 'DD' || elem8.value == 'MM' || elem9.value == 'YYYY') {alert('Please make sure you enter a date for your D\u0026A Certificate!');
	return false; }
	else {
		//else check the entered dates.
		//alert('You have entered some information which will need checking!');
		if (elem7.value.length < '2') {alert("Your entry in the Day field is too short. Please check!");
		elem7.focus();
		return false;}
		else if (elem8.value.length < '2') {alert("Your entry in the Month field is too short. Please check!");
		elem8.focus();
		return false;}
		else if (elem9.value.length < '4') {alert("Your entry in the Year field is too short. Please check!");
		elem9.focus();
		return false;}
	
else if (isNumeric2(elem7)) {
	 	if (isNumeric2(elem8)) {
			isNumeric2(elem9)
		}


		if (elem8.value == '02') { (isleap(elem9.value)); }
		else alertLeap2(elem7, elem8, elem9);
		if (window.myValue == 'Stop') { return false; }
}
checkDateFields(elem7, elem8, elem9);
if (window.myValue == 'Stop') { return false; }
	}
	}

//alert('Data validation passed!');
document.form2.submit();
return true;

//end of function below
}


//else if (window.myValue == 'Continue') { window.location = "form_coursebooking.php" };
//}

function activatetxtSponsor()
{
if ((document.form4.chkLinkupApprovedSponsor.checked == 1)) { document.form4.txtSponsor.disabled=false; }
else if ((document.form4.chkLinkupApprovedSponsor.checked == 0)) { document.form4.txtSponsor.disabled=true; }
}

function activatePROfields()
{
if ((document.form1.lstYesNo.value == "Yes")) {document.form1.txtPRO.disabled=false;
document.form1.txtPROdate.disabled=false;}
else if ((document.form1.lstYesNo.value == "No")) {document.form1.txtPRO.disabled=true;
document.form1.txtPROdate.disabled=true;}
}


function validate_form_medical (Transfer1)
{
valid = false;

if (( document.form3.chkMedicalRead.checked == 0 )) { alert("Please make sure you have read the 'Medical Test - What to expect leaflet', and then tick the box to confirm!") ;}
//else if (( document.form3.txtDatesNotAvailable.value == "" )) { alert("Please make sure to add dates on which you are not available, or enter 'None'.") ;
//if (( window.myValue == null )) {window.myValue = 'Medical and D+A (\u00a3140+VAT), Birmingham' ;}
				
else {
				//document.form1.action = "php/mail_contactus.php"
				//alert(Transfer1);
				//alert("The form has been completed fully. Proceeding!");
				//window.location = "form_coursebooking.php";
				document.form3.submit();
				/* alert( "Thank you for your enquiry. We will endeavor to reply within 48 hours." ); */
				return true;

}
}




function validate_form_CourseBooking (Transfer1)
{
valid = false;

var elem1 = document.form4.txtCourseDateDD
var elem2 = document.form4.txtCourseDateMM
var elem3 = document.form4.txtCourseDateYYYY

//if (document.form4.lstRegistered.value == 'No') {alert('You will need to register your personal details with us before you can book your course! \n\nYou will now be directed to our booking form.') ;}
//else if (( document.form4.chkValidMedical.checked == 0 )) { alert("Please make sure you have booked your Medical and D\u0026A prior to booking your course, then tick the box to confirm that you have made your booking.") ;}
//else
if (( document.form4.chkSafetyReqsRead.checked == 0 )) { alert("Please make sure to read the 'Safety Requirements leaflet' and confirm by ticking the box!") ;
	return false;}
else
	if (elem1.value == 'DD' || elem2.value == 'MM' || elem3.value == 'YYYY') { alert('Please enter your desired course commencement date!');
		elem1.focus();
		return false;}
	else if (elem1.value.length < '2') {alert("Your entry in the Day field is too short. Please check!");
		elem1.focus();
		return false;}
	else if (elem2.value.length < '2') {alert("Your entry in the Month field is too short. Please check!");
		elem2.focus();
		return false;}
	else if (elem3.value.length < '4') {alert("Your entry in the Year field is too short. Please check!");
		elem3.select();
		return false;}
	
else
	document.form4.submit();
	//alert( "Thank you for your enquiry. We will endeavor to reply within 48 hours." );
	return true;

}
//}

function isAlphabet(elem){
	var alphaExp = /^[a-zA-Z]+$/;
	if(elem.value.match(alphaExp)){
		return true;
	}else{
		alert('You have not entered a letter. Please check!');
		elem.focus();
		return false;
	}
}

function isNumeric(elem)
{
	//alert('We are testing for numbers..');
	var numericExpression = /^[0-9]+$/;
	if(elem.value.match(numericExpression)){
		return true;
	}else{
		alert('You have not entered a number. Please check!');
		elem.focus();
		return false;
	}
}


function alertLeap(LeapYear)
{

switch(document.form1.txtDOBMM.value)
{
case "01": case "03": case "05": case "07": case "08": case "10": case "12":
  //alert("You are allowed to enter a number up to 31.");
  if(document.form1.txtDOBDD.value > '31') {alert('You have entered an invalid date! Please check your entry.');
  return false;}
  break;
case "04": case "06": case "09": case "11":
  //alert("You are allowed to enter a number up to 30.");
  if(document.form1.txtDOBDD.value > '30') {alert('You have entered an invalid date! Please check your entry.');
  return false;}
  break;
case "02":
  if (LeapYear == "Yes") {
	  if(document.form1.txtDOBDD.value > '29') {alert('You have entered an invalid date! Please check your entry.');
  	  return false;}}
  	  else if(document.form1.txtDOBDD.value > '28') {alert('You have entered an invalid date! Please check your entry.');
  	return false;}
  break;
default:
  alert("an error has occurred. Please check your entry!");
  return false;
}}

//Code below this line added in November 2011 by Torsten Roesler.
//
//The new functions have been written to support additional booking forms for courses booked via the Course diary.

function validate_booking1()
{
	valid = false;
	
	if(( document.step1.txtForename.value == "" )) { alert('Please make sure to complete the "First Name" field!'); }
	else if (( document.step1.txtSurname.value == "" )) { alert('Please make sure to complete the "Surname" field!'); }
	else if (( document.step1.txtEmail.value.search("@") == -1 ) || ( document.step1.txtEmail.value.search("[.*]" ) == -1 )) { alert( 'Please insert a valid email address!'); }
	else if (( document.step1.txtEmail.value.search(";") != -1 ) || ( document.step1.txtEmail.value.search(",") != -1 ) || ( document.step1.txtEmail.value.search(" ") != -1 )) { alert('You cannot enter more than one e-mail address.' ); }
	else if (( document.step1.txtTelephone.value == "" )) { alert( 'Please make sure to complete the "Telephone" field.' ); }
	else if (( document.step1.txtCourseLocation.value == "" )) { alert('Please make sure to enter your desired course location, as per our course diary.'); }
	else if (( document.step1.txtCourseDate.value ==  "" )) { alert('Please be sure to enter a desired course start date, as per our course diary!'); }
	else { document.step1.submit(); 
	return true; }
}

function validate_booking2()
{

	valid = false;
	
	var val = 0;

	for( i = 0; i < document.step2.RadioGroup1.length; i++ )
	{
	if( document.step2.RadioGroup1[i].checked == true )
	val = document.step2.RadioGroup1[i].value;
	}
	document.step2.txtPaymentMethod.value = val;
	document.step2.submit();
	return true;

}

function validate_booking3()
{

if (( document.step3.chkPaymentDisclaimer.checked == 0 )) { alert("Please tick the box at the bottom of the form to indicate that you agree with the payment disclaimer!"); }
else { document.step3.submit();
return true; }
	
}


//-->
