function validateRegistratieForm() {
	var emptyString = /^\s*$/ ;
	var errs = 0;
	var formNaam = "registreren";
	var veldArray = new Array("voorletters","achternaam","adres","postcode","plaats","land","inlog");
	var email_alert = false;
	var ww_alert = false;
	var leeg_alert = false;
	if(document.forms[formNaam].elements["email_1"].value != document.forms[formNaam].elements["email_2"].value ||
		document.forms[formNaam].elements["email_1"].value == "" ||
		document.forms[formNaam].elements["email_2"].value == "") {
		document.forms[formNaam].elements["email_1"].style.border = "1px solid red";
		document.forms[formNaam].elements["email_2"].style.border = "1px solid red";
		errs += 1;
		email_alert = true;
	} else {
		document.forms[formNaam].elements["email_1"].style.border = "";
		document.forms[formNaam].elements["email_2"].style.border = "";
	}
	if(document.forms[formNaam].elements["ww_1"].value != document.forms[formNaam].elements["ww_2"].value ||
		document.forms[formNaam].elements["ww_1"].value == "" ||
		document.forms[formNaam].elements["ww_2"].value == "") {
		document.forms[formNaam].elements["ww_1"].style.border = "1px solid red";
		document.forms[formNaam].elements["ww_2"].style.border = "1px solid red";
		errs += 1;
		ww_alert = true;
	} else {
		document.forms[formNaam].elements["ww_1"].style.border = "";
		document.forms[formNaam].elements["ww_2"].style.border = "";
	}
	for (var i=0; i<veldArray.length; i++) {
		veldNaam = veldArray[i];
		if(emptyString.test(document.forms[formNaam].elements[veldNaam].value)) {
			document.forms[formNaam].elements[veldNaam].style.border = "1px solid red";
			errs += 1;
			leeg_alert = true;
		} else {
			document.forms[formNaam].elements[veldNaam].style.border = "";
		}
	}
	if(email_alert) {
		alert("De ingevoerde emailadressen matchen niet of zijn leeg!");
	}
	if(ww_alert) {
		alert("De ingevoerde wachtwoorden matchen niet of zijn leeg!");
	}
	if(leeg_alert) {
		alert("Niet alle verplichte velden zijn ingevuld, loop de rood gemarkeerde velden nog eens na!");
	}
	return (errs==0);
};

function validateWorkshop(validateCode) {
	var emptyString = /^\s*$/ ;
	var errs = 0;
	var formNaam = "workshop_aanmelden";
	var veldArray = new Array("naam","email","telefoon","woonplaats","personen","datum");
	for (var i=0; i<veldArray.length; i++) {
		veldNaam = veldArray[i];
		if(emptyString.test(document.forms[formNaam].elements[veldNaam].value)) {
			document.forms[formNaam].elements[veldNaam].style.border = '1px solid red';
			errs += 1;
		} else {
			document.forms[formNaam].elements[veldNaam].style.border = '';
		}
	}
	if(document.getElementById("code_2").value.toUpperCase() != validateCode) {
		document.getElementById("code_2").style.border = "1px solid red";
		errs += 1;
	} else {
		document.getElementById("code_2").style.border = "";
	}
	if(errs > 0) {
		alert("Sorry, but you didn't fill in all the required fields. Please check the red marked fields!");
	}
	return (errs==0);
};

