$(document).ready( function() {
	$('#contactform').submit(function(){
		var status = 'submit', submitText = $('.submitText').text(), errorText = $('.errorText').text(), pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
		
		$('#contactform .validate').each( function (){
			if( $(this).find('input').length === 1 && $(this).find('input').val().length<3 ) {
				alert('Please enter:  ' + $(this).find('label').text().replace('*','').replace(':',''));
				$(this).find('input').focus();
				status = 'dontsubmit';
				return false;
			} else if ( $(this).find('label').attr('for') === 'email' && !pattern.test($(this).find('input').val()) ) {
				alert('Please enter correctly:  ' + $(this).find('label').text().replace('*','').replace(':',''));
				$(this).find('input').focus();
				status = 'dontsubmit';
				return false;
			} else if ( $(this).find('textarea').length === 1 && $(this).find('textarea').val().length<3 ) {
				alert('Please enter:  ' + $(this).find('label').text().replace('*','').replace(':',''));
				$(this).find('textarea').focus();
				status = 'dontsubmit';
				return false;
			}
			
		});
		
		if(status === 'dontsubmit') return false;
		$('#contactform .buttons input[type="submit"]').attr("disabled", true);
		$('#contactform .buttons input[type="submit"]').addClass("disabled");

		$.post($('#contactform').attr('action'), $("#contactform").serialize(),
			function(data){
				if(data.search(/Thank you for contacting us, we will reply as soon as possible/i)>1) {
					$('#contactform').fadeOut('fast', function() {
						$('#contactform').html('<h2>' + submitText + '</h2>');
						$('#contactform').fadeIn('fast');
					});
				}else{
					$('#contactform').fadeOut('fast', function() {
						$('#contactform').html('<h3>' + errorText + '</h3>');
						$('#contactform').fadeIn('fast');
					});
				}
			}
		);
		return false;
	});
});
