function setupAjaxForm(form_id, form_validations){
	var form = '#' + form_id;
	var form_message = form + '-message';
	
	// en/disable submit button
	var disableSubmit = function(val){
		$(form + ' input[type=submit]').attr('disabled', val);
	};
	
	// setup loading message
	$(form).ajaxSend(function(){
		$(form_message).removeClass().addClass('loading').html('Loading...').fadeIn();
	});
	
	// setup jQuery Plugin 'ajaxForm' 	
	var options = {
		dataType:  'json',
		beforeSubmit: function(){
			// run form validations if they exist
			if(typeof form_validations == "function" && !form_validations()) {
				// this will prevent the form from being submitted
				return false;
			}
			disableSubmit(true);
		},
		success: function(json){
			$(form_message).hide();
			$(form_message).removeClass().addClass(json.type).html(json.message).fadeIn('slow');
			disableSubmit(false);
			if(json.type == 'success')
				$(form).clearForm();
		}
	};
	$(form).ajaxForm(options);
	
}

function isValidEmailAddress(emailAddress) {
 		var 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);
 		return pattern.test(emailAddress);
}


$(document).ready(function() {
    new setupAjaxForm('contact-us');
    
    $("#email").keyup(function(){
		
			var email = $("#email").val();
		
			if(email != 0)
			{
				if(isValidEmailAddress(email))
				{
					$("#validEmail").css({
						"background-image": "url('images/validyes.png')"
					});
				} else {
					$("#validEmail").css({
						"background-image": "url('images/validno.png')"
					});
				}
			} else {
				$("#validEmail").css({
					"background-image": "none"
				});			
			}
		
		
    
    });
});