var easeDuration = 500;
var dontRemove = false;
var validator;
$('document').ready(function() {
	jQuery.validator.addMethod("phoneUS", function(phone_number, element) {
		phone_number = phone_number.replace(/\s+/g, ""); 
		return this.optional(element) || phone_number.length > 9 &&
		phone_number.match(/^(1-?)?(\([2-9]\d{2}\)|[2-9]\d{2})-?[2-9]\d{2}-?\d{4}$/);
	}, "Please use a valid phone number");

	$('#contact_form .textfield, #contact_form textarea').click(function(e) {
		e.preventDefault();
		dontRemove = true;
	});
	$('#contact_form #Cancel, #contact_form #btn_ok').click(function(e) {
		e.preventDefault();
		dontRemove = false;
		closeContactForm();
	});
	$('#contact_form #info_tab').mouseover(function() {
		$('#contact_form #Cancel, #contact_form #Submit, #contact_form #btn_ok').val('')
		$('body').append('<div id="overlay_mask" style="display: none;"></div>');
		//$('#overlay_mask').fadeIn(easeDuration)
		$('#overlay_mask').show()
		var el = $('#contact_form');
		el.stop();
		el.animate(
			{ right: -25 },
			{
				duration: easeDuration,
				easing: 'easeOutQuart',
				complete: function() {
					$("#formx").validate({
						submitHandler: function(form) {
							if ($(form).valid()) {
								doFormSubmit(form);
							}
						},
						rules: {
							phone: {
								required: true,
								phoneUS: true
							}
						}
					});
									
					$('#overlay_mask').css({
						'height' : $('document').height()
					})
					$('#overlay_mask').mouseover(function() {
						closeContactForm();
					});
					$('#overlay_mask').click(function() {
						dontRemove = false;
						closeContactForm();
					});
				}
			}
		);
	});
});

function doFormSubmit(form) {
	dontRemove = false;
	// need to ajax submit the form here...	
	console.log($(form).attr('action'));
	$(form).find('#fromwhere').val(location.href)
	$.ajax({
		type: 'POST',
		url: $(form).attr('action'),
		data: $(form).serialize(),
		success: function(data) {
			flipContactContent();
		},
		error: function(data, x, y) {
			flipContactContent();
			$('#thanks').html('Please call us at 1-800-328-5558, as there has been an error submitting the request for information. \n');
			console.log(data);
			console.log(x);
			console.log(y);
		}
	});
	
	return false;
}

function closeContactForm() {
	if (!dontRemove) {
		$('#contact_form form input').not('#fromwhere, #subject').val('')
		var el = $('#contact_form');
		el.stop();
		el.animate(
			{ right: -295 },
			{ duration: easeDuration, easing: 'easeOutQuart', complete: function() {
					$('#contact_form form').css({ 'right': '30px' });
					$('#contact_form #thanks').css({ 'right': '-300px' });
				}
			}
		);
		$('#overlay_mask').fadeOut(500, function() { 
			$('#overlay_mask').remove();
			$('#overlay_mask').remove();
		});
	}
}

function flipContactContent () {
	var el = $('#contact_form form'); var el2 = $('#contact_form #thanks');
	el.stop(); el2.stop(); 
	el2.css('right', '-300px')
	el.animate(
		{ right: -300 },
		{ duration: easeDuration, easing: 'easeOutQuart', complete: function() {
			el2.animate(
				{ right: 70 },
				{ duration: easeDuration, easing: 'easeOutQuart', complete: function() { } }
			);
		} 
	});
	
}
