/*
	Validate the contact us form
*/
$(document).ready( function() {
	$("input#ContactUs").click( function() {

		// In case the user is logged in we check whether all fields are present otherwise only the message
		var logged_in = $("input[name=LoggedIn]").val();

		var error_message = false;
		var all_clear = false;

		if( !logged_in )
		{
			// User is not logged in and we need to collect all the information
			if( $("input#Name") && $("input#Email") && $("input#PhoneNumber") )
			{
				var name = $("input#Name").val();
				var email = $("input#Email").val();
				var phoneNumber = $("input#PhoneNumber").val();
				var message = $("textarea#ContactUsMessage").val();
	
				// a Regular expression to validate the email against
				var emailRegEx = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z]{2,4})+$/;
	
				// whether the typed email validated against the regular expression
				var emailValid = emailRegEx.test( email );
		
				if( !name )
				{
					error_message = 'Please fill in your name';
				}
				else if( !email )
				{
					error_message = 'Please fill in your email';
				}
				else if( !emailValid )
				{
					error_message = 'Please fill in a valid Email Address';
				}
				else if( !message )
				{
					error_message = 'Please fill a message';
				}
				else
				{
					var all_clear = true;
				}
			}		
		}
		// User Is Logged In all we need to make sure is message is not empty
		else 
		{
			var message = $("textarea#ContactUsMessage").val();

			if( message )
			{
				all_clear = true;
			}
			else
			{
				error_message = 'Please fill a message';
			}
		}

		if( error_message )
		{
			$("div#contact-us-error").fadeIn('medium');
			$("div#contact-us-error p").text(error_message);

			// In case we would like to have it disappear once its visible
			// setTimeout(function(){ $("div#contact-us-error").fadeOut('slow'); }, 5000);

			return false;
		}
		// All went clear
		else if( all_clear )
		{
			var formElement = $("form#contact-us-form-container");
			var contactUsType = ( $("input[name=ContactUsType]").val() == 'Contact Us' ) ? 'ContactUs' : 'TechnicalSupport';

			$.ajax({
				beforeSend: function(){  },
				timeout: 5000,
				error: function() { $(formElement).submit(); },
				type: "POST",
				dataType: "html",
				data: $(formElement).serialize(),
				url: "index.php?AjaxRequest&" + contactUsType,
				success: function(data) {
					$("div#contact-us-container").html(data);
				}
			});
			
			return false;
		}
	});
});