//-------------------------------------------
function IsNumeric(sText)
{
	var ValidChars = "0123456789";
	var IsNumber=true;
	var Char;

	for (i = 0; i < sText.length && IsNumber == true; i++)
	{
		Char = sText.charAt(i);
		if (ValidChars.indexOf(Char) == -1)
		{ IsNumber = false; }
	}
	return IsNumber;
}

//-------------------------------------------
function is_valid_date_entry(str_date,which_date)
{
	var ok = "true";
	if (str_date == "")
	{
		alert("\nPlease enter a "+which_date+" Date.");
		ok = "false";
	}
	else
	{
		if (substr(substr(str_date,-4),0,2) == '19')
		{
			var ddmmyyyy_Regxp = /^(((((0[1-9])|(1\d)|(2[0-8]))-((0[1-9])|(1[0-2])))|((31-((0[13578])|(1[02])))|((29|30)-((0[1,3-9])|(1[0-2])))))-((19[0-9][0-9]))|(29-02-19(([02468][048])|([13579][26]))))$/;
			// This is a good date validator for dd-mm-yyyy where yyyy >= 2000.
		}
		if (substr(substr(str_date,-4),0,2) == '20')
		{
			var ddmmyyyy_Regxp = /^(((((0[1-9])|(1\d)|(2[0-8]))-((0[1-9])|(1[0-2])))|((31-((0[13578])|(1[02])))|((29|30)-((0[1,3-9])|(1[0-2])))))-((20[0-9][0-9]))|(29-02-20(([02468][048])|([13579][26]))))$/;
			// This is a good date validator for dd-mm-yyyy where yyyy >= 2000.
		}
		// Validates dd for mm and leap year
		if (ddmmyyyy_Regxp.test(str_date) != true)
		{
			if (which_date != 'id_num')
			{ alert("\nInvalid "+which_date+".\n\nDate format MUST be dd-mm-yyyy.\r\n\r\n "); }
			ok = "false";
		}
	}
	return(ok);
}


//-------------------------------------------
function is_odd(n)
{
	return n & 1; // 0 = even, 1 = odd
}

//-------------------------------------------
function is_valid_id_number(id_number)
{
	try
	{
		var is_valid_id_number = 'No';
		var id_number_last_digit = substr(id_number,12,1);
		var id_number_len = strlen(id_number);
		if (id_number_len != 13)
		{ is_valid_id_number = 'Invalid length'; }
		var cnt = 0;
		var sum_a = 0;
		var string_b = '';
		var sum_c = 0;
		for (i=0; i<12; i++)
		{
			cnt = cnt+1;
			var int_digit_value = Number(substr(id_number,i,1));
			var str_digit_value = substr(id_number,i,1);

			// sum_a (a) Add all the digits in the odd positions (excluding last digit).
			if(is_odd(cnt) == 1)
			{
				sum_a = (sum_a + int_digit_value);
			}
			// string_b (b) Move the even positions into a field and multiply the number by 2.
			if(is_odd(cnt) == 0)
			{
				string_b = string_b+str_digit_value;
				sum_b = string_b*2;
			}
		}
		// (c) Add the digits of the result in (b).
		var int_sum_b = sum_b+'';	// converts the number to a string
		var l = strlen(int_sum_b);
		for (i=0; i<l; i++)
		{
			var int_sum_b_digit_value = Number(substr(int_sum_b,i,1));
			sum_c = (sum_c + int_sum_b_digit_value);
		}

		// (d) Add the answer in [a] to the answer in [c].
		sum_d = sum_a+sum_c;
		sum_d = sum_d+'';
		// (e) Subtract the second digit (i.e. 3) from 10.
		check_number = 10-substr(sum_d,1,1);
		// If the result is 2 digits, the last digit is used to compare
		if (strlen(check_number) == 2)
		{
			check_number = check_number+'';
			check_number = substr(check_number,1,1);
		}
		// The number must tally with the last number in the ID Number.
		if (check_number == id_number_last_digit)
		{ is_valid_id_number = 'Yes'; }

		return (is_valid_id_number);
	}
	catch (err)
	{
		alert("\nA Javascript error occurred. Contact the Webmaster.\n" + err.name + "\n" + err.message)
		return false;
	}
}


