// JavaScript Document


function validateContestLights() {
	var emptyFields = "";

	if (document.frmContest.firstName.value == ""){
		emptyFields += "First Name" + "\n" ;
	}
	
	if (document.frmContest.lastName.value == ""){
		emptyFields += "Last Name" + "\n" ;
	}
	
	
	
	if (document.frmContest.email.value == ""){
		emptyFields += "Email Address" + "\n" ;
	} else {
		//validateEmail
		fieldValue = document.frmContest.email.value;
		formatVerified = verifyEmail(fieldValue);
		if (!formatVerified){
			emptyFields  += " Your email address is missing or invalid." + "\n" ;
			}
	}
	
	if(document.frmContest.emailConfirm.value == "") {
		emptyFields += "Confirm Email Address" + "\n" ;
	}  else {
		//validateEmail
		fieldValue = document.frmContest.emailConfirm.value;
		formatVerified = verifyEmail(fieldValue);
		if (!formatVerified){
			emptyFields  += " Your confirm email address is missing or invalid." + "\n" ;
			}
	}
	
	if (document.frmContest.email.value != document.frmContest.emailConfirm.value) {
		emptyFields += "Your email address and confirmation email address do not match." + "\n" ;
	}
	
	if (document.frmContest.elfName.value == ""){
		emptyFields += "Elf Name" + "\n" ;
	}	
	
	
	/*
	
	if (document.frmContest.phone.value == ""){
		emptyFields += "Phone" + "\n" ;
	}
		*/
	if (emptyFields.length >= 1) 
		{
			alert("Please ensure that the following fields are completed correctly:" + "\n" + emptyFields);
			return false;
		} else {
			document.frmContest.submit();
			return true;
		}	
}

function validateContestGetaway() {
	var emptyFields = "";

	if (document.frmContest.firstName.value == ""){
		emptyFields += "First Name" + "\n" ;
	}
	
	if (document.frmContest.lastName.value == ""){
		emptyFields += "Last Name" + "\n" ;
	}
	
	
	
	if (document.frmContest.email.value == ""){
		emptyFields += "Email Address" + "\n" ;
	} else {
		//validateEmail
		fieldValue = document.frmContest.email.value;
		formatVerified = verifyEmail(fieldValue);
		if (!formatVerified){
			emptyFields  += " Your email address is missing or invalid." + "\n" ;
			}
	}
	
	if(document.frmContest.emailConfirm.value == "") {
		emptyFields += "Confirm Email Address" + "\n" ;
	}  else {
		//validateEmail
		fieldValue = document.frmContest.emailConfirm.value;
		formatVerified = verifyEmail(fieldValue);
		if (!formatVerified){
			emptyFields  += " Your confirm email address is missing or invalid." + "\n" ;
			}
	}
	
	if (document.frmContest.email.value != document.frmContest.emailConfirm.value) {
		emptyFields += "Your email address and confirmation email address do not match." + "\n" ;
	}
	
	if (emptyFields.length >= 1) 
		{
			alert("Please ensure that the following fields are completed correctly:" + "\n" + emptyFields);
			return false;
		} else {
			document.frmContest.submit();
			return true;
		}	
}


function validatePhotoContest() {
	var emptyFields = "";

	if (document.frmContest.firstName.value == ""){
		emptyFields += "First Name" + "\n" ;
	}
	
	if (document.frmContest.lastName.value == ""){
		emptyFields += "Last Name" + "\n"  ;
	}
	
	
	
	if (document.frmContest.email.value == ""){
		emptyFields += "Email Address" + "\n" ;
	} else {
		//validateEmail
		fieldValue = document.frmContest.email.value;
		formatVerified = verifyEmail(fieldValue);
		if (!formatVerified){
			emptyFields  += " Your email address is missing or invalid." + "\n" ;
			}
	}
	
	if(document.frmContest.emailConfirm.value == "") {
		emptyFields += "Confirm Email Address" + "\n" ;
	}  else {
		//validateEmail
		fieldValue = document.frmContest.emailConfirm.value;
		formatVerified = verifyEmail(fieldValue);
		if (!formatVerified){
			emptyFields  += " Your confirm email address is missing or invalid."  +"\n" ;
			}
	}
	
	if (document.frmContest.email.value != document.frmContest.emailConfirm.value) {
		emptyFields += "Your email address and confirmation email address do not match." + "\n" ;
	}
	
	if (document.frmContest.uploadfile.value == ""){
		emptyFields += "Photo Upload" +  "\n" ;
	}
	else{
		
	var fileExtension = document.frmContest.uploadfile.value.substring(document.frmContest.uploadfile.value.length - 3,document.frmContest.uploadfile.value.length).toLowerCase();
		if (fileExtension != "jpg" && fileExtension != "jpeg" && fileExtension != "gif" && fileExtension != "png" && fileExtension != "tif"){
			emptyFields += "Valid image file must be selected" +  "\n" ;
		}
	
	}
	
	
	/*
	
	if (document.frmContest.phone.value == ""){
		emptyFields += "Phone" + "\n" ;
	}
		*/
	if (emptyFields.length >= 1) 
		{
			alert("Please ensure that the following fields are completed correctly:" + "\n" + emptyFields);
			return false;
		} else {
			document.frmContest.submit();
			return true;
		}	
}

