{"version":3,"file":"site.min.js","sources":["../../../site/js/site.js","../../../site/js/slider.js","../../../scripts/cookieconsent/cookieconsent.umd.js","../../../scripts/cookieconsent/cookieconsent-init.js","../../../site/js/acco.js","../../../scripts/knockout-3.0.0.js","../../../scripts/knockout.mapping-latest.js","../../../scripts/jquery.dotdotdot.min.js","../../../site/js/enquiry.js","../../../site/js/eventtarget.polyfill.js","../../../site/js/mediaquerymanager.js","../../../site/js/ads.js"],"sourcesContent":["\r\nfunction GardaseeContext() {\r\n this.language = null;\r\n this.funnel = undefined;\r\n this.GACustomVarSlot = undefined;\r\n this.GACustomVarName = undefined;\r\n this.GACustomVarValue = undefined;\r\n this.GACustomVarScope = undefined;\r\n //this.GaTrackingLabel = '';\r\n this.MinWidthResponsive = 768;\r\n this.map = undefined;\r\n this.mapId = 'map';\r\n this.isAccosPage = false;\r\n this.noHeader = false;\r\n}\r\n\r\nwindow.gardaseeContext = $.extend(new GardaseeContext(), window.gardaseeContext);\r\n\r\n$(document).ready(function() {\r\n\r\n setup_heroFixed();\r\n\r\n $('#enquiryqb-arrival').RangeDatepick({\r\n inputFrom: '#enquiryqb-arrival',\r\n inputTo: '#enquiryqb-departure',\r\n elementToFocusOnClose: '#enquiryqb-enquirysent',\r\n maxMonthsToShow: 2,\r\n lang: gardaseeContext.language\r\n });\r\n\r\n\r\n $(\"img[data-src!='']\").each(function() {\r\n $(this).attr(\"src\", $(this).data(\"src\"));\r\n });\r\n\r\n $(\"img[data-href!='']\").each(function() {\r\n $(this).attr(\"href\", $(this).data(\"href\"));\r\n });\r\n\r\n $(\"[data-gotolink]\").click(function() {\r\n gotoLink(this);\r\n });\r\n\r\n if ($(\".rsHeader .rsContent\").size() > 0) {\r\n $(\".rsHeader\").royalSlider({\r\n controlNavigation: 'none',\r\n imageScaleMode: 'fill',\r\n //imageAlignCenter:false,\r\n delay: 7000,\r\n autoPlay: {\r\n enabled: true,\r\n delay: 7000,\r\n pauseOnHover: false\r\n },\r\n transitionType: 'fade'\r\n });\r\n }\r\n if ($(\".background .rsContent\").size() > 0) {\r\n $(\".background\").royalSlider({\r\n controlNavigation: 'none',\r\n imageScaleMode: 'none',\r\n delay: 10000,\r\n autoScaleSlider: false,\r\n autoHeight: false,\r\n autoPlay: {\r\n enabled: true,\r\n delay: 7000,\r\n pauseOnHover: false\r\n },\r\n transitionType: 'fade'\r\n });\r\n }\r\n\r\n if ($('.mediastrip').size() > 0) {\r\n $('.mediastrip').mediastrip({ lazyLoading: false });\r\n }\r\n\r\n // Fix all checkboxes true false\r\n $('input[data-setbool]').on(\"change\", function() {\r\n if (this.checked) {\r\n $(this).val(\"true\");\r\n } else {\r\n $(this).val(\"false\");\r\n }\r\n }).change();\r\n\r\n\r\n // live watch #bestPrice click\r\n $(document).on('click', '#bestPrice', function() {\r\n if ($(\"#bestPriceSection\").is(\":hidden\")) {\r\n $(\"#bestPriceSection\").slideDown();\r\n }\r\n else {\r\n $(\"#bestPriceSection\").slideUp();\r\n }\r\n });\r\n\r\n BindGaTracking();\r\n //ScrollToHash();\r\n\r\n FancyboxDefaults();\r\n});\r\n\r\n\r\nfunction setup_heroFixed() {\r\n var $topmenu = $('.topmenu');\r\n var $enquirybar = $('.enquirybar');\r\n var $accobar = $('.accobar');\r\n\r\n var $body = $('body');\r\n var $window = $(window);\r\n\r\n var enquirybarStickyOffset = 0;\r\n var accobarStickyOffset = 0;\r\n\r\n if ($enquirybar.size() > 0) {\r\n enquirybarStickyOffset = ($enquirybar.offset().top) - ($topmenu.height());\r\n\r\n // fix for noheader pages\r\n if (gardaseeContext.noHeader && parseInt($enquirybar.offset().top - $window.scrollTop()) == 90) {\r\n enquirybarStickyOffset = -1;\r\n }\r\n }\r\n\r\n if ($accobar.size() > 0) {\r\n accobarStickyOffset = ($accobar.offset().top - $window.scrollTop()) - ($topmenu.height()) - $enquirybar.height();\r\n }\r\n\r\n var heroFixed = function () {\r\n var y = $window.scrollTop();\r\n\r\n // Wenn auf AccosPage\r\n if (y > enquirybarStickyOffset) {\r\n $body.addClass('hero-fixed');\r\n $enquirybar.css('top', $topmenu.outerHeight());\r\n } else {\r\n $enquirybar.css('top', '');\r\n $body.removeClass('hero-fixed');\r\n }\r\n\r\n // Wenn auf AccoPage\r\n if ($accobar.size() > 0) {\r\n if (y >= accobarStickyOffset) {\r\n $body.addClass('accobar-fixed');\r\n $accobar.css('top', $topmenu.outerHeight());\r\n } else {\r\n $body.removeClass('accobar-fixed');\r\n }\r\n }\r\n\r\n // um die navbar tu verkleinern\r\n if (y >= 400) {\r\n $body.addClass('navbar-small');\r\n } else {\r\n $body.removeClass('navbar-small');\r\n }\r\n };\r\n\r\n // um die berechnung für jedes frame durchzuführen, weil onscroll zu langsam ist.\r\n requestAnimationFrame(function heroFixedCalculation() {\r\n heroFixed();\r\n requestAnimationFrame(heroFixedCalculation);\r\n });\r\n /* ------- */\r\n}\r\n\r\n// Goto LINK - Sucht nächstliegendes a tag und linkt dahin\r\nfunction gotoLink(htmlElement) {\r\n\r\n var destinationURL = \"\";\r\n var target = \"\";\r\n\r\n if (htmlElement.href) {\r\n destinationURL = htmlElement.href;\r\n target = htmlElement.getAttribute(\"target\");\r\n } else {\r\n if (htmlElement.childNodes) {\r\n if (htmlElement.getElementsByTagName(\"a\")) {\r\n destinationURL = htmlElement.getElementsByTagName(\"a\")[0].href;\r\n target = htmlElement.getElementsByTagName(\"a\")[0].getAttribute(\"target\");\r\n }\r\n }\r\n }\r\n\r\n if (/MSIE (\\d+\\.\\d+);/.test(navigator.userAgent)) {\r\n var referLink = document.createElement('a');\r\n referLink.href = destinationURL;\r\n referLink.target = target;\r\n document.body.appendChild(referLink);\r\n referLink.click();\r\n } else if (target == \"_blank\") {\r\n window.open(destinationURL);\r\n } else {\r\n location.href = destinationURL;\r\n }\r\n}\r\n\r\n//trick um bei ipad das hover zu aktivieren:\r\ndocument.addEventListener('touchstart', function(e) {\r\n}, false);\r\n\r\n\r\nfunction SetValidationAttributes() {\r\n var $jQval = $.validator,\r\n adapters,\r\n data_validation = \"unobtrusiveValidation\";\r\n\r\n function setValidationValues(options, ruleName, value) {\r\n options.rules[ruleName] = value;\r\n if (options.message) {\r\n options.messages[ruleName] = options.message;\r\n }\r\n }\r\n\r\n $jQval.addMethod(\"selectnone\", function(value, element, param) {\r\n // check if dependency is met\r\n if (!this.depend(param, element))\r\n return \"dependency-mismatch\";\r\n return element.checked;\r\n });\r\n\r\n $.validator.unobtrusive.adapters.add(\"selectnone\", function(options) {\r\n setValidationValues(options, \"selectnone\", true);\r\n });\r\n\r\n $jQval.unobtrusive.parse();\r\n}\r\n\r\nfunction OpenModal(title, content) {\r\n var dynModal = $('#myModal');\r\n dynModal.find(\"#myModalLabel\").html(title);\r\n dynModal.find(\".modal-body\").html(content);\r\n SetModalSize('#myModal', 'large');\r\n dynModal.modal('show');\r\n\r\n $(dynModal).find('[data-src!=\"\"]').each(function() {\r\n $(this).attr(\"src\", $(this).data(\"src\"));\r\n });\r\n}\r\n\r\nfunction SetModalSize(id, type) {\r\n var dynModal = $(id);\r\n if (type == \"small\") {\r\n $(dynModal).addClass(\"modal-small\");\r\n $(dynModal).removeClass(\"modal-large\");\r\n } else {\r\n $(dynModal).removeClass(\"modal-small\");\r\n $(dynModal).addClass(\"modal-large\");\r\n }\r\n}\r\n\r\n\r\nfunction BindGaTracking() {\r\n $('a[data-gaq]').unbind('click', GaTrackEvent);\r\n $('a[data-gaq]').bind('click', GaTrackEvent);\r\n}\r\n\r\nfunction GaTrackEvent() {\r\n var data = ($(this).attr('gaq') || $(this).data('gaq')).split(\"|\");\r\n var cat = data[0];\r\n var act = data[1];\r\n var lab = data[2];\r\n window.siteEvent(cat, act, lab);\r\n}\r\n\r\nfunction linkImage(htmlElement) {\r\n var destinationURL = \"\";\r\n var target = \"\";\r\n\r\n if (htmlElement.href) {\r\n destinationURL = htmlElement.href;\r\n target = htmlElement.getAttribute(\"target\");\r\n }\r\n else {\r\n if ($(htmlElement).find(\".themeteaser-title\").length > 0) {\r\n destinationURL = $(htmlElement).find(\".themeteaser-title\").find(\"a\").attr(\"href\");\r\n target = $(htmlElement).find(\".themeteaser-title\").find(\"a\").attr(\"target\");\r\n }\r\n else{\r\n destinationURL = $(htmlElement).find(\".accotypeTeaser-title\").find(\"a\").attr(\"href\");\r\n target = $(htmlElement).find(\".accotypeTeaser-title\").find(\"a\").attr(\"target\");\r\n }\r\n }\r\n\r\n if (target == \"_blank\") {\r\n window.open(destinationURL);\r\n }\r\n else {\r\n location.href = destinationURL;\r\n }\r\n}\r\n\r\nfunction ScrollToHash() {\r\n var hash = document.location.hash;\r\n if (hash != \"\") {\r\n\r\n var hashSplitted = hash.split(\"|\");\r\n DisableClick($(hashSplitted[0]).parent());\r\n DisableClick($('a[href^=' + hashSplitted[0] + ']').parent());\r\n\r\n $('a[href^=' + hashSplitted[0] + ']').click();\r\n\r\n $(hashSplitted[0]).click();\r\n //alert(hashSplitted.length);\r\n for (var i = 0; i < hashSplitted.length; i++) {\r\n\r\n //if (i > 0 && (hash.indexOf(\"accobook\") == -1 || hash.indexOf(\"package\") == -1)) {\r\n if (i > 0) {\r\n if ($('#' + hashSplitted[i]).length > 0) {\r\n $.scrollTo($('#' + hashSplitted[i]), 1000, { offset: -250 });\r\n $('#' + hashSplitted[i]).css(\"background-color\", \"#FAFAFA\");\r\n $('#' + hashSplitted[i] + \" .widget-left\").css(\"padding-left\", \"8px\");\r\n }\r\n } else {\r\n if ($(hashSplitted[i]).length > 0 && hashSplitted[i] != \"#packages\") {\r\n $.scrollTo($(hashSplitted[i]), 1000, { offset: -150 });\r\n }\r\n }\r\n }\r\n\r\n EnableClick($(hashSplitted[0]).parent());\r\n EnableClick($('a[href^=' + hashSplitted[0] + ']').parent());\r\n }\r\n}\r\n\r\nfunction FancyboxDefaults() {\r\n const lang = gardaseeContext.language;\r\n const breakpointMd = 992;\r\n var options = {\r\n animationEffect: \"zoom\", // \"fade\"\r\n transitionDuration: 550,\r\n\r\n preventCaptionOverlap: true,\r\n\r\n protect: true, // Disable right-click and use simple image protection for images\r\n\r\n media: {\r\n // ICDAM providers\r\n peer: {\r\n matcher: /https?:\\/\\/(player\\.peer\\.tv)\\/(js)\\/([0-9a-z]+)/i,\r\n type: \"inline\",\r\n url: function (match, params, item) {\r\n var id = match[3];\r\n var url = 'https://player.peer.tv/js/' + id + '/?w=liquid-proportional'; // + '&a=1'; <- to auto play\r\n item.opts.smallBtn = false; // hide close btn\r\n return '
';\r\n }\r\n },\r\n feratel: {\r\n matcher: /https?:\\/\\/(webtv\\.feratel\\.com)\\/(webtv)\\/?\\?.*\\&cam=([0-9]+)/i,\r\n type: \"iframe\",\r\n url: 'https://webtv.feratel.com/webtv/?design=v3&cam=$3'\r\n },\r\n dailymotion: {\r\n matcher: /https?:\\/\\/(?:www\\.)?(dailymotion\\.com)\\/video\\/([^_]+)/i,\r\n type: \"iframe\",\r\n url: 'https://www.dailymotion.com/embed/video/$2?autoplay=1'\r\n },\r\n inetcons: { // obsolete\r\n matcher: /https?:\\/\\/(media\\.inetcons\\.it)\\/(videos)\\/(.+)\\.(de|it|en)\\.([0-9a-z]+)\\.mp4/i,\r\n type: \"iframe\",\r\n url: 'https://media.inetcons.it/video/embed/$5?languageCode=$4&autoplay=true'\r\n },\r\n virtualSuedtirol: {\r\n matcher: /.*virtualsuedtirol\\.com.*/i,\r\n type: 'iframe',\r\n url: '$0'\r\n },\r\n movingPictures: {\r\n matcher: /.*moving-pictures\\.com.*/i,\r\n type: 'iframe',\r\n url: '$0'\r\n }\r\n },\r\n\r\n buttons: [\r\n \"zoom\",\r\n \"share\",\r\n \"slideShow\",\r\n //\"fullScreen\",\r\n //\"download\",\r\n \"thumbs\",\r\n \"close\"\r\n ],\r\n arrows: true,\r\n infobar: true, // window.innerWidth >= scom.breakpoints.md.min, // on desktop\r\n thumbs: {\r\n autoStart: window.innerWidth >= breakpointMd, // on desktop, // Display thumbnails on opening\r\n hideOnClose: true, // Hide thumbnail grid when closing animation starts\r\n parentEl: \".fancybox-container\", // Container is injected into this element\r\n //axis: \"x\" // Vertical (y) or horizontal (x) scrolling\r\n },\r\n lang: lang,\r\n i18n: {\r\n en: {\r\n CLOSE: \"Close\",\r\n NEXT: \"Next\",\r\n PREV: \"Previous\",\r\n ERROR: \"The requested content cannot be loaded.