//*************************************************************
function checkNewNotice()
{
	var obj = document.add_new_notice;

	if (obj.mc.checked == false && obj.hrc.checked == false && obj.hsgt.checked == false && obj.htc.checked == false)
	{ alert("\nPlease enter a Category."); return false; }

	if (!obj.send_emails.checked)
	{
		var agree=confirm("Confirm no e-mails sent?");
		if (agree)
		{ return true; }
		else
		{ return false; }
	}
}
//*************************************************************
function checkNewMember()
{
	try
	{
		var obj = document.add_new_member;

		if (obj.membership_num.value == "")
		{
			alert("\nPlease enter a Membership Number.");
			obj.membership_num.focus();
			return false;
		}

		for (i=0;i< obj.membership_type.length;i++)
		{
			if (obj.membership_type[i].checked)
			{ var membership_type_ok = obj.membership_type[i].value; }
		}
		if (membership_type_ok != "single" && membership_type_ok != "dual")
		{ alert("\nPlease Select \"Single Membership\" or \"Dual Membership\"."); return false; }

		if (obj.lst_annual_fee_year.value == "0")
		{
			 alert("\nPlease enter a Subscription Year.");
			 obj.lst_annual_fee_year.focus();
			 return false;
		}

		if (obj.annual_fee_date.value == "")
		{
			alert("\nPlease enter a Date Paid.");
			obj.annual_fee_date.focus();
			return false;
		}

		if (obj.annual_fee_amount.value == "")
		{
			alert("\nPlease enter an Amount Paid.");
			obj.annual_fee_amount.focus();
			return false;
		}


		if (obj.member_firstname.value == "")
		{
			alert("\nPlease enter a Firstname.");
			obj.member_firstname.focus();
			return false;
		}

		if (obj.member_lastname.value == "")
		{
			alert("\nPlease enter a Lastname.");
			obj.member_lastname.focus();
			return false;
		}

		if (obj.member_email.value == "" && obj.member_cell.value == "" && obj.member_work.value == "" && obj.member_home.value == "")
		{
			alert("\nPlease enter an E-mail Address or Contact Number.");
			obj.member_email.focus();
			return false;
		}

		if (membership_type_ok == "dual")
		{
			if (obj.member2_firstname.value == "")
			{
				alert("\nPlease enter a Second Member Firstname.");
				obj.member2_firstname.focus();
				return false;
			}

			if (obj.member2_lastname.value == "")
			{
				alert("\nPlease enter a Second Member Lastname.");
				obj.member2_lastname.focus();
				return false;
			}
		}

		// Check Phone numbers
		var str = obj.member_home.value;
		if (str != "")
		{
			var regex = /\D/g; // replaces all non numerical digits
			str = str.replace(regex, "");
			if (str.length != "10" && substr(obj.member_home.value,0,1) != '+')
			{
				alert("\nInvalid Home Telephone Number.");
				obj.member_home.focus();
				return false;
			}
		}
		var str = obj.member_work.value;
		if (str != "")
		{
			var regex = /\D/g; // replaces all non numerical digits
			str = str.replace(regex, "");
			if (str.length != "10" && substr(obj.member_work.value,0,1) != '+')
			{
				alert("\nInvalid Work Telephone Number.");
				obj.member_work.focus();
				return false;
			}
		}
		var str = obj.member_fax.value;
		if (str != "")
		{
			var regex = /\D/g; // replaces all non numerical digits
			str = str.replace(regex, "");
			if (str.length != "10" && substr(obj.member_fax.value,0,1) != '+')
			{
				alert("\nInvalid Fax Number.");
				obj.member_fax.focus();
				return false;
			}
		}
		var str = obj.member_cell.value;
		if (str != "")
		{
			var regex = /\D/g; // replaces all non numerical digits
			str = str.replace(regex, "");
			if (str.length != "10" && substr(obj.member_cell.value,0,1) != '+')
			{
				alert("\nInvalid Cell Number.");
				obj.member_cell.focus();
				return false;
			}
		}
		return true;
	}
	catch (err)
	{
		alert("\nA Javascript error occurred. Contact the Webmaster.\n" + err.name + "\n" + err.message)
		return false;
	}
}