function validateExcursieForm() {
	var emptyString = /^\s*$/ ;
	var errs = 0;
	var formNaam = "excursie";
	var veldArray = new Array("bedrijfsnaam","contactpersoon","b_adres","b_nummer","b_postcode","b_plaats","telefoonnummer","emailadres","beschrijving","ingevuld_naam","ingevuld_positie","ingevuld_datum");
	for(var i=0; i<veldArray.length; i++) {
		veldNaam = veldArray[i];
		if(emptyString.test(document.forms[formNaam].elements[veldNaam].value)) {
			document.forms[formNaam].elements[veldNaam].style.border = "1px solid red";
			errs += 1;
			leeg_alert = true;
		} else {
			document.forms[formNaam].elements[veldNaam].style.border = "";
		}
	}
	if (emptyString.test(document.forms.excursie.excursie_duur_overig.value) && document.getElementById("excursie_duur").value == "other") { document.forms.excursie.excursie_duur_overig.style.border = "1px solid red"; errs += 1; }
	else { document.forms.excursie.excursie_duur_overig.style.border = ""; }
	if (document.forms.excursie.voorwaarden.checked == false) { document.getElementById("voorwaarden_box").style.border = "1px solid red"; errs += 1; }
	else { document.getElementById("voorwaarden_box").style.border = ""; }
	if (document.forms.excursie.faciliteiten_1.checked == false	&& document.forms.excursie.faciliteiten_2.checked == false && document.forms.excursie.faciliteiten_3.checked == false && document.forms.excursie.faciliteiten_4.checked == false && document.forms.excursie.faciliteiten_5.checked == false && document.forms.excursie.faciliteiten_6.checked == false && document.forms.excursie.faciliteiten_7.checked == false && document.forms.excursie.faciliteiten_8.checked == false && document.forms.excursie.faciliteiten_9.checked == false && document.forms.excursie.faciliteiten_10.checked == false && document.forms.excursie.faciliteiten_11.checked == false && document.forms.excursie.faciliteiten_12.checked == false) {
		document.getElementById("faciliteit_box").style.border = "1px solid red";
		errs += 1;
	} else {
		document.getElementById("faciliteit_box").style.border = "";
	}
	if (emptyString.test(document.forms.excursie.faciliteit_overig.value) && document.forms.excursie.faciliteiten_10.checked == true) { document.forms.excursie.faciliteit_overig.style.border = "1px solid red"; errs += 1; }
	else { document.forms.excursie.faciliteit_overig.style.border = ""; }
	if (emptyString.test(document.forms.excursie.faciliteit_kind.value) && document.forms.excursie.faciliteiten_11.checked == true) { document.forms.excursie.faciliteit_kind.style.border = "1px solid red"; errs += 1; }
	else { document.forms.excursie.faciliteit_kind.style.border = ""; }
	if (emptyString.test(document.forms.excursie.faciliteit_tour.value) && document.forms.excursie.faciliteiten_12.checked == true) { document.forms.excursie.faciliteit_tour.style.border = "1px solid red"; errs += 1; }
	else { document.forms.excursie.faciliteit_tour.style.border = ""; }
	if(errs > 0) {
		alert("Sorry, but you didn't fill in all the required fields. Please check the red marked fields!");
	}
	return (errs==0);
};

function validateAccommodatieAanmeld(validateCode) {
	var emptyString = /^\s*$/ ;
	var errs = 0;
	var formNaam = "contact_accommodatie";
	var veldArray = new Array("naam","email","telefoon","personen_1","personen_2","personen_3","kamer_1","kamer_2","kamer_3","kamer_4","kamer_5","aankomst","vertrek","captcha_code");
	for (var i=0; i<veldArray.length; i++) {
		veldNaam = veldArray[i];
		if(emptyString.test(document.forms[formNaam].elements[veldNaam].value)) {
			document.forms[formNaam].elements[veldNaam].style.border = '1px solid red';
			errs += 1;
		} else {
			document.forms[formNaam].elements[veldNaam].style.border = '';
		}
	}
	if(errs > 0) {
		alert("Sorry, but you didn't fill in all the required fields. Please check the red marked fields!");
	}
	return (errs==0);
};

