// JavaScript Document
$(document).ready(function(){
	var nric = $("#txtNRIC");
	var nricInfo = $("#spNRIC");

	var name = $("#txtName");
	var nameInfo = $("#spName");
	
	var email = $("#txtEmail");
	var emailInfo = $("#spEmail");
	
//	var fbemail = $("#txtFBEmail");
//	var fbemailInfo = $("#spFBEmail");

	var contact = $("#txtContact");
	var contactInfo = $("#spContact");

	var nationality = $("#txtnationality");
	var nationalityInfo = $("#spNationality");

	var eCname = $("#txteContactName");
	var eCnameInfo = $("#speContactName");

	var eContact = $("#txteContactNo");
	var eContactInfo = $("#speContactNo");

	var TermsCon = $("#cbTNC");
	var TermsConInfo = $("#spTermsCon");


	nric.blur(validateNRIC);
	nric.keyup(validateNRIC);

	name.blur(validateName);
	name.keyup(validateName);

	email.blur(validateEmail);
	email.keyup(validateEmail);
	
//	fbemail.blur(validateFBEmail);
//	fbemail.keyup(validateFBEmail);

	contact.blur(validateContact);
	contact.keyup(validateContact);

	nationality.blur(validateNationality);
	nationality.keyup(validateNationality);

	eCname.blur(validateeCname);
	eCname.keyup(validateeCname);

	eContact.blur(validateeContact);
	eContact.keyup(validateeContact);

	$("#register").submit(function(){
	
	//return true;
	
	
		if(validateName() & validateEmail() & validateContact() & validateNRIC() & validateNationality() & validateeCname() & validateeContact() & validateCheckbox() & validateDOB() & validateRaceSlot())
		{
			return true;
		}else
		{
			window.alert("Form Is Incomplete!\n\n Scroll Up To Check!")
			return false;
		}
	});
	
	function validateRaceSlot() {
		var ddlRS = $("#dbraceslot option:selected"); 
		var RaceSlotInfo = $("#spRaceSlot");
		if (ddlRS.val() == "")  {
			
			RaceSlotInfo.text("Please select a Race Slot.");
			RaceSlotInfo.addClass("error");
			return false;			
		} else
		{
			RaceSlotInfo.text("");
			RaceSlotInfo.removeClass("error");
			return true;
		}
		
	}

	function validateDOB() {
		var ddlD = $("#ddlDay option:selected"); 
		var ddlM = $("#ddlMonth option:selected"); 
		var ddlY = $("#ddlYear option:selected"); 
		var dobInfo = $("#spDOB");
		if (ddlD.val() == "" & ddlM.val() == "" & ddlY.val() == "")  {
			
			dobInfo.text("Please select Date Of Birth.");
			dobInfo.addClass("error");
			return false;			
		} else
		{
			dobInfo.text("");
			dobInfo.removeClass("error");
			return true;
		}
		
	}

	function validateNRIC(){
		//if it's NOT valid
		if(nric.val().length < 1){
			nric.addClass("error");
			nricInfo.text("NRIC is required");
			nricInfo.addClass("error");
			return false;
		}
		//if it's valid
		else{
			nric.removeClass("error");
			nricInfo.text("");
			nricInfo.removeClass("error");
			return true;
		}
	}
	
	function validateName(){
		//if it's NOT valid
		if(name.val().length < 1){
			name.addClass("error");
			nameInfo.text("Name is required");
			nameInfo.addClass("error");
			return false;
		}
		//if it's valid
		else{
			name.removeClass("error");
			nameInfo.text("");
			nameInfo.removeClass("error");
			return true;
		}
	}
	
	function validateEmail(){
		//testing regular expression
		var a = email.val();
		var filter = /^[a-zA-Z0-9]+[a-zA-Z0-9_.-]+[a-zA-Z0-9_-]+@[a-zA-Z0-9]+[a-zA-Z0-9.-]+[a-zA-Z0-9]+.[a-z]{2,4}$/;
		//if it's valid email
		if(filter.test(a)){
			email.removeClass("error");
			emailInfo.text("");
			emailInfo.removeClass("error");
			return true;
		}
		//if it's NOT valid
		else{
			email.addClass("error");
			emailInfo.text("Email is required / invalid.");
			emailInfo.addClass("error");
			return false;
		}
	}
/*
	function validateFBEmail(){
		//testing regular expression
		var a = fbemail.val();
		var filter = /^[a-zA-Z0-9]+[a-zA-Z0-9_.-]+[a-zA-Z0-9_-]+@[a-zA-Z0-9]+[a-zA-Z0-9.-]+[a-zA-Z0-9]+.[a-z]{2,4}$/;
		//if it's valid email
		if(filter.test(a)){
			fbemail.removeClass("error");
			fbemailInfo.text("");
			fbemailInfo.removeClass("error");
			return true;
		}
		//if it's NOT valid
		else{
			fbemail.addClass("error");
			fbemailInfo.text("Face Book Email is required / invalid.");
			fbemailInfo.addClass("error");
			return false;
		}
	}
*/
	// Contact		
	function validateContact(){
		//testing regular expression
		var a = contact.val();
		var filter = /^\d{1,9}$/;
		//if it's valid email
		if(filter.test(a)){
			contact.removeClass("error");
			contactInfo.text("");
			contactInfo.removeClass("error");
			return true;
		}
		//if it's NOT valid
		else{
			contact.addClass("error");
			contactInfo.text("Contact No. is required / invalid.");
			contactInfo.addClass("error");
			return false;
		}
	}

	// Nationality
	function validateNationality(){
		//if it's NOT valid
		if(name.val().length < 1){
			nationality.addClass("error");
			nationalityInfo.text("Nationality is required");
			nationalityInfo.addClass("error");
			return false;
		}
		//if it's valid
		else{
			nationality.removeClass("error");
			nationalityInfo.text("");
			nationalityInfo.removeClass("error");
			return true;
		}
	}

	// Emergency Contact Name
	function validateeCname(){
		//if it's NOT valid
		if(name.val().length < 1){
			eCname.addClass("error");
			eCnameInfo.text("Emergency Contact Name is required");
			eCnameInfo.addClass("error");
			return false;
		}
		//if it's valid
		else{
			eCname.removeClass("error");
			eCnameInfo.text("");
			eCnameInfo.removeClass("error");
			return true;
		}
	}

	// Emergency Contact No
	function validateeContact(){
		//testing regular expression
		var a = eContact.val();
		var filter = /^\d{1,9}$/;
		//if it's valid email
		if(filter.test(a)){
			eContact.removeClass("error");
			eContactInfo.text("");
			eContactInfo.removeClass("error");
			return true;
		}
		//if it's NOT valid
		else{
			eContact.addClass("error");
			eContactInfo.text("Emergency Contact No. is required / invalid.");
			eContactInfo.addClass("error");
			return false;
		}
	}

	function validateCheckbox() {
		if (!(TermsCon.is(':checked'))) {
			TermsConInfo.text("Please read and accept.");
			TermsConInfo.addClass("error");
			return false;
		} else
		{

			TermsConInfo.text("");
			TermsConInfo.removeClass("error");
			return true;
		}
	}


	// Mobile no.		
/*	function validateMobile(){
		//testing regular expression
		var a = mobile.val();
		var filter = /^\d{1,9}$/;
		//if it's valid Mobile
		if(filter.test(a)){
			mobile.removeClass("error");
			mobileInfo.text("");
			mobileInfo.removeClass("error");
			return true;
		}
		//if it's NOT valid
		else{
			mobile.addClass("error");
			mobileInfo.text("Mobile No. is required / invalid.");
			mobileInfo.addClass("error");
			return false;
		}
	}
*/
	
});