{"version":3,"file":"library/js/build/main.min.js","mappings":"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","sources":["webpack://peppermillreno_com_dev/webpack/runtime/chunk loaded","webpack://peppermillreno_com_dev/./library/js/main.js","webpack://peppermillreno_com_dev/./library/js/pepDateFunctions.js","webpack://peppermillreno_com_dev/./library/js/pepHelperFunctions.js","webpack://peppermillreno_com_dev/./library/js/pepvalidate-3.js","webpack://peppermillreno_com_dev/./library/js/preferred-club.js","webpack://peppermillreno_com_dev/./site.options.js","webpack://peppermillreno_com_dev/./library/js/helpers/ExternalLinkWarning.ts","webpack://peppermillreno_com_dev/./library/js/components/CookieDisclosure.vue?c17e","webpack://peppermillreno_com_dev/./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack://peppermillreno_com_dev/./library/js/components/CookieDisclosure.vue","webpack://peppermillreno_com_dev/./library/js/components/CookieDisclosure.vue?72e9","webpack://peppermillreno_com_dev/./library/js/components/peppermill/ShowOverlayDialog.vue?a9ca","webpack://peppermillreno_com_dev/./library/js/components/peppermill/PeppermillDialog.vue?6538","webpack://peppermillreno_com_dev/./library/js/components/peppermill/PeppermillDialog.vue","webpack://peppermillreno_com_dev/./library/js/components/peppermill/PeppermillDialog.vue?b7d2","webpack://peppermillreno_com_dev/./library/js/components/peppermill/ShowOverlayDialog.vue","webpack://peppermillreno_com_dev/./library/js/components/peppermill/ShowOverlayDialog.vue?64e4","webpack://peppermillreno_com_dev/./webpack-main.js","webpack://peppermillreno_com_dev/webpack/bootstrap","webpack://peppermillreno_com_dev/webpack/runtime/define property getters","webpack://peppermillreno_com_dev/webpack/runtime/global","webpack://peppermillreno_com_dev/webpack/runtime/hasOwnProperty shorthand","webpack://peppermillreno_com_dev/webpack/runtime/runtimeId","webpack://peppermillreno_com_dev/webpack/runtime/jsonp chunk loading","webpack://peppermillreno_com_dev/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","/*! modernizr 3.6.0 (Custom Build) | MIT *\r\n * https://modernizr.com/download/?-cssanimations-cssgrid_cssgridlegacy-csspositionsticky-csstransforms-csstransitions-hashchange-localstorage-postmessage-svgasimg-touchevents-prefixed-prefixedcss-setclasses !*/\r\n!function (e, t, n) {\r\n function r(e, t) {\r\n return typeof e === t\r\n }\r\n\r\n function o() {\r\n var e, t, n, o, i, s, a;\r\n for (var u in w) if (w.hasOwnProperty(u)) {\r\n if (e = [], t = w[u], t.name && (e.push(t.name.toLowerCase()), t.options && t.options.aliases && t.options.aliases.length)) for (n = 0; n < t.options.aliases.length; n++) e.push(t.options.aliases[n].toLowerCase());\r\n for (o = r(t.fn, \"function\") ? t.fn() : t.fn, i = 0; i < e.length; i++) s = e[i], a = s.split(\".\"), 1 === a.length ? Modernizr[a[0]] = o : (!Modernizr[a[0]] || Modernizr[a[0]] instanceof Boolean || (Modernizr[a[0]] = new Boolean(Modernizr[a[0]])), Modernizr[a[0]][a[1]] = o), C.push((o ? \"\" : \"no-\") + a.join(\"-\"))\r\n }\r\n }\r\n\r\n function i(e) {\r\n var t = T.className, n = Modernizr._config.classPrefix || \"\";\r\n if (b && (t = t.baseVal), Modernizr._config.enableJSClass) {\r\n var r = new RegExp(\"(^|\\\\s)\" + n + \"no-js(\\\\s|$)\");\r\n t = t.replace(r, \"$1\" + n + \"js$2\")\r\n }\r\n Modernizr._config.enableClasses && (t += \" \" + n + e.join(\" \" + n), b ? T.className.baseVal = t : T.className = t)\r\n }\r\n\r\n function s() {\r\n return \"function\" != typeof t.createElement ? t.createElement(arguments[0]) : b ? t.createElementNS.call(t, \"http://www.w3.org/2000/svg\", arguments[0]) : t.createElement.apply(t, arguments)\r\n }\r\n\r\n function a(e) {\r\n return e.replace(/([a-z])-([a-z])/g, function (e, t, n) {\r\n return t + n.toUpperCase()\r\n }).replace(/^-/, \"\")\r\n }\r\n\r\n function u(e) {\r\n return e.replace(/([A-Z])/g, function (e, t) {\r\n return \"-\" + t.toLowerCase()\r\n }).replace(/^ms-/, \"-ms-\")\r\n }\r\n\r\n function l(e, t) {\r\n if (\"object\" == typeof e) for (var n in e) P(e, n) && l(n, e[n]); else {\r\n e = e.toLowerCase();\r\n var r = e.split(\".\"), o = Modernizr[r[0]];\r\n if (2 == r.length && (o = o[r[1]]), \"undefined\" != typeof o) return Modernizr;\r\n t = \"function\" == typeof t ? t() : t, 1 == r.length ? Modernizr[r[0]] = t : (!Modernizr[r[0]] || Modernizr[r[0]] instanceof Boolean || (Modernizr[r[0]] = new Boolean(Modernizr[r[0]])), Modernizr[r[0]][r[1]] = t), i([(t && 0 != t ? \"\" : \"no-\") + r.join(\"-\")]), Modernizr._trigger(e, t)\r\n }\r\n return Modernizr\r\n }\r\n\r\n function f(e, t) {\r\n return !!~(\"\" + e).indexOf(t)\r\n }\r\n\r\n function c(e, t) {\r\n return function () {\r\n return e.apply(t, arguments)\r\n }\r\n }\r\n\r\n function d(e, t, n) {\r\n var o;\r\n for (var i in e) if (e[i] in t) return n === !1 ? e[i] : (o = t[e[i]], r(o, \"function\") ? c(o, n || t) : o);\r\n return !1\r\n }\r\n\r\n function p() {\r\n var e = t.body;\r\n return e || (e = s(b ? \"svg\" : \"body\"), e.fake = !0), e\r\n }\r\n\r\n function m(e, n, r, o) {\r\n var i, a, u, l, f = \"modernizr\", c = s(\"div\"), d = p();\r\n if (parseInt(r, 10)) for (; r--;) u = s(\"div\"), u.id = o ? o[r] : f + (r + 1), c.appendChild(u);\r\n return i = s(\"style\"), i.type = \"text/css\", i.id = \"s\" + f, (d.fake ? d : c).appendChild(i), d.appendChild(c), i.styleSheet ? i.styleSheet.cssText = e : i.appendChild(t.createTextNode(e)), c.id = f, d.fake && (d.style.background = \"\", d.style.overflow = \"hidden\", l = T.style.overflow, T.style.overflow = \"hidden\", T.appendChild(d)), a = n(c, e), d.fake ? (d.parentNode.removeChild(d), T.style.overflow = l, T.offsetHeight) : c.parentNode.removeChild(c), !!a\r\n }\r\n\r\n function g(t, n, r) {\r\n var o;\r\n if (\"getComputedStyle\" in e) {\r\n o = getComputedStyle.call(e, t, n);\r\n var i = e.console;\r\n if (null !== o) r && (o = o.getPropertyValue(r)); else if (i) {\r\n var s = i.error ? \"error\" : \"log\";\r\n i[s].call(i, \"getComputedStyle returning null, its possible modernizr test results are inaccurate\")\r\n }\r\n } else o = !n && t.currentStyle && t.currentStyle[r];\r\n return o\r\n }\r\n\r\n function h(t, r) {\r\n var o = t.length;\r\n if (\"CSS\" in e && \"supports\" in e.CSS) {\r\n for (; o--;) if (e.CSS.supports(u(t[o]), r)) return !0;\r\n return !1\r\n }\r\n if (\"CSSSupportsRule\" in e) {\r\n for (var i = []; o--;) i.push(\"(\" + u(t[o]) + \":\" + r + \")\");\r\n return i = i.join(\" or \"), m(\"@supports (\" + i + \") { #modernizr { position: absolute; } }\", function (e) {\r\n return \"absolute\" == g(e, null, \"position\")\r\n })\r\n }\r\n return n\r\n }\r\n\r\n function v(e, t, o, i) {\r\n function u() {\r\n c && (delete L.style, delete L.modElem)\r\n }\r\n\r\n if (i = r(i, \"undefined\") ? !1 : i, !r(o, \"undefined\")) {\r\n var l = h(e, o);\r\n if (!r(l, \"undefined\")) return l\r\n }\r\n for (var c, d, p, m, g, v = [\"modernizr\", \"tspan\", \"samp\"]; !L.style && v.length;) c = !0, L.modElem = s(v.shift()), L.style = L.modElem.style;\r\n for (p = e.length, d = 0; p > d; d++) if (m = e[d], g = L.style[m], f(m, \"-\") && (m = a(m)), L.style[m] !== n) {\r\n if (i || r(o, \"undefined\")) return u(), \"pfx\" == t ? m : !0;\r\n try {\r\n L.style[m] = o\r\n } catch (y) {\r\n }\r\n if (L.style[m] != g) return u(), \"pfx\" == t ? m : !0\r\n }\r\n return u(), !1\r\n }\r\n\r\n function y(e, t, n, o, i) {\r\n var s = e.charAt(0).toUpperCase() + e.slice(1), a = (e + \" \" + j.join(s + \" \") + s).split(\" \");\r\n return r(t, \"string\") || r(t, \"undefined\") ? v(a, t, o, i) : (a = (e + \" \" + N.join(s + \" \") + s).split(\" \"), d(a, t, n))\r\n }\r\n\r\n function _(e, t, r) {\r\n return y(e, n, n, t, r)\r\n }\r\n\r\n var C = [], w = [], S = {\r\n _version: \"3.6.0\",\r\n _config: {classPrefix: \"\", enableClasses: !0, enableJSClass: !0, usePrefixes: !0},\r\n _q: [],\r\n on: function (e, t) {\r\n var n = this;\r\n setTimeout(function () {\r\n t(n[e])\r\n }, 0)\r\n },\r\n addTest: function (e, t, n) {\r\n w.push({name: e, fn: t, options: n})\r\n },\r\n addAsyncTest: function (e) {\r\n w.push({name: null, fn: e})\r\n }\r\n }, Modernizr = function () {\r\n };\r\n Modernizr.prototype = S, Modernizr = new Modernizr, Modernizr.addTest(\"postmessage\", \"postMessage\" in e);\r\n var x = S._config.usePrefixes ? \" -webkit- -moz- -o- -ms- \".split(\" \") : [\"\", \"\"];\r\n S._prefixes = x;\r\n var T = t.documentElement, b = \"svg\" === T.nodeName.toLowerCase();\r\n Modernizr.addTest(\"csspositionsticky\", function () {\r\n var e = \"position:\", t = \"sticky\", n = s(\"a\"), r = n.style;\r\n return r.cssText = e + x.join(t + \";\" + e).slice(0, -e.length), -1 !== r.position.indexOf(t)\r\n });\r\n var z = function () {\r\n function e(e, t) {\r\n var o;\r\n return e ? (t && \"string\" != typeof t || (t = s(t || \"div\")), e = \"on\" + e, o = e in t, !o && r && (t.setAttribute || (t = s(\"div\")), t.setAttribute(e, \"\"), o = \"function\" == typeof t[e], t[e] !== n && (t[e] = n), t.removeAttribute(e)), o) : !1\r\n }\r\n\r\n var r = !(\"onblur\" in t.documentElement);\r\n return e\r\n }();\r\n S.hasEvent = z, Modernizr.addTest(\"hashchange\", function () {\r\n return z(\"hashchange\", e) === !1 ? !1 : t.documentMode === n || t.documentMode > 7\r\n }), Modernizr.addTest(\"localstorage\", function () {\r\n var e = \"modernizr\";\r\n try {\r\n return localStorage.setItem(e, e), localStorage.removeItem(e), !0\r\n } catch (t) {\r\n return !1\r\n }\r\n });\r\n var P;\r\n !function () {\r\n var e = {}.hasOwnProperty;\r\n P = r(e, \"undefined\") || r(e.call, \"undefined\") ? function (e, t) {\r\n return t in e && r(e.constructor.prototype[t], \"undefined\")\r\n } : function (t, n) {\r\n return e.call(t, n)\r\n }\r\n }(), S._l = {}, S.on = function (e, t) {\r\n this._l[e] || (this._l[e] = []), this._l[e].push(t), Modernizr.hasOwnProperty(e) && setTimeout(function () {\r\n Modernizr._trigger(e, Modernizr[e])\r\n }, 0)\r\n }, S._trigger = function (e, t) {\r\n if (this._l[e]) {\r\n var n = this._l[e];\r\n setTimeout(function () {\r\n var e, r;\r\n for (e = 0; e < n.length; e++) (r = n[e])(t)\r\n }, 0), delete this._l[e]\r\n }\r\n }, Modernizr._q.push(function () {\r\n S.addTest = l\r\n }), Modernizr.addTest(\"svgasimg\", t.implementation.hasFeature(\"http://www.w3.org/TR/SVG11/feature#Image\", \"1.1\"));\r\n var E = \"Moz O ms Webkit\", j = S._config.usePrefixes ? E.split(\" \") : [];\r\n S._cssomPrefixes = j;\r\n var A = function (t) {\r\n var r, o = x.length, i = e.CSSRule;\r\n if (\"undefined\" == typeof i) return n;\r\n if (!t) return !1;\r\n if (t = t.replace(/^@/, \"\"), r = t.replace(/-/g, \"_\").toUpperCase() + \"_RULE\", r in i) return \"@\" + t;\r\n for (var s = 0; o > s; s++) {\r\n var a = x[s], u = a.toUpperCase() + \"_\" + r;\r\n if (u in i) return \"@-\" + a.toLowerCase() + \"-\" + t\r\n }\r\n return !1\r\n };\r\n S.atRule = A;\r\n var N = S._config.usePrefixes ? E.toLowerCase().split(\" \") : [];\r\n S._domPrefixes = N;\r\n var O = S.testStyles = m;\r\n Modernizr.addTest(\"touchevents\", function () {\r\n var n;\r\n if (\"ontouchstart\" in e || e.DocumentTouch && t instanceof DocumentTouch) n = !0; else {\r\n var r = [\"@media (\", x.join(\"touch-enabled),(\"), \"heartz\", \")\", \"{#modernizr{top:9px;position:absolute}}\"].join(\"\");\r\n O(r, function (e) {\r\n n = 9 === e.offsetTop\r\n })\r\n }\r\n return n\r\n });\r\n var k = {elem: s(\"modernizr\")};\r\n Modernizr._q.push(function () {\r\n delete k.elem\r\n });\r\n var L = {style: k.elem.style};\r\n Modernizr._q.unshift(function () {\r\n delete L.style\r\n }), S.testAllProps = y;\r\n var R = S.prefixed = function (e, t, n) {\r\n return 0 === e.indexOf(\"@\") ? A(e) : (-1 != e.indexOf(\"-\") && (e = a(e)), t ? y(e, t, n) : y(e, \"pfx\"))\r\n };\r\n S.prefixedCSS = function (e) {\r\n var t = R(e);\r\n return t && u(t)\r\n };\r\n S.testAllProps = _, Modernizr.addTest(\"cssanimations\", _(\"animationName\", \"a\", !0)), Modernizr.addTest(\"cssgridlegacy\", _(\"grid-columns\", \"10px\", !0)), Modernizr.addTest(\"cssgrid\", _(\"grid-template-rows\", \"none\", !0)), Modernizr.addTest(\"csstransforms\", function () {\r\n return -1 === navigator.userAgent.indexOf(\"Android 2.\") && _(\"transform\", \"scale(1)\", !0)\r\n }), Modernizr.addTest(\"csstransitions\", _(\"transition\", \"all\", !0)), o(), i(C), delete S.addTest, delete S.addAsyncTest;\r\n for (var q = 0; q < Modernizr._q.length; q++) Modernizr._q[q]();\r\n e.Modernizr = Modernizr\r\n}(window, document);\r\n\r\n\r\n/**\r\n * Tracks JS errors and sends a report to the server.\r\n */\r\n(function ($, window) {\r\n\r\n function trackError(error, fieldsObj) {\r\n\r\n var errorDefaults = {\r\n event_category: 'Script',\r\n event_action: 'error',\r\n description: (error && error.stack) || '(not set)',\r\n nonInteraction: true\r\n },\r\n options = $.extend(errorDefaults, fieldsObj);\r\n\r\n if (typeof gtag !== 'undefined') gtag('event', 'exception', options);\r\n\r\n }\r\n\r\n function trackErrors() {\r\n\r\n var loadErrorEvents = window.__e && window.__e.q || [],\r\n fieldsObj = {\r\n event_action: 'uncaught error'\r\n };\r\n\r\n // Replay any stored load error events.\r\n for (var index in loadErrorEvents) {\r\n\r\n trackError(loadErrorEvents[index].error, fieldsObj);\r\n\r\n }\r\n\r\n // Add a new listener to track event immediately.\r\n window.addEventListener('error', function (event) {\r\n\r\n trackError(event.error, fieldsObj);\r\n\r\n });\r\n\r\n }\r\n\r\n $(trackErrors);\r\n\r\n window.onerror = function (message, source, lineno, colno, error) {\r\n\r\n if (typeof message === 'undefined') var message = '';\r\n if (typeof source === 'undefined') var source = '';\r\n if (typeof lineno === 'undefined') var lineno = 0;\r\n if (typeof colno === 'undefined') var colno = 0;\r\n\r\n var stack = '';\r\n\r\n if (typeof error === 'object' && typeof error.stack === 'string') stack = error.stack;\r\n\r\n $.ajax({\r\n url: '/library/api/capture-js-error.php',\r\n type: 'post',\r\n dataType: 'json',\r\n data: {\r\n je_message: message,\r\n je_source: source,\r\n je_lineno: lineno,\r\n je_colno: colno,\r\n je_url: window.location.href,\r\n je_stack: stack\r\n }\r\n });\r\n\r\n };\r\n\r\n})(jQuery, window);\r\n\r\n\r\n//add global easing method\r\njQuery.easing['jswing'] = jQuery.easing['swing'];\r\njQuery.extend(jQuery.easing,\r\n {\r\n easeInCubic: function (x, t, b, c, d) {\r\n return c * (t /= d) * t * t + b;\r\n },\r\n easeOutCubic: function (x, t, b, c, d) {\r\n return c * ((t = t / d - 1) * t * t + 1) + b;\r\n },\r\n easeInOutCubic: function (x, t, b, c, d) {\r\n if ((t /= d / 2) < 1) return c / 2 * t * t * t + b;\r\n return c / 2 * ((t -= 2) * t * t + 2) + b;\r\n },\r\n easeInQuad: function (x, t, b, c, d) {\r\n return c * (t /= d) * t + b;\r\n },\r\n easeOutQuad: function (x, t, b, c, d) {\r\n return -c * (t /= d) * (t - 2) + b;\r\n },\r\n easeInOutQuad: function (x, t, b, c, d) {\r\n if ((t /= d / 2) < 1) return c / 2 * t * t + b;\r\n return -c / 2 * ((--t) * (t - 2) - 1) + b;\r\n }\r\n });\r\n\r\n\r\nif (!('onCSSTransitionEnd' in $.fn)) {\r\n\r\n (function ($, window, document, undefined) {\r\n\r\n if (typeof $.fn.onCSSTransitionEnd === 'function') return;\r\n\r\n var s = document.body || document.documentElement, s = s.style, prefixAnimation = '', prefixTransition = '',\r\n eventAnimation = 'animationend', eventTransition = 'transitionend',\r\n transEndEventNames = {\r\n 'WebkitTransition': 'webkitTransitionEnd',\r\n 'MozTransition': 'transitionend',\r\n 'transition': 'transitionend'\r\n },\r\n transEndEventName = transEndEventNames[Modernizr.prefixed('transition')],\r\n transCSS = Modernizr.prefixedCSS('transition');\r\n\r\n $.fn.extend({\r\n onCSSAnimationEnd: function (callback) {\r\n\r\n var $this = $(this);\r\n\r\n $this.one(eventAnimation, callback);\r\n\r\n if ((prefixAnimation == '' && !('animation' in s)) || $this.css(prefixAnimation + 'animation-duration') == '0s') $.each($this, callback);\r\n\r\n return this;\r\n\r\n },\r\n onCSSTransitionEnd: function (callback) {\r\n\r\n var $this = $(this);\r\n\r\n if (typeof transEndEventName !== 'string' || ($this.css(transCSS + '-duration') === '0s' && $this.css(transCSS + '-delay') === '0s')) {\r\n\r\n $.each($this, callback);\r\n\r\n } else {\r\n\r\n $this.one(eventTransition, callback);\r\n\r\n }\r\n\r\n return this;\r\n\r\n }\r\n });\r\n })(jQuery, window, document);\r\n\r\n}\r\n\r\n\r\n/*!\r\n * Copyright (C) 2013-2024, Peppermill Inc.\r\n * All rights reserved.\r\n *\r\n * Redistribution and use in source and binary forms, with or without\r\n * modification, are not permitted.\r\n *//*\r\n * PeppermillReno.com Custom JS - 3/4/2013\r\n * Version: 1.6.0\r\n * Changes:\r\n *\t\t2016-02-25\r\n *\t\t\t- Initial Install\r\n *\r\n *\t\t2016-08-02\r\n *\t\t\t- Added code for fullscreen button in the gallery.\r\n *\r\n *\t\t2016-08-03\r\n *\t\t\t- Gallery images now don't display larger than their actual size.\r\n *\t\t\t- Query-string data is now discarded when checking if URLs patch when changing pages.\r\n *\r\n *\t\t2017-01-06 (1.1.1)\r\n *\t\t\t- When using PRIVLINE offer code in Reservation Widget, a company code is required to be forwarded to ResNet.\r\n *\t\t\t\t- A dialog is used to gather this information.\r\n *\t\t\t- Fixed GA Linker for links that point to /offers and /choose-a-room as well as the Header Reseration Widget\r\n *\r\n *\t\t2017-01-17 (1.1.2)\r\n *\t\t\t- If a menu iframe does not load in 10 seconds, a dialog will appear asking if the user wants to directly download the PDF.\r\n *\t\t\t\t- This is to get around the corporate network blocking Google Drive.\r\n *\r\n *\t\t2017-01-23 (1.1.3)\r\n *\t\t\t- Videos are paused when the reservations/login/menu overlays are visible.\r\n *\r\n *\t\t2017-01-25 (1.1.4)\r\n *\t\t\t- Menus are now loaded as a PDF by default for non touch-enabled devices and for devices on the corporate network.\r\n *\t\t\t- The Outlet Hours API is not hit unless there are potential .item matches on the page.\r\n *\t\t\t- Dialogs shown with pepvalidate-v3 forms will now correctly submit the dialog rather than the pepvalidate-v3 form when ')\r\n\r\n }\r\n\r\n });\r\n\r\n }\r\n\r\n\r\n /*$slide\t\t\t=\tthis.getSlide(this.currentSlide);\r\n\t\t\t\tslideCMSData\t=\t$slide.data('cms-data');\r\n\r\n\t\t\t\tnextSlide\t\t=\tthis.currentSlide + 1;*/\r\n\r\n },\r\n setupSlideshow: function ($slideshowContainer, slideshowIndex) {\r\n\r\n var slideshowOBJ = this;\r\n\r\n this.index = slideshowIndex;\r\n this.$ele = $slideshowContainer;\r\n this.slides = this.$ele.children('.content');\r\n this.dots = this.$ele.children('.thumb-dots').children('.dot');\r\n this.dotOverlays = this.$ele.children('.thumb-dots').children('.dot-overlay');\r\n this.captions = this.$ele.children('.slide-caps').children('.caption');\r\n\r\n this.supportTransitions = Modernizr.csstransitions;\r\n this.supportTouch = Modernizr.touchevents;\r\n\r\n if ($('#container').hasClass('content-page') || $('#container').hasClass('hotel-tower-page')) {\r\n\r\n this.$ele\r\n .addClass('position-static');\r\n\r\n }\r\n\r\n //check to make sure the show shouldn't be running in 10 seconds\r\n $(function () {\r\n\r\n slideshowOBJ.startTimer = setTimeout(function () {\r\n\r\n slideshowOBJ.startSlideshow();\r\n\r\n }, 10000);\r\n\r\n });\r\n\r\n $(window)\r\n .on('resize.artwork' + this.index, function () {\r\n\r\n clearTimeout(slideshowOBJ.renderTimer);\r\n slideshowOBJ.renderTimer = setTimeout(function () {\r\n\r\n slideshowOBJ.renderSlideshow();\r\n\r\n }, slideshowOBJ.throttleTimeout);\r\n\r\n })\r\n .on('load.artwork' + this.index, function () {\r\n\r\n clearTimeout(slideshowOBJ.renderTimer);\r\n slideshowOBJ.renderTimer = setTimeout(function () {\r\n\r\n slideshowOBJ.renderSlideshow();\r\n\r\n }, slideshowOBJ.throttleTimeout);\r\n\r\n slideshowOBJ\r\n .$ele\r\n .addClass('loaded');\r\n\r\n if (slideshowOBJ.checkIfActive()) {\r\n\r\n slideshowOBJ.startSlideshow();\r\n\r\n }\r\n\r\n })\r\n .on('blur.artwork' + this.index, function () {\r\n\r\n slideshowOBJ.windowIsActive = false;\r\n\r\n var $currentSlide = slideshowOBJ.getSlide(slideshowOBJ.currentSlide);\r\n\r\n if ($currentSlide.hasClass('video') && typeof $currentSlide.data('videoPlayer') === 'object') {\r\n\r\n $currentSlide\r\n .data('videoPlayer')\r\n .pause();\r\n\r\n }\r\n\r\n })\r\n .on('focus.artwork' + this.index, function (event) {\r\n\r\n slideshowOBJ.windowIsActive = true;\r\n\r\n var $currentSlide = slideshowOBJ.getSlide(slideshowOBJ.currentSlide);\r\n\r\n if ($currentSlide.hasClass('video') && $currentSlide.data('playing') && typeof $currentSlide.data('videoPlayer') === 'object') {\r\n //console.log('focus play');\r\n $currentSlide\r\n .data('videoPlayer')\r\n .play();\r\n\r\n }\r\n\r\n });\r\n\r\n this.$ele\r\n .children('.mobile-nav-arrow')\r\n .filter('.left')\r\n .on('click', function (event) {\r\n\r\n event.stopPropagation();\r\n event.preventDefault();\r\n\r\n slideshowOBJ.changeSlide(slideshowOBJ.getNextSlideIndex(-1));\r\n\r\n })\r\n .end()\r\n .filter('.right')\r\n .on('click', function (event) {\r\n\r\n event.stopPropagation();\r\n event.preventDefault();\r\n\r\n slideshowOBJ.changeSlide(slideshowOBJ.getNextSlideIndex(1));\r\n\r\n });\r\n\r\n this.dots\r\n .on('click', function (event) {\r\n\r\n event.preventDefault();\r\n event.stopPropagation();\r\n\r\n $(this)\r\n .trigger('mouseleave');\r\n\r\n slideshowOBJ.changeSlide(parseInt($(this).data('index'), 10));\r\n\r\n }).on('mouseleave', function () {\r\n\r\n if (!Modernizr.touchevents) {\r\n\r\n slideshowOBJ.dotTimer = setTimeout(function () {\r\n\r\n slideshowOBJ.dots\r\n .removeClass('hover');\r\n\r\n }, 75);\r\n\r\n }\r\n\r\n }).on('mouseenter', function () {\r\n\r\n clearTimeout(slideshowOBJ.dotTimer);\r\n\r\n if (!Modernizr.touchevents) {\r\n\r\n //hide all dot overlays, select the one associated with this dot, set the position for the selected overlay, then fade it into view\r\n slideshowOBJ.dots\r\n .eq($(this).data('index'))\r\n .addClass('hover')\r\n .siblings()\r\n .removeClass('hover');\r\n\r\n }\r\n\r\n }).each(function () {\r\n var duration = slideshowOBJ.slides.eq($(this).data('index')).data('cmsData').duration || 5;\r\n this.style.setProperty('--dot-animation-duration', '' + (duration * 1000) + 'ms');\r\n });\r\n\r\n\r\n //setup art dot\r\n this.dotOverlays\r\n .on('click', function (event) {\r\n\r\n $(this)\r\n .trigger('mouseleave')\r\n .prev()\r\n .trigger('click');\r\n\r\n }).on('mouseleave', function () {\r\n\r\n slideshowOBJ.dotTimer = setTimeout(function () {\r\n\r\n slideshowOBJ.showOverlays\r\n .removeClass('active');\r\n\r\n }, 66);\r\n\r\n }).on('mouseenter', function () {\r\n\r\n clearTimeout(slideshowOBJ.dotTimer);\r\n\r\n });\r\n\r\n\r\n this.captions\r\n .find('.scroll-to-content')\r\n .on('click', function (event) {\r\n\r\n event.preventDefault();\r\n event.stopPropagation();\r\n\r\n var headerHeight = (responsive.current === 'ui-mobile')\r\n ? maxHeaderHeight.mobile\r\n : maxHeaderHeight.desktop;\r\n var scrollTo = slideshowOBJ.$ele.offset().top + slideshowOBJ.$ele.outerHeight() - headerHeight;\r\n\r\n $('html, body')\r\n .animate({scrollTop: scrollTo}, 750, 'easeInOutCubic');\r\n\r\n });\r\n\r\n\r\n //preload the first image of the slideshow\r\n this.loadSlideImage(0);\r\n\r\n\r\n },\r\n loadSlideImage: function (index) {\r\n\r\n var $slide = this.getSlide(index);\r\n\r\n if (!$slide.hasClass('video')) {\r\n\r\n $slide\r\n .css({\r\n backgroundImage: \"url('\" + $slide.data('cms-data').imgSrc + \"')\"\r\n });\r\n\r\n } else {\r\n\r\n $slide\r\n .css({\r\n backgroundImage: \"url('\" + $slide.children('.video-player').data('poster') + \"')\"\r\n });\r\n\r\n }\r\n\r\n },\r\n initVideo: function (index) {\r\n\r\n var slideshowOBJ = this;\r\n var $video = this.getSlide(index).filter('.video');\r\n var $caption = null;\r\n var $dot = null;\r\n //console.group('initVideo');\r\n //console.log($video.hasClass('initialized'), typeof $video.data('videoPlayer') === 'object');\r\n if ($video.hasClass('initialized') && typeof $video.data('videoPlayer') === 'object') {\r\n\r\n //if already initialized\r\n $video\r\n .data('videoPlayer')\r\n .setCurrentTime(0);\r\n\r\n if (0 === parseInt($video.data('play-count', 0), 10)) {\r\n //console.log('init replay');\r\n $video\r\n .data('videoPlayer')\r\n .play();\r\n }\r\n\r\n } else {\r\n\r\n //initialize a video slide\r\n var videoData = $video.data('video-data');\r\n var videoBackup = $video.data('videoBackup') || $video.html();\r\n //console.log('play count', $video.data('play-count'), !$video.data('play-count'));\r\n if (!$video.data('play-count')) {\r\n $video.data('play-count', 0);\r\n }\r\n //console.log('play count', $video.data('play-count'));\r\n\r\n $caption = this.getCaption(index);\r\n $dot = this.getDot(index);\r\n\r\n $caption\r\n .addClass('active');\r\n\r\n $video\r\n .data({\r\n playing: false,\r\n videoBackup: videoBackup,\r\n videoPlayer: new Vimeo.Player('artwork-' + this.index + '-video-' + videoData.videoID + '-' + $video.data('index'), {\r\n id: videoData.videoID,\r\n //background\t:\ttrue,\r\n loop: false,\t//this is handled in code, if left to `true` the `ended` event will not fire\r\n //autoplay: false,\r\n controls: false,\r\n muted: true\r\n }),\r\n videoData: videoData,\r\n lastReportedResolution: ''\r\n })\r\n .on('reportResolution', function (event, player) {\r\n\r\n //TODO: need to determine how to check current resolution for the Vimeo player\r\n\r\n /*\r\n\t\t\t\t\t\t\ttry {\r\n\r\n\t\t\t\t\t\t\t\tvar resolution\t=\tplayer.tech_.hls.masterPlaylistController_.mainSegmentLoader_.playlist_.attributes.RESOLUTION.width + 'x' + player.tech_.hls.masterPlaylistController_.mainSegmentLoader_.playlist_.attributes.RESOLUTION.height + 'px';\r\n\t\t\t\t\t\t\t\t//var vimeoID\t\t=\t$(this).data('videoData').videoID;\r\n\r\n\t\t\t\t\t\t\t\tif (resolution && $(this).data('lastReportedResolution') !== resolution) {\r\n\r\n\t\t\t\t\t\t\t\t\tpepTracking.event('Video', 'Resolution', resolution);\r\n\r\n\t\t\t\t\t\t\t\t\t$(this)\r\n\t\t\t\t\t\t\t\t\t\t.data('lastReportedResolution', resolution);\r\n\r\n\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t} catch (e) {}\r\n\t\t\t\t\t\t\t*/\r\n })\r\n .find('.video-player')\r\n .css(this.calcVideoDims(videoData));\r\n\r\n //setup video control button interaction\r\n\r\n $caption\r\n .find('.video-btn, .volume-btn')\r\n .filter('.play-btn')\r\n .off('click.artwork')\r\n .on('click.artwork', function (event) {\r\n\r\n event.preventDefault();\r\n event.stopPropagation();\r\n\r\n $(this)\r\n .addClass('hide')\r\n .siblings('.pause-btn')\r\n .removeClass('hide');\r\n\r\n $video\r\n .data('playing', true);\r\n\r\n if ($video.hasClass('video') && typeof $video.data('videoPlayer') === 'object') {\r\n\r\n clearTimeout($caption.data('loader-timer'));\r\n\r\n $caption\r\n .addClass('video-playing video-played video-play-manual')\r\n .removeClass('video-paused video-pause-manual')\r\n .data('loader-timer', setTimeout(function () {\r\n\r\n //if ($(event.target).hasClass('vjs-error'))\treturn;\r\n\r\n $caption\r\n .children('.video-loader')\r\n .removeClass('hide');\r\n\r\n }, 5000));\r\n //console.log('click play');\r\n $video\r\n .data('videoPlayer')\r\n .play();\r\n\r\n }\r\n\r\n })\r\n .end()\r\n .filter('.pause-btn')\r\n .off('click.artwork')\r\n .on('click.artwork', function (event) {\r\n\r\n event.preventDefault();\r\n event.stopPropagation();\r\n\r\n $(this)\r\n .addClass('hide')\r\n .siblings('.play-btn')\r\n .removeClass('hide');\r\n\r\n $video\r\n .data('playing', false);\r\n\r\n if ($video.hasClass('video') && typeof $video.data('videoPlayer') === 'object') {\r\n\r\n $video\r\n .data('videoPlayer')\r\n .pause();\r\n\r\n }\r\n\r\n $caption\r\n .removeClass('video-playing video-play-manual')\r\n .addClass('video-paused video-pause-manual');\r\n\r\n })\r\n .end()\r\n .filter('.volume-btn')\r\n .removeClass('audio-on')\r\n .off('click.artwork')\r\n .on('click.artwork', function (event) {\r\n\r\n event.preventDefault();\r\n event.stopPropagation();\r\n\r\n if ($(this).hasClass('audio-on')) {\r\n\r\n $video\r\n .data('videoPlayer')\r\n .setVolume(0);\r\n\r\n $(this)\r\n .removeClass('audio-on');\r\n\r\n } else {\r\n\r\n $video\r\n .data('videoPlayer')\r\n .setVolume(1);\r\n\r\n $(this)\r\n .addClass('audio-on');\r\n\r\n }\r\n\r\n });\r\n\r\n //setup Vimeo Player event handlers\r\n $video\r\n .data('videoPlayer')\r\n .on('ended', function () {\r\n\r\n //console.log('video ended');\r\n $video.data('play-count', parseInt($video.data('play-count'), 10) + 1);\r\n $video.data('playing', false);\r\n\r\n if (typeof videoData.videoID !== 'undefined') {\r\n\r\n var videoID = '' + videoData.videoID;\r\n\r\n pepTracking.event('Video', 'Ended', videoID);\r\n\r\n }\r\n\r\n $caption\r\n .removeClass('video-playing')\r\n .addClass('video-paused video-must-manually-start');\r\n //console.log('num of slides', slideshowOBJ.slides.length);\r\n if (slideshowOBJ.slides.length > 1) {\r\n\r\n slideshowOBJ.changeSlide(slideshowOBJ.getNextSlideIndex(1));\r\n\r\n } else {\r\n\r\n //this video is the only slide, show a \"reply\" button\r\n\r\n //replay\r\n $video\r\n .data('videoPlayer')\r\n .setCurrentTime(0)\r\n /*.then(function () {\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t$video\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t.data('videoPlayer')\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t.play();\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t})*/;\r\n\r\n\r\n }\r\n\r\n });\r\n\r\n\r\n //setup video event handlers\r\n $video\r\n .data('videoPlayer')\r\n .on('pause', function () {\r\n //console.log('video paused');\r\n //$video\r\n //\t.data('playing', false);\r\n\r\n $caption\r\n .removeClass('video-playing video-play-manual')\r\n .addClass('video-paused')\r\n .find('.play-btn, .replay-btn')\r\n .removeClass('hide')\r\n .end()\r\n .find('.pause-btn')\r\n .addClass('hide');\r\n\r\n $video\r\n .data('videoPlayer')\r\n .getCurrentTime()\r\n .then(function (time) {\r\n if (time < 0.1) {\r\n $caption\r\n .addClass('video-must-manually-start');\r\n }\r\n });\r\n\r\n clearTimeout($caption.data('loader-timer'));\r\n\r\n //$caption\r\n //\t.children('.video-loader')\r\n //\t\t.addClass('hide');\r\n\r\n //clearTimeout(slideshowOBJ.showTimer);\r\n\r\n });\r\n\r\n $video\r\n .data('videoPlayer')\r\n .on('play', function (a, b, c) {\r\n //console.log('video play');\r\n if (!$video.data('play-tracked')) {\r\n\r\n pepTracking.event('Video', 'Started', videoData.videoID.toString());\r\n\r\n }\r\n\r\n $video\r\n .data('playing', true)\r\n .data('play-tracked', true);\r\n\r\n $caption\r\n .removeClass('video-paused video-pause-manual')\r\n .addClass('video-playing video-played')\r\n .find('.play-btn, .replay-btn')\r\n .addClass('hide')\r\n .end()\r\n .find('.pause-btn')\r\n .removeClass('hide');\r\n\r\n clearTimeout($caption.data('loader-timer'));\r\n\r\n $caption\r\n .children('.video-loader')\r\n .addClass('hide');\r\n\r\n clearTimeout(slideshowOBJ.showTimer);\r\n\r\n });\r\n\r\n $video\r\n .data('videoPlayer')\r\n .on('error', function (data) {\r\n\r\n //TODO: need to figure out how to detect if video is not supported\r\n\r\n //check if the video format is supported\r\n /*if (parseInt($video.data('videojs').error().code) === 4) {\r\n\r\n\t\t\t\t\t\t\t\t\t//if not then hide video controls, act like nothing is wrong :)\r\n\t\t\t\t\t\t\t\t\t$video\r\n\t\t\t\t\t\t\t\t\t\t.closest('.artwork')\r\n\t\t\t\t\t\t\t\t\t\t\t.addClass('video-not-supported');\r\n\r\n\t\t\t\t\t\t\t\t}*/\r\n\r\n pepTracking.event('Video', 'Error', data.name);\r\n\r\n });\r\n\r\n //TODO: only show loading spinner if the play button was pressed ???\r\n /*$video\r\n\t\t\t\t\t\t.data('videojs')\r\n\t\t\t\t\t\t\t.on('loadstart', function (event) {\r\n\r\n\t\t\t\t\t\t\t\t$caption\r\n\t\t\t\t\t\t\t\t\t.data('loader-timer', setTimeout(function () {\r\n\r\n\t\t\t\t\t\t\t\t\t\tif (Modernizr.touchevents || $(event.target).hasClass('vjs-error'))\treturn;\r\n\r\n\t\t\t\t\t\t\t\t\t\t$artCaption\r\n\t\t\t\t\t\t\t\t\t\t\t.eq(index)\r\n\t\t\t\t\t\t\t\t\t\t\t\t.find('.video-loader')\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t.removeClass('hide');\r\n\r\n\t\t\t\t\t\t\t\t\t}, 5000));\r\n\r\n\t\t\t\t\t\t\t});*/\r\n\r\n $video\r\n .data('videoPlayer')\r\n .on('play', function () {\r\n\r\n clearTimeout($caption.data('loader-timer'));\r\n\r\n $caption\r\n .children('.video-loader')\r\n .addClass('hide');\r\n\r\n });\r\n\r\n if ($dot.length) {\r\n\r\n $video\r\n .data({\r\n lastRenderDotOffset: -1,\r\n lastRenderDotText: -1\r\n })\r\n .data('videoPlayer')\r\n .on('timeupdate', function (data) {\r\n\r\n if (typeof data !== 'object') return;\r\n\r\n $video\r\n .trigger('reportResolution', [this]);\r\n\r\n if ($video.hasClass('active')) {\r\n\r\n //update countdown text and the countdown animation\r\n\r\n if ($video.data('lastRenderDotOffset') !== dashOffset || $video.data('lastRenderDotText') !== countText) {\r\n\r\n var dashOffset = parseInt(slideshowOBJ.dotDashOffset * data.percent, 10);\r\n var countText = parseInt(data.duration - data.seconds, 10);\r\n\r\n $video\r\n .data({\r\n lastRenderDotOffset: dashOffset,\r\n lastRenderDotText: countText\r\n });\r\n\r\n slideshowOBJ.dots\r\n .filter('[data-index=' + $video.data('index') + ']')\r\n .find('.text')\r\n .text(countText)\r\n .end()\r\n .find('circle')\r\n .css({\r\n 'stroke-dashoffset': dashOffset + 'px'\r\n });\r\n\r\n }\r\n\r\n }\r\n\r\n });\r\n\r\n } else {\r\n\r\n //we still want to report video resolutions even if there are no dots\r\n $video\r\n .data('videoPlayer')\r\n .on('timeupdate', function (data) {\r\n\r\n if (typeof data !== 'object') return;\r\n\r\n $video\r\n .trigger('reportResolution', [this]);\r\n\r\n });\r\n\r\n }\r\n\r\n if (parseInt($video.data('audio'), 10) === 0) {\r\n\r\n $video\r\n .data('videoPlayer')\r\n .setVolume(0);\r\n\r\n }\r\n\r\n $video\r\n .addClass('initialized');\r\n\r\n\r\n if (typeof $video.data('videoPlayer') === 'object') {\r\n\r\n /*$video\r\n\t\t\t\t\t\t\t.children('.video-js')\r\n\t\t\t\t\t\t\t\t.css({\r\n\t\t\t\t\t\t\t\t\tbackgroundImage\t:\t\"url('/library/api/video-poster.php?VIDEO_ID=\" + videoData.videoID + \"')\"\r\n\t\t\t\t\t\t\t\t});*/\r\n //console.log('init');\r\n $video\r\n .data('videoPlayer')\r\n .ready()\r\n .then(function () {\r\n\r\n var autoplay = parseInt($video.data('video-data').autoplay, 10);\r\n //console.log('autoplay', autoplay);\r\n if (autoplay === 1) {// && Modernizr.videoautoplay\r\n\r\n clearTimeout(slideshowOBJ.videoStartTimer);\r\n //console.log('videoStartTimeout', slideshowOBJ.videoStartTimeout);\r\n //give the browser a moment to catch up before playing\r\n slideshowOBJ.videoStartTimer = setTimeout(function () {\r\n\r\n if (0 === parseInt($video.data('play-count'), 10) && $video.hasClass('active') && slideshowOBJ.windowIsActive === true) {\r\n //console.log('ready play');\r\n $video\r\n .data('videoPlayer')\r\n .play()\r\n .catch(function (data) {\r\n\r\n //an error occurred...\r\n console.log(data);\r\n\r\n });\r\n\r\n }\r\n\r\n }, slideshowOBJ.videoStartTimeout);\r\n\r\n }\r\n\r\n });\r\n\r\n $video\r\n .find('.video-player')\r\n .addClass('active');\r\n\r\n }\r\n\r\n }\r\n //console.groupEnd();\r\n },\r\n changeSlide: function (newIndex) {\r\n //console.log('changeSlide');\r\n var oldSlideIndex = this.currentSlide;//this.slides.filter('.active').data('index');\r\n var slideshowOBJ = this;\r\n\r\n this.lastSlideStartTime = new Date().getTime();\r\n\r\n if (this.getSlide(newIndex).hasClass('video')) {\r\n //console.log('is video slide');\r\n this.initVideo(newIndex);\r\n }\r\n\r\n //only run when there is more than one slide\r\n if (this.slides.length < 2) return false;\r\n\r\n //only run when an existing slide is requested\r\n if (this.slides.eq(newIndex).length === 0) return false;\r\n\r\n //all transitions must finish before new ones can start\r\n if (this.transitionInProgress) return false;\r\n\r\n clearTimeout(this.showTimer);\r\n clearTimeout(this.videoStartTimer);\r\n\r\n this.activateSlide(newIndex);\r\n\r\n if (newIndex !== this.currentSlide) {\r\n\r\n //tasks to run only if we're showing a new slide\r\n\r\n this.deactivateSlide(oldSlideIndex);\r\n\r\n if (newIndex >= this.slides.length.length || newIndex < 0) {\r\n newIndex = 0;\r\n }\r\n\r\n this.currentSlide = newIndex;\r\n }\r\n\r\n if (!this.slides.eq(this.currentSlide).hasClass('video')) {\r\n this.showTimer = setTimeout(function () {\r\n slideshowOBJ.changeSlide(slideshowOBJ.getNextSlideIndex(1));\r\n }, parseInt(this.slides.eq(this.currentSlide).data('cms-data').duration || 10, 10) * 1000 + this.transitionDuration);\r\n }\r\n },\r\n positionThumbs: function (index) {\r\n\r\n //if this slide has a caption\r\n if (this.getSlide(index).hasClass('has-cap')) {\r\n\r\n //place thumbs above the caption for mobile ui\r\n this.$ele\r\n .children('.thumb-dots')\r\n .addClass('has-cap');\r\n\r\n } else {\r\n\r\n this.$ele\r\n .children('.thumb-dots')\r\n .removeClass('has-cap');\r\n\r\n }\r\n\r\n },\r\n pauseCurrentVideo: function () {\r\n\r\n var $activeVideoSlide = this.slides.filter('.active').filter('.video');\r\n\r\n //pause a video if it's playing in mobile ui\r\n if ($activeVideoSlide.length && typeof $activeVideoSlide.data('videoPlayer') === 'object') {\r\n\r\n $activeVideoSlide\r\n .data('videoPlayer')\r\n .pause();\r\n\r\n }\r\n\r\n },\r\n playCurrentVideo: function () {\r\n\r\n var $activeVideoSlide = this.slides.filter('.active').filter('.video');\r\n\r\n //play a video if it's paused\r\n if ($activeVideoSlide.length && $activeVideoSlide.data('playing') && typeof $activeVideoSlide.data('videoPlayer') === 'object') {\r\n //console.log('playCurrentVideo play');\r\n $activeVideoSlide\r\n .data('videoPlayer')\r\n .play();\r\n\r\n }\r\n\r\n },\r\n startSlideDot: function (slideIndex) {\r\n\r\n var $slide = this.getSlide(slideIndex);\r\n var $dot = this.dots.eq(slideIndex);\r\n var slideshowOBJ = this;\r\n\r\n //video dot animations are handled via video code\r\n if (this.slides.length < 2) return;\r\n\r\n if ($slide.hasClass('video')) {\r\n\r\n //just activate video dots\r\n $dot\r\n .addClass('active');\r\n\r\n } else {\r\n\r\n $dot\r\n .addClass('reset')\r\n .children('.text')\r\n .text('');\r\n\r\n var dotDuration = parseInt($slide.data('cms-data').duration, 10),\r\n dotStartTime = new Date().getTime(),\r\n dotTransitionDuration = (2 > this.slidesShown) ? -250 : (750 - this.dotResetDuration),\r\n dotLastRender = -1,\r\n dotRunAni = function () {\r\n\r\n var dotTimeLeft = dotDuration - Math.floor((new Date().getTime() - dotStartTime - dotTransitionDuration) / 1000);\r\n\r\n if (dotTimeLeft !== dotLastRender) {\r\n\r\n dotLastRender = dotTimeLeft;\r\n\r\n if (dotTimeLeft < 0) {\r\n\r\n //timer done\r\n slideshowOBJ.stopSlideDot(slideIndex);\r\n\r\n dotTimeLeft = null;\r\n dotDuration = null;\r\n dotStartTime = null;\r\n dotLastRender = null;\r\n slideIndex = null;\r\n $slide = null;\r\n $dot = null;\r\n\r\n } else if ($dot.data('animation-timer-running')) {\r\n\r\n $dot\r\n .removeClass('reset')\r\n .children('.text')\r\n .text(dotTimeLeft);\r\n\r\n //timer not done\r\n requestAnimationFrame(dotRunAni);\r\n\r\n }\r\n\r\n } else {\r\n\r\n //not a full second has gone by\r\n requestAnimationFrame(dotRunAni);\r\n\r\n }\r\n\r\n };\r\n\r\n clearTimeout(this.dotResetTimer);\r\n\r\n this.dotResetTimer = setTimeout(function () {\r\n\r\n $dot\r\n .data('animation-timer-running', true);\r\n\r\n dotRunAni();\r\n\r\n }, this.dotResetDuration);\r\n\r\n //first slide on page load has no transition so no need to wait for the transition to end before starting the countdown\r\n //if (isFirstSlideOnPageLoad)\trequestAnimationFrame(dotRunAni);\r\n\r\n $dot\r\n /*.onCSSTransitionEnd(function () {\r\n\r\n\t\t\t\t\t\t\tif (!isFirstSlideOnPageLoad)\trequestAnimationFrame(dotRunAni);\r\n\r\n\t\t\t\t\t\t})*/\r\n .addClass('active')\r\n .find('.text')\r\n .text(dotDuration);\r\n\r\n }\r\n\r\n },\r\n stopSlideDot: function (slideIndex) {\r\n\r\n var $dot = this.dots.eq(slideIndex);\r\n\r\n $dot\r\n .data('animation-timer-running', false);\r\n\r\n $dot\r\n /*.children('.text')\r\n\t\t\t\t\t\t.onCSSTransitionEnd(function () {\r\n\r\n\t\t\t\t\t\t\t$(this)\r\n\t\t\t\t\t\t\t\t.text('');\r\n\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t.end()*/\r\n .find('circle')\r\n .css({\r\n strokeDashoffset: ''\r\n })\r\n .end()\r\n .removeClass('active');\r\n\r\n\r\n },\r\n activateSlide: function (index) {\r\n\r\n var $slide = this.getSlide(index);\r\n var slideshowOBJ = this;\r\n\r\n this.lastSlideStartTime = new Date().getTime();\r\n this.slidesShown++;\r\n\r\n this.transitionInProgress = true;\r\n\r\n this.transitionTimer = setTimeout(function () {\r\n\r\n slideshowOBJ.transitionInProgress = false;\r\n\r\n }, this.transitionDuration);\r\n\r\n //activate new slide\r\n this.loadSlideImage(index);\r\n\r\n $slide\r\n .addClass('active');\r\n\r\n //activate new caption\r\n this.captions\r\n .filter('[data-index=' + index + ']')\r\n .addClass('active');\r\n\r\n //activate new dot\r\n this.startSlideDot(index);\r\n\r\n //position thumbs\r\n this.positionThumbs(index);\r\n\r\n //initialize video if necessary\r\n if ($slide.hasClass('video') && !$slide.hasClass('initialized')) {\r\n\r\n this.initVideo(index, true);\r\n\r\n }/* else {\r\n\r\n\t\t\t\t\t//NOTE: this is now handled in changeSlide()\r\n\r\n\t\t\t\t\t//setup timer for next slide\r\n\t\t\t\t\tclearTimeout(this.slideTimer);\r\n\r\n\t\t\t\t\tthis.slideTimer\t= setTimeout(function () {\r\n\t\t\t\t\t\tconsole.log('timer', 'slideTimer');\r\n\t\t\t\t\t\tslideshowOBJ.changeSlide(index);\r\n\r\n\t\t\t\t\t}, $slide.data('cms-data').duration * 1000);\r\n\r\n\t\t\t\t}*/\r\n\r\n },\r\n deactivateSlide: function (index) {\r\n\r\n var $slide = this.getSlide(index);\r\n var $caption = this.getCaption(index);\r\n\r\n if ($slide.hasClass('video')) {\r\n\r\n this.dots\r\n .filter('[data-index=' + index + ']')\r\n .find('.dot-circle')\r\n .children()\r\n .css({\r\n transitionDuration: '',\r\n transform: ''\r\n });\r\n\r\n if (typeof $slide.data('videoPlayer') === 'object') {\r\n\r\n this.videoTimer = setTimeout(function () {\r\n\r\n $slide\r\n .removeClass('initialized')\r\n .data('videoPlayer')\r\n .destroy();\r\n\r\n $slide\r\n .removeData('videoPlayer');\r\n\r\n $caption\r\n .removeClass('video-playing video-played video-paused');\r\n\r\n if (typeof $slide.data('video-backup') === 'string') {\r\n\r\n $slide\r\n .append($slide.data('video-backup'));\r\n\r\n }\r\n\r\n }, 1000);\r\n\r\n }\r\n\r\n }\r\n\r\n //deactivate content\r\n $slide\r\n .removeClass('active');\r\n\r\n //deactivate caption\r\n $caption\r\n .removeClass('active');\r\n\r\n //update transition duration for dot\r\n\r\n this.stopSlideDot(index);\r\n\r\n }\r\n };\r\n var pauseCurrentVideo = function () {\r\n\r\n //pause a video if it's playing in mobile ui\r\n if ($('html').hasClass('ui-mobile')) {\r\n\r\n for (var i = 0, l = allSlideshows.length; i < l; i++) {\r\n\r\n if (allSlideshows[i].slideshowIsActive && typeof allSlideshows[i].slides.filter('.active.video').data('videoPlayer') === 'object') {\r\n\r\n allSlideshows[i].slides\r\n .filter('.active.video')\r\n .data('videoPlayer')\r\n .pause();\r\n\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n },\r\n playCurrentVideo = function () {\r\n\r\n //play a video if it's paused\r\n\r\n for (var i = 0, l = allSlideshows.length; i < l; i++) {\r\n\r\n if (allSlideshows[i].slideshowIsActive && typeof allSlideshows[i].slides.filter('.active.video').data('videoPlayer') === 'object') {\r\n //console.log('playCurrentVideo (2?) play');\r\n allSlideshows[i].slides\r\n .filter('.active.video')\r\n .data('videoPlayer')\r\n .play();\r\n\r\n }\r\n\r\n }\r\n\r\n };\r\n\r\n window.allSlideshows = [];\r\n\r\n $(function () {\r\n\r\n $.each($('.artwork'), function (i) {\r\n\r\n var slideshow = $.extend(true, {}, pepSlideshow);\r\n\r\n slideshow.setupSlideshow($(this), i);\r\n\r\n allSlideshows.push(slideshow);\r\n\r\n });\r\n\r\n });\r\n\r\n\r\n //globals\r\n var $container = $('#container');\r\n var $header = $('#header');\r\n var $headerSticky = $('#header-sticky');\r\n var $footer = $('#footer');\r\n var dims = {\r\n window: {\r\n w: $(window).width(),\r\n h: $(window).height(),\r\n timer: null\r\n }\r\n };\r\n var cookieData = $('html').data('cookie');\r\n var responsive = {\r\n current: 'ui-desktop',\r\n points: [760, 1240, 1480],\r\n classes: ['ui-mobile', 'ui-tablet', 'ui-desktop', 'ui-widescreen'],\r\n orientation: 'landscape',\r\n timer: null,\r\n update: function () {\r\n\r\n if (dims.window.w > dims.window.h) {\r\n\r\n $(\"html\").addClass(\"landscape\").removeClass(\"portrait\");\r\n responsive.orientation = 'landscape';\r\n\r\n } else {\r\n\r\n $(\"html\").addClass(\"portrait\").removeClass(\"landscape\");\r\n responsive.orientation = 'portrait';\r\n\r\n }\r\n\r\n //determine which responsive-design-break-point should be used\r\n\r\n var found = false;\r\n for (var i = 0, l = responsive.points.length; i < l; i++) {\r\n if (dims.window.w <= responsive.points[i]) {\r\n found = true;\r\n break;\r\n }\r\n }\r\n\r\n //if no match was found then use largest\r\n if (!found) {\r\n i = l;\r\n }\r\n\r\n //overwrite for android (limit to mobile/tablet uis)\r\n if (isAndroidDevice === true && i > 1) {\r\n i = 1;\r\n }\r\n\r\n if (responsive.current !== responsive.classes[i]) {\r\n\r\n clearTimeout(responsive.timer);\r\n\r\n responsive.timer = setTimeout(function () {\r\n\r\n $('html')\r\n .removeClass('ui-transition');\r\n\r\n }, 250);\r\n\r\n $('html')\r\n .addClass('ui-transition');\r\n\r\n //var now\t\t=\tnew Date(),\r\n //\texpire\t=\tnew Date(now.getTime() + (parseInt(cookieData.t, 10) * 10000));\r\n\r\n var currPepUi = document.cookie.replace(/(?:(?:^|.*;\\s*)pepui\\s*\\=\\s*([^;]*).*$)|^.*$/, \"$1\");\r\n\r\n if (cookieData && currPepUi !== responsive.classes[i]) {\r\n\r\n document.cookie = 'pepui=' + responsive.classes[i] + '; expires=' + new Date(new Date().getTime() + 7776000000).toGMTString() + '; path=' + cookieData.b + cookieData.s + '; ' + cookieData.h;\r\n\r\n }\r\n\r\n }\r\n\r\n\r\n $('html')\r\n .removeClass(responsive.classes.join(' '))\r\n .addClass(responsive.classes[i]);\r\n\r\n responsive.current = responsive.classes[i];\r\n\r\n }\r\n };\r\n var isAndroidDevice = (navigator.userAgent.toLowerCase().indexOf(\"android\") > -1);\r\n var isOldIE = false;\r\n var isMinified = !/event/.test(function (event) {\r\n });\r\n\r\n if (cookieData && cookieData.s === 'secure') cookieData.s = '; secure';\r\n\r\n responsive.update();\r\n\r\n //setup console if it doesn't exist to not cause errors\r\n if (typeof console !== \"object\") console = {\r\n log: function () {\r\n }\r\n };\r\n\r\n function getInternetExplorerVersion() {\r\n var rv = -1; // Return value assumes failure.\r\n if (navigator.appName == 'Microsoft Internet Explorer') {\r\n var ua = navigator.userAgent;\r\n var re = new RegExp(\"MSIE ([0-9]{1,}[\\.0-9]{0,})\");\r\n if (re.exec(ua) != null)\r\n rv = parseFloat(RegExp.$1);\r\n }\r\n return rv;\r\n }\r\n\r\n //function detectiOSDevice () {\r\n\r\n //\treturn /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;\r\n\r\n //}\r\n\r\n if (getInternetExplorerVersion() > -1 && getInternetExplorerVersion() < 10) {\r\n\r\n isOldIE = true;\r\n\r\n $('html')\r\n .addClass('old-ie');\r\n\r\n }\r\n\r\n //if (detectiOSDevice())\t$('html').addClass('os-ios');\r\n\r\n function determineBookingPhoneNumber() {\r\n\r\n if (Modernizr.touchevents && ($('html').hasClass('ui-mobile') || $('html').hasClass('ui-tablet'))) {\r\n\r\n return '1-800-821-8568';\r\n\r\n }\r\n\r\n return '1-866-400-0519';\r\n\r\n }\r\n\r\n\r\n require('./pepHelperFunctions');\r\n\r\n\r\n window.pepConsole = {\r\n isDev: ('dev.' === location.hostname.substr(0, 4)),\r\n log: function () {\r\n if (window.pepConsole.isDev) {\r\n console.log.apply(window, arguments);\r\n }\r\n },\r\n group: function () {\r\n if (window.pepConsole.isDev) {\r\n console.group.apply(window, arguments);\r\n }\r\n },\r\n groupEnd: function () {\r\n if (window.pepConsole.isDev) {\r\n console.groupEnd.apply(window, arguments);\r\n }\r\n }\r\n };\r\n\r\n\r\n require('./pepDateFunctions');\r\n\r\n\r\n //MAIN NAVIGATION CODE//\r\n var nav = {\r\n element: $('#nav'),\r\n timer: null,\r\n timer2: null,\r\n clickEvent: 'click',\r\n links: $('#nav').find('.nav-link')\r\n },\r\n touchEffectTimer = null;\r\n\r\n function setupEmailReplacements() {\r\n\r\n $('[data-email-replacement]')\r\n .filter(function () {\r\n\r\n return $(this).data('setup') !== true;\r\n\r\n })\r\n .each(function () {\r\n\r\n var data = $(this).data();\r\n\r\n if ($(this).is('a')) {\r\n\r\n this.href = 'mailto: ' + data.user + '@' + data.domain + '.' + data.extension;\r\n\r\n } else {\r\n\r\n $(this).text(data.user + '@' + data.domain + '.' + data.extension);\r\n\r\n }\r\n\r\n });\r\n\r\n }\r\n\r\n setupEmailReplacements();\r\n\r\n nav.element\r\n .find('.menu-handle')\r\n .on('click', function (event) {\r\n\r\n event.preventDefault();\r\n event.stopPropagation();\r\n\r\n $('html')\r\n .toggleClass('show-nav');\r\n\r\n if ($('html').hasClass('show-nav')) {\r\n\r\n pauseCurrentVideo();\r\n\r\n $(this)\r\n .data('lastFocusedElement', document.activeElement);\r\n\r\n nav.element.find('.links')\r\n [0].focus({focusVisible: true});\r\n\r\n if ($(window).scrollTop() < $headerSticky.outerHeight()) {\r\n\r\n $(this)\r\n .data('rememberScroll', $(window).scrollTop());\r\n\r\n $(window)\r\n .scrollTop($headerSticky.outerHeight());\r\n\r\n }\r\n\r\n } else {\r\n\r\n playCurrentVideo();\r\n\r\n if (typeof $(this).data('lastFocusedElement') === 'object') {\r\n\r\n $(this)\r\n .data('lastFocusedElement')\r\n .focus({focusVisible: true});\r\n\r\n $(this)\r\n .removeData('lastFocusedElement');\r\n\r\n }\r\n\r\n if (typeof $(this).data('rememberScroll') === 'number') {\r\n\r\n $(window)\r\n .scrollTop($(this).data('rememberScroll'));\r\n\r\n $(this)\r\n .removeData('rememberScroll');\r\n\r\n }\r\n\r\n }\r\n\r\n });\r\n\r\n /*$footer\r\n\t\t.find('.menu-handle')\r\n\t\t\t.on('click', function (event) {\r\n\r\n\t\t\t\tevent.preventDefault();\r\n\t\t\t\tevent.stopPropagation();\r\n\r\n\t\t\t\tvar $handle\t=\t$(this);\r\n\r\n\t\t\t\t$('html').toggleClass('show-nav');\r\n\r\n\t\t\t});*/\r\n\r\n nav.links\r\n .on('click', function (event) {\r\n\r\n event.stopPropagation();\r\n\r\n });\r\n\r\n $(document)\r\n .on('click', function () {\r\n\r\n $('html').removeClass('show-nav');\r\n\r\n });\r\n\r\n if (Modernizr.touchevents) {\r\n\r\n function showTouchEffect(ele, event) {\r\n\r\n var $ele = $(ele),\r\n $newEffect = $('')\r\n .css({\r\n top: ((event.touches[0].clientY - $ele.offset().top + $(window).scrollTop()) / $ele.outerHeight() * 100) + '%',\r\n left: ((event.touches[0].clientX - $ele.offset().left + $(window).scrollLeft()) / $ele.outerWidth() * 100) + '%'\r\n });\r\n\r\n $ele\r\n .append($newEffect);\r\n\r\n setTimeout(function () {\r\n\r\n $newEffect\r\n .parent()\r\n .addClass('show-touch-effect');\r\n\r\n setTimeout(function () {\r\n\r\n $newEffect\r\n .addClass('hide');\r\n\r\n setTimeout(function () {\r\n\r\n $newEffect\r\n .parent()\r\n .removeClass('show-touch-effect')\r\n .end()\r\n .remove();\r\n\r\n }, 250);\r\n\r\n }, 300);\r\n\r\n }, 50);\r\n\r\n }\r\n\r\n $('a')\r\n .on('touchstart', function (event) {\r\n\r\n if (event.originalEvent.touches.length === 1 && false === $(this).hasClass('no-touch-effect')) {\r\n\r\n var ele = this,\r\n evnt = event;\r\n\r\n touchEffectTimer = setTimeout(function () {\r\n\r\n showTouchEffect(ele, evnt.originalEvent);\r\n\r\n }, 50);\r\n\r\n }\r\n\r\n })\r\n .on('touchmove', function () {\r\n\r\n clearTimeout(touchEffectTimer);\r\n\r\n });\r\n\r\n }\r\n\r\n\r\n //page link scroll animation\r\n var $pageLinkContainers = $('.body-container').filter('.page-links');\r\n var $pageLinks = $pageLinkContainers.find('.item');\r\n var pageLinkResizetimer = null;\r\n var pageLinkCallbacks = [];\r\n var pageLinkLastUI = '';\r\n\r\n window.resetPageLinks = function ($newPageLinks) {\r\n\r\n if (typeof $newPageLinks === 'object') $pageLinks = $newPageLinks;\r\n else $pageLinks = $('.page-links').find('.item');\r\n\r\n };\r\n\r\n /**\r\n * Resets the\r\n */\r\n function resetPageLinksOffset(forceUpdate) {\r\n\r\n //console.group('resetPageLinksOffset()');\r\n\r\n if ('boolean' !== typeof forceUpdate) var forceUpdate = false;\r\n\r\n //console.log('forceUpdate', forceUpdate);\r\n\r\n //we can use the fact that mobile/touch page links will horizontally scroll with the same offset\r\n if ('ui-mobile' === responsive.current && true === Modernizr.touchevents) {\r\n\r\n $.each($pageLinks.closest('.body-container-scroller'), function () {\r\n\r\n if (true === forceUpdate || !$(this).children('.item').eq(0).data('offsetTop')) {\r\n\r\n $(this)\r\n .children('.item')\r\n .data({\r\n offsetTop: $(this).offset().top,\r\n height: $(this).outerHeight()\r\n })\r\n .each((i, itemNode) => {\r\n itemNode.dataset.offsetTop = $(this).offset().top;\r\n itemNode.dataset.height = $(this).outerHeight();\r\n });\r\n\r\n }\r\n\r\n });\r\n\r\n } else {\r\n\r\n $.each($pageLinks, function (i) {\r\n\r\n if (true === forceUpdate || !$pageLinks.eq(i).data('offsetTop')) {\r\n\r\n $pageLinks\r\n .eq(i)\r\n .data({\r\n offsetTop: $pageLinks.eq(i).offset().top,\r\n height: $pageLinks.eq(i).outerHeight()\r\n })\r\n .each((i, itemNode) => {\r\n itemNode.dataset.offsetTop = $(this).offset().top;\r\n itemNode.dataset.height = $(this).outerHeight();\r\n });\r\n\r\n }\r\n\r\n });\r\n\r\n }\r\n\r\n //console.groupEnd();\r\n\r\n }\r\n\r\n window.recalcPageLinks = function (forceOffsetUpdate) {\r\n\r\n //console.group('recalcPageLinks()');\r\n\r\n if ('boolean' !== forceOffsetUpdate) var forceOffsetUpdate = false;\r\n\r\n //console.log('forceOffsetUpdate', forceOffsetUpdate);\r\n\r\n var nowTime = new Date().getTime();\r\n var lastStepTime = nowTime;\r\n\r\n //only get offset if it could have changed\r\n if (true === forceOffsetUpdate || pageLinkLastUI !== responsive.current || 'ui-mobile' !== responsive.current) {\r\n\r\n resetPageLinksOffset(true);\r\n\r\n }\r\n\r\n //nowTime\t=\tnew Date().getTime();\r\n //console.log('get new offsets', nowTime - lastStepTime);\r\n //lastStepTime\t=\tnowTime;\r\n\r\n renderPageLinks();\r\n\r\n //nowTime\t=\tnew Date().getTime();\r\n //console.log('renderPageLinks()', nowTime - lastStepTime);\r\n //lastStepTime\t=\tnowTime;\r\n\r\n lastRenderedScroll = -1;\r\n pageLinkLastUI = responsive.current;\r\n\r\n //console.groupEnd();\r\n\r\n }\r\n\r\n $(window)\r\n .on('resize.page-links load.page-links', function (event, callback) {\r\n\r\n if (typeof callback === 'function') pageLinkCallbacks.push(callback);\r\n\r\n clearTimeout(pageLinkResizetimer);\r\n\r\n pageLinkResizetimer = setTimeout(function () {\r\n\r\n //console.group('pageLinkResizetimer');\r\n //console.log('pageLinkCallbacks.length', pageLinkCallbacks.length);\r\n\r\n var nowTime = new Date().getTime();\r\n var lastStepTime = nowTime;\r\n\r\n recalcPageLinks();\r\n\r\n //nowTime\t=\tnew Date().getTime();\r\n //console.log('recalcPageLinks()', nowTime - lastStepTime);\r\n //lastStepTime\t=\tnowTime;\r\n\r\n //run all the callbacks that might have stacked up\r\n for (var i = 0, l = pageLinkCallbacks.length; i < l; i++) {\r\n\r\n pageLinkCallbacks[i].call(this);\r\n\r\n }\r\n\r\n //nowTime\t=\tnew Date().getTime();\r\n //console.log('pageLinkCallbacks', nowTime - lastStepTime);\r\n //lastStepTime\t=\tnowTime;\r\n\r\n //reset callbacks\r\n pageLinkCallbacks = [];\r\n\r\n //console.groupEnd();\r\n\r\n }, 100);\r\n\r\n });\r\n\r\n $pageLinkContainers\r\n .find('.page-link-view-more')\r\n .on('click.plg-expand', function (event) {\r\n\r\n var plgID = $(this).closest('.page-links').data('plg-id');\r\n\r\n event.preventDefault();\r\n\r\n $(this)\r\n .closest('.page-links')\r\n .addClass('show-all-items');\r\n\r\n setTimeout(function () {\r\n\r\n recalcPageLinks();\r\n\r\n if (plgID && parseInt(plgID, 10)) {\r\n\r\n savePageSetting('plg-expanded-' + plgID, true);\r\n\r\n }\r\n\r\n }, 33);\r\n\r\n })\r\n .each(function () {\r\n\r\n var plgID = $(this).closest('.page-links').data('plg-id');\r\n\r\n if (plgID && parseInt(plgID, 10)) {\r\n\r\n var pageSettings = getPageSettings();\r\n var settingKey = 'plg-expanded-' + plgID;\r\n\r\n if (settingKey in pageSettings && true === pageSettings[settingKey]) {\r\n\r\n $(this)\r\n .trigger('click.plg-expand');\r\n\r\n }\r\n\r\n }\r\n\r\n });\r\n\r\n\r\n //HEADER CODE//\r\n const headerScrollDist = Math.max(Math.min($(window).height() / 2.5, 600), 250);\r\n const backToTopScrollDist = $(window).height() * 3;\r\n let footerBackToTopActive = false;\r\n const footerScrollDist = parseInt(getComputedStyle(document.body).fontSize, 10) + 44;\r\n const minFooterOpacity = {\r\n mobile: 1,\r\n desktop: 1//0.5\r\n };\r\n const maxFooterOpacity = {\r\n mobile: 1,\r\n desktop: 1\r\n };\r\n let currentScroll = 0;\r\n lastRenderedScroll = -1;\r\n let scrollReady = false,\r\n pageLinkBuffer = 500,\r\n $backToTop = $footer.find('.above-the-fold').find('.back-to-top');\r\n\r\n window.loadPageLinkImage = function ($pageLink) {\r\n\r\n $pageLink\r\n .filter(function () {\r\n return !$(this).data('imageLoaded');\r\n })\r\n .data('imageLoaded', true)\r\n .find('.img')\r\n .each(function () {\r\n\r\n if (!$(this).data('img-src')) return;\r\n\r\n $(this)\r\n .css({\r\n backgroundImage: 'url(\\'' + $(this).data('img-src') + '\\')'\r\n });\r\n\r\n });\r\n\r\n }\r\n\r\n function renderPageLinks() {\r\n\r\n //console.group('renderPageLinks()');\r\n\r\n //var nowTime\t\t\t=\tnew Date().getTime();\r\n //var lastStepTime\t=\tnowTime;\r\n\r\n\r\n var scrollCount = 0,\r\n windowHeight = $(window).height() - 48;\r\n\r\n if ($pageLinks.length === 0) {\r\n\r\n $('html')\r\n .addClass('scroll-ready');\r\n\r\n scrollReady = true;\r\n\r\n } else {\r\n\r\n resetPageLinksOffset(false);\r\n\r\n //nowTime\t=\tnew Date().getTime();\r\n //console.log('initialize offsets', nowTime - lastStepTime);\r\n //lastStepTime\t=\tnowTime;\r\n\r\n $.each($pageLinks, function (i) {\r\n\r\n //only if the page link is in the viewport and hasn't already been animated into position\r\n if (!$pageLinks.eq(i).data('scrolled') && $pageLinks.eq(i).data('offsetTop') <= currentScroll + windowHeight && $pageLinks.eq(i).is(':visible')) {\r\n\r\n if ($pageLinks.eq(i).data('offsetTop') + $pageLinks.eq(i).data('height') >= currentScroll) {\r\n\r\n //mark as scrolled\r\n $pageLinks\r\n .eq(i)\r\n .addClass('scrolled delay-' + scrollCount)\r\n .data('scrolled', true);\r\n\r\n scrollCount++;\r\n\r\n //load image\r\n loadPageLinkImage($pageLinks.eq(i));\r\n\r\n //preload larger image source if set\r\n if ($pageLinks.eq(i).data('image-src')) $(\"
\")[0].src = $pageLinks.eq(i).data('image-src');\r\n\r\n } else {\r\n\r\n //above the current viewport and not yet shown\r\n\r\n //check if the image should be preloaded\r\n if ($pageLinks.eq(i).data('offsetTop') + $pageLinks.eq(i).data('height') >= currentScroll - pageLinkBuffer) {\r\n\r\n //load image\r\n loadPageLinkImage($pageLinks.eq(i));\r\n\r\n }\r\n\r\n $pageLinks\r\n .eq(i)\r\n .addClass('above-viewport');\r\n\r\n }\r\n\r\n } else if (!$pageLinks.eq(i).data('scrolled') && $pageLinks.eq(i).data('offsetTop') <= currentScroll + windowHeight + pageLinkBuffer) {\r\n\r\n //ok, not in view but close, preload the image\r\n //load image\r\n loadPageLinkImage($pageLinks.eq(i));\r\n\r\n\r\n }\r\n\r\n });\r\n\r\n //nowTime\t=\tnew Date().getTime();\r\n //console.log('render changes', nowTime - lastStepTime);\r\n //lastStepTime\t=\tnowTime;\r\n\r\n if (!scrollReady) {\r\n\r\n setTimeout(function () {\r\n\r\n $('html')\r\n .addClass('scroll-ready');\r\n\r\n scrollReady = true;\r\n\r\n }, 150);\r\n\r\n }\r\n\r\n }\r\n\r\n //console.groupEnd();\r\n\r\n }\r\n\r\n function renderMainNav() {\r\n\r\n //only render when the scroll has changed\r\n if (lastRenderedScroll !== currentScroll) {\r\n\r\n const headerPercent = (currentScroll / headerScrollDist > 1)\r\n ? 1\r\n : currentScroll / headerScrollDist;\r\n const footerPercent = (currentScroll >= footerScrollDist)\r\n ? ((currentScroll - footerScrollDist) / headerScrollDist > 1)\r\n ? 1\r\n : (currentScroll - footerScrollDist) / headerScrollDist\r\n : 0;\r\n const footerOpacity = (responsive.current === 'ui-mobile' || responsive.current === 'ui-tablet')\r\n ? minFooterOpacity.mobile + (maxFooterOpacity.mobile - minFooterOpacity.mobile) * footerPercent\r\n : minFooterOpacity.desktop + (maxFooterOpacity.desktop - minFooterOpacity.desktop) * footerPercent;\r\n const headerHeight = (responsive.current === 'ui-mobile')\r\n ? maxHeaderHeight.mobile\r\n : maxHeaderHeight.desktop;\r\n const backToTopActive = (currentScroll > backToTopScrollDist);\r\n\r\n $header\r\n .find('.shadow')\r\n .css({\r\n opacity: headerPercent\r\n })\r\n .end()\r\n .find('.nav-tab')\r\n .find('image')\r\n .css({\r\n opacity: headerPercent\r\n })\r\n .end();\r\n\r\n if (currentScroll + dims.window.h - footerScrollDist >= containerHeight + containerOffset) {\r\n\r\n const distanceThrough = containerHeight + containerOffset - (currentScroll + dims.window.h) + footerScrollDist;\r\n const percentThrough = Math.abs(distanceThrough / (footerHeight - footerScrollDist));\r\n\r\n $footer\r\n .addClass('above-the-fold-static footer-shown')\r\n .find('.above-the-fold')\r\n .children('.shadow')\r\n .css({\r\n opacity: 1 - percentThrough\r\n });\r\n\r\n $('html')\r\n .removeClass('footer-showing');\r\n\r\n } else if (currentScroll >= footerScrollDist) {\r\n\r\n $footer\r\n .removeClass('above-the-fold-static')\r\n .find('.above-the-fold')\r\n .css({\r\n transform: 'translateY(0px)',\r\n opacity: footerOpacity\r\n })\r\n .children('.shadow')\r\n .css({\r\n opacity: footerPercent\r\n });\r\n\r\n $('html')\r\n .addClass('footer-showing');\r\n\r\n if (backToTopActive && !footerBackToTopActive) {\r\n\r\n footerBackToTopActive = true;\r\n\r\n $backToTop\r\n .addClass('active');\r\n\r\n } else if (!backToTopActive && footerBackToTopActive) {\r\n\r\n footerBackToTopActive = false;\r\n\r\n $backToTop\r\n .removeClass('active');\r\n\r\n }\r\n\r\n } else {\r\n\r\n $footer\r\n .removeClass('above-the-fold-static')\r\n .find('.above-the-fold')\r\n .css({\r\n transform: 'translateY(' + (footerScrollDist - currentScroll) + 'px)',\r\n opacity: footerOpacity\r\n })\r\n .children('.shadow')\r\n .css({\r\n opacity: footerPercent\r\n });\r\n\r\n $('html')\r\n .removeClass('footer-showing');\r\n\r\n }\r\n\r\n\r\n //check if any slideshows need to be paused\r\n $.each(allSlideshows, function (i) {\r\n\r\n var videoOBJ = (allSlideshows[i].slideshowIsActive) ? allSlideshows[i].slides.filter('.active.video.initialized').data('videoPlayer') : undefined;\r\n\r\n //if the artwork is out of viewport, do nothing (but pause videos)\r\n if (allSlideshows[i].slideshowOffsetTop + allSlideshows[i].slideshowHeight - headerHeight <= currentScroll) {\r\n\r\n if (typeof videoOBJ === 'object') {\r\n\r\n videoOBJ\r\n .getPaused()\r\n .then(function (paused) {\r\n\r\n if (!paused) {\r\n\r\n videoOBJ\r\n .pause();\r\n\r\n }\r\n\r\n });\r\n }\r\n\r\n } else if (allSlideshows[i].slideshowIsActive) {\r\n\r\n if (typeof videoOBJ === 'object' && allSlideshows[i].slides.eq(allSlideshows[i].currentSlide).data('playing') && allSlideshows[i].getCaption(allSlideshows[i].currentSlide).hasClass('video-played') && !allSlideshows[i].getCaption(allSlideshows[i].currentSlide).hasClass('video-pause-manual')) {\r\n //console.log('scroll play');\r\n videoOBJ\r\n .getPaused()\r\n .then(function (paused) {\r\n\r\n if (paused) {\r\n\r\n videoOBJ\r\n .play();\r\n\r\n }\r\n\r\n });\r\n }\r\n\r\n }\r\n\r\n });\r\n\r\n //check if any page link items need to be animated\r\n renderPageLinks();\r\n\r\n //update last rendered scroll position\r\n lastRenderedScroll = currentScroll;\r\n\r\n }\r\n\r\n requestAnimationFrame(renderMainNav);\r\n\r\n }\r\n\r\n requestAnimationFrame(renderMainNav);\r\n\r\n if ($(\"html\").hasClass(\"hashchange\")) {\r\n\r\n $(window).on('scroll.header', function (event, userTriggered) {\r\n\r\n if (typeof userTriggered !== 'boolean' || userTriggered === true) userHasScrolled = true;\r\n\r\n currentScroll = $(this).scrollTop();\r\n\r\n clearTimeout(touchEffectTimer);\r\n\r\n }).trigger('scroll.header', [false]);\r\n\r\n }\r\n\r\n $(function () {\r\n\r\n renderPageLinks();\r\n\r\n });\r\n\r\n //$(window)\r\n //\t.on('resize.pagelinks load.pagelinks', function () {\r\n\r\n //\t\trenderPageLinks();\r\n\r\n //\t});\r\n\r\n //setInterval(renderPageLinks, 5000);\r\n\r\n $backToTop\r\n .on('click', function (event) {\r\n\r\n event.preventDefault();\r\n\r\n $('html, body')\r\n .stop(true)\r\n .animate({\r\n scrollTop: 0\r\n }, Math.min(Math.max(350, $(window).scrollTop() / 10), 2000), 'easeInOutCubic');\r\n\r\n });\r\n\r\n\r\n //DIALOG CODE\r\n var loaderClickTimer = null;\r\n var loaderDisableClickClose = false;\r\n\r\n window.showLoader = function (showLoadingSpinner) {\r\n\r\n //DEBUGGING\r\n //console.log('showLoader', 'showLoadingSpinner', showLoadingSpinner);\r\n //\r\n\r\n if ('boolean' !== typeof showLoadingSpinner) showLoadingSpinner = true;\r\n\r\n loaderDisableClickClose = true;\r\n\r\n loaderClickTimer = setTimeout(function () {\r\n loaderDisableClickClose = false;\r\n }, 350);\r\n\r\n var classes = ['show-overlay'];\r\n\r\n if (true === showLoadingSpinner) classes.push('show-loading-spinner');\r\n\r\n $('html')\r\n .addClass(classes.join(' '));\r\n\r\n };\r\n\r\n window.hideLoader = function (closeDialog, forceHide) {\r\n\r\n //DEBUGGING\r\n //console.log('hideLoader', 'closeDialog', closeDialog, 'forceHide', forceHide);\r\n //\r\n\r\n if ('boolean' !== typeof forceHide) var forceHide = false;\r\n if ('boolean' !== typeof closeDialog) var closeDialog = true;\r\n\r\n if (true === loaderDisableClickClose && false === forceHide) return;\r\n\r\n loaderDisableClickClose = false;\r\n\r\n $('html')\r\n .removeClass('show-overlay show-loading-spinner clear-overlay');\r\n\r\n if (true === closeDialog) {\r\n\r\n $('.dialog')\r\n .trigger('close', [true]);\r\n\r\n }\r\n\r\n };\r\n\r\n $(document)\r\n .on('click', function () {\r\n\r\n hideLoader(true, false);\r\n\r\n })\r\n .on('keydown', function (event) {\r\n\r\n if (event.which === 27) hideLoader(true, false);\r\n\r\n });\r\n\r\n $('#overlay').on('click', (event) => {\r\n event.stopPropagation();\r\n hideLoader(true, false);\r\n });\r\n\r\n $(document)\r\n .on('click', 'a.ajax-link', function (event) {\r\n const $link = $(this);\r\n if (typeof $link.data('query') !== 'string' && typeof $link.data('callback') !== 'string') return;\r\n\r\n event.preventDefault();\r\n event.stopPropagation();\r\n\r\n window.showOverlayDialog($link.data(), this);\r\n });\r\n\r\n require('./helpers/ExternalLinkWarning');\r\n\r\n\r\n function updateHeaderReservationWidgetBAR() {\r\n\r\n var selectedDates = $header.find('.pepvalidate-v3').filter('.reservations').find('.check-in-out').find('input').data('datepicker').selectedDates;\r\n\r\n if (selectedDates.length === 2) {\r\n\r\n var checkInRegMatch = /(20[0-9]{2})\\-([0-9]{1,2})\\-([0-9]{1,2})/.exec(selectedDates[0].getFullYear() + '-' + (selectedDates[0].getMonth() + 1) + '-' + selectedDates[0].getDate());\r\n var checkOutRegMatch = /(20[0-9]{2})\\-([0-9]{1,2})\\-([0-9]{1,2})/.exec(selectedDates[1].getFullYear() + '-' + (selectedDates[1].getMonth() + 1) + '-' + selectedDates[1].getDate());\r\n\r\n if (!!checkInRegMatch && !!checkOutRegMatch) {\r\n\r\n //verify correct format for months\r\n if (checkInRegMatch[2].length < 2) checkInRegMatch[2] = '0' + checkInRegMatch[2];\r\n if (checkOutRegMatch[2].length < 2) checkOutRegMatch[2] = '0' + checkOutRegMatch[2];\r\n\r\n //verify correct format for days\r\n if (checkInRegMatch[3].length < 2) checkInRegMatch[3] = '0' + checkInRegMatch[3];\r\n if (checkOutRegMatch[3].length < 2) checkOutRegMatch[3] = '0' + checkOutRegMatch[3];\r\n\r\n var checkInDateStr = checkInRegMatch[1] + '-' + checkInRegMatch[2] + '-' + checkInRegMatch[3];\r\n var checkOutDateStr = checkOutRegMatch[1] + '-' + checkOutRegMatch[2] + '-' + checkOutRegMatch[3];\r\n\r\n if ($header.find('.nav-tab').filter('.reservation').data('dataLastCheckIn') !== checkInDateStr || $header.find('.nav-tab').filter('.reservation').data('dataLastCheckOut') !== checkOutDateStr) {\r\n\r\n $header.find('.nav-tab').filter('.reservation').data('dataLastCheckIn', checkInDateStr);\r\n $header.find('.nav-tab').filter('.reservation').data('dataLastCheckOut', checkOutDateStr);\r\n\r\n $header\r\n .find('.nav-tab')\r\n .filter('.reservation')\r\n .data('dataLoaded', true);\r\n\r\n clearTimeout($header.find('.nav-tab').filter('.reservation').data('dataTimeout'));\r\n\r\n $header\r\n .find('.nav-tab')\r\n .filter('.reservation')\r\n .data('dataTimeout', setTimeout(function () {\r\n\r\n $header\r\n .find('.pepvalidate-v3')\r\n .filter('.reservations')\r\n .find('.tower')\r\n .find('.rate')\r\n .text('Loading...');\r\n\r\n }, 5000));\r\n\r\n $.ajax({\r\n url: '/library/api/room-rates.php',\r\n type: 'post',\r\n dataType: 'json',\r\n data: {\r\n ACTION: 'GET_TOWER_BAR',\r\n CHECKIN_DATE: checkInDateStr,\r\n CHECKOUT_DATE: checkOutDateStr\r\n },\r\n success: function (response) {\r\n\r\n if (response.STATUS === 'SUCCESS') {\r\n\r\n clearTimeout($header.find('.nav-tab').filter('.reservation').data('dataTimeout'));\r\n\r\n var blacklist = [];\r\n\r\n for (var cls in response.DATA) {\r\n\r\n blacklist.push(cls);\r\n\r\n $header\r\n .find('.pepvalidate-v3')\r\n .filter('.reservations')\r\n .find('.tower')\r\n .filter('.' + cls)\r\n .find('.rate')\r\n .text('Rates from $' + response.DATA[cls] + ' per night!');\r\n\r\n }\r\n\r\n //if not included in response, there isn't any availability\r\n $header\r\n .find('.pepvalidate-v3')\r\n .filter('.reservations')\r\n .find('.tower')\r\n .not('.' + blacklist.join(', .'))\r\n .find('.rate')\r\n .text('Sold Out');\r\n\r\n }\r\n\r\n }\r\n });\r\n\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n $headerSticky\r\n .find('.search')\r\n .on('click', function (event) {\r\n\r\n event.preventDefault();\r\n event.stopPropagation();\r\n\r\n if (!$(this).hasClass('active')) {\r\n\r\n $(this)\r\n .find('.input')\r\n .onCSSTransitionEnd(function () {\r\n\r\n $headerSticky\r\n .find('.search')\r\n .find('input')\r\n [0].focus({focusVisible: true});\r\n\r\n })\r\n .end()\r\n .addClass('active');\r\n\r\n } else if ($(this).find('input').val() !== '') {\r\n\r\n $(this)\r\n .find('input')\r\n .trigger('send');\r\n\r\n } else {\r\n\r\n $(this)\r\n .removeClass('active');\r\n\r\n }\r\n\r\n })\r\n .find('.input, input')\r\n .on('click', function (event) {\r\n\r\n event.stopPropagation();\r\n\r\n if ($(this).hasClass('input')) {\r\n\r\n $(this)\r\n .find('input')\r\n [0].focus({focusVisible: true});\r\n\r\n }\r\n\r\n })\r\n .filter('input')\r\n .on('send', function () {\r\n\r\n if ($.trim($(this).val()) !== '') window.location.href = '/search/?s=' + encodeURIComponent($.trim($(this).val()));\r\n //if ($.trim($(this).val()) !== '')\twindow.location.href\t=\t$header.find('.search')[0].href + '?s=' + encodeURIComponent($.trim($(this).val())) + '&CSRF_TOKEN=' + encodeURIComponent($(this).closest('.search').find('[name=CSRF_TOKEN]').val()) + '&' + $(this).closest('.search').find('[name=CSRF_TOKEN]').next('input').attr('name') + '=' + encodeURIComponent($(this).closest('.search').find('[name=CSRF_TOKEN]').next('input').val());\r\n\r\n })\r\n .on('keydown', function (event) {\r\n\r\n if (event.which === 13) $(this).trigger('send');\r\n\r\n });\r\n\r\n $header\r\n .find('.pepvalidate-v3')\r\n .on('click', function (event) {\r\n\r\n event.stopPropagation();\r\n\r\n });\r\n\r\n $header\r\n .find('.nav-tab')\r\n .data({\r\n timer: null,\r\n clickOK: true,\r\n clickTimeout: 500,\r\n dataLoaded: false,\r\n dataTimeout: null,\r\n dataLastCheckIn: '',\r\n dataLastCheckOut: ''\r\n })\r\n .on('click', function (event) {\r\n\r\n event.stopPropagation();\r\n\r\n })\r\n .filter('.reservation')\r\n .on('click', function (event, onlyOpen) {\r\n\r\n event.preventDefault();\r\n\r\n if (typeof onlyOpen !== 'boolean') var onlyOpen = false;\r\n\r\n if (onlyOpen && $header.find('.pepvalidate-v3').filter('.reservations').hasClass('active')) return;\r\n\r\n var $btn = $(this);\r\n\r\n if (!$btn.data('clickOK')) return;\r\n\r\n $header\r\n .find('.pepvalidate-v3')\r\n .filter('.reservations')\r\n .toggleClass('active')\r\n .end()\r\n .filter('.passport')\r\n .removeClass('active');\r\n\r\n if ($header.find('.pepvalidate-v3').filter('.reservations').hasClass('active')) {\r\n\r\n //track button click\r\n pepTracking.event('Reservations Header', 'Open', window.location.pathname, 0, false);\r\n\r\n //pause a video if it's playing in mobile ui\r\n pauseCurrentVideo();\r\n\r\n } else {\r\n\r\n //track button click\r\n pepTracking.event('Reservations Header', 'Close', window.location.pathname, 0, false);\r\n\r\n //play a video if it's paused\r\n playCurrentVideo();\r\n\r\n }\r\n\r\n $btn\r\n .data({\r\n clickOK: false,\r\n timer: setTimeout(function () {\r\n\r\n $btn\r\n .data('clickOK', true);\r\n\r\n }, $btn.data('clickTimeout'))\r\n });\r\n\r\n\r\n //load tower rate data\r\n if ($btn.data('dataLoaded') !== true) {\r\n\r\n updateHeaderReservationWidgetBAR();\r\n\r\n }\r\n\r\n })\r\n .end()\r\n .filter('.passport-club')\r\n .on('click', function (event, onlyOpen) {\r\n\r\n var $btn = $(this);\r\n\r\n if (!$btn.data('clickOK')) {\r\n\r\n event.preventDefault();\r\n\r\n return;\r\n\r\n }\r\n\r\n //check for logout\r\n if ($btn.find('.text').text().indexOf('SEE') > -1) {\r\n\r\n return;\r\n\r\n } else if ($btn.hasClass('logout')) {\r\n\r\n event.preventDefault();\r\n\r\n var newURL = window.location.pathname + window.location.search;\r\n\r\n if (newURL.indexOf('?') > -1) newURL += '&logout=true';\r\n else newURL += '?logout=true';\r\n\r\n window.location.href = newURL;\r\n\r\n return false;\r\n\r\n }\r\n\r\n event.preventDefault();\r\n\r\n if (typeof onlyOpen !== 'boolean') var onlyOpen = false;\r\n\r\n if (onlyOpen && $header.find('.pepvalidate-v3').filter('.passport').hasClass('active')) return;\r\n\r\n $header\r\n .find('.pepvalidate-v3')\r\n .filter('.passport')\r\n .toggleClass('active')\r\n .end()\r\n .filter('.reservations')\r\n .removeClass('active');\r\n\r\n if ($header.find('.pepvalidate-v3').filter('.passport').hasClass('active')) {\r\n\r\n //track button click\r\n pepTracking.event('Players Club Header', 'Open', window.location.pathname, 0, false);\r\n\r\n //pause a video if it's playing in mobile ui\r\n pauseCurrentVideo();\r\n\r\n } else {\r\n\r\n //track button click\r\n pepTracking.event('Players Club Header', 'Close', window.location.pathname, 0, false);\r\n\r\n //play a video if it's paused\r\n playCurrentVideo();\r\n\r\n }\r\n\r\n //if ($header.find('.pepvalidate-v3').filter('.passport').hasClass('active'))\tsetTimeout(function () {$header.find('.pepvalidate-v3').filter('.passport').find('[name=username]')[0].focus({focusVisible: true}).select()}, 250);\r\n\r\n $btn\r\n .data({\r\n clickOK: false,\r\n timer: setTimeout(function () {\r\n\r\n $btn\r\n .data('clickOK', true);\r\n\r\n }, $btn.data('clickTimeout'))\r\n });\r\n\r\n });\r\n\r\n $(function () {\r\n\r\n //Check if the user can connect to SUGAR\r\n window.sslNotify = {\r\n cookie: '',\r\n data: {},\r\n show: false,\r\n func: function () {\r\n\r\n $.ajax({\r\n url: 'https://reserve1.peppermillcas.com:4323/misc/check-secure-connection.js',\r\n dataType: 'jsonp',\r\n jsonpCallback: 'cscCallback',\r\n timeout: 15000,\r\n success: function () {\r\n\r\n //only check once an hour if a connection was successfully made\r\n sslNotify.show = false;\r\n\r\n if (cookieData) document.cookie = 'ssl-notify={\"ok\":\"yes\",\"time\":' + new Date().getTime() + '}; path=' + cookieData.b + cookieData.s + '; ' + cookieData.h;\r\n\r\n },\r\n error: function (a, b, c) {\r\n\r\n sslNotify.show = true;\r\n\r\n if (cookieData) document.cookie = 'ssl-notify={\"ok\":\"no\",\"time\":' + new Date().getTime() + '}; path=' + cookieData.b + cookieData.s + '; ' + cookieData.h;\r\n\r\n }\r\n });\r\n\r\n }\r\n };\r\n sslNotify.cookie = document.cookie.replace(/(?:(?:^|.*;\\s*)ssl-notify\\s*\\=\\s*([^;]*).*$)|^.*$/, \"$1\") || '{\"ok\":\"no\",\"time\":0}';\r\n sslNotify.data = $.parseJSON(sslNotify.cookie);\r\n\r\n //backwards compatability\r\n if (typeof sslNotify.data === 'number') {\r\n\r\n sslNotify.data = {\r\n ok: 'no',\r\n time: sslNotify.data\r\n };\r\n\r\n }\r\n\r\n if (sslNotify.data.time === 0) {\r\n\r\n //object was just initialized, no check has occured\r\n sslNotify.func();\r\n\r\n } else if (sslNotify.data.ok === 'yes' && sslNotify.data.time < (new Date().getTime() - 3600000)) {\r\n\r\n //object was created from cookie but the last check was over an hour ago\r\n sslNotify.func();\r\n\r\n } else if (sslNotify.data.ok === 'no') {\r\n\r\n sslNotify.show = true;\r\n\r\n if (sslNotify.data.time < (new Date().getTime() - 100000)) {\r\n\r\n //object was created from cookie and the last check failed but it was checked over five minutes ago\r\n sslNotify.func();\r\n\r\n }\r\n\r\n }\r\n\r\n });\r\n\r\n\r\n //do all window.resize code\r\n var resizeTimer = null,\r\n iresizetimer = null,\r\n loadFired = false;\r\n\r\n var headerHeight = ($header.length) ? $header.height() : 0;\r\n var containerHeight = ($container.length) ? $container.height() : $('body').height();\r\n var containerOffset = ($container.length) ? $container.offset().top : 0;\r\n var footerHeight = ($container.length) ? $footer.height() : 0;\r\n\r\n $(window).on(\"resize.all load.all orientationchange.all\", function (event, delay) {\r\n if (typeof delay !== 'integer') {\r\n if (event.type.toLowerCase() === 'load') {\r\n var delay = 0;\r\n loadFired = true;\r\n } else {\r\n var delay = 100;\r\n }\r\n }\r\n\r\n function theFunc() {\r\n\r\n //GLOBAL\r\n //update saved viewport dimensions\r\n dims.window.w = $(window).width();\r\n dims.window.h = $(window).height();\r\n\r\n headerHeight = ($header.length) ? $header.height() : 0;\r\n containerHeight = ($container.length) ? $container.height() : $('body').height();\r\n containerOffset = ($container.length) ? $container.offset().top : 0;\r\n footerHeight = ($container.length) ? $footer.height() : 0;\r\n\r\n responsive.update();\r\n\r\n }\r\n\r\n clearTimeout(resizeTimer);\r\n if (delay === 0) {\r\n theFunc();\r\n } else {\r\n resizeTimer = setTimeout(theFunc, delay);\r\n }\r\n }).trigger(\"resize.all\", 0);\r\n\r\n\r\n //Text Size Code\r\n $(\"#container\").on(\"click\", \".text-size-btn\", function (event) {\r\n\r\n event.preventDefault();\r\n\r\n //var now\t\t\t=\tnew Date(),\r\n //\texpire\t\t=\tnew Date(now.getTime() + (parseInt(cookieData.timeout, 10) * 10000));\r\n\r\n if (!$(\"html\").hasClass(\"text-increase\")) {\r\n //go big\r\n $(\"html\").addClass(\"text-increase\");\r\n\r\n if (cookieData) document.cookie = 'text-size=text-increase; path=' + cookieData.b + cookieData.s + '; ' + cookieData.h;\r\n\r\n pepTracking.event('Text Size', 'Increase', window.location.pathname, 0, false);\r\n } else {\r\n //go normal\r\n $(\"html\").removeClass(\"text-increase\");\r\n\r\n if (cookieData) document.cookie = 'text-size=; path=' + cookieData.b + cookieData.s + '; ' + cookieData.h;\r\n\r\n pepTracking.event('Text Size', 'Normal', window.location.pathname, 0, false);\r\n }\r\n\r\n //force redraw\r\n $(window).trigger(\"resize\");\r\n\r\n });\r\n\r\n\r\n //setup GA tracking code\r\n window.pepTracking = {\r\n page: function (customPage) {\r\n if (typeof gtag === 'undefined') return;\r\n\r\n if (typeof customPage === 'string' && customPage !== '') {\r\n gtag('event', 'page_view', {\r\n page: customPage\r\n });\r\n }\r\n },\r\n event: function (category, action, extra, value, ni) {\r\n\r\n if (typeof gtag === 'undefined') return;\r\n\r\n if (typeof category !== 'string') category = 'N/A';\r\n\r\n if (typeof action !== 'string') action = 'N/A';\r\n\r\n if (typeof extra !== 'string') extra = 'N/A';\r\n\r\n if (typeof value !== 'number') value = 0;\r\n\r\n if (typeof ni !== 'boolean') ni = false;\r\n\r\n gtag('event', action, {\r\n hitType: 'event',\r\n event_category: category,\r\n event_action: action,\r\n event_label: extra,\r\n nonInteraction: ni,\r\n transport: 'beacon',\r\n value: value\r\n });\r\n\r\n },\r\n getGALinkerParam: function () {\r\n //get GA (UA) tracker param//get GA tracker param\r\n var output = '',\r\n anchorEle = $('')[0];\r\n\r\n if (typeof anchorEle === 'object' && typeof ga !== 'undefined') {\r\n\r\n ga('linker:decorate', anchorEle);\r\n\r\n if (typeof anchorEle.search === 'string') {\r\n\r\n if (anchorEle.search.replace('?', '').substr(0, 4) === '_ga=') {\r\n\r\n output = anchorEle.search.replace('?', '').substr(4);\r\n\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n return output;\r\n },\r\n getGA4LinkerParam: function () {\r\n //get GA4 tracker param\r\n\r\n const formNode = document.createElement('FORM');\r\n formNode.action = (window.pepConsole.isDev) ? 'https://devbooking.peppermillreno.com/' : 'https://booking.peppermillreno.com/';\r\n formNode.style.opacity = '0';\r\n formNode.addEventListener('submit', (event) => {\r\n event.preventDefault();\r\n });\r\n\r\n const buttonNode = document.createElement('BUTTON');\r\n buttonNode.type = 'submit';\r\n formNode.append(buttonNode);\r\n\r\n document.body.append(formNode);\r\n\r\n buttonNode.click();\r\n\r\n const _glNode = formNode.querySelector('input[name=\"_gl\"]');\r\n\r\n let output = '';\r\n if (_glNode) {\r\n output = _glNode.value;\r\n }\r\n\r\n formNode.remove();\r\n\r\n return output;\r\n }\r\n };\r\n\r\n /*$(\"#container\").on(\"click\", '.track-click', function () {\r\n\t\tpepTracking.page($(this).attr('href'));\r\n\t});*/\r\n\r\n //find links that go to the /choose-a-room/ or /offers/ pages and add GA linker data to them\r\n $.each($('.body-container').find('a'), function () {\r\n\r\n if (this.href.substr(0, 37) === 'https://www.peppermillreno.com/offers' || this.href.substr(0, 44) === 'https://www.peppermillreno.com/choose-a-room') {\r\n\r\n if (typeof ga !== 'undefined') ga('linker:decorate', this);\r\n\r\n }\r\n\r\n });\r\n\r\n\r\n //SETUP NOTIFICATIONS\r\n const $notifications = $('#notifications');\r\n window.pepNotify = {\r\n ele: $notifications,\r\n viewport: $notifications.children('.viewport'),\r\n show: function (duration, msg, type, actionText, actionLink, callback, forceClose) {\r\n if (typeof forceClose !== 'boolean') {\r\n forceClose = false;\r\n }\r\n\r\n //make sure this notification doesn't already exist\r\n const $match = pepNotify.viewport.children('.notification').filter(function () {\r\n\r\n const data = $(this).data();\r\n\r\n return (data.duration === duration && data.msg === msg && data.type === type && data.actionText === actionText && data.actionLink === actionLink);\r\n\r\n });\r\n\r\n if ($match.length) {\r\n\r\n if ($match.find('.count').length === 0) {\r\n\r\n $match.append('2');\r\n\r\n setTimeout(function () {\r\n\r\n $match\r\n .find('.count')\r\n .onCSSAnimationEnd(function () {\r\n $(this).removeClass('bounce');\r\n })\r\n .addClass('show bounce');\r\n\r\n }, 50);\r\n } else {\r\n $match\r\n .find('.count')\r\n .text(parseInt($match.find('.count').text(), 10) + 1)\r\n .onCSSAnimationEnd(function () {\r\n\r\n $(this).removeClass('bounce');\r\n\r\n }).addClass('bounce');\r\n\r\n }\r\n\r\n pepNotify.reset($match);\r\n\r\n return;\r\n }\r\n\r\n const $ele = $(pepNotify.buildHTML(msg, type, actionText, actionLink, callback))\r\n .data({\r\n duration: duration,\r\n msg: msg,\r\n type: type,\r\n actionText: actionText,\r\n actionLink: actionLink,\r\n callback: callback,\r\n forceClose: forceClose\r\n });\r\n\r\n $ele\r\n .on('mouseenter', function () {\r\n\r\n if ($ele.hasClass('closing')) return;\r\n\r\n if (!$ele.data('forceClose')) clearTimeout($ele.data('timer'));\r\n\r\n $ele.addClass('hover');\r\n\r\n })\r\n .on('mouseleave', function () {\r\n\r\n pepNotify.activate($ele);\r\n\r\n $ele.removeClass('hover');\r\n\r\n })\r\n .find('.action')\r\n .on('click', function (event) {\r\n\r\n if ($(this).hasClass('close') || $(this).attr('href') === '#') event.preventDefault();\r\n\r\n $ele.removeClass('hover').addClass('closing');\r\n\r\n pepNotify.close($ele, true);\r\n\r\n });\r\n\r\n pepNotify.viewport.append($ele);\r\n\r\n if (pepNotify.viewport.children('.notification').filter('.active').length === 0) {\r\n\r\n setTimeout(function () {\r\n\r\n pepNotify.activate($ele);\r\n\r\n }, 50);\r\n\r\n }\r\n\r\n },\r\n close: function ($ele, closeFromClick) {\r\n\r\n if (typeof closeFromClick !== 'boolean') {\r\n closeFromClick = false;\r\n }\r\n\r\n pepNotify.ele.onCSSTransitionEnd(function () {\r\n\r\n if (!$ele.data('forceClose') && $ele.hasClass('hover') && !$ele.hasClass('closing')) return;\r\n\r\n if (typeof $ele.data('callback') === 'function' && (closeFromClick || $ele.data('forceClose'))) {\r\n $ele.data('callback')();\r\n }\r\n\r\n $ele.remove();\r\n\r\n pepNotify.rotate();\r\n\r\n }).removeClass('show');\r\n\r\n $('html').removeClass('show-notify');\r\n\r\n },\r\n reset: function ($ele) {\r\n\r\n clearTimeout($ele.data('timer'));\r\n\r\n $ele.data('timer', setTimeout(function () {\r\n\r\n pepNotify.close($ele);\r\n\r\n }, $ele.data('duration')));\r\n\r\n },\r\n activate: function ($ele) {\r\n\r\n if ($ele.hasClass('closing')) return;\r\n\r\n pepNotify.ele.addClass('show');\r\n\r\n $('html').addClass('show-notify');\r\n\r\n $ele.addClass('active').data('timer', setTimeout(function () {\r\n\r\n pepNotify.close($ele);\r\n\r\n }, $ele.data('duration')));\r\n\r\n },\r\n rotate: function () {\r\n const $notifications = pepNotify.viewport.children('.notification');\r\n\r\n if ($notifications.length > 0 && $notifications.filter('.active').length === 0) {\r\n pepNotify.activate($notifications.eq(0));\r\n }\r\n },\r\n buildHTML: function (msg, type, actionText, actionLink, actionCallback) {\r\n let html = '
';\r\n\r\n if (typeof type === 'string') {\r\n html += ' ';\r\n }\r\n\r\n html += msg + '';\r\n\r\n if (typeof actionText === 'string' && (typeof actionLink === 'string' || typeof actionCallback === 'function')) {\r\n if (typeof actionLink !== 'string') {\r\n actionLink = '#';\r\n }\r\n\r\n html += '' + actionText + '';\r\n } else {\r\n html += 'HIDE';\r\n }\r\n\r\n html += ' \")[0].src = preloadImages[i];\r\n\r\n }\r\n\r\n });\r\n\r\n\r\n //Append GA to URL for /manage-reservation\r\n $(function () {\r\n const target = $(\"a.btn[href^='/manage-reservation']\");\r\n target.click(function () {\r\n const regEx = new RegExp(/[&?]_ga=.+/);\r\n const gaParam = pepTracking.getGALinkerParam();\r\n const ga4Param = pepTracking.getGA4LinkerParam();\r\n const oldHref = $(this).attr(\"href\");\r\n if (!regEx.test(oldHref)) {\r\n const gaQs = (oldHref.indexOf(\"?\") > -1) ? \"&\" : \"?\";\r\n target.attr(\"href\", oldHref + gaQs + '_ga=' + gaParam + '&_gl=' + ga4Param);\r\n }\r\n })\r\n });\r\n\r\n //SETUP HEADER PASSPORT LOGIN CALLBACKS\r\n $(function () {\r\n\r\n if ('pepvalidateRegisterCallback' in window) {\r\n\r\n window.pepvalidateRegisterCallback(\r\n 'PASSPORT-HEADER-LOGIN-SUCCESS',\r\n function (redirect, rememberMe) {\r\n\r\n var rm = (rememberMe)\r\n ? 'Remember Me'\r\n : 'Standard';\r\n\r\n pepTracking.event('Players Club', 'Login Success', rm, 0, true);\r\n\r\n setTimeout(function () {\r\n\r\n window.location.href = redirect;\r\n\r\n }, 50);\r\n\r\n }\r\n );\r\n\r\n window.pepvalidateRegisterCallback(\r\n 'PASSPORT-HEADER-LOGIN-ERROR',\r\n function (msg) {\r\n\r\n pepTracking.event('Players Club', 'Login Failure', msg, 0, true);\r\n\r\n pepNotify.show(10000, msg, 'error');\r\n\r\n $(this)\r\n .removeClass('loading');\r\n\r\n }\r\n );\r\n\r\n window.pepvalidateRegisterCallback(\r\n 'PASSPORT-HEADER-LOGOUT-SUCCESS',\r\n function () {\r\n\r\n pepNotify.show(10000, 'You are now logged out.', 'done');\r\n\r\n }\r\n );\r\n\r\n //also setup a generic callback for showing a pepNotify notification\r\n window.pepvalidateRegisterCallback(\r\n 'GENERIC-FORM-NOTIFICATION',\r\n function (msg, icon, duration) {\r\n\r\n if (typeof icon !== 'string') icon = '';\r\n if (typeof duration === 'undefined') duration = 10000;\r\n\r\n pepNotify.show(duration, msg, icon);\r\n\r\n $(this)\r\n .removeClass('loading');\r\n\r\n }\r\n );\r\n\r\n }\r\n\r\n });\r\n\r\n\r\n //SETUP GENERIC FORMS\r\n $(function () {\r\n\r\n setTimeout(function () {\r\n\r\n if ('pepvalidateInitForm' in window) {\r\n\r\n $.each($container.find('.pepvalidate-v3'), window.pepvalidateInitForm);\r\n $.each($footer.find('.pepvalidate-v3'), window.pepvalidateInitForm);\r\n\r\n }\r\n\r\n }, 50);\r\n\r\n });\r\n\r\n\r\n //Check if Sprites Have Been Loaded\r\n if ('localStorage' in window) {\r\n\r\n $(function () {\r\n\r\n //first load from cookie\r\n var spriteCookie = document.cookie.replace(/(?:(?:^|.*;\\s*)pepsprites\\s*\\=\\s*([^;]*).*$)|^.*$/, \"$1\"),\r\n spritesLoaded = [],\r\n cookieSprites = (spriteCookie === '')\r\n ? []\r\n : (spriteCookie.indexOf(',') > -1)\r\n ? spriteCookie.split(',')\r\n : [spriteCookie];\r\n\r\n function saveLoadedSprites() {\r\n\r\n var $sprites = $('body').children('.system-sprite'),\r\n expiresDate = new Date();\r\n\r\n spritesLoaded = [];\r\n\r\n //expire in 15 minutes\r\n expiresDate.setTime(new Date().getTime() + 900000);\r\n\r\n $.each($sprites, function (i) {\r\n\r\n try {\r\n\r\n var spriteHTML = $('').append($sprites.eq(i).clone()).html();\r\n\r\n localStorage.setItem('sprite-' + $sprites.eq(i).attr('id'), spriteHTML);\r\n\r\n spritesLoaded.push($sprites.eq(i).attr('id'));\r\n\r\n } catch (e) {\r\n }\r\n\r\n });\r\n\r\n if (cookieData) document.cookie = 'pepsprites=' + spritesLoaded.join(',') + '; expires=' + expiresDate.toGMTString() + '; path=' + cookieData.b + cookieData.s + '; ' + cookieData.h;\r\n\r\n }\r\n\r\n //first add the sprites from localstorage that we have\r\n if (cookieSprites.length) {\r\n\r\n for (var i = 0, l = cookieSprites.length; i < l; i++) {\r\n\r\n try {\r\n\r\n var spriteHTML = localStorage.getItem('sprite-' + cookieSprites[i]);\r\n\r\n if (typeof spriteHTML === 'string' && spriteHTML.substr(0, 5) === '