function validateExcursieAanmeld(validateCode) {
	var emptyString = /^\s*$/ ;
	var errs = 0;
	var formNaam = "contact_excursie";
	var veldArray = new Array("naam","email","telefoon","personen_1","personen_2","personen_3","datum","tijdstip","captcha_code");
	for (var i=0; i<veldArray.length; i++) {
		veldNaam = veldArray[i];
		if(emptyString.test(document.forms[formNaam].elements[veldNaam].value)) {
			document.forms[formNaam].elements[veldNaam].style.border = '1px solid red';
			errs += 1;
		} else {
			document.forms[formNaam].elements[veldNaam].style.border = '';
		}
	}
	if(errs > 0) {
		alert("Sorry, but you didn't fill in all the required fields. Please check the red marked fields!");
	}
	return (errs==0);
};

function showTab(number) {
	var tab_naam = "tabs-step"+number;
	var menu_tab_naam = "tab"+number;
	for(var i = 1; i < 9; i++) {
		var temp_tab_naam = "tabs-step"+i;
		var temp_menu_tab_naam = "tab"+i;
		document.getElementById(temp_tab_naam).style.display = "none";
		document.getElementById(temp_menu_tab_naam).className = "browntabs";
		document.getElementById(temp_menu_tab_naam).style.className = "browntabs";
		document.getElementById(temp_menu_tab_naam).setAttribute("class","browntabs");
	}
	document.getElementById(tab_naam).style.display = "";
	document.getElementById(menu_tab_naam).className = "orangetabs";
	document.getElementById(menu_tab_naam).style.className = "orangetabs";
	document.getElementById(menu_tab_naam).setAttribute("class","orangetabs")
}

function showHiddenField(input_field,hidden_div) {
	if(document.getElementById(input_field).checked) {
		document.getElementById(hidden_div).style.display = "";
	} else {
		document.getElementById(hidden_div).style.display = "none";
	}
}

function validateStep1() {
	var emptyString = /^\s*$/ ;
	var numberString = /^[0-9]/ ;
	var emailString = /^[^@]+@[^@.]+\.[^@]*\w\w$/ ;
	var errs = 0;
	var formNaam = "add_accommodation";
	var veldArray = new Array("establishment","contact-person","address","town","province","postal-address","postal-town","postal-code","telephone","email");
	for(var i = 0; i < veldArray.length; i++) {
		veldNaam = veldArray[i];
		if(emptyString.test(document.forms[formNaam].elements[veldNaam].value)) {
			document.forms[formNaam].elements[veldNaam].style.border = "1px solid red";
			errs += 1;
			leeg_alert = true;
		} else {
			document.forms[formNaam].elements[veldNaam].style.border = "";
		}
	}
	if(!emailString.test(document.forms[formNaam].elements["email"].value)) { document.forms[formNaam].elements["email"].style.border = "1px solid red"; errs += 1; }
	else { document.forms[formNaam].elements["email"].style.border = ""; }
	return(errs == 0);
};

function validateStep2() {
	if(!validateStep1()) {
		return false;
	} else {
		var emptyString = /^\s*$/ ;
		var numberString = /^[0-9]/ ;
		var emailString = /^[^@]+@[^@.]+\.[^@]*\w\w$/ ;
		var errs = 0;
		var aantal_categorieen = 18;
		var aantal_categorieen_geselecteerd = 0;
		for(var i = 1; i <= aantal_categorieen; i++) {
			var temp_categorie_naam = "a"+i;
			if(document.getElementById(temp_categorie_naam).checked == true) {
				aantal_categorieen_geselecteerd += 1;
			}
		}
		if(aantal_categorieen_geselecteerd == 0) {
			document.getElementById("accommodatie_categorie").style.border = "1px solid red";
			errs += 1;
		} else {
			document.getElementById("accommodatie_categorie").style.border = "";
		}
		var aantal_sterren = 5;
		var aantal_sterren_geselecteerd = 0;
		for(var i = 0; i <= aantal_sterren; i++) {
			var temp_sterren_naam = "s-"+i;
			if(document.getElementById(temp_sterren_naam).checked == true) {
				aantal_sterren_geselecteerd += 1;
			}
		}
		if(aantal_sterren_geselecteerd == 0) {
			document.getElementById("accommodatie_sterren").style.border = "1px solid red";
			errs += 1;
		} else {
			document.getElementById("accommodatie_sterren").style.border = "";
		}
		return(errs == 0);
	}
};