function validateContest() {
	var emptyFields = "";

	if (document.frmContest.firstName.value == ""){
		emptyFields += "First Name" + "\n" ;
	}
	
	if (document.frmContest.lastName.value == ""){
		emptyFields += "Last Name" + "\n" ;
	}
	
	
	
	if (document.frmContest.email.value == ""){
		emptyFields += "Email Address" + "\n" ;
	} else {
		//validateEmail
		fieldValue = document.frmContest.email.value;
		formatVerified = verifyEmail(fieldValue);
		if (!formatVerified){
			emptyFields  += " Your email address is missing or invalid." + "\n" ;
			}
	}
	
	if(document.frmContest.emailConfirm.value == "") {
		emptyFields += "Confirm Email Address" + "\n" ;
	}  else {
		//validateEmail
		fieldValue = document.frmContest.emailConfirm.value;
		formatVerified = verifyEmail(fieldValue);
		if (!formatVerified){
			emptyFields  += " Your confirm email address is missing or invalid." + "\n" ;
			}
	}
	
	if (document.frmContest.email.value != document.frmContest.emailConfirm.value) {
		emptyFields += "Your email address and confirmation email address do not match." + "\n" ;
	}
	
	/*
	
	if (document.frmContest.phone.value == ""){
		emptyFields += "Phone" + "\n" ;
	}
		*/
	if (emptyFields.length >= 1) 
		{
			alert("Please ensure that the following fields are completed correctly:" + "\n" + emptyFields);
			return false;
		} else {
			document.frmContest.submit();
			return true;
		}	
}

function validateEventRegister() {
	var emptyFields = "";
	
	if (document.frmEventRegister.firstName.value == ""){
		emptyFields += "First Name" + "\n" ;
	}
	
	if (document.frmEventRegister.lastName.value == ""){
		emptyFields += "Last Name" + "\n" ;
	}
	
	if (document.frmEventRegister.phone.value == ""){
		emptyFields += "Phone" + "\n" ;
	}
		
	if (emptyFields.length >= 1) 
		{
			alert("Please ensure that the following fields are completed correctly:" + "\n" + emptyFields);
			return false;
		} else {
			document.frmEventRegister.submit();
			return true;
		}	
}


function validateEventBooking() {
	var emptyFields = "";

	if (document.frmEventBooking.firstLastName.value == ""){
		emptyFields += "First and Last Name" + "\n" ;
	}
	
	
	if (document.frmEventBooking.email.value == ""){
		emptyFields += "Email Address" + "\n" ;
	} else {
		//validateEmail
		fieldValue = document.frmEventBooking.email.value;
		formatVerified = verifyEmail(fieldValue);
		if (!formatVerified){
			emptyFields  += " Your email address is missing or invalid." + "\n" ;
			}
	}
	
	if (document.frmEventBooking.contactNumber.value == ""){
		emptyFields += "Contact Number" + "\n" ;
	}
	
	
	
	if (emptyFields.length >= 1) 
		{
			alert("Please ensure that the following fields are completed correctly:" + "\n" + emptyFields);
			return false;
		} else {
			return true;
		}	
}

function validateEventBookingFr() {
	var emptyFields = "";

	if (document.frmEventBooking.firstLastName.value == ""){
		emptyFields += "Nom et prenom" + "\n" ;
	}
	
	
	if (document.frmEventBooking.email.value == ""){
		emptyFields += "Courriel" + "\n" ;
	} else {
		//validateEmail
		fieldValue = document.frmEventBooking.email.value;
		formatVerified = verifyEmail(fieldValue);
		if (!formatVerified){
			emptyFields  += "Votre courriel est invalide." + "\n" ;
			}
	}
	
	if (document.frmEventBooking.contactNumber.value == ""){
		emptyFields += "Numero de telephone" + "\n" ;
	}
	
	
	
	if (emptyFields.length >= 1) 
		{
			alert("Veuillez entrer l'information suivante:" + "\n" + emptyFields);
			return false;
		} else {
			return true;
		}	
}

function verifyEmail(email) {
/*	new version by Laurence 2004 Nov 26; old version commented-out below
	RegExp is a Javascript1.2 feature; tested successfully in WinIE 5.0+, MacIE 5.1, Safari 1.0, WinNN 4.7, WinNN 6.2, WinMoz 1.7
	The pattern matches: 
	- at least one word character ( a-zA-Z0-9_ )
	- followed by any number more including periods
	- then a single @
	- then at least one alphanumeric character plus any number more including hyphens and periods
	- plus an ending of an alphanumeric char, a single period, and at least 2 more letters. 
	There can be nothing before or after the pattern; all whitespace, punctuation, etc. not explicitly allowed is forbidden.
*/
	var myRegExp = /^[\w][\w\.]*@[a-zA-Z0-9]+[\w\.\-]*[a-zA-Z0-9]\.[a-zA-Z]{2,}$/;
	var sPos = email.search(myRegExp);
	if (sPos >= 0) {
		return true;
	} else {
		return false;
	}
}


