1<!DOCTYPE html> 2<html lang="en"> 3<head> 4 <meta charset="utf-8" /> 5<title> 6 Prices & informations | Gasthof Toblhof 7</title> 8 9 10<meta http-equiv="X-UA-Compatible" content="IE=edge"> 11<meta name="viewport" content="width=device-width, initial-scale=1"> 12<meta name="generator" content="GravCMS" /> 13 14<link rel="apple-touch-icon" sizes="57x57" href="/user/themes/trendstudio/assets/fav/apple-icon-57x57.png"> 15<link rel="apple-touch-icon" sizes="60x60" href="/user/themes/trendstudio/assets/fav/apple-icon-60x60.png"> 16<link rel="apple-touch-icon" sizes="72x72" href="/user/themes/trendstudio/assets/fav/apple-icon-72x72.png"> 17<link rel="apple-touch-icon" sizes="76x76" href="/user/themes/trendstudio/assets/fav/apple-icon-76x76.png"> 18<link rel="apple-touch-icon" sizes="114x114" href="/user/themes/trendstudio/assets/fav/apple-icon-114x114.png"> 19<link rel="apple-touch-icon" sizes="120x120" href="/user/themes/trendstudio/assets/fav/apple-icon-120x120.png"> 20<link rel="apple-touch-icon" sizes="144x144" href="/user/themes/trendstudio/assets/fav/apple-icon-144x144.png"> 21<link rel="apple-touch-icon" sizes="152x152" href="/user/themes/trendstudio/assets/fav/apple-icon-152x152.png"> 22<link rel="apple-touch-icon" sizes="180x180" href="/user/themes/trendstudio/assets/fav/apple-icon-180x180.png"> 23<link rel="icon" type="image/png" sizes="192x192" href="/user/themes/trendstudio/assets/fav/android-icon-192x192.png"> 24<link rel="icon" type="image/png" sizes="32x32" href="/user/themes/trendstudio/assets/fav/favicon-32x32.png"> 25<link rel="icon" type="image/png" sizes="96x96" href="/user/themes/trendstudio/assets/fav/favicon-96x96.png"> 26<link rel="icon" type="image/png" sizes="16x16" href="/user/themes/trendstudio/assets/fav/favicon-16x16.png"> 27<link rel="manifest" href="/user/themes/trendstudio/assets/fav/manifest.json"> 28<meta name="msapplication-TileColor" content="#ffffff"> 29<meta name="msapplication-TileImage" content="/user/themes/trendstudio/assets/fav/favicon-96x96.png"> 30<meta name="theme-color" content="#ffffff"> 31 32 33 <link href="/user/themes/trendstudio/css/bootstrap.min.css" type="text/css" rel="stylesheet"> 34<link href="/user/themes/trendstudio/css/magnific-popup.css" type="text/css" rel="stylesheet"> 35<link href="/user/themes/trendstudio/css/slick.css" type="text/css" rel="stylesheet"> 36<link href="/user/themes/trendstudio/css/slick-theme.css" type="text/css" rel="stylesheet"> 37<link href="/user/themes/trendstudio/fonts/fontawesome/css/all.css" type="text/css" rel="stylesheet"> 38<link href="/user/themes/trendstudio/css/main.css" type="text/css" rel="stylesheet"> 39<link href="/user/plugins/markdown-notices/assets/notices.css" type="text/css" rel="stylesheet"> 40<link href="/user/plugins/breadcrumbs/css/breadcrumbs.css" type="text/css" rel="stylesheet"> 41<link href="/user/plugins/form/assets/form-styles.css" type="text/css" rel="stylesheet"> 42<link href="/user/plugins/login/css/login.css" type="text/css" rel="stylesheet"> 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 <style> 65 .cookiebar-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);display:none;z-index:9998} 66 .cookiebar{position:fixed;left:18px;right:18px;bottom:18px;max-width:980px;margin:0 auto;background:#5c5c5c;color:#fff;border-radius:12px;padding:16px;z-index:9999;box-shadow:0 10px 30px rgba(0,0,0,.35);font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif} 67 .cookiebar h3{margin:0 0 8px;font-size:16px;line-height: 18px;color:#ffffff;} 68 .cookiebar p{margin:0 0 12px;font-size:14px;line-height:16px;color:#eaeaea} 69 .cookiebar a{color:#eaeaea;text-decoration:underline} 70 .cookiebar a:hover{color:#fff;text-decoration:underline} 71 .cookiebar .cookiebar-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:flex-end} 72 .cookiebtn{appearance:none;border:1px solid rgba(255,255,255,.35);background:transparent;color:#fff;padding:10px 12px;border-radius:10px;font-weight:600;cursor:pointer;font-size:13px;width:auto} 73 .cookiebtn:hover{border:1px solid #5c5c5c;background:#f2f2f2;color:#111;} 74 .cookiebtn.primary{background:#f2f2f2;color:#111;border-color:#f2f2f2} 75 .cookiebtn.primary:hover{background:#5c5c5c;color:#f2f2f2;border-color:#f2f2f2} 76 .cookiebtn.linklike{border:1px solid #5c5c5c;padding:10px 12px;text-decoration:underline;background:transparent} 77 .cookiebtn.linklike:hover{border:1px solid rgba(255,255,255,.35);text-decoration:underline;color:#f2f2f2} 78 79 .cookie-modal{position:fixed;inset:0;display:none;z-index:10000;align-items:center;justify-content:center} 80 .cookie-modal .panel{width:min(720px,calc(100% - 36px));background:#fff;color:#111;border-radius:14px;padding:18px;box-shadow:0 10px 35px rgba(0,0,0,.25);position:relative} 81 .cookie-modal h4{margin:0 0 8px;font-size:18px;color:#111;} 82 .cookie-modal p{margin:0 0 12px;font-size:13px;line-height:1.45;color:#333} 83 .cookie-modal .opt{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-top:1px solid #eee} 84 .cookie-modal .opt:first-of-type{border-top:none} 85 .cookie-modal label{font-weight:bold;cursor:pointer;font-size: 16px;line-height: 16px;} 86 .cookie-modal small{display:block;color:#555;font-size: 13px; line-height: 14px; font-weight:normal;margin-top:2px} 87 .cookie-modal .cookiebtn {border:1px solid #5c5c5c;color:#111;} 88 .cookie-modal .cookiebtn:hover {background: #5c5c5c; color: #f2f2f2; border-color: #f2f2f2;} 89 .cookie-modal .actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:12px} 90 .cookie-modal .closex{position:absolute;top:10px;right:12px;border:none;background:transparent;font-size:18px;
90cursor:pointer} 91 .cookie-note{margin-top:10px;font-size:12px;color:#444} 92 93 .cookie-settings-link{position:fixed;left:18px;bottom:18px;z-index:9997;display:none} 94 .cookie-settings-link button{border:none;background:#5c5c5c;color:#fff;padding:10px 12px;border-radius:999px;cursor:pointer;font-weight:700;font-size:12px;box-shadow:0 10px 30px rgba(0,0,0,.2)} 95 .cookie-settings-link img{width: 28px;height: auto;} 96 97 @media (max-width: 768px) { 98 .cookie-settings-link { bottom: 55px; } 99 } 100 @media (max-width: 440px) { 101 .cookiebar .cookiebar-row { gap: 5px;} 102 .cookiebtn, .cookiebtn.linklike { padding: 7px 5px; } 103 } 104 </style> 105 106
106<script> 107 (function(){ 108 "use strict"; 109 110 const KEY="cookie_prefs_v1"; 111 let __lastPrefs = readPrefs(); 112 const DEFAULTS={necessary:true,analytics:false,marketing:false,external:false}; 113 114 function readPrefs(){ 115 try{ 116 const raw=localStorage.getItem(KEY); 117 if(!raw) return null; 118 const p=JSON.parse(raw); 119 return {necessary:true,analytics:!!p.analytics,marketing:!!p.marketing,external:!!p.external}; 120 }catch(e){ return null; } 121 } 122 123 function savePrefs(prefs){ 124 const safe={necessary:true,analytics:!!prefs.analytics,marketing:!!prefs.marketing,external:!!prefs.external}; 125 localStorage.setItem(KEY, JSON.stringify(safe)); 126 document.cookie="cookie_prefs_set=1; path=/; max-age="+(60*60*24*365); 127 document.dispatchEvent(new CustomEvent("cookie:prefs",{detail:safe})); 128 // Reload erzwingen, wenn Statistik oder Externe Inhalte geändert wurden 129 if ( 130 __lastPrefs && 131 ( 132 (__lastPrefs.analytics && !safe.analytics) || 133 (__lastPrefs.external !== safe.external) 134 ) 135 ) { 136 setTimeout(function(){ 137 location.reload(); 138 }, 50); 139 } 140 141 __lastPrefs = safe; 142 return safe; 143 } 144 145 function hasConsent(cat){ 146 const p=readPrefs(); 147 return !!(p && p[cat]); 148 } 149 150 window.CookiePrefs={readPrefs,savePrefs,hasConsent}; 151 152 const byId=(id)=>document.getElementById(id); 153 154 function openModal(){ 155 const backdrop = byId("cookiebar-backdrop"); 156 const modal = byId("cookie-modal"); 157 if(!backdrop || !modal) return; 158 159 backdrop.style.display = "block"; 160 modal.style.display = "flex"; 161 162 const p = readPrefs() || DEFAULTS; 163 const analytics = byId("c-analytics"); 164 const marketing = byId("c-marketing"); 165 const external = byId("c-external"); 166 167 if(analytics) analytics.checked = !!p.analytics; 168 if(marketing) marketing.checked = !!p.marketing; 169 if(external) external.checked = !!p.external; 170 } 171 172 function closeModal(){ 173 const backdrop = byId("cookiebar-backdrop"); 174 const modal = byId("cookie-modal"); 175 if(!backdrop || !modal) return; 176 177 backdrop.style.display = "none"; 178 modal.style.display = "none"; 179 } 180 181 function hideBarShowLink(){ 182 const bar=byId("cookiebar"), link=byId("cookie-settings-link"); 183 if(bar) bar.style.display="none"; 184 if(link) link.style.display="block"; 185 } 186 187 function initCookieBar(cfg){ 188 if(document.getElementById("cookiebar")) return; 189 190 const analyticsBlock = cfg.showAnalytics ? ` 191 <div class="opt"> 192 <input id="c-analytics" type="checkbox" /> 193 <div> 194 <label for="c-analytics">${cfg.catAnalytics}</label> 195 <small>${cfg.catAnalyticsDescPrefix} <strong>${cfg.analyticsList}</strong></small> 196 </div> 197 </div>` : ''; 198 const marketingBlock = cfg.showMarketing ? ` 199 <div class="opt"> 200 <input id="c-marketing" type="checkbox" /> 201 <div> 202 <label for="c-marketing">${cfg.catMarketing}</label> 203 <small>${cfg.catMarketingDescPrefix} <strong>${cfg.marketingList}</strong></small> 204 </div> 205 </div>` : ''; 206 const externalBlock = cfg.showExternal ? ` 207 <div class="opt"> 208 <input id="c-external" type="checkbox" /> 209 <div> 210 <label for="c-external">${cfg.catExternal}</label> 211 <small>${cfg.catExternalDescPrefix} <strong>${cfg.externalList}</strong></small> 212 </div> 213 </div>` : ''; 214 215 const wrapper=document.createElement("div"); 216 wrapper.innerHTML=` 217 <div class="cookiebar-backdrop" id="cookiebar-backdrop"></div> 218 219 <div class="cookiebar" id="cookiebar"> 220 <h3>${cfg.title}</h3> 221 <p>${cfg.message} <a href="${cfg.privacyHref}">${cfg.privacyLink}</a></p> 222 <div class="cookiebar-row"> 223 <button class="cookiebtn linklike" type="button" id="cookie-open-settings">${cfg.settings}</button> 224 <button class="cookiebtn" type="button" id="cookie-necessary">${cfg.necessaryOnly}</button> 225 <button class="cookiebtn primary" type="button" id="cookie-accept-all">${cfg.acceptAll}</button> 226 </div> 227 </div> 228 229 <div class="cookie-modal" id="cookie-modal" role="dialog" aria-modal="true" aria-label="${cfg.modalTitle}"> 230 <div class="panel"> 231 <button class="closex" type="button" id="cookie-close-x" aria-label="${cfg.close}">â</button> 232 <h4>${cfg.modalTitle}</h4> 233 <p>${cfg.modalIntro}</p> 234 235 <div class="opt"> 236 <input type="checkbox" checked disabled /> 237 <div> 238 <label>${cfg.catNecessary}</label> 239 <small>${cfg.catNecessaryDesc}</small> 240 </div> 241 </div> 242 243 ${analyticsBlock} 244 ${marketingBlock} 245 ${externalBlock} 246 247 ${cfg.recaptchaNote ? `<div class="cookie-note">${cfg.recaptchaNote}</div>` : ``} 248 249 <div class="actions"> 250 <button class="cookiebtn primary" type="button" id="cookie-save">${cfg.save}</button> 251 <button class="cookiebtn" type="button" id="cookie-accept-all-2">${cfg.acceptAll}</button> 252 </div> 253 </div> 254 </div> 255
256 <div class="cookie-settings-link" id="cookie-settings-link"> 257 <button type="button" id="cookie-settings-btn" title="Cookie Settings">${cfg.settingsFooter}</button> 258 </div> 259 `; 260 document.body.appendChild(wrapper); 261 262 byId("cookie-open-settings")?.addEventListener("click", openModal); 263 byId("cookie-settings-btn")?.addEventListener("click", openModal); 264 byId("cookie-close-x")?.addEventListener("click", closeModal); 265 byId("cookiebar-backdrop")?.addEventListener("click", closeModal); 266 267 function acceptAll(){ 268 savePrefs({ 269 analytics: cfg.showAnalytics ? true : false, 270 marketing: cfg.showMarketing ? true : false, 271 external: cfg.showExternal ? true : false 272 }); 273 hideBarShowLink(); closeModal(); 274 } 275 276 byId("cookie-accept-all")?.addEventListener("click", acceptAll); 277 byId("cookie-accept-all-2")?.addEventListener("click", acceptAll); 278 279 byId("cookie-necessary")?.addEventListener("click", function(){ 280 savePrefs({ analytics:false, marketing:false, external:false }); 281 hideBarShowLink(); closeModal(); 282 }); 283 284 byId("cookie-save")?.addEventListener("click", function(){ 285 savePrefs({ 286 analytics: cfg.showAnalytics ? !!byId("c-analytics")?.checked : false, 287 marketing: cfg.showMarketing ? !!byId("c-marketing")?.checked : false, 288 external: cfg.showExternal ? !!byId("c-external")?.checked : false 289 }); 290 hideBarShowLink(); closeModal(); 291 }); 292 293 const existing=readPrefs(); 294 if(existing) hideBarShowLink(); 295 } 296 297 window.initCookieBar = initCookieBar; 298 299 // Externes Oeffnen des Cookie-Modals erlauben (z.B. von YouTube-Guard) 300 document.addEventListener("cookie:open", function(){ 301 openModal(); 302 }); 303 })(); 304 </script>
304 305 306
306<script> 307 // ===== INIT + Loader + Map Renderer ===== 308 document.addEventListener("DOMContentLoaded", function(){ 309 if(!window.initCookieBar) return; 310 311 const cfg = { 312 title: "Cookies & external content", 313 message: "We use necessary cookies to operate the website. Additional cookies\/technologies (analytics and external content) are loaded only with your consent. You can change your selection at any time.", 314 privacyLink: "Privacy policy", 315 privacyHref: "\/impressum", 316 settings: "Settings", 317 necessaryOnly: "Necessary only", 318 acceptAll: "Accept all", 319 modalTitle: "Cookie settings", 320 modalIntro: "Choose which categories you allow. Necessary cookies are always enabled.", 321 close: "Close", 322 catNecessary: "Necessary", 323 catNecessaryDesc: "Required for basic functionality and security.", 324 showAnalytics: true, 325 catAnalytics: "Analytics", 326 catAnalyticsDescPrefix: "If enabled, we load:", 327 analyticsList: "Google Analytics (GA4)", 328 showMarketing: false, 329 catMarketing: "Marketing", 330 catMarketingDescPrefix: "If enabled, we load:", 331 marketingList: "", 332 showExternal: true, 333 catExternal: "External content", 334 catExternalDescPrefix: "If enabled, we load:", 335 externalList: "Google Maps, Weather, Events", 336 save: "Save selection", 337 settingsFooter: '<img src="/user/themes/trendstudio/templates/dsgvo/cookie.png" alt="Cookie settings" />', 338 recaptchaNote: "Note: reCAPTCHA is always active for security reasons and is not managed via the cookie banner." 339 }; 340 341 window.initCookieBar(cfg); 342 343 // Wenn Prefs schon existieren: sofort anwenden 344 if (window.CookiePrefs && window.CookiePrefs.readPrefs()) { 345 document.dispatchEvent(new CustomEvent("cookie:prefs", { detail: window.CookiePrefs.readPrefs() })); 346 } 347 }); 348 349 // Loader nur nach Consent 350 function dsgvoApply(prefs){ 351 if(!prefs) return; 352 353 // Google Analytics (GA4) 354 if(prefs.analytics && !window.__ga_loaded){ 355 window.__ga_loaded=true; 356 var s=document.createElement("script"); 357 s.async=true; 358 s.src="https://www.googletagmanager.com/gtag/js?id=G\u002D2QCQ3B1HM4"; 359 document.head.appendChild(s); 360 window.dataLayer=window.dataLayer||[]; 361 function gtag(){dataLayer.push(arguments);} 362 window.gtag=window.gtag||gtag; 363 gtag('js', new Date()); 364 gtag('config', 'G\u002D2QCQ3B1HM4', { anonymize_ip: true }); 365 } 366 367 // Google Tag Manager (GTM) 368 369 370 // Facebook Pixel 371 372 // Map Renderer: nur wenn googlemaps im Impressum aktiv ist 373 ensureMapState(); 374 ensureWeatherState(); 375 ensureEventsState(); 376 } 377 378 document.addEventListener("cookie:prefs", function(e){ 379 dsgvoApply(e && e.detail ? e.detail : (window.CookiePrefs ? window.CookiePrefs.readPrefs() : null)); 380 }); 381 382 // Google Maps: ein-/ausblenden ohne Reload (wenn du .dsgvo-map verwendest) 383 function ensureMapState() { 384 var boxes = document.querySelectorAll(".dsgvo-map"); 385 if (!boxes.length) return; 386 387 var ok = window.CookiePrefs && window.CookiePrefs.hasConsent("external"); 388 389 boxes.forEach(function (box) { 390 var existing = box.querySelector("iframe"); 391 392 if (!ok) { 393 if (existing) existing.remove(); 394 box.innerHTML = box.dataset.placeholder || ""; 395 return; 396 } 397 398 if (existing) return; 399 400 var src = box.getAttribute("data-map-src"); 401 if (!src) return; 402 403 var iframe = document.createElement("iframe"); 404 iframe.src = src; 405 iframe.width = box.getAttribute("data-width") || "100%"; 406 iframe.height = box.getAttribute("data-height") || "450"; 407 iframe.style.border = "0"; 408 iframe.setAttribute("loading", "lazy"); 409 iframe.setAttribute("referrerpolicy", "strict-origin-when-cross-origin"); 410 iframe.setAttribute("allowfullscreen", ""); 411 412 box.innerHTML = ""; 413 box.appendChild(iframe); 414 }); 415 } 416 417 // Booking Script: ein-/ausblenden ohne Reload (wenn du .dsgvo-booking verwendest) 418 function ensureBookingState() { 419 var boxes = document.querySelectorAll(".dsgvo-booking"); 420 if (!boxes.length) return; 421 422 var ok = window.CookiePrefs && window.CookiePrefs.hasConsent("external"); 423
424 boxes.forEach(function (box) { 425 var placeholder = box.getAttribute("data-placeholder") || ""; 426 427 if (!ok) { 428 box.innerHTML = placeholder; 429 box.removeAttribute("data-booking-loaded"); 430 return; 431 } 432 433 if (box.getAttribute("data-booking-loaded") === "1") return; 434 435 var type = box.getAttribute("data-booking-type") || "suedtirol-old"; 436 var lang = box.getAttribute("data-lang") || "de"; 437 438 // Booking Südtirol alt 439 if (type === "suedtirol-old") { 440 var accId = box.getAttribute("data-accommodation-id"); 441 if (!accId) return; 442 443 box.innerHTML = '<div id="Bs-BookingWidget"></div>'; 444 445 var layout = box.getAttribute("data-layout") || ""; 446 447 window.BsBookingWidget = { 448 accommodationId: accId, 449 lang: lang 450 }; 451 452 if (layout) { 453 window.BsBookingWidget.layout = layout; 454 } 455 456 var oldScript = document.querySelector('script[data-booking-suedtirol-old="1"]'); 457 if (oldScript) oldScript.remove(); 458 459 var scriptOld = document.createElement("script"); 460 scriptOld.src = "https://widget.bookingsuedtirol.com/widget.js"; 461 scriptOld.async = true; 462 scriptOld.setAttribute("data-booking-suedtirol-old", "1"); 463 464 document.body.appendChild(scriptOld); 465 466 box.setAttribute("data-booking-loaded", "1"); 467 return; 468 } 469 470 // Booking Südtirol v2 471 if (type === "suedtirol-v2") { 472 var bookingId = box.getAttribute("data-booking-id"); 473 var propertyId = box.getAttribute("data-property-id"); 474 var privacyUrl = box.getAttribute("data-privacy-url") || "/" + lang + "/impressum"; 475 var termsUrl = box.getAttribute("data-terms-url") || "/" + lang + "/impressum"; 476 477 if (!bookingId || !propertyId) return; 478 479 box.innerHTML = '<div id="Bs-BookingWidget"></div>'; 480 481 function initBookingSuedtirolWidget() { 482 if ( 483 typeof BookingSüdtirol === "undefined" || 484 !BookingSüdtirol.Widgets || 485 !BookingSüdtirol.Widgets.Booking 486 ) { 487 return; 488 } 489 490 BookingSüdtirol.Widgets.Booking("#Bs-BookingWidget", { 491 id: bookingId, 492 propertyId: parseInt(propertyId, 10), 493 lang: lang, 494 privacyURL: privacyUrl, 495 termsURL: termsUrl, 496 onBookingSuccess: function(reservation) {}, 497 onEnquirySuccess: function(reservation) {} 498 }); 499 500 box.setAttribute("data-booking-loaded", "1"); 501 } 502 503 var existingScript = document.querySelector('script[data-booking-suedtirol-v2="1"]'); 504 505 if (existingScript) { 506 if (typeof BookingSüdtirol !== "undefined") { 507 initBookingSuedtirolWidget(); 508 } else { 509 existingScript.addEventListener("load", initBookingSuedtirolWidget, { once: true }); 510 } 511 return; 512 } 513 514 var scriptV2 = document.createElement("script"); 515 scriptV2.id = "booking-suedtirol-js"; 516 scriptV2.src = "https://widget.bookingsuedtirol.com/v2/bundle.js"; 517 scriptV2.defer = true; 518 scriptV2.setAttribute("data-booking-suedtirol-v2", "1"); 519 520 scriptV2.addEventListener("load", initBookingSuedtirolWidget, { once: true }); 521 522 document.body.appendChild(scriptV2); 523 return; 524 } 525 526 // Holidu 527 if (type === "holidu") { 528 var holiduId = box.getAttribute("data-holidu-id"); 529 var height = box.getAttribute("data-height") || "2700"; 530 531 if (!holiduId) return; 532 533 box.innerHTML = 534 '<iframe id="host-websites-widget" width="100%" height="' + height + '" src="https://widget.holiduhost.com/widget/' + holiduId + '?language=' + lang + '" style="border:0;"></iframe>'; 535 536 box.setAttribute("data-booking-loaded", "1"); 537 return; 538 } 539 540 // Beddy 541 if (type === "beddy") { 542 var widgetcode = box.getAttribute("data-widgetcode"); 543 if (!widgetcode) return; 544 545 box.innerHTML = 546 '<beddy-bar lang="' + lang + '" widgetcode="' + widgetcode + '"></beddy-bar>'; 547 548 if (!document.querySelector('script[data-beddy-widget="1"]')) { 549 var beddyScript = document.createElement("script"); 550 beddyScript.src = "https://cdn.beddy.io/bol-v2/prod/beddy-bar-web-component.js"; 551 beddyScript.defer = true; 552 beddyScript.charset = "UTF-8"; 553 beddyScript.setAttribute("data-beddy-widget", "1"); 554 document.body.appendChild(beddyScript); 555 } 556 557 box.setAttribute("data-booking-loaded", "1"); 558 return; 559 } 560 // Yanovis 561 if (type === "yanovis") { 562 var uuid = box.getAttribute("data-uuid"); 563 564 if (!uuid) return; 565 566 box.innerHTML = 567 '<yanovis-booking-widget id="yanovisBookingWidget" uuid="' + uuid + '" lang="' + lang + '"></yanovis-booking-widget>'; 568 569 if (!document.querySelector('script[data-yanovis-widget="1"]')) { 570 var yanovisScript = document.createElement("script"); 571 yanovisScript.src = "https://cdn.yanovis.com/webcomp/yanovis-booking-widget.umd.cjs"; 572 yanovisScript.charset = "utf-8"; 573 yanovisScript.setAttribute("data-yanovis-widget", "1"); 574 575 document.body.appendChild(yanovisScript); 576 } 577 578 box.setAttribute("data-booking-loaded", "1"); 579 return; 580 } 581 }); 582 } 583 // Anfrage Script: ein-/ausblenden ohne Reload (wenn du .dsgvo-anfrage verwendest) 584 function ensureAnfrageState() { 585 586 var boxes = document.querySelectorAll(".dsgvo-anfrage"); 587 if (!boxes.length) return; 588 589 var ok = window.CookiePrefs && window.CookiePrefs.hasConsent("external"); 590
591 boxes.forEach(function(box, index){ 592 593 var placeholder = box.getAttribute("data-placeholder") || ""; 594 595 if (!ok) { 596 box.innerHTML = placeholder; 597 box.removeAttribute("data-anfrage-loaded"); 598 return; 599 } 600 601 if (box.getAttribute("data-anfrage-loaded") === "1") return; 602 603 var type = box.getAttribute("data-anfrage-type") || "hgv"; 604 var lang = box.getAttribute("data-lang") || "de"; 605 606 // ===================== 607 // HGV / Booking Südtirol 608 // ===================== 609 610 if (type === "hgv") { 611 612 var accId = box.getAttribute("data-accommodation-id"); 613 614 if (!accId) return; 615 616 var widgetId = "Bs-EnquiryWidget-" + index; 617 618 box.innerHTML = '<div id="' + widgetId + '"></div>'; 619 620 function initEnquiryWidget() { 621 if ( 622 typeof BookingSüdtirol === "undefined" || 623 !BookingSüdtirol.Widgets || 624 !BookingSüdtirol.Widgets.Enquiry 625 ) { 626 return; 627 } 628 629 BookingSüdtirol.Widgets.Enquiry("#" + widgetId, { 630 accommodationId: accId, 631 lang: lang, 632 onEnquirySuccess: function(reservation) {} 633 }); 634 635 box.setAttribute("data-anfrage-loaded", "1"); 636 } 637 638 var existingScript = document.querySelector('script[data-booking-suedtirol-v2="1"]'); 639 640 if (existingScript) { 641 if (typeof BookingSüdtirol !== "undefined") { 642 initEnquiryWidget(); 643 } else { 644 existingScript.addEventListener("load", initEnquiryWidget, { once: true }); 645 } 646 return; 647 } 648 649 var script = document.createElement("script"); 650 script.id = "booking-suedtirol-js"; 651 script.src = "https://widget.bookingsuedtirol.com/v2/bundle.js"; 652 script.defer = true; 653 script.setAttribute("data-booking-suedtirol-v2", "1"); 654 655 script.addEventListener("load", initEnquiryWidget, { once: true }); 656 657 document.body.appendChild(script); 658 659 return; 660 } 661 662 // ===================== 663 // Internet Consulting 664 // ===================== 665 666 if (type === "inetcons") { 667 668 var companyId = box.getAttribute("data-company-id"); 669 var privacyUrl = ""; 670 671 if (lang === "it") { 672 privacyUrl = box.getAttribute("data-privacy-url-it") || ""; 673 } else if (lang === "en") { 674 privacyUrl = box.getAttribute("data-privacy-url-en") || ""; 675 } else { 676 privacyUrl = box.getAttribute("data-privacy-url-de") || ""; 677 } 678 679 if (!companyId) return; 680 681 var languageId = "1"; 682 683 if (lang === "it") { 684 languageId = "2"; 685 } else if (lang === "en") { 686 languageId = "3"; 687 } 688 689 box.innerHTML = ""; 690 691 function initInetconsWidget() { 692 693 if (typeof SuedtirolcomEnquiryWidget === "undefined") { 694 return; 695 } 696 697 SuedtirolcomEnquiryWidget.showWidget({ 698 siteUrl: "https://widget.inetcons.it", 699 languageid: languageId, 700 companyid: companyId, 701 hiddenfields: { 702 hideroomtype: "true", 703 hidenewsletter: "true" 704 }, 705 colors: { 706 bgcolor: box.getAttribute("data-bgcolor") || "transparent", 707 txtcolor: box.getAttribute("data-txtcolor") || "#525252", 708 inputbgcolor: box.getAttribute("data-inputbgcolor") || "#e1e3e2", 709 inputtxtcolor: box.getAttribute("data-inputtxtcolor") || "#525252", 710 bordercolor: box.getAttribute("data-bordercolor") || "#adadad", 711 inputbordercolor: box.getAttribute("data-inputbordercolor") || "transparent", 712 linkcolor: box.getAttribute("data-linkcolor") || "#9bab64", 713 errorcolor: box.getAttribute("data-errorcolor") || "#FF0000", 714 successcolor: box.getAttribute("data-successcolor") || "#9bab64" 715 }, 716 dataPrivacyUrl: privacyUrl 717 }); 718 719 box.setAttribute("data-anfrage-loaded", "1"); 720 } 721 722 var existingInetconsScript = document.querySelector('script[data-inetcons-enquiry="1"]'); 723 724 if (existingInetconsScript) { 725 if (typeof SuedtirolcomEnquiryWidget !== "undefined") { 726 initInetconsWidget(); 727 } else { 728 existingInetconsScript.addEventListener("load", initInetconsWidget, { once: true }); 729 } 730 return; 731 } 732 733 var inetconsScript = document.createElement("script"); 734 inetconsScript.src = "https://widget.inetcons.it/scripts/enquiry/enquirywidget.js"; 735 inetconsScript.type = "text/javascript"; 736 inetconsScript.setAttribute("data-inetcons-enquiry", "1"); 737 738 inetconsScript.addEventListener("load", initInetconsWidget, { once: true }); 739 740 document.body.appendChild(inetconsScript); 741 742 return; 743 } 744 745 }); 746 } 747 748 // Wetter Script: ein-/ausblenden ohne Reload (wenn du .dsgvo-weather verwendest) 749 function ensureWeatherState() { 750 var boxes = document.querySelectorAll(".dsgvo-weather"); 751 if (!boxes.length) return; 752 753 var ok = window.CookiePrefs && window.CookiePrefs.hasConsent("external"); 754
755 boxes.forEach(function (box, index) { 756 var placeholder = box.getAttribute("data-placeholder") || ""; 757 758 if (!ok) { 759 box.innerHTML = placeholder; 760 box.removeAttribute("data-weather-loaded"); 761 return; 762 } 763 764 if (box.getAttribute("data-weather-loaded") === "1") return; 765 766 var src = box.getAttribute("data-weather-src"); 767 var type = box.getAttribute("data-weather-type") || "siag"; 768 if (!src) return; 769 770 if (type === "siag-simple") { 771 772 var siagId = "meteoprovbz_widget_" + index; 773 774 box.innerHTML = '<div id="' + siagId + '"></div>'; 775 776 var oldSiagSimple = document.querySelector('script[data-weather-siag-simple="' + index + '"]'); 777 if (oldSiagSimple) oldSiagSimple.remove(); 778 779 var siagSimpleScript = document.createElement("script"); 780 siagSimpleScript.src = src; 781 siagSimpleScript.async = true; 782 siagSimpleScript.setAttribute("data-weather-siag-simple", index); 783 784 siagSimpleScript.onload = function () { 785 if (window.meteoprovbz_Widget && window.meteoprovbz_Widget.CreateWidget) { 786 window.meteoprovbz_Widget.CreateWidget( 787 document.getElementById(siagId) 788 ); 789 } 790 }; 791 792 document.body.appendChild(siagSimpleScript); 793 794 box.setAttribute("data-weather-loaded", "1"); 795 796 return; 797 } 798 799 if (type === "iframe") { 800 801 var width = box.getAttribute("data-width") || "100%"; 802 var height = box.getAttribute("data-height") || "800"; 803 804 box.innerHTML = 805 '<iframe src="' + src + '" ' + 806 'name="Wetter" ' + 807 'scrolling="Auto" ' + 808 'frameborder="0" ' + 809 'height="' + height + '" ' + 810 'width="' + width + '"></iframe>'; 811 812 box.setAttribute("data-weather-loaded", "1"); 813 814 return; 815 } 816 817 if (type === "trendstudio") { 818 box.innerHTML = '<div id="rr_wetter_daten"></div>'; 819 820 var oldTrendstudio = document.querySelector('script[data-weather-trendstudio="1"]'); 821 if (oldTrendstudio) oldTrendstudio.remove(); 822 823 var trendScript = document.createElement("script"); 824 trendScript.src = src; 825 trendScript.async = false; 826 trendScript.setAttribute("data-weather-trendstudio", "1"); 827 828 document.body.appendChild(trendScript); 829 830 box.setAttribute("data-weather-loaded", "1"); 831 return; 832 } 833 834 var siagId = "meteoprovbz_widget_" + index; 835 836 box.innerHTML = '<div id="' + siagId + '"></div>'; 837 838 var oldSiag = document.querySelector('script[data-weather-siag="' + index + '"]'); 839 if (oldSiag) oldSiag.remove(); 840 841 var siagScript = document.createElement("script"); 842 siagScript.src = src; 843 siagScript.async = true; 844 siagScript.setAttribute("data-weather-siag", index); 845 846 siagScript.onload = function () { 847 if (window.meteoprovbz_Widget && window.meteoprovbz_Widget.CreateWidget) { 848 window.meteoprovbz_Widget.CreateWidget( 849 document.getElementById(siagId) 850 ); 851 } 852 }; 853 854 document.body.appendChild(siagScript); 855 856 box.setAttribute("data-weather-loaded", "1"); 857 }); 858 } 859 860 // Externe Webcams ein-/ausblenden ohne Reload (wenn du .dsgvo-webcam verwendest) 861 function ensureWebcamState() { 862 var boxes = document.querySelectorAll(".dsgvo-webcam"); 863 if (!boxes.length) return; 864 865 var ok = window.CookiePrefs && window.CookiePrefs.hasConsent("external"); 866 867 boxes.forEach(function(box) { 868 var placeholder = box.getAttribute("data-placeholder") || ""; 869 870 if (!ok) { 871 box.innerHTML = placeholder; 872 box.removeAttribute("data-webcam-loaded"); 873 return; 874 } 875 876 if (box.getAttribute("data-webcam-loaded") === "1") return; 877 878 var src = box.getAttribute("data-webcam-src"); 879 var alt = box.getAttribute("data-alt") || "Webcam"; 880 var type = box.getAttribute("data-type") || "img"; 881 var height = box.getAttribute("data-height") || "800"; 882 883 if (!src) return; 884 885 if (type === "iframe") { 886 box.innerHTML = 887 '<iframe src="' + src + '" ' + 888 'width="100%" ' + 889 'height="' + height + '" ' + 890 'frameborder="0" ' + 891 'scrolling="auto" ' + 892 'allowfullscreen></iframe>'; 893 } else { 894 box.innerHTML = '<img src="' + src + '" alt="' + alt + '" loading="lazy">'; 895 } 896 897 box.setAttribute("data-webcam-loaded", "1"); 898 }); 899 } 900 // Webcam Lightbox Links blockieren wenn keine Zustimmung 901 document.addEventListener("click", function(e){ 902 903 var a = e.target.closest("a.dsgvo-webcam-link"); 904 if (!a) return; 905 906 var ok = window.CookiePrefs && window.CookiePrefs.hasConsent("external"); 907 908 if (ok) return; 909 910 e.preventDefault(); 911 e.stopPropagation(); 912 e.stopImmediatePropagation(); 913 914 alert("Please allow âExternal contentâ to open the webcam."); 915
916 document.dispatchEvent(new CustomEvent("cookie:open")); 917 918 return false; 919 920 }, true); 921 922 // Livestream: ein-/ausblenden ohne Reload (wenn du .dsgvo-livestream verwendest) 923 function ensureLivestreamState() { 924 925 var boxes = document.querySelectorAll(".dsgvo-livestream"); 926 if (!boxes.length) return; 927 928 var ok = window.CookiePrefs && window.CookiePrefs.hasConsent("external"); 929 930 boxes.forEach(function(box, index){ 931 932 var placeholder = box.getAttribute("data-placeholder") || ""; 933 934 if (!ok) { 935 box.innerHTML = placeholder; 936 box.removeAttribute("data-livestream-loaded"); 937 return; 938 } 939 940 if (box.getAttribute("data-livestream-loaded") === "1") return; 941 942 var streamUrl = box.getAttribute("data-stream-url"); 943 if (!streamUrl) return; 944 945 var videoId = "stream-" + index; 946 947 box.innerHTML = 948 '<div class="player-wrapper">' + 949 '<video id="' + videoId + '" class="video-js" controls muted></video>' + 950 '</div>' + 951 '<br><br>'; 952 953 function startStream() { 954 var stream = document.getElementById(videoId); 955 if (!stream || typeof OvenPlayer === "undefined") return; 956 957 var player = OvenPlayer.create(videoId, { 958 autoStart: true, 959 autoFallback: true, 960 mute: true, 961 title: "", 962 sources: [ 963 { 964 label: "stream", 965 type: "webrtc", 966 file: streamUrl 967 } 968 ] 969 }); 970 971 player.on("stateChanged", function(e) { 972 if (e.newstate === "error") { 973 setTimeout(function() { 974 player.remove(); 975 startStream(); 976 }, 2500); 977 } 978 }); 979 } 980 981 if (typeof OvenPlayer !== "undefined") { 982 startStream(); 983 box.setAttribute("data-livestream-loaded", "1"); 984 return; 985 } 986 987 var script = document.createElement("script"); 988 script.src = "https://cdn.jsdelivr.net/npm/ovenplayer/dist/ovenplayer.js"; 989 script.setAttribute("data-livestream-ovenplayer", "1"); 990 991 script.onload = function() { 992 startStream(); 993 box.setAttribute("data-livestream-loaded", "1"); 994 }; 995 996 document.body.appendChild(script); 997 }); 998 } 999 // Angeld Gastropool Script: ein-/ausblenden ohne Reload (wenn du .dsgvo-weather verwendest) 1000 function ensureAngeldState() { 1001 1002 var boxes = document.querySelectorAll(".dsgvo-angeld"); 1003 if (!boxes.length) return; 1004 1005 var ok = window.CookiePrefs && window.CookiePrefs.hasConsent("external"); 1006 1007 boxes.forEach(function(box){ 1008 1009 var placeholder = box.getAttribute("data-placeholder") || ""; 1010 1011 // Cookies nicht erlaubt 1012 if (!ok) { 1013 1014 box.innerHTML = placeholder; 1015 box.removeAttribute("data-angeld-loaded"); 1016 1017 var oldScript = document.querySelector('script[data-angeld-widget="1"]'); 1018 if (oldScript) oldScript.remove(); 1019 1020 return; 1021 } 1022 1023 // Bereits geladen 1024 if (box.getAttribute("data-angeld-loaded") === "1") return; 1025 1026 var token = box.getAttribute("data-angeld-token"); 1027 var lang = box.getAttribute("data-lang") || "de"; 1028 1029 if (!token) return; 1030 1031 // Widget Container 1032 box.innerHTML = '<div id="hgPaymentWidget"></div>'; 1033 1034 // Altes Script entfernen 1035 var old = document.querySelector('script[data-angeld-widget="1"]'); 1036 if (old) old.remove(); 1037 1038 // Neues Script laden 1039 var script = document.createElement("script"); 1040 script.src = "https://secure.gastropool.it/rxwidgets/payment/script/" + lang + "?" + token; 1041 script.defer = true; 1042 script.async = true; 1043 script.type = "text/javascript"; 1044 script.setAttribute("data-angeld-widget", "1"); 1045 1046 document.body.appendChild(script); 1047 1048 box.setAttribute("data-angeld-loaded", "1"); 1049 }); 1050 } 1051 1052 // Karrierre Südtirol + Onboard Job Widget: ein-/ausblenden ohne Reload (wenn du .dsgvo-jobs verwendest) 1053 function ensureJobsState() { 1054 1055 var boxes = document.querySelectorAll(".dsgvo-jobs"); 1056 if (!boxes.length) return; 1057 1058 var ok = window.CookiePrefs && window.CookiePrefs.hasConsent("external"); 1059
1060 boxes.forEach(function(box, index){ 1061 1062 var placeholder = box.getAttribute("data-placeholder") || ""; 1063 1064 if (!ok) { 1065 box.innerHTML = placeholder; 1066 box.removeAttribute("data-jobs-loaded"); 1067 return; 1068 } 1069 1070 if (box.getAttribute("data-jobs-loaded") === "1") return; 1071 1072 var type = box.getAttribute("data-jobs-type") || "karriere-suedtirol"; 1073 1074 // ===================== 1075 // KARRIERE SUEDTIROL 1076 // ===================== 1077 1078 if (type === "karriere-suedtirol") { 1079 1080 var src = box.getAttribute("data-jobs-src"); 1081 var height = box.getAttribute("data-height") || "500"; 1082 1083 if (!src) return; 1084 1085 box.innerHTML = 1086 '<iframe name="Jobs" width="100%" height="' + height + '" src="' + src + '" scrolling="no" marginwidth="0" marginheight="0" style="border:none;"></iframe>'; 1087 1088 box.setAttribute("data-jobs-loaded", "1"); 1089 1090 return; 1091 } 1092 1093 // ===================== 1094 // ONBOARD 1095 // ===================== 1096 1097 if (type === "onboard") { 1098 1099 var lang = box.getAttribute("data-lang") || "en"; 1100 var company = box.getAttribute("data-onboard-company"); 1101 1102 if (!company) return; 1103 1104 var iframeId = "ob-iframe-" + index; 1105 1106 box.innerHTML = 1107 '<iframe class="ob-iframe" ' + 1108 'id="' + iframeId + '" ' + 1109 'src="https://' + company + '.onboard.org/' + lang + '/career" ' + 1110 'scrolling="no" ' + 1111 'width="100%" ' + 1112 'frameborder="0"></iframe>'; 1113 1114 if (!document.querySelector('script[data-onboard-jobs="1"]')) { 1115 1116 var script = document.createElement("script"); 1117 script.src = "https://cdn1.onboard.org/assets/career-external.js"; 1118 script.type = "text/javascript"; 1119 script.setAttribute("data-onboard-jobs", "1"); 1120 1121 document.body.appendChild(script); 1122 } 1123 1124 box.setAttribute("data-jobs-loaded", "1"); 1125 1126 return; 1127 } 1128 1129 }); 1130 } 1131 1132 // Yumpu: ein-/ausblenden ohne Reload (wenn du .dsgvo-yumpu verwendest) 1133 function ensureYumpuState() { 1134 1135 var boxes = document.querySelectorAll(".dsgvo-yumpu"); 1136 if (!boxes.length) return; 1137 1138 var ok = window.CookiePrefs && window.CookiePrefs.hasConsent("external"); 1139 1140 boxes.forEach(function(box, index){ 1141 1142 var placeholder = box.getAttribute("data-placeholder") || ""; 1143 1144 if (!ok) { 1145 box.innerHTML = placeholder; 1146 box.removeAttribute("data-yumpu-loaded"); 1147 return; 1148 } 1149 1150 if (box.getAttribute("data-yumpu-loaded") === "1") return; 1151 1152 var src = box.getAttribute("data-yumpu-src"); 1153 var title = box.getAttribute("data-yumpu-title") || ""; 1154 var link = box.getAttribute("data-yumpu-link") || "#"; 1155 var height = box.getAttribute("data-height") || "369"; 1156 1157 if (!src) return; 1158 1159 box.innerHTML = 1160 '<div style="position:relative;overflow:hidden;height:' + height + 'px;max-width:100%;">' + 1161 '<iframe style="position:absolute;top:0;left:0;width:100%;height:100%;" ' + 1162 'src="' + src + '" ' + 1163 'frameborder="0" ' + 1164 'allowfullscreen="true" ' + 1165 'allowtransparency="true"></iframe>' + 1166 '</div>' + 1167 '<br>' + 1168 '<a href="' + link + '" target="_blank" rel="noopener">' + title + '</a>'; 1169 1170 box.setAttribute("data-yumpu-loaded", "1"); 1171 }); 1172 } 1173 // Landbot Chat: ein-/ausblenden ohne Reload (wenn du .dsgvo-landbot verwendest) 1174 function ensureLandbotState() { 1175 1176 var boxes = document.querySelectorAll(".dsgvo-landbot"); 1177 if (!boxes.length) return; 1178 1179 var ok = window.CookiePrefs && window.CookiePrefs.hasConsent("external"); 1180 1181 boxes.forEach(function(box){ 1182 1183 var placeholder = box.getAttribute("data-placeholder") || ""; 1184 1185 if (!ok) { 1186 box.innerHTML = placeholder; 1187 box.removeAttribute("data-landbot-loaded"); 1188 return; 1189 } 1190 1191 if (box.getAttribute("data-landbot-loaded") === "1") return; 1192 1193 var configUrl = box.getAttribute("data-landbot-config"); 1194 if (!configUrl) return; 1195 1196 function initLandbot() { 1197 if (window.__landbot_loaded) return; 1198 1199 window.__landbot_loaded = true; 1200 1201 var s = document.createElement("script"); 1202 s.type = "module"; 1203 s.async = true; 1204 1205 s.addEventListener("load", function() { 1206 window.__landbot_instance = new Landbot.Livechat({ 1207 configUrl: configUrl 1208 }); 1209 }); 1210 1211 s.src = "https://cdn.landbot.io/landbot-3/landbot-3.0.0.mjs"; 1212 1213 var x = document.getElementsByTagName("script")[0]; 1214 x.parentNode.insertBefore(s, x); 1215 } 1216 1217 window.addEventListener("mouseover", initLandbot, { once: true }); 1218 window.addEventListener("touchstart", initLandbot, { once: true }); 1219 1220 box.innerHTML = ""; 1221 box.setAttribute("data-landbot-loaded", "1"); 1222 }); 1223 } 1224 // Roter Hahn Bewertungs Script: ein-/ausblenden ohne Reload (wenn du .dsgvo-weather verwendest) 1225 function ensureRoterHahnState() { 1226 1227 var boxes = document.querySelectorAll(".dsgvo-roterhahn"); 1228 if (!boxes.length) return; 1229 1230 var ok = window.CookiePrefs && window.CookiePrefs.hasConsent("external"); 1231
1232 boxes.forEach(function(box, index){ 1233 1234 var placeholder = box.getAttribute("data-placeholder") || ""; 1235 1236 if (!ok) { 1237 box.innerHTML = placeholder; 1238 box.removeAttribute("data-roterhahn-loaded"); 1239 return; 1240 } 1241 1242 if (box.getAttribute("data-roterhahn-loaded") === "1") return; 1243 1244 var type = box.getAttribute("data-roterhahn-type") || "roterhahn"; 1245 1246 // ===================== 1247 // ROTER HAHN 1248 // ===================== 1249 1250 if (type === "roterhahn") { 1251 1252 var widgetSrc = box.getAttribute("data-roterhahn-widget"); 1253 if (!widgetSrc) return; 1254 1255 box.innerHTML = '<div id="rhWidget2"></div>'; 1256 1257 var oldInit = document.querySelector('script[data-roterhahn-init="1"]'); 1258 if (oldInit) oldInit.remove(); 1259 1260 var oldWidget = document.querySelector('script[data-roterhahn-widget="1"]'); 1261 if (oldWidget) oldWidget.remove(); 1262 1263 var initScript = document.createElement("script"); 1264 initScript.src = "https://www.roterhahn.it/js/widgets/hofbewertungen/init.js"; 1265 initScript.async = false; 1266 initScript.setAttribute("data-roterhahn-init", "1"); 1267 1268 initScript.onload = function () { 1269 1270 var widgetScript = document.createElement("script"); 1271 widgetScript.src = widgetSrc; 1272 widgetScript.async = false; 1273 widgetScript.setAttribute("data-roterhahn-widget", "1"); 1274 1275 document.body.appendChild(widgetScript); 1276 }; 1277 1278 document.body.appendChild(initScript); 1279 1280 box.setAttribute("data-roterhahn-loaded", "1"); 1281 1282 return; 1283 } 1284 1285 // ===================== 1286 // HOLIDAYCHECK 1287 // ===================== 1288 1289 if (type === "holidaycheck") { 1290 1291 var code = box.getAttribute("data-holidaycheck-code"); 1292 var hotel = box.getAttribute("data-holidaycheck-hotel"); 1293 var hotelUrl = box.getAttribute("data-holidaycheck-url") || "https://www.holidaycheck.de"; 1294 1295 if (!code || !hotel) return; 1296 1297 box.innerHTML = 1298 '<div id="holidaycheck-widget-' + code + '">' + 1299 '<div id="holidaycheck_widget_placeholder-' + hotel + '" style="width:120px;padding:5px;background:#0058a2;">' + 1300 '<a href="' + hotelUrl + '">' + 1301 '<img alt="Hotels mit Hotelbewertungen bei HolidayCheck" src="https://www.holidaycheck.de/widgets/logo_xlarge.png" border="0">' + 1302 '</a>' + 1303 '</div>' + 1304 '</div>'; 1305 1306 var old = document.querySelector('script[data-holidaycheck-widget="1"]'); 1307 if (old) old.remove(); 1308 1309 var script = document.createElement("script"); 1310 script.src = "https://www.holidaycheck.de/widgets?step=code&type=code&options=" + code; 1311 script.type = "text/javascript"; 1312 script.setAttribute("data-holidaycheck-widget", "1"); 1313 1314 document.body.appendChild(script); 1315 1316 box.setAttribute("data-roterhahn-loaded", "1"); 1317 1318 return; 1319 } 1320 1321 }); 1322 } 1323 // LTS Events Script: ein-/ausblenden ohne Reload (wenn du .dsgvo-weather verwendest) 1324 function ensureEventsState() { 1325 1326 var boxes = document.querySelectorAll(".dsgvo-events"); 1327 if (!boxes.length) return; 1328 1329 var ok = window.CookiePrefs && window.CookiePrefs.hasConsent("external"); 1330 1331 boxes.forEach(function(box){ 1332 1333 var placeholder = box.getAttribute("data-placeholder") || ""; 1334 1335 if (!ok) { 1336 box.innerHTML = placeholder; 1337 box.removeAttribute("data-events-loaded"); 1338 return; 1339 } 1340 1341 if (box.getAttribute("data-events-loaded") === "1") return; 1342 1343 var src = box.getAttribute("data-events-src"); 1344 if (!src) return; 1345 1346 box.innerHTML = '<div id="lts-eventfinder">Loading...</div>'; 1347 1348 var old = document.querySelector('script[data-events-widget="1"]'); 1349 if (old) old.remove(); 1350 1351 var script = document.createElement("script"); 1352 script.src = src; 1353 script.async = false; 1354 script.setAttribute("data-events-widget", "1"); 1355 1356 document.body.appendChild(script); 1357 1358 box.setAttribute("data-events-loaded", "1"); 1359 }); 1360 } 1361 1362 // Virtual Tour Iframe: ein-/ausblenden ohne Reload (wenn du .dsgvo-virtualtour verwendest) 1363 function ensureVirtualtourState() { 1364 1365 var boxes = document.querySelectorAll(".dsgvo-virtualtour"); 1366 if (!boxes.length) return; 1367 1368 var ok = window.CookiePrefs && window.CookiePrefs.hasConsent("external"); 1369
1370 boxes.forEach(function(box){ 1371 1372 var placeholder = box.getAttribute("data-placeholder") || ""; 1373 1374 if (!ok) { 1375 box.innerHTML = placeholder; 1376 box.removeAttribute("data-virtualtour-loaded"); 1377 return; 1378 } 1379 1380 if (box.getAttribute("data-virtualtour-loaded") === "1") return; 1381 1382 var url = box.getAttribute("data-url"); 1383 if (!url) return; 1384 1385 var width = box.getAttribute("data-width") || "100%"; 1386 var height = box.getAttribute("data-height") || "800"; 1387 1388 box.innerHTML = 1389 '<iframe loading="lazy" src="' + url + '" frameborder="0" allowfullscreen style="width:' + width + ';height:' + height + 'px;;"></iframe>'; 1390 1391 box.setAttribute("data-virtualtour-loaded", "1"); 1392 }); 1393 } 1394 1395 // Google Calendar: ein-/ausblenden ohne Reload (wenn du .dsgvo-calendar verwendest) 1396 function ensureCalendarState() { 1397 var boxes = document.querySelectorAll(".dsgvo-calendar"); 1398 if (!boxes.length) return; 1399 1400 var ok = window.CookiePrefs && window.CookiePrefs.hasConsent("external"); 1401 1402 boxes.forEach(function(box) { 1403 var placeholder = box.getAttribute("data-placeholder") || ""; 1404 1405 if (!ok) { 1406 box.innerHTML = placeholder; 1407 box.removeAttribute("data-calendar-loaded"); 1408 return; 1409 } 1410 1411 if (box.getAttribute("data-calendar-loaded") === "1") return; 1412 1413 var src = box.getAttribute("data-calendar-src"); 1414 var height = box.getAttribute("data-height") || "600"; 1415 1416 if (!src) return; 1417 1418 box.innerHTML = 1419 '<iframe src="' + src + '" ' + 1420 'style="border:0" ' + 1421 'width="100%" ' + 1422 'height="' + height + '" ' + 1423 'frameborder="0" ' + 1424 'scrolling="no"></iframe>'; 1425 1426 box.setAttribute("data-calendar-loaded", "1"); 1427 }); 1428 } 1429 1430 // Wanderungen: ein-/ausblenden ohne Reload (wenn du .dsgvo-wanderungen verwendest) 1431 function ensureWanderungenState() { 1432 var outdoorBoxes = document.querySelectorAll(".dsgvo-wanderungen"); 1433 var mapBoxes = document.querySelectorAll(".dsgvo-wanderungen-map"); 1434 1435 if (!outdoorBoxes.length && !mapBoxes.length) return; 1436 1437 var ok = window.CookiePrefs && window.CookiePrefs.hasConsent("external"); 1438 1439 outdoorBoxes.forEach(function (box, index) { 1440 var placeholder = box.getAttribute("data-placeholder") || ""; 1441 1442 if (!ok) { 1443 box.innerHTML = placeholder; 1444 box.removeAttribute("data-wanderungen-loaded"); 1445 return; 1446 } 1447 1448 if (box.getAttribute("data-wanderungen-loaded") === "1") return; 1449 1450 var src = box.getAttribute("data-wanderungen-src"); 1451 if (!src) return; 1452 1453 box.innerHTML = ""; 1454 1455 var script = document.createElement("script"); 1456 script.type = "text/javascript"; 1457 script.src = src; 1458 script.async = false; 1459 script.setAttribute("data-wanderungen", index); 1460 1461 box.appendChild(script); 1462 1463 box.setAttribute("data-wanderungen-loaded", "1"); 1464 }); 1465 1466 mapBoxes.forEach(function (box) { 1467 var placeholder = box.getAttribute("data-placeholder") || ""; 1468 1469 if (!ok) { 1470 box.innerHTML = placeholder; 1471 box.removeAttribute("data-wanderungen-map-loaded"); 1472 return; 1473 } 1474 1475 if (box.getAttribute("data-wanderungen-map-loaded") === "1") return; 1476 1477 var src = box.getAttribute("data-map-src"); 1478 if (!src) return; 1479 1480 var iframe = document.createElement("iframe"); 1481 1482 iframe.src = src; 1483 iframe.setAttribute("width", box.getAttribute("data-width") || "100%"); 1484 iframe.setAttribute("height", box.getAttribute("data-height") || "900"); 1485 iframe.setAttribute("frameborder", "0"); 1486 iframe.setAttribute("loading", "lazy"); 1487 1488 iframe.style.width = box.getAttribute("data-width") || "100%"; 1489 iframe.style.height = (box.getAttribute("data-height") || "900") + "px"; 1490 iframe.style.border = "0"; 1491 iframe.style.display = "block"; 1492 1493 box.innerHTML = ""; 1494 box.appendChild(iframe); 1495 1496 box.setAttribute("data-wanderungen-map-loaded", "1"); 1497 }); 1498 } 1499 1500 1501 // YouTube IFRAME: ein-/ausblenden ohne Reload (wenn du .dsgvo-youtube verwendest) 1502 1503 // Elfsight: ein-/ausblenden ohne Reload 1504 1505 document.addEventListener("DOMContentLoaded", function(){ 1506 // Initialer State für Map & Elfsight & Youtube & Booking (falls Prefs existieren) 1507 ensureMapState(); 1508 ensureWeatherState(); 1509 ensureEventsState(); 1510 }); 1511 </script>
1511 1512 1513 1514 1515 1516</head> 1517 1518<body class=" "> 1519 <div class="page-wrapper"> 1520 1521 1522 1523<div class="header-out"> 1524 <header class="container-fluid"> 1525 <div class="row"> 1526 <div class="logo"> 1527 <a href="/en"> 1528 <img src="/user/themes/trendstudio/assets/logo.png" alt="Inn Toblhof"> 1529 </a> 1530 </div> 1531 <div class="logo-scroll"> 1532 <a href="/en"> 1533 <img src="/user/themes/trendstudio/assets/logo-scroll.png" alt="Inn Toblhof"> 1534 </a> 1535 </div> 1536 1537 <div class="around-mobile-btn"> 1538 <div class="mobile-nav-button"> 1539 <div> 1540 <div class="mobile-nav-button__line"></div> 1541 <div class="mobile-nav-button__line"></div> 1542 <div class="mobile-nav-button__line"></div> 1543 </div> 1544 <span>MENU</span> 1545 </div> 1546 </div> 1547 1548 1549 <nav class="mobile-menu"> 1550 <div class="header-slider-menue"> 1551 <ul> 1552 1553 <li> 1554 <a class="" href="/en">Our Rustic Inn</a> 1555 </li> 1556 1557 <li> 1558 <a class="" href="/en/restaurant">Dining</a> 1559 </li> 1560 1561 <li> 1562 <a class="" href="/en/rooms">Staying at our Inn</a> 1563 </li> 1564 1565 <li> 1566 <a class="current" href="/en/preise">Prices & informations</a> 1567 </li> 1568 1569 <li> 1570 <a class="" href="/en/surroundings">Surroundings</a> 1571 </li> 1572 1573 <li> 1574 <a class="" href="/en/events">Events</a> 1575 </li> 1576 1577 <li> 1578 <a class="" href="/en/contact">Contact</a> 1579 </li> 1580 1581 </ul> 1582 <div class="mobile-lang"> 1583 <a href="/de">DE</a> . <a href="/it">IT</a> . <a href="/en">EN</a> 1584 </div> 1585 </div> 1586 </nav> 1587 1588 <div class="header-buttons"> 1589 <a href="tel:+39 0474 678009"><i class="fa-solid fa-phone"></i></a> 1590 <a href="/cdn-cgi/l/email-protection#d8b1b6beb798acb7bab4b0b7bef6b1ac"><i class="fa-solid fa-envelope"></i></a> 1591 <a href="/en/contact"><i class="fa-solid fa-location-dot"></i></a> 1592 <a href="/en/contact">Request</a> 1593 </div> 1594 1595 </div> 1596 </header> 1597 <div class="header-dummy"></div> 1598</div> 1599 1600 1601 <div class="banner-section banner-section-subpage"> 1602 <div class="slick-slider"> 1603 <div class="slide"> 1604 <img src="/images/6/5/b/4/1/65b41e65b92d6da43d0ff0843315fee4913fe774-slider.jpg" /> 1605 </div> 1606 </div> 1607 </div> 1608 <!-- Mobile Sidebar bottom --> 1609<div class="mobile-sidebar"> 1610 <a href="tel:+39 0474 678009"><i class="fa-solid fa-phone"></i></a> 1611 <a href="/cdn-cgi/l/email-protection#660f080009261209040a0e0900480f12"><i class="fa-solid fa-envelope"></i></a> 1612 <a href="/en/contact"><i class="fa-solid fa-location-dot"></i></a> 1613 <a href="/en/contact">Request</a> 1614</div> 1615 1616<section class="page-content"> 1617 <div class="container"> 1618 <div class="row"> 1619 <div class="col-xl-6 col-lg-7 col-md-12"> 1620 <h1>Our prices</h1> 1621 <div class="col-lg-10"> 1622 <p><strong>Bed & breakfast:</strong> 40,00 ⬠- 45,00 â¬</p> 1623<p><strong>Half board:</strong> 55,00 ⬠- 65,00 â¬</p> 1624 </div> 1625 </div> 1626 <div class="col-xl-6 col-lg-5 col-md-6 herzbild"> 1627 <img src="/images/1/4/9/c/6/149c68429299c20e4ec297bf24e95a168084612e-herz.png" alt="Inn Toblhof" /> 1628 </div> 1629 </div> 1630 <div class="row"> 1631 <div class="col-lg-12"> 1632 <h5>Informations</h5> 1633<p><strong>Prices and reductions</strong><br><br /> 1634All prices are per person per night, VAT included.<br><br /> 1635The local tourism charge for all people over 14 years old is 1,75 ⬠per person per night.</p> 1636<p><strong>Reductions for children</strong><br><br /> 1637Family room: children up to 3 years in the parents' room free of charge.<br><br /> 1638Children from 3-8 years in the parents' room : - 50%<br><br /> 1639Children from 8-10 years in parents' room : - 20%</p> 1640<p><strong>Pets</strong><br><br /> 1641Pets are welcome. The price is 5⬠per pet per night without food.</p> 1642<p><strong>Supplements and conditions of payment</strong><br><br /> 1643Deposit: We require written reservations by email. The reservation is secured once the deposit of 100,00 ⬠per week has been paid.<br><br /> 1644Please use your name as a reference when transferring the sum.<br><br /> 1645Payment: Please pay in cash (cash can be withdrawn via the cash machine on site).<br><br /> 1646Since 1 January 2023, when Decree-Law No. 201/2011 came into force, it is no longer permitted to pay sums in excess of 4.999,99 Euro in cash. The following payment methods are permitted: non-transferable cheque, bank transfer.</p> 1647<p><strong>Conditions of arrival and departure</strong><br><br /> 1648Check-in: From 2 o´clock pm. Please let us know if you expect to arrive late.<br><br /> 1649Check-out: Until 10 o´clock am. Other departure times can be arranged on request.</p> 1650<p><strong>Cancellations</strong><br><br /> 1651In the event of cancellations at short notice (1 week before the commencement of your booking), we will retain your deposit. In the event of a late arrival or an early departure, we charge 25% of the remaining cost of the booking. Thank y
1651ou for your understanding.</p> 1652<p><strong>Disclaimers</strong><br><br /> 1653We do our utmost to ensure that the information on this website is correct and complete. However, we cannot accept any liability or provide any guarantee that the information provided here is up to date, correct, or complete. We reserve the right to change or amend the information without prior notice. The respective offer or booking confirmation is binding. Although we carefully check, we cannot assume any liability for the content of external links. Liability for the content of linked webpages is assumed exclusively by their providers.</p> 1654<p><strong>Data protection</strong><br><br /> 1655In accordance with GDPR, your data will be used and stored exclusively for processing your application and will not be communicated or disseminated to third parties. You are entitled to all rights regarding data processing, in line with GDPR. The legal owner is Irmgard Werner. You can find more information about your rights <a href="/en/impressum/">here</a>.</p> 1656 </div> 1657 </div> 1658 </div> 1659</section> 1660 1661 1662 1663 1664<section class="footer-img"> 1665 <img src="/images/0/0/4/a/6/004a69b295d46af0824e9e213ebaa0c80d507c76-footer.jpg" alt="Inn Toblhof"> 1666 <a href="/en/contact#google-map"><img src="/user/themes/trendstudio/assets/map.jpg" alt="Map" class="map-img"></a> 1667</section> 1668 1669<footer> 1670 <section class="footer"> 1671 <div class="container"> 1672 <div class="row"> 1673 <div class="col-xl-3 col-lg-6 col-sm-6 col-12"> 1674 <p class="titel">Inn Toblhof</p> 1675 <p>Family Werner<br> 1676 Via Riva di Tures 42<br> 1677 39032 Campo Tures<br> 1678 T- <a href="tel:+39 0474 678009">+39 0474 678009</a><br> 1679 <a class="mail" href="/cdn-cgi/l/email-protection#98f1f6fef7d8ecf7faf4f0f7feb6f1ec"><span class="__cf_email__" data-cfemail="95fcfbf3fad5e1faf7f9fdfaf3bbfce1">[email protected]</span></a></p> 1680 </div> 1681 <div class="col-xl-4 col-lg-6 col-sm-6 col-12 open"> 1682 <p class="titel">Opening hours</p> 1683 <p><strong>Bar:</strong> 08:00 - 23:00<br><br /> 1684<strong>Lunchtime:</strong> 11:30 - 13:30 wintertime<br><br /> 168511:30 - 14:00 summertime<br><br /> 1686<strong>Dinnertime:</strong> 18:30 - 20:00 wintertime<br><br /> 168718:30 - 21:00 summertime</p> 1688 </div> 1689 <div class="col-xl-3 col-lg-6 col-sm-6 col-12"> 1690 <p class="titel">Weather</p> 1691 <div class="dsgvo-weather" 1692 data-weather-type="trendstudio" 1693 data-weather-src="https://wetter.trendstudio.it/weather/weather.js?date_mode=short&date_show=true&date_modulation=only_dates&ort=bruneck&lang=en" 1694 data-placeholder="<p>Please accept cookies in order to load the weather widget. 1695 </p>" 1696 style="width:fit-content;text-align:center;"> 1697 Please accept cookies in order to load the weather widget. 1698 </div> 1699 </div> 1700 <div class="col-xl-2 col-lg-6 col-sm-6 col-12"> 1701 <p class="titel">Follow us</p> 1702 <ul class="social-icon"> 1703 <li> 1704 <a href="https://www.facebook.com/people/Gasthof-Toblhof/100090749524890/" target="_blank"> 1705 <i class="fa-brands fa-facebook"></i> 1706 </a> 1707 </li> 1708 <li> 1709 <a href="#" target="_blank"> 1710 <i class="fa-brands fa-instagram-square"></i> 1711 </a> 1712 </li> 1713 <li> 1714 <a href="#" target="_blank"> 1715 <i class="fa-brands fa-whatsapp"></i> 1716 </a> 1717 </li> 1718 </ul> 1719 </div> 1720 </div> 1721 </div> 1722 </section> 1723</footer> 1724 1725<!-- Footer Logos --> 1726<div class="footer-logos"> 1727 <div class="container"> 1728 <div class="row"> 1729 <ul> 1730 <li> <a target="_blank" href="http://www.gemeinde.sandintaufers.bz.it/"> <img src="/user/themes/trendstudio/assets/logos/sand-in-taufers.png" alt="Sand in Taufers"></a></li> 1731 <li> <a target="_blank" href="https://www.ahrntal.com/de/winterurlaub-im-ahrntal/skigebiete/skigebiete-ahrntal.html"> <img src="/user/themes/trendstudio/assets/logos/skiworld-ahrntal.png" alt="Skiworld Ahrntal"></a></li> 1732 <li> <a target="_blank" href="https://www.ahrntal.com/"> <img src="/user/themes/trendstudio/assets/logos/ahrntal.png" alt="Ahrntal"></a></li> 1733 <li> <a target="_blank" href="https://www.suedtirol.info/"><img src="/user/themes/trendstudio/assets/logos/suedtirol.png" alt="Südtirol"></a></li> 1734 </ul> 1735 </div> 1736 </div> 1737</div> 1738 1739<!-- Copyright --> 1740<div class="copyright"> 1741 <div class="container"> 1742 <div class="row"> 1743 <p> 1744 <a href="/en/impressum">Impressum & Privacy</a> 1745 </p> 1746 <p class="by">© Inn Toblhof | VAT: 02541650210 | by <a target="_blank" href="https://www.trendstudio.it/">TRENDSTUDIO</a></p> 1747 </div> 1748 </div> 1749</div> 1750 1751 </div> 1752 1753 1754<!--[if lt IE 7]> 1755 <p class="browsehappy">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p> 1756 <![endif]-->
vendor: 144 bytes, lines 1756-1762
1756 1757 1758 1759 1760 1761 1762<script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
1762<script src="/user/themes/trendstudio/js/jquery.js"></script>
vendor: 1 bytes, line 1762
1762
1763<script src="/user/themes/trendstudio/js/popper.min.js"></script>
vendor: 1 bytes, line 1763
1763
1764<script src="/user/themes/trendstudio/js/bootstrap.min.js"></script>
vendor: 1 bytes, line 1764
1764
1765<script src="/user/themes/trendstudio/js/jquery.mCustomScrollbar.concat.min.js"></script>
vendor: 1 bytes, line 1765
1765
1766<script src="/user/themes/trendstudio/js/jquery.fancybox.js"></script>
vendor: 1 bytes, line 1766
1766
1767<script src="/user/themes/trendstudio/js/appear.js"></script>
vendor: 1 bytes, line 1767
1767
1768<script src="/user/themes/trendstudio/js/owl.js"></script>
vendor: 1 bytes, line 1768
1768
1769<script src="/user/themes/trendstudio/js/wow.js"></script>
vendor: 1 bytes, line 1769
1769
1770<script src="/user/themes/trendstudio/js/parallax.min.js"></script>
vendor: 1 bytes, line 1770
1770
1771<script src="/user/themes/trendstudio/js/tilt.jquery.min.js"></script>
vendor: 1 bytes, line 1771
1771
1772<script src="/user/themes/trendstudio/js/jquery.paroller.min.js"></script>
vendor: 1 bytes, line 1772
1772
1773<script src="/user/themes/trendstudio/js/jquery-ui.js"></script>
vendor: 1 bytes, line 1773
1773
1774<script src="/user/themes/trendstudio/js/jquery.magnific-popup.js"></script>
vendor: 1 bytes, line 1774
1774
1775<script src="/user/themes/trendstudio/js/slick.min.js"></script>
vendor: 1 bytes, line 1775
1775
1776<script src="/user/themes/trendstudio/js/script.js"></script>
1776 1777 1778 1779
1780<script>(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a417c0a388226089',t:'MTc5MDQ4MzIxMA=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script>
1780<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"08e2892fd3804fdeb1032c4c135e1c51","r":1,"spa":2}' crossorigin="anonymous"></script>
1780 1781</body> 1782</html>
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.