//*************************************************************
function checkEditMemberAdmin()
{
		var obj = document.edit_member;

		if (obj.edit_member_firstname.value == "")
		{ alert("\nPlease enter a Firstname."); return false; }

		if (obj.edit_member_lastname.value == "")
		{ alert("\nPlease enter a Lastname."); return false; }

	  for (i = 0;  i < obj.notification.length;  i++)
	  {
		  if (obj.edit_notification[i].checked)
			{	var notification_ok = obj.edit_notification[i].value; }
	  }

//	  if (notification_ok == "sms" && obj.edit_member_cell.value == "")
//	  { alert("\nPlease enter a Cell Phone Number to receive SMS notifications."); return false; }

	  if (notification_ok == "email" && obj.edit_e_mail.value == "")
	  { alert("\nPlease enter an E-mail Address to receive E-mail notifications."); return false; }

		// Check Phone numbers
		var str = obj.edit_member_home.value;
		if (str != "")
		{
			var regex = /\D/g; // replaces all non numerical digits
			str = str.replace(regex, "");
			if (str.length != "10" && substr(obj.edit_member_home.value,0,1) != '+')
			{ alert("\nInvalid Home Telephone Number."); return false; }
		}
		var str = obj.edit_member_work.value;
		if (str != "")
		{
			var regex = /\D/g; // replaces all non numerical digits
			str = str.replace(regex, "");
			if (str.length != "10" && substr(obj.edit_member_work.value,0,1) != '+')
			{ alert("\nInvalid Work Telephone Number."); return false; }
		}
		var str = obj.edit_member_fax.value;
		if (str != "")
		{
			var regex = /\D/g; // replaces all non numerical digits
			str = str.replace(regex, "");
			if (str.length != "10" && substr(obj.edit_member_fax.value,0,1) != '+')
			{ alert("\nInvalid Fax Number."); return false; }
		}
		var str = obj.edit_member_cell.value;
		if (str != "")
		{
			var regex = /\D/g; // replaces all non numerical digits
			str = str.replace(regex, "");
			if (str.length != "10" && substr(obj.edit_member_cell.value,0,1) != '+')
			{ alert("\nInvalid Cell Number."); return false; }
		}

//		if (obj.send_email.checked == true)
//		{
//			var agree=confirm("\nAre you sure you want to send this member an e-mail?\n\n");
//			if (agree) { return true; }
//			else { return false; }
//		}

		return true;

}

//*************************************************************
function checkEditMember()
{
		var obj = document.edit_member;

		if (obj.edit_member_firstname.value == "")
		{ alert("\nPlease enter a Firstname."); return false; }

		if (obj.edit_member_lastname.value == "")
		{ alert("\nPlease enter a Lastname."); return false; }


	  for (i = 0;  i < obj.notification.length;  i++)
	  {
		  if (obj.edit_notification[i].checked)
			{	var notification_ok = obj.edit_notification[i].value; }
	  }

//	  if (notification_ok == "sms" && obj.edit_member_cell.value == "")
//	  { alert("\nPlease enter a Cell Phone Number to receive SMS notifications."); return false; }

	  if (notification_ok == "email" && obj.edit_e_mail.value == "")
	  { alert("\nPlease enter an E-mail Address to receive E-mail notifications."); return false; }

		// Check Phone numbers
		var str = obj.edit_member_home.value;
		if (str != "")
		{
			var regex = /\D/g; // replaces all non numerical digits
			str = str.replace(regex, "");
			if (str.length != "10" && substr(obj.edit_member_home.value,0,1) != '+')
			{ alert("\nInvalid Home Telephone Number."); return false; }
		}
		var str = obj.edit_member_work.value;
		if (str != "")
		{
			var regex = /\D/g; // replaces all non numerical digits
			str = str.replace(regex, "");
			if (str.length != "10" && substr(obj.edit_member_work.value,0,1) != '+')
			{ alert("\nInvalid Work Telephone Number."); return false; }
		}
		var str = obj.edit_member_fax.value;
		if (str != "")
		{
			var regex = /\D/g; // replaces all non numerical digits
			str = str.replace(regex, "");
			if (str.length != "10" && substr(obj.edit_member_fax.value,0,1) != '+')
			{ alert("\nInvalid Fax Number."); return false; }
		}
		var str = obj.edit_member_cell.value;
		if (str != "")
		{
			var regex = /\D/g; // replaces all non numerical digits
			str = str.replace(regex, "");
			if (str.length != "10" && substr(obj.edit_member_cell.value,0,1) != '+')
			{ alert("\nInvalid Cell Number."); return false; }
		}

		return true;

}

