// FUNCTION TO FILTER NON NUMERIC VALUES IN INPUTFIELD (ONKEYUP)
function isDigit(field) {
	var re = /^[0-9]*$/;
	if (!re.test(field.value)) {
		field.value = field.value.replace(/[^0-9]/g,"");
	}
}

// FUNCTION TO FILTER NON NUMERIC VALUES IN INPUTFIELD (ONKEYUP)
function isNumber(field) {
	var re = /^[0-9-'.'-',']*$/;
	if (!re.test(field.value)) {
		field.value = field.value.replace(/[^0-9-'.'-',']/g,"");
	}
}

// SET SOME DEFAULT PROPERTIES FOR JQUERY VALIDATION
$.validator.setDefaults({
	errorClass: "formerror", // name of the class to create error labels with
	errorElement: "div", // type of element to display errors
	submitHandler: function(form) { // action to perform when form passes validation
		$(".submit").attr("disabled","disabled"); // disable the submit button
		$(form).ajaxSubmit({
			dataType:  'json',
			success:   function(data){
				if(data.status == true){
					alert('We hebben het formulier ontvangen\n\n'+data.message);
					$(form).resetForm();
					$(".submit").removeAttr("disabled"); // enable the submit button
				}
				else{
					alert('We hebben het formulier niet juist ontvangen\n\n'+data.message);
					$(".submit").removeAttr("disabled"); // enable the submit button
				}
			}
		});
	},
	invalidHandler: function(form, validator) { // action to perform when form fails validation
		var errors = validator.numberOfInvalids();
		if (errors) {
			var message = errors == 1
			? 'Er is een fout'
			: 'Er zijn ' + errors + ' fouten';
			alert(message+' in het formulier gevonden.\n\nZie het formulier voor details.');
		}
	},
	rules: { // rules on which the forms are checked
		firstname:			{required:true},
		lastname:			{required:true, minlength:2},
		email:				{required:true, email:true},
		telephone:			{digits:true, minlength:5},
		couponvalue:		{required:true},
		couponcode:			{required:true},
		question:			{required:true, minlength:10},
		greatidea:			{required:true, minlength:10},
		emailnew:			{required:true, email:true},
		emailold:			{required:true, email:true}

	},
	messages: { // error messages to display
		firstname:			"Vul uw voorletter(s) in",
		lastname:			{required:"Vul uw achternaam in", minlength:"Ten minste 2 tekens"},
		email:				{required:"Vul uw e-mailadres in", email:"Vul een geldig e-mailadres in"},
		telephone:			"Ten minste 5 cijfers",
		couponvalue:		"Vul de waarde van uw bon in",
		couponcode:			"Vul de code van uw bon in",
		question:			{required:"Vul uw vraag in", minlength:"Ten minste 10 tekens"},
		greatidea:			{required:"Vul uw idee in", minlength:"Ten minste 10 tekens"},
		emailnew:			{required:"Vul uw nieuwe e-mailadres in", email:"Vul een geldig e-mailadres in"},
		emailold:			{required:"Vul uw oude e-mailadres in", email:"Vul een geldig e-mailadres in"}
	}
});