function validateStep3() {
	if(!validateStep1() || !validateStep2()) {
		return false;
	} else {
		var emptyString = /^\s*$/ ;
		var numberString = /^[0-9]/ ;
		var emailString = /^[^@]+@[^@.]+\.[^@]*\w\w$/ ;
		var errs = 0;
		if(emptyString.test(document.getElementById("directions-establishment").value)) {
			errs += 1;
			document.getElementById("directions-establishment").style.border = "1px solid red";
		} else {
			document.getElementById("directions-establishment").style.border = "";
		}
		if(emptyString.test(document.getElementById("description-accommodation").value)) {
			errs += 1;
			document.getElementById("description-accommodation").style.border = "1px solid red";
		} else {
			document.getElementById("description-accommodation").style.border = "";
		}
		if(emptyString.test(document.getElementById("description-location").value)) {
			errs += 1;
			document.getElementById("description-location").style.border = "1px solid red";
		} else {
			document.getElementById("description-location").style.border = "";
		}
		return(errs == 0);
	}
};

function validateStep4() {
	if(!validateStep1() || !validateStep2() || !validateStep3()) {
		return false;
	} else {
		var emptyString = /^\s*$/ ;
		var numberString = /^[0-9]/ ;
		var emailString = /^[^@]+@[^@.]+\.[^@]*\w\w$/ ;
		var errs = 0;
		var aantal_geselecteerd = 0;
		for(var i = 1; i <= 8; i++) {
			var temp_checkbox = "unit"+i;
			if(document.getElementById(temp_checkbox).checked) {
				aantal_geselecteerd += 1;
			}
		}
		if(aantal_geselecteerd == 0) {
			errs += 1;
			document.getElementById("units_tabel").style.border = "1px solid red";
		} else {
			document.getElementById("units_tabel").style.border = "";
		}

		for(var i = 1; i <= 8; i++) {
			var temp_checkbox = "unit"+i;
			var temp_checkbox_nr = "unit"+i+"_nr";
			if(document.getElementById(temp_checkbox).checked) {
				if(emptyString.test(document.getElementById(temp_checkbox_nr).value)) {
					errs += 1;
					document.getElementById(temp_checkbox_nr).style.border = "1px solid red";
				} else {
					document.getElementById(temp_checkbox_nr).style.border = "";
				}
			}
		}
		return(errs == 0);
	}
};

function validateStep5() {
	if(!validateStep1() || !validateStep2() || !validateStep3() || !validateStep4()) {
		return false;
	} else {
		var emptyString = /^\s*$/ ;
		var numberString = /^[0-9]/ ;
		var emailString = /^[^@]+@[^@.]+\.[^@]*\w\w$/ ;
		var errs = 0;
		if(emptyString.test(document.getElementById("highlowseason").value)) {
			errs += 1;
			document.getElementById("highlowseason").style.border = "1px solid red";
		} else {
			document.getElementById("highlowseason").style.border = "";
		}
		return(errs == 0);
	}
};

