// algehele formcheck nieuw account
function formCheckAccountNieuw() {
	var check = '';
	check += formCheckNormaal('voornaam', 'Voornaam', 1);
	check += formCheckNormaal('achternaam', 'Achternaam', 2);
	check += formCheckNormaal('adres', 'Adres', 2);
	check += formCheckNormaal('huisnummer', 'Huisnummer', 1);
	check += formCheckNormaal('postcode', 'Postcode', 4);
	check += formCheckNormaal('plaats', 'Plaats', 2);
	check += formCheckNormaal('telefoonnummer', 'Telefoonnummer', 8)
	check += formCheckEmail('email', 'Email');
	check += formCheckEmailCheck('emailCheck', 'E-mail bevestiging', 2);
	check += formCheckNormaal('wachtwoord', 'Wachtwoord', 4);
	check += formCheckWachtwoordBevestiging('wachtwoordCheck', 'Wachtwoord bevestiging');
	check += formCheckCheckbox('voorwaarden', 'Voorwaarden');
	
	
	// check of afwijkend afleveradres is ingevuld -> meenemen in formCheck
	if (document.getElementById('radioAfleverAdres')) {
		var afwijkendAfleverAdres = document.getElementById('radioAfleverAdres');
		if (afwijkendAfleverAdres.checked) {
			check += formCheckNormaal('verzendVoornaam', 'Verzend voornaam', 2);
			check += formCheckNormaal('verzendAchternaam', 'Verzend achternaam', 2);
			check += formCheckNormaal('verzendAdres', 'Verzend adres', 2);
			check += formCheckNormaal('verzendHuisnummer', 'Verzend huisnummer', 1);
			check += formCheckNormaal('verzendPostcode', 'Verzend postcode', 6);
			check += formCheckNormaal('verzendPlaats', 'Verzend plaats', 2);
		}
	}
	
	// melding
	function meldingFormCheck() {
		$("#accountMelding").html("<strong>U heeft niet alle velden correct ingevuld</strong><br />");
		$("#accountMelding").show();
	}	
	
	// afwerking
	if (check != '') {
		meldingFormCheck();
		return false;
	} else {
		return true;
	}
}

// algehele formcheck wijzigen account
function formCheckAccountWijzig() {
	var check = '';
	check += formCheckNormaal('voornaam', 'Voornaam', 1);
	check += formCheckNormaal('achternaam', 'Achternaam', 2);
	check += formCheckNormaal('adres', 'Adres', 2);
	check += formCheckNormaal('huisnummer', 'Huisnummer', 1);
	check += formCheckNormaal('postcode', 'Postcode', 6);
	check += formCheckNormaal('plaats', 'Plaats', 2);
	check += formCheckNormaal('telefoonnummer', 'Telefoonnummer', 8)
	check += formCheckEmail('email', 'Email');
	check += formCheckEmailCheck('emailCheck', 'E-mail bevestiging', 2);
	check += formCheckCheckbox('voorwaarden');
	
	// check of afwijkend afleveradres is ingevuld -> meenemen in formCheck
	if (document.getElementById('radioAfleverAdres')) {
		var afwijkendAfleverAdres = document.getElementById('radioAfleverAdres');
		if (afwijkendAfleverAdres.checked) {
			check += formCheckNormaal('verzendVoornaam', 'Verzend voornaam', 2);
			check += formCheckNormaal('verzendAchternaam', 'Verzend achternaam', 2);
			check += formCheckNormaal('verzendAdres', 'Verzend adres', 2);
			check += formCheckNormaal('verzendHuisnummer', 'Verzend huisnummer', 1);
			check += formCheckNormaal('verzendPostcode', 'Verzend postcode', 6);
			check += formCheckNormaal('verzendPlaats', 'Verzend plaats', 2);
		}
	}
	
	// melding
	function meldingFormCheck() {
		$("#accountMelding").html("<strong>U heeft niet alle velden correct ingevuld</strong><br />");
		$("#accountMelding").show();
	}	
	
	// afwerking
	if (check != '') {
		meldingFormCheck();
		return false;
	} else {
		return true;
	}
}

// wijzig wachtwoordcheck na submit
function formCheckSubmitWachtwoord() {
	var check = '';
	check += formCheckNormaal('huidigWachtwoord', 'Huidig wachtwoord', 4);
	check += formCheckNormaal('wachtwoord', 'Wachtwoord', 4);
	check += formCheckWachtwoordBevestiging('wachtwoordCheck', 'Wachtwoord bevestiging');
	
	// melding
	function meldingFormCheck() {
		$("#accountMelding").html("<strong>U heeft niet alle velden correct ingevuld</strong><br />");
		$("#accountMelding").show();
	}	

	// afwerking
	if (check != '') {
		meldingFormCheck();
		return false;
	} else {
		return true;
	}
}