//*************************************************************
function checkPassword()
{
	var obj = document.password_change;

	if (obj.new_password.value == "" && obj.new_password_confirm.value == "")
	{ alert("\nPlease enter a password.");
		return false;
	}
	if (obj.new_password.value != obj.new_password_confirm.value)
	{ alert("\nThe passwords you entered do not match. Please try again.");
		return false;
	}
	if (obj.new_password.length < 6 || obj.new_password.length > 16)
	{ alert("\nYour password must be between 6 and 16 characters. Please try again.");
		return false;
	}
	return true;
}

//*************************************************************
function checkNewAnnualSub()
{
		var obj = document.add_new_annual_sub;

		if (obj.membership_num.value == "")
		{ alert("\nPlease enter a Membership No."); return false; }

		if (obj.lst_annual_fee_year.value == "0")
		{ alert("\nPlease select a Subscription Year."); return false; }

		var annual_fee_date = obj.annual_fee_date.value;
		if (annual_fee_date == "")
		{ alert("\nPlease enter the Date Paid."); return false; }
		if (annual_fee_date.substring(0,2) < "01" || annual_fee_date.substring(0,2) > "31")
		{ alert("\nInvalid Date Paid."); return false; }
		if (annual_fee_date.substring(2,3) != "-")
		{ alert("\nInvalid Date Paid."); return false; }
		if (annual_fee_date.substring(3,5) < "01" || annual_fee_date.substring(3,5) > "12")
		{ alert("\nInvalid Date Paid."); return false; }
		if (annual_fee_date.substring(5,6) != "-")
		{ alert("\nInvalid Date Paid."); return false; }
		if (annual_fee_date.substring(6,10) < "2000" || annual_fee_date.substring(6,10) > "2020")
		{ alert("\nInvalid Date Paid."); return false; }

		if (obj.annual_fee_amount.value == "")
		{ alert("\nPlease enter the Amount Paid."); return false; }

		return true;
}

//*************************************************************
function checkEditAnnualSub()
{
		var obj = document.edit_new_annual_sub;

		if (obj.edit_membership_num.value == "")
		{ alert("\nPlease enter a Membership No."); return false; }

		if (obj.edit_annual_fee_year.value == "")
		{ alert("\nPlease select a Subscription Year."); return false; }

		var edit_annual_fee_date = obj.edit_annual_fee_date.value;
		if (edit_annual_fee_date == "")
		{ alert("\nPlease enter the Date Paid."); return false; }
		if (edit_annual_fee_date.substring(0,2) < "01" || edit_annual_fee_date.substring(0,2) > "31")
		{ alert("\nInvalid Date Paid."); return false; }
		if (edit_annual_fee_date.substring(2,3) != "-")
		{ alert("\nInvalid Date Paid."); return false; }
		if (edit_annual_fee_date.substring(3,5) < "01" || edit_annual_fee_date.substring(3,5) > "12")
		{ alert("\nInvalid Date Paid."); return false; }
		if (edit_annual_fee_date.substring(5,6) != "-")
		{ alert("\nInvalid Date Paid."); return false; }
		if (edit_annual_fee_date.substring(6,10) < "2000" || edit_annual_fee_date.substring(6,10) > "2020")
		{ alert("\nInvalid Date Paid."); return false; }

		if (obj.edit_annual_fee_amount.value == "")
		{ alert("\nPlease enter the Amount Paid."); return false; }

		return true;
}

//*************************************************************
function checkNewMembershipNote()
{
		var obj = document.add_new_membership_note;

		var membership_note_date = obj.membership_note_date.value;
		if (membership_note_date == "")
		{ alert("\nPlease enter a Date."); return false; }
		if (membership_note_date.substring(0,2) < "01" || membership_note_date.substring(0,2) > "31")
		{ alert("\nInvalid Date."); return false; }
		if (membership_note_date.substring(2,3) != "-")
		{ alert("\nInvalid Date."); return false; }
		if (membership_note_date.substring(3,5) < "01" || membership_note_date.substring(3,5) > "12")
		{ alert("\nInvalid Date."); return false; }
		if (membership_note_date.substring(5,6) != "-")
		{ alert("\nInvalid Date."); return false; }
		if (membership_note_date.substring(6,10) < "2000" || membership_note_date.substring(6,10) > "2020")
		{ alert("\nInvalid Date."); return false; }

		if (obj.membership_note.value == "")
		{ alert("\nPlease enter the Note."); return false; }

		return true;
}

