var validateClientNameInput = function(e) {
  	var value = $("#contact_name").attr('value');
  	highlightInput($("#contact_name"), (value != ""));
  	return (value != "");
}

var validateClientEmailInput = function(e) {
  	var value = $("#contact_email").attr('value');
  	var emailRegEx = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
  	highlightInput($("#contact_email"), emailRegEx.test(value));
  	return emailRegEx.test(value);
}

var validateClientMessageInput = function(e) {
  	var value = $("#contact_message").attr('value');
  	highlightInput($("#contact_message"), (value != ""));
  	return (value != "");
}

var validateClientPhoneInput = function(e) {
	var value = $("#contact_phone").attr('value');
	var phoneRegEx = /^([0-9-\+\s])*$/;
	highlightInput($("#contact_phone"), phoneRegEx.test(value));
	return phoneRegEx.test(value);
}

function highlightInput(obj, type) {
	var classToAdd = type ? 'correctInput' : 'flawedInput';
	var classToRemove = type ? 'flawedInput' : 'correctInput';
	obj.removeClass(classToRemove).addClass(classToAdd);
}

$(document).ready(function() {
	$("#contact_name").bind("blur", validateClientNameInput);
	$("#contact_email").bind("blur", validateClientEmailInput);
	$("#contact_message").bind("blur", validateClientMessageInput);
	$("#contact_phone").bind("blur", validateClientPhoneInput);
	$("#the_contact_form").bind("submit", onSubmitContactForm);
});

var onSubmitContactForm = function(e) {
  	$('#contact_form_button').attr('disabled', 'disabled').addClass('inactive'); 
  	validateClientNameInput();
  	validateClientEmailInput();
  	validateClientMessageInput();
  	$.ajax({
    	type: "POST",
    	url: "http://www.jakobbossek.de/additional/contact.php",
    	data: $("#the_contact_form").serialize(),
    	dataType: "script",
    	success: function() {
      		$('#contact_form_button').removeAttr('disabled').removeClass('inactive'); 
    	}
  	});
  	return false;
}

