$(document).ready(function() {
	$('#messagebox').hide();
	
	$('form#contact input, form#contact textarea').focus(function(){
		if ($(this).parent().hasClass('error')){
			$(this).parent().removeClass('error');
		}
	});
	
	$('form#contact a#submit').click(function(){
		$('form#contact a#submit').attr("disabled","disabled");
		var ajax_page = 'ajax/contact_submit.php';
		// clear everything //
		$("form#contact input, form#contact textarea").removeClass('error');
		$('#messagebox').empty().hide();
		$('#contact_form').unbind("click").animate({opacity:0.5}, 500);
		
		// build up the message
		post_vars = new Array();
		post_vars['naam'] = $("form#contact input[name='naam']").val();
		post_vars['email'] = $("form#contact input[name='email']").val();
		post_vars['telefoon'] = $("form#contact input[name='telefoon']").val();
		post_vars['bericht'] = $("form#contact textarea[name='bericht']").val();
		
		$.post(ajax_page, {naam : post_vars['naam'], 
						   email : post_vars['email'], 
						   telefoon : post_vars['telefoon'], 
						   bericht : post_vars['bericht']},
		function(data){
			if (data.errors instanceof Object){
				// show errors
				if (data.errors.naam instanceof Object)
				{
					$('#messagebox').append('<div class="naam"></div>');
					$(data.errors.naam).each(function(i){
						$('#messagebox .naam').append(data.errors.naam[i] + "<br />");
					})
					$("form#contact input[name='naam']").parent().addClass('error');
				}
				if (data.errors.email instanceof Object)
				{
					$('#messagebox').append('<div class="email"></div>');
					$(data.errors.email).each(function(i){
						$('#messagebox .email').append(data.errors.email[i] + "<br />");
					})
					$("form#contact input[name='email']").parent().addClass('error');
				}
				if (data.errors.telefoon instanceof Object)
				{
					$('#messagebox').append('<div class="telefoon"></div>');
					$(data.errors.telefoon).each(function(i){
						$('#messagebox .telefoon').append(data.errors.telefoon[i] + "<br />");
					})
					$("form#contact input[name='telefoon']").parent().addClass('error');
				}
				if (data.errors.bericht instanceof Object)
				{
					$('#messagebox').append('<div class="bericht"></div>');
					$(data.errors.bericht).each(function(i){
						$('#messagebox .bericht').append(data.errors.bericht[i] + "<br />");
					})
					$("form#contact textarea[name='bericht']").parent().addClass('error');
				}
				$('#contact_form a#submit').removeAttr("disabled");
				$('#messagebox').slideDown("slow", function(){
					$("#contact_form:has(.error)").click(function(){
						$(this).animate({opacity:1}, 500);
						$('#messagebox').slideUp("slow",function(){$('#messagebox').empty();});
					});
				});
				
			}else{
				$('#messagebox').append(data.complete);
				$('#contact_form').fadeOut('slow', function(){
					$('#messagebox').slideDown("slow");
				});
			}
		}, "json")
	});
});