//*************************************************************
function checkEditMembershipNote()
{
		var obj = document.edit_membership_note;

		var edit_membership_note_date = obj.edit_membership_note_date.value;
		if (edit_membership_note_date == "")
		{ alert("\nPlease enter a Date."); return false; }
		if (edit_membership_note_date.substring(0,2) < "01" || edit_membership_note_date.substring(0,2) > "31")
		{ alert("\nInvalid Date."); return false; }
		if (edit_membership_note_date.substring(2,3) != "-")
		{ alert("\nInvalid Date."); return false; }
		if (edit_membership_note_date.substring(3,5) < "01" || edit_membership_note_date.substring(3,5) > "12")
		{ alert("\nInvalid Date."); return false; }
		if (edit_membership_note_date.substring(5,6) != "-")
		{ alert("\nInvalid Date."); return false; }
		if (edit_membership_note_date.substring(6,10) < "2000" || edit_membership_note_date.substring(6,10) > "2020")
		{ alert("\nInvalid Date."); return false; }

		return true;
}

//*************************************************************
function checkMemberStatus()
{
	var obj = document.member_status;

	for (i=0;i< obj.show_what.length;i++)
	{ if (obj.show_what[i].checked) { var show_what_ok = obj.show_what[i].value; } }

		if (show_what_ok != "paid" && show_what_ok != "not_paid")
		{ alert("\nPlease Select Paid-Up or NOT Paid-Up."); return false; }
//alert(show_what_ok);
	return true;
}

//*************************************************************
function confirmDelete(delUrl)
{
	if (confirm("Are you sure you want to delete"))
	{
		document.location = delUrl;
	}
}

