window.cmu = window.cmu || {};

(function (ns) {

    ns.contactForm = function (spec, my) {
        var that;

        spec = spec || {};

        my = my || {};
        my.logger = my.logger || gj.logging.getLogger('cmu.contactForm');

        that = cmu.formHandler(spec, my);

        // ------------------------------------------------------------------
        // Event handlers
        // ------------------------------------------------------------------

        my.$viewNode.bind('loadStart', function (e) {
            my.logger.debug('[' + e.type + ']');
            my.$viewNode.parents(spec.containerSelector).addClass('loading');
        });

        // ------------------------------------------------------------------
        // Constructor
        // ------------------------------------------------------------------

        return that;
    };

    ns.contactFormSubmit = function (form, url, containerSelector) {
        gj.logging.getLogger('cmu').debug('contactFormSubmit()');

        var formHandler = cmu.contactForm({
            viewNode: form,
            url: url,
            containerSelector: containerSelector
        });
        formHandler.submit();
    };

})(window.cmu);

