// source --> https://www.cmkc.cu/wp-content/plugins/nextgen-gallery/static/Legacy/ajax.min.js?ver=4.2.3 
// TODO: This file can be removed once the minimum Pro API version is 4.0
EasyCookie=(function(){var EPOCH='Thu, 01-Jan-1970 00:00:01 GMT',RATIO=1000*60*60*24,KEYS=['expires','path','domain'],esc=escape,un=unescape,doc=document,me;var get_now=function(){var r=new Date();r.setTime(r.getTime());return r;}
    var cookify=function(c_key,c_val){var i,key,val,r=[],opt=(arguments.length>2)?arguments[2]:{};r.push(esc(c_key)+'='+esc(c_val));for(i=0;i<KEYS.length;i++){key=KEYS[i];if(val=opt[key])
        r.push(key+'='+val);}
        if(opt.secure)
            r.push('secure');return r.join('; ');}
    var alive=function(){var k='__EC_TEST__',v=new Date();v=v.toGMTString();this.set(k,v);this.enabled=(this.remove(k)==v);return this.enabled;}
    me={set:function(key,val){var opt=(arguments.length>2)?arguments[2]:{},now=get_now(),expire_at,cfg={};if(opt.expires){opt.expires*=RATIO;cfg.expires=new Date(now.getTime()+opt.expires);cfg.expires=cfg.expires.toGMTString();}
        var keys=['path','domain','secure'];for(i=0;i<keys.length;i++)
            if(opt[keys[i]])
                cfg[keys[i]]=opt[keys[i]];var r=cookify(key,val,cfg);doc.cookie=r;return val;},has:function(key){key=esc(key);var c=doc.cookie,ofs=c.indexOf(key+'='),len=ofs+key.length+1,sub=c.substring(0,key.length);return((!ofs&&key!=sub)||ofs<0)?false:true;},get:function(key){key=esc(key);var c=doc.cookie,ofs=c.indexOf(key+'='),len=ofs+key.length+1,sub=c.substring(0,key.length),end;if((!ofs&&key!=sub)||ofs<0)
        return null;end=c.indexOf(';',len);if(end<0)
        end=c.length;return un(c.substring(len,end));},remove:function(k){var r=me.get(k),opt={expires:EPOCH};doc.cookie=cookify(k,'',opt);return r;},keys:function(){var c=doc.cookie,ps=c.split('; '),i,p,r=[];for(i=0;i<ps.length;i++){p=ps[i].split('=');r.push(un(p[0]));}
        return r;},all:function(){var c=doc.cookie,ps=c.split('; '),i,p,r=[];for(i=0;i<ps.length;i++){p=ps[i].split('=');r.push([un(p[0]),un(p[1])]);}
        return r;},version:'0.2.1',enabled:false};me.enabled=alive.call(me);return me;}());

window.Ngg_Store = {

    get: function(key){
        return EasyCookie.get(key);
    },

    set: function(key, value){
        if (typeof(value) == 'object') {
            value = JSON.stringify(value);
        }
        return EasyCookie.set(key, value, {
            expires: 10,
            path: '/',
            secure: false
        });
    },

    del: function(key){
        EasyCookie.remove(key);
        return !this.has(key);
    },

    has: function(key){
        var value = this.get(key);
        return typeof(value) != 'undefined' && value != null;
    },

    save: function(){
        return true;
    }
};

jQuery(function($){
    $(window).on('unload', function(){
        Ngg_Store.save();
    })
});
// source --> https://www.cmkc.cu/wp-content/plugins/nextgen-gallery/static/Thumbnails/nextgen_basic_thumbnails.js?ver=4.2.3 
jQuery(function($) {
    var ngg_imagebrowser_init = function() {
        var imagebrowser_links = $('a.use_imagebrowser_effect');
        imagebrowser_links.on('click', function(e) {
            e.preventDefault();
            var success = true;
            var $this   = $(this);
            var image_id   = $this.attr('data-image-id');
            var image_slug = $this.attr('data-image-slug');
            var image_url  = $this.attr('data-imagebrowser-url');

            var url = window.location.toString();
            url = url.split('/' + photocrati_ajax.ngg_param_slug + '/').shift();
            if (url.substr(-1) === '/')
                url = url.substr(0, url.length - 1);

            image_id = image_slug ? image_slug : image_id;
            try {
                if (!image_id)
                    image_id = parseInt($this.parents('.ngg-gallery-thumbnail-box').attr('id').match(/\d+/).join(''));
            } catch (ex) {
                success = false;
            }

            if (success) {

                url = image_url.replace('%STUB%', image_id);

                /* TODO: Remove this entire chunk. It should be unecessary.
                // Custom permalinks are disabled. So we have to redirect to /index.php/nggallery/image/n?qs=1
                if (photocrati_ajax.wp_root_url.indexOf('index.php') >= 0) {
                    url = photocrati_ajax.wp_root_url + "/" + photocrati_ajax.ngg_param_slug + "/image/" + image_id;
                    if (window.location.toString().indexOf('?') >= 0)
                        url += '?'+window.location.toString().split('?').pop();
                } else {
                    // Just append the slug
                    url += "/" + photocrati_ajax.ngg_param_slug + "/image/" + image_id;
                } */

                window.location = url;
            }
        });

        // Unregister any onclick handlers added after the above has executed to avoid conflicts
        if (imagebrowser_links.length > 0) {
            setTimeout(function() {
                imagebrowser_links.each(function() {
                    this.onclick = null;
                });
            }, 200);
        }
    };

    $(this).on('refreshed', ngg_imagebrowser_init);
    ngg_imagebrowser_init();
});
// source --> https://www.cmkc.cu/wp-content/plugins/nextgen-gallery/static/Thumbnails/ajax_pagination.js?ver=4.2.3 
jQuery(function($){
    NggAjaxNavigation = {
        loading_image:            null,

        /**
         * Initializes the AJAX paginators
         */
        init:                     function(){
            var self = this;
            $('body').on('click', 'a.page-numbers, a.prev, a.next', function(e){
              var $this     = $(this);
              var $gallery  = $this.parents('.ngg-galleryoverview:first');
              var gallery_id= $gallery.attr('id').replace('ngg-gallery-','').replace(/-\d+$/, '');
              
              if ($gallery.hasClass('ngg-ajax-pagination-none')) 
              	return;
              
              e.preventDefault();

              self.toggle_busy(true);

              $.get({
                  url: $this.attr('href'),
                  headers: { 'X-NGG-Pagination-Request': true },
                  success: function (response) {
                      var html = $(response);
                      $gallery.replaceWith(html.find('div[id*="ngg-gallery-' + gallery_id + '"]'));

                      // Let the user know that we've refreshed the content
                      $(document).trigger('refreshed');

                      // Emit an event that doesn't require jQuery
                      const event = new Event("nextgen_page_refreshed");
                      document.dispatchEvent(event);
                  }
              }).always(function() {
                  self.toggle_busy(false);
              });
            });
        },

        /**
         * Gets the querystring parameters for a url
         * @param url
         * @return {Object}
         */
        get_querystring_params_from_url: function(url){
            var url_params = {};
            var url_parts = url.split('?');
            if (url_parts.length == 2) {
                url_parts = url_parts[1].split('&');
                for (var key in url_parts) {
                    var param = url_parts[key].split('=');
                    url_params[param[0]] = param.length == 2 ? param[1] : '';
                }
            }
            return url_params;
        },


        toggle_busy:                    function(busy) {
            $('body, a').css('cursor', busy ? 'wait' : 'auto');
        }
    };

    NggAjaxNavigation.init();
});