function isEmailAddress(string) {
	var addressPattern = /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/;
	return addressPattern.test(string);
}

function isMobile (string) {
  var addressPattern =
    /^06(-{0,1})[1-9][0-9]{7}$/;
  return addressPattern.test(string);
}

function isTel (string) {
  var addressPattern =
	/^\d+[-\ ]?\d+$/;
  return addressPattern.test(string);
}

function isPostcode (string) {
  var addressPattern =
     /^\d{4}\s?[A-Za-z]{2}$/;
  return addressPattern.test(string);
}

function validPersGegegevens(frm){
	var errors="";
   	if(frm.achternaam.value.length<2)
		errors += "Achternaam ongeldig\n";
	if(frm.voorletters.value=="")
		errors += "Voorletter(s) ongeldig\n";
	if(frm.voornaam.value.length<2)
		errors += "Voornaam ongeldig\n";
	if(frm.email.value=="" || isEmailAddress(frm.email.value)==false)
		errors += "E-mailadres ongeldig\n";
	if(isTel(frm.telefoon1.value)==false && isMobile(frm.telefoon1.value)==false)
		errors += "Telefoon1 ongeldig\n";
	if(frm.straathuisnummer.value.length<5)
		errors += "Straat + Huisnummer ongeldig\n";
	if(!isPostcode(frm.postcode.value))
		errors += "Postcode ongeldig\n";
	if(frm.plaats.value.length<5)
		errors += "Plaats ongeldig\n";
	if(frm.aflevernaam.value.length>0 && frm.aflevernaam.value.length<3)
		errors += "Naam afleveradres ongeldig\n";
	if(frm.afleverstraathuisnummer.value.length>0 && frm.afleverstraathuisnummer.value.length<5)
		errors += "Straat + Huisnummer afleveradres ongeldig\n";
	if(frm.afleverpostcode.value!="" && !isPostcode(frm.afleverpostcode.value))
		errors += "Postcode afleveradres ongeldig\n";
	if(frm.afleverplaats.value.length>0 && frm.afleverplaats.value.length<5)
		errors += "Plaats afleveradres ongeldig\n";

	if((frm.aflevernaam.value.length>0 || frm.afleverstraathuisnummer.value.length>0 || frm.afleverpostcode.value!="" || frm.afleverplaats.value.length>0) && (frm.aflevernaam.value.length==0 || frm.afleverstraathuisnummer.value.length==0 || frm.afleverpostcode.value.length==0 || frm.afleverplaats.value.length==0))
		errors += "Niet alle gegevens van afleveradres zijn ingevuld\n";

    return errors;
}

function validateKlantForm(){
	var frm=document.formulier;
	var errors=validPersGegegevens(frm);
	if(errors!=""){
		alert("Formulier niet correct ingevuld.\n\n" + errors);
	}else{
		frm.submit();
	}
}

function validateAanmeldForm(){
	var frm=document.aanmeldForm;
	var errors="";

	if(frm.gebruikersnaam.value.length<5)
		errors += "Gebruikersnaam moet minimaal 5 tekens lang zijn\n";
	if(frm.wachtwoord.value.length>=0 && frm.wachtwoord.value.length<5)
		errors += "Wachtwoord moet minimaal 5 tekens lang zijn\n";
	if(frm.wachtwoord.value != frm.wachtwoord_nogmaals.value)
		errors += "Wachtwoorden komen niet overeen\n";

	errors=errors + validPersGegegevens(frm);

	if(errors!=""){
		alert("Formulier niet correct ingevuld.\n\n" + errors);
	}else{
		frm.submit();
	}
}

function validateProfielForm(){
	var frm=document.profiel;
	var errors="";

	if(frm.gebruikersnaam.value.length<5)
		errors += "Gebruikersnaam moet minimaal 5 tekens lang zijn\n";

	errors=errors + validPersGegegevens(frm);
	if(frm.wachtwoord_bevestiging.value=="")
		errors += "Wachtwoord niet ingevuld\n";

	if(errors!=""){
		alert("Formulier niet correct ingevuld.\n\n" + errors);
	}else{
        frm.wachtwoord_bevestigingmd5.value=calcMD5(frm.wachtwoord_bevestiging.value);
        frm.wachtwoord_bevestiging.value="";
		frm.submit();
	}
}
