var DTCC = DTCC || {};

DTCC.leadGen = function () {

    var formSubmit = $('#sample-data-form input[type="submit"'),
        sampleDataForm = $('#sample-data-form'),
        errorMsg = $('p.error-message');

    function init() {
        
        registerEvents();

    }

    function registerEvents() {

        formSubmit.click(function (e) {
            e.preventDefault();
            submitForm(sampleDataForm);
        });

    }

    function submitForm(form) {
        var errors = checkRequiredFields(form);

        // prevent mulitple submissions
        if (formSubmit.hasClass('disabled')) {
            return false;
        }

        // stop submit if validation fails
        if (errors) {
            errorMsg.html('Please fill out all required fields.');
            return false;
        }

        form.submit();
    }

    function checkRequiredFields(form) {

        var requiredFields = form.find('.required'),
            errors = false;

        requiredFields.each(function () {
            if ($(this).val() === null || $(this).val() === '') {
                errors = true;
                $(this).addClass('error');
            }
        });

        return errors;

    }

    return {
        init: init
    };
}();

// initialize
DTCC.leadGen.init();