PageSourceSearch

https://bvsc.hu/templates/newsberg/js/main.js

js bvsc.hu collected 2026-10-02 17:09:26 UTC 15,607 bytes, 375 lines download raw bytes

1/**
2 * @package Helix Ultimate Framework
3 * @author JoomShaper https://www.joomshaper.com
4 * @copyright Copyright (c) 2010 - 2018 JoomShaper
5 * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or Later
6*/
7
8//custom scrollbar js
9!function(t,e){"object"==typeof exports?module.exports=e(window,document):t.SimpleScrollbar=e(window,document)}(this,function(t,e){function s(t){Object.prototype.hasOwnProperty.call(t,"data-simple-scrollbar")||Object.defineProperty(t,"data-simple-scrollbar",{value:new o(t)})}function i(t,s){function i(t){var e=t.pageY-a;a=t.pageY,n(function(){s.el.scrollTop+=e/s.scrollRatio})}function r(){t.classList.remove("ss-grabbed"),e.body.classList.remove("ss-grabbed"),e.removeEventListener("mousemove",i),e.removeEventListener("mouseup",r)}var a;t.addEventListener("mousedown",function(s){return a=s.pageY,t.classList.add("ss-grabbed"),e.body.classList.add("ss-grabbed"),e.addEventListener("mousemove",i),e.addEventListener("mouseup",r),!1})}function r(t){for(this.target=t,this.direction=window.getComputedStyle(this.target).direction,this.bar='<div class="ss-scroll">',this.wrapper=e.createElement("div"),this.wrapper.setAttribute("class","ss-wrapper"),this.el=e.createElement("div"),this.el.setAttribute("class","ss-content"),"rtl"===this.direction&&this.el.classList.add("rtl"),this.wrapper.appendChild(this.el);this.target.firstChild;)this.el.appendChild(this.target.firstChild);this.target.appendChild(this.wrapper),this.target.insertAdjacentHTML("beforeend",this.bar),this.bar=this.target.lastChild,i(this.bar,this),this.moveBar(),this.el.addEventListener("scroll",this.moveBar.bind(this)),this.el.addEventListener("mouseenter",this.moveBar.bind(this)),this.target.classList.add("has-scrollbar");var s=window.getComputedStyle(t);"0px"===s.height&&"0px"!==s["max-height"]&&(t.style.height=s["max-height"])}function a(){for(var t=e.querySelectorAll("*[has-scrollbar]"),i=0;i<t.length;i++)s(t[i])}var n=t.requestAnimationFrame||t.setImmediate||function(t){return setTimeout(t,0)};r.prototype={moveBar:function(t){var e=this.el.scrollHeight,s=this.el.clientHeight,i=this;this.scrollRatio=s/e;var r="rtl"===i.direction,a=r?i.target.clientWidth-i.bar.clientWidth+18:-1*(i.target.clientWidth-i.bar.clientWidth);n(function(){i.scrollRatio>=1?i.bar.classList.add("ss-hidden"):(i.bar.classList.remove("ss-hidden"),i.bar.style.cssText="height:"+Math.max(100*i.scrollRatio,10)+"%; top:"+i.el.scrollTop/e*100+"%;right:"+a+"px;")})}},e.addEventListener("DOMContentLoaded",a),r.initEl=s,r.initAll=a;var o=r;return o});
10
11jQuery(function ($) {
12      function socialStikcy (){
13          var socialDiv = $(".article-ratings-social-share").offset()?.top -70;
14          var windowTop = $(window).scrollTop();
15          if(windowTop> socialDiv){
16            $(".article-ratings-social-share").css("position", "sticky");
17          }
18      }
19      
20   
21     // Stikcy Header
22    if ($('body').hasClass('sticky-header')) {
23        var header = $('#sp-header');
24
25        if($('#sp-header').length) {
26            var headerHeight = header.outerHeight();
27            var stickyHeaderTop = header.offset().top;
28            header.before('<div class="nav-placeholder"></div>');
29            var stickyHeader = function () {
30                var scrollTop = $(window).scrollTop();
31                if (scrollTop > stickyHeaderTop) {
32                    header.addClass('header-sticky');
33                    $('.nav-placeholder').height(headerHeight);
34                } else {
35                    if (header.hasClass('header-sticky')) {
36                        header.removeClass('header-sticky');
37                        $('.nav-placeholder').height('inherit');
38                    }
39                }
40            };
41            stickyHeader();
42            $(window).scroll(function () {
43                stickyHeader();
44                if($(".com-content.view-article").length>0){
45                    socialStikcy();
46                }
47            });
48        }
49
50        if ($('body').hasClass('layout-boxed')) {
51            var windowWidth = header.parent().outerWidth();
52            header.css({"max-width": windowWidth, "left": "auto"});
53        }
54    }
55
56    // go to top
57    $(window).scroll(function () {
58        if ($(this).scrollTop() > 100) {
59            $('.sp-scroll-up').fadeIn();
60        } else {
61            $('.sp-scroll-up').fadeOut(400);
62        }
63    });
64
65    $('.sp-scroll-up').click(function () {
66        $("html, body").animate({
67            scrollTop: 0
68        }, 600);
69        return false;
70    });
71
72    // Preloader
73    $(window).on('load', function () {
74        $('.sp-preloader').fadeOut(500, function() {
75            $(this).remove();
76        });
77    });
78
79    //mega menu
80    $('.sp-megamenu-wrapper').parent().parent().css('position', 'static').parent().css('position', 'relative');
81    $('.sp-menu-full').each(function () {
82        $(this).parent().addClass('menu-justify');
83    });
84
85    // Offcanvs
86    $('#offcanvas-toggler').on('click', function (event) {
87        event.preventDefault();
88        $('.offcanvas-init').addClass('offcanvas-active');
89    });
90
91    $('.close-offcanvas, .offcanvas-overlay').on('click', function (event) {
92        event.preventDefault();
93        $('.offcanvas-init').removeClass('offcanvas-active');
94    });
95    
96    $(document).on('click', '.offcanvas-inner .menu-toggler', function(event){
97        event.preventDefault();
98        $(this).closest('.menu-parent').toggleClass('menu-parent-open').find('>.menu-child').slideToggle(400);
99    });
100
101    // Tooltip
102    var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"], .hasTooltip'));
103    var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) {
104        return new bootstrap.Tooltip(tooltipTriggerEl, {
105            html: true
106        });
107    });
108
109    // Popover
110    var popoverTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="popover"]'));
111    var popoverList = popoverTriggerList.map(function (popoverTriggerEl) {
112        return new bootstrap.Popover(popoverTriggerEl);
113    });
114
115    // Article Ajax voting
116    $('.article-ratings .rating-star').on('click', function (event) {
117        event.preventDefault();
118        var $parent = $(this).closest('.article-ratings');
119
120        var request = {
121            'option': 'com_ajax',
122            'template': template,
123            'action': 'rating',
124            'rating': $(this).data('number'),
125            'article_id': $parent.data('id'),
126            'format': 'json'
127        };
128
129        $.ajax({
130            type: 'POST',
131            data: request,
132            beforeSend: function () {
133                $parent.find('.fa-spinner').show();
134            },
135            success: function (response) {
136                var data = $.parseJSON(response);
137                $parent.find('.ratings-count').text(data.message);
138                $parent.find('.fa-spinner').hide();
139
140                if(data.status)
141                {
142                    $parent.find('.rating-symbol').html(data.ratings)
143                }
144
145                setTimeout(function(){
146                    $parent.find('.ratings-count').text('(' + data.rating_count + ')')
147                }, 3000);
148            }
149        });
150    });
151
152    //  Cookie consent
153    $('.sp-cookie-allow').on('click', function(event) {
154        event.preventDefault();
155        
156        var date = new Date();
157        date.setTime(date.getTime() + (30 * 24 * 60 * 60 * 1000));
158        var expires = "; expires=" + date.toGMTString();               
159        document.cookie = "spcookie_status=ok" + expires + "; path=/";
160
161        $(this).closest('.sp-cookie-consent').fadeOut();
162    });
163
164    $(".btn-group label:not(.active)").click(function()
165		{
166			var label = $(this);
167			var input = $('#' + label.attr('for'));
168            
169			if (!input.prop('checked')) {
170				label.closest('.btn-group').find("label").removeClass('active btn-success btn-danger btn-primary');
171				if (input.val() === '') {
172					label.addClass('active btn-primary');
173				} else if (input.val() == 0) {
174					label.addClass('active btn-danger');
175				} else {
176					label.addClass('active btn-success');
177				}
178				input.prop('checked', true);
179				input.trigger('change');
180            }
181            var parent = $(this).parents('#attrib-helix_ultimate_blog_options'); 
182            if( parent ){ 
183                showCategoryItems( parent, input.val() )
184            }
185		});
186		$(".btn-group input[checked=checked]").each(function()
187		{
188			if ($(this).val() == '') {
189				$("label[for=" + $(this).attr('id') + "]").addClass('active btn btn-primary');
190			} else if ($(this).val() == 0) {
191				$("label[for=" + $(this).attr('id') + "]").addClass('active btn btn-danger');
192			} else {
193				$("label[for=" + $(this).attr('id') + "]").addClass('active btn btn-success');
194            }
195            var parent = $(this).parents('#attrib-helix_ultimate_blog_options'); 
196            if( parent ){
197                parent.find('*[data-showon]').each( function() {
198                    $(this).hide();
199                })
200            }
201        });
202        
203        function showCategoryItems(parent, value){
204            var controlGroup = parent.find('*[data-showon]'); 
205            controlGroup.each( function() {
206                var data = $(this).attr('data-showon')
207                data = typeof data !== 'undefined' ? JSON.parse( data ) : []
208                if( data.length > 0 ){
209                    if(typeof data[0].values !== 'undefined' && data[0].values.includes( value )){
210                        $(this).slideDown();
211                    }else{
212                        $(this).hide();
213                    }
214                }
215            })
216        }
217
218        $(window).on('scroll', function(){
219            var scrollBar = $(".sp-reading-progress-bar");
220            if( scrollBar.length > 0 ){
221                var s = $(window).scrollTop(),
222                    d = $(document).height(),
223                    c = $(window).height();
224                var scrollPercent = (s / (d - c)) * 100;
225                const postition = scrollBar.data('position')
226                if( postition === 'top' ){
227                    // var sticky = $('.header-sticky');
228                    // if( sticky.length > 0 ){
229                    //     sticky.css({ top: scrollBar.height() })
230                    // }else{
231                    //     sticky.css({ top: 0 })
232                    // }
233                }
234                scrollBar.css({width: `${scrollPercent}%` })
235            }
236             
237          })
238          
239          var $megaMenuDiv = $('<div class="menu-collapse-icon active"><span></span><span></span><span></span></div>'); 
240          
241        // Template Releated
242        if ($(".main-megamenu").length > 0) {
243            var $this = $(".main-megamenu");
244            $this.find('ul.menu').wrapAll("<div class='sp-megamenu-main-wrap'></div>");
245            $this.find(".sp-megamenu-main-wrap").prepend("<div class='menu-collapse-icon'><span></span><span></span><span></span></div>");
246            $this.find("ul.menu").addClass("menu-area");
247            $(".menu-collapse-icon").on('click', function () {
248                $(".menu-area").toggleClass("active").prepend($megaMenuDiv);
249            });
250
251            $('.menu-collapse-icon').click(function () {
252                $(this).toggleClass('active');
253            });
254        }
255         //prepent icon click
256        $(document).on("click", '.menu-area .menu-collapse-icon',function(){
257            $(".menu-area").removeClass("active");
258            $(".sp-megamenu-main-wrap >.menu-collapse-icon").removeClass("active");
259        });
260
261        
262        $('#login .close').on('click', function(){
263            $('#login').css('display', 'none');
264            $('body').removeClass('login-open');
265            $('#login').removeClass('active');
266        })
267        $('.open-login').on('click', function(){
268            $('#login').css('display', 'block');
269            $('#login').addClass('active');
270            $('body').addClass('login-open');
271        })
272
273        if ($(".nano").length > 0) {
274            $(".nano").each(function () {
275                $(this).nanoScroller();
276            })
277        }
278
279        if ($(".marquee").length > 0) {
280            jQuery(".marquee").marquee({
281                duration: 20 * jQuery(".marquee").width(),
282                delayBeforeStart: 0,
283                gap: 0,
284                duplicated: true,
285                pauseOnHover: true
286            });
287        }
288
289    //Search
290    var searchRow = $('.top-search-input-wrap').parent().closest('.row');
291    $('.top-search-input-wrap').insertAfter(searchRow);
292
293    $(".search-icon").on('click', function () {
294        $(".top-search-input-wrap").slideDown(200);
295        $(this).hide();
296        $('.close-icon').show();
297        $(".top-search-input-wrap").addClass('active');
298    });
299
300    $(".close-icon").on('click', function () {
301        $(".top-search-input-wrap").slideUp(200);
302        $(this).hide();
303        $('.search-icon').show();
304        $(".top-search-input-wrap").removeClass('active');
305    });
306
307    // press esc to hide search
308    $(document).keyup(function (e) {
309        if (e.keyCode == 27) { // esc keycode
310            $(".top-search-input-wrap").fadeOut(200);
311            $(".close-icon").fadeOut(200);
312            $(".search-icon").delay(200).fadeIn(200);
313            $('body.off-canvas-menu-init').css({ 'overflow-y': 'initial' });
314        }
315    });
316
317    //Weather Toggle
318	var forecastCurrent = $('.sp-weather-current');
319	//var forecastIcon    = $('.show-forcasts');
320	var forecastWrap    = forecastCurrent.parent();
321
322	forecastCurrent.on('click', function(){
323		$(this).next().slideToggle();
324		$(this).next().toggleClass('active');
325		//forecastIcon.toggleClass('icon-caret-up icon-caret-down');
326	});
327
328	$(document).on('click', function(e) {
329    	// If the target of the click isn't the weather list wrap
330		if(!forecastWrap.is(e.target) && forecastWrap.has(e.target).length === 0) {
331
332			if(forecastCurrent.next().hasClass('active')) {
333				// change icon
334				//forecastIcon.removeClass('icon-caret-down').addClass('icon-caret-up');
335				// slide up/toggle forecast
336				forecastCurrent.next().slideToggle();
337				forecastCurrent.next().toggleClass('active');
338			}
339
340		}
341	});
342
343	$('.sp-vertical-tabs').each(function(){
344		var $tab = $(this),
345		$handlers = $tab.find('.sp-tab-btns').children(),
346		$tabs = $tab.find('.sp-tab-content').children();
347
348		$handlers.each(function(index) {
349			$(this).on('mouseenter', function(event){
350				event.preventDefault();
351				$handlers.removeClass('active');
352				$tabs.removeClass('active');
353				$(this).addClass('active');
354				$($tabs[index]).addClass('active');
355			});
356		});
357	});
358
359    document.querySelector('body').addEventListener('click', function(e) {
360        let targetDom = e.target.parentNode.parentNode;
361        if(targetDom.classList.contains('mod-languages')) {
362            if(targetDom.querySelector('.dropdown-toggle').classList.contains('show') || targetDom.querySelector('.lang-block').classList.contains('show')) {
363                targetDom.querySelector('.dropdown-toggle').classList.remove('show');
364                targetDom.querySelector('.lang-block').classList.remove('show');
365            } else {
366                targetDom.querySelector('.dropdown-toggle').classList.add('show');
367                targetDom.querySelector('.lang-block').classList.add('show');
368            }
369        } else {
370            targetDom.querySelector('.mod-languages .dropdown-toggle')?.classList.remove('show');
371            targetDom.querySelector('.mod-languages .lang-block')?.classList.remove('show');
372        }
373    })
374});
375

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.