var edx = edx || {};

(function($) {
    'use strict';

    edx.footer = (function() {
        var _fn = {
            el: '#footer-edx-v3',

            analytics: {
                init: function() {
                    _fn.$el = _fn.$el || $(_fn.el);

                    /**
                     *  Only continue if the expected element
                     *  to add footer to is in the DOM
                     */
                    if (_fn.$el.length) {
                        _fn.analytics.eventListener();
                    }
                },

                eventListener: function() {
                    if (window.analytics) {
                        _fn.$el.on('click', 'a', _fn.analytics.track);
                    }
                },

                track: function(event) {
                    var $link = $(event.currentTarget);

                    // Only tracking external links
                    if ($link.hasClass('external')) {
                        window.analytics.track('edx.bi.footer.link', {
                            category: 'outbound_link',
                            label: $link.attr('href')
                        });
                    }
                }
            }
        };

        return {
            analytics: _fn.analytics.init
        };
    }());

    edx.footer.analytics();
}(jQuery));