function validateVolunteerForm() {
	var emptyFields = "";

	if (document.frmVolunteer.firstName.value == ""){
		emptyFields += "   First Name\n" ;
	}

	if (document.frmVolunteer.lastName.value == ""){
		emptyFields += "   Last Name\n" ;
	}

	if (document.frmVolunteer.homeAddress.value == ""){
		emptyFields += "   Home Address" + "\n" ;
	}

	if (document.frmVolunteer.city.value == ""){
		emptyFields += "   City" + "\n" ;
	}

	if (document.frmVolunteer.province.value == ""){
		emptyFields += "   Province" + "\n" ;
	}

	if (document.frmVolunteer.postalcode.value == ""){
		emptyFields += "   Postal Code" + "\n" ;
	}

	if (document.frmVolunteer.homePhone.value == ""){
		emptyFields += "   Home Phone Number" + "\n" ;
	}

/*
	if (document.frmVolunteer.cellPhone.value == ""){
		emptyFields += "   Cell Phone Number" + "\n" ;
	}
*/
	
	if (document.frmVolunteer.email.value == ""){
		emptyFields += "   Email Address" + "\n" ;
	} else {
		//validateEmail
		fieldValue = document.frmVolunteer.email.value;
		formatVerified = verifyEmail(fieldValue);
		if (!formatVerified){
			emptyFields  += "   Email address invalid" + "\n" ;
			}
	}
	
	age_selected = false;
	for (counter = 0; counter < document.frmVolunteer.age.length; counter++)
	{
		if (document.frmVolunteer.age[counter].checked)
			age_selected = true; 
	}

	if (age_selected == false){
		emptyFields += "   Age\n" ;
	}

	



	if (emptyFields.length >= 1) 
		{
			alert("To submit your form, please ensure you have filled out all of your personal information.\t\t\n\n" + emptyFields + "\n");
			return false;
		} else {
			return true;
		}	
}


function validateVolunteerFormFR() {
	var emptyFields = "";

	if (document.frmVolunteer.firstName.value == ""){
		emptyFields += "   Prénom\n" ;
	}

	if (document.frmVolunteer.lastName.value == ""){
		emptyFields += "   Nom de famille\n" ;
	}

	if (document.frmVolunteer.homeAddress.value == ""){
		emptyFields += "   Adresse personnelle" + "\n" ;
	}

	if (document.frmVolunteer.city.value == ""){
		emptyFields += "   Ville" + "\n" ;
	}

	if (document.frmVolunteer.province.value == ""){
		emptyFields += "   Province" + "\n" ;
	}

	if (document.frmVolunteer.postalcode.value == ""){
		emptyFields += "   Code postal" + "\n" ;
	}

	if (document.frmVolunteer.homePhone.value == ""){
		emptyFields += "   N° de téléphone résidentiel" + "\n" ;
	}

/*
	if (document.frmVolunteer.cellPhone.value == ""){
		emptyFields += "   Cell Phone Number" + "\n" ;
	}
*/
	
	if (document.frmVolunteer.email.value == ""){
		emptyFields += "   Adresse électronique" + "\n" ;
	} else {
		//validateEmail
		fieldValue = document.frmVolunteer.email.value;
		formatVerified = verifyEmail(fieldValue);
		if (!formatVerified){
			emptyFields  += "   Adresse électronique" + "\n" ;
			}
	}
	
	age_selected = false;
	for (counter = 0; counter < document.frmVolunteer.age.length; counter++)
	{
		if (document.frmVolunteer.age[counter].checked)
			age_selected = true; 
	}

	if (age_selected == false){
		emptyFields += "   Âge\n" ;
	}

	



	if (emptyFields.length >= 1) 
		{
			alert("Avant de transmettre votre formulaire, veuillez vous assurer d’avoir rempli tous les renseignements personnels demandés.\t\t\n\n" + emptyFields + "\n");
			return false;
		} else {
			return true;
		}	
}

function validateFeedback(theForm,strBoxId){
	
	var emptyFields = "";
	var checked = document.getElementById(strBoxId).checked;
	
	
	if (document.frmFeedback.firstName.value.length == 0) {
		emptyFields += "First Name" + "\n";
	}
	if (document.frmFeedback.lastName.value.length == 0) {
		emptyFields += "Last Name" + "\n";
	}
	if (document.frmFeedback.subject.value.length == 0) {
		emptyFields += "Subject" + "\n";
	}
	if (document.frmFeedback.comments.value.length == 0) {
		emptyFields += "Comments" + "\n";
	}
	
	if(checked){
	
		if (document.frmFeedback.email.value.length == 0) {
			emptyFields += "Email" + "\n";
		} else {
			var emailVerified = verifyEmail(document.frmFeedback.email.value);
			if (!emailVerified) {
				emptyFields += " Your e-mail format is not valid." + "\n" ;
			}	
		}
	
	}
	if (emptyFields.length >= 1){
		alert("Please complete the following fields:" + "\n" + emptyFields);
		return false;
	} else {	
		return true;
	}
}
