
// Extra type validatie

jQuery.validator.addMethod(
	"dateNL",
	function(value, element) {
		var check = false;
		var pattern = /^\d{1,2}-\d{1,2}-\d{4}$/
		if (pattern.test(value)) {
			var ar_date = value.split('-');
			var new_date = new Date(ar_date[2],ar_date[1]-1,ar_date[0]);
			if ((new_date.getFullYear() == ar_date[2]) &&
			    (new_date.getMonth () == ar_date[1]-1) && 
			    (new_date.getDate() == ar_date[0]))
				check = true;
			else
				check = false;
		} else
			check = false;
		return this.optional(element) || check;
	}, 
	"Geen geldige datum."
);

jQuery.validator.addMethod(
	"reknr",
	function(value, element) {
		var l = value.length, totaal = 0, j = 9;
		if (this.optional(element)) {
			return true;
		}
		if (l < 4 || l == 8 || l > 9) {
			return false;
		}
		if (l == 9) {
			for (var i = 0; i < l; i++) {
				totaal += value.charAt(i) * j;
				j--;
			}
			if ((totaal % 11) != 0) {
				return false;		
			}
		}
		return true;
	}, 
	"Geen geldig rekeningnummer."
);

jQuery.validator.addMethod(
	"postcd",
	function(value, element) {
		var pattern = /^\d{4} ?[a-zA-Z]{2}$/
		return this.optional(element) || pattern.test(value);
	}, 
	"Geen geldige postcode."
);

// Vertaalde foutboodschappen

jQuery.extend(jQuery.validator.messages, {
	required: "Moet ingevuld zijn.",
	maxlength: jQuery.format("Mag niet meer dan {0} tekens lang zijn."),
	minlength: jQuery.format("Moet minstens {0} tekens lang zijn."),
	email: "Geen geldig emailadres.",
	digits: "Alleen cijfers zijn toegestaan.",
	max: jQuery.format("Mag niet groter dan {0} zijn."),
	min: jQuery.format("Mag niet kleiner dan {0} zijn."),
	equalTo: "Moet identiek ingevuld worden"
});