function validateStep6() {
	if(!validateStep1() || !validateStep2() || !validateStep3() || !validateStep4() || !validateStep5()) {
		return false;
	} else {
		var emptyString = /^\s*$/ ;
		var numberString = /^[0-9]/ ;
		var emailString = /^[^@]+@[^@.]+\.[^@]*\w\w$/ ;
		var errs = 0;
		var aantal_geselecteerd = 0;
		for(var i = 1; i <= 4; i++) {
			var temp_checkbox = "meal"+i;
			if(document.getElementById(temp_checkbox).checked) {
				aantal_geselecteerd += 1;
			}
		}
		if(aantal_geselecteerd == 0) {
			errs += 1;
			document.getElementById("meals_tbl").style.border = "1px solid red";
		} else {
			document.getElementById("meals_tbl").style.border = "";
		}
		if(document.getElementById("meal1").checked) {
			if(emptyString.test(document.getElementById("breakfastfrom").value) || emptyString.test(document.getElementById("breakfasttill").value)) {
				errs += 1;
				document.getElementById("breakfastfrom").style.border = "1px solid red";
				document.getElementById("breakfasttill").style.border = "1px solid red";
			} else {
				document.getElementById("breakfastfrom").style.border = "";
				document.getElementById("breakfasttill").style.border = "";
			}
			if(!document.getElementById("breakfastincludedy").checked && ! document.getElementById("breakfastincludedn").checked) {
				errs += 1;
				document.getElementById("breakfastincluded").style.border = "1px solid red";
			} else {
				document.getElementById("breakfastincluded").style.border = "";
			}
			if(document.getElementById("breakfastincludedn").checked && emptyString.test(document.getElementById("breakfastaverageprice").value)) {
				errs += 1;
				document.getElementById("breakfastaverageprice").style.border = "1px solid red";
			} else {
				document.getElementById("breakfastaverageprice").style.border = "";
			}
		}
		if(document.getElementById("meal2").checked) {
			if(emptyString.test(document.getElementById("lunchfrom").value) || emptyString.test(document.getElementById("lunchtill").value)) {
				errs += 1;
				document.getElementById("lunchfrom").style.border = "1px solid red";
				document.getElementById("lunchtill").style.border = "1px solid red";
			} else {
				document.getElementById("lunchfrom").style.border = "";
				document.getElementById("lunchtill").style.border = "";
			}
			if(!document.getElementById("lunchincludedy").checked && ! document.getElementById("lunchincludedn").checked) {
				errs += 1;
				document.getElementById("lunchincluded").style.border = "1px solid red";
			} else {
				document.getElementById("lunchincluded").style.border = "";
			}
			if(document.getElementById("lunchincludedn").checked && emptyString.test(document.getElementById("lunchaverageprice").value)) {
				errs += 1;
				document.getElementById("lunchaverageprice").style.border = "1px solid red";
			} else {
				document.getElementById("lunchaverageprice").style.border = "";
			}
		}
		if(document.getElementById("meal3").checked) {
			if(emptyString.test(document.getElementById("dinnerfrom").value) || emptyString.test(document.getElementById("dinnertill").value)) {
				errs += 1;
				document.getElementById("dinnerfrom").style.border = "1px solid red";
				document.getElementById("dinnertill").style.border = "1px solid red";
			} else {
				document.getElementById("dinnerfrom").style.border = "";
				document.getElementById("dinnertill").style.border = "";
			}
			if(!document.getElementById("dinnerincludedy").checked && ! document.getElementById("dinnerincludedn").checked) {
				errs += 1;
				document.getElementById("dinnerincluded").style.border = "1px solid red";
			} else {
				document.getElementById("dinnerincluded").style.border = "";
			}
			if(document.getElementById("dinnerincludedn").checked && emptyString.test(document.getElementById("dinneraverageprice").value)) {
				errs += 1;
				document.getElementById("dinneraverageprice").style.border = "1px solid red";
			} else {
				document.getElementById("dinneraverageprice").style.border = "";
			}
		}
		return(errs == 0);
	}
};

function validateStep7() {
	if(!validateStep1() || !validateStep2() || !validateStep3() || !validateStep4() || !validateStep5() || !validateStep6()) {
		return false;
	} else {
		var emptyString = /^\s*$/ ;
		var numberString = /^[0-9]/ ;
		var emailString = /^[^@]+@[^@.]+\.[^@]*\w\w$/ ;
		var errs = 0;
		if(!document.getElementById("termsconditions").checked) {
			errs += 1;
			document.getElementById("teamsconditions_checkbox").style.border = "1px solid red";
		} else {
			document.getElementById("teamsconditions_checkbox").style.border = "";
			if(emptyString.test(document.getElementById("tcname").value)) {
				errs += 1;
				document.getElementById("tcname").style.border = "1px solid red";
			} else {
				document.getElementById("tcname").style.border = "";
			}
			if(emptyString.test(document.getElementById("tcposition").value)) {
				errs += 1;
				document.getElementById("tcposition").style.border = "1px solid red";
			} else {
				document.getElementById("tcposition").style.border = "";
			}
			if(emptyString.test(document.getElementById("tcdate").value)) {
				errs += 1;
				document.getElementById("tcdate").style.border = "1px solid red";
			} else {
				document.getElementById("tcdate").style.border = "";
			}
		}
		return(errs == 0);
	}
};

