function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      oldonload();
      func();
    }
  }
}

addLoadEvent(contact);
addLoadEvent(zoekertje);
addLoadEvent(inschrijven);
addLoadEvent(wedstrijd);
addLoadEvent(wagenWedstrijd);
addLoadEvent(lid);

function contact() {
	var frmContact = document.getElementById("formContact");
	if(frmContact) {
		frmContact.onsubmit = function () {
			return validateContact(frmContact);
		}
	}
}
function zoekertje() {
	var frmZoekertje = document.getElementById("formZoekertje");
	if(frmZoekertje) {
		frmZoekertje.onsubmit = function () {
			return validateZoekertje(frmZoekertje);
		}
	}
}
function inschrijven() {
	var frmInschrijven = document.getElementById("formInschrijven");
	if(frmInschrijven) {
		frmInschrijven.onsubmit = function () {
			return validateInschrijven(frmInschrijven);
		}
		var selCursusWeek = document.getElementById("cursus_week");
		if(selCursusWeek) {
			selCursusWeek.onchange = function () { toonPlaatsen(selCursusWeek) }
		}
	}
}
function wedstrijd() {
	var frmWedstrijd = document.getElementById("formWedstrijd");
	if(frmWedstrijd) {
		frmWedstrijd.onsubmit = function () {
			return validateWedstrijd(frmWedstrijd);
		}
	}
}
function wagenWedstrijd() {
	var frmWedstrijd = document.getElementById("formWagenWedstrijd");
	if(frmWedstrijd) {
		frmWedstrijd.onsubmit = function () {
			return validateWagenWedstrijd(frmWedstrijd);
		}
	}
}
function lid() {
	var frmLid = document.getElementById("formLid");
	if(frmLid) {
		frmLid.onsubmit = function () {
			return validateLid(frmLid);
		}
	}
}

function validateContact (theForm) {
	var error=0;
	var msg="";
		
	if(theForm.voornaam.value.length==0) {
		error++;
		msg += "\n- voornaam";
	}
	if(theForm.naam.value.length==0) {
		error++;
		msg += "\n- naam";
	}
	if(theForm.email.value.length==0) {
		error++;
		msg += "\n- e-mail";
	}
	
	if(error) {
		alert("Gelieve volgende velden in te vullen: " + msg);
		return false;
	}
	return true;
}

function validateZoekertje(theForm) {
	var error = 0;
	var msg = "";
	
	if (theForm.soort.selectedIndex==0) {
		error++;
		msg+="\n- Soort";
	}
	if (theForm.merk.value=="") {
		error++;
		msg+="\n- Merk";
	}
	if (theForm.model.value=="") {
		error++;
		msg+="\n- Model";
	}
	if (theForm.type.value=="") {
		error++;
		msg+="\n- Type";
	}
	if (theForm.email.value=="" && theForm.telefoon.value=="") {
		error++;
		msg+="\n- E-mail of telefoon";
	}
	if (theForm.prijs.value=="") {
		error++;
		msg+="\n- prijs";
	}

	if(error) {
		alert("Gelieve volgende velden in te vullen: " + msg);
		return false;
	}
	return true;
}

function toonPlaatsen(listWeken) {
	var selectedWeek = listWeken.selectedIndex;
	if(selectedWeek > 0) {
		var vrijePlaatsen = ArrayVrijePlaatsen[selectedWeek];
		/*document.getElementById("aantalVrijePlaatsen").innerHTML = "Aantal vrije plaatsen: " + vrijePlaatsen;*/
	} else {
		/*document.getElementById("aantalVrijePlaatsen").innerHTML = "";*/
	}
}

