PageSourceSearch

https://sudasaunas.com/wp-content/themes/sudasauna/js/global.js?ver=15165721

js sudasaunas.com collected 2026-10-01 03:01:21 UTC 45,463 bytes, 1,100 lines download raw bytes

vendor: 5,746 bytes, lines 1-2
1/*Lazy Load https://github.com/verlok/vanilla-lazyload*/
2!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(n=n||self).LazyLoad=t()}(this,(function(){"use strict";function n(){return(n=Object.assign||function(n){for(var t=1;t<arguments.length;t++){var e=arguments[t];for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(n[i]=e[i])}return n}).apply(this,arguments)}var t="undefined"!=typeof window,e=t&&!("onscroll"in window)||"undefined"!=typeof navigator&&/(gle|ing|ro)bot|crawl|spider/i.test(navigator.userAgent),i=t&&"IntersectionObserver"in window,a=t&&"classList"in document.createElement("p"),o=t&&window.devicePixelRatio>1,r={elements_selector:".lazy",container:e||t?document:null,threshold:300,thresholds:null,data_src:"src",data_srcset:"srcset",data_sizes:"sizes",data_bg:"bg",data_bg_hidpi:"bg-hidpi",data_bg_multi:"bg-multi",data_bg_multi_hidpi:"bg-multi-hidpi",data_poster:"poster",class_applied:"applied",class_loading:"loading",class_loaded:"loaded",class_error:"error",unobserve_completed:!0,unobserve_entered:!1,cancel_on_exit:!0,callback_enter:null,callback_exit:null,callback_applied:null,callback_loading:null,callback_loaded:null,callback_error:null,callback_finish:null,callback_cancel:null,use_native:!1},c=function(t){return n({},r,t)},l=function(n,t){var e,i=new n(t);try{e=new CustomEvent("LazyLoad::Initialized",{detail:{instance:i}})}catch(n){(e=document.createEvent("CustomEvent")).initCustomEvent("LazyLoad::Initialized",!1,!1,{instance:i})}window.dispatchEvent(e)},s=function(n,t){return n.getAttribute("data-"+t)},u=function(n,t,e){var i="data-"+t;null!==e?n.setAttribute(i,e):n.removeAttribute(i)},d=function(n){return s(n,"ll-status")},f=function(n,t){return u(n,"ll-status",t)},_=function(n){return f(n,null)},g=function(n){return null===d(n)},v=function(n){return"native"===d(n)},p=["loading","loaded","applied","error"],b=function(n,t,e,i){n&&(void 0===i?void 0===e?n(t):n(t,e):n(t,e,i))},h=function(n,t){a?n.classList.add(t):n.className+=(n.className?" ":"")+t},m=function(n,t){a?n.classList.remove(t):n.className=n.className.replace(new RegExp("(^|\\s+)"+t+"(\\s+|$)")," ").replace(/^\s+/,"").replace(/\s+$/,"")},E=function(n){return n.llTempImage},I=function(n,t){if(t){var e=t._observer;e&&e.unobserve(n)}},y=function(n,t){n&&(n.loadingCount+=t)},A=function(n,t){n&&(n.toLoadCount=t)},L=function(n){for(var t,e=[],i=0;t=n.children[i];i+=1)"SOURCE"===t.tagName&&e.push(t);return e},w=function(n,t,e){e&&n.setAttribute(t,e)},z=function(n,t){n.removeAttribute(t)},k=function(n){return!!n.llOriginalAttrs},O=function(n){if(!k(n)){var t={};t.src=n.getAttribute("src"),t.srcset=n.getAttribute("srcset"),t.sizes=n.getAttribute("sizes"),n.llOriginalAttrs=t}},C=function(n){if(k(n)){var t=n.llOriginalAttrs;w(n,"src",t.src),w(n,"srcset",t.srcset),w(n,"sizes",t.sizes)}},N=function(n,t){w(n,"sizes",s(n,t.data_sizes)),w(n,"srcset",s(n,t.data_srcset)),w(n,"src",s(n,t.data_src))},x=function(n){z(n,"src"),z(n,"srcset"),z(n,"sizes")},M=function(n,t){var e=n.parentNode;e&&"PICTURE"===e.tagName&&L(e).forEach(t)},R=function(n,t){L(n).forEach(t)},G={IMG:function(n,t){M(n,(function(n){O(n),N(n,t)})),O(n),N(n,t)},IFRAME:function(n,t){w(n,"src",s(n,t.data_src))},VIDEO:function(n,t){R(n,(function(n){w(n,"src",s(n,t.data_src))})),w(n,"poster",s(n,t.data_poster)),w(n,"src",s(n,t.data_src)),n.load()}},T=function(n,t){var e=G[n.tagName];e&&e(n,t)},D=function(n,t,e){y(e,1),h(n,t.class_loading),f(n,"loading"),b(t.callback_loading,n,e)},F={IMG:function(n,t){u(n,t.data_src,null),u(n,t.data_srcset,null),u(n,t.data_sizes,null),M(n,(function(n){u(n,t.data_srcset,null),u(n,t.data_sizes,null)}))},IFRAME:function(n,t){u(n,t.data_src,null)},VIDEO:function(n,t){u(n,t.data_src,null),u(n,t.data_poster,null),R(n,(function(n){u(n,t.data_src,null)}))}},V=function(n,t){u(n,t.data_bg_multi,null),u(n,t.data_bg_multi_hidpi,null)},j=function(n,t){var e=F[n.tagName];e?e(n,t):function(n,t){u(n,t.data_bg,null),u(n,t.data_bg_hidpi,null)}(n,t)},P=["IMG","IFRAME","VIDEO"],S=function(n,t){!t||function(n){return n.loadingCount>0}(t)||function(n){return n.toLoadCount>0}(t)||b(n.callback_finish,t)},U=function(n,t,e){n.addEventListener(t,e),n.llEvLisnrs[t]=e},$=function(n,t,e){n.removeEventListener(t,e)},q=function(n){return!!n.llEvLisnrs},H=function(n){if(q(n)){var t=n.llEvLisnrs;for(var e in t){var i=t[e];$(n,e,i)}delete n.llEvLisnrs}},B=function(n,t,e){!function(n){delete n.llTempImage}(n),y(e,-1),function(n){n&&(n.toLoadCount-=1)}(e),m(n,t.class_loading),t.unobserve_completed&&I(n,e)},J=function(n,t,e){var i=E(n)||n;q(i)||function(n,t,e){q(n)||(n.llEvLisnrs={});var i="VIDEO"===n.tagName?"loadeddata":"load";U(n,i,t),U(n,"error",e)}(i,(function(a){!function(n,t,e,i){var a=v(t);B(t,e,i),h(t,e.class_loaded),f(t,"loaded"),j(t,e),b(e.callback_loaded,t,i),a||S(e,i)}(0,n,t,e),H(i)}),(function(a){!function(n,t,e,i){var a=v(t);B(t,e,i),h(t,e.class_error),f(t,"error"),b(e.callback_error,t,i),a||S(e,i)}(0,n,t,e),H(i)}))},K=function(n,t,e){!function(n){n.llTempImage=document.createElement("IMG")}(n),J(n,t,e),function(n,t,e){var i=s(n,t.data_bg),a=s(n,t.data_bg_hidpi),r=o&&a?a:i;r&&(n.style.backgroundImage='url("'.concat(r,'")'),E(n).setAttribute("src",r),D(n,t,e))}(n,t,e),function(n,t,e){var i=s(n,t.data_bg_multi),a=s(n,t.data_bg_multi_hidpi),r=o&&a?a:i;r&&(n.style.backgroundImage=r,function(n,t,e){h(n,t.class_applied),f(n,"applied"),V(n,t),t.unobserve_completed&&I(n,t),b(t.callback_applied,n,e)}(n,t,e))}(n,t,e)},Q=function(n,t,e){!function(n){return P.indexOf(n.tagName)>-1}(n)?K(n,t,e):function(n,t,e){J(n,t,e),T(n,t),D(n,t,e)}(n,t,e)},W=["IMG","IFRAME"],X=function(n){return n.use_native&&"loading"in HTMLImageElement.prototype}
2,Y=function(n,t,e){n.forEach((function(n){return function(n){return n.isIntersecting||n.intersectionRatio>0}(n)?function(n,t,e,i){f(n,"entered"),function(n,t,e){t.unobserve_entered&&I(n,e)}(n,e,i),b(e.callback_enter,n,t,i),function(n){return p.indexOf(d(n))>=0}(n)||Q(n,e,i)}(n.target,n,t,e):function(n,t,e,i){g(n)||(function(n,t,e,i){e.cancel_on_exit&&function(n){return"loading"===d(n)}(n)&&"IMG"===n.tagName&&(H(n),function(n){M(n,(function(n){x(n)})),x(n)}(n),function(n){M(n,(function(n){C(n)})),C(n)}(n),m(n,e.class_loading),y(i,-1),_(n),b(e.callback_cancel,n,t,i))}(n,t,e,i),b(e.callback_exit,n,t,i))}(n.target,n,t,e)}))},Z=function(n){return Array.prototype.slice.call(n)},nn=function(n){return n.container.querySelectorAll(n.elements_selector)},tn=function(n){return function(n){return"error"===d(n)}(n)},en=function(n,t){return function(n){return Z(n).filter(g)}(n||nn(t))},an=function(n,e){var a=c(n);this._settings=a,this.loadingCount=0,function(n,t){i&&!X(n)&&(t._observer=new IntersectionObserver((function(e){Y(e,n,t)}),function(n){return{root:n.container===document?null:n.container,rootMargin:n.thresholds||n.threshold+"px"}}(n)))}(a,this),function(n,e){t&&window.addEventListener("online",(function(){!function(n,t){var e;(e=nn(n),Z(e).filter(tn)).forEach((function(t){m(t,n.class_error),_(t)})),t.update()}(n,e)}))}(a,this),this.update(e)};return an.prototype={update:function(n){var t,a,o=this._settings,r=en(n,o);A(this,r.length),!e&&i?X(o)?function(n,t,e){n.forEach((function(n){-1!==W.indexOf(n.tagName)&&(n.setAttribute("loading","lazy"),function(n,t,e){J(n,t,e),T(n,t),j(n,t),f(n,"native")}(n,t,e))})),A(e,0)}(r,o,this):(a=r,function(n){n.disconnect()}(t=this._observer),function(n,t){t.forEach((function(t){n.observe(t)}))}(t,a)):this.loadAll(r)},destroy:function(){this._observer&&this._observer.disconnect(),nn(this._settings).forEach((function(n){delete n.llOriginalAttrs})),delete this._observer,delete this._settings,delete this.loadingCount,delete this.toLoadCount},loadAll:function(n){var t=this,e=this._settings;en(n,e).forEach((function(n){I(n,t),Q(n,e,t)}))}},an.load=function(n,t){var e=c(t);Q(n,e)},an.resetStatus=function(n){_(n)},t&&function(n,t){if(t)if(t.length)for(var e,i=0;e=t[i];i+=1)l(n,e);else l(n,t)}(an,window.lazyLoadOptions),an}));
3
4
5var uvlazyimages;
6var initial_tab = {};
7var calendarEndDate;
8var calendarStartDate;
9
10function uvDOMReady(fn)
11{
12    if(document.readyState != 'loading')
13    {
14        fn();
15    } 
16    else
17    {
18        document.addEventListener('DOMContentLoaded', fn);
19    }
20}
21
22function uvWindowload(fn)
23{
24    if(document.readyState === 'complete')
25    {
26        fn();
27    }
28    else
29    {
30	   window.addEventListener('load', fn);
31    }
32}
33
34uvDOMReady(function() {
35	uvlazyimages = new LazyLoad({elements_selector: '.uv-lazyimage', unobserve_entered: true});
36
37	var uvMenuIconExist = document.getElementById("uv-menuicon");
38	if(uvMenuIconExist) {
39    	document.getElementById('uv-menuicon').addEventListener('click', function(e) {
40			closePopUp();
41		});
42    }
43	var uvMenuIconMobileExist = document.getElementById("uv-menuicon-mobile");
44	if(uvMenuIconMobileExist) {
45		document.getElementById('uv-menuicon-mobile').addEventListener('click', function(e) {
46			closePopUp();
47		});
48	}
49	const navmenumobilehome = document.querySelectorAll(".homepagemobilemenu");
50	for (let p = 0; p < navmenumobilehome.length; p++) {
51		navmenumobilehome[p].addEventListener("click", (event) => {
52			if(uvMenuIconMobileExist) {
53				closePopUp();
54			}
55		});
56	}	
57
58	var mobsubmenu=document.querySelectorAll('.uv-overmenu-menu ul > li.menu-item-has-children > a');	
59	if(mobsubmenuoc !== 'undefined'){
60		for(var i=0;i<mobsubmenu.length;i++){
61			mobsubmenu[i].addEventListener('click', mobsubmenuoc, false);
62		}
63	}
64	
65	var questions = document.querySelectorAll(".question");
66
67	for (var i = 0; i < questions.length; i++) {
68		questions[i].addEventListener('click', function(e) {
69			this.classList.toggle("open");
70			var temp = this.getAttribute("data-faq");
71			document.getElementById(temp).classList.toggle("open");
72			document.getElementById("answer-"+temp).classList.toggle("open");
73			
74		}, false);
75	}
76
77	uvcheckanimations();
78
79
80
81	var tag 			=	document.createElement('script');
82	var firstScriptTag 	= 	document.getElementsByTagName('script')[0];
83	tag.src = "https://www.youtube.com/iframe_api";
84	firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
85
86	uvClickListener("#ib-videoembed-play", function(e) {
87		e.preventDefault();
88		var videoCode 	=	this.dataset.videoid;
89		showVideo(videoCode)
90	});
91	
92	uvClickListener(".co-bvideo-img-link", function(e) {
93		e.preventDefault();
94		var videoCode 	=	this.dataset.videoid;
95		showVideo(videoCode)
96	});
97
98	uvClickListener(".uv-close-modal", function(e) {
99        e.preventDefault();
100
101		ivModalEmbed 	=	document.getElementById("ib-overVideo");
102        if (ivModalEmbed !== null) {
103            ivModalEmbed.classList.remove('visible');
104			if (player){
105            	player.destroy();
106			}
107        }
108
109		ivModalMapaEmbed 	=	document.getElementById("su-mapLocation");
110        if (ivModalMapaEmbed !== null) {
111            ivModalMapaEmbed.classList.remove('visible');
112        }
113
114		ivModalGuests 	=	document.getElementById("su-guestsModal");
115        if (ivModalGuests !== null) {
116            ivModalGuests.classList.remove('visible');
117        }
118
119        document.getElementsByTagName('body')[0].classList.remove('bi-modalopen');
120    });
121
122	/* Block Team */
123	var uvModalTeam = document.getElementById("uvModalTeam");
124	/*Search Blog*/
125	var nomoresearchactive = 1;
126	var ibGetSearch = document.getElementById('ibGetSearch');
127	/* Block Gallery */
128	/*var ssModalGallery = document.getElementById("ss-galleryView");*/
129
130	if (ibGetSearch){
131		ibGetSearch.addEventListener("keyup", function(){
132			var xhr = new XMLHttpRequest();
133			var ibsearchterm = 0;
134
135			if (ibGetSearch.value.trim().length > 0){
136				ibsearchterm = ibGetSearch.value;
137			}
138
139			var dataSend =	'/wp-admin/admin-ajax.php?action=ibgetsearch&ibword='+ibsearchterm;
140			xhr.open("GET", dataSend, true);
141			xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
142			xhr.setRequestHeader("Accept", "application/json");
143
144			xhr.onreadystatechange = function () {
145			if (xhr.readyState === 4) {
146					var responseData 	=	JSON.parse(xhr.responseText);
147					if (responseData.data.total > 0) {
148						document.getElementById("ib-blogbody").innerHTML = '';
149						document.getElementById("ib-blogbody").innerHTML += responseData.data.htmlbody;
150						document.getElementById("ib-loadmore").classList.remove('uv-hide');
151						if (document.getElementById("ib-empty-posts")) {
152							document.getElementById("ib-empty-posts").remove();
153						}
154						nomoresearchactive = 1;
155					} else {
156						if (nomoresearchactive == 1){
157							document.getElementById("ib-blogbody").innerHTML = '';
158							document.getElementById("ib-blogbody").insertAdjacentHTML("afterend", responseData.data.msgempty);
159							document.getElementById("ib-loadmore").classList.add('uv-hide');
160							nomoresearchactive = 2;
161						}
162					}
163					/*Hide no more posts text on Blog page*/					
164					var loadMore = document.getElementById("ib-loadmore");
165					var noBlogPosts = document.querySelector(".ib-empty-posts");
166					if (loadMore && !loadMore.classList.contains('uv-hide') && noBlogPosts)
167						noBlogPosts.remove();
168				}
169			};
170			xhr.send();
171		});
172	}
173	/*Animate the text of the first blog post displayed in the header of the Blog page*/
174	var first_blog = document.getElementById("ss-hb-content-0");
175	if(first_blog){
176		var elementsArray = first_blog.querySelectorAll('*');
177		elementsArray.forEach(function(e) {
178			if(e.tagName.match(/ul|li/i))
179				return;
180			e.classList.add('anmfadeInUp','anmtwo','anmanimate');
181		});
182		uvcheckanimations();
183	}
184
185	/*Manage Booking*/
186	if(document.getElementById('ss-mb-form')){
187		var mb_form = document.getElementById('ss-mb-form');
188		mb_form.addEventListener('submit',function(e){
189			e.preventDefault();
190			var form_data = new FormData(e.target);
191			var msg = "";
192			for (var data of form_data.entries()) {
193				msg += data[0] + ": " + data[1] + "\n";
194			}
195		});
196	}
197
198	/*Gift Card - Continue to Payment*/
199	if(document.getElementById('ss-gc-form')){
200		var mb_form = document.getElementById('ss-gc-form');
201		mb_form.addEventListener('submit',function(e){
202			e.preventDefault();
203			var gc_selected = document.querySelector('input.ss-gc-amnt-enabled');
204			var final_amount = parseFloat(gc_selected.value);
205		});
206	}
207	/* Events Calendar */
208	if(document.getElementById('ss-events-calendar')){
209		const picker = new easepick.create({
210			element: document.getElementById('ss-events-calendar'),
211			css: [
212				'https://cdn.jsdelivr.net/npm/@easepick/[email protected]/dist/index.css',
213				'https://easepick.com/css/demo_hotelcal.css',
214				'/wp-content/themes/sudasauna/css/global-m.css'
215			],
216			firstDay: 0,
217			plugins: ['RangePlugin', 'LockPlugin'],
218			LockPlugin: {
219				minDate: new Date(),
220				minDays: 1,
221				inseparable: true,
222			},
223			setup: (picker) => {
224				picker.on('select', (e) => {
225					calendarEndDate = e.detail.end;
226					calendarStartDate = e.detail.start;
227				});
228			}
229		});
230	}
231
232	/*Search Resource Container */
233	var debounceTimeout;
234	
235	if(document.getElementById('ssRRSearch')){
236		var ssRRSearch = document.getElementById('ssRRSearch');
237		ssRRSearch.addEventListener("keyup", function(){
238			clearTimeout(debounceTimeout);
239			debounceTimeout = setTimeout(() => {
240
241				var xhr = new XMLHttpRequest();
242				var search = '';
243	
244				if (ssRRSearch.value.trim().length > 0){
245					search = ssRRSearch.value;
246				}
247				var dataSend =	'/wp-admin/admin-ajax.php?action=ssgetresources&word='+search;
248				xhr.open("GET", dataSend, true);
249				xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
250				xhr.setRequestHeader("Accept", "application/json");
251	
252				xhr.onreadystatechange = function () {
253					if (xhr.readyState === 4) {
254						var responseData 	=	JSON.parse(xhr.responseText);
255						if(responseData.data.resources){
256							document.querySelector('.ss-resource-center-body').innerHTML = '';
257							document.querySelector('.ss-resource-center-body').innerHTML += responseData.data.resources;
258							if(document.querySelector('.ss-tutorial')){
259								var loop_tut = responseData.data.tutCards > 2 ? true : false;
260								const videoBreakpoints = {
261									1600: { slidesPerView: 2.8, loop: false, lazy: { loadPrevNext: false } },
262									1200: { slidesPerView: 2.5, loop: false, lazy: { loadPrevNext: false } },
263									900: { slidesPerView: 1.8, loop: false, lazy: { loadPrevNext: false } },
264									600: { slidesPerView: 1.5, loop: loop_tut, lazy: { loadPrevNext: loop_tut, loadPrevNextAmount: 1 } },
265									0: { slidesPerView: 1.2, loop: loop_tut, lazy: { loadPrevNext: loop_tut, loadPrevNextAmount: 1 } }
266								};
267								const videoSwiper = initSwiper('.ss-tutorial', '.ss-tutorial-pagination', videoBreakpoints);
268							}
269							if(document.querySelector('.ss-best')){
270								var loop_best = responseData.data.bestCards > 2 ? true : false;
271								const videoBreakpoints = {
272									1600: { slidesPerView: 2.8, loop: false, lazy: { loadPrevNext: false } },
273									1200: { slidesPerView: 2.5, loop: false, lazy: { loadPrevNext: false } },
274									900: { slidesPerView: 1.8, loop: false, lazy: { loadPrevNext: false } },
275									600: { slidesPerView: 1.5, loop: loop_best, lazy: { loadPrevNext: loop_best, loadPrevNextAmount: 1 } },
276									0: { slidesPerView: 1.2, loop: loop_best, lazy: { loadPrevNext: loop_best, loadPrevNextAmount: 1 } }
277								};
278								const videoSwiper = initSwiper('.ss-best', '.ss-best-pagination', videoBreakpoints);
279							}
280							if(document.querySelector('.ss-trends-carousel')){
281								var loop_trend = responseData.data.trendingCards > 2 ? true : false;
282								const trendBreakpoints = {
283									1600:{slidesPerView: 3,  spaceBetween: 20, lazy: {loadPrevNext: false}},
284									1200:{slidesPerView: 3,  spaceBetween: 20, lazy: {loadPrevNext: false}},
285									900:{slidesPerView: 2.1, spaceBetween: 20, lazy: {loadPrevNext: false}},
286									800:{slidesPerView: 1.8, spaceBetween: 20, lazy: {loadPrevNext: false}},
287									700:{slidesPerView: 1.5, spaceBetween: 15, loop: true},
288									400:{slidesPerView: 1.33,  spaceBetween: 12, loop: true, lazy: {loadPrevNext: true, loadPrevNextAmount: 1}},
289									0:{slidesPerView: 1.2,  spaceBetween: 12, loop: true, lazy: {loadPrevNext: true, loadPrevNextAmount: 1}}
290								};
291								const trendSwiper = initSwiper('.ss-trends-carousel', '.slidertrending-search-pagination', trendBreakpoints);
292							}
293						}
294					}
295					uvcheckanimations();
296					saveTrending();
297				};
298				xhr.send();
299			});
300		}, 500);
301	}
302	/*Footer Mobile*/
303	var footerDropdown = document.querySelectorAll('.widgettitle');
304	footerDropdown.forEach((value,key) => {
305		value.id = "widgettitle-"+value.textContent.toLowerCase();
306	});
307	/*Mobile Menu*/
308	var uv_overmenu_inner = document.getElementById('uv-overmenu-inner');
309	var uv_submenu = document.querySelectorAll('.uv-overmenu-inner .uv-submenu');
310	uv_submenu.forEach((value,key) => {
311		uv_overmenu_inner.appendChild(value);
312	});
313	/*Keep closed/show Top Bar*/
314	topBarAction();
315	if(sessionStorage.getItem('topBarClosed') === 'true' || window.innerWidth <= 1050){
316		topBarAction('close');
317	}
318	/*Show - Hide Top Bar if Mobile Menu is displayed*/
319	/*window.addEventListener('resize', () => {
320		if(!sessionStorage.getItem("topBarClosed") && window.innerWidth > 1050){
321			topBarAction();
322		}
323	});*/
324	saveTrending();
325
326	/** HOMEPAGE */
327	const cardselectedItems = document.querySelectorAll(".su-cardparallax-card");
328	if(cardselectedItems.length > 0) {
329		cardselectedItems.forEach((cardItem) => {
330			// define an observer instance
331			var observer = new IntersectionObserver(onIntersection, {
332				root: null,   // default is the viewport
333				threshold: .5 // percentage of target's visible area. Triggers "onIntersection"
334			})	
335			// callback is called on intersection change
336			function onIntersection(entries, opts){
337				entries.forEach(entry =>  
338					entry.target.classList.toggle('visible', entry.isIntersecting)
339				)
340			}
341			// Use the observer to observe an element
342			observer.observe( cardItem )
343		});
344	} 
345
346	function setCookie(cname, cvalue, exdays) {
347		const d = new Date();
348		d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));
349		let expires = "expires="+d.toUTCString();
350		document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
351	  }
352
353	function getCookie(name) {
354        var dc = document.cookie;
355        var prefix = name + "=";
356        var begin = dc.indexOf("; " + prefix);
357        if (begin == -1) {
358            begin = dc.indexOf(prefix);
359            if (begin != 0) return null;
360        }
361        else
362        {
363            begin += 2;
364            var end = document.cookie.indexOf(";", begin);
365            if (end == -1) {
366            end = dc.length;
367            }
368        }
369        // because unescape has been deprecated, replaced with decodeURI
370        //return unescape(dc.substring(begin + prefix.length, end));
371        return decodeURI(dc.substring(begin + prefix.length, end));
372    } 
373	
374	uvClickListener("#su-cookiesnotification", function(e){
375		setCookie("consent_cookie", 1, 365)
376		document.getElementById("su-cookiesnotification").classList.remove("cookies-notification--visible");
377	});
378	
379	var consetCookie = getCookie("consent_cookie");
380	if(consetCookie == null){
381		document.getElementById("su-cookiesnotification").classList.add("cookies-notification--visible");
382	}
383
384	uvClickListener("#close-window-waiver", function(e){
385		window.close();
386	});
387});
388
389/*Show - Hide Top Bar if Mobile Menu is displayed*/
390window.addEventListener('resize', () => {
391	if(window.innerWidth <= 1050){
392		topBarAction('close');
393	}
394	else if(!sessionStorage.getItem("topBarClosed")){
395		topBarAction();
396	}
397});
398/*Trending Topics - Reduce text */
399function saveTrending() {
400    let trending = Array.from(document.querySelectorAll('.ss-tt-title'));
401    let originalTexts = trending.map(trend => trend.textContent);
402
403    window.addEventListener('resize', () => {
404        let width = window.innerWidth;
405        trending.forEach((trend, index) => {
406            if (width <= 600) {
407                trend.textContent = originalTexts[index].slice(0, 41) + "...";
408            } else {
409                trend.textContent = originalTexts[index];
410            }
411        });
412    });
413}
414
415var player;
416var ivModalEmbed;
417
418function uvClickListener(uvselector, uvhandler){
419	document.addEventListener("click", function(e){
420		for(var target = e.target; target && target != this; target = target.parentNode){
421			if(target.matches(uvselector)){
422				uvhandler.call(target, e);
423				break;
424			}
425		}
426	}, false);
427}
428
429function uvChangeListener(uvselector, uvhandler){
430	document.addEventListener("change", function(e){
431		for(var target = e.target; target && target != this; target = target.parentNode){
432			if(target.matches(uvselector)){
433				uvhandler.call(target, e);
434				break;
435			}
436		}
437	}, false);
438}
439
440uvClickListener(".uvjs-scrollto", function(e)
441{
442	e.preventDefault();
443
444	let uvscrolltarget = document.querySelector(this.getAttribute("href"));
445	uvScrolltoelem(uvscrolltarget);
446});
447uvClickListener(".uvjs-scrollto a", function(e)
448{
449  e.preventDefault();
450
451  let uvscrolltarget = document.querySelector(this.getAttribute("href"));
452  uvScrolltoelem(uvscrolltarget);
453});
454
455function uvIsInViewport(el){
456    var top = el.offsetTop;
457    var left = el.offsetLeft;
458    var width = el.offsetWidth;
459    var height = el.offsetHeight;
460  
461    while(el.offsetParent) {
462      el = el.offsetParent;
463      top += el.offsetTop;
464      left += el.offsetLeft;
465    }
466  
467    return (
468      top < (window.pageYOffset + window.innerHeight) &&
469      left < (window.pageXOffset + window.innerWidth) &&
470      (top + height) > window.pageYOffset &&
471      (left + width) > window.pageXOffset
472    );
473}
474
475function closePopUp(){
476	if(document.getElementsByTagName('html')[0].classList.contains('ovmenuopen')) {
477		document.getElementsByTagName('html')[0].classList.remove('ovmenuopen');
478	} else {
479		document.getElementsByTagName('html')[0].classList.add('ovmenuopen');
480	}
481}
482function uvScrolltoelem(uvscrollelem, uvaddoffset){
483	const uvoffsetelem = document.querySelector(".uv-page-header");
484	let uvoffset = uvoffsetelem.clientHeight * -1;
485
486	if(typeof(uvaddoffset) != "undefined")
487		uvoffset = uvoffset + uvaddoffset;
488
489	const uvtop = uvscrollelem.getBoundingClientRect().top + window.pageYOffset + uvoffset;
490	window.scrollTo({top: uvtop, behavior: 'smooth'});
491}
492function uvSetCookie(name,value,days){
493    var expires = "";
494    if (days) {
495        var date = new Date();
496        date.setTime(date.getTime() + (days*24*60*60*1000));
497        expires = "; expires=" + date.toUTCString();
498    }
499    document.cookie = name + "=" + (value || "")  + expires + "; path=/";
500}
501function uvGetCookie(name){
502    var nameEQ = name + "=";
503    var ca = document.cookie.split(';');
504    for(var i=0;i < ca.length;i++) {
505        var c = ca[i];
506        while (c.charAt(0)==' ') c = c.substring(1,c.length);
507        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
508    }
509    return null;
510}
511
512
513document.addEventListener("keydown", e =>
514{
515	if(e.keyCode == 27)
516    {
517	   document.getElementsByTagName('html')[0].classList.remove('ovmenuopen');
518	   uvHidePopup(uv_pop_up);
519	}
520	else if(event.keyCode === 9){document.body.classList.remove('uv-using-mouse');}
521});
522
523document.addEventListener("scroll", e =>
524{	
525	if(window.pageYOffSet || document.documentElement.scrollTop)
526	{
527		document.getElementsByTagName('html')[0].classList.add('uv-pagescrolled');
528		var uvPageHeaderExist = document.getElementById("uv-page-header");
529    	if(uvPageHeaderExist) {
530			document.getElementById('uv-page-header').classList.remove('uv-menu-transparent');
531		}
532	}
533	else
534	{
535		if(document.documentElement.scrollTop < 6){
536			document.getElementsByTagName('html')[0].classList.remove('uv-pagescrolled');
537			var uvPageHeaderExist = document.getElementById("uv-page-header");
538
539			if(uvPageHeaderExist) {
540				document.getElementById('uv-page-header').classList.add('uv-menu-transparent');
541			}
542		}
543	}
544	
545	uvcheckanimations();
546});
547
548function uvcheckanimations(){
549    var uvanimateelements = document.querySelectorAll(".anmfadeInUp:not
549(.anmactive), .anmslidefromleft:not(.anmactive)");
550    Array.prototype.forEach.call(uvanimateelements, function(el, i){
551      if(uvIsInViewport(el))
552      el.classList.add("anmactive");
553    });
554}
555
556var mobsubmenuoc = function(e){
557	e.preventDefault();
558  
559	if(this.parentElement.classList.contains('active'))
560	{
561	  this.parentElement.classList.remove('active');
562	}
563	else
564	{
565	  this.parentElement.classList.add('active');
566	}
567};
568
569function IsSafari() {
570	var is_safari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
571	return is_safari;
572}
573/* Product Added to Cart */
574function showAddtoCart(suSaunaNamePopUp, suTypePopUp, suDatePopUp, suTimePopUp, suImgPopUp, suPricePopUp, suQtyPopUp){
575	ivModalAddtoCart 	=	document.getElementById("su-addtocartPopUp");
576    document.getElementsByTagName('body')[0].classList.add('bi-modalopen');
577	ivModalAddtoCart.classList.add('visible');
578
579	document.getElementById("su-popupaddtocart-img").src = suImgPopUp;
580	document.getElementById("su-popup-nameevent").innerHTML = suSaunaNamePopUp;
581	document.getElementById("su-popup-typeevent").innerHTML = suQtyPopUp;
582	document.getElementById("su-popup-dateevent").innerHTML = suDatePopUp;
583	document.getElementById("su-popup-timeevent").innerHTML = suTimePopUp;
584	document.getElementById("su-popup-priceevent").innerHTML = "$"+suPricePopUp;
585}
586function showVideo(videoCode){
587	ivModalEmbed 	=	document.getElementById("ib-overVideo");
588    document.getElementsByTagName('body')[0].classList.add('bi-modalopen');
589	ivModalEmbed.classList.add('visible');
590
591	player = new YT.Player('emfk', {
592		height: '450',
593		width: '100%',
594		videoId: videoCode,
595		playerVars: {
596			'playsinline': 1,
597			'controls' : 0,
598			'rel' : 0,
599			'showinfo':0
600		},
601		events: {
602
603		}
604	});
605}
606/*Top Bar Close*/
607uvClickListener(".ss-tb-close", function(e){
608	topBarAction('close');
609	sessionStorage.setItem('topBarClosed', 'true');
610});
611function topBarAction(action = 'show'){
612	let transition = "all 300ms ease-in-out";
613	let header_list = ['.ss-page-header','.ss-not-found','.ss-header-blog-container','.odm-blogheader-container','.uv-page-header','.ib-categoryheader','.ss-page-hero','.single-product-page'];
614	header_list.forEach((header)=>{
615		let hero = document.querySelector(header);
616		if(action === 'close' && hero){
617			hero.classList.remove('ss-tb');
618			hero.style.transition = transition;	
619			document.getElementById("ss-top-bar").classList.add("uv-hide");
620		}
621		else if(action !== 'close' && hero){
622			hero && hero.classList.add('ss-tb');
623		}
624	});
625}
626/* Block Team */
627function showModalTeam(idTeam){
628	var epNameTeam	= document.getElementById("data-name-"+idTeam).innerHTML;
629	var epTitleTeam = document.getElementById("data-title-"+idTeam).innerHTML;
630	var epDescTeam 	= document.getElementById("data-desc-"+idTeam).innerHTML;
631	var epImageTeam	= document.getElementById("data-img-"+idTeam).dataset.image;
632	
633	document.getElementById("ep-td-name").innerHTML 	= epNameTeam;
634	document.getElementById("ep-td-title").innerHTML 	= epTitleTeam;
635	document.getElementById("ep-td-desc").innerHTML 	= epDescTeam;
636	document.getElementById("ep-td-img").style.backgroundImage = "url("+epImageTeam+")";
637
638	if (uvModalTeam !== null && epImageTeam && epDescTeam) {
639		document.getElementsByTagName('body')[0].classList.add('bi-modalopen');
640		uvModalTeam.classList.add('visible');
641	}
642	return false;
643}
644
645uvClickListener(".ss-videoView", function(e) {
646	e.preventDefault();
647
648	ivModalEmbed 	=	document.getElementById("ib-overVideo");
649	if (ivModalEmbed !== null) {
650		ivModalEmbed.classList.remove('visible');
651		if (player){
652			player.destroy();
653		}
654	}
655});
656uvClickListener(".uv-close-modal", function(e) {
657	e.preventDefault();
658
659	ivModalPopUpHome 	=	document.getElementById("ib-popupHome");
660	if (ivModalPopUpHome !== null) {
661		ivModalPopUpHome.classList.remove('visible');
662	}
663
664	ivModalAddtoCart 	=	document.getElementById("su-addtocartPopUp");
665	if (ivModalAddtoCart !== null) {
666		ivModalAddtoCart.classList.remove('visible');
667	}
668
669	ivModalEmbed 	=	document.getElementById("ib-overVideo");
670	if (ivModalEmbed !== null) {
671		ivModalEmbed.classList.remove('visible');
672		if (player){
673			player.destroy();
674		}
675	}
676	
677	var uvModalTeam = document.getElementById("uvModalTeam");
678	if (uvModalTeam !== null) {
679		uvModalTeam.classList.remove('visible');
680	}
681
682	var ssModalImg 	=	document.getElementById("ssGalImg");
683	var ssModalGallery 	=	document.getElementById("ss-galleryView");
684	if (ssModalGallery !== null) {
685		if (ssModalImg) {
686			ssModalImg.style.transition = "none";
687			ssModalImg.style.background = '';
688		}
689		ssModalGallery.classList.remove('visible');
690	}
691
692	ivModalInsurance 	=	document.getElementById("ib-overPaymentInfo");
693	if (ivModalInsurance !== null) {
694		ivModalInsurance.classList.remove('visible');
695	}
696
697	ivModalCheckInsurance 	=	document.getElementById("ib-overCheckInsurance");
698	if(ivModalCheckInsurance !== null){
699		ivModalCheckInsurance.classList.remove('visible');
700	}
701
702	ivModalRequestAppointment 	=	document.getElementById("ib-overrequestappoinment");
703	if(ivModalRequestAppointment !== null){
704		ivModalRequestAppointment.classList.remove('visible');
705	}
706
707	document.getElementsByTagName('body')[0].classList.remove('bi-modalopen');
708});
709/***/
710/* Read More Testimonial*/
711function ssOpenTestimonial(idTest){
712	const allTestimonials = document.querySelectorAll(".ss-testsecond-"+idTest)
713	const kod 			 =  document.querySelectorAll(".ss-test-linktext-"+idTest);
714	const dotsa 		 =  document.querySelectorAll(".ss-test-dotssli-"+idTest);
715
716	for (let i = 0; i < allTestimonials.length; i++) {
717		if(allTestimonials[i].classList.contains("ss-test-hide")){
718			allTestimonials[i].classList.remove('ss-test-hide');
719			dotsa[i].classList.add('ss-test-hide');
720			kod[i].innerHTML= "Read Less";
721		} else {
722			allTestimonials[i].classList.add('ss-test-hide');
723			dotsa[i].classList.remove('ss-test-hide');
724			kod[i].innerHTML= "Read More";
725		}
726	}
727	return false;	
728}
729/****/
730/*FAQs Tab Collapse */
731uvClickListener(".ss-faqs-nav-item", function(e) {
732	var prefix = 'ss-faqs-';
733	tabCollapse(e,prefix+"nav-tab-",prefix+"tab-pane-","."+prefix+"nav-link","."+prefix+"tab-pane.fade");
734});
735/*FAQs Tab Mobile Collapse*/
736uvClickListener(".ss-faqs-nav-item-mobile", function(e) {
737	let id = e.target.id.match(/[^-]+$/)[0];
738	let content = document.getElementById("ss-faqs-tab-content-" + id);
739	let tab_name = document.getElementById("ss-faqs-nav-item-mobile-" + id);
740	content.classList.toggle('active');
741	uvcheckanimations();
742	tab_name.classList.toggle('active');
743});
744/*FAQs Question Collapse*/
745uvClickListener(".ss-faq-separator", function(e) {
746	let id = e.target.id.match(/[^-]+-\d+$/)[0];
747	let separator = document.getElementById("ss-faq-separator-" + id);
748	separator.classList.toggle('active');
749});
750
751/*Show More Blogs*/
752var epShowMoreBlogPost = 0;
753uvClickListener(".ib-loadmore", function(e) {
754	epShowMoreBlogPost++;
755	var ids = [];
756	var xhr = new XMLHttpRequest();
757	var cards = [...document.getElementsByClassName("co-homeblog-card")];
758	cards.forEach(card => {ids.push(parseInt(card.id));});
759	
760	var dataSend =	'/wp-admin/admin-ajax.php?action=getmoreposts&nextPage='+epShowMoreBlogPost+'&actualPosts='+J
760SON.stringify(ids);
761	xhr.open("GET", dataSend, true);
762	xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
763	xhr.setRequestHeader("Accept", "application/json");
764
765	xhr.onreadystatechange = function () {
766	if (xhr.readyState === 4) {
767			var responseData 	=	JSON.parse(xhr.responseText);
768			if (responseData.data.total > 0) {
769				document.getElementById("ib-blogbody").innerHTML += responseData.data.htmlbody;
770			} else {
771				document.getElementById("ib-blogbody").insertAdjacentHTML("afterend", responseData.data.msgempty);
772				document.getElementById("ib-loadmore").classList.add('uv-hide');
773			}
774		}
775	};
776	xhr.send();
777	/*Hide no more posts text on Blog page*/
778	var loadMore = document.getElementById("ib-loadmore");
779	var noBlogPosts = document.querySelector(".ib-empty-posts");
780	if (loadMore && !loadMore.classList.contains('uv-hide') && noBlogPosts)
781		noBlogPosts.remove();
782});
783
784/*Gift Card amount restrictions*/
785//1. Entry only numbers and 1 dot
786function onlyNumber(input){
787	input.value = input.value.replace(/[^0-9.]/g, '');
788	var total_dots = input.value.split('.').length - 1;
789	/*Contains 1 dot at the beginning or more than one dot. */
790	if(/^\./.test(input.value) || total_dots > 1)
791		input.value = input.value.replace(/\.$/, '');
792	var parts = input.value.split('');
793	if(parts.length > 4 && total_dots == 0){
794		var test = parts.slice(0,4);
795		input.value = test.join('');
796	}
797}
798//2.Select just one amount
799uvClickListener(".ss-gc", function(e) {
800	var id = e.target.id.match(/[^-]+$/)[0];
801	var options = Array.from(document.querySelectorAll(`[id^="ss-gc-amnt"]`));
802
803	options.forEach(option => {
804		var id_opt = option.id.match(/[^-]+$/)[0];
805		if(id_opt != id){
806			option.classList.add('ss-gc-amnt-disabled');
807			option.classList.remove('ss-gc-amnt-enabled')
808			if(id_opt == 6 && option.tagName.match(/INPUT/) && option.value != ''){
809				option.value = '';
810				option.setAttribute('readonly', true);
811			}
812		}
813		else{
814			option.classList.add('ss-gc-amnt-enabled')
815			option.classList.remove('ss-gc-amnt-disabled')
816			if(id_opt == 6 && option.tagName.match(/INPUT/))
817				option.removeAttribute('readonly');
818		}
819	});
820});
821
822/*Footer Dropdown */
823uvClickListener(".widgettitle", function(e) {
824	let id = e.target.id.match(/[^-]+$/)[0];
825	let text = e.target.textContent.toLowerCase();
826	document.getElementById("widgettitle-"+id).classList.toggle("active");
827	document.getElementById("menu-footer-"+text+"-1").classList.toggle("active");
828});
829/*Gallery Tab Collapse */
830uvClickListener(".ss-gallery-nav-item", function(e) {
831	var prefix = 'ss-gallery-';
832	tabCollapse(e, prefix+"nav-tab-", prefix+"tab-container-", "."+prefix+"nav-link", "."+prefix+"tab-container");
833	/*Dropdown */	
834	tabCollapse(e, prefix+"dp-", prefix+"tab-container-", "."+prefix+"link", "."+prefix+"tab-container");
835	let id = e.target.id.match(/[^-]+$/)[0];
836	let tab = document.getElementById('ss-gallery-dp-'+id);
837	document.getElementById('ss-dropbtn').textContent = tab.textContent.trim();
838});
839
840/*Gallery Dropdown Tab Collapse */
841uvClickListener(".ss-gallery-link", function(e) {
842	var prefix = 'ss-gallery-';
843	tabCollapse(e, prefix+"dp-", prefix+"tab-container-", "."+prefix+"link", "."+prefix+"tab-container");
844	/*Tab */	
845	tabCollapse(e, prefix+"nav-tab-", prefix+"tab-container-", "."+prefix+"nav-link", "."+prefix+"tab-container");
846	let id = e.target.id.match(/[^-]+$/)[0];
847	let tab = document.getElementById('ss-gallery-dp-'+id);
848	document.getElementById('ss-dropbtn').textContent = tab.textContent.trim();
849	document.querySelector(".ss-dropdown").classList.toggle("active");
850});
851
852/*Gallery Dropdown*/
853uvClickListener(".ss-gallery-btn", function(e) {
854	e.preventDefault();
855	document.querySelector(".ss-dropdown").classList.toggle("active");
856});
857
858/*Open Modal Gallery*/
859function showModalGallery(img){
860	var ssModalGal 	=	document.getElementById("ss-galleryView");
861	var modalContainer 	=	document.getElementById("ssGalImg");
862    document.getElementsByTagName('body')[0].classList.add('bi-modalopen');
863	ssModalGal.classList.add('visible');
864
865	modalContainer.style.width = '100%';
866	modalContainer.setAttribute('data-actual-img', img.id);
867	modalContainer.style.background = "url("+img.url+") no-repeat center center / contain";
868}
869/*Prev Img Modal */
870uvClickListener(".ss-prev-modal", function(e) {
871	e.preventDefault();
872	changeModalImg('prev');
873});
874
875/*Next Img Modal */
876uvClickListener(".ss-next-modal", function(e) {
877	e.preventDefault();
878	changeModalImg('next');
879});
880
881/*Load More Testimonials */
882
883uvClickListener(".ss-testimonials-loadmore", function(e) {
884	e.preventDefault();
885	let posts_per_page = window.innerWidth > 600 ? 4 : 3;
886	var offset = document.querySelectorAll(".ss-testimonial-cite-card").length;
887	
888	var xhr = new XMLHttpRequest();
889	var dataSend = '/wp-admin/admin-ajax.php?action=getmoretestimonials&posts_per_page='+posts_per_page+'&offset='+offset;
890	xhr.open("POST", dataSend, true);
891	xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
892	xhr.setRequestHeader("Accept", "application/json");
893	xhr.onreadystatechange = function () {
894		if (xhr.readyState === 4) {
895			var responseData 	=	JSON.parse(xhr.responseText);
896			if (responseData.data.testimonials) {
897				var container = document.getElementById("ss-testimonials-cite");
898				var list = document.getElementById("ss-testimonials-list");
899				if(!responseData.data.testimonials.match(/ss-testimonials-empty/)){
900					list.innerHTML += responseData.data.testimonials;
901				}
902				else{
903					document.getElementById("ss-testimonials-loadmore").remove();
904					container.innerHTML += responseData.data.testimonials;
905				}
906				uvcheckanimations();
907			}
908		}
909	}
910	xhr.send();
911});
912
913/*Events Tab Collapse*/
914uvClickListener(".ss-events-nav-link", function(e) {
915	var prefix = 'ss-events-';
916	tabCollapse(e,prefix+"nav-link-",prefix+"container-","."+prefix+"nav-link","."+prefix+"container");
917	/*Dropdown */	
918	tabCollapse(e, prefix+"dp-", prefix+"container-", "."+prefix+"link", "."+prefix+"container");
919	let id = e.target.id.match(/[^-]+$/)[0];
920	let tab = document.getElementById('ss-events-dp-'+id);
921	document.getElementById('ss-dropbtn').textContent = tab.textContent.trim();
922});
923
924/*Events Dropdown Tab Collapse */
925uvClickListener(".ss-events-link", function(e) {
926	var prefix = 'ss-events-';
927	tabCollapse(e, prefix+"dp-", prefix+"container-", "."+prefix+"link", "."+prefix+"container");
928	/*Tab */	
929	tabCollapse(e,prefix+"nav-link-",prefix+"container-","."+prefix+"nav-link","."+prefix+"container");
930	let id = e.target.id.match(/[^-]+$/)[0];
931	let tab = document.getElementById('ss-events-dp-'+id);
932	document.getElementById('ss-dropbtn').textContent = tab.textContent.trim();
933	document.querySelector(".ss-dropdown").classList.toggle("active");
934});
935/*Events Dropdown*/
936uvClickListener(".ss-events-btn", function(e) {
937	e.preventDefault();
938	document.querySelector(".ss-dropdown").classList.toggle("active");
939});
940
941/* Events Calendar */
942uvClickListener(".ss-events-calendar", function(e){
943	if(calendarStartDate != undefined && calendarEndDate != undefined){
944		var xhr = new XMLHttpRequest();
945		var start = calendarStartDate.toISOString().split('T')[0];
946		var end = calendarEndDate.toISOString().split('T')[0];
947
948		var dataSend = '/wp-admin/admin-ajax.php?action=getcalendarevents&start='+start+'&end='+end;
949		xhr.open("POST", dataSend, true);
950		xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
951		xhr.setRequestHeader("Accept", "application/json");
952		xhr.onreadystatechange = function () {
953			if (xhr.readyState === 4) {
954				var responseData 	=	JSON.parse(xhr.responseText);
955				if (responseData.data.events) {
956					var prefix = 'ss-events-';
957					var tab = document.getElementById('ss-events-dp-1');
958					var container = document.getElementById("ss-events-container-1");
959					tabCollapse('', prefix+"dp-", prefix+"container-", "."+prefix+"link", "."+prefix+"container",1);
960					tabCollapse('',prefix+"nav-link-",prefix+"container-","."+prefix+"nav-link","."+prefix+"container",1);
961					
962					container.innerHTML = '';
963					container.innerHTML += responseData.data.events;
964					document.getElementById('ss-dropbtn').textContent = tab.textContent.trim();
965
966					uvcheckanimations();
967				}
968			}
969		}
970		xhr.send();
971	}
972});
973
974/* Mobile Open Submenu*/
975uvClickListener(".uv-overmenu-inner .menu-item-has-children", function(e){
976	var id = e.target.closest('li').id.match(/[^-]+$/)[0];
977	var submenu = document.getElementById("uv-submenu-"+id);
978	submenu.classList.remove('hidden');	
979	submenu.classList.add('active');
980});
981/* Mobile Close Submenu*/
982uvClickListener(".mob-submenu-close", function(e){
983	var id = e.target.closest('a').id.match(/[^-]+$/)[0];
984	var submenu = document.getElementById("uv-submenu-"+id);
985	var submenu_class= id == 1113 ? 'close-left' : 'close-bottom';
986	submenu.classList.add(submenu_class);	
987	submenu.classList.add('hidden');	
988	submenu.classList.remove('active');	
989	setTimeout(function() {
990		submenu.classList.remove(submenu_class);
991	}, 1000);
992});
993/* Mobile Back Submenu*/
994uvClickListener(".mob-submenu-back", function(e){
995	var id = e.target.closest('a').id.match(/[^-]+$/)[0];
996	var submenu = document.getElementById("uv-submenu-"+id);
997	submenu.classList.remove('active');	
998	submenu.classList.remove('close-left');
999	submenu.classList.remove('close-bottom');
1000});
1001
1002/*Show More Saunas Park*/
1003var epShowMoreSaunas = 1;
1004
1005uvClickListener(".su-rentalpark-vmlink", function(e) {
1006	epShowMoreSaunas++;
1007
1008	var xhr = new XMLHttpRequest();
1009	var dataSend =	'/wp-admin/admin-ajax.php?action=getmoresaunas&nextPage='+epShowMoreSaunas;
1010	xhr.open("GET", dataSend, true);
1011	xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
1012	xhr.setRequestHeader("Accept", "application/json");
1013
1014	xhr.onreadystatechange = function () {
1015	if (xhr.readyState === 4) {
1016			var responseData 	=	JSON.parse(xhr.responseText);
1017			if (responseData.data.total > 0) {
1018				document.getElementById("su-rentalpark-container").innerHTML += responseData.data.htmlbody;
1019			} else {
1020				document.getElementById("su-rentalpark-container").insertAdjacentHTML("afterend", responseData.data.msgempty);
1021				document.getElementById("su-rentalpark-vmlink").classList.add('uv-hide');
1022			}
1023		}
1024	};
1025	xhr.send();
1026});
1027
1028function changeModalImg(controller){
1029	var modalContainer = document.getElementById("ssGalImg");
1030	var id 	=	modalContainer.dataset.actualImg;
1031	var tabImg = id.split("-");
1032	var allCards = document.querySelectorAll(".ss-gallery-card-"+tabImg[0]);
1033	var prevImg = '';
1034	if(controller == 'prev')
1035		prevImg = tabImg[1] == 0 ? allCards.length - 1 : parseInt(tabImg[1]) - 1;
1036	if(controller == 'next')
1037		prevImg = tabImg[1] == allCards.length - 1 ? 0 : parseInt(tabImg[1]) + 1;
1038
1039	modalContainer.setAttribute('data-actual-img', tabImg[0]+'-'+prevImg);
1040	var imgContent = document.getElementById("ss-gallery-" + tabImg[0] + '-' + prevImg);
1041
1042	var imgDiv = imgContent.querySelector('.ss-gallery-img');
1043	var img = imgDiv.getAttribute('style');
1044	img = img.replace("background:","");
1045	img = img.replace("cover","contain");
1046	modalContainer.style.transition = "all 300ms ease-in-out";
1047	modalContainer.style.background = img;
1048}
1049
1050/*General Tab Collapse*/
1051function tabCollapse(trigger, tab_p, cont_p, tab_active_p, cont_active_p, id_princ = ''){
1052	let id = trigger ? trigger.target.id.match(/[^-]+$/)[0] : id_princ;
1053	let tab = document.getElementById(tab_p + id);
1054	let container = document.getElementById(cont_p+id);
1055	let tab_active = document.querySelector(tab_active_p+'.active');
1056	let container_active = document.querySelector(cont_active_p+'.active');
1057	
1058	container_active.classList.remove('active');
1059	tab_active.classList.remove('active');
1060	container.classList.add('active');
1061	tab.classList.add('active');
1062	uvcheckanimations();
1063}
1064
1065function initSwiper(selector, paginationSelector, breakpoints) {
1066	return new Swiper(selector + ' .swiper-container', {
1067		autoHeight: true,
1068		centeredSlides: false,
1069		watchOverflow: false,
1070		preloadImages: true,
1071		allowTouchMove: true,
1072		spaceBetween: 20,
1073		lazy: true, 
1074		loop: false,
1075		mousewheel: {
1076			enabled: true,
1077			forceToAxis: true,
1078			sensitivity: 1,
1079		},
1080		keyboard: {
1081			enabled: true,
1082			onlyInViewport: false,
1083		},
1084		pagination: {
1085			clickable: true,
1086			el: paginationSelector,
1087		},
1088		breakpoints: breakpoints,
1089	});
1090}
1091uvClickListener("#odm-copylink", function(e) {
1092  e.preventDefault();
1093  const copyText = this.dataset.link;
1094  
1095  navigator.clipboard.writeText(copyText).then(function() {
1096      alert("Link Copied to Clipboard");
1097  }, function() {
1098     
1099  });
1100});

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.