(function ($) {
    var $eventsNav = $('.event-nav');

    if ($eventsNav.length)
        enableStickyBehavior('.event-nav', '.event-nav + .container', '.nav-main');

    /**
     * Allow anchors to work, even with <base> tag present (+ adding a smooth scroll)
     */
    $eventsNav.on('click', 'a[href^="#"]', function (e) {
        var hash = $(this).attr('href');
        var $stickyNavs = $('.event-nav, .nav-main');

        function performScroll() {
            var posY = $(hash).offset().top - ($eventsNav.position().top + $eventsNav.outerHeight()) - 25;

            $('html, body').stop().animate( { scrollTop: posY }, 750);
        }

        e.preventDefault();
        performScroll();

        // When clicking having the nav(s) not sticky, the position is going to be off, fixing that just by scrolling again
        // if the sticky elements end their transition during the scroll
        $stickyNavs.one('transitionend', performScroll);
        setTimeout(function() {
            $stickyNavs.off('transitionend', performScroll);
        }, 750);

        return false;
    });

    $('.nav-tabs').on( 'shown.bs.tab', 'a', function( event ) {
        // get tab pane
        var selector = event.target.getAttribute('href') + ' .hetsl-carousel';
        // trigger resize on tab pane
        $( selector ).flickity('resize');
    });

})(jQuery);
