var MASCH = {}; MASCH.MsgErrAmountRequired = "Bitte geben Sie die Anzahl an!"; MASCH.MsgErrLastNameRequired = "Bitte geben Sie den Nachnamen an!"; MASCH.MsgErrEmailRequired = "Bitte geben Sie die E-Mail-Adresse an!"; MASCH.MsgErrBookingInThePast = "Die ausgewählte Zeit liegt in der Vergangenheit!"; MASCH.MsgErrBookingTooLate = "Die Vorlaufzeit für die Buchung dieser Leistung beträgt {period} {period_unit}. Bitte buchen Sie die gewünschte Leistung mit mindestens {period} {period_unit} ab heute!"; MASCH.EcomMinute = "Minute(n)"; MASCH.EcomHour = "Stunde(n)"; MASCH.EcomDay = "Tag(e)"; MASCH.desiredWidth = 1140; MASCH.currentScript = document.currentScript.src; MASCH.getMyScript = function () { var scripts = document.getElementsByTagName('script'); for (var i = 0; i < scripts.length; i++) { var script = scripts[i]; // you might consider using a regex here if (MASCH.currentScript.indexOf(script.getAttribute('src')) !== -1) { // we've got a match return script; } } return null; }; function getMyAttribute(name) { var scripts = document.getElementsByTagName('script'); for (var i = 0; i < scripts.length; i++) { var script = scripts[i]; // you might consider using a regex here if (script.getAttribute('src') == MASCH.currentScript) { // we've got a match alert(script.getAttribute(name)); } } } MASCH.show_more = function (button) { button.style.display = "none"; var widgets = button.parentNode.parentNode.querySelectorAll(".masch_widget_tile"); for (var i = 0; i < widgets.length; i++) { widgets[i].style.display = "block"; } window.scrollBy(0, 400); } MASCH.reset_filter = function (area_id) { var area = document.getElementById(area_id); var widget_search_field = area.querySelector(".widget_search_field"); if (widget_search_field) { widget_search_field.value = ""; } MASCH.reload_widget_content(area_id); } MASCH.reload_widget_content = function (area_id) { var my_src = MASCH.currentScript.replace(/plugin_widget\.js\.php/, "reload_content.js.php"); my_src += "&area_id=" + area_id; var area = document.getElementById(area_id); var widget_search_field = area.querySelector(".widget_search_field"); if (widget_search_field) { my_src += "&search_key=" + encodeURIComponent(widget_search_field.value); } my_src += "&t=" + new Date().getTime(); var script = document.getElementById("masch_reload_script"); if(script) { document.head.removeChild(script); } script = document.createElement("script"); // create a script DOM node script.id = "masch_reload_script"; document.head.appendChild(script); script.src = my_src; // set its src to the provided URL } MASCH.smart_show_details = function (button, params, width, hide_back) { if(width) MASCH.desiredWidth = width; else MASCH.desiredWidth = 1140; var i_am_in_lightbox = false; var currentParent = button.parentNode; while(currentParent) { if(currentParent.classList && currentParent.id == "masch_preview_wrapper") { i_am_in_lightbox = true; break; } currentParent = currentParent.parentNode; } if(!i_am_in_lightbox) { MASCH.show_details(params); return; } var my_src = MASCH.currentScript.replace(/plugin_widget\.js\.php(.*)/, "inject_content.js.php" + params + "&t=" + new Date().getTime()); var script = document.getElementById("masch_preview_script"); if(script) { document.head.removeChild(script); } script = document.createElement("script"); // create a script DOM node script.id = "masch_preview_script"; document.head.appendChild(script); script.src = my_src; // set its src to the provided URL if(hide_back) return; var masch_preview_back = document.getElementById("masch_preview_back"); if(masch_preview_back) masch_preview_back.style.display = "block"; } MASCH.lastListParams = null; MASCH.show_details = function (params, width) { if(width) MASCH.desiredWidth = width; else MASCH.desiredWidth = 1140; MASCH.lastListParams = params; var masch_preview_wrapper = document.getElementById("masch_preview_wrapper"); if(!masch_preview_wrapper) { masch_preview_wrapper = document.createElement("div"); masch_preview_wrapper.id = "masch_preview_wrapper"; preview = document.createElement("div"); preview.id = "masch_preview"; masch_preview_wrapper.append(preview); var head = document.createElement("div"); head.classList.add("masch_preview_head"); preview.append(head); var close = document.createElement("div"); close.classList.add("masch_preview_close"); head.append(close); var back = document.createElement("div"); back.id = "masch_preview_back"; back.classList.add("masch_preview_back"); head.append(back); var div = document.createElement("div"); div.style.clear = "both"; head.append(div); var area = document.createElement("div"); area.id = "masch_preview_area"; preview.append(area); var outputsize = function() { console.log('oversed height: ' + area.offsetHeight); console.log("Resize on ResizeObserver"); MASCH.resizePreview(); } outputsize(); new ResizeObserver(outputsize).observe(area); document.body.append(masch_preview_wrapper); MASCH.addEvent(close, "click", function() { masch_preview_wrapper.style.display = "none"; area.innerHTML = ""; }); MASCH.addEvent(back, "click", function() { area.innerHTML = ""; var my_src = MASCH.currentScript.replace(/plugin_widget\.js\.php(.*)/, "inject_content.js.php" + MASCH.lastListParams + "&=" + new Date().getTime()); var script = document.getElementById("masch_preview_script"); if(script) { document.head.removeChild(script); } script = document.createElement("script"); // create a script DOM node script.id = "masch_preview_script"; document.head.appendChild(script); script.src = my_src; // set its src to the provided URL this.style.display = "none"; }); MASCH.addEvent(window, "resize", function () { console.log("Resize on window event (show_details)"); MASCH.resizePreview(); }); } var masch_preview_back = document.getElementById("masch_preview_back"); if(masch_preview_back) masch_preview_back.style.display = "none"; masch_preview_wrapper.style.display = "block"; var my_src = MASCH.currentScript.replace(/plugin_widget\.js\.php(.*)/, "inject_content.js.php" + params + "&=" + new Date().getTime()); var script = document.getElementById("masch_preview_script"); if(script) { document.head.removeChild(script); } script = document.createElement("script"); // create a script DOM node script.id = "masch_preview_script"; document.head.appendChild(script); script.src = my_src; // set its src to the provided URL MASCH.executePlugins(); //console.log("show_details main resize"); //MASCH.resizePreview(); } MASCH.resizePreview = function() { var masch_preview = document.getElementById("masch_preview"); if(!masch_preview) return; var wd = window.innerWidth - 50; if(wd > MASCH.desiredWidth) wd = MASCH.desiredWidth; masch_preview.style.width = wd + "px"; var ht = masch_preview.scrollHeight; if(ht > window.innerHeight - 100) { ht = window.innerHeight - 100; masch_preview.style.height = ht + "px"; } else { masch_preview.style.height = "auto"; } if(masch_preview.offsetHeight > window.innerHeight - 100) { ht = window.innerHeight - 100; masch_preview.style.height = ht + "px"; } var top = (window.innerHeight - masch_preview.offsetHeight) / 2; masch_preview_wrapper.style.top = top + "px"; }; MASCH.injectWidget = function(script) { var my_src = MASCH.currentScript.replace(/plugin_widget\.js\.php(.*)/, "masch_widgets.css?tmp=" + new Date().getTime()); var link = document.createElement('link'); link.setAttribute('rel', 'stylesheet'); link.setAttribute('href', my_src); document.head.appendChild(link); link = document.createElement('link'); link.setAttribute('rel', 'stylesheet'); my_src = MASCH.currentScript.replace(/plugin_widget\.js\.php(.*)/, "../../../templates/ecom-caprice-mobile/user.css?tmp=" + new Date().getTime()); link.setAttribute('href', my_src); document.head.appendChild(link); var elm = document.createElement("div"); elm.classList.add("masch_widget_area"); elm.id = "masch_widget_area_" + '9afb38ecaf5dd42d542733367b4210bf'; elm.innerHTML = '
\r\n\r\n
\r\n

Treuepunkte sammeln & Bonus bei zukünftigen Aufenthalten erhalten!

\r\n
\r\n\r\n
\r\n\r\n\"Treuepunkte\r\n\r\n
\r\n\r\n
\r\n

Melden Sie sich hier für unsere Bonus-Programm im Hotel Caprice in Grindelwald an!

\r\n

Wer direkt bei uns bucht & Treuepunkte sammelt, hat mehr von seinem nächsten Aufenthalt. Bezahlen Sie beim nächsten Aufenthalt Upgrades oder ganze Übernachtungen mit Treuepunkten.
Direktbucher*Innen erhalten 5 Punkte alle anderen erhalten 1 Punkt pro Franken Übernachtungsumsatz Ihrem Konto gutgeschrieben.

\r\n
\r\n\r\n
\r\n\r\n\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n

Sie haben noch keine Treupunkte gutgeschrieben bekommen?

\r\n
\r\n\r\n
\r\n\r\n\"Sie\r\n\r\n
\r\n\r\n
\r\n

In der Regel schreiben wir Ihnen Ihre Treuepunkte innerhalb von 14 Tagen nach Ihrem Aufenthalt gut.

\r\n

Sollten wir die Gutschrift noch nicht erteilt haben, senden Sie uns bitte hier eine Erinnerung!

\r\n
\r\n\r\n
\r\n\r\n\r\n\r\n
\r\n\r\n
\r\n\r\n
'; script.parentNode.insertBefore(elm, script); setTimeout(MASCH.executePlugins, 1000); }; MASCH.injectContent = function(html) { console.log("injectContent called"); var masch_preview_area = document.getElementById("masch_preview_area"); if(!masch_preview_area) return; masch_preview_area.innerHTML = html; MASCH.executePlugins(); //console.log("injectContent resize"); //MASCH.resizePreview(); masch_preview_area.scrollTop = 0; MASCH.user_action(); }; MASCH.reloadContent = function(html, area_id) { console.log("reloadContent called"); var masch_preview_area = document.getElementById(area_id); if(!masch_preview_area) return; masch_preview_area.innerHTML = html; MASCH.executePlugins(); }; MASCH.executePlugins = function () { var elms = document.querySelectorAll(".plugin_code_container"); var scripts; if (elms.length == 0) return; for(var i = 0; i < elms.length; i++) { var scripts = elms[i].querySelectorAll("script"); if (scripts.length == 0) continue; if(scripts[0].getAttribute("executed") == 1) continue; var script = document.createElement("script"); document.head.appendChild(script); if(scripts[0].src) script.src = scripts[0].src; scripts[0].setAttribute("executed", 1); } }; MASCH.addEvent = function (oEmt, sEvt, act) { if (!oEmt) return; if (oEmt.addEventListener) oEmt.addEventListener(sEvt, act, false); else if (oEmt.attachEvent) oEmt.attachEvent('on' + sEvt, act); else oEmt['on' + sEvt] = act; }; MASCH.is_mobile = function () { var user_agent = window.navigator.userAgent; var re = new RegExp('(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino', 'i'); if(user_agent.match(re)) return true; re = new RegExp('1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-', 'i'); if(user_agent.substr(0, 4).match(re)) return true; if (user_agent.indexOf("Windows Phone") != -1) return true; if (user_agent.indexOf("Android") !== -1) return true; if (user_agent.indexOf("iPhone") !== -1) return true; return false; }; MASCH.show_ibooking_in_lihtbox = function (ibooking_url, mobile_url, width) { if(width) MASCH.desiredWidth = width; else MASCH.desiredWidth = 1140; if(MASCH.is_mobile()) { //alert("show_ibooking_in_lihtbox mobile"); window.open(mobile_url); return false; } var masch_preview_wrapper = document.getElementById("masch_preview_wrapper"); if(!masch_preview_wrapper) { masch_preview_wrapper = document.createElement("div"); masch_preview_wrapper.id = "masch_preview_wrapper"; preview = document.createElement("div"); preview.id = "masch_preview"; masch_preview_wrapper.append(preview); var head = document.createElement("div"); head.classList.add("masch_preview_head"); preview.append(head); var close = document.createElement("div"); close.classList.add("masch_preview_close"); head.append(close); var back = document.createElement("div"); back.id = "masch_preview_back"; back.classList.add("masch_preview_back"); head.append(back); var div = document.createElement("div"); div.style.clear = "both"; head.append(div); var area = document.createElement("div"); area.id = "masch_preview_area"; preview.append(area); document.body.append(masch_preview_wrapper); MASCH.addEvent(close, "click", function() { masch_preview_wrapper.style.display = "none"; area.innerHTML = ""; }); MASCH.addEvent(back, "click", function() { area.innerHTML = ""; var my_src = MASCH.currentScript.replace(/plugin_widget\.js\.php(.*)/, "inject_content.js.php" + MASCH.lastListParams + "&=" + new Date().getTime()); var script = document.getElementById("masch_preview_script"); if(script) { document.head.removeChild(script); } script = document.createElement("script"); // create a script DOM node script.id = "masch_preview_script"; document.head.appendChild(script); script.src = my_src; // set its src to the provided URL this.style.display = "none"; }); MASCH.addEvent(window, "resize", function () { console.log("Resize on window event (show_ibooking_in_lihtbox)"); MASCH.resizePreview(); }); } var ht = window.innerHeight - 200; var masch_preview_area = document.getElementById("masch_preview_area"); masch_preview_area.innerHTML = "