PageSourceSearch

https://www.budweiscustom.show/wp-content/plugins/divi-video-gallery/scripts/functions.min.js?ver=2.3.5

js budweiscustom.show collected 2026-09-26 18:39:47 UTC 28,552 bytes, 725 lines download raw bytes

1jQuery(function($) {
2    
3    var $galleries =  $('.dvg-gallery-container');
4    $.each($galleries, function(index, gallery) {
5        var $gallery = $(gallery),
6            skipAutoplay = $gallery.hasClass('dvg-without-autoplay');
7        
8        if ( $gallery.hasClass('dvg-playlist-layout') || $gallery.hasClass('dvg-player-list')) {
9            dvg_init_playlist_player( $gallery, index, skipAutoplay);
10        } else if ( $gallery.hasClass('dvg-plays-inline')) {
11            dvg_create_inline_players( $gallery, index, skipAutoplay );
12        } else {
13            dvg_create_lightbox( $gallery, skipAutoplay );
14        }        
15        dvg_filter( $gallery );
16    });
17
18    $('.dvg-gallery-page-button').on('click', function() {
19		var $this = $(this),
20			page = $this.attr('data-value'),
21			$wrapper = $this.parents('.dvg_divi_video_gallery'),
22			$paginator = $wrapper.find('.dvg-gallery-pagination'),
23			excludeMovement = false,
24			max = Number($paginator.attr('data-max')),
25			current = Number($paginator.attr('data-value'));
26
27		if (page == $paginator.attr('data-value'));
28
29		$paginator.attr('data-value', page);
30		$paginator.find('.dvg-gallery-page-button-active').removeClass('dvg-gallery-page-button-active');
31		$paginator.find('.dvg-gallery-page-button[data-value="' + page + '"]').addClass('dvg-gallery-page-button-active');
32
33		executeFilter('page', $wrapper);
34	});
35
36    $(window).on('resize', function() {
37        dvg_check_vertical_player_ratio();
38        var $galleries =  $('.dvg-gallery-container');
39        $.each($galleries, function(index, gallery) {
40            var $gallery = $(gallery);
41            if ( !$gallery.hasClass('dvg-player-list') ) {   
42                var columnParam = $gallery.length ? $gallery.attr('data-cols').split(',') : [],
43                    winWidth = $(window).width(),
44                    columns = columnParam[0];
45                if ( columnParam.length && winWidth < 768) {
46                    columns = Number(columnParam[2]);
47                } else if ( columnParam.length && winWidth < 981) {
48                    columns = Number(columnParam[1]);
49                } else if ( columnParam.length ) {
50                    columns = Number(columnParam[0]);
51                }
52                if ( $gallery.hasClass('execute-filter')) {
53                    $gallery.find('.dvg-in-filter').each(function(index, item) {
54                        $(item).addClass('dvg-in-filter-'+ ( index % columns));
55                    });
56
57                    $gallery.isotope({ 
58                        layoutMode: 'fitRows',
59                        filter: function() {
60                            return $(this).hasClass('dvg-in-filter') && !$(this).hasClass('dvg-out-page');
61                        } 
62                    });
63                }
64            }
65        });
66    });
67
68    $('.dvg-lazy').lazyload();
69
70    /**
71     * Check the window size to adjust the vertical player
72     */
73    function dvg_check_vertical_player_ratio() {
74        var width = $(window).width(),
75            height = $(window).height(),
76            verticalRatio = 9 / 16;
77        if ( width / height > verticalRatio ) {
78            $('.mfp-content.dvg-vertical-player').addClass('dvg-vertical-h-adjust');
79            $('.mfp-content.dvg-vertical-player').removeClass('dvg-vertical-v-adjust');
80        } else {
81            $('.mfp-content.dvg-vertical-player').removeClass('dvg-vertical-h-adjust');
82            $('.mfp-content.dvg-vertical-player').addClass('dvg-vertical-v-adjust');
83        }
84    }
85
86
87    /**
88     * Creates the video gallery lightbox
89     */
90    function dvg_create_lightbox( $gallery, skipAutoplay ) {
91        $gallery.magnificPopup({
92            delegate: 'a',
93            gallery: {
94                enabled: true,
95                navigateByImgClick: true,
96                preload: [0,1] // Will preload 0 - before current, and 1 after the current image
97            },
98            type: 'iframe',
99            mainClass: 'mfp-fade',
100            removalDelay: 160,
101            preloader: false,
102            fixedContentPos: false,
103            iframe: {
104                markup: '<div class="mfp-iframe-scaler">'+
105                        '<div class="mfp-close"></div>'+
106                        '<div id="dvg-lightbox-player"></div>'+
107                        '<div class="mfp-title"></div>'+
108                        '</div>'
109            },
110            callbacks : {
111                open: function() {
112                    var $module = $(this.ev[0]).parents('.dvg_divi_video_gallery'),
113                        classes = $module && $module.length ? $module[0].className.split(' ') : [];
114                    classes.forEach(c => {
115                        if ( c.match(/^dvg_divi_video_gallery_\d+$/g) ) {
116                            $(this.bgOverlay).addClass('mfp-dvg-video-gallery ' + c);
117                            $(this.wrap).addClass('mfp-dvg-video-gallery ' + c);
118                        }
119                    });
120                    setTimeout(function() {
121                        $('.mfp-iframe-holder').css('opacity', '1');
122                    }, 1000);
123                    $('.mfp-content').removeClass('dvg-vertical-player');
124                },
125                markupParse : function(template, values, item) {
126                    if ( this.ev.attr('data-lightbox') == 'title_subtitle' ) {
127                        values.title = "<span class='dvg-mfp-title'>" + item.el.attr('data-title') + "</span><span class='dvg-mfp-subtitle'>" + item.el.attr('data-subtitle') + "</span>";
128                    } else if ( this.ev.attr('data-lightbox') == 'title' ) {
129                        values.title = "<span class='dvg-mfp-title'>" + item.el.attr('data-title') + "</span>";
130                    }
131                },
132                change: function() {
133                    $('.mfp-content').removeClass('dvg-vertical-player');
134                    var info = dvg_get_iframe_src(this.currItem.src);
135                    dvg_create_lightbox_player( info, skipAutoplay );
136                },
137                close: function() {
138                }
139            }
140        });
141    }
142
143    /**
144     * Creates de lightbox player
145     */
146    function dvg_create_lightbox_player( info, skipAutoplay ) {
147        //Same method for vimeo + youtube
148        if ( dvg_lightbox_player['lightbox'] && typeof dvg_lightbox_player['lightbox'].destroy === 'function' )
149            dvg_lightbox_player['lightbox'].destroy();
150        else if( dvg_lightbox_player['lightbox'] && typeof dvg_lightbox_player['lightbox'].remove === 'function' ) {
151            dvg_lightbox_player['lightbox'].remove();    
152        }
153        dvg_lightbox_player['lightbox'] = {};
154        setTimeout( function() {
155            if ( info.type == 'youtube' ) {
156                dvg_create_lightbox_youtube_player(info, skipAutoplay);
157            } else if ( info.type == 'vimeo' ) {
158                dvg_create_lightbox_vimeo_player(info, skipAutoplay);
159            } else if ( info.type == 'videopress' ) {
160                dvg_create_lightbox_videopress_player(info, skipAutoplay);
161            } else {
162                dvg_create_lightbox_mp4_player(info, skipAutoplay);
163            }
164        }, 300);
165    }
166
167    function dvg_create_lightbox_videopress_player( info, skipAutoplay ) {
168        dvg_lightbox_player['lightbox'] = dvg_create_videopress_player(
169            dvg_lightbox_player['lightbox'], 
170            'dvg-lightbox-player', 
171            info.id, 
172            skipAutoplay ? $.magnificPopup.instance.close : dvg_lightbox_player_next
173        );
174    }
175
176    function dvg_create_lightbox_mp4_player( info, skipAutoplay ) {
177        dvg_lightbox_player['lightbox'] = dvg_create_mp4_player( 
178            info.src, 
179            'dvg-mp4-lightbox-player', 
180            'dvg-lightbox-player', 
181            skipAutoplay ? $.magnificPopup.instance.close : dvg_lightbox_player_next
182        );
183    }
184
185    function dvg_create_mp4_player( src, className, container, endedCallback, skipPlay ) {
186        var mp4_player = document.createElement("video");
187        mp4_player.className = className;
188        mp4_player.controls = true;
189        mp4_player.addEventListener( 'loadeddata', function() {
190            if ( mp4_player.readyState >= 2 && !skipPlay ) {
191                mp4_player.play();
192            }
193            
194            if ( $('video.dvg-mp4-lightbox-player').length ) {
195                if ( mp4_player.videoHeight > mp4_player.videoWidth ) {
196                    $('.mfp-content').addClass('dvg-vertical-player');       
197                    dvg_check_vertical_player_ratio();             
198                } else {
199                    $('.mfp-content').removeClass('dvg-vertical-player');
200                }
201            }     
202        });
203        mp4_player.addEventListener( 'ended', function() {
204            if ( endedCallback )
205                endedCallback.call();
206        });
207        var sourceMP4 = document.createElement("source"); 
208        if ( src && src.endsWith('webm')) {
209            sourceMP4.type = "video/webm";
210        } else {
211            sourceMP4.type = "video/mp4";
212        }
213        sourceMP4.src = src;
214        mp4_player.appendChild(sourceMP4);
215        $('#' + container).append(mp4_player);
216
217        return mp4_player;
218        
219    }
220
221    function dvg_create_videopress_player( player, container, id, endedCallback, skipPlay ) {
222
223        $('.mfp-content').removeClass('dvg-vertical-player');
224
225	    player = videopress( id, document.getElementById(container), {} );
226        
227        player.api.status.onPlayerStatusChanged(
228            ( oldStatus, newStatus ) => {
229                if ( newStatus == 'ended')
230                    endedCallback.call();
231                else if ( newStatus == 'ready' ) {
232                    if ( !skipPlay )
233                        player.api.controls.play()
234                }
235            }
236        );
237    }
238
239    /**
240     * Vimeo lightbox player
241     */
242    function dvg_create_lightbox_vimeo_player(info, skipAutoplay) {
243        dvg_lightbox_player['lightbox'] = dvg_create_vimeo_player(
244            dvg_lightbox_player['lightbox'], 
245            'dvg-lightbox-player', 
246            info.id, 
247            skipAutoplay ? $.magnificPopup.instance.close : dvg_lightbox_player_next, 
248            false, 
249            info.private
250        );
251    }
252    
253    function dvg_create_vimeo_player(player, container, id, endedCallback, skipPlay, private) {
254
255        $('.mfp-content').removeClass('dvg-vertical-player');
256
257        if ( private ) {
258            player = new Vimeo.Player(container, {
259                url : id
260            });
261        } else {
262            player = new Vimeo.Player(container, {
263                id : id
264            });
265        }
266
267        player.ready().then(function() {
268
269            //Vertical video check
270            if ( container == 'dvg-lightbox-player' ) {
271
272                player.getVideoHeight().then(function(height) {
273
274                    player.getVideoWidth().then(function(width) {
275                        
276                        if ( height && width && height > width ) {
277                            $('.mfp-content').addClass('dvg-vertical-player');
278                            dvg_check_vertical_player_ratio();
279                        }
280
281                    });
282
283                });
284
285            }
286
287            if ( !skipPlay )
288                player.play();
289        });
290
291        player.on('ended', function() {
292            endedCallback.call();
293        });
294
295        return player;
296    }
297
298    /**
299     * Youtube lightbox player
300     */
301    function dvg_create_lightbox_youtube_player(info, skipAutoplay) {
302        dvg_lightbox_player['lightbox'] = dvg_create_youtube_player(
303            dvg_lightbox_player['lightbox'], 
304            'dvg-lightbox-player', 
305            info.id, 
306            skipAutoplay ? $.magnificPopup.instance.close : dvg_lightbox_player_next,
307            skipAutoplay,
308            info
309        );
310    }
311
312    /**
313     * Siguiente vídeo en el popup
314     */
315    function dvg_lightbox_player_next() {
316        $('.mfp-content').removeClass('dvg-vertical-player');
317        $.magnificPopup.instance.next();
318    }
319
320    function dvg_reset_playlist_player($gallery) {
321        $gallery.find('.dvg-playlist-video.dvg-playing').removeClass('dvg-playing');
322        var player_id = 'player-' + $gallery.attr('dvg-playlist-id');
323        if ( dvg_inline_players[player_id] && typeof dvg_inline_players[player_id].destroy === 'function' )
324            dvg_inline_players[player_id].destroy();
325        $gallery.find('.dvg_iframe_scaler').removeClass('mp4').html('<div id="' + player_id + '"></div>');
326    }
327
328    function dvg_init_playlist_player( $gallery, index, skipAutoplay ) {
329        var player_id = 'player-' + index;
330        $gallery.attr('dvg-playlist-id', index);
331        $gallery.find('.dvg-playlist-player-video').attr('id', player_id);
332
333        //Load first video in the iframe
334        var $first = $gallery.find('.dvg-playlist-video').eq(0);
335        dvg_load_playlist_item($gallery, $first, true, skipAutoplay);
336        $gallery.find('.dvg-playlist-video').on('click', function(evt) {
337            evt.preventDefault();
338            dvg_load_playlist_item( $gallery, $(this), false, skipAutoplay);
339        });
340
341        $(window).resize();
342    }
343
344    function dvg_load_playlist_item($gallery, $item, skipLoad, skipAutoplay) {
345        var url =  $item.attr('href'),
346            info = dvg_get_iframe_src(url),
347            player_id = 'player-' + $gallery.attr('dvg-playlist-id');
348
349        dvg_reset_playlist_player($gallery);
350        $item.addClass('dvg-playing');
351
352        setTimeout( function() {
353            if ( info.type == 'youtube' ) {
354                dvg_create_youtube_player(dvg_inline_players[player_id], player_id, info.id, function() {
355                    if ( !skipAutoplay )
356                        dvg_playlist_next($gallery)
357                }, skipLoad);
358            } else if ( info.type == 'vimeo' ) {
359                dvg_create_vimeo_player(dvg_inline_players[player_id], player_id, info.id, function() {
360                    if ( !skipAutoplay )
361                        dvg_playlist_next($gallery)
362                }, skipLoad, info.private);
363            } else if ( info.type == 'videopress' ) {
364                $gallery.find('.dvg_iframe_scaler').addClass('videopress');
365                dvg_create_videopress_player(dvg_inline_players[player_id], player_id, info.id, function() {
366                    if ( !skipAutoplay )
367                        dvg_playlist_next($gallery)
368                }, skipLoad);
369            } else {
370                $gallery.find('.dvg_iframe_scaler').addClass('mp4');
371                dvg_create_mp4_player(info.src, '', player_id, function() {
372                    if ( !skipAutoplay )
373                        dvg_playlist_next($gallery);
374                }, skipLoad);
375            }
376        }, 300);
377    }
378
379    function dvg_playlist_next($gallery) {
380        var items = $gallery.find('.dvg-playlist-video'),
381            $current = $gallery.find('.dvg-playlist-video.dvg-playing'),
382            index = $current.parent().index();
383        if ( index < items.length - 1 ) {
384            dvg_load_playlist_item( $gallery, items.eq( index + 1 ) );
385        }
386    }
387
388    /**
389     * Create the inline players 
390     */
391    function dvg_create_inline_players( $gallery, index, skipAutoplay ) {
392        $gallery.attr('dvg-inline-id', index).on('click', 'a.dvg-gallery-item', function(evt) {
393            evt.preventDefault();
394            var $item = $(this);
395            if ( $item.hasClass('dvg_with_player'))
396                return;
397            var player_id = 'player-' + $gallery.attr('dvg-inline-id');
398            dvg_reset_inline( player_id, $gallery );
399            dvg_show_inline_player( $gallery, $item, player_id, skipAutoplay );
400        });
401    }
402
403    function dvg_show_inline_player( $gallery, $item, player_id, skipAutoplay ) {
404        var url = $item.attr('href'),
405            info = dvg_get_iframe_src(url);
406        $item.addClass('dvg_with_player');
407        $item.append('<div class="dvg_inline_player"><div class="dvg_iframe_scaler"><div id="' + player_id + '"></div></div></div>');
408        setTimeout( function() {
409            if ( info.type == 'youtube' ) {
410                dvg_create_inline_youtube_player(info, $gallery, player_id, skipAutoplay);
411            } else if ( info.type == 'vimeo' ) {
412                dvg_create_inline_vimeo_player(info, $gallery, player_id, skipAutoplay);
413            } else if ( info.type == 'videopress' ) {
414                dvg_create_inline_videopress_player(info, $gallery, player_id, skipAutoplay);
415            } else {
416                dvg_create_inline_mp4_player(info, $gallery, player_id, skipAutoplay);
417            }
418        }, 300);
419    }
420
421    function dvg_create_inline_vimeo_player(info, $gallery, player_id, skipAutoplay) {
422        dvg_create_vimeo_player(
423            dvg_inline_players[player_id], 
424            player_id, 
425            info.id, 
426            skipAutoplay ? function() { dvg_reset_inline(player_id, $gallery) } : function() { dvg_inline_next($gallery, player_id); }, 
427            false, 
428            info.private
429        );
430    }
431
432    function dvg_create_inline_youtube_player(info, $gallery, player_id, skipAutoplay) {
433        dvg_create_youtube_player(
434            dvg_inline_players[player_id], 
435            player_id, 
436            info.id, 
437            skipAutoplay ? function() { dvg_reset_inline(player_id, $gallery) } : function() { dvg_inline_next($gallery, player_id); }
438        );
439    }
440
441    function dvg_create_inline_videopress_player(info, $gallery, player_id, skipAutoplay) {
442        dvg_create_videopress_player(
443            dvg_inline_players[player_id], 
444            player_id, 
445            info.id, 
446            skipAutoplay ? function() { dvg_reset_inline(player_id, $gallery) } : function() { dvg_inline_next($gallery, player_id); }
447        );
448    }
449
450    function dvg_create_inline_mp4_player(info, $gallery, player_id, skipAutoplay) {
451        dvg_create_mp4_player(
452            info.src, 
453            'dvg-mp4-inline-player', 
454            player_id, 
455            skipAutoplay ? function() { dvg_reset_inline(player_id, $gallery) } : function() { dvg_inline_next($gallery, player_id); }
456        );
457    }
458
459    /**
460     * Plays the next video in the inline player
461     * @param {*} $gallery 
462     * @param {*} player_id 
463     */
464    function dvg_inline_next($gallery, player_id) {
465        var items = $gallery.find('.dvg-gallery-item'),
466            current = $gallery.find('.dvg_with_player').index();
467        dvg_reset_inline(player_id, $gallery);
468        if ( current < items.length - 1) {
469            dvg_show_inline_player( $gallery, $(items[current + 1]), player_id);
470        }
471    }
472
473    function dvg_get_iframe_src( url ) {
474        if ( url.includes('youtube.com') ) {
475            var result = url.match(/(?:embed\/|live\/|shorts\/|watch\?v=)(.+)/);
476            if ( result ) {
477                return { 'type' : 'youtube', 'src' : 'https://www.youtube.com/embed/' + result[1] + '?rel=0&autoplay=1', 'id' : result[1], 'original' : url };
478            }
479        } else if ( url.includes('youtu.be') ) {
480            var result = url.match(/youtu\.be\/(.+)/);
481            if ( result ) {
482                return { 'type' : 'youtube', 'src' : 'https://www.youtube.com/embed/' + result[1] + '?rel=0&autoplay=1', 'id' : result[1]};
483            }
484        } else if ( url.includes('vimeo.com') ) {
485            //Includes private settings
486            var result = url.match(/(?:vimeo\.com\/|video\/)(\d+)(\/|\?h=)([a-z\d]{4,})/);
487            if ( result ) {
488                return { 'type' : 'vimeo', 'src' : 'https://player.vimeo.com/video/' + result[1] + '?h=' + result[3] +  '&autoplay=1', 'id' : 'https://player.vimeo.com/video/' + result[1] + '?h=' + result[3] +  '&autoplay=1', private : true};
489            } else {
490                result = url.match(/(?:vimeo\.com\/|video\/)(\d+)/);
491                if ( result ) {
492                    return { 'type' : 'vimeo', 'src' : 'https://player.vimeo.com/video/' + result[1] + '?autoplay=1', 'id' : result[1], private : false};
493                }
494            }
495        } else if ( url.includes('videopress')) {
496            var result = url.match(/videopress\.com\/(?:v|embed)\/(.+?)[&?]?$/);
497            if ( result ) {
498                return { 'type' : 'videopress', 'src' : 'https://videopress.com/embed/' + result[1] + '?autoplay=1', 'id' : result[1] };
499            }
500        }
501        
502        return { 'type' : 'default', 'src' : url };
503    }
504
505    /**
506     * Reset the inline player
507     * @param {*} player_id 
508     * @param {*} $gallery 
509     */
510    function dvg_reset_inline( player_id, $gallery ) {
511        var playing = $gallery.find('.dvg_inline_player');
512        if ( playing.length ) {
513            playing.eq(0).remove();
514        } 
515
516        $gallery.find('.dvg_with_player').removeClass('dvg_with_player');
517
518        if ( dvg_inline_players[player_id] && typeof dvg_inline_players[player_id].destroy === 'function' )
519            dvg_inline_players[player_id].destroy();
520
521        dvg_inline_players[player_id] = {};
522    }
523
524    /**
525     * Crea un reproductor de youtube
526     * @param {*} player Variable to save the player
527     * @param {*} container Div containing the player
528     * @param {*} id ID of the video
529     * @param {*} endedCallback Function to call when the video is over
530     * @param {*} info Full video info object
531     */
532    function dvg_create_youtube_player(player, container, id, endedCallback, skipPlay, info) {
533        $('.mfp-content').removeClass('dvg-vertical-player');
534        id = id.split("&")[0];
535        player = new YT.Player(container, {
536            height: '360',
537            width: '640',
538            videoId: id,
539            playerVars : { rel : 0 },
540            events: {
541                'onReady': function(event) {
542                    if ( !skipPlay )
543                        event.target.playVideo();
544                    if ( container == 'dvg-lightbox-player' && info && info.original && info.original.includes('/shorts/')) {
545                        $('.mfp-content').addClass('dvg-vertical-player');
546                        dvg_check_vertical_player_ratio();
547                    }
548                },
549                'onStateChange': function (event) {
550                    if (event.data == YT.PlayerState.ENDED) {
551                        endedCallback.call();
552                    }
553                }
554            }
555        });
556
557        return player;
558    } 
559
560
561    function dvg_filter($gallery) {
562        var $container = $gallery.parent(),
563            filters = $container.find('.dvg-gallery-filter');
564        if ( filters.length ) {
565            filters.on('click', function() {
566                var $this = $(this),
567                    $filter = $this.parents('.dvg-gallery-filter-categories'),
568                    $wrapper = $filter.parents('.dvg_divi_video_gallery')
569                    columns = $filter.attr('data-columns').split(','), 
570                    option = $this.attr('data-value'),
571                    items = $container.find('.dvg_divi_video_gallery_item');
572                if ( !$this.hasClass('dvg-filter-active') ) {
573                    $filter.attr('data-value', option);
574                    $filter.find('.dvg-filter-active').removeClass('dvg-filter-active');
575                    $this.addClass('dvg-filter-active');
576                    if ( $wrapper.find('.dvg-playlist-layout').length )
577                        executePlaylistFilter($wrapper, option);
578                    else
579                        executeFilter('category', $wrapper);
580                }
581            });
582        }
583    }
584
585    function executePlaylistFilter($wrapper, value) {
586        var toShow;
587        if ( value ) {
588            $wrapper.find('.dvg-playlist-item').hide();
589            toShow = $wrapper.find('.dvg-playlist-item[data-category="' + value + '"]');
590        } else {
591            toShow = $wrapper.find('.dvg-playlist-item');
592        }
593        toShow.show();
594        toShow.eq('0').find('a').click();
595    }
596
597    function executeFilter(type, $wrapper) {
598		var $filter = $wrapper.find('.dvg-gallery-filter-categories'),
599			withFilter = $filter.length > 0,
600			category = null,
601			
602			$paginator = $wrapper.find('.dvg-gallery-pagination'),
603			withPagination = $paginator.length > 0,
604			page = 0,
605			pageSize = 0,
606			
607			$gallery = $wrapper.find('.dvg-videos'),
608			items = $gallery.find('.dvg_divi_video_gallery_item');
609
610		$gallery.find('.dvg-out-page').removeClass('dvg-out-page');
611		$gallery.find('.dvg-out-filter').removeClass('dvg-out-filter');
612        $gallery.find('.dvg-gallery-item').removeClass (function (index, className) {
613            return (className.match (/(^|\s)dvg-in-filter-\d+/g) || []).join(' ');
614        });
615		items.addClass('dvg-in-filter');
616
617		if (withFilter) {
618			category = $filter.attr('data-value');
619			$.each(items, function(index, item) {
620				var $item = $(item);
621				var categories = $item.attr('data-category')
622				if (category && categories.split(',').indexOf(category) < 0) {
623					$item.removeClass('dvg-in-filter');
624					$item.addClass('dvg-out-filter');
625				}
626			});
627		}
628
629		if (withPagination) {
630
631			pageSize = $paginator.attr('data-page-size');
632
633			if (type == 'category') {
634				$paginator.attr('data-value', 1);
635				$paginator.attr('data-page-size', $paginator.attr('data-more'));
636				$paginator.find('.dvg-page-disabled').removeClass('dvg-page-disabled');
637				$paginator.find('.dvg-gallery-page-button-active').removeClass('dvg-gallery-page-button-active');
638				$paginator.find('.dvg-gallery-page-button')
639						  .not('.dvg-gallery-page-button-prev')
640						  .not('.dvg-gallery-page-button-next')
641						  .not('.dvg-gallery-page-button-more')
642						  .eq(0).addClass('dvg-gallery-page-button-active');
643
644				var categoryTotal = $gallery.find('.dvg-in-filter').length,
645					categoryPages = Math.ceil(categoryTotal/pageSize);
646				$paginator.attr('data-max', categoryPages);
647				$paginator.find('.dvg-gallery-page-button')
648						  .not('.dvg-gallery-page-button-prev')
649						  .not('.dvg-gallery-page-button-next')
650						  .not('.dvg-gallery-page-button-more')
651						  .each(function(i, button) {
652					if (i >= categoryPages)
653						$(button).addClass('dvg-page-disabled');
654				});
655				
656				if ( categoryPages <= 1 ) {	
657					$paginator.find('.dvg-gallery-page-button-more').addClass('dvg-page-disabled');
658				} else {
659					$paginator.find('.dvg-gallery-page-button-next').removeClass('dvg-page-disabled');
660				}
661			}
662
663			page = $paginator.attr('data-value');
664			var min = pageSize * (page - 1),
665				max = pageSize * page;
666				filteredItems = [];
667			if (category) {
668				filteredItems = items.filter('.dvg-in-filter');
669			} else {
670				filteredItems = items;
671			}
672
673			if ( page == 1 ) {
674				$paginator.find('.dvg-gallery-page-button-prev').addClass('dvg-page-disabled');
675			} else {
676				$paginator.find('.dvg-gallery-page-button-prev').removeClass('dvg-page-disabled');
677			}
678
679			if ( page == $paginator.attr('data-max') ) {
680				$paginator.find('.dvg-gallery-page-button-next').addClass('dvg-page-disabled');
681			} else {
682				$paginator.find('.dvg-gallery-page-button-next').removeClass('dvg-page-disabled');
683			}
684
685
686			
687		 	$.each(filteredItems, function(index, item) {
688				if (index < min || index >= max)
689					$(item).addClass('dvg-out-page');
690			});
691		}
692        if ( $wrapper.find('.dvg-player-list').length ) {
693            $gallery.find('.dvg-playlist-item').show();
694		    $gallery.find('.dvg-out-filter').hide();
695            $gallery.find('.dvg-out-page').hide();
696        } else {
697            var columnParam = $gallery.length ? $gallery.attr('data-cols').split(',') : [],
698                winWidth = $(window).width(),
699                columns = columnParam[0];
700            if ( columnParam.length && winWidth < 768) {
701                columns = Number(columnParam[2]);
702            } else if ( columnParam.length && winWidth < 981) {
703                columns = Number(columnParam[1]);
704            } else if ( columnParam.length ) {
705                columns = Number(columnParam[0]);
706            }
707
708            $gallery.find('.dvg-in-filter').each(function(index, item) {
709                $(item).addClass('dvg-in-filter-'+ ( index % columns));
710            });
711
712            $gallery.addClass('execute-filter');	
713
714            $gallery.isotope({ 
715                layoutMode: 'fitRows',
716                filter: function() {
717                    return $(this).hasClass('dvg-in-filter') && !$(this).hasClass('dvg-out-page');
718                } 
719            });
720        }
721	}
722});
723
724var dvg_lightbox_player = {};
725var dvg_inline_players = {};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.