$(document).ready(function(){
	
	$("#submit").click(function(){

		// remove all error messages from previous submits
		$(".error").remove();
		$(".highlight").removeClass('highlight');
		
		// variables
		var errors = false;
		var emailRegExp = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
		
		// validate form fields
		if ( $("#bericht").val() == '' ) {
			$("#bericht").addClass('highlight').prev().append('<span class="error"> is een verplicht veld.</span>');
			errors = true;
		}
		if ( $("#naam").val() == '' ) {
			$("#naam").addClass('highlight').prev().append('<span class="error"> is een verplicht veld.</span>');
			errors = true;
		}
		if ( $("#email").val() == '' ) {
			$("#email").addClass('highlight').prev().append('<span class="error"> is een verplicht veld.</span>');
			errors = true;
		} else if ( !emailRegExp.test( $("#email").val() ) ) {
			$("#email").addClass('highlight').prev().append('<span class="error"> moet een geldig emailadres zijn.</span>');
			errors = true;
		}
		
		if ( errors == false ) {
			$(this).hide();
			$(this).after('<img id="spinner" src="gfx/spinner.gif" alt="spinner" width="48" height="48" />');
			
			$.post("process.php", { bericht: $("#bericht").val(), naam: $("#naam").val(), email: $("#email").val() }, function(data){
				$("#contact").fadeTo(2000, 1).slideUp(2000, function(){
					var success = '<p>Het formulier is succesvol verzonden. Op werkdagen kunt u binnen 24 uur een reactie terug verwachten. Tijdens vakantieperiodes kan dit soms wat langer duren.</p>';
					$("#submit").show();
					$("#spinner").remove();
					$("#bericht").val('');
					$("#content").after('<div id="message"></div>');
					$("#message").hide().append(success).slideDown("slow").fadeTo(10000, 1).slideUp("slow", function(){
						$(this).remove();
					});
				});	
			});
		}
				
		return false;
	});
	
});