function validateInschrijven (theForm) {
	var error=0;
	var msg="";
	var checkPersoon = false;
	
	if (theForm.cursus_week.selectedIndex==0) {
		error++;
		msg+="\n- cursus > periode";
	}

	if(theForm.soort.value=="Zeilwagens") {
		if (!theForm.groep[0].checked && !theForm.groep[1].checked) {
			error++;
			msg += "\n- in te schrijven groep of persoon";
		}
	
		if(theForm.groep[0].checked) {
			if(theForm.groep_aantal_personen.value.length==0) {
				error++;
				msg += "\n- in te schrijven groep > aantal personen";
			}
		}
	
		if(theForm.groep[1].checked) {
			checkPersoon = true;
		}
	}
	
	if(theForm.soort.value == "Zeilen" || theForm.soort.value == "Zeilwagens" || theForm.soort.value == "Kitesurfen" || theForm.soort.value == "Pro Kids") {
		checkPersoon = true;
	}
		
	if(checkPersoon) {
	
		if(theForm.voornaam.value.length==0) {
			error++;
			msg += "\n- in te schrijven persoon > voornaam";
		}
		if(theForm.naam.value.length==0) {
			error++;
			msg += "\n- in te schrijven persoon > naam";
		}
		if (theForm.adres1.value=="") {
			error++;
			msg+="\n- in te schrijven persoon > straat en nummer";
		}
		if (theForm.postcode.value=="") {
			error++;
			msg+="\n- in te schrijven persoon > postcode";
		}
		if (theForm.gemeente.value=="") {
			error++;
			msg+="\n- in te schrijven persoon > gemeente";
		}
		if (theForm.geb_dag.value=="" || theForm.geb_maand.value=="" || theForm.geb_jaar.value=="") {
			error++;
			msg+="\n- in te schrijven persoon > geboortedatum";
		}
		if(theForm.soort.value == "Zeilen" || theForm.soort.value == "Zeilwagens") {
			if (!theForm.ervaring[0].checked && !theForm.ervaring[1].checked) {
				error++;
				if(theForm.soort.value == "Zeilen") {
					msg+="\n- in te schrijven persoon > zeilervaring";
				} else {
					msg+="\n- in te schrijven persoon > ervaring";
				}
			}
			if (theForm.ervaring[1].checked && theForm.ervaring_andere.value=="") {
				error++;
				if(theForm.soort.value == "Zeilen") {
					msg+="\n- in te schrijven persoon > welke zeilervaring";
				} else {
					msg+="\n- in te schrijven persoon > welke ervaring";
				}
			}
		}
		if(theForm.enkel_voor_leden.value != "Y") {
			if (!theForm.lid[0].checked && !theForm.lid[1].checked) {
				error++;
				msg+="\n- in te schrijven persoon > lid van Sycod";
			}
		}
	}
	
	if (theForm.b_voornaam.value=="") {
		error++;
		msg+="\n- persoon die betaalt > voornaam";
	}
	if (theForm.b_naam.value=="") {
		error++;
		msg+="\n- persoon die betaalt > naam";
	}
	if (theForm.b_email.value=="") {
		error++;
		msg+="\n- persoon die betaalt > e-mail";
	}
	
	if (theForm.c_voornaam.value=="") {
		error++;
		msg+="\n- contactpersoon > voornaam";
	}
	if (theForm.c_naam.value=="") {
		error++;
		msg+="\n- contactpersoon > naam";
	}
	if (theForm.c_adres1.value=="") {
		error++;
		msg+="\n- contactpersoon > straat en nummer";
	}
	if (theForm.c_postcode.value=="") {
		error++;
		msg+="\n- contactpersoon > postcode";
	}
	if (theForm.c_gemeente.value=="") {
		error++;
		msg+="\n- contactpersoon > gemeente";
	}
	if (theForm.c_telefoon.value=="") {
		error++;
		msg+="\n- contactpersoon > telefoon";
	}

	
	if(error) {
		alert("Gelieve volgende velden in te vullen: " + msg);
		return false;
	}
	if (theForm.b_email.value != "") {
		if (!validateEmail(theForm.b_email.value)) {
			alert("Gelieve een geldig e-mail adres in te vullen voor de persoon die betaalt");
			return false;
		}
	}
	return true;
}

function validateWedstrijd (theForm) {
	var error=0;
	var msg="";
		
	if(theForm.voornaam.value.length==0) {
		error++;
		msg += "\n- skipper > voornaam";
	}
	if(theForm.naam.value.length==0) {
		error++;
		msg += "\n- skipper > naam";
	}
	if (theForm.adres1.value=="") {
		error++;
		msg+="\n- skipper > straat en nummer";
	}
	if (theForm.adres2.value=="") {
		error++;
		msg+="\n- skipper > postcode en gemeente";
	}
	if(theForm.land.value.length==0) {
		error++;
		msg += "\n- skipper > land";
	}
	if(theForm.email.value.length==0) {
		error++;
		msg += "\n- skipper > e-mail";
	}
	if(theForm.telefoon.value.length==0) {
		error++;
		msg += "\n- skipper > telefoon";
	}
	if (theForm.geb_dag.value=="" || theForm.geb_maand.value=="" || theForm.geb_jaar.value=="") {
		error++;
		msg+="\n- skipper > geboortedatum";
	}
	if(theForm.nationaliteit.value.length==0) {
		error++;
		msg += "\n- skipper > nationaliteit";
	}
	if(theForm.geslacht.selectedIndex==0) {
		error++;
		msg += "\n- skipper > geslacht";
	}
	if(theForm.club.value.length==0) {
		error++;
		msg += "\n- skipper > club";
	}
	
	if(theForm.b_type.value.length==0) {
		error++;
		msg += "\n- boot > type boot";
	}
	if(theForm.b_zeilnummer.value.length==0) {
		error++;
		msg += "\n- boot > zeilnummer";
	}
	if(theForm.b_spinnaker.selectedIndex==0) {
		error++;
		msg += "\n- boot > spinnaker";
	}
	if(theForm.b_certificate.selectedIndex==0) {
		error++;
		msg += "\n- boot > measurement certificate";
	}
	if(theForm.b_reclame.selectedIndex==0) {
		error++;
		msg += "\n- boot > reclame op boot";
	}
	if(theForm.b_gsm.value.length==0) {
		error++;
		msg += "\n- boot > GSM aan boord";
	}
	
	if(error) {
		alert("Gelieve volgende velden in te vullen: " + msg);
		return false;
	}
	return true;
}

