PageSourceSearch

https://www.kleinattorneys.com/wp-content/plugins/divi-video-gallery/scripts/functions.min.js?ver=2.3.1

js kleinattorneys.com collected 2026-10-04 10:29:02 UTC 27,350 bytes, 698 lines download raw bytes

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