ACC SHELL

Path : /srv/www/vhosts/aife/domovoj.cz/js/imagelightbox/
File Upload :
Current File : /srv/www/vhosts/aife/domovoj.cz/js/imagelightbox/imagelightboxinit.js

$(function()
{
    // ACTIVITY INDICATOR

    var activityIndicatorOn = function()
    {
        $('<div id="imagelightbox-loading"><div></div></div>').appendTo('body');
    },
            activityIndicatorOff = function()
            {
                $('#imagelightbox-loading').remove();
            },
            // OVERLAY

            overlayOn = function()
            {
                $('<div id="imagelightbox-overlay"></div>').appendTo('body');
            },
            overlayOff = function()
            {
                $('#imagelightbox-overlay').remove();
            },
            // CLOSE BUTTON

            closeButtonOn = function(instance)
            {
                $('<button type="button" id="imagelightbox-close" title="Close"></button>').appendTo('body').on('click touchend', function() {
                    $(this).remove();
                    instance.quitImageLightbox();
                    return false;
                });
            },
            closeButtonOff = function()
            {
                $('#imagelightbox-close').remove();
            },
            // CAPTION

            captionOn = function()
            {
                var description = $('a[href="' + $('#imagelightbox').attr('src') + '"] img').attr('alt');
                if (description.length > 0)
                    $('<div id="imagelightbox-caption">' + description + '</div>').appendTo('body');
            },
            captionOff = function()
            {
                $('#imagelightbox-caption').remove();
            },
            // NAVIGATION

            navigationOn = function(instance, selector)
            {
                var images = $(selector);
                if (images.length)
                {
                    var nav = $('<div id="imagelightbox-nav"></div>');
                    for (var i = 0; i < images.length; i++)
                        nav.append('<button type="button"></button>');

                    nav.appendTo('body');
                    nav.on('click touchend', function() {
                        return false;
                    });

                    var navItems = nav.find('button');
                    navItems.on('click touchend', function()
                    {
                        var $this = $(this);
                        if (images.eq($this.index()).attr('href') != $('#imagelightbox').attr('src'))
                            instance.switchImageLightbox($this.index());

                        navItems.removeClass('active');
                        navItems.eq($this.index()).addClass('active');

                        return false;
                    })
                            .on('touchend', function() {
                                return false;
                            });
                }
            },
            navigationUpdate = function(selector)
            {
                var items = $('#imagelightbox-nav button');
                items.removeClass('active');
                items.eq($(selector).filter('[href="' + $('#imagelightbox').attr('src') + '"]').index(selector)).addClass('active');
            },
            navigationOff = function()
            {
                $('#imagelightbox-nav').remove();
            },
            // ARROWS

            arrowsOn = function(instance, selector)
            {
                var $arrows = $('<button type="button" class="imagelightbox-arrow imagelightbox-arrow-left"></button><button type="button" class="imagelightbox-arrow imagelightbox-arrow-right"></button>');

                $arrows.appendTo('body');

                $arrows.on('click touchend', function(e)
                {
                    e.preventDefault();

                    var $this = $(this),
                            $target = $(selector + '[href="' + $('#imagelightbox').attr('src') + '"]'),
                            index = $target.index(selector);

                    if ($this.hasClass('imagelightbox-arrow-left'))
                    {
                        index = index - 1;
                        if (!$(selector).eq(index).length)
                            index = $(selector).length;
                    }
                    else
                    {
                        index = index + 1;
                        if (!$(selector).eq(index).length)
                            index = 0;
                    }

                    instance.switchImageLightbox(index);
                    return false;
                });
            },
            arrowsOff = function()
            {
                $('.imagelightbox-arrow').remove();
            };

    /* photogallery */

    var c = $("a.imagelightbox").imageLightbox({
        quitOnDocClick: false,
        onStart: function() {
            overlayOn();
            closeButtonOn(c);
        },
        onEnd: function() {
            overlayOff();
            closeButtonOff();
            activityIndicatorOff();
        },
        onLoadStart: function() {
            activityIndicatorOn();
        },
        onLoadEnd: function() {
            activityIndicatorOff();
        }
    });

});   

ACC SHELL 2018