function validateStep8() {
	if(!validateStep1() || !validateStep2() || !validateStep3() || !validateStep4() || !validateStep5() || !validateStep6() || !validateStep7()) {
		return false;
	} else {
		return true
	}
};

function validateQuizForm() {
	var emptyString = /^\s*$/ ;
	var errs = 0;
	var veldArray = new Array("voornaam","achternaam","adres","nummer","postcode","plaats","land","geboortedatum","telefoonnummer");
	for(var i=0; i<veldArray.length; i++) {
		veldNaam = veldArray[i];
		if(emptyString.test(document.getElementById(veldNaam).value)) {
			document.getElementById(veldNaam).style.border = "1px solid red";
			errs += 1;
		} else {
			document.getElementById(veldNaam).style.border = "";
		}
	}
	if(document.getElementById("email").value != document.getElementById("email_2").value) {
		document.getElementById("email").style.border = "1px solid red";
		document.getElementById("email_2").style.border = "1px solid red";
		errs += 1;
	} else {
		if(emptyString.test(document.getElementById("email").value)) {
			document.getElementById("email").style.border = "1px solid red";
			errs += 1;
		} else if(emptyString.test(document.getElementById("email_2").value)) {
			document.getElementById("email_2").style.border = "1px solid red";
			errs += 1;
		} else {
			document.getElementById("email").style.border = "";
			document.getElementById("email_2").style.border = "";
		}
	}
	if(document.getElementById("vraag_1_a").checked == false && document.getElementById("vraag_1_b").checked == false && document.getElementById("vraag_1_c").checked == false && document.getElementById("vraag_1_d").checked == false) {
		document.getElementById("vraag_1").style.border = "1px solid red";
		errs += 1;
	} else {
		document.getElementById("vraag_1").style.border = "";
	}
	if(document.getElementById("vraag_2_a").checked == false && document.getElementById("vraag_2_b").checked == false && document.getElementById("vraag_2_c").checked == false && document.getElementById("vraag_2_d").checked == false) {
		document.getElementById("vraag_2").style.border = "1px solid red";
		errs += 1;
	} else {
		document.getElementById("vraag_2").style.border = "";
	}
	if(document.getElementById("vraag_3_a").checked == false && document.getElementById("vraag_3_b").checked == false && document.getElementById("vraag_3_c").checked == false && document.getElementById("vraag_3_d").checked == false) {
		document.getElementById("vraag_3").style.border = "1px solid red";
		errs += 1;
	} else {
		document.getElementById("vraag_3").style.border = "";
	}
	if(errs > 0) {
		alert("Sorry, maar je hebt niet alle velden ingevuld. Loop de rood gemarkeerde velden nog eens na");
	}
	return (errs==0);
};

function validateNieuwsbrief() {
	var emptyString = /^\s*$/ ;
	var emailString = /^[^@]+@[^@.]+\.[^@]*\w\w$/ ;
	var errs = 0;

	if(emptyString.test(document.getElementById("nieuwsbrief_email").value)) {
		document.getElementById("nieuwsbrief_email").style.border = "1px solid red";
		errs += 1;
	} else if(!emailString.test(document.getElementById("nieuwsbrief_email").value)) {
		document.getElementById("nieuwsbrief_email").style.border = "1px solid red";
		errs += 1;
	} else {
		document.getElementById("nieuwsbrief_email").style.border = "";
	}
	return(errs == 0);
};