function validateWagenWedstrijd (theForm) {
	var error=0;
	var msg="";
		
	if(theForm.voornaam.value.length==0) {
		error++;
		msg += "\n- voornaam";
	}
	if(theForm.naam.value.length==0) {
		error++;
		msg += "\n- naam";
	}
	if (theForm.adres1.value=="") {
		error++;
		msg+="\n- straat en nummer";
	}
	if (theForm.adres2.value=="") {
		error++;
		msg+="\n- postcode en gemeente";
	}
	if(theForm.land.value.length==0) {
		error++;
		msg += "\n- land";
	}
	if(theForm.email.value.length==0) {
		error++;
		msg += "\n- e-mail";
	}
	if(theForm.telefoon.value.length==0) {
		error++;
		msg += "\n- telefoon";
	}
	if (theForm.geb_dag.value=="" || theForm.geb_maand.value=="" || theForm.geb_jaar.value=="") {
		error++;
		msg+="\n- geboortedatum";
	}
	if(theForm.club.value.length==0) {
		error++;
		msg += "\n- club";
	}
	if(theForm.b_zeilnummer.value.length==0) {
		error++;
		msg += "\n- zeilnummer";
	}
	if(theForm.klasse.value.length==0) {
		error++;
		msg += "\n- klasse";
	}
	if(theForm.licentie_nr.value.length==0) {
		error++;
		msg += "\n- licentie nr";
	}
	if(theForm.leeftijdscategorie.selectedIndex==0) {
		error++;
		msg += "\n- leeftijdscategorie";
	}
	
	if(error) {
		alert("Gelieve volgende velden in te vullen: " + msg);
		return false;
	}
	return true;
}

function validateEmail(email) {
	
	if (email != null && email != "") {
		a = email.lastIndexOf("@");
		b = email.lastIndexOf(".");
		c = email.indexOf(":");
		d = email.indexOf("/");
		e = email.substring(0,a);
		f = e.indexOf("@");
		g = email.substring(a+1,email.length);
		h = g.indexOf("[");
		i = g.indexOf("]");
		j = g.indexOf("<");
		k = g.indexOf(">");
		l = email.substring(a+1,b);
		m = email.substring(b+1,email.length);
		n = email.substring(0,a);
		p = email.indexOf("'");
		q = email.indexOf("\"");
		o = 0;
		if (a > b) {o++};
		if (c != -1) {o++};
		if (d != -1) {o++};
		if (f != -1) {o++};
		if (h != -1) {o++};
		if (i != -1) {o++};
		if (j != -1) {o++};
		if (k != -1) {o++};
		if (l.length < 2) {o++};
		if (m.length < 2) {o++};
		if (n.length < 1) {o++};
		if (p != -1) {o++};
		if (q != -1) {o++};
		if (o != 0) {
			return false;
		}
	}
	return true;
}

function validateLid (theForm) {
	var error=0;
	var msg="";
			
	if(theForm.voornaam.value.length==0) {
		error++;
		msg += "\n- voornaam";
	}
	if(theForm.naam.value.length==0) {
		error++;
		msg += "\n- naam";
	}
	if (theForm.adres1.value=="") {
		error++;
		msg+="\n- straat en nummer";
	}
	if (theForm.adres2.value=="") {
		error++;
		msg+="\n- postcode en gemeente";
	}
	if(theForm.land.value.length==0) {
		error++;
		msg += "\n- land";
	}
	if(theForm.email.value.length==0) {
		error++;
		msg += "\n- e-mail";
	}
	if (theForm.geb_dag.value=="" || theForm.geb_maand.value=="" || theForm.geb_jaar.value=="") {
		error++;
		msg+="\n- geboortedatum";
	}
	/*
	if(theForm.b_type.value.length==0) {
		error++;
		msg += "\n- type boot";
	}
	*/
	var activiteiten = 0;
	for (i = 0; i<theForm.elements.length; i++) {	
		if (theForm.elements[i].name.substring(0,12)=="activiteiten") {
			if(theForm.elements[i].checked) {
				activiteiten++;
			}
		}
	}
	if(!activiteiten) {
		error++;
		msg+="\n- activiteit";
	}
	if(!theForm.wedstrijden[0].checked && !theForm.wedstrijden[1].checked) {
		error++;
		msg+="\n- ik wens deel te nemen aan wedstrijden";
	}

	if(error) {
		alert("Gelieve volgende velden in te vullen: " + msg);
		return false;
	}
	return true;
}


