PageSourceSearch

https://renewsalvage.org/wp-content/themes/constix/assets/js/main.js?ver=7.0.7

js renewsalvage.org collected 2026-10-08 22:45:03 UTC 14,846 bytes, 475 lines download raw bytes

1(function($) {
2	"use strict";
3	var GaviasTheme = {
4		init: function(){
5			this.handleWindow();
6			this.initResponsive();
7			this.initCarousel();
8			this.menuMobile();
9			this.postMasonry();
10			this.scrollTop();
11			this.stickyMenu();
12			this.slider();
13			this.other();
14		},
15
16		handleWindow: function(){
17			var body = document.querySelector('body');
18		  if (window.innerWidth > body.clientWidth + 6) {
19				body.classList.add('has-scrollbar');
20				body.setAttribute('style', '--scroll-bar: ' + (window.innerWidth - body.clientWidth) + 'px');
21		  } else {
22				body.classList.remove('has-scrollbar');
23		  }
24
25			setTimeout(function(){
26				if($('body').hasClass('constix-body-loading')){
27				  $('body').removeClass('constix-body-loading');
28				  $('.constix-page-loading').fadeOut(50);
29				}
30			}, 360);
31		},
32		
33		initResponsive: function(){
34			var _event = $.event,
35			$special, resizeTimeout;
36			$special = _event.special.debouncedresize = {
37				setup: function () {
38					$(this).on("resize", $special.handler);
39				},
40				teardown: function () {
41					$(this).off("resize", $special.handler);
42				},
43				handler: function (event, execAsap) {
44					var context = this,
45						args = arguments,
46						dispatch = function () {
47							event.type = "debouncedresize";
48							_event.dispatch.apply(context, args);
49						};
50					if (resizeTimeout) {
51						clearTimeout(resizeTimeout);
52					}
53					execAsap ? dispatch() : resizeTimeout = setTimeout(dispatch, $special.threshold);
54				},
55				threshold: 150
56			};
57		},
58
59		initCarousel: function(){
60			var _default = {
61				items: 3, 
62				items_lg: 3,
63				items_md: 2,
64				items_sm: 2,
65				items_xs: 1,
66				items_xx: 1,
67				space_between: 30,
68				effect: 'slide',
69				loop: 1,
70				speed: 600,
71				autoplay: 1,
72				autoplay_delay: 6000,
73				autoplay_hover: 0,
74				navigation: 1,
75				pagination: 1,
76				pagination_type: 'bullets',
77				dynamic_bullets: 0
78			};
79
80			$('.init-carousel-swiper-theme').each(function(){
81				var $target = $(this);
82				var settings = $target.data('carousel');
83
84				settings = $.extend(!0, _default, settings);
85				
86				//-- Autoplay
87				var _autoplay = false;
88				if(settings.autoplay){
89					_autoplay = {
90						delay: settings.autoplay_delay,
91						disableOnInteraction: false,
92						pauseOnMouseEnter: settings.autoplay_hover,
93					}
94				}
95				//-- Pagination 
96				var _pagination = false;
97				if(settings.pagination){
98					_pagination = {
99						el: $target.parent().find('.swiper-pagination')[0],
100						type: settings.pagination_type,
101						clickable: true,
102						dynamicBullets: false
103					}
104				}
105				//-- Navigation
106				var _navigation = false;
107				if(settings.navigation){
108					_navigation = {
109						nextEl: $target.parents('.swiper-slider-wrapper').find('.swiper-nav-next')[0],
110						prevEl: $target.parents('.swiper-slider-wrapper').find('.swiper-nav-prev')[0],
111						hiddenClass: 'hidden'
112					}
113				}
114				console.log($target[0]);
115				var swiper = new Swiper($target[0], {
116					loop: settings.loop,
117					spaceBetween: 30,
118					autoplay: _autoplay,
119					speed: settings.speed,
120					grabCursor: true,
121					breakpoints: {
122						0: {
123							slidesPerView: 1
124						},
125						390: {
126							slidesPerView: settings.items_xx
127						},
128						640: {
129							slidesPerView: settings.items_xs
130						},
131						768: {
132							slidesPerView: settings.items_sm
133						},
134						1024: {
135							slidesPerView: settings.items_md
136						},
137						1200: { // when window width is >= 1200px
138							slidesPerView: settings.items_lg,
139						},
140						1400: { // when window width is >= 1200px
141							slidesPerView: settings.items,
142						}
143					},
144					pagination: _pagination,
145					navigation: _navigation,
146					observer: true,  
147					observeParents: true,
148				});
149
150				if(settings.autoplay_hover && settings.autoplay){
151					$target.hover(function() {
152						swiper.autoplay.stop();
153					}, function() {
154						swiper.autoplay.start();
155					});
156				}
157			})
158		},
159
160		menuMobile: function(){
161			$('.gva-offcanvas-content ul.gva-mobile-menu > li:has(ul)').addClass("has-sub");
162			$('.gva-offcanvas-content ul.gva-mobile-menu > li:has(ul) > a').after('<span class="caret"></span>');
163			$( document ).on('click', '.gva-offcanvas-content ul.gva-mobile-menu > li > .caret', function(e){
164				e.preventDefault();
165				var checkElement = $(this).next();
166				$('.gva-offcanvas-content ul.gva-mobile-menu > li').removeClass('menu-active');
167				$(this).closest('li').addClass('menu-active'); 
168			  
169				if((checkElement.is('.submenu-inner')) && (checkElement.is(':visible'))){
170					$(this).closest('li').removeClass('menu-active');
171					checkElement.slideUp('normal');
172				}
173				if((checkElement.is('.submenu-inner')) && (!checkElement.is(':visible'))){
174					$('.gva-offcanvas-content ul.gva-mobile-menu .submenu-inner:visible').slideUp('normal');
175					checkElement.slideDown('normal');
176				}
177				if (checkElement.is('.submenu-inner')){
178					return false;
179				} else {
180					return true;  
181				}   
182			})
183
184			$( document ).on( 'click', '.canvas-menu.gva-offcanvas > a.dropdown-toggle', function(e){
185				e.preventDefault();
186				var $style = $(this).data('canvas');
187				if($('.gva-offcanvas-content' + $style).hasClass('open')){
188					$('.gva-offcanvas-content' + $style).removeClass('open');
189					$('#gva-overlay').removeClass('open');
190					$('#wp-main-content').removeClass('blur');
191				}else{
192					$('.gva-offcanvas-content' + $style).addClass('open');
193					$('#gva-overlay').addClass('open');
194					$('#wp-main-content').addClass('blur');
195				}
196			});
197
198			$( document ).on( 'click', '#gva-overlay, .top-canvas a.control-close-mm', function(e){
199				e.preventDefault();
200				$(this).removeClass('open');
201				$('#gva-overlay').removeClass('open');
202				$('.gva-offcanvas-content').removeClass('open');
203				$('#wp-main-content').removeClass('blur');
204			})
205			$( document ).on( 'click', '.close-canvas', function(e) {
206				e.preventDefault();
207				$('.gva-offcanvas-content').removeClass('open');
208				$('#gva-overlay').removeClass('open');
209				$('#wp-main-content').removeClass('blur');
210			})
211
212			if( ('ontouchstart' in window) || (navigator.msMaxTouchPoints > 0) || (navigator.MaxTouchPoints > 0) ) {
213				var link_id = '';
214				$('.gva-nav-menu .menu-item > a').on('click', function(e) {
215				  e.preventDefault();
216				  if ($(this).parent().find('.submenu-inner').length == 0) {   
217						window.location.href = $(this).attr('href');
218						return;
219					}
220					if ($(this).attr('data-link_id') == link_id) {         
221						window.location.href = $(this).attr('href');
222						return;
223					}
224					if($(window).width() < 1024){
225						$('.gva-offcanvas-content ul.gva-mobile-menu > li').removeClass('menu-active');
226						$('.gva-offcanvas-content ul.gva-mobile-menu .submenu-inner:visible').slideUp('normal');
227						$(this).parent().find('> .submenu-inner').slideDown();
228						$(this).closest('li').addClass('menu-active');
229					}
230					link_id = $(this).attr('data-link_id');
231					e.preventDefault();
232					return;
233				});
234			}
235		},
236
237		postMasonry: function(){
238			var $container = $('.post-masonry-style');
239			$container.imagesLoaded( function(){
240				$container.masonry({
241					itemSelector : '.item-masory',
242					gutterWidth: 0,
243					columnWidth: 1,
244				}); 
245			});
246		},
247
248		scrollTop: function(){
249			var offset = 300;
250			var duration = 500;
251
252			jQuery(window).scroll(function() {
253				if (jQuery(this).scrollTop() > offset) {
254					jQuery('.return-top').fadeIn(duration);
255				} else {
256					jQuery('.return-top').fadeOut(duration);
257				}
258			});
259
260			$( document ).on('click', '.return-top', function(event){
261				event.preventDefault();
262				jQuery('html, body').animate({scrollTop: 0}, duration);
263				return false;
264			});
265		},
266
267		stickyMenu: function(){
268			if( $('.gv-sticky-menu').length > 0 ){
269				$( ".gv-sticky-menu" ).wrap( "<div class='gv-sticky-wrapper'></div>" );
270
271				var headerHeight = $('.gv-sticky-menu').height();
272				var menu = $('.gv-sticky-wrapper');
273
274				$(window).on('scroll', function () {
275					if ($(window).scrollTop() > menu.offset().top) {
276						menu.addClass('is-fixed');
277						menu.css('height', headerHeight);
278					} else {
279						menu.removeClass('is-fixed');
280						menu.css('height', 'auto');
281					}
282				});
283			}
284		},
285
286		progress_animation: function(){
287			$("[data-progress-animation]").each(function() {
288			  var $this = $(this);
289			  $this.appear(function() {
290				 var delay = ($this.attr("data-appear-animation-delay") ? $this.attr("data-appear-animation-delay") : 1);
291				 if(delay > 1) $this.css("animation-delay", delay + "ms");
292				 setTimeout(function() { $this.animate({width: $this.attr("data-progress-animation")}, 800);}, delay);
293			  }, {accX: 0, accY: -50});
294			});
295		},
296
297		slider: function(){
298			if($('.n2-ss-slider').length){
299				$('.n2-ss-slide').each(function(){
300					$(this).find('.n2-ss-layer').each(function(){
301						var layer_wrap = $(this);
302						// var delay = layer.data('delay');
303						// var duration = layer.data('duration');
304						// var type = 's-animation s__' + layer.data('animation');
305						layer_wrap.find('.n2-ss-item-content').each(function(){
306							var layer = $(this);
307							var type = 's-animation s__fadeInUp';
308							var delay = '0ms';
309							var duration = '1000ms';
310							if(layer_wrap.hasClass('delay-1')) delay = '500ms';
311							if(layer_wrap.hasClass('delay-2')) delay = '1000ms';
312							if(layer_wrap.hasClass('delay-3')) delay = '1500ms';
313							if(layer_wrap.hasClass('delay-4')) delay = '2000ms';
314							if(layer_wrap.hasClass('delay-5')) delay = '2300ms';
315							if(layer_wrap.hasClass('delay-6')) delay = '2600ms';
316							layer.css({
317								'animation-delay': delay,
318								'-webkit-animation-delay': delay,
319								 'animation-duration': duration
320							});
321							layer.addClass(type).one('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', function () {
322								layer.removeClass(type);
323							});
324					  });
325					});
326				});
327
328				var sliderID = $('.n2-ss-slider').attr('id');
329			
330				_N2.r('#' + sliderID, function(){
331					var slider = _N2['#' + sliderID];
332					slider.sliderElement.addEventListener('mainAnimationStart', function(e){
333						$(this).find('.n2-ss-slide.n2-ss-slide-active').each(function(){
334							$(this).find('.n2-ss-layer').each(function(){
335								var layer_wrap = $(this);
336									// var delay = layer.data('delay');
337									// var duration = layer.data('duration');
338									// var type = 's-animation s__' + layer.data('animation');
339									layer_wrap.find('.n2-ss-item-content').each(function(){
340										var layer = $(this);
341										var type = 's-animation s__fadeInUp';
342										layer.addClass(type).one('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', function () {
343											layer.removeClass(type);
344										});
345								  });
346							});
347						 });
348					})
349				});
350			};
351		},
352
353		other: function(){
354			$('.popup-video').magnificPopup({
355				type: 'iframe',
356				fixedContentPos: false
357			});
358
359			$( document ).on( 'click', '.yith-wcwl-add-button.show a', function() {
360			  $(this).addClass('loading');
361			});
362
363			$(document).on('click', '.gva-search a.control-search', function(){
364				let _btn = $(this);
365				if(_btn.hasClass('search-open')){
366					_btn.parents('.gva-search').removeClass('open');
367					_btn.removeClass('search-open');
368				}else{
369					_btn.parents('.gva-search').addClass('open');
370					_btn.addClass('search-open');
371					setTimeout(function(){ 
372						_btn.parent('.main-search').find('.gva-search input.input-search').first().focus(); 
373					}, 100);
374				}
375			});
376
377			$(document).on('click', '.mini-cart-header .mini-cart', function(e){
378				e.preventDefault();
379				$(this).parent('.mini-cart-inner').addClass('open');
380			});
381			$(document).on('click', '.mini-cart-header .minicart-overlay', function(e){
382				e.preventDefault();
383				$(this).parent('.mini-cart-inner').removeClass('open');
384			});
385
386			$('.scroll-link[href*="#"]:not([href="#"])').click(function() {
387				if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) {
388				  var target = $(this.hash);
389				  target = target.length ? target : $('[name=' + this.hash.slice(1) +']');
390				  if (target.length) {
391					 $('html, body').animate({
392						scrollTop: target.offset().top - 100
393					 }, 1500);
394					 return false;
395				  }
396				}
397			});
398
399			$('.constix-post-share.style-2 .btn-control-share').on('click', function(e){
400				e.preventDefault();
401				var wrapper = $(this).parents('.constix-post-share');
402				if(wrapper.hasClass('open')){
403					wrapper.removeClass('open');
404				}else{
405					wrapper.addClass('open');
406				}
407			});
408
409			$('.gva-portfolio-grid .portfolio-filter').each(function(){
410				$(this).find('.btn-filter').each(function(){
411					let _btn = $(this);
412					let filter = _btn.attr('data-filter');
413					let items = _btn.parents('.gva-portfolio-grid').find('.isotope-items').first();
414					_btn.find('.count').first().html('[' + items.find('> ' + filter).length + ']');
415				});
416			});
417
418			var scrollToTop = function() {
419				var scrollTo = $('#wp-main-content').offset().top - 100;
420				$('html, body').stop().animate({
421					scrollTop: scrollTo
422				}, 400);
423			};
424		}
425	}
426
427	$(window).on('load', function(){
428		$(document).on('click', '.minicart-close', function(e){
429			e.preventDefault();
430			$(this).parents('.cart').removeClass('open');
431		})
432
433		if($('.product-single-inner .flex-control-nav').length){
434			$('.product-single-inner .flex-control-nav').wrap('<div class="swiper-container product-thumbnail-swiper"></div>');
435			$('.product-single-inner .flex-control-nav').after('<div class="swiper-nav-next"></div><div class="swiper-nav-prev"></div>');
436			$('.product-single-inner .flex-control-nav').addClass('swiper-wrapper');
437			$('.product-single-inner .flex-control-nav > li').addClass('swiper-slide');
438			var swiper = new Swiper('.product-single-inner .product-thumbnail-swiper', {
439				pagination: '.swiper-pagination',
440				slidesPerView: 'auto',
441				paginationClickable: true,
442				spaceBetween: 10,
443				navigation: {
444					nextEl: '.swiper-nav-next',
445					prevEl: '.swiper-nav-prev'
446				},
447				breakpoints: {
448					0: {
449						slidesPerView: 2
450					},
451					390: {
452						slidesPerView: 2
453					},
454					640: {
455						slidesPerView: 3
456					},
457					768: {
458						slidesPerView: 4
459					},
460					1024: {
461						slidesPerView: 4
462					},
463					1400: { 
464						slidesPerView: 4,
465					}
466				}
467			});
468		};
469	});
470
471	$(document).ready(function(){
472		GaviasTheme.init();
473	})
474
475})(jQuery);

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.