/*
  quick-signup-form.js
  
  Performs client-side form validation and form submission for 
  the quick signup form.
  
*/
$(document).ready(function() {

    // Uses jquery validate, which must be loaded before this script

	$("#quick-signup-form").validate({
		rules: {
			first_name: "required",
			last_name: "required",
			email: {
				required: true,
				email: true
			}
		},
		messages: {
			email: "Please enter a valid email address"
		},
		submitHandler: function(form) {
			
            // Submit the form to the server for processing
    
            $(form).ajaxSubmit({
    				url:'/quicksignup/post',
    				dataType: 'json',
    				success:showResponse,
    				error:showError
            });
    
            return false;
		}
	});
	
	$('#quick-signup-form .btn-submit-small').click(function(e){
        e.preventDefault();
		$("#quick-signup-form").submit();
	});
		
});

function showResponse(data)
{
	if (data) 
	{
		if (data.status == 'success') 
		{
			$('#quick-signup-form-container').fadeOut('fast', function(){
				$('#quick-signup-thank-you-message').fadeIn();
			});

			// Tie lead id and email to clicky analytics data
			clicky_custom.session = {
				lead_id: data.id,
				username: data.email,
				signup: "1"
			};

			// Log action in clicky
			clicky.init(66387587); // Let's clicky "see" the new clicky_custom information
			clicky.log('/quick-signup/thank-you');  // Logs a fake page hit in clicky					
		}
		else {
			showError();
		}
	}
	else
	{
		showError();
	}
  
	// Fire off a Google Analitics goal hit
	pageTracker._trackPageview('/ajax-goals/quick-signup');

}

function showError()
{
	$('#quick-signup-form-container').fadeOut('fast',function(){
		$('#quick-signup-error-message').fadeIn('fast');	
	});
	
	// Send error to webmaster
	$.get('/error/report', {
			subject:'Error processing QSU', 
			error:'There was a problem processing a quick signup.\nLead Email: ' + $('#email').val()
		}
	)
}

