{"version":3,"file":"commonScripts.build.js","mappings":"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","sources":["webpack:///./vendors/jquery.cookie.js","webpack:///./vendors/jquery.hcSticky.js","webpack:///./vendors/jquery.inview.js","webpack:///./vendors/jquery.ui.touch-punch.js","webpack:///./vendors/readmore-js/readmore.2.2.1.js","webpack:///./vendors/slimmage/slimmage.js","webpack:///./js/common/headersearch.js","webpack:///./js/modules/navbar.js","webpack:///./js/modules/header.js","webpack:///./js/appStart.js","webpack:///./js/configs/lazysizesconfig.js","webpack:///./js/modules/headroom.js","webpack:///./js/script--boxLoad.js","webpack:///./js/script--updateUI.js","webpack:///./js/utils/LazyInitializer.js","webpack:///./js/utils/device-utils.js","webpack:///./js/utils/global.js","webpack:///./js/utils/globals-bp.js","webpack:///./js/utils/ha-searchlogic-functions--matchHeightsRejsmal.js","webpack:///./js/utils/mere.js","webpack:///./js/utils/section.js","webpack:///./js/utils/sliders/header-slider--dependencies.js"],"sourcesContent":["// *********************************************************\r\n// FIXME !!! legacy script :: jQuery Cookie Plugin v1.3 ***\r\n// *********************************************************\r\n\r\n/*!\r\n* jQuery Cookie Plugin v1.3\r\n* https://github.com/carhartl/jquery-cookie\r\n*\r\n* Copyright 2011, Klaus Hartl\r\n* Dual licensed under the MIT or GPL Version 2 licenses.\r\n* http://www.opensource.org/licenses/mit-license.php\r\n* http://www.opensource.org/licenses/GPL-2.0\r\n*/\r\n(function ($, document, undefined) {\r\n\r\n\tvar pluses = /\\+/g;\r\n\r\n\tfunction raw(s) {\r\n\t\treturn s;\r\n\t}\r\n\r\n\tfunction decoded(s) {\r\n\t\treturn decodeURIComponent(s.replace(pluses, ' '));\r\n\t}\r\n\r\n\tvar config = $.cookie = function (key, value, options) {\r\n\r\n\t\t// write\r\n\t\tif (value !== undefined) {\r\n\t\t\toptions = $.extend({}, config.defaults, options);\r\n\r\n\t\t\tif (value === null) {\r\n\t\t\t\toptions.expires = -1;\r\n\t\t\t}\r\n\r\n\t\t\tif (typeof options.expires === 'number') {\r\n\t\t\t\tvar days = options.expires, t = options.expires = new Date();\r\n\t\t\t\tt.setDate(t.getDate() + days);\r\n\t\t\t}\r\n\r\n\t\t\tvalue = config.json ? JSON.stringify(value) : String(value);\r\n\r\n\t\t\treturn (document.cookie = [\r\n\t\t\tencodeURIComponent(key), '=', config.raw ? value : encodeURIComponent(value),\r\n\t\t\toptions.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE\r\n\t\t\toptions.path ? '; path=' + options.path : '',\r\n\t\t\toptions.domain ? '; domain=' + options.domain : '',\r\n\t\t\toptions.secure ? '; secure' : ''\r\n\t\t\t].join(''));\r\n\t\t}\r\n\r\n\t\t// read\r\n\t\tvar decode = config.raw ? raw : decoded;\r\n\t\tvar cookies = document.cookie.split('; ');\r\n\t\tfor (var i = 0, l = cookies.length; i < l; i++) {\r\n\t\t\tvar parts = cookies[i].split('=');\r\n\t\t\tif (decode(parts.shift()) === key) {\r\n\t\t\t\tvar cookie = decode(parts.join('='));\r\n\t\t\t\treturn config.json ? JSON.parse(cookie) : cookie;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn null;\r\n\t};\r\n\r\n\tconfig.defaults = {};\r\n\r\n\t$.removeCookie = function (key, options) {\r\n\t\tif ($.cookie(key) !== null) {\r\n\t\t\t$.cookie(key, null, options);\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\treturn false;\r\n\t};\r\n\r\n})(jQuery, document);\r\n","// *********************************************************\r\n// FIXME !!! legacy script :: jQuery hcSticky ***\r\n// *********************************************************\r\n\r\n// jQuery hcSticky\r\n// =============\r\n// Version: 1.1.9\r\n// Copyright: Some Web Media\r\n// Author: Some Web Guy\r\n// Author URL: http://twitter.com/some_web_guy\r\n// Website: http://someweblog.com/\r\n// Plugin URL: http://someweblog.com/hcsticky-jquery-floating-sticky-plugin/\r\n// License: Released under the MIT License www.opensource.org/licenses/mit-license.php\r\n// Description: Makes elements on your page float as you scroll\r\n\r\n(function ($) { var getScroll = function () { if (typeof getScroll.x == 'undefined') { getScroll.x = window.pageXOffset; getScroll.y = window.pageYOffset; } if (typeof getScroll.distanceX == 'undefined') { getScroll.distanceX = window.pageXOffset; getScroll.distanceY = window.pageYOffset; } else { getScroll.distanceX = window.pageXOffset - getScroll.x; getScroll.distanceY = window.pageYOffset - getScroll.y; } var diffX = getScroll.x - window.pageXOffset, diffY = getScroll.y - window.pageYOffset; getScroll.direction = diffX < 0 ? 'right' : diffX > 0 ? 'left' : diffY <= 0 ? 'down' : diffY > 0 ? 'up' : 'first'; getScroll.x = window.pageXOffset; getScroll.y = window.pageYOffset; }; $(window).on('scroll', getScroll); var getCSS = function (el, style) { if (typeof el.cssClone == 'undefined') { el.cssClone = el.clone().css('display', 'none'); el.after(el.cssClone); } var clone = el.cssClone[0]; if (typeof style != 'undefined') { var value; if (clone.currentStyle) { value = clone.currentStyle[style.replace(/-\\w/g, function (s) { return s.toUpperCase().replace('-', '') })]; } else if (window.getComputedStyle) { value = document.defaultView.getComputedStyle(clone, null).getPropertyValue(style); } value = (/margin/g.test(style)) ? ((parseInt(value) === el[0].offsetLeft) ? value : 'auto') : value; } return { value: value || null, remove: function () { el.cssClone.remove(); } }; }; $.fn.extend({ hcSticky: function (options, reinit) { if (this.length == 0) return this; var settings = options || {}, running = (this.data('hcSticky')) ? true : false, $window = $(window), $document = $(document); if (typeof settings == 'string') { switch (settings) { case 'reinit': $window.off('scroll', this.data('hcSticky').f); return this.hcSticky({}, true); break; case 'off': this.data('hcSticky', $.extend(this.data('hcSticky'), { on: false })); break; case 'on': this.data('hcSticky', $.extend(this.data('hcSticky'), { on: true })); break; } return this; } else if (typeof settings == 'object') { if (!running) { this.data('hcSticky', $.extend({ top: 0, bottom: 0, bottomEnd: 0, bottomLimiter: null, innerTop: 0, innerSticker: null, className: 'sticky', wrapperClassName: 'wrapper-sticky', noContainer: false, followScroll: true, onStart: function () { }, onStop: function () { }, on: true }, settings)); var $bottom_limiter = this.data('hcSticky').bottomLimiter; if ($bottom_limiter !== null && this.data('hcSticky').noContainer) { this.data('hcSticky', $.extend(this.data('hcSticky'), { bottomEnd: $document.height() - $($bottom_limiter).offset().top })); } } else { this.data('hcSticky', $.extend(this.data('hcSticky'), settings)); } if (running && !reinit) { return this; } } return this.each(function () { var $this = $(this), $wrapper = (function () { var $this_wrapper = $this.parent('.' + $this.data('hcSticky').wrapperClassName); if ($this_wrapper.length > 0) { $this_wrapper.css({ 'height': $this.outerHeight(true), 'width': (function () { var width = getCSS($this_wrapper, 'width').value; getCSS($this_wrapper).remove(); if (width.indexOf('%') >= 0 || width == 'auto') { $this.css('width', $this_wrapper.width()); return width; } else { return $this.outerWidth(true); } })() }); return $this_wrapper; } else { return false; } })() || (function () { var $this_wrapper = $('
', { 'class': $this.data('hcSticky').wrapperClassName }).css({ 'height': $this.outerHeight(true), 'width': (function () { var width = getCSS($this, 'width').value; if (width.indexOf('%') >= 0 || width == 'auto') { $this.css('width', $this.width()); return width; } else { var margin = getCSS($this, 'margin-left').value; return (margin == 'auto') ? $this.outerWidth() : $this.outerWidth(true); } })(), 'margin': (getCSS($this, 'margin-left').value) ? 'auto' : null, 'position': (function () { var position = $this.css('position'); return position == 'static' ? 'relative' : position; })(), 'float': $this.css('float') || null, 'left': getCSS($this, 'left').value, 'right': getCSS($this, 'right').value, 'top': getCSS($this, 'top').value, 'bottom': getCSS($this, 'bottom').value }); $this.wrap($this_wrapper); return $this.parent(); })(), setFixed = function (args) { if ($this.hasClass($this.data('hcSticky').className)) return; args = args || {}; $this.css({ position: 'fixed', top: args.top || 0, left: args.left || $wrapper.offset().left }).addClass($this.data('hcSticky').className); $this.data('hcSticky').onStart.apply($(this)); }, reset = function (args) { args = args || {}; $this.css({ position: args.position || 'absolute', top: args.top || 0, left: args.left || 0 }).removeClass($this.data('hcSticky').className); $this.data('hcSticky').onStop.apply($(this)); }; getCSS($this).remove(); $this.css({ top: 'auto', bottom: 'auto', left: 'auto', right: 'auto' }); var f = function (init) { $referrer = ($this.data('hcSticky').noContainer) ? $document : $wrapper.parent(); if (!$this.data('hcSticky').on || $this.outerHeight(true) >= $referrer.height()) return; var top_spacing = ($this.data('hcSticky').innerSticker) ? $($this.data('hcSticky').innerSticker).position().top : (($this.data('hcSticky').innerTop) ? $this.data('hcSticky').innerTop : 0), wrapper_inner_top = $wrapper.offset().top, bottom_limit = $referrer.height() - $this.data('hcSticky').bottomEnd + ($this.data('hcSticky').noContainer ? 0 : wrapper_inner_top), top_limit = $wrapper.offset().top - $this.data('hcSticky').top + top_spacing, this_height = $this.outerHeight(true) + $this.data('hcSticky').bottom, window_height = $window.height(), offset_top = $window.scrollTop(), this_document_top = $this.offset().top, this_window_top = this_document_top - offset_top, bottom_distance; if (offset_top >= top_limit) { if (bottom_limit + $this.data('hcSticky').bottom - ($this.data('hcSticky').followScroll ? 0 : $this.data('hcSticky').top) <= offset_top + this_height - top_spacing - ((this_height - top_spacing > window_height - (top_limit - top_spacing) && $this.data('hcSticky').followScroll) ? (((bottom_distance = this_height - window_height - top_spacing) > 0) ? bottom_distance : 0) : 0)) { reset({ top: bottom_limit - this_height + $this.data('hcSticky').bottom - wrapper_inner_top }); } else if (this_height - top_spacing > window_height && $this.data('hcSticky').followScroll) { if (this_window_top + this_height <= window_height) { if (getScroll.direction == 'down') { setFixed({ top: window_height - this_height }); } else { if (this_window_top < 0 && $this.css('position') == 'fixed') { reset({ top: this_document_top - (top_limit + $this.data('hcSticky').top - top_spacing) - getScroll.distanceY }); } } } else { if (getScroll.direction == 'up' && this_document_top >= offset_top + $this.data('hcSticky').top - top_spacing) { setFixed({ top: $this.data('hcSticky').top - top_spacing }); } else if (getScroll.direction == 'down' && this_document_top + this_height > window_height && $this.css('position') == 'fixed') { reset({ top: this_document_top - (top_limit + $this.data('hcSticky').top - top_spacing) - getScroll.distanceY }); } } } else { setFixed({ top: $this.data('hcSticky').top - top_spacing }); } } else { reset(); } if (init === true) { $this.css('top', ($this.css('position') == 'fixed') ? $this.data('hcSticky').top - top_spacing : 0); } }; $window.on('resize', function () { if ($this.css('position') == 'fixed') { $this.css('left', $wrapper.offset().left); } else { $this.css('left', 0); } }); $this.data('hcSticky', $.extend($this.data('hcSticky'), { f: function () { } })); $this.data('hcSticky', $.extend($this.data('hcSticky'), { f: f })); $this.data('hcSticky').f(true); $window.on('scroll', $this.data('hcSticky').f); }); } }); })(jQuery);\r\n\r\n","// *********************************************************\r\n// FIXME !!! legacy script :: JQURY INVIEW ***\r\n// *********************************************************\r\n\r\n\r\n/*JQURY INVIEW */\r\n(function (d) {\r\n\tvar p = {}, e, a, h = document, i = window, f = h.documentElement, j = d.expando; d.event.special.inview = { add: function (a) { p[a.guid + \"-\" + this[j]] = { data: a, $element: d(this) } }, remove: function (a) { try { delete p[a.guid + \"-\" + this[j]] } catch (d) { } } }; d(i).bind(\"scroll resize\", function () { e = a = null }); !f.addEventListener && f.attachEvent && f.attachEvent(\"onfocusin\", function () { a = null }); setInterval(function () {\r\n\t\tvar k = d(), j, n = 0; d.each(p, function (a, b) { var c = b.data.selector, d = b.$element; k = k.add(c ? d.find(c) : d) }); if (j = k.length) {\r\n\t\t\tvar b;\r\n\t\t\tif (!(b = e)) { var g = { height: i.innerHeight, width: i.innerWidth }; if (!g.height && ((b = h.compatMode) || !d.support.boxModel)) b = \"CSS1Compat\" === b ? f : h.body, g = { height: b.clientHeight, width: b.clientWidth }; b = g } e = b; for (a = a || { top: i.pageYOffset || f.scrollTop || h.body.scrollTop, left: i.pageXOffset || f.scrollLeft || h.body.scrollLeft }; n < j; n++) if (d.contains(f, k[n])) {\r\n\t\t\t\tb = d(k[n]); var l = b.height(), m = b.width(), c = b.offset(), g = b.data(\"inview\"); if (!a || !e) break; c.top + l > a.top && c.top < a.top + e.height && c.left + m > a.left && c.left < a.left + e.width ?\r\n\t\t\t\t(m = a.left > c.left ? \"right\" : a.left + e.width < c.left + m ? \"left\" : \"both\", l = a.top > c.top ? \"bottom\" : a.top + e.height < c.top + l ? \"top\" : \"both\", c = m + \"-\" + l, (!g || g !== c) && b.data(\"inview\", c).trigger(\"inview\", [!0, m, l])) : g && b.data(\"inview\", !1).trigger(\"inview\", [!1])\r\n\t\t\t}\r\n\t\t}\r\n\t}, 250)\r\n})(jQuery);\r\n","// ***********************************************************\r\n// FIXME !!! legacy script :: jQuery UI Touch Punch 0.2.2 ***\r\n// ***********************************************************\r\n\r\n//import 'jquery-ui';\r\nimport 'jquery-ui/ui/widget';\r\nimport 'jquery-ui/ui/widgets/mouse';\r\n\r\n/*\r\n * jQuery UI Touch Punch 0.2.2\r\n *\r\n * Copyright 2011, Dave Furfero\r\n * Dual licensed under the MIT or GPL Version 2 licenses.\r\n *\r\n * Depends:\r\n * jquery.ui.widget.js\r\n * jquery.ui.mouse.js\r\n */\r\n(function (b) { b.support.touch = \"ontouchend\" in document; if (!b.support.touch) { return; } var c = b.ui.mouse.prototype, e = c._mouseInit, a; function d(g, h) { if (g.originalEvent.touches.length > 1) { return; } g.preventDefault(); var i = g.originalEvent.changedTouches[0], f = document.createEvent(\"MouseEvents\"); f.initMouseEvent(h, true, true, window, 1, i.screenX, i.screenY, i.clientX, i.clientY, false, false, false, false, 0, null); g.target.dispatchEvent(f); } c._touchStart = function (g) { var f = this; if (a || !f._mouseCapture(g.originalEvent.changedTouches[0])) { return; } a = true; f._touchMoved = false; d(g, \"mouseover\"); d(g, \"mousemove\"); d(g, \"mousedown\"); }; c._touchMove = function (f) { if (!a) { return; } this._touchMoved = true; d(f, \"mousemove\"); }; c._touchEnd = function (f) { if (!a) { return; } d(f, \"mouseup\"); d(f, \"mouseout\"); if (!this._touchMoved) { d(f, \"click\"); } a = false; }; c._mouseInit = function () { var f = this; f.element.bind(\"touchstart\", b.proxy(f, \"_touchStart\")).bind(\"touchmove\", b.proxy(f, \"_touchMove\")).bind(\"touchend\", b.proxy(f, \"_touchEnd\")); e.call(f); }; })(jQuery);\r\n\r\n","/*!\r\n * @preserve\r\n *\r\n * Readmore.js jQuery plugin\r\n * Author: @jed_foster\r\n * Project home: http://jedfoster.github.io/Readmore.js\r\n * Licensed under the MIT license\r\n *\r\n * Debounce function from http://davidwalsh.name/javascript-debounce-function\r\n */\r\n\r\n/* global jQuery */\r\n\r\n(function(factory) {\r\n if (typeof define === 'function' && define.amd) {\r\n // AMD\r\n define(['jquery'], factory);\r\n } else if (typeof module === 'object' && module.exports) {\r\n // CommonJS\r\n module.exports = factory(require('jquery'));\r\n } else {\r\n // Browser globals\r\n factory(jQuery);\r\n }\r\n}(function($) {\r\n 'use strict';\r\n\r\n var readmore = 'readmore',\r\n defaults = {\r\n speed: 100,\r\n collapsedHeight: 200,\r\n heightMargin: 16,\r\n moreLink: 'Read More',\r\n lessLink: 'Close',\r\n embedCSS: true,\r\n blockCSS: 'display: block; width: 100%;',\r\n startOpen: false,\r\n\r\n // callbacks\r\n blockProcessed: function() {},\r\n beforeToggle: function() {},\r\n afterToggle: function() {}\r\n },\r\n cssEmbedded = {},\r\n uniqueIdCounter = 0;\r\n\r\n function debounce(func, wait, immediate) {\r\n var timeout;\r\n\r\n return function() {\r\n var context = this, args = arguments;\r\n var later = function() {\r\n timeout = null;\r\n if (! immediate) {\r\n func.apply(context, args);\r\n }\r\n };\r\n var callNow = immediate && !timeout;\r\n\r\n clearTimeout(timeout);\r\n timeout = setTimeout(later, wait);\r\n\r\n if (callNow) {\r\n func.apply(context, args);\r\n }\r\n };\r\n }\r\n\r\n function uniqueId(prefix) {\r\n var id = ++uniqueIdCounter;\r\n\r\n return String(prefix === null ? 'rmjs-' : prefix) + id;\r\n }\r\n\r\n function setBoxHeights(element) {\r\n var el = element.clone().css({\r\n height: 'auto',\r\n width: element.width(),\r\n maxHeight: 'none',\r\n overflow: 'hidden'\r\n }).insertAfter(element),\r\n expandedHeight = el.outerHeight(),\r\n cssMaxHeight = parseInt(el.css({maxHeight: ''}).css('max-height').replace(/[^-\\d\\.]/g, ''), 10),\r\n defaultHeight = element.data('defaultHeight');\r\n\r\n el.remove();\r\n\r\n var collapsedHeight = cssMaxHeight || element.data('collapsedHeight') || defaultHeight;\r\n\r\n // Store our measurements.\r\n element.data({\r\n expandedHeight: expandedHeight,\r\n maxHeight: cssMaxHeight,\r\n collapsedHeight: collapsedHeight\r\n })\r\n // and disable any `max-height` property set in CSS\r\n .css({\r\n maxHeight: 'none'\r\n });\r\n }\r\n\r\n var resizeBoxes = debounce(function() {\r\n $('[data-readmore]').each(function() {\r\n var current = $(this),\r\n isExpanded = (current.attr('aria-expanded') === 'true');\r\n\r\n setBoxHeights(current);\r\n\r\n current.css({\r\n height: current.data( (isExpanded ? 'expandedHeight' : 'collapsedHeight') )\r\n });\r\n });\r\n }, 100);\r\n\r\n function embedCSS(options) {\r\n if (! cssEmbedded[options.selector]) {\r\n var styles = ' ';\r\n\r\n if (options.embedCSS && options.blockCSS !== '') {\r\n styles += options.selector + ' + [data-readmore-toggle], ' +\r\n options.selector + '[data-readmore]{' +\r\n options.blockCSS +\r\n '}';\r\n }\r\n\r\n // Include the transition CSS even if embedCSS is false\r\n styles += options.selector + '[data-readmore]{' +\r\n 'transition: height ' + options.speed + 'ms;' +\r\n 'overflow: hidden;' +\r\n '}';\r\n\r\n (function(d, u) {\r\n var css = d.createElement('style');\r\n css.type = 'text/css';\r\n\r\n if (css.styleSheet) {\r\n css.styleSheet.cssText = u;\r\n }\r\n else {\r\n css.appendChild(d.createTextNode(u));\r\n }\r\n\r\n d.getElementsByTagName('head')[0].appendChild(css);\r\n }(document, styles));\r\n\r\n cssEmbedded[options.selector] = true;\r\n }\r\n }\r\n\r\n function Readmore(element, options) {\r\n this.element = element;\r\n\r\n this.options = $.extend({}, defaults, options);\r\n\r\n embedCSS(this.options);\r\n\r\n this._defaults = defaults;\r\n this._name = readmore;\r\n\r\n this.init();\r\n\r\n // IE8 chokes on `window.addEventListener`, so need to test for support.\r\n if (window.addEventListener) {\r\n // Need to resize boxes when the page has fully loaded.\r\n window.addEventListener('load', resizeBoxes);\r\n window.addEventListener('resize', resizeBoxes);\r\n }\r\n else {\r\n window.attachEvent('load', resizeBoxes);\r\n window.attachEvent('resize', resizeBoxes);\r\n }\r\n }\r\n\r\n\r\n Readmore.prototype = {\r\n init: function() {\r\n var current = $(this.element);\r\n\r\n current.data({\r\n defaultHeight: this.options.collapsedHeight,\r\n heightMargin: this.options.heightMargin\r\n });\r\n\r\n setBoxHeights(current);\r\n\r\n var collapsedHeight = current.data('collapsedHeight'),\r\n heightMargin = current.data('heightMargin');\r\n\r\n if (current.outerHeight(true) <= collapsedHeight + heightMargin) {\r\n // The block is shorter than the limit, so there's no need to truncate it.\r\n if (this.options.blockProcessed && typeof this.options.blockProcessed === 'function') {\r\n this.options.blockProcessed(current, false);\r\n }\r\n return true;\r\n }\r\n else {\r\n var id = current.attr('id') || uniqueId(),\r\n useLink = this.options.startOpen ? this.options.lessLink : this.options.moreLink;\r\n\r\n current.attr({\r\n 'data-readmore': '',\r\n 'aria-expanded': this.options.startOpen,\r\n 'id': id\r\n });\r\n\r\n current.after($(useLink)\r\n .on('click', (function(_this) {\r\n return function(event) {\r\n _this.toggle(this, current[0], event);\r\n };\r\n })(this))\r\n .attr({\r\n 'data-readmore-toggle': id,\r\n 'aria-controls': id\r\n }));\r\n\r\n if (! this.options.startOpen) {\r\n current.css({\r\n height: collapsedHeight\r\n });\r\n }\r\n\r\n if (this.options.blockProcessed && typeof this.options.blockProcessed === 'function') {\r\n this.options.blockProcessed(current, true);\r\n }\r\n }\r\n },\r\n\r\n toggle: function(trigger, element, event) {\r\n if (event) {\r\n event.preventDefault();\r\n }\r\n\r\n if (! trigger) {\r\n trigger = $('[aria-controls=\"' + this.element.id + '\"]')[0];\r\n }\r\n\r\n if (! element) {\r\n element = this.element;\r\n }\r\n\r\n var $element = $(element),\r\n newHeight = '',\r\n newLink = '',\r\n expanded = false,\r\n collapsedHeight = $element.data('collapsedHeight');\r\n\r\n if (Math.abs($element.height() - collapsedHeight) <= 2 ) {\r\n newHeight = $element.data('expandedHeight') + 'px';\r\n newLink = 'lessLink';\r\n expanded = true;\r\n }\r\n else {\r\n newHeight = collapsedHeight;\r\n newLink = 'moreLink';\r\n }\r\n\r\n // Fire beforeToggle callback\r\n // Since we determined the new \"expanded\" state above we're now out of sync\r\n // with our true current state, so we need to flip the value of `expanded`\r\n if (this.options.beforeToggle && typeof this.options.beforeToggle === 'function') {\r\n this.options.beforeToggle(trigger, $element, ! expanded);\r\n }\r\n\r\n $element.css({'height': newHeight});\r\n\r\n // Fire afterToggle callback\r\n $element.on('transitionend', (function(_this) {\r\n return function() {\r\n if (_this.options.afterToggle && typeof _this.options.afterToggle === 'function') {\r\n _this.options.afterToggle(trigger, $element, expanded);\r\n }\r\n\r\n $(this).attr({\r\n 'aria-expanded': expanded\r\n }).off('transitionend');\r\n };\r\n })(this));\r\n\r\n $(trigger).replaceWith($(this.options[newLink])\r\n .on('click', (function(_this) {\r\n return function(event) {\r\n _this.toggle(this, element, event);\r\n };\r\n })(this))\r\n .attr({\r\n 'data-readmore-toggle': $element.attr('id'),\r\n 'aria-controls': $element.attr('id')\r\n }));\r\n },\r\n\r\n update: function (trigger, element, event) {\r\n var current = $(this.element),\r\n attr = current.attr('data-readmore');\r\n if (attr === undefined || attr === null) {\r\n if (current.css('max-height') == 'none') {\r\n current.css('max-height', '');\r\n }\r\n this.init();\r\n } else {\r\n let isExpanded = (current.attr('aria-expanded') === 'true');\r\n setBoxHeights(current);\r\n current.css({\r\n height: current.data((isExpanded ? 'expandedHeight' : 'collapsedHeight'))\r\n });\r\n }\r\n },\r\n\r\n destroy: function() {\r\n $(this.element).each(function() {\r\n var current = $(this);\r\n\r\n current.attr({\r\n 'data-readmore': null,\r\n 'aria-expanded': null\r\n })\r\n .css({\r\n maxHeight: '',\r\n height: ''\r\n })\r\n .next('[data-readmore-toggle]')\r\n .remove();\r\n\r\n current.removeData();\r\n });\r\n }\r\n };\r\n\r\n\r\n $.fn.readmore = function(options) {\r\n var args = arguments,\r\n selector = this.selector;\r\n\r\n options = options || {};\r\n\r\n // FIX: \"This API has been removed in jQuery 3.0\": https://api.jquery.com/selector/\r\n // in case with jQuery 3.0 this.selector returns 'undefined' result\r\n selector = options.selector || this.selector;\r\n\r\n if (typeof options === 'object') {\r\n return this.each(function() {\r\n if ($.data(this, 'plugin_' + readmore)) {\r\n var instance = $.data(this, 'plugin_' + readmore);\r\n instance.destroy.apply(instance);\r\n }\r\n\r\n options.selector = selector;\r\n\r\n $.data(this, 'plugin_' + readmore, new Readmore(this, options));\r\n });\r\n }\r\n else if (typeof options === 'string' && options[0] !== '_' && options !== 'init') {\r\n return this.each(function () {\r\n var instance = $.data(this, 'plugin_' + readmore);\r\n if (instance instanceof Readmore && typeof instance[options] === 'function') {\r\n instance[options].apply(instance, Array.prototype.slice.call(args, 1));\r\n }\r\n });\r\n }\r\n };\r\n\r\n}));\r\n\r\n","/**\r\n * @preserve Slimmage 0.4.2, use with ImageResizer. MIT/Apache2 dual licensed by Imazen \r\n */\r\n\r\n/* We often use string instead of dot notation to keep \r\n Closure Compiler's advanced mode from breaking APIs */\r\n/*jshint sub:true*/\r\n\r\n(function (w) { //w==window\r\n // Enable strict mode\r\n \"use strict\";\r\n\r\n // Make sure w is window (For babel-transpiled environments the 'this' keyword may not point to window)\r\n if(!w || !w.document) {\r\n w = window;\r\n }\r\n\r\n var s = window['slimmage'] || {};\r\n window['slimmage'] = s;\r\n if (s['verbose'] === undefined) { s['verbose'] = false;}\r\n if (s['tryWebP'] === undefined) { s['tryWebP'] = false;}\r\n if (s['maxWidth'] === undefined) { s['maxWidth'] = 2048;}\r\n if (s['widthStep'] === undefined) { s['widthStep'] = 160;}\r\n if (s['jpegQuality'] === undefined) { s['jpegQuality'] = 90;}\r\n if (s['jpegRetinaQuality'] === undefined) { s['jpegRetinaQuality'] = 80;}\r\n if (s['webpTimeout'] === undefined){ s['webpTimeout'] = 0;}\r\n s['changed'] = [];\r\n\r\n var log = function(){ if (s['verbose'] && w.console && w.console.log) try {w.console.log.apply(w.console,arguments);}catch(e){}};\r\n s.beginWebPTest = function(){\r\n if (!s['tryWebP'] || s._testingWebP) return;\r\n s._testingWebP = true;\r\n\r\n var WebP=new Image();\r\n WebP.onload=WebP.onerror=function(){\r\n s['webp'] = (WebP.height==2);\r\n s._testingWebP = false;\r\n if (s.cr) { s.cr(); }\r\n };\r\n WebP.src='data:image/webp;base64,UklGRjoAAABXRUJQVlA4IC4AAACyAgCdASoCAAIALmk0mk0iIiIiIgBoSygABc6WWgAA/veff/0PP8bA//LwYAAA';\r\n };\r\n //test for webp support ASAP\r\n s.beginWebPTest();\r\n\r\n s.setAttr = function(elem, name, value){\r\n name = name.toLowerCase();\r\n if (name == \"class\"){ elem.className = value;}\r\n else if (name == \"tabindex\") {elem.tabIndex = value;}\r\n else if (name == \"usemap\") {elem.useMap = value;}\r\n else{\r\n elem.setAttribute(name,value);\r\n }\r\n \r\n };\r\n s['setAttribute'] = s.setAttr;\r\n\r\n s.is_blank = function(v){ return v === \"none\" || v === null || v === undefined || v === \"\" || v === false;};\r\n s['getCssValue'] = function(target, hyphenProp){\r\n //See http://www.nathanaeljones.com/blog/2013/reading-max-width-cross-browser\r\n\r\n var val = typeof(window.getComputedStyle) != \"undefined\" && window.getComputedStyle(target, null).getPropertyValue(hyphenProp);\r\n\r\n // Some browsers (IE8, Firefox 28) read \"none\" when not set. Others (IE6) respond with undefined. A value of\r\n // \"none\" is invalid and would cause an exception or be interpreted as \r\n if (!s.is_blank(val)){ \r\n return val; \r\n }\r\n\r\n if (target.currentStyle){\r\n val = target.currentStyle[hyphenProp.replace(/([a-z])\\-([a-z])/, function(a,b,c){ return b + c.toUpperCase();})] || target.currentStyle[hyphenProp];\r\n }\r\n \r\n return s.is_blank(val) ? null : val;\r\n };\r\n\r\n s['getCssPixels'] = function(target, hyphenProp){\r\n var val = s['getCssValue'](target,hyphenProp);\r\n\r\n if (val === null || val === \"0\" || val === 0) return val;\r\n\r\n //We can return pixels directly, but not other units\r\n if (val.slice(-2) == \"px\") return parseFloat(val.slice(0,-2));\r\n\r\n //Create a temporary sibling div to resolve units into pixels.\r\n var temp = document.createElement(\"div\");\r\n temp.style.overflow = temp.style.visibility = \"hidden\"; \r\n temp.style.cssFloat = \"none\";\r\n target.parentNode.appendChild(temp); \r\n temp.style.width = val;\r\n var pixels = temp.offsetWidth;\r\n target.parentNode.removeChild(temp);\r\n return pixels;\r\n };\r\n\r\n s.nodesToArray = function (nodeList) {\r\n var array = [];\r\n // iterate backwards ensuring that length is an UInt32\r\n for (var i = nodeList.length >>> 0; i--;) {\r\n array[i] = nodeList[i];\r\n }\r\n return array;\r\n };\r\n\r\n /*\r\n No URI decoding/encoding is perfomed on keys or values. Caller's responsibility.\r\n\r\n vistor and mutator are applied to string.replace -> https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace#Specifying_a_function_as_a_parameter\r\n params:\r\n 1. entire pair, incl. (optional) & and = \r\n 2. '&' (if present)\r\n 3. key\r\n 4. value\r\n\r\n mutator's result is honored. Must return param 1, or provide valid replacement.\r\n \r\n injector(query) is responsible for adding additional pairs if required. \r\n It must not produce a malformatted query.\r\n */\r\n s['mutateUrl'] = function(url, visitor,mutator,injector){\r\n var m = /^([^?#]*)?(\\?([^#]*))?(#.*)?/.exec(url);\r\n var q = m[3] || '';\r\n\r\n var qr = /(^&*|&+)([^&=]*)=?([^&]*)/g;\r\n q.replace(qr, visitor); //read-only, to gather data\r\n\r\n var newq = '?' + q.replace(qr, mutator).replace(/(?:^\\?*&*)|(?:[?&]+$)/g,\"\").replace(/&&+/g,\"&\");\r\n\r\n return (m[1] || '') + injector(newq) + (m[4] || '');\r\n };\r\n\r\n //Expects virtual, not device pixel width\r\n s['getImageInfo'] = function (elementWidth, previousSrc, previousPixelWidth, previousElement) {\r\n var data = {\r\n 'webp': s['webp'],\r\n 'width': elementWidth,\r\n 'dpr': window.devicePixelRatio || 1,\r\n 'src': previousSrc, \r\n 'element': previousElement\r\n };\r\n //Determine quality percentage\r\n var high_density = s['webp'] ? 65 : s['jpegRetinaQuality'];\r\n var low_density = s['webp'] ? 78 : s['jpegQuality'];\r\n data['quality'] = data['dpr'] > 1.49 ? high_density : low_density;\r\n \r\n //Calculate raw pixels using devicePixelRatio. Limit size to maxWidth.\r\n var idealWidth = elementWidth * data['dpr']; \r\n //Minimize variants for caching improvements; round up to nearest multiple of widthStep\r\n data['requestedWidth'] = Math.min(s['maxWidth'], //Limit size to maxWidth\r\n Math.round( //Round in case widthStep isn't an integer\r\n Math.ceil(idealWidth / s['widthStep']) * s['widthStep'] //Divide, ceiling, then multiply\r\n )\r\n );\r\n\r\n\r\n var a = s['adjustImageParameters'];\r\n if (a && typeof(a) === \"function\") {\r\n a(data);\r\n }\r\n var finalWidth = data['requestedWidth'];\r\n\r\n if (finalWidth > previousPixelWidth) {\r\n //Never request a smaller image once the larger one has already started loading\r\n var u = {}; //For storing raw pairs\r\n var c = {}; //For storing relevant parsed info\r\n var newSrc = s['mutateUrl'](\r\n previousSrc,\r\n //Visitor\r\n function(_,d, k,v){\r\n u[k.toLowerCase()] = v;\r\n }, \r\n //Mutator\r\n function(p,d,k,v){\r\n\r\n //Parse existing values so we can make educated calculations for width/height\r\n if (c.zoom === undefined){\r\n c.zoom = parseFloat(u.zoom || 1);\r\n if (isNaN(c.zoom)){ c.zoom = 1; }\r\n c.w = (finalWidth / c.zoom).toFixed();\r\n }\r\n if (c.ratio === undefined){\r\n var w = parseFloat(u.width || u.w || u.maxwidth);\r\n var h = parseFloat(u.height || u.h || u.maxheight);\r\n if (!isNaN(w) && !isNaN(h) && w > 0 && h > 0){\r\n c.ratio = w/h;\r\n c.h = (((finalWidth / c.zoom) / w) * h).toFixed();\r\n }else{\r\n c.ratio = 'noclue';\r\n }\r\n }\r\n \r\n if (k.match(/^format$/i) && data['webp']) { return d + \"format=webp\"; }\r\n if (k.match(/^quality/i)) { return d + \"quality=\" + data['quality']; }\r\n \r\n if (k.match(/^(w|width|maxwidth)$/i)) { return d + k + \"=\" + c.w;}\r\n if (k.match(/^(h|height|maxheight)$/i)) { return d + k + \"=\" + c.h;}\r\n \r\n return p;\r\n }, \r\n //Injector\r\n function(q){ return q;});\r\n \r\n return {'src': newSrc, 'data-pixel-width': finalWidth};\r\n }\r\n return null;\r\n };\r\n s['adjustImageSrc'] = function (img, previousSrc) {\r\n\r\n var cssMaxWidth = s['getCssPixels'](img, 'max-width');\r\n var result = s['getImageInfo'](cssMaxWidth,\r\n previousSrc,\r\n img.getAttribute('data-pixel-width') | 0,\r\n img);\r\n \r\n if (result){\r\n img.src = result['src'];\r\n s.setAttr(img,'data-pixel-width',result['data-pixel-width']);\r\n if (s['enforceCss']){\r\n if (cssMaxWidth < result['data-pixel-width']){\r\n img.style.width = s['getCssValue'](img,'max-width'); \r\n s.setAttr(img,'data-width-enforced',true);\r\n }else{\r\n img.style.width = 'auto';\r\n }\r\n }\r\n s['changed'].push(img);\r\n log(\"Slimming: updating \" + result['src']);\r\n }else if (s['enforceCss'] && img.getAttribute('data-width-enforced')){\r\n var imageWidth = parseFloat(img.getAttribute('data-pixel-width'));\r\n if (!isNaN(imageWidth) && cssMaxWidth >= imageWidth){\r\n img.style.width = 'auto';\r\n img.removeAttribute('data-width-enforced');\r\n }\r\n }\r\n\r\n };\r\n s.cr = function (delay) {\r\n var i, il, j, jl, k, kl;\r\n\r\n if (s.timeoutid > 0) w.clearTimeout(s.timeoutid);\r\n s.timeoutid = 0;\r\n\r\n if (s._testingWebP && s['webpTimeout'] > 0 && !s.webp_waiting){\r\n s.webp_waiting = true;\r\n delay = s['webpTimeout'];\r\n }\r\n if (delay && delay > 0) {\r\n s.timeoutid = w.setTimeout(s.cr, delay);\r\n return;\r\n }\r\n var stopwatch = new Date().getTime();\r\n\r\n var newImages = 0;\r\n //1. Copy images out of noscript tags, but hide 'src' attribute as data-src\r\n var n = s.nodesToArray(w.document.getElementsByTagName(\"noscript\"));\r\n for (i = 0, il = n.length; i < il; i++) {\r\n var ns = n[i];\r\n if (ns.getAttribute(\"data-slimmage\") !== null) {\r\n \r\n var div = w.document.createElement('div');\r\n var contents = (ns.textContent || ns.innerHTML);\r\n if (!contents || contents.replace(/[\\s\\t\\r\\n]+/,\"\").length === 0){\r\n //IE doesn't let us touch noscript, so we have to use attributes.\r\n var img = new Image();\r\n for (var ai = 0; ai < ns.attributes.length; ai++) {\r\n var a = ns.attributes[ai];\r\n if (a && a.specified && a.name.indexOf(\"data-img-\") === 0){\r\n s.setAttr(img,a.name.slice(9 - a.name.length),a.value);\r\n }\r\n }\r\n div.appendChild(img);\r\n }else{\r\n //noscript isn't part of DOM, so we have to recreate it, unescaping html, src->data-src \r\n div.innerHTML = contents.replace(/\\s+src\\s*=\\s*(['\"])/i, \" data-src=$1\").\r\n replace(/</g, '<').replace(/>/g, '>').replace(/&/g, '&');\r\n }\r\n //Clear source values before we add it back to the dom, ensure data-slimmage is set.\r\n var childImages = div.getElementsByTagName(\"img\");\r\n for (j = 0, jl = childImages.length; j < jl; j++) {\r\n var ci = childImages[j];\r\n if (ci.src !== null && ci.src.length > 0) {\r\n s.setAttr(ci,\"data-src\", ci.src);\r\n ci.src = \"\";\r\n }\r\n s.setAttr(ci,\"data-slimmage\", true);\r\n ns.parentNode.insertBefore(ci, ns);\r\n newImages++;\r\n }\r\n //2. Remove old noscript tags\r\n ns.parentNode.removeChild(ns);\r\n }\r\n }\r\n\r\n //3. Let plugins inject custom behavior\r\n if('function' === typeof s['beforeAdjustSrc']) {\r\n s['beforeAdjustSrc']();\r\n }\r\n\r\n //4. Find images with data-slimmage and run adjustImageSrc.\r\n var totalImages = 0;\r\n var images = s.nodesToArray(w.document.getElementsByTagName(\"img\"));\r\n for (k = 0, kl = images.length; k < kl; k++) {\r\n if (images[k].getAttribute(\"data-slimmage\") !== null) {\r\n var previousSrc = images[k].getAttribute(\"data-src\") || images[k].src;\r\n s['adjustImageSrc'](images[k], previousSrc);\r\n totalImages++;\r\n }\r\n }\r\n\r\n var changed = s['changed'].slice();\r\n s['changed'].length = 0;\r\n\r\n //5. Callback when ready\r\n if((changed.length > 0 || !s.readyCalled) && 'function' === typeof s['readyCallback']) {\r\n s['readyCallback'](changed);\r\n s.readyCalled = true;\r\n }\r\n \r\n log(\"Slimmage: restored \" + newImages + \" images from noscript tags, checked \" + totalImages + \" images, changed \" + changed.length + \". \" + (new Date().getTime() - stopwatch) + \"ms\");\r\n };\r\n\r\n s['checkResponsiveImages'] = s.cr;\r\n // Run on resize and domready (w.load as a fallback)\r\n if (w.addEventListener) {\r\n w.addEventListener(\"resize\", function () { s.cr(500); }, false);\r\n w.addEventListener(\"DOMContentLoaded\", function () {\r\n s.cr();\r\n // Run once only\r\n w.removeEventListener(\"load\", s.cr, false);\r\n }, false);\r\n w.addEventListener(\"load\", s.cr, false);\r\n } else if (w.attachEvent) {\r\n w.attachEvent(\"onload\", s.cr);\r\n w.attachEvent(\"onresize\", function () { s.cr(500); });\r\n }\r\n \r\n}(this));","//import 'jquery-ui';\r\nimport 'jquery-ui/ui/widgets/autocomplete';\r\nimport { GetBreakpointWidth } from 'Utils/globals-bp';\r\n\r\n/*** headersearch *** searchautocomplete ***/\r\nfunction split(val) {\r\n return val.split(/,\\s*/)\r\n};\r\n\r\nfunction extractLast(term) {\r\n return split(term).pop()\r\n};\r\n\r\nfunction initSearchAutocomplete() {\r\n var mobile_update_nav_menu = function (sender, event, method) {\r\n var $menu = $(sender).closest('.topmenu__mobile').find('.site-nav__mobile-click');\r\n if (method == 'hide') {\r\n $menu.addClass(\"hide-bp2-down\");\r\n $('.site-header').find('.site-nav__mobile').slideUp(400, function () {\r\n // clear zIndex after hide\r\n var $siteHeader = $('.site-header--fixed');\r\n $siteHeader.css('z-index', '');\r\n });\r\n } else {\r\n $menu.removeClass(\"hide-bp2-down\");\r\n }\r\n };\r\n\r\n var noresults_msg = $(\"#headersearch\").attr(\"data-noresult\");\r\n var mobile_get_classes = function ($searchautocomplete) {\r\n if (!$searchautocomplete.length || !$searchautocomplete.hasClass(\"searchautocomplete-mobile\"))\r\n return \"\";\r\n\r\n var $parent = $searchautocomplete.closest('.site-header--fixed');\r\n if (!$parent.length)\r\n return \"\";\r\n\r\n if ($parent.css('position') == 'fixed') {\r\n return \"is-fixed-parent\";\r\n } else {\r\n return \"\";\r\n }\r\n }\r\n\r\n var mobile_update_searchautocomplete_menu = function ($searchautocomplete) {\r\n if (!$searchautocomplete) {\r\n $searchautocomplete = $(\".searchautocomplete-mobile\");\r\n //console.log('$searchautocomplete is undefined.');\r\n } else {\r\n if (!$searchautocomplete.hasClass(\"searchautocomplete-mobile\")) {\r\n //console.log('nofound searchautocomplete-mobile');\r\n return;\r\n }\r\n }\r\n\r\n $searchautocomplete.each(function (i, elem) {\r\n var $elem = $(elem);\r\n var $widget = $elem.autocomplete(\"widget\");\r\n var cls = mobile_get_classes($elem);\r\n\r\n if (GetBreakpointWidth() > 768) {\r\n $widget.removeClass(cls);\r\n //console.log('searchautocomplete-menu: width > 768');\r\n } else {\r\n if (!$widget.hasClass(cls)) {\r\n $widget.addClass(cls);\r\n //console.log('searchautocomplete-menu: width <= 768. added class.');\r\n } else {\r\n //console.log('searchautocomplete-menu: width <= 768. has class.');\r\n }\r\n }\r\n });\r\n };\r\n\r\n var $searchautocomplete = $(\".searchautocomplete, .searchautocomplete-mobile\");\r\n $searchautocomplete.each(function (i, elem) {\r\n var $elem = $(elem);\r\n\r\n $elem.autocomplete({\r\n position: { my: \"right top\", at: \"right bottom\", collision: \"flipfit none\" },\r\n classes: {\r\n \"ui-autocomplete\": mobile_get_classes($elem)\r\n },\r\n source: function (request, add) {\r\n var js = {\r\n Term: extractLast(request.term)\r\n };\r\n var jsondata = JSON.stringify(js);\r\n\r\n $.ajax({\r\n url: \"/api/searchpages\",\r\n type: \"POST\",\r\n data: jsondata,\r\n contentType: 'application/json',\r\n headers: { 'Accept': 'application/json' },\r\n success: function (data) {\r\n var rows = new Array;\r\n if (data && data.Pages && data.Pages.length > 0) {\r\n for (var i = 0; i < data.Pages.length; i++)\r\n rows[i] = {\r\n data: \"\",\r\n result: data.Pages[i].Url,\r\n value: data.Pages[i].Name,\r\n type: \"link\"\r\n };\r\n } else {\r\n var row = [noresults_msg, request.term];\r\n rows[0] = {\r\n data: row,\r\n value: row[0],\r\n result: row[1],\r\n type: \"text\"\r\n };\r\n }\r\n add(rows)\r\n }\r\n })\r\n },\r\n search: function () {\r\n var term = extractLast(this.value);\r\n return !(term.length < 3) && void $(this).addClass(\"working\")\r\n },\r\n open: function () {\r\n $(this).removeClass(\"working\");\r\n $('.searchautocomplete-menu .ui-menu-item a').removeClass('ui-corner-all');\r\n $(\".searchautocomplete-menu\").css({ /*top: \"+=3\",*/ left: \"+=3\" });\r\n mobile_update_searchautocomplete_menu($(this));\r\n },\r\n select: function (e, ui) {\r\n $(\"*\").addClass(\"loading\");\r\n // 2018-02-26 Disabled query params\r\n //var query = \"\";\r\n //if (searchViewModel != null && $('#search-view-model').length > 0) {\r\n // query = searchViewModel.GetCurrentQuery(true, true) + \"#search-results\";\r\n //} else if (myTripSearchViewModel != null && $('#mytrip').length > 0) {\r\n // query = myTripSearchViewModel.GetCurrentSearchQuery() + \"#search-results\";\r\n //}\r\n //window.location.href = ui.item.result + query;\r\n window.location.href = ui.item.result;\r\n },\r\n renderMenu: function (ul, items) {\r\n var classes = \"\";\r\n if (this['classes']) {\r\n classes = this['classes'][\"ui-autocomplete\"];\r\n }\r\n $(ul).addClass(classes).addClass('searchautocomplete-menu').removeClass('ui-corner-all');\r\n },\r\n renderItem: function (ul, item) {\r\n if (item.type == \"link\") {\r\n return $('
  • ')\r\n .append($('').html(item.value))\r\n .appendTo(ul);\r\n } else if (item.type == \"text\") {\r\n return $('
  • ')\r\n .html(item.value)\r\n .appendTo(ul);\r\n }\r\n },\r\n }).focus(function (event) {\r\n $(this).addClass(\"focus\");\r\n var $wrapper = $(this).parents('.searchautocomplete-wrapper');\r\n $wrapper.addClass(\"focus\");\r\n $wrapper.addClass(\"expanded\");\r\n // hide mybooking\r\n var $mybooking = $(this).parents('.mini-topmenu').find('.mybooking-wrapper');\r\n $mybooking.addClass(\"hide-bp2-max\");\r\n\r\n // hide menu button\r\n mobile_update_nav_menu(this, event, 'hide');\r\n\r\n //console.log(\"focus\");\r\n }).focusout(function (event) {\r\n $(this).removeClass(\"focus\");\r\n $(this).css('display', '');\r\n var $wrapper = $(this).parents('.searchautocomplete-wrapper');\r\n var value = $(this).val();\r\n $wrapper.removeClass(\"focus\");\r\n if (!value || value == \"\") {\r\n $wrapper.removeClass(\"expanded\");\r\n var $mybooking = $(this).parents('.mini-topmenu').find('.mybooking-wrapper');\r\n $mybooking.removeClass(\"hide-bp2-max\");\r\n\r\n // show menu button\r\n mobile_update_nav_menu(this, event, 'show');\r\n }\r\n });\r\n\r\n });\r\n\r\n $(\".searchautocomplete-wrapper label\").on(\"click\", function (e) {\r\n //e.preventDefault();\r\n mobile_update_nav_menu(this, e, 'hide');\r\n\r\n var $wrapper = $(this).closest(\".searchautocomplete-wrapper\");\r\n $wrapper.addClass(\"expanded\");\r\n $wrapper.addClass(\"focus\");\r\n //var $searchautocomplete = $wrapper.find('.searchautocomplete');\r\n //if (!$searchautocomplete.is(':focus')) {\r\n // $searchautocomplete.focus();\r\n //}\r\n });\r\n\r\n $(window).resize(function () {\r\n mobile_update_searchautocomplete_menu();\r\n });\r\n};\r\n\r\nfunction InitScript_HeaderSearch() {\r\n //$(document).ready(function () {\r\n // initSearchAutocomplete();\r\n //});\r\n $.widget(\"ui.autocomplete\", $.ui.autocomplete, {\r\n\r\n options: {\r\n renderItem: null,\r\n renderMenu: null\r\n },\r\n\r\n _renderItem: function (ul, item) {\r\n if ($.isFunction(this.options.renderItem))\r\n return this.options.renderItem(ul, item);\r\n else\r\n return this._super(ul, item);\r\n },\r\n\r\n _renderMenu: function (ul, items) {\r\n this._super(ul, items);\r\n\r\n if ($.isFunction(this.options.renderMenu)) {\r\n\r\n this.options.renderMenu(ul, items);\r\n\r\n }\r\n },\r\n\r\n });\r\n\r\n initSearchAutocomplete();\r\n};\r\n\r\nexport { InitScript_HeaderSearch }","import * as hs from 'Common/headersearch';\r\n\r\n// FIXME !!! WebPerformance :: InitScript_HeaderSearch :: Check what is better\r\n// version 1\r\n//$(document).ready(function () {\r\n//\ths.InitScript_HeaderSearch();\r\n//});\r\n\r\n// version 2\r\nAppLoader.loaded(hs.InitScript_HeaderSearch);\r\n\r\n// top menu expand destination list\r\nwindow.topmenuShowAllDestinations = function (countryPageId) {\r\n\t$(\".destination-\" + countryPageId + \".destination-hidden\").removeClass(\"destination-hidden\");\r\n\t$(\".destination-\" + countryPageId + \".see-more\").remove();\r\n};","//import 'jquery-ui/ui/widgets/autocomplete'; ///!!!! bundling\r\nimport 'Modules/navbar';\r\nimport 'Vendors/slimmage/slimmage.js';\r\n//import 'Utils/sliders/header-slider';\r\nimport { hasHeaderSlider } from 'Utils/sliders/header-slider--dependencies';\r\n\r\n\r\nasync function getComponent_HeaderSlider() {\r\n const { InitScript_HeaderSlider, updateUI_HeaderSlider, InitGlobalScripts } = await import(/* webpackChunkName: \"header-slider-module\" */ 'Utils/sliders/header-slider');\r\n console.log('>>> header.js >>> loaded: Utils/sliders/header-slider');\r\n //InitGlobalScripts();\r\n return { InitScript_HeaderSlider, updateUI_HeaderSlider, InitGlobalScripts };\r\n}\r\n\r\nif (hasHeaderSlider()) {\r\n console.log('>>> header.js >>> hasHeaderSlider == true');\r\n getComponent_HeaderSlider().then((component) => {\r\n console.log('>>> header.js >>> done: getComponent_HeaderSlider');\r\n }).catch((error) => 'An error occurred while loading the component');\r\n}","// === babel/polyfill --- BEGIN --- ====\r\n// --- before (with core-js@2)\r\n//import \"@babel/polyfill\";\r\n// --- after (with core-js@3)\r\nimport 'core-js/es/object';\r\nimport \"core-js/stable\";\r\nimport \"regenerator-runtime/runtime\";\r\n// === babel/polyfill ---- END ---- ====\r\n\r\n//import '../scss/styles-ea.scss';\r\nimport 'SrcJS/ha-loader.js';\r\nimport 'header';\r\nimport 'footer';\r\n// FIXME !!! WebPerformance :: pictures :: Check what is better\r\n// version 1\r\nimport 'Common/pictures.js';\r\n// version 2\r\n//import(/* webpackChunkName: \"pictures-module\" */ 'Common/pictures.js');\r\n// -- end of WebPerformance :: pictures\r\nimport 'bootstrap/dist/js/bootstrap';\r\nimport { GetBreakpointWidth } from 'Utils/globals-bp';\r\nimport { UpdateSiteHeaderSticky } from 'Modules/headroom.js';\r\n\r\nimport 'numeral-with-locales';\r\n\r\nglobal.$ = $;\r\nglobal.jQuery = $;\r\nglobal.jquery = $;\r\n\r\nimport 'jquery.easing';\r\nimport 'Vendors/jquery.ui.touch-punch';\r\n//$.datepicker.regional[AppData.CurrentLocale.toLowerCase()];\r\n\r\nmoment.locale(AppData.CurrentLocaleCountry2);\r\n//global.moment = moment;\r\n\r\nnumeral.locale(AppData.CurrentLocaleCountry2);\r\n//global.numeral = numeral;\r\n\r\nfunction totop_button(e) {\r\n var t = $(\"#back_to_top\");\r\n t.removeClass(\"off on\");\r\n if (e === \"on\") {\r\n t.addClass(\"on\")\r\n } else {\r\n t.addClass(\"off\")\r\n }\r\n};\r\n\r\nfunction backToTop() {\r\n $(document).on(\"click\", \"#back_to_top\", function (e) {\r\n e.preventDefault();\r\n $(\"body,html\").animate({\r\n scrollTop: 0\r\n }, $(window).scrollTop() / 3, \"linear\")\r\n })\r\n};\r\n\r\nfunction backButtonShowHide() {\r\n if (GetBreakpointWidth() < 768) {\r\n totop_button(\"off\");\r\n return;\r\n }\r\n var e = $(window).scrollTop();\r\n var t = $(window).height();\r\n var n;\r\n if (e > 0) {\r\n n = e + t / 2\r\n } else {\r\n n = 1\r\n }\r\n if (n < 1e3) {\r\n totop_button(\"off\")\r\n } else {\r\n totop_button(\"on\")\r\n }\r\n};\r\n\r\n$(document).ready(function () {\r\n backToTop();\r\n $(window).scroll(function () {\r\n backButtonShowHide();\r\n });\r\n backButtonShowHide();\r\n setTimeout(function () {\r\n backButtonShowHide();\r\n }, 2000);\r\n});\r\n\r\nfunction InitScript_5_Headroom() {\r\n $(document).ready(UpdateSiteHeaderSticky);\r\n $(window).resize(UpdateSiteHeaderSticky);\r\n};\r\n\r\n// FIXME !!! WebPerformance :: InitScript_5_Headroom :: Check what is better\r\n// version 1\r\n//InitScript_5_Headroom();\r\n\r\n// version 2\r\nAppLoader.loaded(InitScript_5_Headroom);\r\n\r\n\r\n////temp location / will be moved\r\n//function InitScript_packagelogic() {\r\n//\r\n// (function ($) {\r\n// $.fn.packageMouseOver = function () {\r\n// $('.package-day').removeClass('hover');\r\n// $(this).addClass('hover');\r\n// }\r\n// })(jQuery);\r\n//\r\n//};\r\n//AppLoader.loaded(InitScript_packagelogic);","window.lazySizesConfig = window.lazySizesConfig || {};\r\n//in case you want to use custom media query aliases in your markup, instead of full media queries\r\nwindow.lazySizesConfig.customMedia = {\r\n '--bp0': 'only screen and (min-width: 0px)',\r\n '--bp1': 'only screen and (min-width: 480px)',\r\n '--bp2': 'only screen and (min-width: 768px)',\r\n '--bp3': 'only screen and (min-width: 1024px)',\r\n '--bp4': 'only screen and (min-width: 1280px)',\r\n};\r\n\r\nwindow.lazySizesConfig.init = false;\r\n\r\nwindow.lazySizesConfig.loadMode = 1;\r\nwindow.lazySizesConfig.loadHidden = false;\r\nwindow.lazySizesConfig.expand = 10;","import Headroom from 'headroom.js';\r\n//import Headroom from 'headroom.js/dist/headroom';\r\n//import 'headroom.js/dist/jQuery.headroom';\r\nimport { GetBreakpointWidth } from 'Utils/globals-bp';\r\n/* *** Headroom *** */\r\nglobal.siteHeadRoom = null;\r\nfunction UpdateSiteHeaderSticky() {\r\n var elem = document.querySelector(\".site-header, nav.navbar\");\r\n if (global.siteHeadRoom == null) {\r\n var options = {\r\n \"offset\": 400,\r\n \"tolerance\": {\r\n \"up\": 5,\r\n \"down\": 0\r\n },\r\n \"classes\": {\r\n // when element is initialised\r\n \"initial\": \"animated\",\r\n // when scrolling up\r\n \"pinned\": \"slideDown\",\r\n // when scrolling down\r\n \"unpinned\": \"slideUp\",\r\n // when above offset\r\n \"top\": \"headroom--top\",\r\n // when below offset\r\n \"notTop\": \"headroom--not-top\",\r\n // when at bottom of scoll area\r\n \"bottom\": \"headroom--bottom\",\r\n // when not at bottom of scroll area\r\n \"notBottom\": \"headroom--not-bottom\"\r\n },\r\n onUnpin: function () {\r\n var mobileMenu = $('.site-header').find('.site-nav__mobile');\r\n if (mobileMenu.is(\":visible\")) {\r\n mobileMenu.slideToggle(400);\r\n }\r\n\r\n // Dropdown menu ST version\r\n if (typeof siteHeadRoom_onUnpin == 'function')\r\n siteHeadRoom_onUnpin();\r\n }\r\n };\r\n global.siteHeadRoom = new Headroom(elem, options);\r\n }\r\n var headroom = global.siteHeadRoom;\r\n\r\n //var maxWidth = window.innerWidth > 0 ? window.innerWidth : window.screen.width;\r\n var maxWidth = GetBreakpointWidth();\r\n\r\n //if ($(window).width() >= 768 || maxWidth >= 768) {\r\n if (maxWidth >= 768) {\r\n if (headroom != null) {\r\n // to destroy\r\n //$(\".site-header\").headroom(\"destroy\");\r\n headroom.destroy();\r\n var classes = headroom.classes;\r\n elem.classList.remove(\r\n classes.unpinned, classes.pinned,\r\n classes.top, classes.notTop,\r\n classes.initial,\r\n classes.bottom, classes.notBottom);\r\n }\r\n } else {\r\n if (headroom != null) {\r\n //$(\".site-header\").headroom(options);\r\n headroom.init();\r\n }\r\n }\r\n};\r\n\r\nexport { UpdateSiteHeaderSticky }","import { isTouch } from 'Utils/device-utils';\r\n\r\nimport 'Vendors/jquery.inview';\r\n\r\n\r\nfunction boxLoad(extra) {\r\n\r\n\tif (isTouch) {\r\n\t\t$('.hotel-slider__box').removeClass('hotel-slider__box--hover');\r\n\t\t$('.front-blog__box').removeClass('front-blog__box--hover');\r\n\t} else {\r\n\t\t$('.hotel-slider__box').addClass('hotel-slider__box--hover');\r\n\t\t$('.front-blog__box').addClass('front-blog__box--hover');\r\n\t}\r\n\r\n\t$('.front-blog__box').each(function () {\r\n\t\t$(this).find('.front-blog__caption').show();\r\n\t\ttemp = $(this).find('h2');\r\n if (temp.height() < 30) \r\n temp.addClass(\"padding\");\r\n else\r\n temp.removeClass(\"padding\");\r\n\t\t$(this).find('.front-blog__caption').css('bottom', $(this).find('.front-blog__caption').height() * -1 + 42);\r\n\t});\r\n\r\n\t$('.front-blog__box').one('inview', function () {\r\n\t\t\t$(this).find('.front-blog__caption').show();\r\n\t\t\ttemp = $(this).find('h2');\r\n if (temp.height() < 30)\r\n temp.addClass(\"padding\");\r\n else\r\n temp.removeClass(\"padding\");\r\n\t\t\t$(this).find('.front-blog__caption').css('bottom', $(this).find('.front-blog__caption').height() * -1 + 42);\r\n\t\t}\r\n\t);\r\n\r\n boxLoad_GalleryMosaic(0);\r\n\r\n if (extra) setTimeout(boxLoad, 500, 0);\r\n\r\n\t//if (extra) setTimeout(\"boxLoad(0)\",200);\r\n};\r\n\r\nfunction boxLoad_GalleryMosaic(extra) {\r\n\r\n\tif (isTouch) {\r\n\t\t$('.gallery-mosaic__box').removeClass('gallery-mosaic__box--hover');\r\n\t} else {\r\n\t\t$('.gallery-mosaic__box').addClass('gallery-mosaic__box--hover');\r\n\t}\r\n\r\n\t$('.gallery-mosaic__box').each(function () {\r\n\t\t$(this).find('.gallery-mosaic__caption').show();\r\n\t\ttemp = $(this).find('h2,h3,h4');\r\n if (temp.height() < 30) \r\n temp.addClass(\"padding\");\r\n else\r\n temp.removeClass(\"padding\");\r\n $(this).find('.gallery-mosaic__caption').css('bottom', $(this).find('.gallery-mosaic__caption').height() * -1 + 42);\r\n\r\n $(this).css('height', $(this).width() * 0.8);\r\n\t});\r\n\r\n\t$('.gallery-mosaic__box').one('inview', function () {\r\n\t\t\t$(this).find('.gallery-mosaic__caption').show();\r\n\t\t\ttemp = $(this).find('h2,h3,h4');\r\n if (temp.height() < 30)\r\n temp.addClass(\"padding\");\r\n else\r\n temp.removeClass(\"padding\");\r\n\t\t\t$(this).find('.gallery-mosaic__caption').css('bottom', $(this).find('.gallery-mosaic__caption').height() * -1 + 42);\r\n\t\t}\r\n\t);\r\n\r\n\tif (extra) setTimeout(\"boxLoad_GalleryMosaic(0)\", 500);\r\n};\r\n\r\n\r\nexport { boxLoad }","import { hasHeaderSlider, hasHeaderSize } from 'Utils/sliders/header-slider--dependencies';\r\nimport { boxLoad } from 'SrcJS/script--boxLoad';\r\n\r\nimport 'Vendors/jquery.hcSticky';\r\n//import 'Vendors/jquery.inview';\r\n//import 'Vendors/jquery.ui.touch-punch';\r\n\r\nvar hasHeaderSliderDependencies = hasHeaderSlider();\r\nvar updateUI_HeaderSlider = undefined;\r\nasync function getComponent_HeaderSlider() {\r\n const { updateUI_HeaderSlider } = await import(/* webpackChunkName: \"header-slider-module\" */ 'Utils/sliders/header-slider');\r\n //console.log('>>> script.js >>> loaded: Utils/sliders/header-slider');\r\n return { updateUI_HeaderSlider };\r\n}\r\nvar hasHeaderSizeDependencies = hasHeaderSize();\r\nvar updateUI_HeaderSize = undefined;\r\nasync function getComponent_HeaderSize() {\r\n const { updateUI_HeaderSize } = await import('Utils/sliders/header-slider--header-size');\r\n //console.log('>>> script.js >>> loaded: Utils/sliders/header-slider--header-size');\r\n return { updateUI_HeaderSize };\r\n}\r\n\r\n/***************************** UpdateUI - Dynamisk højde tilpasser sig viewport *****************************/\r\n\r\nasync function updateUI() {\r\n if (hasHeaderSliderDependencies) {\r\n if (typeof updateUI_HeaderSlider == \"undefined\") {\r\n updateUI_HeaderSlider = (await getComponent_HeaderSlider()).updateUI_HeaderSlider;\r\n }\r\n await updateUI_HeaderSlider();\r\n } else if (hasHeaderSizeDependencies) {\r\n if (typeof updateUI_HeaderSize == \"undefined\") {\r\n updateUI_HeaderSize = (await getComponent_HeaderSize()).updateUI_HeaderSize;\r\n }\r\n updateUI_HeaderSize();\r\n }\r\n\r\n /*\r\n // 2021-06-11 \"Unused JavaScript\"\r\n if ($(\".header-slider\").length) {\r\n\r\n\t\tvar heightSearch = 60;\t// Hvad der skal vises overfolden på mobil\r\n\t\tvar heightHeader = 80;\r\n\r\n\t\tvar windowWidth = GetBreakpointWidth();\r\n\t\tif (windowWidth >= 1024) {\r\n\t\t\tvar heightSearch = 152;\t// Hvad der skal vises overfolden på desktop\r\n\t\t\tvar heightHeader = 80;\r\n\t\t}\r\n\t\telse if (windowWidth >= 768) {\r\n\t\t\tvar heightSearch = 250;\t// Hvad der skal vises overfolden på tablet\r\n\t\t\tvar heightHeader = 80;\r\n\t\t}\r\n\t\telse if (windowWidth >= 480) {\r\n\t\t\tvar heightSearch = 0;\t// Hvad der skal vises overfolden på tablet\r\n\t\t\tvar heightHeader = 80;\r\n\t\t}\r\n\r\n\t\tif (!erForside) heightSearch = 140;\r\n\r\n\t\tvar height = $(window).height() - heightSearch;\r\n\r\n\t\tif (height < 303) height = 303;\r\n\t\tif (!erForside && !erRejsemaal && height > 586) height = 586;\r\n\r\n\t\tif (height < windowWidth * 0.33) height = windowWidth * 0.33;\r\n\r\n\t\t/-*\r\n\t\t$('.header').css('height', height);\r\n\t\t$('.header-slider').css('height', height - heightHeader);\r\n\t\t*-/\r\n\r\n\t}\r\n */ \r\n\r\n\t/*\tSætter en højde på kortet */\r\n\t//$('.front-map').css('height', $(window).height() - heightSearch);\r\n\r\n\tupdateUI_FrontBlogMasonry();\r\n\r\n /* Faktabox */\r\n\tvar faktaboxHeight = 0;\r\n\tif ($(window).width() > 600) {\r\n\t\t\r\n\r\n\t\tlet $faktabox = $(\".faktabox:not(.no-sticky), .hvorfor-hideaways, .chat-support\");\r\n\r\n\t\t$faktabox.css(\"min-height\", \"auto\");\r\n\r\n\t\t$faktabox.each(function () {\r\n\t\t\ttemp = $(this).height();\r\n\t\t\tif ($(this).hasClass(\"hvorfor-hideaways\")) temp += 60;\r\n\t\t\tif (temp > faktaboxHeight) {\r\n\t\t\t\tfaktaboxHeight = temp;\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t//$faktabox.css(\"min-height\", faktaboxHeight);\r\n\t}\r\n\r\n\t/* Sticky */\r\n\t$(\".wrapper-sticky\").height(faktaboxHeight);\r\n\tif ($(window).width() > 1262) {\r\n\t\tif (!$(\".wrapper-sticky\").length) {\r\n\t\t\t$('.faktabox:not(.no-sticky)').hcSticky({\r\n\t\t\t\ttop: 15\r\n\t\t\t});\r\n\t\t}\r\n\t\t$(\".wrapper-sticky\").height(\"auto\");\r\n\t\t$('.faktabox').css(\"position\", \"static\");\r\n\t\tif ($(\"#tabs .kolonne1\").height() > $(\".wrapper-sticky\").height()) {\r\n\t\t\t$(\".wrapper-sticky\").height($(\"#tabs .kolonne1\").height());\r\n\t\t} else {\r\n\t\t\t$('.faktabox').css(\"position\", \"static\");\r\n\t\t}\r\n\t} else {\r\n\t\t$('.faktabox').css(\"position\", \"static\");\r\n\t}\r\n\r\n\r\n\t$(\".priser-afgange .kolonne1\").css(\"margin-top\", \"\");\r\n\t$(\".priser-afgange .kolonne2\").css(\"margin-top\", \"\");\r\n\tif ($(window).width() > 1004) {\r\n\t\tlet temp = $(\".priser-afgange .kolonne1\").height() - $(\".priser-afgange .kolonne2\").height() - 24;\r\n\t\tif (temp > 0) {\r\n\t\t\t$(\".priser-afgange .kolonne2\").css(\"margin-top\", temp);\r\n\t\t} else {\r\n\t\t\t$(\".priser-afgange .kolonne1\").css(\"margin-top\", temp * -1);\r\n\t\t}\r\n\t}\r\n\r\n\t/*\tGør baggrunden gul bag formfelterne */\r\n\tvar focusClass = 'search__element-wrapper--active';\t//Classes den tilføjes\r\n\tvar $wrapper = $('.search__element-wrapper');\t\t//Wrapper elementet\r\n\r\n\t$wrapper.children().focus(function () {\r\n\t\t$(this).parent().addClass(focusClass);\r\n\t}).focusout(function () {\r\n\t\t$(this).parent().removeClass(focusClass);\r\n\t});\r\n\r\n\tboxLoad(1);\r\n\t//UpdateSiteHeaderSticky();\r\n if (typeof UpdateSidebarSearchFilter != \"undefined\") {\r\n UpdateSidebarSearchFilter();\r\n }\r\n};\r\n\r\nfunction updateUI_FrontBlogMasonry() {\r\n /*\tHøjde / Bredde udregning til blog slideren på forsiden */\r\n $('.front-blog__slide').css('width', $('.front-blog__wrapper').width());\r\n\r\n $('.front-blog__box--large').css('height', $('.front-blog__box--large').width() * 0.8); // Forhold mellem højde/bredde\r\n $('.front-blog__box--small').css('height', $('.front-blog__box--small').width() * 0.8);\r\n\r\n $('.front-blog').css('height', $('.front-blog__slide > div').height());\r\n /*\tMængden af caption i front blog der vises i kassen */\r\n};\r\n\r\n\r\nexport { updateUI }","import { GetBreakpointWidth, GetBreakpointHeight } from 'Utils/globals-bp';\r\n\r\nexport function GetIntersectionObserverConfig() {\r\n let maxWidth = GetBreakpointWidth();\r\n let maxHeight = GetBreakpointHeight();\r\n let rootMargin = Math.round(Math.min(maxWidth, maxHeight) / 2) + 'px';\r\n //console.log('>>> IntersectionObserver >> rootMargin: ', rootMargin);\r\n let config = {\r\n //rootMargin: '0px 0px 50px 0px',\r\n rootMargin: rootMargin,\r\n threshold: 0\r\n };\r\n return config;\r\n}\r\n\r\nexport class LazyInitializer {\r\n constructor(element, cbInitializer, options) {\r\n this.options = Object.assign({},\r\n GetIntersectionObserverConfig(),\r\n options\r\n );\r\n this.element = element;\r\n this.cbInitializer = cbInitializer;\r\n\r\n this.bindEvents();\r\n //this.init();\r\n }\r\n\r\n bindEvents() {\r\n this._lazyInit = this._lazyInit.bind(this);\r\n //this.init = this.init.bind(this);\r\n }\r\n\r\n /**\r\n * Creates a Promise that is based on cbInitializer.\r\n * @returns A new Promise.\r\n */\r\n _lazyInit() {\r\n //console.log('>>> LazyInitializer >> _lazyInit ', this);\r\n let p;\r\n if (typeof this.cbInitializer == \"function\") {\r\n p = new Promise(async (resolve, reject) => {\r\n //console.log('>>> LazyInitializer >> _lazyInit >> before cbInitializer ', this);\r\n let r = await this.cbInitializer();\r\n //console.log('>>> LazyInitializer >> _lazyInit >> after cbInitializer ', r);\r\n resolve(r);\r\n })\r\n } else {\r\n p = Promise.resolve(this.cbInitializer);\r\n }\r\n return p;\r\n }\r\n\r\n /**\r\n * Creates a Promise that is resolved with result of initialization by cbInitializer.\r\n * Uses IntersectionObserver with options if it's possible.\r\n * @returns A new Promise.\r\n */\r\n init() {\r\n let promise;\r\n if (!!window.IntersectionObserver) {\r\n promise = new Promise((resolve, reject) => {\r\n let config = this.options;\r\n let _lazyInit = this._lazyInit;\r\n let observer = new IntersectionObserver(function (entries, self) {\r\n entries.forEach(async entry => {\r\n //console.log('>>> IntersectionObserver');\r\n if (entry.isIntersecting) {\r\n //console.log('>>> IntersectionObserver >> Initialize');\r\n let r = await _lazyInit();\r\n // Stop watching and initialize map\r\n self.unobserve(entry.target);\r\n // done\r\n resolve(r);\r\n }\r\n });\r\n }, config);\r\n\r\n observer.observe(this.element);\r\n });\r\n } else {\r\n promise = this._lazyInit();\r\n }\r\n return promise;\r\n }\r\n}\r\n","/*\r\n *\r\n*/\r\nvar isTouch = /Android|webOS|iPhone|iPad|iPod|BlackBerry|windows phone|WindowsPhone/i.test(navigator.userAgent.toLowerCase());\r\nvar isApplePie = /iPhone|iPad|iPod/i.test(navigator.userAgent.toLowerCase());\r\nvar is_iPhone = /iPhone/i.test(navigator.userAgent.toLowerCase());\r\n\r\n\r\n\r\nfunction IsPortraitMode() {\r\n var portrait = true;\r\n if (window.innerHeight > window.innerWidth) {\r\n portrait = true;\r\n } else {\r\n portrait = false;\r\n }\r\n\r\n if (portrait)\r\n return true;\r\n};\r\n\r\nfunction IsLandscapeMode() {\r\n return !IsPortraitMode();\r\n};\r\n\r\n/**\r\n * detect IE\r\n * returns IE or Edge browser version or false, if browser is not Internet Explorer\r\n * source: https://codepen.io/gapcode/pen/vEJNZN\r\n */\r\nfunction DetectIE() {\r\n var ua = window.navigator.userAgent;\r\n\r\n // Test values; Uncomment to check result …\r\n\r\n // IE 10\r\n // ua = 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)';\r\n\r\n // IE 11\r\n // ua = 'Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko';\r\n\r\n // Edge 12 (Spartan)\r\n // ua = 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36 Edge/12.0';\r\n\r\n // Edge 13\r\n // ua = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Safari/537.36 Edge/13.10586';\r\n\r\n var msie = ua.indexOf('MSIE ');\r\n if (msie > 0) {\r\n // IE 10 or older => return version number\r\n return parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);\r\n }\r\n\r\n var trident = ua.indexOf('Trident/');\r\n if (trident > 0) {\r\n // IE 11 => return version number\r\n var rv = ua.indexOf('rv:');\r\n return parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);\r\n }\r\n\r\n var edge = ua.indexOf('Edge/');\r\n if (edge > 0) {\r\n // Edge (IE 12+) => return version number\r\n return parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);\r\n }\r\n\r\n // other browser\r\n return false;\r\n};\r\n\r\n\r\n\r\nexport { isTouch, isApplePie, is_iPhone, IsPortraitMode, IsLandscapeMode, DetectIE }","import 'Vendors/jquery.cookie';\r\n\r\n/***************************************************\r\n * From ha-searchlogic.js\r\n **************************************************/\r\n\r\nexport function getParameterByName(name) {\r\n name = name.replace(/[\\[]/, \"\\\\\\[\").replace(/[\\]]/, \"\\\\\\]\");\r\n var regex = new RegExp(\"[\\\\?&]\" + name + \"=([^&#]*)\"),\r\n results = regex.exec(window.location.search);\r\n return results == null ? \"\" : decodeURIComponent(results[1].replace(/\\+/g, \" \"));\r\n};\r\n\r\nexport function updateQueryStringWithoutHistory() {\r\n if (window.history.replaceState) {\r\n var withoutPage = !searchViewModel.IsSearch();\r\n let withRTBoards = !!searchViewModel.IsHotel();\r\n var newurl = window.location.protocol + \"//\" + window.location.host + window.location.pathname + searchViewModel.GetCurrentQuery(false, withoutPage, withRTBoards) + \"#search-results\";\r\n //prevents browser from storing history with each change:\r\n window.history.replaceState({ path: newurl }, '', newurl);\r\n }\r\n};\r\n\r\nexport function updateQueryStringWithHistory() {\r\n //window.location.search = searchViewModel.GetCurrentQuery();// + \"#search-results\";\r\n if (history.pushState) {\r\n var withoutPage = !searchViewModel.IsSearch();\r\n let withRTBoards = !!searchViewModel.IsHotel();\r\n var newurl = window.location.protocol + \"//\" + window.location.host + window.location.pathname + searchViewModel.GetCurrentQuery(false, withoutPage, withRTBoards) + \"#search-results\";\r\n window.history.pushState({ path: newurl }, '', newurl);\r\n }\r\n};\r\n\r\nexport function setCookieDepartureAirportCode(departureAirportCode, airportOnly) {\r\n var name = \"searchViewModel_DepartureAirportCode\";\r\n if(airportOnly) {\r\n name += \"_airportOnly\";\r\n }\r\n var options = { expires: 14, path: '/' };\r\n if (typeof (departureAirportCode) != 'undefined') {\r\n var value = departureAirportCode;\r\n $.cookie(name, value, options);\r\n } else {\r\n $.removeCookie(name, options);\r\n }\r\n};\r\n\r\nexport function getCookieDepartureAirportCode(airportOnly) {\r\n var name = \"searchViewModel_DepartureAirportCode\";\r\n if(airportOnly) {\r\n name += \"_airportOnly\";\r\n }\r\n var value = $.cookie(name);\r\n var departureAirportCode = '';\r\n if (typeof(value) != 'undefined' && value !== null) {\r\n departureAirportCode = value;\r\n }\r\n return departureAirportCode;\r\n};\r\n\r\n\r\nexport function setCookieItemListId(item_list_id) {\r\n var name = \"dl_item_list_id\";\r\n var options = { expires: 14, path: '/' };\r\n if (typeof (item_list_id) != 'undefined') {\r\n var value = item_list_id;\r\n $.cookie(name, value, options);\r\n } else {\r\n $.removeCookie(name, options);\r\n }\r\n};\r\n\r\nexport function getCookieItemListId() {\r\n var name = \"dl_item_list_id\";\r\n var value = $.cookie(name);\r\n var item_list_id = '';\r\n if (typeof(value) != 'undefined' && value !== null) {\r\n item_list_id = value;\r\n }\r\n return item_list_id;\r\n};\r\n\r\nexport function setCookieItemListName(item_list_name) {\r\n var name = \"dl_item_list_name\";\r\n var options = { expires: 14, path: '/' };\r\n if (typeof (item_list_name) != 'undefined') {\r\n var value = item_list_name;\r\n $.cookie(name, value, options);\r\n } else {\r\n $.removeCookie(name, options);\r\n }\r\n};\r\n\r\nexport function getCookieItemListName() {\r\n var name = \"dl_item_list_name\";\r\n var value = $.cookie(name);\r\n var item_list_name = '';\r\n if (typeof(value) != 'undefined' && value !== null) {\r\n item_list_name = value;\r\n }\r\n return item_list_name;\r\n};\r\n\r\nexport function setCookieDate(name, dt) {\r\n var options = { expires: 14, path: '/' };\r\n if (dt) {\r\n var value = moment(dt).format(\"YYYY-MM-DD\");\r\n $.cookie(name, value, options);\r\n } else {\r\n $.removeCookie(name, options);\r\n }\r\n};\r\n\r\nexport function getCookieDate(name) {\r\n var value = $.cookie(name);\r\n var dt = null;\r\n if (value) {\r\n dt = moment(value, \"YYYY-MM-DD\").toDate();\r\n }\r\n return dt;\r\n};\r\n\r\nexport function setCookieRooms(rooms) {\r\n var name = \"searchViewModel_Rooms\";\r\n var options = { expires: 14, path: '/' };\r\n if (typeof (rooms) != 'undefined' && rooms != null && rooms.length > 0) {\r\n var value = JSON.stringify(rooms);\r\n $.cookie(name, value, options);\r\n } else {\r\n $.removeCookie(name, options);\r\n }\r\n};\r\n\r\nexport function getCookieRooms() {\r\n var name = \"searchViewModel_Rooms\";\r\n var value = $.cookie(name);\r\n var rooms = null;\r\n if (typeof(value) != 'undefined') {\r\n rooms = JSON.parse(value);\r\n }\r\n return rooms;\r\n};\r\n\r\n// 2018-04-27 Unused now\r\n//var arrayUnique = function (a) {\r\n// return a.reduce(function (p, c) {\r\n// if (p.indexOf(c) < 0) p.push(c);\r\n// return p;\r\n// }, []);\r\n//};\r\n\r\nexport function runGoogleAdwords(searchViewModel, force) {\r\n var flgRun = force == true;\r\n if (searchViewModel != null) {\r\n // For HotelPage run with 'hrental_totalvalue' after SearchResult \r\n if (searchViewModel.IsHotel() && searchViewModel.SingleHotelResult()\r\n && !searchViewModel.SearchInProgress() && searchViewModel.RetrievingDataReady()) {\r\n flgRun = true;\r\n }\r\n // For CountryPage and DestinationPage run before searching\r\n // FIXME !!! SearchViewModel refactoring :: searchViewModel.SearchInProgress\r\n if (!searchViewModel.IsHotel() && AppData.CurrentThemeId == null\r\n && (typeof searchViewModel.SearchInProgress != \"undefined\" && searchViewModel.SearchInProgress()) \r\n && !searchViewModel.RetrievingDataReady()) {\r\n flgRun = true;\r\n }\r\n }\r\n\r\n if (flgRun && (typeof run_google_remarketing == 'function')) {\r\n // Google AdWords\r\n run_google_remarketing();\r\n }\r\n};\r\n\r\nexport function updateTrivagoTracking() {\r\n var hotelId = AppData.CurrentHotelId;\r\n\r\n var isTrivago = false;\r\n if (document.getElementById(\"search-view-model\") && hotelId != null) {\r\n var meta = getParameterByName(\"meta\");\r\n if (meta != \"\" && meta.length > 0) {\r\n var metaItems = meta.split(\",\");\r\n isTrivago |= metaItems.indexOf(\"ttfc\") >= 0;\r\n }\r\n }\r\n\r\n if (document.getElementById(\"mytrip\")) {\r\n var ttfc = getParameterByName(\"ttfc\");\r\n isTrivago |= ttfc != null && ttfc != \"\" && ttfc.toLowerCase() == 'true';\r\n }\r\n\r\n if (isTrivago) {\r\n var options = { expires: 30, path: '/' };\r\n var roomcount = parseInt(getParameterByName(\"rooms\"));\r\n var rtbAllowed = false;\r\n var preSelectedRooms = [];\r\n for (var i = 0; i < roomcount; i++) { \r\n var roomTypeWithBoardAndCancelPolicy = [];\r\n rtbAllowed = rtbAllowed || (getParameterByName(\"r\" + i + \"tb\") != null && getParameterByName(\"r\" + i + \"tb\") != \"\");\r\n var paramRTB = getParameterByName(\"r\" + i + \"tb\");\r\n var roomType = -1;\r\n var roomBoard = \"\";\r\n var refundableStr = \"\";\r\n var refundable = false;\r\n if (paramRTB != \"\") {\r\n roomTypeWithBoardAndCancelPolicy = paramRTB.split(\"~\");\r\n if (roomTypeWithBoardAndCancelPolicy.length > 0 && roomTypeWithBoardAndCancelPolicy[0] != \"\") {\r\n roomType = parseInt(roomTypeWithBoardAndCancelPolicy[0]);\r\n }\r\n if (roomTypeWithBoardAndCancelPolicy.length > 1 && roomTypeWithBoardAndCancelPolicy[1] != \"\") {\r\n roomBoard = roomTypeWithBoardAndCancelPolicy[1];\r\n }\r\n if (roomTypeWithBoardAndCancelPolicy.length > 2 && roomTypeWithBoardAndCancelPolicy[2] != \"\") {\r\n refundableStr = roomTypeWithBoardAndCancelPolicy[2];\r\n refundable = refundableStr == \"R\";\r\n }\r\n }\r\n\r\n var room = { \"rt\": roomType, \"rb\": roomBoard, \"ref\": refundable };\r\n preSelectedRooms.push(room);\r\n }\r\n var value = {\r\n flag: true,\r\n hotelId: hotelId,\r\n preSelectedRooms: preSelectedRooms\r\n //fillup preselected items\r\n };\r\n $.cookie(\"ttfc\", JSON.stringify(value), options);\r\n }\r\n};\r\n\r\nexport function checkTrivagoTracking() {\r\n var value = JSON.parse($.cookie(\"ttfc\"));\r\n return value != null;\r\n};\r\n\r\nexport function getTrivagoTrackingValue() {\r\n var value = JSON.parse($.cookie(\"ttfc\"));\r\n};\r\n\r\nexport function getAffiliateAttribution() {\r\n\tvar value = $.cookie(\"aff_attribution\");\r\n\tif (!value)\r\n\t\treturn '';\r\n\treturn value;\r\n};\r\nexport function getAffiliatePath() {\r\n\tvar value = $.cookie(\"aff_path\");\r\n\tif (!value)\r\n\t\treturn '';\r\n\treturn value;\r\n};\r\n\r\nexport function getAffiliateReference() {\r\n\tvar value = $.cookie(\"aff_reference\");\r\n\tif (!value)\r\n\t\treturn '';\r\n\treturn value;\r\n};\r\n\r\n\r\n\r\n/***************************************************\r\n * From ha-mytriplogic.js\r\n **************************************************/\r\n\r\nexport function consoleLog(msg) {\r\n console.log(msg);\r\n};\r\n\r\nexport function round5(x) {\r\n return Math.ceil(x / 5) * 5;\r\n};\r\n\r\nString.prototype.replaceAll = function(search, replacement) {\r\n var target = this;\r\n return target.replace(new RegExp(search, 'g'), replacement);\r\n};\r\n\r\nString.format = function () {\r\n // The string containing the format items (e.g. \"{0}\")\r\n // will and always has to be the first argument.\r\n var theString = arguments[0];\r\n\r\n // start with the second argument (i = 1)\r\n for (var i = 1; i < arguments.length; i++) {\r\n // \"gm\" = RegEx options for Global search (more than one instance)\r\n // and for Multiline search\r\n var regEx = new RegExp(\"\\\\{\" + (i - 1) + \"\\\\}\", \"gm\");\r\n theString = theString.replace(regEx, arguments[i]);\r\n }\r\n\r\n return theString;\r\n};\r\n\r\n//Capitalize the First Letter\r\nString.prototype.capitalize = function() {\r\n var target = this;\r\n return target[0].toUpperCase() + target.slice(1);\r\n};\r\n//Capitalize the First Letter of Each Word\r\nString.prototype.capitalizeFirstLetterOfEachWord = function() {\r\n var target = this;\r\n return target.replace(/(^\\w{1})|(\\s+\\w{1})/g, letter => letter.toUpperCase());\r\n};\r\n\r\n\r\n$.sum = function (arr) {\r\n var r = 0;\r\n $.each(arr, function (i, v) {\r\n r += v;\r\n });\r\n return r;\r\n};\r\n\r\n/** JavaScript object deep comparison\r\n * based on source: https://gist.github.com/nicbell/6081098\r\n */\r\nObject.compare = function (obj1, obj2) {\r\n // Check if 'objects' are of same type\r\n if (typeof (obj1) !== typeof (obj2)) return false;\r\n\r\n\t//Loop through properties in object 1\r\n\tfor (var p in obj1) {\r\n\t\t//Check property exists on both objects\r\n\t\tif (obj1.hasOwnProperty(p) !== obj2.hasOwnProperty(p))\r\n\t\t\treturn false;\r\n\r\n\t\tif (obj1[p] === null && obj2[p] !== null)\r\n\t\t\treturn false;\r\n\t\tif (obj2[p] === null && obj1[p] !== null)\r\n\t\t\treturn false;\r\n\r\n\t\tswitch (typeof(obj1[p])) {\r\n\t\t\t//Deep compare objects\r\n\t\tcase 'object':\r\n\t\t\tif (!Object.compare(obj1[p], obj2[p]))\r\n\t\t\t\treturn false;\r\n\t\t\tbreak;\r\n\t\t\t//Compare function code\r\n\t\tcase 'function':\r\n\t\t\tif (typeof(obj2[p]) == 'undefined' || (p != 'compare' && obj1[p].toString() != obj2[p].toString()))\r\n\t\t\t\treturn false;\r\n\t\t\tbreak;\r\n\t\t\t//Compare values\r\n\t\tdefault:\r\n\t\t\tif (obj1[p] === '' && obj2[p] !== '')\r\n\t\t\t\treturn false;\r\n\t\t\tif (obj2[p] === '' && obj1[p] !== '')\r\n\t\t\t\treturn false;\r\n\t\t\tif (obj1[p] != obj2[p])\r\n\t\t\t\treturn false;\r\n\t\t}\r\n\t}\r\n\r\n\t//Check object 2 for any extra properties\r\n\tfor (var p in obj2) {\r\n\t\tif (typeof(obj1[p]) == 'undefined')\r\n\t\t\treturn false;\r\n\t}\r\n\treturn true;\r\n};\r\n\r\n/** Case-insensitive getter \r\n * @param {any} obj\r\n * @param {any} prop\r\n */\r\nObject.getter = function (obj, prop) {\r\n let val = undefined;\r\n if (!obj)\r\n return val;\r\n\r\n prop = (prop + \"\").toLowerCase();\r\n\r\n for (var p in obj) {\r\n if (prop !== (p + \"\").toLowerCase())\r\n continue;\r\n\r\n //if (obj.hasOwnProperty(p)) {\r\n // val = obj[p];\r\n // break;\r\n //}\r\n if (typeof ko !== \"undefined\") {\r\n if (ko.isObservable(obj[p])) {\r\n val = ko.unwrap(obj[p]);\r\n break;\r\n }\r\n }\r\n let flgSwitch = true;\r\n switch (typeof obj[p]) {\r\n case 'function':\r\n val = obj[p].apply(obj, []);\r\n break;\r\n case 'string':\r\n val = obj[p];\r\n break;\r\n default:\r\n flgSwitch = false;\r\n break;\r\n }\r\n if (flgSwitch)\r\n break;\r\n }\r\n\r\n return val;\r\n};\r\n\r\nexport function deepClone(obj) {\r\n //return JSON.parse(JSON.stringify(obj));\r\n //return Object.assign({}, obj);\r\n var clone = {};\r\n for (var i in obj) {\r\n if (obj[i] != null && typeof (obj[i]) == \"object\")\r\n clone[i] = deepClone(obj[i]);\r\n else\r\n clone[i] = obj[i];\r\n }\r\n return clone;\r\n};\r\n\r\nexport function getSearchParameters(uri) {\r\n if (!uri || uri.length == 0 || uri == '')\r\n return null;\r\n\r\n var queryString = uri;\r\n var qPos = uri.indexOf('?');\r\n if (qPos > 0) {\r\n queryString = queryString.substring(qPos);\r\n }\r\n\r\n var tagPos = queryString.indexOf('#');\r\n if (tagPos >= 0) {\r\n queryString = queryString.substring(0, tagPos);\r\n }\r\n\r\n var params = {};\r\n queryString.replace(\r\n new RegExp(\"([^?=&]+)(=([^&#]*))?\", \"g\"),\r\n function ($0, $1, $2, $3) { params[$1] = $3; }\r\n );\r\n return params;\r\n};\r\nexport function getSearchQueryString(searchParams) {\r\n if (!searchParams)\r\n return \"\";\r\n var query = [];\r\n for (let key in searchParams) {\r\n query.push(key + '=' + searchParams[key]);\r\n }\r\n return query.join('&');\r\n};\r\n\r\nexport function modifyQueryString(url, queryStringModification, anchor) {\r\n if (url === null) url = '';\r\n //url = url.toLowerCase();\r\n\r\n if (queryStringModification === null) queryStringModification = '';\r\n //queryStringModification = queryStringModification.toLowerCase();\r\n\r\n if (anchor === null) anchor = '';\r\n //anchor = anchor.toLowerCase();\r\n\r\n let str = '';\r\n let str2 = '';\r\n if (url.includes('#')) {\r\n str2 = url.substring(url.indexOf('#') + 1);\r\n url = url.substring(0, url.indexOf('#'));\r\n }\r\n if (url.includes('?')) {\r\n str = url.substring(url.indexOf('?') + 1);\r\n url = url.substring(0, url.indexOf('?'));\r\n }\r\n if (queryStringModification !== '') {\r\n if (str !== '') {\r\n let dictionary = {};\r\n str.split('&').forEach(str3 => {\r\n if (str3 !== '') {\r\n let strArray = str3.split('=');\r\n if (strArray.length === 2) {\r\n dictionary[strArray[0]] = strArray[1];\r\n } else {\r\n dictionary[str3] = null;\r\n }\r\n }\r\n });\r\n queryStringModification.split('&').forEach(str4 => {\r\n if (str4 !== '') {\r\n let strArray2 = str4.split('=');\r\n // if (strArray2.length === 2) {\r\n // dictionary[strArray2[0]] = strArray2[1];\r\n // } else {\r\n // dictionary[str4] = null;\r\n // }\r\n let newValue = (strArray2.length === 2) ? strArray2[1] : null;\r\n let newKey = (strArray2.length === 2 && strArray2[0] && strArray2[0].trim() !== '') ? strArray2[0] : str4;\r\n let oldValue = null;\r\n let oldKey = Object.keys(dictionary).find(k => { return k.toLowerCase() === newKey.toLowerCase(); });\r\n if (oldKey && oldKey.trim() !== '') {\r\n oldValue = dictionary[oldKey];\r\n if (oldKey !== newKey) {\r\n delete dictionary[oldKey];\r\n }\r\n }\r\n dictionary[newKey] = newValue;\r\n }\r\n }); \r\n let builder = [];\r\n for (let key in dictionary) {\r\n if (dictionary.hasOwnProperty(key)) {\r\n if (builder.length > 0) {\r\n builder.push('&');\r\n }\r\n builder.push(key);\r\n if (dictionary[key] !== null) {\r\n builder.push('=');\r\n builder.push(dictionary[key]);\r\n }\r\n }\r\n }\r\n str = builder.join('');\r\n } else {\r\n str = queryStringModification;\r\n }\r\n }\r\n if (anchor !== '') {\r\n str2 = anchor;\r\n }\r\n //return (url + (str === '' ? '' : ('?' + str)) + (str2 === '' ? '' : ('#' + str2))).toLowerCase();\r\n return url + (str === '' ? '' : ('?' + str)) + (str2 === '' ? '' : ('#' + str2));\r\n}\r\n\r\nif (!Array.prototype.findIndex) {\r\n Array.prototype.findIndex = function (predicate) {\r\n if (this == null) {\r\n throw new TypeError('Array.prototype.findIndex called on null or undefined');\r\n }\r\n if (typeof predicate !== 'function') {\r\n throw new TypeError('predicate must be a function');\r\n }\r\n var list = Object(this);\r\n var length = list.length >>> 0;\r\n var thisArg = arguments[1];\r\n var value;\r\n\r\n for (var i = 0; i < length; i++) {\r\n value = list[i];\r\n if (predicate.call(thisArg, value, i, list)) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n };\r\n};\r\n\r\nif (!Array.prototype.indexOf) {\r\n Array.prototype.indexOf = function (obj, start) {\r\n for (var i = (start || 0), j = this.length; i < j; i++) {\r\n if (this[i] === obj) { return i; }\r\n }\r\n return -1;\r\n }\r\n};\r\n\r\nexport function ElementClassExtensions() {\r\n\r\n if (!Element.prototype.hasClass) {\r\n Element.prototype.hasClass = function (className) {\r\n if (this.classList) {\r\n return this.classList.contains(className);\r\n } else {\r\n return (-1 < this.className.indexOf(className));\r\n }\r\n };\r\n };\r\n\r\n if (!Element.prototype.addClass) {\r\n Element.prototype.addClass = function (className) {\r\n if (this.classList) {\r\n this.classList.add(className);\r\n } else if (!this.hasClass(className)) {\r\n var classes = this.className.split(\" \");\r\n classes.push(className);\r\n this.className = classes.join(\" \");\r\n }\r\n return this;\r\n };\r\n };\r\n\r\n if (!Element.prototype.removeClass) {\r\n Element.prototype.removeClass = function (className) {\r\n if (this.classList) {\r\n this.classList.remove(className);\r\n } else {\r\n var classes = this.className.split(\" \");\r\n classes.splice(classes.indexOf(className), 1);\r\n this.className = classes.join(\" \");\r\n }\r\n return this;\r\n };\r\n };\r\n};\r\nElementClassExtensions();\r\n\r\nif (!HTMLCollection.prototype.forEach) {\r\n HTMLCollection.prototype.forEach = Array.prototype.forEach;\r\n};\r\n\r\n/* jQuery plugin/extensions\r\n */\r\n(function ($) {\r\n //if (typeof $.fn.tagName === \"undefined\") {\r\n // $.fn.tagName = function () {\r\n // return this.prop(\"tagName\");\r\n // };\r\n //}\r\n\r\n //if (typeof $.fn.tagNameLowerCase === \"undefined\") {\r\n // $.fn.tagNameLowerCase = function () {\r\n // return this.prop(\"tagName\").toLowerCase();\r\n // };\r\n //}\r\n\r\n $.extend({\r\n replaceTag: function (element, tagName, withDataAndEvents, deepWithDataAndEvents) {\r\n var $element = $(element);\r\n var newTag = $(\"<\" + tagName + \">\")[0];\r\n // From [Stackoverflow: Copy all Attributes](http://stackoverflow.com/a/6753486/2096729)\r\n $.each(element.attributes, function () {\r\n newTag.setAttribute(this.name, this.value);\r\n });\r\n $element.contents().clone(withDataAndEvents, deepWithDataAndEvents).appendTo(newTag);\r\n\r\n let $newTag = $(newTag);\r\n $newTag.insertAfter($element);\r\n $element.remove();\r\n return newTag;\r\n }\r\n });\r\n\r\n $.fn.extend({\r\n replaceTag: function (tagName, withDataAndEvents, deepWithDataAndEvents) {\r\n // Use map to reconstruct the selector with newly created elements\r\n return this.map(function () {\r\n return $.replaceTag(this, tagName, withDataAndEvents, deepWithDataAndEvents);\r\n });\r\n },\r\n replaceTagIfNeed: function (tagName, withDataAndEvents, deepWithDataAndEvents) {\r\n // Use map to reconstruct the selector with newly created elements\r\n let arr = this.map(function () {\r\n if (tagName && tagName !== '' && (tagName.toLowerCase() != this.tagName.toLowerCase())) {\r\n return $.replaceTag(this, tagName, withDataAndEvents, deepWithDataAndEvents);\r\n } else {\r\n //console.log('>>> current tagName \"' + this.tagName.toLowerCase() + '\" has been skiped');\r\n return this;\r\n }\r\n });\r\n // override prevObject\r\n arr.prevObject = this.prevObject;\r\n return arr;\r\n }\r\n });\r\n\r\n})(jQuery);\r\n\r\n(function($){\r\n $.fn.getFormData = function(){\r\n var data = {};\r\n var dataArray = $(this).serializeArray();\r\n for(var i=0;i 0 ? window.innerWidth : window.screen.width;\r\n return bp_Width;\r\n};\r\nfunction GetBreakpointHeight() {\r\n //var bp_Height = $(window).height();\r\n var bp_Height = window.innerHeight > 0 ? window.innerHeight : window.screen.height;\r\n return bp_Height;\r\n};\r\n\r\nexport { GetBreakpointHeight, GetBreakpointWidth }","/* \r\n * 2021-06-14: Refactoring\r\n * Extracted from ha-searchlogic-functions.js\r\n*/\r\nimport { updateUI } from 'SrcJS/script--updateUI';\r\n\r\nexport function matchHeightsRejsmal() {\r\n updateUI();\r\n\r\n //if ($(window).width() > 767 && $('.country-pic-info').length > 0) {\r\n // $('.country-pic-info').matchHeight({\r\n // byRow: true,\r\n // property: 'height',\r\n // //property: 'min-height',\r\n // //target: null,\r\n // //remove: false\r\n // });\r\n //};\r\n};\r\n","import { boxLoad } from 'SrcJS/script--boxLoad';\r\nimport { updateUI } from 'SrcJS/script--updateUI';\r\nimport 'readmore-js';\r\nimport { matchHeightsRejsmal } from 'Utils/ha-searchlogic-functions--matchHeightsRejsmal';\r\n\r\n/***************************** Mere *****************************/\r\n\r\n$(document).on('click', '.mere', function (event) {\r\n event.preventDefault();\r\n let $this = $(this);\r\n $this.prev(\".meretekst\").slideToggle(\"fast\", function () {\r\n // FIX Bug: Jumping html-tag after animation\r\n // in 'animation' state the $moretext has style 'display: inline-block'\r\n // after complition the $moretext has style 'display: inline'\r\n let $moretext = $(this);\r\n if ($moretext.is('span') && $moretext.css('display') === 'inline' && $moretext.is(':visible')) {\r\n $moretext.css('display','inline-block');\r\n }\r\n updateUI();\r\n });\r\n let text = $this.text();\r\n let button = '';\r\n if (text == $this.data('less')) {\r\n if ($this.hasClass(\"withFadeOut\")) {\r\n $this.parent().find(\"#fadeout\").css(\"display\", \"block\");\r\n }\r\n button = $this.data('more');\r\n $this.removeClass('expanded');\r\n }\r\n else {\r\n if ($this.hasClass(\"withFadeOut\")) {\r\n $this.parent().find(\"#fadeout\").css(\"display\", \"none\");\r\n }\r\n button = $this.data('less');\r\n $this.addClass('expanded');\r\n }\r\n /*\r\n switch (text) {\r\n case \"Læs mere\":\r\n button = \"Vis mindre tekst\";\r\n break;\r\n case \"Vis mindre tekst\":\r\n button = \"Læs mere\";\r\n break;\r\n }*/\r\n $this.text(button);\r\n});\r\n\r\n$(document).on('click', '.readmore-dots--btn', function (event) {\r\n event.preventDefault();\r\n let $this = $(this);\r\n //$this.prev(\".readmore-dots--text\").toggleClass(\"shown\");\r\n let text = $this.text();\r\n let button = '';\r\n if (text == $this.data('less')) {\r\n button = $this.data('more');\r\n $this.removeClass('expanded');\r\n $this.parent().find('.dots').css('display', '');\r\n $this.prev(\".readmore-dots--text\").removeClass(\"shown\");\r\n } else {\r\n button = $this.data('less');\r\n $this.addClass('expanded');\r\n $this.parent().find('.dots').css('display', 'none');\r\n $this.prev(\".readmore-dots--text\").addClass(\"shown\");\r\n }\r\n $this.text(button);\r\n updateUI();\r\n});\r\n\r\n$(document).on('click', '.mereDestinations', function (event) {\r\n event.preventDefault();\r\n $(this).prev(\".meretekst\").slideToggle(\"fast\", matchHeightsRejsmal);\r\n var tekst = $(this).text();\r\n let button = '';\r\n if ($(this).text() == $(this).data('less')) {\r\n button = $(this).data('more');\r\n $(this).removeClass('show');\r\n }\r\n else {\r\n button = $(this).data('less');\r\n $(this).addClass('show');\r\n }\r\n /*\r\n switch (tekst) {\r\n case \"Læs mere\":\r\n button = \"Vis mindre tekst\";\r\n break;\r\n case \"Vis mindre tekst\":\r\n button = \"Læs mere\";\r\n break;\r\n }*/\r\n $(this).text(button);\r\n});\r\n\r\n$(\"#mere2\").click(function (event) {\r\n event.preventDefault();\r\n $(\"#meretekst2\").slideToggle(\"fast\", updateUI);\r\n var tekst = $(this).text();\r\n let button = '';\r\n switch (tekst) {\r\n case \"Vis flere\":\r\n button = \"Vis færre\";\r\n break;\r\n case \"Vis færre\":\r\n button = \"Vis flere\";\r\n break;\r\n }\r\n $(this).text(button);\r\n});\r\n\r\n$(\"#mere3\").click(function (event) {\r\n event.preventDefault();\r\n $(\"#meretekst3\").slideToggle(\"fast\", updateUI);\r\n var tekst = $(this).find(\"strong\").text();\r\n let button = '';\r\n switch (tekst) {\r\n case \"flere\":\r\n button = \"færre\";\r\n break;\r\n case \"færre\":\r\n button = \"flere\";\r\n break;\r\n }\r\n $(this).find(\"strong\").text(button);\r\n});\r\n\r\n$(document).on('click', '.show-more-items', function (event) {\r\n event.preventDefault();\r\n var $btn = $(this);\r\n //var holder = $(this).prev(\"ul.more-items\");\r\n var holder = $(this).closest(\":has(ul.more-items)\").find(\"ul.more-items\");\r\n var limits = parseInt(holder.data('limits')) - 1;\r\n //holder.children('li:gt(' + limits + ')').slideToggle(\"fast\");\r\n var $items = holder.children('li:gt(' + limits + ')');\r\n if ($items.length > 0) {\r\n var indxAnimated = 0;\r\n var flgExtra = !$btn.hasClass('mere'); // there is extra 'work' in some places, like FrontBlogMasonry\r\n $items.slideToggle(\"fast\", function () {\r\n let $this = $(this);\r\n requestAnimationFrame(function () {\r\n if ($this.is(\":visible\")) {\r\n $items.removeClass('hidden');\r\n $items.css(\"display\", \"block\");\r\n } else {\r\n $items.addClass('hidden');\r\n }\r\n });\r\n if (flgExtra) {\r\n indxAnimated++;\r\n if (indxAnimated == $items.length) {\r\n var text = $btn.text();\r\n var $lastItem = $(this);\r\n var flgExpanded = $lastItem.is(\":visible\");\r\n if (flgExpanded && text != $btn.data('less')) {\r\n text = $btn.data('less');\r\n } else {\r\n text = $btn.data('more');\r\n }\r\n if (text != $btn.text()) {\r\n $btn.text(text);\r\n if (text == $btn.data('less')) {\r\n $btn.addClass('expanded');\r\n } else {\r\n $btn.removeClass('expanded');\r\n }\r\n }\r\n\r\n requestAnimationFrame(function () {\r\n $btn.blur();\r\n window.slimmage.checkResponsiveImages();\r\n //boxLoad(0);\r\n updateUI();\r\n holder.trigger('more-items.show-more-items', [{ expanded: flgExpanded }]);\r\n });\r\n }\r\n }\r\n });\r\n }\r\n //holder.children('li:gt(' + limits + ')').slideToggle(\"fast\", function () {\r\n // if ($(this).is(\":hidden\")) {\r\n // $(this).addClass('hidden');\r\n // } else {\r\n // $(this).removeClass('hidden');\r\n // }\r\n //});\r\n requestAnimationFrame(function () {\r\n window.slimmage.checkResponsiveImages();\r\n boxLoad(0);\r\n //updateUI();\r\n });\r\n //Text changed by selector '.mere'\r\n //var tekst = $(this).text();\r\n //if ($(this).text() == $(this).data('less'))\r\n // button = $(this).data('more');\r\n //else\r\n // button = $(this).data('less');\r\n //$(this).text(button);\r\n});\r\n","function showSection(section, force) {\r\n if (section && (section.is(':hidden') || force)) {\r\n section.stop().show();\r\n //section.stop().slideDown(300);\r\n }\r\n};\r\n\r\nfunction hideSection(section, force) {\r\n if (section && (section.is(':visible') || force)) {\r\n section.stop().hide();\r\n //section.stop().slideUp(300);\r\n }\r\n};\r\n\r\nexport { showSection, hideSection }","\r\nexport function hasHeaderSlider() {\r\n let result = (document.querySelector('.header-slider') != null);\r\n //console.log('>>> hasHeaderSlider: ' + result);\r\n return result;\r\n}\r\n\r\nexport function hasHeaderSize() {\r\n let result = (document.querySelector('body.body-pagetype-45') != null)\r\n || (document.querySelector('body.body-pagetype-50') != null)\r\n || (document.querySelector('body[class*=\"header-size--\"]') != null)\r\n || (document.querySelector('body.header-size--none') != null)\r\n || (document.querySelector('body.header-size--big') != null)\r\n || (document.querySelector('body.header-size--medium') != null)\r\n ;\r\n //console.log('>>> hasHeaderSize: ' + result);\r\n return result;\r\n}\r\n"],"names":["$","document","pluses","raw","s","decoded","decodeURIComponent","replace","config","cookie","key","value","options","extend","defaults","expires","days","t","Date","setDate","getDate","json","JSON","stringify","String","encodeURIComponent","toUTCString","path","domain","secure","join","decode","cookies","split","i","l","length","parts","shift","parse","removeCookie","getScroll","x","window","pageXOffset","y","pageYOffset","distanceX","distanceY","diffX","diffY","direction","on","getCSS","el","style","cssClone","clone","css","after","currentStyle","toUpperCase","getComputedStyle","defaultView","getPropertyValue","test","parseInt","offsetLeft","remove","fn","hcSticky","reinit","this","settings","running","data","$window","$document","off","f","top","bottom","bottomEnd","bottomLimiter","innerTop","innerSticker","className","wrapperClassName","noContainer","followScroll","onStart","onStop","$bottom_limiter","height","offset","each","width","$this_wrapper","$this","$wrapper","parent","outerHeight","indexOf","outerWidth","position","wrap","setFixed","args","hasClass","left","addClass","apply","reset","removeClass","right","init","$referrer","bottom_distance","top_spacing","wrapper_inner_top","bottom_limit","top_limit","this_height","window_height","offset_top","scrollTop","this_document_top","this_window_top","d","e","a","p","h","j","jQuery","documentElement","expando","event","special","inview","add","guid","$element","bind","addEventListener","attachEvent","setInterval","b","k","n","c","selector","find","g","innerHeight","innerWidth","compatMode","support","boxModel","body","clientHeight","clientWidth","scrollLeft","contains","m","trigger","touch","ui","mouse","prototype","_mouseInit","_touchStart","_mouseCapture","originalEvent","changedTouches","_touchMoved","_touchMove","_touchEnd","element","proxy","call","touches","preventDefault","createEvent","initMouseEvent","screenX","screenY","clientX","clientY","target","dispatchEvent","readmore","speed","collapsedHeight","heightMargin","moreLink","lessLink","embedCSS","blockCSS","startOpen","blockProcessed","beforeToggle","afterToggle","cssEmbedded","uniqueIdCounter","debounce","func","wait","immediate","timeout","context","arguments","later","callNow","clearTimeout","setTimeout","uniqueId","prefix","id","setBoxHeights","maxHeight","overflow","insertAfter","expandedHeight","cssMaxHeight","defaultHeight","resizeBoxes","current","isExpanded","attr","styles","u","createElement","type","styleSheet","cssText","appendChild","createTextNode","getElementsByTagName","Readmore","_defaults","_name","_this","useLink","toggle","newHeight","newLink","expanded","Math","abs","replaceWith","update","destroy","next","removeData","instance","Array","slice","w","undefined","log","console","beginWebPTest","_testingWebP","WebP","Image","onload","onerror","cr","src","setAttr","elem","name","toLowerCase","tabIndex","useMap","setAttribute","is_blank","v","hyphenProp","val","parseFloat","temp","visibility","cssFloat","parentNode","pixels","offsetWidth","removeChild","nodesToArray","nodeList","array","url","visitor","mutator","injector","exec","q","qr","newq","elementWidth","previousSrc","previousPixelWidth","previousElement","devicePixelRatio","high_density","low_density","idealWidth","min","round","ceil","finalWidth","newSrc","_","zoom","isNaN","toFixed","ratio","maxwidth","maxheight","match","img","cssMaxWidth","result","getAttribute","push","imageWidth","removeAttribute","delay","il","jl","kl","timeoutid","webp_waiting","stopwatch","getTime","newImages","ns","div","contents","textContent","innerHTML","ai","attributes","specified","childImages","ci","insertBefore","totalImages","images","changed","readyCalled","removeEventListener","extractLast","term","pop","AppLoader","loaded","mobile_update_nav_menu","noresults_msg","mobile_get_classes","mobile_update_searchautocomplete_menu","widget","autocomplete","renderItem","renderMenu","_renderItem","ul","item","isFunction","_super","_renderMenu","items","sender","method","_context","_context2","$menu","_findInstanceProperty","closest","slideUp","$searchautocomplete","$parent","$elem","$widget","cls","GetBreakpointWidth","my","at","collision","classes","source","request","js","Term","jsondata","_JSON$stringify","ajax","contentType","headers","success","rows","Pages","Url","Name","row","search","open","select","location","href","append","html","appendTo","focus","_context3","parents","focusout","_context4","resize","topmenuShowAllDestinations","countryPageId","_getComponent_HeaderSlider","_asyncToGenerator","_regeneratorRuntime","_callee","_yield$import","InitScript_HeaderSlider","updateUI_HeaderSlider","InitGlobalScripts","prev","sent","abrupt","stop","hasHeaderSlider","getComponent_HeaderSlider","then","component","error","totop_button","backButtonShowHide","global","jquery","moment","locale","AppData","CurrentLocaleCountry2","numeral","ready","animate","scroll","_setTimeout","UpdateSiteHeaderSticky","lazySizesConfig","customMedia","loadMode","loadHidden","expand","querySelector","siteHeadRoom","onUnpin","mobileMenu","is","slideToggle","siteHeadRoom_onUnpin","Headroom","headroom","classList","unpinned","pinned","notTop","initial","notBottom","boxLoad","extra","isTouch","show","one","_context5","_context6","_context7","_context8","_context9","_context10","_context11","_context12","_context13","_context14","_context15","_context16","boxLoad_GalleryMosaic","hasHeaderSliderDependencies","hasHeaderSizeDependencies","hasHeaderSize","updateUI_HeaderSize","getComponent_HeaderSize","_getComponent_HeaderSize","_callee2","_yield$import2","updateUI","_updateUI","_callee3","faktaboxHeight","$faktabox","_temp","focusClass","updateUI_FrontBlogMasonry","children","UpdateSidebarSearchFilter","LazyInitializer","_createClass","cbInitializer","maxWidth","_classCallCheck","_Object$assign","GetBreakpointHeight","rootMargin","threshold","bindEvents","_lazyInit","_bindInstanceProperty","_Promise","_ref","resolve","reject","r","_x","_x2","promise","_this2","IntersectionObserver","observer","entries","self","_forEachInstanceProperty","_ref2","entry","isIntersecting","unobserve","_x3","observe","navigator","userAgent","isApplePie","DetectIE","ua","msie","_indexOfInstanceProperty","_parseInt","substring","rv","edge","getParameterByName","results","RegExp","updateQueryStringWithoutHistory","history","replaceState","withoutPage","searchViewModel","IsSearch","withRTBoards","IsHotel","newurl","protocol","host","pathname","GetCurrentQuery","setCookieDepartureAirportCode","departureAirportCode","airportOnly","getCookieDepartureAirportCode","getCookieItemListId","item_list_id","getCookieItemListName","item_list_name","setCookieDate","dt","format","getCookieDate","toDate","setCookieRooms","rooms","getCookieRooms","runGoogleAdwords","force","flgRun","SingleHotelResult","SearchInProgress","RetrievingDataReady","CurrentThemeId","run_google_remarketing","updateTrivagoTracking","hotelId","CurrentHotelId","isTrivago","getElementById","meta","metaItems","ttfc","roomcount","rtbAllowed","preSelectedRooms","roomTypeWithBoardAndCancelPolicy","paramRTB","roomType","roomBoard","refundable","room","flag","checkTrivagoTracking","getAffiliateAttribution","getAffiliatePath","getAffiliateReference","consoleLog","msg","deepClone","obj","_typeof","modifyQueryString","queryStringModification","anchor","str","str2","_includesInstanceProperty","dictionary","str3","strArray","str4","strArray2","newValue","newKey","_trimInstanceProperty","oldKey","_Object$keys","builder","hasOwnProperty","ElementClassExtensions","Element","_spliceInstanceProperty","replaceAll","replacement","theString","regEx","capitalize","_sliceInstanceProperty","capitalizeFirstLetterOfEachWord","letter","sum","arr","Object","compare","obj1","obj2","toString","getter","prop","ko","isObservable","unwrap","flgSwitch","_findIndexInstanceProperty","findIndex","predicate","TypeError","list","thisArg","start","HTMLCollection","forEach","replaceTag","tagName","withDataAndEvents","deepWithDataAndEvents","newTag","_mapInstanceProperty","replaceTagIfNeed","prevObject","getFormData","dataArray","serializeArray","screen","matchHeightsRejsmal","$moretext","button","text","click","$btn","holder","limits","$items","indxAnimated","flgExtra","requestAnimationFrame","flgExpanded","blur","slimmage","checkResponsiveImages","showSection","section","hideSection","hide"],"sourceRoot":""}