/************************************************************
*  Form Submitter
*  This script includes form functions used for this 
*  web site.
*  Events:
*  -ContactForm_Submitted - Fires on successful form submit
*  -ContactForm_Failure - Fires when form submit fails
************************************************************/
var form_subject = "Form Submitter Demo";
var form_debugMode = true;
var form_id = "#contact_form";
var form_area = ".form_fields";
var form_results = ".form_results";

function InitContactForm()
{
	// Date Picker
	$("#datepicker").datepicker();
	
	// Add validation
	$(form_id).validate({
		rules:
		{
			fullName: "required",
			firstName: "required",
			lastName: "required",
			state: "required",
			email: { required: true, email: true }
		},
		messages:
		{
			fullName: "*Required",
			firstName: "*Required",
			lastName: "*Required",
			state: "*Required",
			email: "*Email required"
		},
		submitHandler: function(form) {
			SubmitContactForm();
		}
	});
}
function SubmitContactForm()
{
	StartActivity();

	// Build message body
	var form_body = "";
	try
	{
		$(form_area + " .row").each(function() {
		
			var fieldName = $("label", this).html();
			var fieldValue = $("input", this).val();
			if ((fieldValue == null) || (fieldValue == ""))
			{
				fieldValue = $("select", this).val();
			}
			if ((fieldValue == null) || (fieldValue == ""))
			{
				fieldValue = $("textarea", this).val();
			}
			if ((fieldValue != null) && (fieldValue != ""))
			{
				fieldValue = fieldValue.replace("'", "''");
				form_body += fieldName + " " + fieldValue + "<br />";
			}
		});
	}
	catch(e)
	{
		EndActivity();
		alert(e);
		return;
	}
	
	// Call web service
	try
	{
		$.ajax({
			//url: "http://localhost/VelmaCorp/ws/FormService.asmx/SendEmailToSales",
			url: "http://corp.velma.com/ws/FormService.asmx/SendEmailToSales",
			type: "POST",
			data: "{ subject: '" + form_subject + "', body: '" + form_body + "', debugMode: " + form_debugMode + " }",
			dataType: "json",
			contentType: "application/json; charset=utf-8",
			success: SubmitContactFormSucceeded,
			error: SubmitContactFormFailed
		});
	}
	catch(e)
	{
		EndActivity();
		alert(e);
		return;
	}
}
function SubmitContactFormSucceeded(data, status)
{
	EndActivity();
	if (data == true)
	{
		ClearContactForm();
		$(form_results).css("color", "green").html("The form was submitted successfully!");
		
		// Fire "Form Submitted" Event
		// This event can be implemented by the client page
		try
		{
			ContactForm_Submitted(form_id);
		}
		catch(e) {}
	}
	else
	{
		$(form_results).css("color", "red").html("Error! The form submission failed. Please try again.");
		
		// Fire "Form Failure" Event
		// This event can be implemented by the client page
		try
		{
			ContactForm_Failure(form_id);
		}
		catch(e) {}
	}
}
function SubmitContactFormFailed(request, status, error)
{
	EndActivity();
	$(form_results).html("Error: " + error);
}
function ClearContactForm()
{
	$(form_area + " .row").each(function() {
		$("input", this).val("");
		$("select", this).val("None");
		$("textarea", this).val("");
	});
}
function ClearContactFormResults()
{
	$(form_results).html("");
}
function StartActivity()
{
	document.body.style.cursor = 'wait';
	$(form_area + " .submit input").attr("disabled", "disabled");
}
function EndActivity()
{
	document.body.style.cursor = '';
	$(form_area + " .submit input").removeAttr("disabled");
}


