PageSourceSearch

https://www.k6-seminarhotel.de/wp-content/cache/wpfc-minified/g4khtv4w/9k0xz.js

js k6-seminarhotel.de collected 2026-10-04 20:47:48 UTC 14,418 bytes, 506 lines download raw bytes

1(function (){
2if(typeof window.SMAnalytics!=="undefined") return;
3var adapters=[];
4window.SMAnalytics={
5register: function (adapter){
6adapters.push(adapter);
7},
8emit: function (eventName, payload){
9adapters.forEach(function (a){
10try {
11if(typeof a.track==="function") a.track(eventName, payload||{});
12} catch (e){
13console.error(e);
14}});
15},
16};
17var plausibleAdapter={
18track: function (eventName, payload){
19if(typeof window.plausible!=="function") return;
20try {
21window.plausible(eventName, { props: payload||{}});
22} catch (e){
23console.error(e);
24}},
25};
26window.SMAnalytics.register(plausibleAdapter);
27})();
28(function (){
29function translate(text, domain){
30if(window.wp &&
31window.wp.i18n &&
32typeof window.wp.i18n.__==="function"
33){
34return window.wp.i18n.__(text, domain);
35}
36return text;
37}
38function ensureLiveRegion(){
39var existing=document.getElementById("siteminder-live-region");
40if(existing) return existing;
41var region=document.createElement("div");
42region.id="siteminder-live-region";
43region.className="siteminder-sr-only";
44region.setAttribute("role", "status");
45region.setAttribute("aria-live", "polite");
46document.body.appendChild(region);
47return region;
48}
49function emitEvent(name, payload){
50if(typeof window.SMAnalytics!=="undefined" &&
51typeof window.SMAnalytics.emit==="function"
52){
53window.SMAnalytics.emit(name, payload||{});
54}}
55document.addEventListener("click", function (e){
56var el =
57e.target.closest &&
58e.target.closest(".siteminder-book-button, .ibe.siteminder-book-button, .ibe",
59);
60if(el){
61emitEvent("siteminder:cta_click", {
62text: el.textContent ? el.textContent.trim():"",
63});
64}});
65document.addEventListener("DOMContentLoaded", function (){
66var embeds=document.querySelectorAll('.ibe[data-widget="embed"]');
67if(embeds.length){
68embeds.forEach(function (el){
69emitEvent("siteminder:embed_loaded", {
70channel: el.getAttribute("data-channelcode")||"",
71});
72var region=ensureLiveRegion();
73region.textContent=translate("Buchungsmodul geladen.", "siteminder");
74});
75}});
76})();
77(function (){
78function getSourceParam(){
79var params=new URLSearchParams(window.location.search||"");
80return (
81params.get("_src") ||
82params.get("src") ||
83params.get("utm_source") ||
84params.get("source") ||
85""
86);
87}
88function getLocaleValue(){
89var htmlLang=document.documentElement&&document.documentElement.lang;
90if(htmlLang) return htmlLang;
91if(navigator.language) return navigator.language;
92return "";
93}
94function setHiddenInputs(form){
95var sourceInput=form.querySelector("[data-source-input]");
96var localeInput=form.querySelector("[data-locale-input]");
97var source=getSourceParam();
98var locale=getLocaleValue();
99if(sourceInput&&!sourceInput.value&&source){
100sourceInput.value=source;
101}
102if(localeInput&&!localeInput.value&&locale){
103localeInput.value=locale;
104}}
105function init(){
106var forms=document.querySelectorAll("form.siteminder-booking-widget, form.siteminder-booking-form",
107);
108if(!forms.length) return;
109forms.forEach(function (form){
110setHiddenInputs(form);
111});
112}
113document.addEventListener("DOMContentLoaded", init);
114})();
115document.addEventListener("DOMContentLoaded", function (){
116document.querySelectorAll('.ibe[data-widget="embed"][data-use_parent="true"]').forEach(function (el){
117var applyToIframe=function (iframe){
118try {
119iframe.style.width='100%';
120iframe.style.maxWidth='none';
121iframe.style.height='100%';
122iframe.removeAttribute('width');
123iframe.removeAttribute('height');
124} catch (e){}};
125var iframe=el.querySelector('iframe');
126if(iframe){
127applyToIframe(iframe);
128return;
129}
130var mo=new MutationObserver(function (mutations, obs){
131var ifr=el.querySelector('iframe');
132if(ifr){
133applyToIframe(ifr);
134obs.disconnect();
135}});
136mo.observe(el, { childList: true, subtree: true });
137});
138});
139(function (){
140var MONTHS=[
141"Jan",
142"Feb",
143"Mar",
144"Apr",
145"May",
146"Jun",
147"Jul",
148"Aug",
149"Sep",
150"Oct",
151"Nov",
152"Dec",
153];
154var WEEKDAYS=["Mo", "Di", "Mi", "Do", "Fr", "Sa", "So"];
155function pad(value){
156return value < 10 ? "0" + value:String(value);
157}
158function formatISO(date){
159return (
160date.getFullYear() +
161"-" +
162pad(date.getMonth() + 1) +
163"-" +
164pad(date.getDate())
165);
166}
167function formatDisplay(date){
168return pad(date.getDate()) + "." + pad(date.getMonth() + 1) + "." + date.getFullYear();
169}
170function normalizeDate(date){
171return new Date(date.getFullYear(), date.getMonth(), date.getDate());
172}
173function addMonths(date, offset){
174return new Date(date.getFullYear(), date.getMonth() + offset, 1);
175}
176function addDays(date, offset){
177return new Date(date.getFullYear(), date.getMonth(), date.getDate() + offset);
178}
179function isSameDay(a, b){
180return (
181a &&
182b &&
183a.getFullYear()===b.getFullYear() &&
184a.getMonth()===b.getMonth() &&
185a.getDate()===b.getDate()
186);
187}
188function renderMonth(container, monthDate, state){
189var year=monthDate.getFullYear();
190var month=monthDate.getMonth();
191var firstOfMonth=new Date(year, month, 1);
192var startOffset=(firstOfMonth.getDay() + 6) % 7;
193var startDate=new Date(year, month, 1 - startOffset);
194var today=normalizeDate(new Date());
195var html="";
196html +='<div class="siteminder-calendar__header">' + MONTHS[month] + " " + year + "</div>";
197html +='<div class="siteminder-calendar__weekdays">';
198WEEKDAYS.forEach(function (day){
199html +='<div class="siteminder-calendar__weekday">' + day + "</div>";
200});
201html +="</div>";
202html +='<div class="siteminder-calendar__grid">';
203for (var i=0; i < 42; i +=1){
204var dayDate=new Date(startDate.getFullYear(), startDate.getMonth(), startDate.getDate() + i);
205var inMonth=dayDate.getMonth()===month;
206var classes=["siteminder-calendar__day"];
207if(!inMonth) classes.push("is-outside");
208if(isSameDay(dayDate, today)) classes.push("is-today");
209if(state.from&&isSameDay(dayDate, state.from)){
210classes.push("is-range-start", "is-selected");
211}
212if(state.to&&isSameDay(dayDate, state.to)){
213classes.push("is-range-end", "is-selected");
214}
215if(state.from&&state.to){
216var time=dayDate.getTime();
217if(time > state.from.getTime()&&time < state.to.getTime()){
218classes.push("is-in-range");
219}}
220html +=
221'<button type="button" class="' +
222classes.join(" ") +
223'" data-date="' +
224formatISO(dayDate) +
225'">' +
226dayDate.getDate() +
227"</button>";
228}
229html +="</div>";
230container.innerHTML=html;
231}
232function updateLabel(picker, state){
233var trigger=picker.querySelector(".siteminder-range-picker__trigger");
234var fromInput=picker.querySelector('[data-range-input="from"]');
235var toInput=picker.querySelector('[data-range-input="to"]');
236var fromValue=picker.querySelector('[data-range-value="from"]');
237var toValue=picker.querySelector('[data-range-value="to"]');
238if(state.from&&state.to){
239if(fromValue) fromValue.textContent=formatDisplay(state.from);
240if(toValue) toValue.textContent=formatDisplay(state.to);
241fromInput.value=formatISO(state.from);
242toInput.value=formatISO(state.to);
243return;
244}
245if(state.from){
246if(fromValue) fromValue.textContent=formatDisplay(state.from);
247if(toValue) toValue.textContent="Ende";
248fromInput.value=formatISO(state.from);
249toInput.value="";
250return;
251}
252if(fromValue) fromValue.textContent="Start";
253if(toValue) toValue.textContent="Ende";
254fromInput.value="";
255toInput.value="";
256}
257function initPicker(picker){
258if(!picker||picker.getAttribute("data-sm-init")==="1") return;
259var popover=picker.querySelector(".siteminder-range-picker__popover");
260var trigger=picker.querySelector(".siteminder-range-picker__trigger");
261if(!popover||!trigger) return;
262var fromInput=picker.querySelector('[data-range-input="from"]');
263var toInput=picker.querySelector('[data-range-input="to"]');
264var monthEls=popover.querySelectorAll(".siteminder-calendar");
265var baseMonth=new Date();
266baseMonth=new Date(baseMonth.getFullYear(), baseMonth.getMonth(), 1);
267var state={
268from: null,
269to: null,
270};
271if(fromInput&&toInput&&!fromInput.value&&!toInput.value){
272var today=normalizeDate(new Date());
273state.from=today;
274state.to=addDays(today, 1);
275fromInput.value=formatISO(state.from);
276toInput.value=formatISO(state.to);
277}
278if(!popover.querySelector(".siteminder-calendar__nav")){
279var nav=document.createElement("div");
280nav.className="siteminder-calendar__nav";
281nav.innerHTML =
282'<button type="button" class="siteminder-calendar__nav-button" data-nav="prev">&#8249;</button>' +
283'<div class="siteminder-calendar__nav-title"></div>' +
284'<button type="button" class="siteminder-calendar__nav-button" data-nav="next">&#8250;</button>';
285popover.insertBefore(nav, popover.firstChild);
286}
287function updateNavTitle(){
288var navTitle=popover.querySelector(".siteminder-calendar__nav-title");
289var nextMonth=addMonths(baseMonth, 1);
290navTitle.textContent =
291MONTHS[baseMonth.getMonth()] +
292" " +
293baseMonth.getFullYear() +
294" - " +
295MONTHS[nextMonth.getMonth()] +
296" " +
297nextMonth.getFullYear();
298}
299function render(){
300renderMonth(monthEls[0], baseMonth, state);
301renderMonth(monthEls[1], addMonths(baseMonth, 1), state);
302updateNavTitle();
303}
304function toggle(open){
305if(open){
306popover.removeAttribute("hidden");
307}else{
308popover.setAttribute("hidden", "hidden");
309}}
310trigger.setAttribute("data-placeholder", trigger.textContent||"");
311updateLabel(picker, state);
312render();
313trigger.addEventListener("click", function (event){
314event.preventDefault();
315var isOpen = !popover.hasAttribute("hidden");
316toggle(!isOpen);
317});
318popover.addEventListener("click", function (event){
319event.stopPropagation();
320var target=event.target;
321if(target.matches(".siteminder-range-picker__close")){
322toggle(false);
323return;
324}
325if(target.matches(".siteminder-range-picker__reset")){
326state.from=null;
327state.to=null;
328updateLabel(picker, state);
329render();
330return;
331}
332if(target.matches(".siteminder-calendar__nav-button")){
333var dir=target.getAttribute("data-nav");
334baseMonth=addMonths(baseMonth, dir==="prev" ? -1:1);
335render();
336return;
337}
338if(!target.matches(".siteminder-calendar__day")) return;
339var dateStr=target.getAttribute("data-date");
340if(!dateStr) return;
341var parts=dateStr.split("-");
342var picked=new Date(Number(parts[0]), Number(parts[1]) - 1, Number(parts[2]));
343picked=normalizeDate(picked);
344var hadFrom = !!state.from;
345var hadTo = !!state.to;
346if(!state.from||(state.from&&state.to)){
347state.from=picked;
348state.to=null;
349}else if(picked.getTime() < state.from.getTime()){
350state.to=state.from;
351state.from=picked;
352}else{
353state.to=picked;
354}
355updateLabel(picker, state);
356render();
357if(hadFrom&&!hadTo&&state.from&&state.to){
358toggle(false);
359}});
360document.addEventListener("click", function (event){
361if(!popover||popover.hasAttribute("hidden")) return;
362if(picker.contains(event.target)) return;
363toggle(false);
364});
365document.addEventListener("keydown", function (event){
366if(event.key!=="Escape") return;
367if(!popover||popover.hasAttribute("hidden")) return;
368toggle(false);
369});
370picker.setAttribute("data-sm-init", "1");
371}
372document.addEventListener("DOMContentLoaded", function (){
373var pickers=document.querySelectorAll(".siteminder-range-picker");
374if(!pickers.length) return;
375pickers.forEach(function (picker){
376initPicker(picker);
377});
378});
379document.addEventListener("click",
380function (event){
381var trigger=event.target.closest
382? event.target.closest(".siteminder-range-picker__trigger")
383: null;
384if(!trigger) return;
385var picker=trigger.closest(".siteminder-range-picker");
386if(!picker) return;
387if(picker.getAttribute("data-sm-init")!=="1"){
388initPicker(picker);
389}
390var popover=picker.querySelector(".siteminder-range-picker__popover");
391if(popover&&popover.hasAttribute("hidden")){
392popover.removeAttribute("hidden");
393}
394event.preventDefault();
395event.stopPropagation();
396},
397true,
398);
399})();
400(function (){
401function initGuestChooser(chooser){
402if(!chooser||chooser.getAttribute("data-sm-init")==="1") return;
403var trigger=chooser.querySelector(".siteminder-guest-trigger");
404var popover=chooser.querySelector(".siteminder-guest-popover");
405if(!trigger||!popover) return;
406var summary=chooser.querySelector("[data-guest-summary]");
407var inputs=chooser.querySelectorAll("[data-guest-input]");
408function readState(){
409var state={};
410inputs.forEach(function (input){
411var key=input.getAttribute("data-guest-input");
412state[key]=parseInt(input.value||"0", 10);
413});
414return state;
415}
416function updateSummary(state){
417var adults=state.adults||0;
418var children=state.children||0;
419var total=adults + children;
420var label=total===1 ? "1 Gast":total + " Gaeste";
421if(summary) summary.textContent=label;
422}
423function updateCounts(state){
424Object.keys(state).forEach(function (key){
425var countEl=chooser.querySelector('[data-guest-count="' + key + '"]');
426if(countEl) countEl.textContent=String(state[key]);
427});
428}
429function sync(){
430var state=readState();
431updateCounts(state);
432updateSummary(state);
433}
434function setValue(key, value){
435inputs.forEach(function (input){
436if(input.getAttribute("data-guest-input")===key){
437input.value=String(value);
438}});
439}
440trigger.addEventListener("click", function (event){
441event.preventDefault();
442if(popover.hasAttribute("hidden")){
443popover.removeAttribute("hidden");
444}else{
445popover.setAttribute("hidden", "hidden");
446}});
447popover.addEventListener("click", function (event){
448var target=event.target;
449if(target.matches(".siteminder-guest-close")){
450popover.setAttribute("hidden", "hidden");
451return;
452}
453if(target.matches(".siteminder-guest-reset")){
454inputs.forEach(function (input){
455var def=input.getAttribute("data-guest-default");
456input.value=def||"0";
457});
458sync();
459return;
460}
461if(!target.matches("[data-guest-action]")) return;
462var row=target.closest("[data-guest-type]");
463if(!row) return;
464var type=row.getAttribute("data-guest-type");
465var min=parseInt(row.getAttribute("data-guest-min")||"0", 10);
466var state=readState();
467var current=state[type]||0;
468var delta=target.getAttribute("data-guest-action")==="increase" ? 1:-1;
469var next=Math.max(min, current + delta);
470setValue(type, next);
471sync();
472});
473document.addEventListener("click", function (event){
474if(popover.hasAttribute("hidden")) return;
475if(chooser.contains(event.target)) return;
476popover.setAttribute("hidden", "hidden");
477});
478document.addEventListener("keydown", function (event){
479if(event.key!=="Escape") return;
480if(popover.hasAttribute("hidden")) return;
481popover.setAttribute("hidden", "hidden");
482});
483sync();
484chooser.setAttribute("data-sm-init", "1");
485}
486document.addEventListener("DOMContentLoaded", function (){
487var choosers=document.querySelectorAll(".siteminder-guest-chooser");
488if(!choosers.length) return;
489choosers.forEach(function (chooser){
490initGuestChooser(chooser);
491});
492});
493document.addEventListener("click",
494function (event){
495var trigger=event.target.closest
496? event.target.closest(".siteminder-guest-trigger")
497: null;
498if(!trigger) return;
499var chooser=trigger.closest(".siteminder-guest-chooser");
500if(!chooser) return;
501if(chooser.getAttribute("data-sm-init")!=="1"){
502initGuestChooser(chooser);
503}},
504true,
505);
506})();

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.