﻿var ContactUsForm = {
	markup: {
		submitButtonId: '#btnSubmit',
		formId: '#contactForm',
		errorSummaryId: '#errorList',
		successMessage: '#successMessage'
	},
	
	init: function(){
		$(this.markup.formId).submit(this.submit);
	},
	
	submit: function(){
		$(ContactUsForm.markup.formId).ajaxSubmit({
			method: 'POST',
			beforeSubmit: ContactUsForm.validate,
			success: ContactUsForm.submit_callback
		});
		
		return false; //prevent default browser behavior
	},
	
	submit_callback: function(pErrors) {
		pErrors = eval(pErrors);
		if(pErrors.length > 0) {
			//show errors
			ContactUsForm._showErrors(pErrors);
		} else{
			//show success message
			$(ContactUsForm.markup.formId).hide();
			$(ContactUsForm.markup.successMessage).show();
		}
	},
	
	validate: function() {
		//can do client side validation if you want
		return true;
	},
	
	_showErrors: function(pErrors) {
		ContactUsForm._clearErrors();
		$(".error").html('');
		var errorText = '';
		$(pErrors).each(function(){
			$("#error_"+this.Key).html("* " + this.Value);
			errorText += "<br>* " + this.Value;
		});
		$(ContactUsForm.markup.errorSummaryId).html(errorText);
		
	},
	
	_clearErrors: function() {
		$(ContactUsForm.markup.errorSummaryId).html('');
	}
	
	
	
	

}


$(function(){
	ContactUsForm.init();
});
