/*
 * 	Contact Form Validation v1.0
 *	By Simon Bouchard <www.simonbouchard.com>
 *	You need at least PHP v5.2.x with JSON support for the live validation to work.
 */

jQuery(document).ready(function(){  

	jQuery('#contactform').submit(function() {

		// Disable the submit button
		jQuery('#contactform input[type=submit]')
			.attr('value', 'Sending message')
			.attr('disabled', 'disabled');

		// AJAX POST request
		jQuery.post(
			jQuery(this).attr('action'),
			{
				name:jQuery('#name').val(),
				email:jQuery('#email').val(),
				message:jQuery('#message').val()
			},
			function(errors) {
				// No errors
				if (errors == null) {
					jQuery('#contactform')
						.hide()
						.html('<div class="thankyou"><h1>Tak for din Besked!</h1><p>Vi vender tilbage hurtigst muligt!</p></div>')
						.show();
				}

				// Errors
				else {
					// Re-enable the submit button
					jQuery('#contactform input[type=submit]')
						.removeAttr('disabled')
						.attr('value', 'Send Now');

					// Technical server problem, the email could not be sent
					if (errors.server != null) {
						alert(errors.server);
						return false;
					}

					// Empty the errorbox and reset the error alerts
					jQuery('#contactform .errorbox').html('<ul></ul>').show();
					jQuery('#contactform li').removeClass('alert');

					// Loop over the errors, mark the corresponding input fields,
					// and add the error messages to the errorbox.
					for (field in errors) {
						if (errors[field] != null) {
							jQuery('#' + field).parent('li').addClass('alert');
							jQuery('#contactform .errorbox ul').append('<li>' + errors[field] + '</li>');
						}
					}
				}
			},
			'json'
		);

		// Prevent non-AJAX form submission
		return false;
	});

});
