var cf = {
    formURI: '/ContactForm/contactform.html',
    emailerURI: '/ContactForm/emailer.php',
    validateContactForm: function(){
        $("#contact-button").live('click',function(){
            var errored = false;
            $('span.field-error').remove();
            $('.form-label-error').removeClass('form-label-error');
            $('.form-field-error').removeClass('form-field-error');


            if($("#name").val().length == 0){
                cf.addErrorClass("#name-label", "#name", "Please provide a name entry.");
                errored = true;
            }

            if($("#phone").val().length == 0){
                cf.addErrorClass("#phone-label", "#phone", "Please provide a phone entry.");
                errored = true;
            }

            var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
            if($("#email").val().length == 0){
                cf.addErrorClass("#email-label", "#email", "Please provide a email entry.");
                errored = true;
            } else if(reg.test($("#email").val()) == false) {
                cf.addErrorClass("#email-label", "#email", "Please provide a valid email entry.");
                errored = true;
            }

            if($("#message").val().length == 0){
                cf.addErrorClass("#message-label", "#message", "Please provide a message entry.");
                errored = true;
            }

            if($("#filter").val() != '6'){ //SET THIS TO BE THE ANSWER TO THE FILTER QUESTION
                cf.addErrorClass("#filter-label", "#filter", "Incorrect answer. Please try again.");
                errored = true;
            }


            if(errored){
               return false;
            }else{               
				$.ajax({
					url: 'ContactForm/emailer.php', //MAKE SURE THAT THIS HAS THE CORRECT PATH
					type: 'POST',
					async: false,
					data: $("#contact-form").serialize(),
					success: function(data){
							$("#contact-form-container").html("").html(data);
					}
				});
                
            }
        });
    },

    loadContactForm: function(){
        if($("#contact-form-container").length > 0){
            //$("#load-me").load(this.formURI);
			$.ajax({
				url: '../ContactForm/contactform.html',
				success: function(data){
					$("#contact-form-container").html(data);
				}	
			});
        }
    },

    resetFormListener: function(){
            $("a#resetform").live('click', function(){
                    $("#load-me").load(this.formURI);
            });
    },

    addErrorClass: function(label,field, msg){
        $(label).append('<span class="field-error form-label-error">' + msg + '</span>');
        $(field).addClass('form-field-error');
    },

    bindSpinner:function(){
        $("#spinner").bind("ajaxSend", function() {
		$(this).show();
	}).bind("ajaxStop", function() {
		$(this).hide();
	}).bind("ajaxError", function() {
		$(this).hide();
	});
    },
	
	logError:function(msg){
		console.log(msg);
	},

    init: function(){
        this.bindSpinner();
		this.loadContactForm();
        this.validateContactForm();
        this.resetFormListener();
    }
};

$(function(){
    cf.init();
});