//*************************************************************
function checkMembershipApplication()
{
	try
	{
		var obj = document.membership_application;

		for (i=0;i< obj.application.length;i++)
		{
			if (obj.application[i].checked)
			{ var application_ok = obj.application[i].value; }
		}
		if (application_ok != "new" && application_ok != "renewal")
		{ alert("\nPlease Select \"New Membership\" or \"Membership Renewal\"."); return false; }

		for (i=0;i< obj.membership_type.length;i++)
		{
			if (obj.membership_type[i].checked)
			{ var membership_type_ok = obj.membership_type[i].value; }
		}
		if (membership_type_ok != "single" && membership_type_ok != "dual")
		{ alert("\nPlease Select \"Single Membership\" or \"Dual Membership\"."); return false; }

		if (obj.member_firstname.value == "")
		{
			alert("\nPlease enter the Member's First Name.");
			obj.member_firstname.focus();
			return false;
		}
		if (obj.member_lastname.value == "")
		{
			alert("\nPlease enter the Member's Last Name.");
			obj.member_lastname.focus();
			return false;
		}

		var ok = is_valid_date_entry(obj.member_dob.value, "Date of Birth");
		if (ok == "false")
		{
			obj.member_dob.focus();
			return false;
		}

		if (is_valid_id_number(obj.member_idnum.value) != 'Yes')
		{
			alert("\nPlease enter a valid ID Number.");
			obj.member_idnum.focus();
			return false;
		}

		var member_email = obj.member_email.value;
		if (member_email == "")
		{
			alert("\nPlease enter the Member's E-mail address.");
			obj.member_email.focus();
			return false;
		}
		var emailRegxp = /^([-!#\$%&'*+./0-9=?A-Z^_`a-z{|}~])+@([-!#\$%&'*+/0-9=?A-Z^_`a-z{|}~]+\\.)+[a-zA-Z]{2,6}\$/;
		var emailRegxp = /^[A-z0-9\._-]+@[A-z0-9][A-z0-9-]*(\.[A-z0-9_-]+)*\.([A-z]{2,6})$/;
		if (emailRegxp.test(member_email) != true)
		{
			alert("\nInvalid E-mail Address");
			obj.member_email.focus();
			return false;
		}

		if (obj.member_cell.value == "")
		{
			alert("\nPlease enter the Member's Cell No.");
			obj.member_cell.focus();
			return false;
		}

		if (obj.member_work.value == "")
		{
			alert("\nPlease enter the Member's Work No.");
			obj.member_work.focus();
			return false;
		}

		if (membership_type_ok == "dual" && obj.member2_firstname.value == "" && obj.member2_lastname.value == "")
		{ alert("\nYou have selected Dual Membership. Please enter the Second Member's Firstname and Lastname."); return false; }

		if (!IsNumeric(obj.join_year.value) || obj.join_year.value.length != 4)
		{
			alert("\nPlease enter a valid Year first joined.");
			obj.join_year.focus();
			return false;
		}

		for (i=0;i< obj.continuous_member.length;i++)
		{
			if (obj.continuous_member[i].checked)
			{ var continuous_member_ok = obj.continuous_member[i].value; }
		}
		if (continuous_member_ok != "yes" && continuous_member_ok != "no")
		{ alert("\nHave you been a continuous member?"); return false; }

		if (obj.msa_years.value == "")
		{
			alert("\nHow long have you had an MSA licence?");
			obj.msa_years.focus();
			return false;
		}

		for (i=0;i< obj.shirt_size.length;i++)
		{
			if (obj.shirt_size[i].checked)
			{ var shirt_size_ok = obj.shirt_size[i].value; }
		}
		if (shirt_size_ok != "small" && shirt_size_ok != "medium" && shirt_size_ok != "large" && shirt_size_ok != "xl" && shirt_size_ok != "xxl" && obj.shirt_size_other.value == "")
		{ alert("\nPlease select a shirt size"); return false; }

		if (obj.race_series_sprint.checked == false &&
				obj.race_series_endurance.checked == false)
		{
			alert("\nPlease select in which Series will you be competing.");
			return false;
		}
		if (obj.race_series_sprint.checked == true &&
				obj.race_series_endurance.checked == true)
		{
			if (obj.primary_series.value == "")
			{
				alert("\nPlease select your primary series, Sprint or Endurance.");
				obj.primary_series.focus();
				return false;
			}
		}

		if (obj.marque_cars.checked == false &&
				obj.pre_72.checked == false &&
				obj.sports_gt.checked == false &&
				obj.pre_77.checked == false &&
				obj.pre_66.checked == false &&
				obj.post_77.checked == false)
		{
			alert("\nPlease select in which Historic Category you will race.");
			return false;
		}

		if (obj.num_cars.value > "0")
		{
			if (obj.make_1.value == "" && obj.model_1.value == "" && obj.year_1.value == "")
			{
				alert("\nPlease enter details of your car(s) - Make, model and year.");
				obj.make_1.focus();
				return false;
			}
		}

		return true;
	}
	catch (err)
	{
	  txt="A Javascript error occurred. Contact the Webmaster.\n\n";
	  txt+="Error Name: " + err.name + "\n";
	  txt+="Error Message: " + err.message + "\n";
	  txt+="Error Description: " + err.description + "\n";
	  txt+="Error File Name: " + err.fileName + "\n";
	  txt+="Error Line Number: " + err.lineNumber;
	  alert(txt);
		return false;
	}
}

//*************************************************************
function checkFieldsEntry()
{
	var obj = document.email_entry;

	// Racing Number
	if (obj.racing_num.value == "")
	{
		alert("\nPlease enter Your Racing Number.");
		return false;
	}
	var Regxp1 = /^[/a-zA-Z0-9]+$/;	// Matches any alphanumeric string (no spaces) allows /.
	if (Regxp1.test(obj.racing_num.value) != true)
	{
		alert("\nInvalid Racing Number (no spaces).");
		return false;
	}

	// Entrant Name
	var ent_name = obj.ent_name.value;
//	ent_name = trim(ent_name);
	if (obj.ent_name.value == "")
	{
		alert("\nPlease enter the Entrant's name.");
		return false;
	}

	// Entrant Email
	var ent_email = obj.ent_email.value;
//	ent_email = trim(ent_email);
	if (ent_email == "")
	{
		alert("\nPlease enter the Entrant's E-mail address.");
		return false;
	}
	var emailRegxp = /^([-!#\$%&'*+./0-9=?A-Z^_`a-z{|}~])+@([-!#\$%&'*+/0-9=?A-Z^_`a-z{|}~]+\\.)+[a-zA-Z]{2,6}\$/;
	var emailRegxp = /^[A-z0-9\._-]+@[A-z0-9][A-z0-9-]*(\.[A-z0-9_-]+)*\.([A-z]{2,6})$/;
	if (emailRegxp.test(ent_email) != true)
	{
		alert("\nInvalid E-mail Address");
		return false;
	}

	for (i = 0;  i < obj.attach_proof.length;  i++)
  {
	  if (obj.attach_proof[i].checked)
		{	var attach_proof_ok = obj.attach_proof[i].value; }
  }
  if (attach_proof_ok == 'yes' && obj.attach_proof_file.value == "")
  {
		alert("\nPlease enter a Proof of Payment file to upload.");
		return false;
  }

	return true;
}

//*************************************************************
function showAttachProof(theSpan)
{
	var objE = document.email_entry;
	for (i = 0;  i < objE.attach_proof.length;  i++)
	  {
		  if (objE.attach_proof[i].checked)
			{	var notification_ok = objE.attach_proof[i].value; }
	  }
	//alert(notification_ok);

	var obj = document.getElementById(theSpan);
	if (obj.style.visibility == 'visible')
	{ obj.style.visibility = 'hidden'; }
	else
	{ obj.style.visibility = 'visible'; }
}

//*************************************************************
function checkChampionshipStatus()
{
	var obj = document.championship_status;

	// First Name
	if (obj.firstname.value == "")
	{
		alert("\nPlease enter your First Name.");
		return false;
	}

	// Last Name
	if (obj.lastname.value == "")
	{
		alert("\nPlease enter your Last Name.");
		return false;
	}

	// Email
	var email_addr = obj.email_addr.value;
	if (email_addr == "")
	{
		alert("\nPlease enter your E-mail address.");
		return false;
	}
	var emailRegxp = /^([-!#\$%&'*+./0-9=?A-Z^_`a-z{|}~])+@([-!#\$%&'*+/0-9=?A-Z^_`a-z{|}~]+\\.)+[a-zA-Z]{2,6}\$/;
	var emailRegxp = /^[A-z0-9\._-]+@[A-z0-9][A-z0-9-]*(\.[A-z0-9_-]+)*\.([A-z]{2,6})$/;
	if (emailRegxp.test(email_addr) != true)
	{
		alert("\nInvalid E-mail Address");
		return false;
	}

	// Status
	for (i = 0;  i < obj.status_select.length;  i++)
  {
	  if (obj.status_select[i].checked)
		{	var status_select_ok = obj.status_select[i].value; }
  }
  if (status_select_ok != 'regional' && status_select_ok != 'club')
  {
		alert("\nPlease select Regional Championship or Club Championship.");
		return false;
  }

	return true;
}

//*************************************************************
function checkNewCarDriverDetail()
{
	try
	{
		var obj = document.add_new_car_driver_detail;

		if (obj.lst_category.value == "0")
		{
			alert("\nPlease select a HRSA Category.");
			obj.lst_category.focus();
			return false;
		}

		if (obj.car_make.value == "")
		{
			alert("\nPlease enter a Car Make.");
			obj.car_make.focus();
			return false;
		}

		if (obj.car_model.value == "")
		{
			alert("\nPlease enter a Car Model.");
			obj.car_model.focus();
			return false;
		}

		if (!IsNumeric(obj.car_year.value) || obj.car_year.value.length != 4)
		{
			alert("\nPlease enter a valid Year.");
			obj.car_year.focus();
			return false;
		}

		if (!IsNumeric(obj.car_weight.value) || obj.car_weight.value == "")
		{
			alert("\nPlease enter the Car Weight (numbers only).");
			obj.car_weight.focus();
			return false;
		}

		for (i=0;i< obj.car_weight_unit.length;i++)
		{
			if (obj.car_weight_unit[i].checked)
			{ var car_weight_unit_ok = obj.car_weight_unit[i].value; }
		}
		if (car_weight_unit_ok != "kgs" && car_weight_unit_ok != "lbs")
		{
			alert("\nPlease Select \"kgs\" or \"lbs\" for the Car Weight.");
			return false;
		}

		if (obj.engine_make.value == "")
		{
			alert("\nPlease enter a Engine Make.");
			obj.engine_make.focus();
			return false;
		}

		if (!IsNumeric(obj.engine_capacity.value) || obj.engine_capacity.value == "")
		{
			alert("\nPlease enter the Engine Capacity (numbers only).");
			obj.engine_capacity.focus();
			return false;
		}

		for (i=0;i< obj.car_capacity_unit.length;i++)
		{
			if (obj.car_capacity_unit[i].checked)
			{ var car_capacity_unit_ok = obj.car_capacity_unit[i].value; }
		}
		if (car_capacity_unit_ok != "cc" && car_capacity_unit_ok != "cu_in")
		{
			alert("\nPlease Select \"cc\" or \"cu in\" for the Engine Capacity.");
			return false;
		}

		if (!IsNumeric(obj.num_gears.value) || obj.num_gears.value == "")
		{
			alert("\nPlease enter the Number of Gears (numbers only).");
			obj.num_gears.focus();
			return false;
		}
/*
		if (obj.car_history.value == "")
		{
			alert("\nPlease enter the History of the Car.");
			obj.car_history.focus();
			return false;
		}

		if (obj.driver_racing_history.value == "")
		{
			alert("\nPlease enter the Racing History of the Driver.");
			obj.driver_racing_history.focus();
			return false;
		}
*/
		return true;
	}
	catch (err)
	{
		alert("\nA Javascript error occurred. Contact the Webmaster.\n" + err.name + "\n" + err.message)
		return false;
	}
}

//*************************************************************
function checkEditCarDriverDetail()
{
	try
	{
		var obj = document.edit_new_car_driver_detail;

		if (obj.lst_category.value == "0")
		{
			alert("\nPlease select a HRSA Category.");
			obj.lst_category.focus();
			return false;
		}

		if (obj.car_make.value == "")
		{
			alert("\nPlease enter a Car Make.");
			obj.car_make.focus();
			return false;
		}

		if (obj.car_model.value == "")
		{
			alert("\nPlease enter a Car Model.");
			obj.car_model.focus();
			return false;
		}

		if (!IsNumeric(obj.car_year.value) || obj.car_year.value.length != 4)
		{
			alert("\nPlease enter a valid Year.");
			obj.car_year.focus();
			return false;
		}

		if (!IsNumeric(obj.car_weight.value) || obj.car_weight.value == "")
		{
			alert("\nPlease enter the Car Weight (numbers only).");
			obj.car_weight.focus();
			return false;
		}

		for (i=0;i< obj.car_weight_unit.length;i++)
		{
			if (obj.car_weight_unit[i].checked)
			{ var car_weight_unit_ok = obj.car_weight_unit[i].value; }
		}
		if (car_weight_unit_ok != "kgs" && car_weight_unit_ok != "lbs")
		{
			alert("\nPlease Select \"kgs\" or \"lbs\" for the Car Weight.");
			return false;
		}

		if (obj.engine_make.value == "")
		{
			alert("\nPlease enter a Engine Make.");
			obj.engine_make.focus();
			return false;
		}

		if (!IsNumeric(obj.engine_capacity.value) || obj.engine_capacity.value == "")
		{
			alert("\nPlease enter the Engine Capacity (numbers only).");
			obj.engine_capacity.focus();
			return false;
		}

		for (i=0;i< obj.car_capacity_unit.length;i++)
		{
			if (obj.car_capacity_unit[i].checked)
			{ var car_capacity_unit_ok = obj.car_capacity_unit[i].value; }
		}
		if (car_capacity_unit_ok != "cc" && car_capacity_unit_ok != "cu_in")
		{
			alert("\nPlease Select \"cc\" or \"cu in\" for the Engine Capacity.");
			return false;
		}

		if (!IsNumeric(obj.num_gears.value) || obj.num_gears.value == "")
		{
			alert("\nPlease enter the Number of Gears (numbers only).");
			obj.num_gears.focus();
			return false;
		}
/*
		if (obj.car_history.value == "")
		{
			alert("\nPlease enter the History of the Car.");
			obj.car_history.focus();
			return false;
		}

		if (obj.driver_racing_history.value == "")
		{
			alert("\nPlease enter the Racing History of the Driver.");
			obj.driver_racing_history.focus();
			return false;
		}
*/
		return true;
	}
	catch (err)
	{
		alert("\nA Javascript error occurred. Contact the Webmaster.\n" + err.name + "\n" + err.message)
		return false;
	}
}

//*************************************************************
