﻿function CheckRequiredFields() {
	var errormessage = new String();
	if(WithoutSelectionValue(document.form1.Title))	{errormessage += "\n\nPlease select your title";}
	if(WithoutContent(document.form1.First_Name.value))	{errormessage += "\n\nPlease enter your first name.";}
	if(WithoutContent(document.form1.Surname.value))	{errormessage += "\n\nPlease enter your surname.";}
	if(WithoutContent(document.form1.Address1.value))	{errormessage += "\n\nPlease enter your address.";}
	if(WithoutContent(document.form1.Town_City.value))	{errormessage += "\n\nPlease enter your town or city.";}
	if(WithoutContent(document.form1.Postcode.value))	{errormessage += "\n\nPlease enter your postcode.";}
	if(WithoutContent(document.form1.Email.value))	{errormessage += "\n\nPlease enter your email address.";}
	if(WithoutContent(document.form1.DOB_Day.value) || document.form1.DOB_Day.value == "dd")	{errormessage += "\n\nPlease enter your birth day.";}
	if(WithoutContent(document.form1.DOB_Month.value) || document.form1.DOB_Month.value == "mm")	{errormessage += "\n\nPlease enter your birth month.";}
	if(WithoutContent(document.form1.DOB_Year.value) || document.form1.DOB_Year.value == "yy")	{errormessage += "\n\nPlease enter your birthyear.";}
	var txtDate = document.form1.DOB_Month.value + '/' + document.form1.DOB_Day.value + '/' + document.form1.DOB_Year.value;
    if (!isValidDate(txtDate)) {errormessage += "\n\nPlease check your birth date.";}
	if(NoneWithCheck(document.form1.ShirtSize))	{errormessage += "\n\nPlease select your shirt size.";}
	if(NoneWithCheck(document.form1.Event))	{errormessage += "\n\nPlease select your event.";}
	if(document.form1.Event[3].checked == true && WithoutContent(document.form1.Event_Other.value))	{errormessage += "\n\nPlease enter your event.";}
	if(WithoutContent(document.form1.Event_Date.value))	{errormessage += "\n\nPlease enter your event date.";}
	if(WithoutContent(document.form1.Event_Location.value))	{errormessage += "\n\nPlease enter your event location.";}	
	if(errormessage.length > 2) {
		alert('NOTE:' + errormessage);
		return false;
	}
	return true;
} 

function WithoutContent(ss) {
if(ss.length > 0) { return false; }
return true;
}

function NoneWithCheck(ss) {
for(var i = 0; i < ss.length; i++) {
	if(ss[i].checked) { return false; }
	}
return true;
}
function WithoutSelectionValue(ss) {
for(var i = 0; i < ss.length; i++) {
	if(ss[i].selected) {
		if(ss[i].value.length) { return false; }
		}
	}
return true;
}

function isValidDate(dateStr) {
	// Checks for the following valid date formats:
	// MM/DD/YY   MM/DD/YYYY   MM-DD-YY   MM-DD-YYYY
	// Also separates date into month, day, and year variables
	
	var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{2}|\d{4})$/;
	
	// To require a 4 digit year entry, use this line instead:
	// var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{4})$/;
	
	var matchArray = dateStr.match(datePat); // is the format ok?
	if (matchArray == null) {
		return false;
	}
	month = matchArray[1]; // parse date into variables
	day = matchArray[3];
	year = matchArray[4];
	if (month < 1 || month > 12) { // check month range
		return false;
	}
	if (day < 1 || day > 31) {
		return false;
	}
	if ((month==4 || month==6 || month==9 || month==11) && day==31) {
		return false
	}
	if (month == 2) { // check for february 29th
		var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
		if (day>29 || (day==29 && !isleap)) {
			return false;
		}
	}
	return true;  // date is valid
}
