$(document).ready(function(){
	var form = $("#customForm");

	var VoorLetters = $("#VoorLetters");
	var VoorLettersInfo = $("#VoorLettersInfo");

  	var TussenVoegsels = $("#TussenVoegsels");
	var TussenVoegselsInfo = $("#TussenVoegselsInfo");

	var AchterNaam = $("#AchterNaam");
	var AchterNaamInfo = $("#AchterNaamInfo");

	var Straat = $("#Straat");
	var StraatInfo = $("#StraatInfo");

	var HuisNummer = $("#HuisNummer");
	var HuisNummerInfo = $("#HuisNummerInfo");

	var HsnrToevoeging = $("#HsnrToevoeging");
	var HsnrToevoegingInfo = $("#HsnrToevoegingInfo");

	var PostCodeCijfers = $("#PostCodeCijfers");
	var PostCodeInfo = $("#PostCodeInfo");
	
	var PostCodeLetters = $("#PostCodeLetters");
	var PostCodeInfo = $("#PostCodeInfo");

	var Plaats = $("#Plaats");
	var PlaatsInfo = $("#PlaatsInfo");

	var TelefoonPrive = $("#TelefoonPrive");
	var TelefoonPriveInfo = $("#TelefoonPriveInfo");

	var Email = $("#Email");
	var EmailInfo = $("#EmailInfo");


        VoorLetters.blur(validateVoorLetters);
        TussenVoegsels.blur(validateTussenVoegsels);
        AchterNaam.blur(validateAchterNaam);
        Plaats.blur(validatePlaats);
        HuisNummer.blur(validateHuisNummer);
        HsnrToevoeging.blur(validateHsnrToevoeging);
        Straat.blur(validateStraat);
        PostCodeCijfers.blur(validatePostCodeCijfers);
        PostCodeLetters.blur(validatePostCodeLetters);
        TelefoonPrive.blur(validateTelefoonPrive);
        Email.blur(validateEmail);
        

	form.submit(function(){
		if(validateVoorLetters() & validateTussenVoegsels() & validateAchterNaam() & validateStraat() & validateHuisNummer() & validateHsnrToevoeging() & validatePostCodeCijfers() & validatePostCodeLetters() & validatePlaats() & validateTelefoonPrive() & validateEmail())
			return true
		else
			return false;
	});

	function validateVoorLetters(){
		if(VoorLetters.val().length < 1){
			VoorLettersInfo.text("Uw voorletter(s) is/zijn niet ingevuld");
			VoorLettersInfo.addClass("error");
			VoorLettersInfo.removeClass("valid");
			return false;
		}else{
			VoorLetters.removeClass("error");
                        VoorLettersInfo.addClass("valid");
			VoorLettersInfo.text("");
			return true;
		}
	}

	function validateTussenVoegsels(){
		if(TussenVoegsels.val().length < 1){
			return true;
		}else{

			return true;
		}
	}
   	function validateAchterNaam(){
		if(AchterNaam.val().length < 1){
			AchterNaamInfo.text("Uw achternaam is niet ingevuld");
			AchterNaamInfo.addClass("error");
			AchterNaamInfo.removeClass("valid");
			return false;
		}else{
			AchterNaam.removeClass("error");
                        AchterNaamInfo.addClass("valid");
			AchterNaamInfo.text("");
			return true;
		}
	}
	function validateStraat(){
		if(Straat.val().length < 1){
			StraatInfo.text("Uw straat is niet ingevuld");
			StraatInfo.addClass("error");
			StraatInfo.removeClass("valid");
			return false;
		}else{
			Straat.removeClass("error");
                        StraatInfo.addClass("valid");
			StraatInfo.text("");
			return true;
		}
	}

		function validateHuisNummer(){
		if(HuisNummer.val().length < 1){
			HuisNummerInfo.text("Uw huisnummer is niet ingevuld");
			HuisNummerInfo.addClass("error");
			HuisNummerInfo.removeClass("valid");
			return false;
		}else{
          	var a = $("#HuisNummer").val();
		var filter = /^[0-9]+$/;
		if(filter.test(a)){
			HuisNummer.removeClass("error");
                        HuisNummerInfo.addClass("valid");
			HuisNummerInfo.text("");
			return true;
		}else{
			HuisNummerInfo.text("Uw huisnummer is niet goed ingevuld");
			HuisNummerInfo.addClass("error");
			HuisNummerInfo.removeClass("valid");
			return false;
			}

	}
  }

	function validateHsnrToevoeging(){
		if(HsnrToevoeging.val().length < 1){
			return true;
		}else{
			return true;
		}
	}

	function validatePostCodeCijfers(){
		if(PostCodeCijfers.val().length < 1){
			PostCodeInfo.text("Uw postcode is niet compleet ingevuld");
			PostCodeInfo.addClass("error");
			PostCodeInfo.removeClass("valid");
   			return false;
		}else{

          	var a = $("#PostCodeCijfers").val();
		var filter = /^[0-9]{4}$/;
		if(filter.test(a)){
			PostCodeCijfers.removeClass("error");
                        PostCodeInfo.addClass("valid");
			PostCodeInfo.text("");
			return true;
		}else{
			PostCodeInfo.text("Uw postcode is niet goed ingevuld");
			PostCodeInfo.addClass("error");
			PostCodeInfo.removeClass("valid");
			return false;
			}
 	}
 }
  	function validatePostCodeLetters(){
		if(PostCodeLetters.val().length < 1){
			PostCodeInfo.text("Uw postcode is niet compleet ingevuld");
			PostCodeInfo.addClass("error");
			PostCodeInfo.removeClass("valid");
			return false;


		}else{

		if(PostCodeCijfers.val().length < 1){
			PostCodeInfo.text("Uw postcode is niet compleet ingevuld");
			PostCodeInfo.addClass("error");
			PostCodeInfo.removeClass("valid");
   			return false;
		}else{

          	var a = $("#PostCodeLetters").val();
		var filter = /^[a-zA-Z]{2}$/;
		//if it's valid email
		if(filter.test(a)){
			PostCodeLetters.removeClass("error");
                        PostCodeInfo.addClass("valid");
			PostCodeInfo.text("");
			return true;
		}else{
			PostCodeInfo.text("Uw postcode is niet goed ingevuld");
			PostCodeInfo.addClass("error");
			PostCodeInfo.removeClass("valid");
			return false;
			}
		}
  	}
  }
 	function validatePlaats(){
		//if it's NOT valid
		if(Plaats.val().length < 1){
			PlaatsInfo.text("Uw plaats is niet ingevuld");
			PlaatsInfo.addClass("error");
			PlaatsInfo.removeClass("valid");
			return false;
		}else{
                  	Plaats.removeClass("error");
                        PlaatsInfo.addClass("valid");
			PlaatsInfo.text("");
			return true;
			}
		}

   	function validateTelefoonPrive(){
		if(TelefoonPrive.val().length < 1){
			return true;
		}else{
          	var a = $("#TelefoonPrive").val();
		var filter = /^[0-9]{10}$/;
		if(filter.test(a)){
			TelefoonPrive.removeClass("error");
                        TelefoonPriveInfo.addClass("valid");
			TelefoonPriveInfo.text("");
			return true;
		}else{
			TelefoonPriveInfo.text("Vul hier 10 cijfers in.");
			TelefoonPriveInfo.addClass("error");
			TelefoonPriveInfo.removeClass("valid");
			return false;
			}
  	}
  }
	function validateEmail(){
          	if(Email.val().length < 1){
			return true;
		}else{
          	var a = $("#Email").val();
		var filter = /^[a-zA-Z0-9]+[a-zA-Z0-9_.-]+[a-zA-Z0-9_-]+@[a-zA-Z0-9]+[a-zA-Z0-9.-]+[a-zA-Z0-9]+.[a-z]{2,4}$/;
		if(filter.test(a)){
			Email.removeClass("error");
                        EmailInfo.addClass("valid");
			EmailInfo.text("");
			return true;
		}else{
			EmailInfo.text("Uw email is niet goed ingevuld");
			EmailInfo.addClass("error");
			EmailInfo.removeClass("valid");
			return false;
			}
		  }
	}

});
