(function($){
	$(document).ready(function(){
		var loadTime = new Date().getTime();
		
		$("#submit").removeAttr("disabled");
		
		var emailFocused = false;
		
		$("#emailAddress").focus(function(){
			if(!emailFocused) {
				emailFocused=true;
				pageTracker._trackEvent("Test Drive", 'Email Input Focused', 
						"Email input was focused on.");
			}
		});
		
		$("[class^=validate]").validationEngine({
			success :  function(){
				var dataString = $("#signup").serialize();
				
				var analyticsString = createAnalyticsString($("#signup").serializeArray());
				
				pageTracker._trackEvent("Test Drive", 'Submitted', 
					"Test Drive Form Submitted. (" + analyticsString + ")");
						
				$("#submit").attr("disabled", "disabled");
				
				$('#errors').hide(200);
				
				$.jsonp({
					url: rosy.vars.sslFloydwareHost + "floydware/remoteSignup.htm",
					data: dataString,
					dataType: "jsonp",
					callbackParameter: "callback",
					timeout: 10000,
					success: function(result) {
						if(result.status===0) {
							pageTracker._trackEvent("Test Drive", 'Launching', "Launching test drive (Salon ID:" + result.salonId + ")");
							
							var pwLength = $("#passwd").val().length;
							var username = $("#username").val();
							
							document.location.href="testdrive-requested.html?salonId="
								+ result.salonId + "&employeeId="
								+ result.employeeId + "&l="
								+ pwLength + "&username="
								+ username;
							
						}
						else {
							
							
							pageTracker._trackEvent("Test Drive", 'Duplicate Email', 
								"Test Drive signup failed. Duplicate email address on file. (" + analyticsString + ")");
							$('#errors').html("<h3>Error:</h3><ul><li>"+result.reason+"</li></ul><p>Please correct the error and try again.</p>")  
								.hide()  
								.show(800);
							$("#submit").removeAttr("disabled");
						}
					},
					error: function(XHR, textStatus, errorThrown){
						pageTracker._trackEvent("Test Drive", 'Communication Failure', 
							"Failure to communicate with server when submitting test drive form. (" + analyticsString + ")");
						
						$("<div />").html("<p>We are sorry.  There was an error communicating with the server. Please try again in a few minutes.</p>")
							.append("<br><p>If this problem persists, please contact a GetRosy representative toll free at 877-346-7679.</p>")
							.appendTo("body")
							.dialog();
						
						
						$("#submit").removeAttr("disabled");
					}
				});
				
			},
			failure : function() {
				var analyticsString = createAnalyticsString($("#signup").serializeArray());
				pageTracker._trackEvent("Test Drive", 'Submit Failed', 
					"Test Drive Form Validation Failed. (" + analyticsString + ")");
			}
		});
		
		var timeAfterLoad = function(){
			return (new Date().getTime() - loadTime)/1000;
		};
		
		var createAnalyticsString = function(dataArray){
			var analyticsString = "";
			$.each(dataArray, function(i, field){
				if(field.name!=="passwd" && field.name!=="password2")
					analyticsString += "[" + field.name + " : " + field.value + "]";
			
			});
			return analyticsString;
		};
		
	});
}(jQuery));
