function validateAanmelden(theForm) {
var reason = "";                                    

  	reason += validateAchternaam(theForm.achternaam);
  	reason += validateAdres(theForm.adres);
  	reason += validatePostcode1(theForm.postcode1);
  	reason += validatePostcode2(theForm.postcode2);
  	reason += validateWoonplaats(theForm.woonplaats);
  	reason += validateRekening(theForm.rekening);
  	reason += validateTelefoon(theForm.telefoon);
  	reason += validateEmail_ouder(theForm.email_ouder);
      
 	 if (reason != "") {
    	alert("Sommige velden moeten gecorrigeerd worden, namelijk:\n" + reason);
    	return false;
  	}
  	return true;
}

function validateAchternaam(field){
	var error = "";
	
	if(field.value == ""){
		var error = "U heeft geen achternaam ingevoerd.\n";
		field.style.background = "#ff0000";
	} else{
		field.style.background = "White";
	}
	return error;
}

function validateAdres(field){
	var error = "";
	
	if(field.value == ""){
		var error = "U heeft geen adres ingevoerd.\n";
		field.style.background = "#ff0000";
	} else{
		field.style.background = "White";
	}
	return error;
}

function validatePostcode1(field){
	var error = "";
	
	if(field.value == ""){
		var error = "U heeft de cijfers van de postcode niet ingevoerd.\n";
		field.style.background = "#ff0000";
	} else{
		field.style.background = "White";
	}
	return error;
}

function validatePostcode2(field){
	var error = "";
	
	if(field.value == ""){
		var error = "U heeft de letters van de postcode niet ingevoerd.\n";
		field.style.background = "#ff0000";
	} else{
		field.style.background = "White";
	}
	return error;
}

function validateWoonplaats(field){
	var error = "";
	
	if(field.value == ""){
		var error = "U heeft geen plaats ingevoerd.\n";
		field.style.background = "#ff0000";
	} else{
		field.style.background = "White";
	}
	return error;
}

function validateRekening(field){
	var error = "";
	
	if(field.value == ""){
		var error = "U heeft geen bank- of girorekening ingevoerd.\n";
		field.style.background = "#ff0000";
	} else{
		field.style.background = "White";
	}
	return error;
}

function validateTelefoon(fld) {
    var error = "";
    var stripped = fld.value.replace(/[\(\)\.\-\ ]/g, '');    

   if (fld.value == "") {
        error = "U heeft geen telefoonnummer ingevoerd.\n";
        fld.style.background  = "#ff0000";
    } else if (isNaN(parseInt(stripped))) {
        error = "Uw telefoonnummer bevat ongeldige karakters.\n";
        fld.style.background  = "#ff0000";
    } else if (!(stripped.length == 10)) {
        error = "De lengte van uw telefoonnummer klopt niet.\n";
        fld.style.background  = "#ff0000";
    } else{
        fld.style.background = 'White';
    } 
    return error;
}

function validateEmail_ouder(fld) {
    var error="";
    var tfld = trim(fld.value);                        // value of field with whitespace trimmed off
    var emailFilter = /^[^@]+@[^@.]+\.[^@]*\w\w$/ ;
    var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/ ;
   
    if (fld.value == "") {
        fld.style.background = "#ff0000";
        error = "U heeft geen e-mailadres van de ouder ingevoerd.\n";
    } else if (!emailFilter.test(tfld)) {              //test email for illegal characters
        fld.style.background  = "#ff0000";
        error = "U moet een geldig e-mailadres invoeren.\n";
    } else if (fld.value.match(illegalChars)) {
        fld.style.background = "#ff0000";
        error = "Uw e-mailadres bevat ongeldige karakters.\n";
    } else{
        fld.style.background = 'White';
    } 
    return error;
}

function trim(string){
  return string.replace(/^\s+|\s+$/, '');
}