// formcheck automatische incasso
function formCheckAutomatischeIncasso() {
	
	var check = '';	
	// check of automatsiche incassoregels zijn ingevuld
	if (document.getElementById('Automatische incasso')) {
		var automatischeIncasso = document.getElementById('Automatische incasso');
		if (automatischeIncasso.checked) {
			check += formCheckNormaal('auto_incasso_rek_nummer', 'Rekeningnummer', 6);
			check += formCheckNormaal('auto_incasso_rek_houder', 'Rekeninghouder', 2);
			check += formCheckNormaal('auto_incasso_banknaam', 'Banknaam', 2);
			check += formCheckNormaal('auto_incasso_bankplaats', 'Plaats bank', 2);
		}
	}
	
	// melding
	function meldingFormCheck() {
		$("#accountMelding").html("<strong>U heeft niet alle velden correct ingevuld</strong><br />");
		$("#accountMelding").show();
	}	
	
	// afwerking
	if (check != '') {
		meldingFormCheck();
		return false;
	} else {
		return true;
	}
}




// ######### velden checks vanaf hier ############## //

// reguliere check (id, naam)
function formCheckSelect(id) {
	var checkTotaal = 1;
	var waarde = $('#'+id+' option:selected').val();
	if (waarde == '') {
		$('#'+id+'Melding').html('<img src="img/icons/fout.png" /> Verplicht veld!');
	} else {
		$('#'+id+'Melding').html('<img src="img/icons/goed.png" />');
		checkTotaal = '';
	}
	return checkTotaal;
}

// reguliere check (id, naam)
function formCheckCheckbox(id) {
	var checkTotaal = 1;
	var waarde = $('#'+id).attr('checked');
	if (!waarde) {
		$('#'+id+'Melding').html('<img src="img/icons/fout.png" /> Verplicht veld!');
	} else {
		$('#'+id+'Melding').html('<img src="img/icons/goed.png" />');
		checkTotaal = '';
	}
	return checkTotaal;
}

// reguliere check (id aantal karakters)
function formCheckNormaal(id, aantal) {
	var checkTotaal = 1;
	var veld = document.getElementById(id);
	if (veld.value == '') {
		$('#'+id+'Melding').html('<img src="img/icons/fout.png" /> Verplicht veld!');
	} else if (veld.value.length < aantal) {
		$('#'+id+'Melding').html('<img src="img/icons/fout.png" /> Inhoud te kort');
	} else {
		$('#'+id+'Melding').html('<img src="img/icons/goed.png" />');
		checkTotaal = '';
	}
	return checkTotaal;
}

// valideer emailadres (id)
function formCheckEmail(id) {
	function trim(s) {
		return s.replace(/^\s+|\s+$/, '');
	}
	var checkTotaal = 1;
	var veld = trim(document.getElementById(id).value);
	var emailFilter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	var illegaleKarakters= /[\(\)\#\&\%\^\*\<\>\,\;\:\\\"\[\]]/;
	
	if (document.getElementById(id).value == '') {
		$('#'+id+'Melding').html('<img src="img/icons/fout.png" /> Verplicht veld!');
	} else if (emailFilter.test(veld) == false) {
		$('#'+id+'Melding').html('<img src="img/icons/fout.png" /> Ongeldig e-mailadres');
	} else if (veld.match(illegaleKarakters)) {
		$('#'+id+'Melding').html('<img src="img/icons/fout.png" /> Ongeldige karakters');
	} else {
		$('#'+id+'Melding').html('<img src="img/icons/goed.png" />');
		checkTotaal = '';
	}
	return checkTotaal;
}

// valideer emailadres bevestiging
function formCheckEmailCheck(id) {
	var checkTotaal = 1;
	var veld = document.getElementById(id);
	var email = document.getElementById('email');
	if (veld.value == '') {
		$('#'+id+'Melding').html('<img src="img/icons/fout.png" /> Verplicht veld!');	
	} else if (veld.value != email.value) {
		$('#'+id+'Melding').html('<img src="img/icons/fout.png" /> Niet gelijk!');
	} else {
		$('#'+id+'Melding').html('<img src="img/icons/goed.png" />');
		checkTotaal = '';
	}
	return checkTotaal;
}

// valideer wachtwoord bevestiging
function formCheckWachtwoordBevestiging(id) {
	var checkTotaal = 1;
	var veld = document.getElementById(id);
	var wachtwoord = document.getElementById('wachtwoord');
	if (veld.value == '') {
		$('#'+id+'Melding').html('<img src="img/icons/fout.png" /> Verplicht veld!');	
	} else if (veld.value != wachtwoord.value) {
		$('#'+id+'Melding').html('<img src="img/icons/fout.png" /> Niet gelijk!');
	} else {
		$('#'+id+'Melding').html('<img src="img/icons/goed.png" />');
		checkTotaal = '';
	}
	return checkTotaal;
}



// #####################################
// extra checks
var r = {
  'cijfers':/[^\d]/g,
  'letter':/[^A-Za-z]/g,
  'tel':/[^\d&\-&\+]/g
}
function checkVelden(o,typea,typeb){
  o.value = o.value.replace(r[typea],'');
  if(typeb) {
	  o.value = o.value.replace(r[typeb],'');
  }
}
function convert(o,type){
  if(type=='upper') {
	  o.value = o.value.toUpperCase();
  }
  if(type=='lower') {
	  o.value = o.value.toLowerCase();
  }
}
