PageSourceSearch

https://www.visitkununurra.com/templates/kununurra2021/dist/template.bundle.prod.830ec5504f1e886d853f.js

js visitkununurra.com collected 2026-10-02 12:20:31 UTC 341,548 bytes, 1 lines download raw bytes

1!function(n){var r={};function __webpack_require__(t){if(r[t])return r[t].exports;var e=r[t]={i:t,l:!1,exports:{}};return n[t].call(e.exports,e,e.exports,__webpack_require__),e.l=!0,e.exports}__webpack_require__.m=n,__webpack_require__.c=r,__webpack_require__.d=function(t,e,n){__webpack_require__.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},__webpack_require__.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},__webpack_require__.t=function(e,t){if(1&t&&(e=__webpack_require__(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(__webpack_require__.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)__webpack_require__.d(n,r,function(t){return e[t]}.bind(null,r));return n},__webpack_require__.n=function(t){var e=t&&t.__esModule?function getDefault(){return t["default"]}:function getModuleExports(){return t};return __webpack_require__.d(e,"a",e),e},__webpack_require__.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},__webpack_require__.p="",__webpack_require__(__webpack_require__.s=3)}([function(t,e){t.exports=function(t){function log(t){"undefined"!=typeof console&&(console.error||console.log)("[Script Loader]",t)}try{"undefined"!=typeof execScript&&function isIE(){return"undefined"!=typeof attachEvent&&"undefined"==typeof addEventListener}()?execScript(t):"undefined"!=typeof eval?eval.call(null,t):log("EvalError: No eval function available")}catch(e){log(e)}}},,,function(t,e,n){n(4),n(6),n(8),n(10),n(12),n(14),n(16),n(18),n(20),n(22),n(24),n(26),n(28),n(30),n(32),n(34),n(36),n(38),n(40),n(42),n(44),n(46),n(48),n(50),n(52),n(54),n(56),n(58),n(60),n(62),n(64),n(66),n(68),n(70),n(72),n(74),n(76),n(78),n(80),n(82),n(84),n(86),n(88),n(90),n(92),t.exports=n(94)},function(t,e,n){n(0)(n(5))},function(t,e){t.exports="jQuery.noConflict();\r\n"},function(t,e,n){n(0)(n(7))},function(t,e){t.exports='/*! jQuery Migrate v1.2.1 | (c) 2005, 2013 jQuery Foundation, Inc. and other contributors | jquery.org/license */\r\njQuery.migrateMute===void 0&&(jQuery.migrateMute=!0),function(e,t,n){function r(n){var r=t.console;i[n]||(i[n]=!0,e.migrateWarnings.push(n),r&&r.warn&&!e.migrateMute&&(r.warn("JQMIGRATE: "+n),e.migrateTrace&&r.trace&&r.trace()))}function a(t,a,i,o){if(Object.defineProperty)try{return Object.defineProperty(t,a,{configurable:!0,enumerable:!0,get:function(){return r(o),i},set:function(e){r(o),i=e}}),n}catch(s){}e._definePropertyBroken=!0,t[a]=i}var i={};e.migrateWarnings=[],!e.migrateMute&&t.console&&t.console.log&&t.console.log("JQMIGRATE: Logging is active"),e.migrateTrace===n&&(e.migrateTrace=!0),e.migrateReset=function(){i={},e.migrateWarnings.length=0},"BackCompat"===document.compatMode&&r("jQuery is not compatible with Quirks Mode");var o=e("<input/>",{size:1}).attr("size")&&e.attrFn,s=e.attr,u=e.attrHooks.value&&e.attrHooks.value.get||function(){return null},c=e.attrHooks.value&&e.attrHooks.value.set||function(){return n},l=/^(?:input|button)$/i,d=/^[238]$/,p=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,f=/^(?:checked|selected)$/i;a(e,"attrFn",o||{},"jQuery.attrFn is deprecated"),e.attr=function(t,a,i,u){var c=a.toLowerCase(),g=t&&t.nodeType;return u&&(4>s.length&&r("jQuery.fn.attr( props, pass ) is deprecated"),t&&!d.test(g)&&(o?a in o:e.isFunction(e.fn[a])))?e(t)[a](i):("type"===a&&i!==n&&l.test(t.nodeName)&&t.parentNode&&r("Can\'t change the \'type\' of an input or button in IE 6/7/8"),!e.attrHooks[c]&&p.test(c)&&(e.attrHooks[c]={get:function(t,r){var a,i=e.prop(t,r);return i===!0||"boolean"!=typeof i&&(a=t.getAttributeNode(r))&&a.nodeValue!==!1?r.toLowerCase():n},set:function(t,n,r){var a;return n===!1?e.removeAttr(t,r):(a=e.propFix[r]||r,a in t&&(t[a]=!0),t.setAttribute(r,r.toLowerCase())),r}},f.test(c)&&r("jQuery.fn.attr(\'"+c+"\') may use property instead of attribute")),s.call(e,t,a,i))},e.attrHooks.value={get:function(e,t){var n=(e.nodeName||"").toLowerCase();return"button"===n?u.apply(this,arguments):("input"!==n&&"option"!==n&&r("jQuery.fn.attr(\'value\') no longer gets properties"),t in e?e.value:null)},set:function(e,t){var a=(e.nodeName||"").toLowerCase();return"button"===a?c.apply(this,arguments):("input"!==a&&"option"!==a&&r("jQuery.fn.attr(\'value\', val) no longer sets properties"),e.value=t,n)}};var g,h,v=e.fn.init,m=e.parseJSON,y=/^([^<]*)(<[\\w\\W]+>)([^>]*)$/;e.fn.init=function(t,n,a){var i;return t&&"string"==typeof t&&!e.isPlainObject(n)&&(i=y.exec(e.trim(t)))&&i[0]&&("<"!==t.charAt(0)&&r("$(html) HTML strings must start with \'<\' character"),i[3]&&r("$(html) HTML text after last tag is ignored"),"#"===i[0].charAt(0)&&(r("HTML string cannot start with a \'#\' character"),e.error("JQMIGRATE: Invalid selector string (XSS)")),n&&n.context&&(n=n.context),e.parseHTML)?v.call(this,e.parseHTML(i[2],n,!0),n,a):v.apply(this,arguments)},e.fn.init.prototype=e.fn,e.parseJSON=function(e){return e||null===e?m.apply(this,arguments):(r("jQuery.parseJSON requires a valid JSON string"),null)},e.uaMatch=function(e){e=e.toLowerCase();var t=/(chrome)[ \\/]([\\w.]+)/.exec(e)||/(webkit)[ \\/]([\\w.]+)/.exec(e)||/(opera)(?:.*version|)[ \\/]([\\w.]+)/.exec(e)||/(msie) ([\\w.]+)/.exec(e)||0>e.indexOf("compatible")&&/(mozilla)(?:.*? rv:([\\w.]+)|)/.exec(e)||[];return{browser:t[1]||"",version:t[2]||"0"}},e.browser||(g=e.uaMatch(navigator.userAgent),h={},g.browser&&(h[g.browser]=!0,h.version=g.version),h.chrome?h.webkit=!0:h.webkit&&(h.safari=!0),e.browser=h),a(e,"browser",e.browser,"jQuery.browser is deprecated"),e.sub=function(){function t(e,n){return new t.fn.init(e,n)}e.extend(!0,t,this),t.superclass=this,t.fn=t.prototype=this(),t.fn.constructor=t,t.sub=this.sub,t.fn.init=function(r,a){return a&&a instanceof e&&!(a instanceof t)&&(a=t(a)),e.fn.init.call(this,r,a,n)},t.fn.init.prototype=t.fn;var n=t(document);return r("jQuery.sub() is deprecated"),t},e.ajaxSetup({converters:{"text json":e.parseJSON}});var b=e.fn.data;e.fn.data=function(t){var a,i,o=this[0];return!o||"events"!==t||1!==arguments.length||(a=e.data(o,t),i=e._data(o,t),a!==n&&a!==i||i===n)?b.apply(this,arguments):(r("Use of jQuery.fn.data(\'events\') is deprecated"),i)};var j=/\\/(java|ecma)script/i,w=e.fn.andSelf||e.fn.addBack;e.fn.andSelf=function(){return r("jQuery.fn.andSelf() replaced by jQuery.fn.addBack()"),w.apply(this,arguments)},e.clean||(e.clean=function(t,a,i,o){a=a||document,a=!a.nodeType&&a[0]||a,a=a.ownerDocument||a,r("jQuery.clean() is deprecated");var s,u,c,l,d=[];if(e.merge(d,e.buildFragment(t,a).childNodes),i)for(c=function(e){return!e.type||j.test(e.type)?o?o.push(e.parentNode?e.parentNode.removeChild(e):e):i.appendChild(e):n},s=0;null!=(u=d[s]);s++)e.nodeName(u,"script")&&c(u)||(i.appendChild(u),u.getElementsByTagName!==n&&(l=e.grep(e.merge([],u.getElementsByTagName("script")),c),d.splice.apply(d,[s+1,0].c
1oncat(l)),s+=l.length));return d});var Q=e.event.add,x=e.event.remove,k=e.event.trigger,N=e.fn.toggle,T=e.fn.live,M=e.fn.die,S="ajaxStart|ajaxStop|ajaxSend|ajaxComplete|ajaxError|ajaxSuccess",C=RegExp("\\\\b(?:"+S+")\\\\b"),H=/(?:^|\\s)hover(\\.\\S+|)\\b/,A=function(t){return"string"!=typeof t||e.event.special.hover?t:(H.test(t)&&r("\'hover\' pseudo-event is deprecated, use \'mouseenter mouseleave\'"),t&&t.replace(H,"mouseenter$1 mouseleave$1"))};e.event.props&&"attrChange"!==e.event.props[0]&&e.event.props.unshift("attrChange","attrName","relatedNode","srcElement"),e.event.dispatch&&a(e.event,"handle",e.event.dispatch,"jQuery.event.handle is undocumented and deprecated"),e.event.add=function(e,t,n,a,i){e!==document&&C.test(t)&&r("AJAX events should be attached to document: "+t),Q.call(this,e,A(t||""),n,a,i)},e.event.remove=function(e,t,n,r,a){x.call(this,e,A(t)||"",n,r,a)},e.fn.error=function(){var e=Array.prototype.slice.call(arguments,0);return r("jQuery.fn.error() is deprecated"),e.splice(0,0,"error"),arguments.length?this.bind.apply(this,e):(this.triggerHandler.apply(this,e),this)},e.fn.toggle=function(t,n){if(!e.isFunction(t)||!e.isFunction(n))return N.apply(this,arguments);r("jQuery.fn.toggle(handler, handler...) is deprecated");var a=arguments,i=t.guid||e.guid++,o=0,s=function(n){var r=(e._data(this,"lastToggle"+t.guid)||0)%o;return e._data(this,"lastToggle"+t.guid,r+1),n.preventDefault(),a[r].apply(this,arguments)||!1};for(s.guid=i;a.length>o;)a[o++].guid=i;return this.click(s)},e.fn.live=function(t,n,a){return r("jQuery.fn.live() is deprecated"),T?T.apply(this,arguments):(e(this.context).on(t,this.selector,n,a),this)},e.fn.die=function(t,n){return r("jQuery.fn.die() is deprecated"),M?M.apply(this,arguments):(e(this.context).off(t,this.selector||"**",n),this)},e.event.trigger=function(e,t,n,a){return n||C.test(e)||r("Global events are undocumented and deprecated"),k.call(this,e,t,n||document,a)},e.each(S.split("|"),function(t,n){e.event.special[n]={setup:function(){var t=this;return t!==document&&(e.event.add(document,n+"."+e.guid,function(){e.event.trigger(n,null,t,!0)}),e._data(this,n,e.guid++)),!1},teardown:function(){return this!==document&&e.event.remove(document,n+"."+e._data(this,n)),!1}}})}(jQuery,window);'},function(t,e,n){n(0)(n(9))},function(t,e){t.exports='/*!\r\n* jQuery Cycle2; version: 2.1.6 build: 20141007\r\n* http://jquery.malsup.com/cycle2/\r\n* Copyright (c) 2014 M. Alsup; Dual licensed: MIT/GPL\r\n*/\r\n!function(a){"use strict";function b(a){return(a||"").toLowerCase()}var c="2.1.6";a.fn.cycle=function(c){var d;return 0!==this.length||a.isReady?this.each(function(){var d,e,f,g,h=a(this),i=a.fn.cycle.log;if(!h.data("cycle.opts")){(h.data("cycle-log")===!1||c&&c.log===!1||e&&e.log===!1)&&(i=a.noop),i("--c2 init--"),d=h.data();for(var j in d)d.hasOwnProperty(j)&&/^cycle[A-Z]+/.test(j)&&(g=d[j],f=j.match(/^cycle(.*)/)[1].replace(/^[A-Z]/,b),i(f+":",g,"("+typeof g+")"),d[f]=g);e=a.extend({},a.fn.cycle.defaults,d,c||{}),e.timeoutId=0,e.paused=e.paused||!1,e.container=h,e._maxZ=e.maxZ,e.API=a.extend({_container:h},a.fn.cycle.API),e.API.log=i,e.API.trigger=function(a,b){return e.container.trigger(a,b),e.API},h.data("cycle.opts",e),h.data("cycle.API",e.API),e.API.trigger("cycle-bootstrap",[e,e.API]),e.API.addInitialSlides(),e.API.preInitSlideshow(),e.slides.length&&e.API.initSlideshow()}}):(d={s:this.selector,c:this.context},a.fn.cycle.log("requeuing slideshow (dom not ready)"),a(function(){a(d.s,d.c).cycle(c)}),this)},a.fn.cycle.API={opts:function(){return this._container.data("cycle.opts")},addInitialSlides:function(){var b=this.opts(),c=b.slides;b.slideCount=0,b.slides=a(),c=c.jquery?c:b.container.find(c),b.random&&c.sort(function(){return Math.random()-.5}),b.API.add(c)},preInitSlideshow:function(){var b=this.opts();b.API.trigger("cycle-pre-initialize",[b]);var c=a.fn.cycle.transitions[b.fx];c&&a.isFunction(c.preInit)&&c.preInit(b),b._preInitialized=!0},postInitSlideshow:function(){var b=this.opts();b.API.trigger("cycle-post-initialize",[b]);var c=a.fn.cycle.transitions[b.fx];c&&a.isFunction(c.postInit)&&c.postInit(b)},initSlideshow:function(){var b,c=this.opts(),d=c.container;c.API.calcFirstSlide(),"static"==c.container.css("position")&&c.container.css("position","relative"),a(c.slides[c.currSlide]).css({opacity:1,display:"block",visibility:"visible"}),c.API.stackSlides(c.slides[c.currSlide],c.slides[c.nextSlide],!c.reverse),c.pauseOnHover&&(c.pauseOnHover!==!0&&(d=a(c.pauseOnHover)),d.hover(function(){c.API.pause(!0)},function(){c.API.resume(!0)}
vendor: 17,577 bytes, line 1
1)),c.timeout&&(b=c.API.getSlideOpts(c.currSlide),c.API.queueTransition(b,b.timeout+c.delay)),c._initialized=!0,c.API.updateView(!0),c.API.trigger("cycle-initialized",[c]),c.API.postInitSlideshow()},pause:function(b){var c=this.opts(),d=c.API.getSlideOpts(),e=c.hoverPaused||c.paused;b?c.hoverPaused=!0:c.paused=!0,e||(c.container.addClass("cycle-paused"),c.API.trigger("cycle-paused",[c]).log("cycle-paused"),d.timeout&&(clearTimeout(c.timeoutId),c.timeoutId=0,c._remainingTimeout-=a.now()-c._lastQueue,(c._remainingTimeout<0||isNaN(c._remainingTimeout))&&(c._remainingTimeout=void 0)))},resume:function(a){var b=this.opts(),c=!b.hoverPaused&&!b.paused;a?b.hoverPaused=!1:b.paused=!1,c||(b.container.removeClass("cycle-paused"),0===b.slides.filter(":animated").length&&b.API.queueTransition(b.API.getSlideOpts(),b._remainingTimeout),b.API.trigger("cycle-resumed",[b,b._remainingTimeout]).log("cycle-resumed"))},add:function(b,c){var d,e=this.opts(),f=e.slideCount,g=!1;"string"==a.type(b)&&(b=a.trim(b)),a(b).each(function(){var b,d=a(this);c?e.container.prepend(d):e.container.append(d),e.slideCount++,b=e.API.buildSlideOpts(d),e.slides=c?a(d).add(e.slides):e.slides.add(d),e.API.initSlide(b,d,--e._maxZ),d.data("cycle.opts",b),e.API.trigger("cycle-slide-added",[e,b,d])}),e.API.updateView(!0),g=e._preInitialized&&2>f&&e.slideCount>=1,g&&(e._initialized?e.timeout&&(d=e.slides.length,e.nextSlide=e.reverse?d-1:1,e.timeoutId||e.API.queueTransition(e)):e.API.initSlideshow())},calcFirstSlide:function(){var a,b=this.opts();a=parseInt(b.startingSlide||0,10),(a>=b.slides.length||0>a)&&(a=0),b.currSlide=a,b.reverse?(b.nextSlide=a-1,b.nextSlide<0&&(b.nextSlide=b.slides.length-1)):(b.nextSlide=a+1,b.nextSlide==b.slides.length&&(b.nextSlide=0))},calcNextSlide:function(){var a,b=this.opts();b.reverse?(a=b.nextSlide-1<0,b.nextSlide=a?b.slideCount-1:b.nextSlide-1,b.currSlide=a?0:b.nextSlide+1):(a=b.nextSlide+1==b.slides.length,b.nextSlide=a?0:b.nextSlide+1,b.currSlide=a?b.slides.length-1:b.nextSlide-1)},calcTx:function(b,c){var d,e=b;return e._tempFx?d=a.fn.cycle.transitions[e._tempFx]:c&&e.manualFx&&(d=a.fn.cycle.transitions[e.manualFx]),d||(d=a.fn.cycle.transitions[e.fx]),e._tempFx=null,this.opts()._tempFx=null,d||(d=a.fn.cycle.transitions.fade,e.API.log(\'Transition "\'+e.fx+\'" not found.  Using fade.\')),d},prepareTx:function(a,b){var c,d,e,f,g,h=this.opts();return h.slideCount<2?void(h.timeoutId=0):(!a||h.busy&&!h.manualTrump||(h.API.stopTransition(),h.busy=!1,clearTimeout(h.timeoutId),h.timeoutId=0),void(h.busy||(0!==h.timeoutId||a)&&(d=h.slides[h.currSlide],e=h.slides[h.nextSlide],f=h.API.getSlideOpts(h.nextSlide),g=h.API.calcTx(f,a),h._tx=g,a&&void 0!==f.manualSpeed&&(f.speed=f.manualSpeed),h.nextSlide!=h.currSlide&&(a||!h.paused&&!h.hoverPaused&&h.timeout)?(h.API.trigger("cycle-before",[f,d,e,b]),g.before&&g.before(f,d,e,b),c=function(){h.busy=!1,h.container.data("cycle.opts")&&(g.after&&g.after(f,d,e,b),h.API.trigger("cycle-after",[f,d,e,b]),h.API.queueTransition(f),h.API.updateView(!0))},h.busy=!0,g.transition?g.transition(f,d,e,b,c):h.API.doTransition(f,d,e,b,c),h.API.calcNextSlide(),h.API.updateView()):h.API.queueTransition(f))))},doTransition:function(b,c,d,e,f){var g=b,h=a(c),i=a(d),j=function(){i.animate(g.animIn||{opacity:1},g.speed,g.easeIn||g.easing,f)};i.css(g.cssBefore||{}),h.animate(g.animOut||{},g.speed,g.easeOut||g.easing,function(){h.css(g.cssAfter||{}),g.sync||j()}),g.sync&&j()},queueTransition:function(b,c){var d=this.opts(),e=void 0!==c?c:b.timeout;return 0===d.nextSlide&&0===--d.loop?(d.API.log("terminating; loop=0"),d.timeout=0,e?setTimeout(function(){d.API.trigger("cycle-finished",[d])},e):d.API.trigger("cycle-finished",[d]),void(d.nextSlide=d.currSlide)):void 0!==d.continueAuto&&(d.continueAuto===!1||a.isFunction(d.continueAuto)&&d.continueAuto()===!1)?(d.API.log("terminating automatic transitions"),d.timeout=0,void(d.timeoutId&&clearTimeout(d.timeoutId))):void(e&&(d._lastQueue=a.now(),void 0===c&&(d._remainingTimeout=b.timeout),d.paused||d.hoverPaused||(d.timeoutId=setTimeout(function(){d.API.prepareTx(!1,!d.reverse)},e))))},stopTransition:function(){var a=this.opts();a.slides.filter(":animated").length&&(a.slides.stop(!1,!0),a.API.trigger("cycle-transition-stopped",[a])),a._tx&&a._tx.stopTransition&&a._tx.stopTransition(a)},advanceSlide:function(a){var b=this.opts();return clearTimeout(b.timeoutId),b.timeoutId=0,b.nextSlide=b.currSlide+a,b.nextSlide<0?b.nextSlide=b.slides.length-1:b.nextSlide>=b.slides.length&&(b.nextSlide=0),b.API.prepareTx(!0,a>=0),!1},buildSlideOpts:function(c){var d,e,f=this.opts(),g=c.data()||{};for(var h in g)g.hasOwnProperty(h)&&/^cycle[A-Z]+/.test(h)&&(d=g[h],e=h.match(/^cycle(.*)/)[1].replace(/^[A-Z]/,b),f.API.log("["+(f.slideCount-1)+"]",e+":",d,"("+typeof d+")"),g[e]=d);g=a.extend({},a.fn.cycle.defaults,f,g),g.slideNum=f.slideCount;try{delete g.API,delete g.slideCount,delete g.currSlide,delete g.nextSlide,delete g.slides}catch(i){}return g},getSlideOpts:function(b){var c=this.opts();void 0===b&&(b=c.currSlide);var d=c.slides[b],e=a(d).data("cycle.opts");return a.extend({},c,e)},initSlide:function(b,c,d){var e=this.opts();c.css(b.slideCss||{}),d>0&&c.css("zIndex",d),isNaN(b.speed)&&(b.speed=a.fx.speeds[b.speed]||a.fx.speeds._default),b.sync||(b.speed=b.speed/2),c.addClass(e.slideClass)},updateView:function(a,b){var c=this.opts();if(c._initialized){var d=c.API.getSlideOpts(),e=c.slides[c.currSlide];!a&&b!==!0&&(c.API.trigger("cycle-update-view-before",[c,d,e]),c.updateView<0)||(c.slideActiveClass&&c.slides.removeClass(c.slideActiveClass).eq(c.currSlide).addClass(c.slideActiveClass),a&&c.hideNonActive&&c.slides.filter(":not(."+c.slideActiveClass+")").css("visibility","hidden"),0===c.updateView&&setTimeout(function(){c.API.trigger("cycle-update-view",[c,d,e,a])},d.speed/(c.sync?2:1)),0!==c.updateView&&c.API.trigger("cycle-update-view",[c,d,e,a]),a&&c.API.trigger("cycle-update-view-after",[c,d,e]))}},getComponent:function(b){var c=this.opts(),d=c[b];return"string"==typeof d?/^\\s*[\\>|\\+|~]/.test(d)?c.container.find(d):a(d):d.jquery?d:a(d)},stackSlides:function(b,c,d){var e=this.opts();b||(b=e.slides[e.currSlide],c=e.slides[e.nextSlide],d=!e.reverse),a(b).css("zIndex",e.maxZ);var f,g=e.maxZ-2,h=e.slideCount;if(d){for(f=e.currSlide+1;h>f;f++)a(e.slides[f]).css("zIndex",g--);for(f=0;f<e.currSlide;f++)a(e.slides[f]).css("zIndex",g--)}else{for(f=e.currSlide-1;f>=0;f--)a(e.slides[f]).css("zIndex",g--);for(f=h-1;f>e.currSlide;f--)a(e.slides[f]).css("zIndex",g--)}a(c).css("zIndex",e.maxZ-1)},getSlideIndex:function(a){return this.opts().slides.index(a)}},a.fn.cycle.log=function(){/*window.console&&console.log&&console.log("[cycle2] "+Array.prototype.join.call(arguments," "))*/},a.fn.cycle.version=function(){return"Cycle2: "+c},a.fn.cycle.transitions={custom:{},none:{before:function(a,b,c,d){a.API.stackSlides(c,b,d),a.cssBefore={opacity:1,visibility:"visible",display:"block"}}},fade:{before:function(b,c,d,e){var f=b.API.getSlideOpts(b.nextSlide).slideCss||{};b.API.stackSlides(c,d,e),b.cssBefore=a.extend(f,{opacity:0,visibility:"visible",display:"block"}),b.animIn={opacity:1},b.animOut={opacity:0}}},fadeout:{before:function(b,c,d,e){var f=b.API.getSlideOpts(b.nextSlide).slideCss||{};b.API.stackSlides(c,d,e),b.cssBefore=a.extend(f,{opacity:1,visibility:"visible",display:"block"}),b.animOut={opacity:0}}},scrollHorz:{before:function(a,b,c,d){a.API.stackSlides(b,c,d);var e=a.container.css("overflow","hidden").width();a.cssBefore={left:d?e:-e,top:0,opacity:1,visibility:"visible",display:"block"},a.cssAfter={zIndex:a._maxZ-2,left:0},a.animIn={left:0},a.animOut={left:d?-e:e}}}},a.fn.cycle.defaults={allowWrap:!0,autoSelector:".cycle-slideshow[data-cycle-auto-init!=false]",delay:0,easing:null,fx:"fade",hideNonActive:!0,loop:0,manualFx:void 0,manualSpeed:void 0,manualTrump:!0,maxZ:100,pauseOnHover:!1,reverse:!1,slideActiveClass:"cycle-slide-active",slideClass:"cycle-slide",slideCss:{position:"absolute",top:0,left:0},slides:"> img",speed:500,startingSlide:0,sync:!0,timeout:4e3,updateView:0},a(document).ready(function(){a(a.fn.cycle.defaults.autoSelector).cycle()})}(jQuery),/*! Cycle2 autoheight plugin; Copyright (c) M.Alsup, 2012; version: 20130913 */\r\nfunction(a){"use strict";function b(b,d){var e,f,g,h=d.autoHeight;if("container"==h)f=a(d.slides[d.currSlide]).outerHeight(),d.container.height(f);else if(d._autoHeightRatio)d.container.height(d.container.width()/d._autoHeightRatio);else if("calc"===h||"number"==a.type(h)&&h>=0){if(g="calc"===h?c(b,d):h>=d.slides.length?0:h,g==d._sentinelIndex)return;d._sentinelIndex=g,d._sentinel&&d._sentinel.remove(),e=a(d.slides[g].cloneNode(!0)),e.removeAttr("id name rel").find("[id],[name],[rel]").removeAttr("id name rel"),e.css({position:"static",visibility:"hidden",display:"block"}).prependTo(d.container).addClass("cycle-sentinel cycle-slide").removeClass("cycle-slide-active"),e.find("*").css("visibility","hidden"),d._sentinel=e}}function c(b,c){var d=0,e=-1;return c.slides.each(function(b){var c=a(this).height();c>e&&(e=c,d=b)}),d}function d(b,c,d,e){var f=a(e).outerHeight();c.container.animate({height:f},c.autoHeightSpeed,c.autoHeightEasing)}function e(c,f){f._autoHeightOnResize&&(a(window).off("resize orientationchange",f._autoHeightOnResize),f._autoHeightOnResize=null),f.container.off("cycle-slide-added cycle-slide-removed",b),f.container.off("cycle-destroyed",e),f.container.off("cycle-before",d),f._sentinel&&(f._sentinel.remove(),f._sentinel=null)}a.extend(a.fn.cycle.defaults,{autoHeight:0,autoHeightSpeed:250,autoHeightEasing:null}),a(document).on("cycle-initialized",function(c,f){function g(){b(c,f)}var h,i=f.autoHeight,j=a.type(i),k=null;("string"===j||"number"===j)&&(f.container.on("cycle-slide-added cycle-slide-removed",b),f.container.on("cycle-destroyed",e),"container"==i?f.container.on("cycle-before",d):"string"===j&&/\\d+\\:\\d+/.test(i)&&(h=i.match(/(\\d+)\\:(\\d+)/),h=h[1]/h[2],f._autoHeightRatio=h),"number"!==j&&(f._autoHeightOnResize=function(){clearTimeout(k),k=setTimeout(g,50)},a(window).on("resize orientationchange",f._autoHeightOnResize)),setTimeout(g,30))})}(jQuery),/*! caption plugin for Cycle2;  version: 20130306 */\r\nfunction(a){"use strict";a.extend(a.fn.cycle.defaults,{caption:"> .cycle-caption",captionTemplate:"{{slideNum}} / {{slideCount}}",overlay:"> .cycle-overlay",overlayTemplate:"<div>{{title}}</div><div>{{desc}}</div>",captionModule:"caption"}),a(document).on("cycle-update-view",function(b,c,d,e){if("caption"===c.captionModule){a.each(["caption","overlay"],function(){var a=this,b=d[a+"Template"],f=c.API.getComponent(a);f.length&&b?(f.html(c.API.tmpl(b,d,c,e)),f.show()):f.hide()})}}),a(document).on("cycle-destroyed",function(b,c){var d;a.each(["caption","overlay"],function(){var a=this,b=c[a+"Template"];c[a]&&b&&(d=c.API.getComponent("caption"),d.empty())})})}(jQuery),/*! command plugin for Cycle2;  version: 20140415 */\r\nfunction(a){"use strict";var b=a.fn.cycle;a.fn.cycle=function(c){var d,e,f,g=a.makeArray(arguments);return"number"==a.type(c)?this.cycle("goto",c):"string"==a.type(c)?this.each(function(){var h;return d=c,f=a(this).data("cycle.opts"),void 0===f?void b.log(\'slideshow must be initialized before sending commands; "\'+d+\'" ignored\'):(d="goto"==d?"jump":d,e=f.API[d],a.isFunction(e)?(h=a.makeArray(g),h.shift(),e.apply(f.API,h)):void b.log("unknown command: ",d))}):b.apply(this,arguments)},a.extend(a.fn.cycle,b),a.extend(b.API,{next:function(){var a=this.opts();if(!a.busy||a.manualTrump){var b=a.reverse?-1:1;a.allowWrap===!1&&a.currSlide+b>=a.slideCount||(a.API.advanceSlide(b),a.API.trigger("cycle-next",[a]).log("cycle-next"))}},prev:function(){var a=this.opts();if(!a.busy||a.manualTrump){var b=a.reverse?1:-1;a.allowWrap===!1&&a.currSlide+b<0||(a.API.advanceSlide(b),a.API.trigger("cycle-prev",[a]).log("cycle-prev"))}},destroy:function(){this.stop();var b=this.opts(),c=a.isFunction(a._data)?a._data:a.noop;clearTimeout(b.timeoutId),b.timeoutId=0,b.API.stop(),b.API.trigger("cycle-destroyed",[b]).log("cycle-destroyed"),b.container.removeData(),c(b.container[0],"parsedAttrs",!1),b.retainStylesOnDestroy||(b.container.removeAttr("style"),b.slides.removeAttr("style"),b.slides.removeClass(b.slideActiveClass)),b.slides.each(function(){var d=a(this);d.removeData(),d.removeClass(b.slideClass),c(this,"parsedAttrs",!1)})},jump:function(a,b){var c,d=this.opts();if(!d.busy||d.manualTrump){var e=parseInt(a,10);if(isNaN(e)||0>e||e>=d.slides.length)return void d.API.log("goto: invalid slide index: "+e);if(e==d.currSlide)return void d.API.log("goto: skipping, already on slide",e);d.nextSlide=e,clearTimeout(d.timeoutId),d.timeoutId=0,d.API.log("goto: ",e," (zero-index)"),c=d.currSlide<d.nextSlide,d._tempFx=b,d.API.prepareTx(!0,c)}},stop:function(){var b=this.opts(),c=b.container;clearTimeout(b.timeoutId),b.timeoutId=0,b.API.stopTransition(),b.pauseOnHover&&(b.pauseOnHover!==!0&&(c=a(b.pauseOnHover)),c.off("mouseenter mouseleave")),b.API.trigger("cycle-stopped",[b]).log("cycle-stopped")},reinit:function(){var a=this.opts();a.API.destroy(),a.container.cycle()},remove:function(b){for(var c,d,e=this.opts(),f=[],g=1,h=0;h<e.slides.length;h++)c=e.slides[h],h==b?d=c:(f.push(c),a(c).data("cycle.opts").slideNum=g,g++);d&&(e.slides=a(f),e.slideCount--,a(d).remove(),b==e.currSlide?e.API.advanceSlide(1):b<e.currSlide?e.currSlide--:e.currSlide++,e.API.trigger("cycle-slide-removed",[e,b,d]).log("cycle-slide-removed"),e.API.updateView())}}),a(document).on("click.cycle","[data-cycle-cmd]",function(b){b.preventDefault();var c=a(this),d=c.data("cycle-cmd"),e=c.data("cycle-context")||".cycle-slideshow";a(e).cycle(d,c.data("cycle-arg"))})}(jQuery),/*! hash plugin for Cycle2;  version: 20130905 */\r\nfunction(a){"use strict";function b(b,c){var d;return b._hashFence?void(b._hashFence=!1):(d=window.location.hash.substring(1),void b.slides.each(function(e){if(a(this).data("cycle-hash")==d){if(c===!0)b.startingSlide=e;else{var f=b.currSlide<e;b.nextSlide=e,b.API.prepareTx(!0,f)}return!1}}))}a(document).on("cycle-pre-initialize",function(c,d){b(d,!0),d._onHashChange=function(){b(d,!1)},a(window).on("hashchange",d._onHashChange)}),a(document).on("cycle-update-view",function(a,b,c){c.hash&&"#"+c.hash!=window.location.hash&&(b._hashFence=!0,window.location.hash=c.hash)}),a(document).on("cycle-destroyed",function(b,c){c._onHashChange&&a(window).off("hashchange",c._onHashChange)})}(jQuery),/*! loader plugin for Cycle2;  version: 20131121 */\r\nfunction(a){"use strict";a.extend(a.fn.cycle.defaults,{loader:!1}),a(document).on("cycle-bootstrap",function(b,c){function d(b,d){function f(b){var f;"wait"==c.loader?(h.push(b),0===j&&(h.sort(g),e.apply(c.API,[h,d]),c.container.removeClass("cycle-loading"))):(f=a(c.slides[c.currSlide]),e.apply(c.API,[b,d]),f.show(),c.container.removeClass("cycle-loading"))}function g(a,b){return a.data("index")-b.data("index")}var h=[];if("string"==a.type(b))b=a.trim(b);else if("array"===a.type(b))for(var i=0;i<b.length;i++)b[i]=a(b[i])[0];b=a(b);var j=b.length;j&&(b.css("visibility","hidden").appendTo("body").each(function(b){function g(){0===--i&&(--j,f(k))}var i=0,k=a(this),l=k.is("img")?k:k.find("img");return k.data("index",b),l=l.filter(":not(.cycle-loader-ignore)").filter(\':not([src=""])\'),l.length?(i=l.length,void l.each(function(){this.complete?g():a(this).load(function(){g()}).on("error",function(){0===--i&&(c.API.log("slide skipped; img not loaded:",this.src),0===--j&&"wait"==c.loader&&e.apply(c.API,[h,d]))})})):(--j,void h.push(k))}),j&&c.container.addClass("cycle-loading"))}var e;c.loader&&(e=c.API.add,c.API.add=d)})}(jQuery),/*! pager plugin for Cycle2;  version: 20140415 */\r\nfunction(a){"use strict";function b(b,c,d){var e,f=b.API.getComponent("pager");f.each(function(){var f=a(this);if(c.pagerTemplate){var g=b.API.tmpl(c.pagerTemplate,c,b,d[0]);e=a(g).appendTo(f)}else e=f.children().eq(b.slideCount-1);e.on(b.pagerEvent,function(a){b.pagerEventBubble||a.preventDefault(),b.API.page(f,a.currentTarget)})})}function c(a,b){var c=this.opts();if(!c.busy||c.manualTrump){var d=a.children().index(b),e=d,f=c.currSlide<e;c.currSlide!=e&&(c.nextSlide=e,c._tempFx=c.pagerFx,c.API.prepareTx(!0,f),c.API.trigger("cycle-pager-activated",[c,a,b]))}}a.extend(a.fn.cycle.defaults,{pager:"> .cycle-pager",pagerActiveClass:"cycle-pager-active",pagerEvent:"click.cycle",pagerEventBubble:void 0,pagerTemplate:"<span>&bull;</span>"}),a(document).on("cycle-bootstrap",function(a,c,d){d.buildPagerLink=b}),a(document).on("cycle-slide-added",function(a,b,d,e){b.pager&&(b.API.buildPagerLink(b,d,e),b.API.page=c)}),a(document).on("cycle-slide-removed",function(b,c,d){if(c.pager){var e=c.API.getComponent("pager");e.each(function(){var b=a(this);a(b.children()[d]).remove()})}}),a(document).on("cycle-update-view",function(b,c){var d;c.pager&&(d=c.API.getComponent("pager"),d.each(function(){a(this).children().removeClass(c.pagerActiveClass).eq(c.currSlide).addClass(c.pagerActiveClass)}))}),a(document).on("cycle-destroyed",function(a,b){var c=b.API.getComponent("pager");c&&(c.children().off(b.pagerEvent),b.pagerTemplate&&c.empty())})}(jQuery),/*! prevnext plugin for Cycle2;  version: 20140408 */\r\nfunction(a){"use strict";a.extend(a.fn.cycle.defaults,{next:"> .cycle-next",nextEvent:"click.cycle",disabledClass:"disabled",prev:"> .cycle-prev",prevEvent:"click.cycle",swipe:!1}),a(document).on("cycle-initialized",function(a,b){if(b.API.getComponent("next").on(b.nextEvent,function(a){a.preventDefault(),b.API.next()}),b.API.getComponent("prev").on(b.prevEvent,function(a){a.preventDefault(),b.API.prev()}
1),b.swipe){var c=b.swipeVert?"swipeUp.cycle":"swipeLeft.cycle swipeleft.cycle",d=b.swipeVert?"swipeDown.cycle":"swipeRight.cycle swiperight.cycle";b.container.on(c,function(){b._tempFx=b.swipeFx,b.API.next()}),b.container.on(d,function(){b._tempFx=b.swipeFx,b.API.prev()})}}),a(document).on("cycle-update-view",function(a,b){if(!b.allowWrap){var c=b.disabledClass,d=b.API.getComponent("next"),e=b.API.getComponent("prev"),f=b._prevBoundry||0,g=void 0!==b._nextBoundry?b._nextBoundry:b.slideCount-1;b.currSlide==g?d.addClass(c).prop("disabled",!0):d.removeClass(c).prop("disabled",!1),b.currSlide===f?e.addClass(c).prop("disabled",!0):e.removeClass(c).prop("disabled",!1)}}),a(document).on("cycle-destroyed",function(a,b){b.API.getComponent("prev").off(b.nextEvent),b.API.getComponent("next").off(b.prevEvent),b.container.off("swipeleft.cycle swiperight.cycle swipeLeft.cycle swipeRight.cycle swipeUp.cycle swipeDown.cycle")})}(jQuery),/*! progressive loader plugin for Cycle2;  version: 20130315 */\r\nfunction(a){"use strict";a.extend(a.fn.cycle.defaults,{progressive:!1}),a(document).on("cycle-pre-initialize",function(b,c){if(c.progressive){var d,e,f=c.API,g=f.next,h=f.prev,i=f.prepareTx,j=a.type(c.progressive);if("array"==j)d=c.progressive;else if(a.isFunction(c.progressive))d=c.progressive(c);else if("string"==j){if(e=a(c.progressive),d=a.trim(e.html()),!d)return;if(/^(\\[)/.test(d))try{d=a.parseJSON(d)}catch(k){return void f.log("error parsing progressive slides",k)}else d=d.split(new RegExp(e.data("cycle-split")||"\\n")),d[d.length-1]||d.pop()}i&&(f.prepareTx=function(a,b){var e,f;return a||0===d.length?void i.apply(c.API,[a,b]):void(b&&c.currSlide==c.slideCount-1?(f=d[0],d=d.slice(1),c.container.one("cycle-slide-added",function(a,b){setTimeout(function(){b.API.advanceSlide(1)},50)}),c.API.add(f)):b||0!==c.currSlide?i.apply(c.API,[a,b]):(e=d.length-1,f=d[e],d=d.slice(0,e),c.container.one("cycle-slide-added",function(a,b){setTimeout(function(){b.currSlide=1,b.API.advanceSlide(-1)},50)}),c.API.add(f,!0)))}),g&&(f.next=function(){var a=this.opts();if(d.length&&a.currSlide==a.slideCount-1){var b=d[0];d=d.slice(1),a.container.one("cycle-slide-added",function(a,b){g.apply(b.API),b.container.removeClass("cycle-loading")}),a.container.addClass("cycle-loading"),a.API.add(b)}else g.apply(a.API)}),h&&(f.prev=function(){var a=this.opts();if(d.length&&0===a.currSlide){var b=d.length-1,c=d[b];d=d.slice(0,b),a.container.one("cycle-slide-added",function(a,b){b.currSlide=1,b.API.advanceSlide(-1),b.container.removeClass("cycle-loading")}),a.container.addClass("cycle-loading"),a.API.add(c,!0)}else h.apply(a.API)})}})}(jQuery),/*! tmpl plugin for Cycle2;  version: 20121227 */\r\nfunction(a){"use strict";a.extend(a.fn.cycle.defaults,{tmplRegex:"{{((.)?.*?)}}"}),a.extend(a.fn.cycle.API,{tmpl:function(b,c){var d=new RegExp(c.tmplRegex||a.fn.cycle.defaults.tmplRegex,"g"),e=a.makeArray(arguments);return e.shift(),b.replace(d,function(b,c){var d,f,g,h,i=c.split(".");for(d=0;d<e.length;d++)if(g=e[d]){if(i.length>1)for(h=g,f=0;f<i.length;f++)g=h,h=h[i[f]]||c;else h=g[c];if(a.isFunction(h))return h.apply(g,e);if(void 0!==h&&null!==h&&h!=c)return h}return c})}})}(jQuery);\r\n'},function(t,e,n){n(0)(n(11))},function(t,e){t.exports="\r\n// this script can be used standalone, or in combination with other scripts\r\nif (typeof(IMUtility) == 'undefined') {\r\n\tIMUtility = {};\r\n\tIMUtility.init = function() { IMUtility.debug=0; if (typeof(wisDOM) != 'undefined') { jQuery(document).trigger('gadget.script.ready');IMUtility.pushGadgetScriptLoadedEvent(); } else { setTimeout('IMUtility.init();', 100); } };\r\n\tjQuery(document).ready(function() { IMUtility.init(); });\r\n}\r\n// #12806 - wait for 100ms then publish a secondary gadget.loaded event\r\nIMUtility.pushGadgetScriptLoadedEvent = function() {\r\n\tsetTimeout(function() {\r\n\t\tjQuery(document).trigger('gadget.script.loaded');\r\n\t}, 100);\r\n};\r\n\r\n// wait for the search gadget to have loaded, then publish an event\r\nIMUtility.pushSearchGadgetLoadedEvent = function() {\r\n\tif (jQuery('.search-gadget .date .input').length > 0) {\r\n\t\t$w.event.publish('search.gadget.ready');\r\n\t} else {\r\n\t\tsetTimeout('IMUtility.pushSearchGadgetLoadedEvent();', 100);\r\n\t}\r\n};\r\n\r\n// wait for the region gadget to have loaded, then publish an event\r\nIMUtility.pushRegionGadgetLoadedEvent = function() {\r\n\tif (jQuery('.prices-grid td.date').length > 0) {\r\n\t\t$w.event.publish('region.gadget.ready');\r\n\t} else {\r\n\t\tsetTimeout('IMUtility.pushRegionGadgetLoadedEvent();', 100);\r\n\t}\r\n};\r\n\r\n\r\n// sometimes the changes we do to the DOM are lost, e.g. after user changes the number of nights or number of adults... we need to re-publish the events when this happens\r\nIMUtility.pushRegionGadgetChangedEvent = function() {\r\n    if (jQuery('.tabs-group').length > 0 || jQuery('#regionGadget .gadget__all-tabs').length > 0) {\r\n        $w.event.publish('region.refinetools.built');\r\n    }\r\n    // both accom and tours on the same page load\r\n    if (jQuery('#region-gadget-results.productTabs').length > 0) {\r\n        var currentType = '';\r\n        if ( jQuery('.embedded-search').hasClass('tours')) {currentType='tours';}\r\n        else if (jQuery('.embedded-search').hasClass('accom')) {currentType='accom';}\r\n        else if (jQuery('#region-gadget-results.productTabs.tours').length > 0) {currentType='tours';}\r\n        else if (jQuery('#region-gadget-results.productTabs.accom').length > 0) {currentType='accom';}\r\n\r\n        if (currentType == 'tours') {\r\n            if ((jQuery('.prices-grid .tours.type-group td.date').length > 0) && jQuery('.prices-grid .tours.type-group td.date.hidden-xs').length == 0) {\r\n                $w.event.publish('region.gadget.built');\r\n            }\r\n        } else if (currentType == 'accom'){\r\n            if (((jQuery('.prices-grid .accom.type-group td.date').length > 0) && jQuery('.prices-grid .accom.type-group td.date.hidden-xs').length == 0)) {\r\n                $w.event.publish('region.gadget.built');\r\n            }\r\n        }\r\n\r\n    }\r\n    else if ((jQuery('.prices-grid td.date').length > 0) && (jQuery('.prices-grid td.date.hidden-xs').length == 0)) {\r\n        $w.event.publish('region.gadget.built');\r\n    }\r\n    setTimeout('IMUtility.pushRegionGadgetChangedEvent();', 100);\r\n};\r\n/*\r\n// sometimes the changes we do to the DOM are lost, e.g. after user changes the number of nights or number of adults... we need to re-publish the events when this happens\r\nIMUtility.pushRegionGadgetChangedEvent = function() {\r\n\tif (jQuery('.tabs-group').length > 0 || jQuery('.gadget__all-tabs').length > 0) {\r\n\t\t$w.event.publish('region.refinetools.built');\r\n\t}\r\n\r\n\t// both accom and tours on the same page load\r\n    if (jQuery('#region-gadget-results.productTabs').length > 0) {\r\n        var currentType = '';\r\n        if ( jQuery('.embedded-search').hasClass('tours')) {currentType='tours';}\r\n        else if (jQuery('.embedded-search').hasClass('accom')) {currentType='accom';}\r\n        else if (jQuery('#region-gadget-results.productTabs.tours').length > 0) {currentType='tours';}\r\n        else if (jQuery('#region-gadget-results.productTabs.accom').length > 0) {currentType='accom';}\r\n\r\n        if (currentType == 'tours') {\r\n            if ((jQuery('.prices-grid .tours.type-group td.date').length > 0) && jQuery('.prices-grid .tours.type-group td.date.hidden-xs').length == 0) {\r\n                $w.event.publish('region.gadget.built');\r\n            }\r\n        } else if (currentType == 'accom'){\r\n            if (((jQuery('.prices-grid .accom.type-group td.date').length > 0) && jQuery('.prices-grid .accom.type-group td.date.hidden-xs').length == 0)) {\r\n                $w.event.publish('region.gadget.built');\r\n            }\r\n        }\r\n\r\n    }\r\n\telse if ((jQuery('.prices-grid td.date').length > 0) && (jQuery('.prices-grid td.date.hidden-xs').length == 0)) {\r\n\t\t$w.event.publish('region.gadget.built');\r\n\t}\r\n\tsetTimeout('IMUtility.pushRegionGadgetChangedEvent();', 100);\r\n};\r\n*/\r\n// wait for the booking gadget to have loaded, then publish an event\r\nIMUtility.pushBookGadgetLoadedEvent = function() {\r\n\tif (jQuery('.booking-gadget .cartItems').length > 0) {\r\n\t\t$w.event.publish('book.gadget.ready');\r\n\t} else {\r\n\t\tsetTimeout('IMUtility.pushBookGadgetLoadedEvent();', 100);\r\n\t}\r\n};\r\n\r\n// sometimes the changes we do to the DOM are lost, e.g. after user adds or removes cart items in the booking gadget... we need to re-publish the events when this happens\r\nIMUtility.pushBookGadgetChangedEvent = function() {\r\n\tif ((jQuery('.booking-gadget .personalDetails').length > 0) && !jQuery('.personalDetails').hasClass('imUtilityStyled')) {\r\n\t\tjQuery('.personalDetails').addClass('imUtilityStyled');\r\n\t\t$w.event.publish('book.gadget.ready');\r\n\t}\r\n\tsetTimeout('IMUtility.pushBookGadgetChangedEvent();', 100);\r\n};\r\n\r\n// utility function\r\nIMUtility.redirect = function(url_file) {\r\n\tdocument.location.href = url_file;\r\n};\r\n\r\n\r\n(function ($) {\r\n\r\n\t/**\r\n\t * @function\r\n\t * @property {object} jQuery plugin which runs handler function once specified element is inserted into the DOM\r\n\t * @param {function} handler A function to execute at the time when the element is inserted\r\n\t * @param {bool} shouldRunHandlerOnce Optional: if true, handler is unbound after its first invocation\r\n\t * @example $(selector).waitUntilExists(function);\r\n\t */\r\n\r\n\t$.fn.IMElementExists\t= function (handler, shouldRunHandlerOnce, isChild) {\r\n\t\tvar found\t= 'found';\r\n\t\tvar $this\t= $(this.selector);\r\n\t\tvar $elements\t= $this.not(function () { return $(this).data(found); }).each(handler).data(found, true);\r\n\r\n\t\tif (!isChild)\r\n\t\t{\r\n\t\t\t(window.waitUntilExists_Intervals = window.waitUntilExists_Intervals || {})[this.selector] =\r\n\t\t\t\twindow.setInterval(function () { $this.IMElementExists(handler, shouldRunHandlerOnce, true); }, 500)\r\n\t\t\t;\r\n\t\t}\r\n\t\telse if (shouldRunHandlerOnce && $elements.length)\r\n\t\t{\r\n\t\t\twindow.clearInterval(window.waitUntilExists_Intervals[this.selector]);\r\n\t\t}\r\n\r\n\t\treturn $this;\r\n\t}\r\n\r\n}(jQuery));\r\n\r\nfunction resetRegionGadgetEventRunCounter() {\r\n    IMUtility.beEvents.waitForPriceGrid=0;\r\n    IMUtility.beEvents.waitForListView=0;\r\n    IMUtility.beEvents.regionRefineToolsBuilt=0;\r\n    IMUtility.beEvents.regionGadgetBuilt=0;\r\n    IMUtility.beEvents.regionGadgetReady=0;\r\n}"},function(t,e,n){n(0)(n(13))},function(t,e){t.exports="// simple lightbox script\r\n\r\n$lightBoxIsOpen = false;\r\n$lightBoxIsMobile = false;\r\n$lightBoxTargetParent = 'body';\r\nwindow.imInteractiveMapCssIncluded=false;\r\n$j = jQuery;\r\n$j(document).ready(function() {\r\n\r\n\r\n\tif (($j('a.lightbox').length > 0) || ($j('.interactive-map').length > 0) || ($j('a[onclick*=\"openImageLightbox\"]').length > 0 || ($j('a[data-im-onclick]').length > 0) )) {\r\n\t\t// check if this css is already included by the template /media/impartmedia/css/im.lightbox.css\r\n\t\t$j('body').append('<div id=\"simple-lightbox-bg\" class=\"hidden temp\"></div>');\r\n\t\tif ( $j('body > #simple-lightbox-bg.temp').css('position') !== 'fixed' ) {\r\n\t\t\tvar $stylesheet = '';\r\n\t\t\t$stylesheet += '#simple-lightbox-bg { background:#000; position:fixed; z-index:9980; left:-2000px; width:6000px; top:0; height:100%; display:none; }  ';\r\n\t\t\t$stylesheet += '#simple-lightbox-fg { background:#fff; position:fixed; z-index:9990; left:50%; top:60px; margin-left:-50px; margin-top:0; width:100px; height:100px; border:solid 3px #000; display:none; overflow:auto; border-radius:6px; } ';\r\n\t\t\t$stylesheet += '#simple-lightbox-fg img { margin:5px; } ';\r\n\t\t\t$stylesheet += '#simple-lightbox-cl { position:fixed; z-index:9991; margin-top:0; top:65px; left:50%;  display:none; cursor:pointer; }  ';\r\n\t\t\t$stylesheet += '#responsive-mobile-lightbox #simple-lightbox-bg { position:static; width:auto; padding:5px; }  ';\r\n\t\t\t$stylesheet += '#responsive-mobile-lightbox #simple-lightbox-fg { position:static; margin-left:0 !important; margin-top:0 !important; width:auto !important; height:auto !important; border:none; overflow:visible; }  ';\r\n\t\t\t$stylesheet += '#responsive-mobile-lightbox #simple-lightbox-cl { margin:0 !important; left:inherit; top:6px; right:0; }  ';\r\n\t\t\t$j('head').append('<style type=\"text/css\"> ' + $stylesheet + '</style>');\r\n\t\t}\r\n\t\t$j('html').append('<div id=\"responsive-mobile-lightbox\"></div>');\r\n\t}\r\n\r\n\t\r\n\t\r\n\t/*\r\n\t$j('a.lightbox').click(function(event) {\r\n\t\t$url = $j(this).attr('href');\r\n\t\tif ($j(this).attr('rel')) {\r\n\t\t\t$relValues = jQuery.parseJSON($j(this).attr('rel').replace(/'/gi, '\"'));\r\n\t\t\tif ($relValues.tmpl != 'disable') {\r\n\t\t\t\t$url += (($url.indexOf('?') > 0) ? '&tmpl=lightbox' : '?tmpl=lightbox');\r\n\t\t\t}\r\n\t\t\topenImageLightbox($url, $relValues.width, $relValues.height, false, $j(this).attr('title'),true);\r\n\t\t} else {\r\n\t\t\t$url += (($url.indexOf('?') > 0) ? '&tmpl=lightbox' : '?tmpl=lightbox');\r\n\t\t\topenImageLightbox($url, 500, 350, false, $j(this).attr('title'),true);\r\n\t\t}\r\n\t\tevent.preventDefault();\r\n\t});\r\n\t*/\r\n\t$j('a.lightbox').click(function(event) {\r\n\t\t$url = $j(this).attr('href');\r\n\t\tif ($lightBoxIsOpen == false) {\r\n\t\t\t$lightBoxIsOpen = true;\r\n\t\t\tevent.preventDefault();\r\n\t\t\tcloseLightbox();\r\n\r\n\t\t\t$width = 500;\r\n\t\t\t$height = 350;\r\n\t\t\t\r\n\t\t\tif ($j(this).attr('data-width')) {\r\n\t\t\t\t$width = parseInt($j(this).attr('data-width'));\r\n\t\t\t}\r\n\t\t\tif ($j(this).attr('data-height')) {\r\n\t\t\t\t$height = parseInt($j(this).attr('data-height'));\r\n\t\t\t}\r\n\t\t\tif ($j(this).attr('data-video') == 'true') {\r\n\t\t\t\t$width = parseInt( $j(window).width() * 0.84 );\r\n\t\t\t\t$height = parseInt( $j(window).height() * 0.84 );\r\n\t\t\t}\r\n\t\t\tif ($j(this).attr('rel')) {\r\n\t\t\t\t$relValues = jQuery.parseJSON($j(this).attr('rel').replace(/'/gi, '\"'));\r\n\t\t\t\tif ($relValues.tmpl != 'disable') {\r\n\t\t\t\t\t$url += (($url.indexOf('?') > 0) ? '&tmpl=lightbox' : '?tmpl=lightbox');\r\n\t\t\t\t}\r\n\t\t\t\tif ($relValues.width != undefined) {\r\n\t\t\t\t\t$width = $relValues.width;\r\n\t\t\t\t}\r\n\t\t\t\tif ($relValues.height != undefined) {\r\n\t\t\t\t\t$height = $relValues.height;\r\n\t\t\t\t}\r\n\r\n\t\t\t}\r\n\t\t\t\t//$url += (($url.indexOf('?') > 0) ? '&tmpl=lightbox' : '?tmpl=lightbox');\r\n\t\t\topenImageLightbox($url, $width, $height, false,  $j(this).attr('title'));\r\n\r\n\t\t}\r\n\t});\r\n\t\r\n});\r\n\r\nwindow.openImageLightbox = function($url, $lbWidth, $lbHeight, $load_via_ajax, $title, $scroll) {\r\n\r\n\t// mark as open\r\n\t$lightBoxIsOpen = true;\r\n\t\r\n\t// mobile devices work differently\r\n\tif (jQuery(window).width() < 600) {\r\n\t\t$lightBoxIsMobile = true;\r\n\t\t$lightBoxTargetParent = '#responsive-mobile-lightbox';\r\n\t\t$lbHeight = 1200;\r\n\t} else {\r\n\t\t$lightBoxIsMobile = false;\r\n\t\t$lightBoxTargetParent = 'body';\r\n\t}\r\n\t\r\n\t// disable scrollbars on window\r\n\t$j($lightBoxTargetParent).css('overflow', 'hidden');\r\n\t\r\n\t// quickly scroll to the top of the page\r\n\t//$j('html, body').animate({scrollTop:0}, 300);\r\n\t\r\n\t// create lightbox elements\r\n\t$j($lightBoxTargetParent).prepend('<div id=\"simple-lightbox-fg\"></div>');\r\n\t$j($lightBoxTargetParent).prepend('<div id=\"simple-lightbox-bg\"></div>');\r\n\t$j($lightBoxTargetParent).prepend('<div id=\"simple-lightbox-cl\"></div>');\r\n\r\n\t// load html into the lightbox\r\n\tif ($load_via_ajax == true) {\r\n\t\t$j.get($url, function($html) {\r\n\t\t\tlightboxLoadInline($html);\r\n\t\t});\r\n\t} else {\r\n\t\t$j('#simple-lightbox-fg').prepend('<div style=\"padding:6px; height:'+ ($lbHeight+10)+'\"><iframe src=\"'+$url+'\" border=\"0\" frameborder=\"0\" width=\"100%\" height=\"'+($lbHeight-40)+'\" scrolling=\"'+$scroll+'\"></iframe></div>');\r\n\t\t//$j('#simple-lightbox-fg').css('padding', '6px');\r\n\t}\r\n\r\n\t// animate the lightbox to appear (for any browser EXCEPT IE, in which case we just display with 
1no animation)\r\n\tif ($lightBoxIsMobile) {\r\n\t\t$j('body').hide();\r\n\t\t$j('#simple-lightbox-fg').show();\r\n\t\t$j('html, ' + $lightBoxTargetParent).animate({scrollTop:0}, 100);\r\n\t\trenderImageLightbox($url, $lbWidth, $lbHeight, $load_via_ajax, $title);\r\n\t} else if ($j.browser.msie) {\r\n\t\t$j('#simple-lightbox-bg').show();\r\n\t\t$j('#simple-lightbox-bg').css('background', 'url(/media/impartmedia/images/semitrans-black-84.png) left top repeat');\r\n\t\t$j('#simple-lightbox-fg').show();\r\n\t\trenderImageLightbox($url, $lbWidth, $lbHeight, $load_via_ajax, $title);\r\n\t} else {\r\n\t\t$j('#simple-lightbox-bg').fadeTo('slow', 0.84, function() {\r\n\t\t\t$j('#simple-lightbox-fg img').fadeTo('fast', 0.4);\r\n\t\t\t$j('#simple-lightbox-fg').fadeTo('fast', 1.0, function() {\r\n\t\t\t\trenderImageLightbox($url, $lbWidth, $lbHeight, $load_via_ajax, $title);\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n}\r\n\r\nwindow.lightboxLoadInline = function($html) {\r\n\t\r\n\t$title = $j('#simple-lightbox-fg #simple-lightbox-title').html();\r\n\t/* \r\n\t *\tNOTE #1: For slow loading pages the title div disappears. To fix in this case, add the lightbox title div back into the html. \r\n\t *  NOTE #2: The title variable does not exist at this point so consider this before implementing this fix \r\n\t * <div id=\"simple-lightbox-title\">'+$title+'</div>\r\n\t */\r\n\t$j('#simple-lightbox-fg').html('<div id=\"impart-lightbox\"><div id=\"main\">'+$html+'</div></div>');\r\n\t\r\n\t$j('#simple-lightbox-fg a.ajax-load-inline').click(function(e) {\r\n\t\t$newurl = $j(this).attr('href') + '?tmpl=lightbox';\r\n\t\t$title = $j('#simple-lightbox-title').html();\r\n\t\t$j('#simple-lightbox-fg').load($newurl, function($newhtml) {\r\n\t\t\tlightboxLoadInline($newhtml);\r\n\t\t\t\r\n\t\t\t$j('#simple-lightbox-fg').prepend('<div id=\"simple-lightbox-title\">'+$title+'</div>');\r\n\t\t});\r\n\t\te.preventDefault();\r\n\t});\r\n\t\r\n}\r\n\r\nwindow.renderImageLightbox = function($url, $lbWidth, $lbHeight, $load_via_ajax, $title) {\r\n\t\r\n\t$lbWidth = parseInt($lbWidth);\r\n\t$lbHeight = parseInt($lbHeight);\r\n\t\r\n\t$marginLeft = (-1 * parseInt(($lbWidth + 24) / 2));\r\n\t$marginTop = (-1 * parseInt(($lbHeight + 24) / 2));\r\n\t// remove top margin from this statement #994\r\n\t//$j('#simple-lightbox-fg').animate({'marginLeft': $marginLeft+'px', 'marginTop': $marginTop+'px'}, 220, 'linear', function() {\r\n\t$j('#simple-lightbox-fg').animate({'marginLeft': $marginLeft+'px'}, 220, 'linear', function() {\r\n\t\t$j('#simple-lightbox-fg').animate({'width': ($lbWidth+10)+'px', 'height': ($lbHeight+10)+'px'}, 220, 'linear', function() {\r\n\t\t\t// animation complete\r\n\t\t\t// remove top margin from this statement #994\r\n\t\t\t//$j('#simple-lightbox-cl').css('marginLeft', (-1 * $marginLeft) - 44).css('marginTop', $marginTop + 8);\r\n\t\t\t$j('#simple-lightbox-cl').css('marginLeft', (-1 * $marginLeft) - 44);\r\n\t\t\t$j('#simple-lightbox-fg img, #simple-lightbox-cl').fadeTo('fast', 1.0);\r\n\t\t\t\r\n\t\t\tif ((typeof($title) != 'undefined') && ($title != '')) {\r\n\t\t\t\t$j('#simple-lightbox-fg').prepend('<div id=\"simple-lightbox-title\">'+$title+'</div>');\r\n\t\t\t\t//$j('#simple-lightbox-title').css('marginLeft', ($marginLeft + 18)).css('marginTop', $marginTop - 26);\r\n\t\t\t}\r\n\t\t\tif (($url.indexOf('interactive-map') >= 0) && ($j('.accommodation-search').length > 0)) {\r\n\t\t\t\t$j('#simple-lightbox-fg').addClass('interactive-map-lightbox-withsearch');\r\n\t\t\t\t$j('.accommodation-search').addClass('accommodation-search-on-map');\r\n\t\t\t\t$j('.accommodation-search-on-map').css('marginLeft', ($marginLeft + 14));\r\n\t\t\t\t$j('.accommodation-search-on-map').css('marginTop', parseInt(($j(window).height() - $lbHeight) / 2) + 27);\r\n\t\t\t}\r\n\t\t});\r\n\t});\r\n\t$j('#simple-lightbox-bg, #simple-lightbox-cl').click(function() { closeLightbox(); });\r\n\t\r\n}\r\n\r\nwindow.closeLightbox = function() {\r\n\t\r\n\t// mobile devices work a little differently\r\n\tif ($lightBoxIsMobile) {\r\n\t\t$j('body').show();\r\n\t}\r\n\t\r\n\t// enable scrollbars on window as required\r\n\t$j($lightBoxTargetParent).css('overflow', '');\r\n\t\r\n\t// destroy lightbox elements\r\n\t$j('#simple-lightbox-bg').remove();\r\n\t$j('#simple-lightbox-fg').remove();\r\n\t$j('#simple-lightbox-cl').remove();\r\n\t$j('#simple-lightbox-title').remove();\r\n\t$j('.accommodation-search').removeClass('accommodation-search-on-map').css('marginLeft', 0).css('marginTop', 0);\r\n\t$lightBoxIsOpen = false;\r\n\t\r\n}\r\n"},function(t,e,n){n(0)(n(15))},function(t,e){t.exports="/*!\r\n * jQuery Cookie Plugin v1.4.1\r\n * https://github.com/carhartl/jquery-cookie\r\n *\r\n * Copyright 2013 Klaus Hartl\r\n * Released under the MIT license\r\n */\r\n\r\n(function ($) {\r\n\r\n\tvar pluses = /\\+/g;\r\n\r\n\tfunction encode(s) {\r\n\t\treturn config.raw ? s : encodeURIComponent(s);\r\n\t}\r\n\r\n\tfunction decode(s) {\r\n\t\treturn config.raw ? s : decodeURIComponent(s);\r\n\t}\r\n\r\n\tfunction stringifyCookieValue(value) {\r\n\t\treturn encode(config.json ? JSON.stringify(value) : String(value));\r\n\t}\r\n\r\n\tfunction parseCookieValue(s) {\r\n\t\tif (s.indexOf('\"') === 0) {\r\n\t\t\t// This is a quoted cookie as according to RFC2068, unescape...\r\n\t\t\ts = s.slice(1, -1).replace(/\\\\\"/g, '\"').replace(/\\\\\\\\/g, '\\\\');\r\n\t\t}\r\n\r\n\t\ttry {\r\n\t\t\t// Replace server-side written pluses with spaces.\r\n\t\t\t// If we can't decode the cookie, ignore it, it's unusable.\r\n\t\t\t// If we can't parse the cookie, ignore it, it's unusable.\r\n\t\t\ts = decodeURIComponent(s.replace(pluses, ' '));\r\n\t\t\treturn config.json ? JSON.parse(s) : s;\r\n\t\t} catch(e) {}\r\n\t}\r\n\r\n\tfunction read(s, converter) {\r\n\t\tvar value = config.raw ? s : parseCookieValue(s);\r\n\t\treturn $.isFunction(converter) ? converter(value) : value;\r\n\t}\r\n\r\n\tvar config = $.cookie = function (key, value, options) {\r\n\r\n\t\t// Write\r\n\r\n\t\tif (value !== undefined && !$.isFunction(value)) {\r\n\t\t\toptions = $.extend({}, config.defaults, options);\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.setTime(+t + days * 864e+5);\r\n\t\t\t}\r\n\r\n\t\t\treturn (document.cookie = [\r\n\t\t\t\tencode(key), '=', stringifyCookieValue(value),\r\n\t\t\t\toptions.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE\r\n\t\t\t\toptions.path    ? '; path=' + options.path : '',\r\n\t\t\t\toptions.domain  ? '; domain=' + options.domain : '',\r\n\t\t\t\toptions.secure  ? '; secure' : ''\r\n\t\t\t].join(''));\r\n\t\t}\r\n\r\n\t\t// Read\r\n\r\n\t\tvar result = key ? undefined : {};\r\n\r\n\t\t// To prevent the for loop in the first place assign an empty array\r\n\t\t// in case there are no cookies at all. Also prevents odd result when\r\n\t\t// calling $.cookie().\r\n\t\tvar cookies = document.cookie ? document.cookie.split('; ') : [];\r\n\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\tvar name = decode(parts.shift());\r\n\t\t\tvar cookie = parts.join('=');\r\n\r\n\t\t\tif (key && key === name) {\r\n\t\t\t\t// If second argument (value) is a function it's a converter...\r\n\t\t\t\tresult = read(cookie, value);\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\r\n\t\t\t// Prevent storing a cookie that we couldn't decode.\r\n\t\t\tif (!key && (cookie = read(cookie)) !== undefined) {\r\n\t\t\t\tresult[name] = cookie;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn result;\r\n\t};\r\n\r\n\tconfig.defaults = {};\r\n\r\n\t$.removeCookie = function (key, options) {\r\n\t\tif ($.cookie(key) === undefined) {\r\n\t\t\treturn false;\r\n\t\t}
1\r\n\r\n\t\t// Must not alter options, thus extending a fresh object...\r\n\t\t$.cookie(key, '', $.extend({}, options, { expires: -1 }));\r\n\t\treturn !$.cookie(key);\r\n\t};\r\n\r\n}( jQuery ));\r\n"},function(t,e,n){n(0)(n(17))},function(t,e){t.exports='/*!\r\n * Generated using the Bootstrap Customizer (https://getbootstrap.com/docs/3.4/customize/)\r\n */\r\n\r\n/*!\r\n * Bootstrap v3.4.1 (https://getbootstrap.com/)\r\n * Copyright 2011-2025 Twitter, Inc.\r\n * Licensed under the MIT license\r\n */\r\n\r\nif("undefined"==typeof jQuery)throw new Error("Bootstrap\'s JavaScript requires jQuery");+function(t){"use strict";var e=t.fn.jquery.split(" ")[0].split(".");if(e[0]<2&&e[1]<9||1==e[0]&&9==e[1]&&e[2]<1||e[0]>3)throw new Error("Bootstrap\'s JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4")}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var i=t(this),n=i.data("bs.alert");n||i.data("bs.alert",n=new o(this)),"string"==typeof e&&n[e].call(i)})}var i=\'[data-dismiss="alert"]\',o=function(e){t(e).on("click",i,this.close)};o.VERSION="3.4.1",o.TRANSITION_DURATION=150,o.prototype.close=function(e){function i(){a.detach().trigger("closed.bs.alert").remove()}var n=t(this),s=n.attr("data-target");s||(s=n.attr("href"),s=s&&s.replace(/.*(?=#[^\\s]*$)/,"")),s="#"===s?[]:s;var a=t(document).find(s);e&&e.preventDefault(),a.length||(a=n.closest(".alert")),a.trigger(e=t.Event("close.bs.alert")),e.isDefaultPrevented()||(a.removeClass("in"),t.support.transition&&a.hasClass("fade")?a.one("bsTransitionEnd",i).emulateTransitionEnd(o.TRANSITION_DURATION):i())};var n=t.fn.alert;t.fn.alert=e,t.fn.alert.Constructor=o,t.fn.alert.noConflict=function(){return t.fn.alert=n,this},t(document).on("click.bs.alert.data-api",i,o.prototype.close)}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var o=t(this),n=o.data("bs.button"),s="object"==typeof e&&e;n||o.data("bs.button",n=new i(this,s)),"toggle"==e?n.toggle():e&&n.setState(e)})}var i=function(e,o){this.$element=t(e),this.options=t.extend({},i.DEFAULTS,o),this.isLoading=!1};i.VERSION="3.4.1",i.DEFAULTS={loadingText:"loading..."},i.prototype.setState=function(e){var i="disabled",o=this.$element,n=o.is("input")?"val":"html",s=o.data();e+="Text",null==s.resetText&&o.data("resetText",o[n]()),setTimeout(t.proxy(function(){o[n](null==s[e]?this.options[e]:s[e]),"loadingText"==e?(this.isLoading=!0,o.addClass(i).attr(i,i).prop(i,!0)):this.isLoading&&(this.isLoading=!1,o.removeClass(i).removeAttr(i).prop(i,!1))},this),0)},i.prototype.toggle=function(){var t=!0,e=this.$element.closest(\'[data-toggle="buttons"]\');if(e.length){var i=this.$element.find("input");"radio"==i.prop("type")?(i.prop("checked")&&(t=!1),e.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==i.prop("type")&&(i.prop("checked")!==this.$element.hasClass("active")&&(t=!1),this.$element.toggleClass("active")),i.prop("checked",this.$element.hasClass("active")),t&&i.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var o=t.fn.button;t.fn.button=e,t.fn.button.Constructor=i,t.fn.button.noConflict=function(){return t.fn.button=o,this},t(document).on("click.bs.button.data-api",\'[data-toggle^="button"]\',function(i){var o=t(i.target).closest(".btn");e.call(o,"toggle"),t(i.target).is(\'input[type="radio"], input[type="checkbox"]\')||(i.preventDefault(),o.is("input,button")?o.trigger("focus"):o.find("input:visible,button:visible").first().trigger("focus"))}).on("focus.bs.button.data-api blur.bs.button.data-api",\'[data-toggle^="button"]\',function(e){t(e.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(e.type))})}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var o=t(this),n=o.data("bs.carousel"),s=t.extend({},i.DEFAULTS,o.data(),"object"==typeof e&&e),a="string"==typeof e?e:s.slide;n||o.data("bs.carousel",n=new i(this,s)),"number"==typeof e?n.to(e):a?n[a]():s.interval&&n.pause().cycle()})}var i=function(e,i){this.$element=t(e),this.$indicators=this.$element.find(".carousel-indicators"),this.options=i,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("key
1down.bs.carousel",t.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",t.proxy(this.pause,this)).on("mouseleave.bs.carousel",t.proxy(this.cycle,this))};i.VERSION="3.4.1",i.TRANSITION_DURATION=600,i.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},i.prototype.keydown=function(t){if(!/input|textarea/i.test(t.target.tagName)){switch(t.which){case 37:this.prev();break;case 39:this.next();break;default:return}t.preventDefault()}},i.prototype.cycle=function(e){return e||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(t.proxy(this.next,this),this.options.interval)),this},i.prototype.getItemIndex=function(t){return this.$items=t.parent().children(".item"),this.$items.index(t||this.$active)},i.prototype.getItemForDirection=function(t,e){var i=this.getItemIndex(e),o="prev"==t&&0===i||"next"==t&&i==this.$items.length-1;if(o&&!this.options.wrap)return e;var n="prev"==t?-1:1,s=(i+n)%this.$items.length;return this.$items.eq(s)},i.prototype.to=function(t){var e=this,i=this.getItemIndex(this.$active=this.$element.find(".item.active"));return t>this.$items.length-1||0>t?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){e.to(t)}):i==t?this.pause().cycle():this.slide(t>i?"next":"prev",this.$items.eq(t))},i.prototype.pause=function(e){return e||(this.paused=!0),this.$element.find(".next, .prev").length&&t.support.transition&&(this.$element.trigger(t.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},i.prototype.next=function(){return this.sliding?void 0:this.slide("next")},i.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},i.prototype.slide=function(e,o){var n=this.$element.find(".item.active"),s=o||this.getItemForDirection(e,n),a=this.interval,r="next"==e?"left":"right",l=this;if(s.hasClass("active"))return this.sliding=!1;var h=s[0],d=t.Event("slide.bs.carousel",{relatedTarget:h,direction:r});if(this.$element.trigger(d),!d.isDefaultPrevented()){if(this.sliding=!0,a&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var p=t(this.$indicators.children()[this.getItemIndex(s)]);p&&p.addClass("active")}var c=t.Event("slid.bs.carousel",{relatedTarget:h,direction:r});return t.support.transition&&this.$element.hasClass("slide")?(s.addClass(e),"object"==typeof s&&s.length&&s[0].offsetWidth,n.addClass(r),s.addClass(r),n.one("bsTransitionEnd",function(){s.removeClass([e,r].join(" ")).addClass("active"),n.removeClass(["active",r].join(" ")),l.sliding=!1,setTimeout(function(){l.$element.trigger(c)},0)}).emulateTransitionEnd(i.TRANSITION_DURATION)):(n.removeClass("active"),s.addClass("active"),this.sliding=!1,this.$element.trigger(c)),a&&this.cycle(),this}};var o=t.fn.carousel;t.fn.carousel=e,t.fn.carousel.Constructor=i,t.fn.carousel.noConflict=function(){return t.fn.carousel=o,this};var n=function(i){var o=t(this),n=o.attr("href");n&&(n=n.replace(/.*(?=#[^\\s]+$)/,""));var s=o.attr("data-target")||n,a=t(document).find(s);if(a.hasClass("carousel")){var r=t.extend({},a.data(),o.data()),l=o.attr("data-slide-to");l&&(r.interval=!1),e.call(a,r),l&&a.data("bs.carousel").to(l),i.preventDefault()}};t(document).on("click.bs.carousel.data-api","[data-slide]",n).on("click.bs.carousel.data-api","[data-slide-to]",n),t(window).on("load",function(){t(\'[data-ride="carousel"]\').each(function(){var i=t(this);e.call(i,i.data())})})}(jQuery),+function(t){"use strict";function e(e){var i=e.attr("data-target");i||(i=e.attr("href"),i=i&&/#[A-Za-z]/.test(i)&&i.replace(/.*(?=#[^\\s]*$)/,""));var o="#"!==i?t(document).find(i):null;return o&&o.length?o:e.parent()}function i(i){i&&3===i.which||(t(n).remove(),t(s).each(function(){var o=t(this),n=e(o),s={relatedTarget:this};n.hasClass("open")&&(i&&"click"==i.type&&/input|textarea/i.test(i.target.tagName)&&t.contains(n[0],i.target)||(n.trigger(i=t.Event("hide.bs.dropdown",s)),i.isDefaultPrevented()||(o.attr("aria-expanded","false"),n.removeClass("open").trigger(t.Event("hidden.bs.dropdown",s)))))}))}function o(e){return this.each(function(){var i=t(this),o=i.data("bs.dropdown");o||i.data("bs.dropdown",o=new a(this)),"string"==typeof e&&o[e].call(i)})}var n=".dropdown-backdrop",s=\'[data-toggle="dropdown"]\',a=function(e){t(e).on("click.bs.dropdown",this.toggle)};a.VERSION="3.4.1",a.prototype.toggle=function(o){var n=t(this);if(!n.is(".disabled, :disabled")){var s=e(n),a=s.hasClass("open");if(i(),!a){"ontouchstart"in document.documentElement&&!s.closest(".
1navbar-nav").length&&t(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(t(this)).on("click",i);var r={relatedTarget:this};if(s.trigger(o=t.Event("show.bs.dropdown",r)),o.isDefaultPrevented())return;n.trigger("focus").attr("aria-expanded","true"),s.toggleClass("open").trigger(t.Event("shown.bs.dropdown",r))}return!1}},a.prototype.keydown=function(i){if(/(38|40|27|32)/.test(i.which)&&!/input|textarea/i.test(i.target.tagName)){var o=t(this);if(i.preventDefault(),i.stopPropagation(),!o.is(".disabled, :disabled")){var n=e(o),a=n.hasClass("open");if(!a&&27!=i.which||a&&27==i.which)return 27==i.which&&n.find(s).trigger("focus"),o.trigger("click");var r=" li:not(.disabled):visible a",l=n.find(".dropdown-menu"+r);if(l.length){var h=l.index(i.target);38==i.which&&h>0&&h--,40==i.which&&h<l.length-1&&h++,~h||(h=0),l.eq(h).trigger("focus")}}}};var r=t.fn.dropdown;t.fn.dropdown=o,t.fn.dropdown.Constructor=a,t.fn.dropdown.noConflict=function(){return t.fn.dropdown=r,this},t(document).on("click.bs.dropdown.data-api",i).on("click.bs.dropdown.data-api",".dropdown form",function(t){t.stopPropagation()}).on("click.bs.dropdown.data-api",s,a.prototype.toggle).on("keydown.bs.dropdown.data-api",s,a.prototype.keydown).on("keydown.bs.dropdown.data-api",".dropdown-menu",a.prototype.keydown)}(jQuery),+function(t){"use strict";function e(e,o){return this.each(function(){var n=t(this),s=n.data("bs.modal"),a=t.extend({},i.DEFAULTS,n.data(),"object"==typeof e&&e);s||n.data("bs.modal",s=new i(this,a)),"string"==typeof e?s[e](o):a.show&&s.show(o)})}var i=function(e,i){this.options=i,this.$body=t(document.body),this.$element=t(e),this.$dialog=this.$element.find(".modal-dialog"),this.$backdrop=null,this.isShown=null,this.originalBodyPad=null,this.scrollbarWidth=0,this.ignoreBackdropClick=!1,this.fixedContent=".navbar-fixed-top, .navbar-fixed-bottom",this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,t.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};i.VERSION="3.4.1",i.TRANSITION_DURATION=300,i.BACKDROP_TRANSITION_DURATION=150,i.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},i.prototype.toggle=function(t){return this.isShown?this.hide():this.show(t)},i.prototype.show=function(e){var o=this,n=t.Event("show.bs.modal",{relatedTarget:e});this.$element.trigger(n),this.isShown||n.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.setScrollbar(),this.$body.addClass("modal-open"),this.escape(),this.resize(),this.$element.on("click.dismiss.bs.modal",\'[data-dismiss="modal"]\',t.proxy(this.hide,this)),this.$dialog.on("mousedown.dismiss.bs.modal",function(){o.$element.one("mouseup.dismiss.bs.modal",function(e){t(e.target).is(o.$element)&&(o.ignoreBackdropClick=!0)})}),this.backdrop(function(){var n=t.support.transition&&o.$element.hasClass("fade");o.$element.parent().length||o.$element.appendTo(o.$body),o.$element.show().scrollTop(0),o.adjustDialog(),n&&o.$element[0].offsetWidth,o.$element.addClass("in"),o.enforceFocus();var s=t.Event("shown.bs.modal",{relatedTarget:e});n?o.$dialog.one("bsTransitionEnd",function(){o.$element.trigger("focus").trigger(s)}).emulateTransitionEnd(i.TRANSITION_DURATION):o.$element.trigger("focus").trigger(s)}))},i.prototype.hide=function(e){e&&e.preventDefault(),e=t.Event("hide.bs.modal"),this.$element.trigger(e),this.isShown&&!e.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),t(document).off("focusin.bs.modal"),this.$element.removeClass("in").off("click.dismiss.bs.modal").off("mouseup.dismiss.bs.modal"),this.$dialog.off("mousedown.dismiss.bs.modal"),t.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",t.proxy(this.hideModal,this)).emulateTransitionEnd(i.TRANSITION_DURATION):this.hideModal())},i.prototype.enforceFocus=function(){t(document).off("focusin.bs.modal").on("focusin.bs.modal",t.proxy(function(t){document===t.target||this.$element[0]===t.target||this.$element.has(t.target).length||this.$element.trigger("focus")},this))},i.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("key
1down.dismiss.bs.modal",t.proxy(function(t){27==t.which&&this.hide()},this)):this.isShown||this.$element.off("keydown.dismiss.bs.modal")},i.prototype.resize=function(){this.isShown?t(window).on("resize.bs.modal",t.proxy(this.handleUpdate,this)):t(window).off("resize.bs.modal")},i.prototype.hideModal=function(){var t=this;this.$element.hide(),this.backdrop(function(){t.$body.removeClass("modal-open"),t.resetAdjustments(),t.resetScrollbar(),t.$element.trigger("hidden.bs.modal")})},i.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},i.prototype.backdrop=function(e){var o=this,n=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var s=t.support.transition&&n;if(this.$backdrop=t(document.createElement("div")).addClass("modal-backdrop "+n).appendTo(this.$body),this.$element.on("click.dismiss.bs.modal",t.proxy(function(t){return this.ignoreBackdropClick?void(this.ignoreBackdropClick=!1):void(t.target===t.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus():this.hide()))},this)),s&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!e)return;s?this.$backdrop.one("bsTransitionEnd",e).emulateTransitionEnd(i.BACKDROP_TRANSITION_DURATION):e()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var a=function(){o.removeBackdrop(),e&&e()};t.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",a).emulateTransitionEnd(i.BACKDROP_TRANSITION_DURATION):a()}else e&&e()},i.prototype.handleUpdate=function(){this.adjustDialog()},i.prototype.adjustDialog=function(){var t=this.$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&t?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!t?this.scrollbarWidth:""})},i.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},i.prototype.checkScrollbar=function(){var t=window.innerWidth;if(!t){var e=document.documentElement.getBoundingClientRect();t=e.right-Math.abs(e.left)}this.bodyIsOverflowing=document.body.clientWidth<t,this.scrollbarWidth=this.measureScrollbar()},i.prototype.setScrollbar=function(){var e=parseInt(this.$body.css("padding-right")||0,10);this.originalBodyPad=document.body.style.paddingRight||"";var i=this.scrollbarWidth;this.bodyIsOverflowing&&(this.$body.css("padding-right",e+i),t(this.fixedContent).each(function(e,o){var n=o.style.paddingRight,s=t(o).css("padding-right");t(o).data("padding-right",n).css("padding-right",parseFloat(s)+i+"px")}))},i.prototype.resetScrollbar=function(){this.$body.css("padding-right",this.originalBodyPad),t(this.fixedContent).each(function(e,i){var o=t(i).data("padding-right");t(i).removeData("padding-right"),i.style.paddingRight=o?o:""})},i.prototype.measureScrollbar=function(){var t=document.createElement("div");t.className="modal-scrollbar-measure",this.$body.append(t);var e=t.offsetWidth-t.clientWidth;return this.$body[0].removeChild(t),e};var o=t.fn.modal;t.fn.modal=e,t.fn.modal.Constructor=i,t.fn.modal.noConflict=function(){return t.fn.modal=o,this},t(document).on("click.bs.modal.data-api",\'[data-toggle="modal"]\',function(i){var o=t(this),n=o.attr("href"),s=o.attr("data-target")||n&&n.replace(/.*(?=#[^\\s]+$)/,""),a=t(document).find(s),r=a.data("bs.modal")?"toggle":t.extend({remote:!/#/.test(n)&&n},a.data(),o.data());o.is("a")&&i.preventDefault(),a.one("show.bs.modal",function(t){t.isDefaultPrevented()||a.one("hidden.bs.modal",function(){o.is(":visible")&&o.trigger("focus")})}),e.call(a,r,this)})}(jQuery),+function(t){"use strict";function e(e,i){var o=e.nodeName.toLowerCase();if(-1!==t.inArray(o,i))return-1!==t.inArray(o,s)?Boolean(e.nodeValue.match(l)||e.nodeValue.match(h)):!0;for(var n=t(i).filter(function(t,e){return e instanceof RegExp}),a=0,r=n.length;r>a;a++)if(o.match(n[a]))return!0;return!1}function i(i,o,n){if(0===i.length)return i;if(n&&"function"==typeof n)return n(i);if(!document.implementation||!document.implementation.createHTMLDocument)return i;var s=document.implementation.createHTMLDocument("sanitization");s.body.innerHTML=i;for(var a=t.map(o,function(t,e){return e}),r=t(s.body).find("*"),l=0,h=r.length;h>l;l++){var d=r[l],p=d.nodeName.toLowerCase();if(-1!==t.inArray(p,a))for(var c=t.map(d.attributes,function(t){return t}),f=[].concat(o["*"]||[],o[p]||[]),u=0,g=c.length;g>u;u++)e(c[u],f)||d.removeAttribute(c[u].nodeName);else d.parentNode.removeChild(d)}return s.body.innerHTML}function o(e){return this.each(function(){var i=t(this),o=i.data("bs.tooltip"),n="object"==typeof e&&e;!o&&/destroy|hide/.test(e)||(o||i.data("bs.tooltip",o=new d(this,n)),"string"==typeof e&&o[e]())})}var n=["sanitize","whiteList","sanitizeFn"],s=["background","cite","href","itemtype","longdesc","poster","src","xlink:href"],a=/^aria-[\\w-]*$/i,r={"*":["class","dir","id","lang","role",a],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},l=/^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi,h=/^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i,d=function(t,e){this.type=null,this.options=null,this.enabled=null,this.timeout=null,this.hoverState=null,this.$element=null,this.inState=null,this.init("tooltip",t,e)};d.VERSION="3.4.1",d.TRANSITION_DURATION=150,d.DEFAULTS={animation:!0,placement:"top",selector:!1,template:\'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>\',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0},sanitize:!0,sanitizeFn:null,whiteList:r},d.prototype.init=function(e,i,o){if(this.enabled=!0,this.type=e,this.$element=t(i),this.options=this.getOptions(o),this.$viewport=this.options.viewport&&t(document).find(t.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var n=this.options.trigger.split(" "),s=n.length;s--;){var a=n[s];if("click"==a)this.$element.on("click."+this.type,this.options.selector,t.proxy(this.toggle,this));else if("manual"!=a){var r="hover"==a?"mouseenter":"focusin",l="hover"==a?"mouseleave":"focusout";this.$element.on(r+"."+this.type,this.options.selector,t.proxy(this.enter,this)),this.$element.on(l+"."+this.type,this.options.selector,t.proxy(this.leave,this))}}this.options.selector?this._options=t.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},d.prototype.getDefaults=function(){return d.DEFAULTS},d.prototype.getOptions=function(e){var o=this.$element.data();for(var s in o)o.hasOwnProperty(s)&&-1!==t.inArray(s,n)&&delete o[s];return e=t.extend({},this.getDefaults(),o,e),e.delay&&"number"==typeof e.delay&&(e.delay={show:e.delay,hide:e.delay}),e.sanitize&&(e.template=i(e.template,e.whiteList,e.sanitizeFn)),e},d.prototype.getDelegateOptions=function(){var e={},i=this.getDefaults();return this._options&&t.each(this._options,function(t,o){i[t]!=o&&(e[t]=o)}),e},d.prototype.enter=function(e){var i=e instanceof this.constructor?e:t(e.currentTarget).data("bs."+this.type);
vendor: 4,679 bytes, line 1
1return i||(i=new this.constructor(e.currentTarget,this.getDelegateOptions()),t(e.currentTarget).data("bs."+this.type,i)),e instanceof t.Event&&(i.inState["focusin"==e.type?"focus":"hover"]=!0),i.tip().hasClass("in")||"in"==i.hoverState?void(i.hoverState="in"):(clearTimeout(i.timeout),i.hoverState="in",i.options.delay&&i.options.delay.show?void(i.timeout=setTimeout(function(){"in"==i.hoverState&&i.show()},i.options.delay.show)):i.show())},d.prototype.isInStateTrue=function(){for(var t in this.inState)if(this.inState[t])return!0;return!1},d.prototype.leave=function(e){var i=e instanceof this.constructor?e:t(e.currentTarget).data("bs."+this.type);return i||(i=new this.constructor(e.currentTarget,this.getDelegateOptions()),t(e.currentTarget).data("bs."+this.type,i)),e instanceof t.Event&&(i.inState["focusout"==e.type?"focus":"hover"]=!1),i.isInStateTrue()?void 0:(clearTimeout(i.timeout),i.hoverState="out",i.options.delay&&i.options.delay.hide?void(i.timeout=setTimeout(function(){"out"==i.hoverState&&i.hide()},i.options.delay.hide)):i.hide())},d.prototype.show=function(){var e=t.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(e);var i=t.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(e.isDefaultPrevented()||!i)return;var o=this,n=this.tip(),s=this.getUID(this.type);this.setContent(),n.attr("id",s),this.$element.attr("aria-describedby",s),this.options.animation&&n.addClass("fade");var a="function"==typeof this.options.placement?this.options.placement.call(this,n[0],this.$element[0]):this.options.placement,r=/\\s?auto?\\s?/i,l=r.test(a);l&&(a=a.replace(r,"")||"top"),n.detach().css({top:0,left:0,display:"block"}).addClass(a).data("bs."+this.type,this),this.options.container?n.appendTo(t(document).find(this.options.container)):n.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var h=this.getPosition(),p=n[0].offsetWidth,c=n[0].offsetHeight;if(l){var f=a,u=this.getPosition(this.$viewport);a="bottom"==a&&h.bottom+c>u.bottom?"top":"top"==a&&h.top-c<u.top?"bottom":"right"==a&&h.right+p>u.width?"left":"left"==a&&h.left-p<u.left?"right":a,n.removeClass(f).addClass(a)}var g=this.getCalculatedOffset(a,h,p,c);this.applyPlacement(g,a);var m=function(){var t=o.hoverState;o.$element.trigger("shown.bs."+o.type),o.hoverState=null,"out"==t&&o.leave(o)};t.support.transition&&this.$tip.hasClass("fade")?n.one("bsTransitionEnd",m).emulateTransitionEnd(d.TRANSITION_DURATION):m()}},d.prototype.applyPlacement=function(e,i){var o=this.tip(),n=o[0].offsetWidth,s=o[0].offsetHeight,a=parseInt(o.css("margin-top"),10),r=parseInt(o.css("margin-left"),10);isNaN(a)&&(a=0),isNaN(r)&&(r=0),e.top+=a,e.left+=r,t.offset.setOffset(o[0],t.extend({using:function(t){o.css({top:Math.round(t.top),left:Math.round(t.left)})}},e),0),o.addClass("in");var l=o[0].offsetWidth,h=o[0].offsetHeight;"top"==i&&h!=s&&(e.top=e.top+s-h);var d=this.getViewportAdjustedDelta(i,e,l,h);d.left?e.left+=d.left:e.top+=d.top;var p=/top|bottom/.test(i),c=p?2*d.left-n+l:2*d.top-s+h,f=p?"offsetWidth":"offsetHeight";o.offset(e),this.replaceArrow(c,o[0][f],p)},d.prototype.replaceArrow=function(t,e,i){this.arrow().css(i?"left":"top",50*(1-t/e)+"%").css(i?"top":"left","")},d.prototype.setContent=function(){var t=this.tip(),e=this.getTitle();this.options.html?(this.options.sanitize&&(e=i(e,this.options.whiteList,this.options.sanitizeFn)),t.find(".tooltip-inner").html(e)):t.find(".tooltip-inner").text(e),t.removeClass("fade in top bottom left right")},d.prototype.hide=function(e){function i(){"in"!=o.hoverState&&n.detach(),o.$element&&o.$element.removeAttr("aria-describedby").trigger("hidden.bs."+o.type),e&&e()}var o=this,n=t(this.$tip),s=t.Event("hide.bs."+this.type);return this.$element.trigger(s),s.isDefaultPrevented()?void 0:(n.removeClass("in"),t.support.transition&&n.hasClass("fade")?n.one("bsTransitionEnd",i).emulateTransitionEnd(d.TRANSITION_DURATION):i(),this.hoverState=null,this)},d.prototype.fixTitle=function(){var t=this.$element;(t.attr("title")||"string"!=typeof t.attr("data-original-title"))&&t.attr("data-original-title",t.attr("title")||"").attr("title","")},d.prototype.hasContent=function(){return this.getTitle()},d.prototype.getPosition=function(e){e=e||this.$element;var i=e[0],o="BODY"==i.tagName,n=i.getBoundingClientRect();null==n.width&&(n=t.extend({},n,{width:n.right-n.left,height:n.bottom-n.top}));var s=window.SVGElement&&i instanceof window.SVGElement,a=o?{top:0,left:0}:s?null:e.offset(),r={scroll:o?document.documentElement.scrollTop||document.body.scrollTop:e.scrollTop()},l=o?{width:t(window).width(),height:t(window).height()}:null;return t.extend({},n,r,l,a)}
vendor: 6,528 bytes, line 1
1,d.prototype.getCalculatedOffset=function(t,e,i,o){return"bottom"==t?{top:e.top+e.height,left:e.left+e.width/2-i/2}:"top"==t?{top:e.top-o,left:e.left+e.width/2-i/2}:"left"==t?{top:e.top+e.height/2-o/2,left:e.left-i}:{top:e.top+e.height/2-o/2,left:e.left+e.width}},d.prototype.getViewportAdjustedDelta=function(t,e,i,o){var n={top:0,left:0};if(!this.$viewport)return n;var s=this.options.viewport&&this.options.viewport.padding||0,a=this.getPosition(this.$viewport);if(/right|left/.test(t)){var r=e.top-s-a.scroll,l=e.top+s-a.scroll+o;r<a.top?n.top=a.top-r:l>a.top+a.height&&(n.top=a.top+a.height-l)}else{var h=e.left-s,d=e.left+s+i;h<a.left?n.left=a.left-h:d>a.right&&(n.left=a.left+a.width-d)}return n},d.prototype.getTitle=function(){var t,e=this.$element,i=this.options;return t=e.attr("data-original-title")||("function"==typeof i.title?i.title.call(e[0]):i.title)},d.prototype.getUID=function(t){do t+=~~(1e6*Math.random());while(document.getElementById(t));return t},d.prototype.tip=function(){if(!this.$tip&&(this.$tip=t(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},d.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},d.prototype.enable=function(){this.enabled=!0},d.prototype.disable=function(){this.enabled=!1},d.prototype.toggleEnabled=function(){this.enabled=!this.enabled},d.prototype.toggle=function(e){var i=this;e&&(i=t(e.currentTarget).data("bs."+this.type),i||(i=new this.constructor(e.currentTarget,this.getDelegateOptions()),t(e.currentTarget).data("bs."+this.type,i))),e?(i.inState.click=!i.inState.click,i.isInStateTrue()?i.enter(i):i.leave(i)):i.tip().hasClass("in")?i.leave(i):i.enter(i)},d.prototype.destroy=function(){var t=this;clearTimeout(this.timeout),this.hide(function(){t.$element.off("."+t.type).removeData("bs."+t.type),t.$tip&&t.$tip.detach(),t.$tip=null,t.$arrow=null,t.$viewport=null,t.$element=null})},d.prototype.sanitizeHtml=function(t){return i(t,this.options.whiteList,this.options.sanitizeFn)};var p=t.fn.tooltip;t.fn.tooltip=o,t.fn.tooltip.Constructor=d,t.fn.tooltip.noConflict=function(){return t.fn.tooltip=p,this}}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var o=t(this),n=o.data("bs.popover"),s="object"==typeof e&&e;!n&&/destroy|hide/.test(e)||(n||o.data("bs.popover",n=new i(this,s)),"string"==typeof e&&n[e]())})}var i=function(t,e){this.init("popover",t,e)};if(!t.fn.tooltip)throw new Error("Popover requires tooltip.js");i.VERSION="3.4.1",i.DEFAULTS=t.extend({},t.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:\'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>\'}),i.prototype=t.extend({},t.fn.tooltip.Constructor.prototype),i.prototype.constructor=i,i.prototype.getDefaults=function(){return i.DEFAULTS},i.prototype.setContent=function(){var t=this.tip(),e=this.getTitle(),i=this.getContent();if(this.options.html){var o=typeof i;this.options.sanitize&&(e=this.sanitizeHtml(e),"string"===o&&(i=this.sanitizeHtml(i))),t.find(".popover-title").html(e),t.find(".popover-content").children().detach().end()["string"===o?"html":"append"](i)}else t.find(".popover-title").text(e),t.find(".popover-content").children().detach().end().text(i);t.removeClass("fade top bottom left right in"),t.find(".popover-title").html()||t.find(".popover-title").hide()},i.prototype.hasContent=function(){return this.getTitle()||this.getContent()},i.prototype.getContent=function(){var t=this.$element,e=this.options;return t.attr("data-content")||("function"==typeof e.content?e.content.call(t[0]):e.content)},i.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var o=t.fn.popover;t.fn.popover=e,t.fn.popover.Constructor=i,t.fn.popover.noConflict=function(){return t.fn.popover=o,this}}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var o=t(this),n=o.data("bs.tab");n||o.data("bs.tab",n=new i(this)),"string"==typeof e&&n[e]()})}var i=function(e){this.element=t(e)};i.VERSION="3.4.1",i.TRANSITION_DURATION=150,i.prototype.show=function(){var e=this.element,i=e.closest("ul:not(.dropdown-menu)"),o=e.data("target");if(o||(o=e.attr("href"),o=o&&o.replace(/.*(?=#[^\\s]*$)/,"")),!e.parent("li").hasClass("active")){var n=i.find(".active:last a"),s=t.Event("hide.bs.tab",{relatedTarget:e[0]}),a=t.Event("show.bs.tab",{relatedTarget:n[0]});if(n.trigger(s),e.trigger(a),!a.isDefaultPrevented()&&!s.isDefaultPrevented()){var r=t(document).find(o);this.activate(e.closest("li"),i),this.activate(r,r.parent(),function(){n.trigger({type:"hidden.bs.tab",relatedTarget:e[0]}),e.trigger({type:"shown.bs.tab",relatedTarget:n[0]})})}}},i.prototype.activate=function(e,o,n){function s(){a.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find(\'[data-toggle="tab"]\').attr("aria-expanded",!1),e.addClass("active").find(\'[data-toggle="tab"]\').attr("aria-expanded",!0),r?(e[0].offsetWidth,e.addClass("in")):e.removeClass("fade"),e.parent(".dropdown-menu").length&&e.closest("li.dropdown").addClass("active").end().find(\'[data-toggle="tab"]\').attr("aria-expanded",!0),n&&n()}var a=o.find("> .active"),r=n&&t.support.transition&&(a.length&&a.hasClass("fade")||!!o.find("> .fade").length);a.length&&r?a.one("bsTransitionEnd",s).emulateTransitionEnd(i.TRANSITION_DURATION):s(),a.removeClass("in")};var o=t.fn.tab;t.fn.tab=e,t.fn.tab.Constructor=i,t.fn.tab.noConflict=function(){return t.fn.tab=o,this};var n=function(i){i.preventDefault(),e.call(t(this),"show")};t(document).on("click.bs.tab.data-api",\'[data-toggle="tab"]\',n).on("click.bs.tab.data-api",\'[data-toggle="pill"]\',n)}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var o=t(this),n=o.data("bs.affix"),s="object"==typeof e&&e;n||o.data("bs.affix",n=new i(this,s)),"string"==typeof e&&n[e]()})}var i=function(e,o){this.options=t.extend({},i.DEFAULTS,o);var n=this.options.target===i.DEFAULTS.target?t(this.options.target):t(document).find(this.options.target);this.$target=n.on("scroll.bs.affix.data-api",t.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",t.proxy(this.checkPositionWithEventLoop,this)),this.$element=t(e),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};i.VERSION="3.4.1",i.RESET="affix affix-top affix-bottom",i.DEFAULTS={offset:0,target:window}
vendor: 8,227 bytes, line 1
1,i.prototype.getState=function(t,e,i,o){var n=this.$target.scrollTop(),s=this.$element.offset(),a=this.$target.height();if(null!=i&&"top"==this.affixed)return i>n?"top":!1;if("bottom"==this.affixed)return null!=i?n+this.unpin<=s.top?!1:"bottom":t-o>=n+a?!1:"bottom";var r=null==this.affixed,l=r?n:s.top,h=r?a:e;return null!=i&&i>=n?"top":null!=o&&l+h>=t-o?"bottom":!1},i.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(i.RESET).addClass("affix");var t=this.$target.scrollTop(),e=this.$element.offset();return this.pinnedOffset=e.top-t},i.prototype.checkPositionWithEventLoop=function(){setTimeout(t.proxy(this.checkPosition,this),1)},i.prototype.checkPosition=function(){\r\nif(this.$element.is(":visible")){var e=this.$element.height(),o=this.options.offset,n=o.top,s=o.bottom,a=Math.max(t(document).height(),t(document.body).height());"object"!=typeof o&&(s=n=o),"function"==typeof n&&(n=o.top(this.$element)),"function"==typeof s&&(s=o.bottom(this.$element));var r=this.getState(a,e,n,s);if(this.affixed!=r){null!=this.unpin&&this.$element.css("top","");var l="affix"+(r?"-"+r:""),h=t.Event(l+".bs.affix");if(this.$element.trigger(h),h.isDefaultPrevented())return;this.affixed=r,this.unpin="bottom"==r?this.getPinnedOffset():null,this.$element.removeClass(i.RESET).addClass(l).trigger(l.replace("affix","affixed")+".bs.affix")}"bottom"==r&&this.$element.offset({top:a-e-s})}};var o=t.fn.affix;t.fn.affix=e,t.fn.affix.Constructor=i,t.fn.affix.noConflict=function(){return t.fn.affix=o,this},t(window).on("load",function(){t(\'[data-spy="affix"]\').each(function(){var i=t(this),o=i.data();o.offset=o.offset||{},null!=o.offsetBottom&&(o.offset.bottom=o.offsetBottom),null!=o.offsetTop&&(o.offset.top=o.offsetTop),e.call(i,o)})})}(jQuery),+function(t){"use strict";function e(e){var i,o=e.attr("data-target")||(i=e.attr("href"))&&i.replace(/.*(?=#[^\\s]+$)/,"");return t(document).find(o)}function i(e){return this.each(function(){var i=t(this),n=i.data("bs.collapse"),s=t.extend({},o.DEFAULTS,i.data(),"object"==typeof e&&e);!n&&s.toggle&&/show|hide/.test(e)&&(s.toggle=!1),n||i.data("bs.collapse",n=new o(this,s)),"string"==typeof e&&n[e]()})}var o=function(e,i){this.$element=t(e),this.options=t.extend({},o.DEFAULTS,i),this.$trigger=t(\'[data-toggle="collapse"][href="#\'+e.id+\'"],[data-toggle="collapse"][data-target="#\'+e.id+\'"]\'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};o.VERSION="3.4.1",o.TRANSITION_DURATION=350,o.DEFAULTS={toggle:!0},o.prototype.dimension=function(){var t=this.$element.hasClass("width");return t?"width":"height"},o.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var e,n=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(n&&n.length&&(e=n.data("bs.collapse"),e&&e.transitioning))){var s=t.Event("show.bs.collapse");if(this.$element.trigger(s),!s.isDefaultPrevented()){n&&n.length&&(i.call(n,"hide"),e||n.data("bs.collapse",null));var a=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[a](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var r=function(){this.$element.removeClass("collapsing").addClass("collapse in")[a](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!t.support.transition)return r.call(this);var l=t.camelCase(["scroll",a].join("-"));this.$element.one("bsTransitionEnd",t.proxy(r,this)).emulateTransitionEnd(o.TRANSITION_DURATION)[a](this.$element[0][l])}}}},o.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var e=t.Event("hide.bs.collapse");if(this.$element.trigger(e),!e.isDefaultPrevented()){var i=this.dimension();this.$element[i](this.$element[i]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var n=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return t.support.transition?void this.$element[i](0).one("bsTransitionEnd",t.proxy(n,this)).emulateTransitionEnd(o.TRANSITION_DURATION):n.call(this)}}},o.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},o.prototype.getParent=function(){return t(document).find(this.options.parent).find(\'[data-toggle="collapse"][data-parent="\'+this.options.parent+\'"]\').each(t.proxy(function(i,o){var n=t(o);this.addAriaAndCollapsedClass(e(n),n)},this)).end()},o.prototype.addAriaAndCollapsedClass=function(t,e){var i=t.hasClass("in");t.attr("aria-expanded",i),e.toggleClass("collapsed",!i).attr("aria-expanded",i)};var n=t.fn.collapse;t.fn.collapse=i,t.fn.collapse.Constructor=o,t.fn.collapse.noConflict=function(){return t.fn.collapse=n,this},t(document).on("click.bs.collapse.data-api",\'[data-toggle="collapse"]\',function(o){var n=t(this);n.attr("data-target")||o.preventDefault();var s=e(n),a=s.data("bs.collapse"),r=a?"toggle":n.data();i.call(s,r)})}(jQuery),+function(t){"use strict";function e(i,o){this.$body=t(document.body),this.$scrollElement=t(t(i).is(document.body)?window:i),this.options=t.extend({},e.DEFAULTS,o),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",t.proxy(this.process,this)),this.refresh(),this.process()}function i(i){return this.each(function(){var o=t(this),n=o.data("bs.scrollspy"),s="object"==typeof i&&i;n||o.data("bs.scrollspy",n=new e(this,s)),"string"==typeof i&&n[i]()})}e.VERSION="3.4.1",e.DEFAULTS={offset:10},e.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},e.prototype.refresh=function(){var e=this,i="offset",o=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),t.isWindow(this.$scrollElement[0])||(i="position",o=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var e=t(this),n=e.data("target")||e.attr("href"),s=/^#./.test(n)&&t(n);return s&&s.length&&s.is(":visible")&&[[s[i]().top+o,n]]||null}).sort(function(t,e){return t[0]-e[0]}).each(function(){e.offsets.push(this[0]),e.targets.push(this[1])})},e.prototype.process=function(){var t,e=this.$scrollElement.scrollTop()+this.options.offset,i=this.getScrollHeight(),o=this.options.offset+i-this.$scrollElement.height(),n=this.offsets,s=this.targets,a=this.activeTarget;if(this.scrollHeight!=i&&this.refresh(),e>=o)return a!=(t=s[s.length-1])&&this.activate(t);if(a&&e<n[0])return this.activeTarget=null,this.clear();for(t=n.length;t--;)a!=s[t]&&e>=n[t]&&(void 0===n[t+1]||e<n[t+1])&&this.activate(s[t])},e.prototype.activate=function(e){this.activeTarget=e,this.clear();var i=this.selector+\'[data-target="\'+e+\'"],\'+this.selector+\'[href="\'+e+\'"]\',o=t(i).parents("li").addClass("active");o.parent(".dropdown-menu").length&&(o=o.closest("li.dropdown").addClass("active")),o.trigger("activate.bs.scrollspy")},e.prototype.clear=function(){t(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};var o=t.fn.scrollspy;t.fn.scrollspy=i,t.fn.scrollspy.Constructor=e,t.fn.scrollspy.noConflict=function(){return t.fn.scrollspy=o,this},t(window).on("load.bs.scrollspy.data-api",function(){t(\'[data-spy="scroll"]\').each(function(){var e=t(this);i.call(e,e.data())})})}(jQuery),+function(t){"use strict";function e(){var t=document.createElement("bootstrap"),e={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var i in e)if(void 0!==t.style[i])return{end:e[i]};return!1}t.fn.emulateTransitionEnd=function(e){var i=!1,o=this;t(this).one("bsTransitionEnd",function(){i=!0});var n=function(){i||t(o).trigger(t.support.transition.end)};return setTimeout(n,e),this},t(function(){t.support.transition=e(),t.support.transition&&(t.event.special.bsTransitionEnd={bindType:t.supp
1ort.transition.end,delegateType:t.support.transition.end,handle:function(e){return t(e.target).is(this)?e.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery);'},function(t,e,n){n(0)(n(19))},function(t,e){t.exports=";(function ($, window) {\r\n\r\n\tvar intervals = {};\r\n\tvar removeListener = function(selector) {\r\n\r\n\t\tif (intervals[selector]) {\r\n\r\n\t\t\twindow.clearInterval(intervals[selector]);\r\n\t\t\tintervals[selector] = null;\r\n\t\t}\r\n\t};\r\n\tvar found = 'waitUntilExists.found';\r\n\r\n\t/**\r\n\t * @function\r\n\t * @property {object} jQuery plugin which runs handler function once specified\r\n\t *           element is inserted into the DOM\r\n\t * @param {function|string} handler\r\n\t *            A function to execute at the time when the element is inserted or\r\n\t *            string \"remove\" to remove the listener from the given selector\r\n\t * @param {bool} shouldRunHandlerOnce\r\n\t *            Optional: if true, handler is unbound after its first invocation\r\n\t * @example jQuery(selector).waitUntilExists(function);\r\n\t */\r\n\r\n\t$.fn.waitUntilExists = function(handler, shouldRunHandlerOnce, isChild) {\r\n\r\n\t\tvar selector = this.selector;\r\n\t\tvar $this = $(selector);\r\n\t\tvar $elements = $this.not(function() { return $(this).data(found); });\r\n\r\n\t\tif (handler === 'remove') {\r\n\r\n\t\t\t// Hijack and remove interval immediately if the code requests\r\n\t\t\tremoveListener(selector);\r\n\t\t}\r\n\t\telse {\r\n\r\n\t\t\t// Run the handler on all found elements and mark as found\r\n\t\t\t$elements.each(handler).data(found, true);\r\n\r\n\t\t\tif (shouldRunHandlerOnce && $this.length) {\r\n\r\n\t\t\t\t// Element was found, implying the handler already ran for all\r\n\t\t\t\t// matched elements\r\n\t\t\t\tremoveListener(selector);\r\n\t\t\t}\r\n\t\t\telse if (!isChild) {\r\n\r\n\t\t\t\t// If this is a recurring search or if the target has not yet been\r\n\t\t\t\t// found, create an interval to continue searching for the target\r\n\t\t\t\tintervals[selector] = window.setInterval(function () {\r\n\r\n\t\t\t\t\t$this.waitUntilExists(handler, shouldRunHandlerOnce, true);\r\n\t\t\t\t}, 500);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn $this;\r\n\t};\r\n\r\n}(jQuery, window));"},function(t,e,n){n(0)(n(21))},function(t,e){t.exports="\r\nfunction youtubelinkClick(linkobj, bannerTrackingUrl) {\r\n\t\r\n\t// get the video id\r\n\tvar id = jQuery(linkobj).attr('id');\r\n\t\r\n\t// play the video\r\n\tyoutubevideoClick(id);\r\n\t\r\n\t// track the stats\r\n\tif (bannerTrackingUrl) {\r\n\t\tjQuery.ajax({\r\n\t\t\turl: bannerTrackingUrl,\r\n\t\t\tdata: {},\r\n\t\t\tsuccess: function() {},\r\n\t\t\tdataType: 'html'\r\n\t\t});\r\n\t}\r\n\t\r\n}\r\n\r\nfunction youtubevideoClick(id) {\r\n\t\r\n\t// pause the jquery cycle slider\r\n\tjQuery('.cycle-slideshow').cycle('pause'); \r\n\t\r\n\t// adjust the height of the banner area to the same height as the video player\r\n\tvar bannerwidth = jQuery('#youtube'+id).parent().find('img').width();\r\n\tvar bannerheight = jQuery('#youtube'+id).parent().find('img').height();\r\n\tjQuery('#youtube'+id).width( bannerwidth );\r\n\tjQuery('#youtube'+id).height( bannerheight );\r\n\t\r\n\t// display & expand the youtube player\r\n\tjQuery('#youtube'+id).slideToggle();\r\n\tjQuery('#youtube'+id).parent().find('.closebox').show();\r\n\t\r\n\t// unwrap the script tag (if any)\r\n\tjQuery('#youtube'+id+' script').each(function() {\r\n\t\tjQuery(this).before(jQuery(this).html());\r\n\t\tjQuery(this).remove();\r\n\t});\r\n\t\r\n\t// play the video immediately (update iframe url with autoplay=1)\r\n\tjQuery('#youtube'+id+' iframe').each(function() {\r\n\t\tvar newSrc = jQuery(this).attr('src') + ((jQuery(this).attr('src').indexOf('?') > 0) ? '&' : '?');\r\n\t\tnewSrc = newSrc + 'autoplay=1&enablejsapi=true';\t// http://stackoverflow.com/questions/8667882/how-to-pause-a-youtube-player-when-hiding-the-iframe\r\n\t\tjQuery(this).attr('src', newSrc);\r\n\t\tjQuery(this).width( \"100%\" );\r\n\t\tjQuery(this).height( bannerheight );\r\n\t\tjQuery(this).attr('id', 'youtubeframe' + id);\r\n\t});\r\n\t\r\n\t// add a class to the body, for styling purposes\r\n\tjQuery('body').addClass('video-is-playing');\r\n\t\r\n}\r\n\r\nfunction youtubevideoClose(idNum) {\r\n\t\r\n\t// get id\r\n\tvar id = 'video' + idNum;\r\n\t\r\n\t// pause the video - http://stackoverflow.com/questions/8667882/how-to-pause-a-youtube-player
1-when-hiding-the-iframe\r\n\tdocument.getElementById('youtubeframe'+id).contentWindow.postMessage('{\"event\":\"command\",\"func\":\"pauseVideo\",\"args\":\"\"}', '*');\r\n\t\r\n\t// close the video player\r\n\tjQuery('#youtube'+id).slideUp();\r\n\tjQuery('#youtube'+id).parent().find('.closebox').hide();\r\n\t\r\n\t// remove class from the body (which was for styling purposes)\r\n\tjQuery('body').removeClass('video-is-playing');\r\n\t\r\n\t// resume the jquery cycle slider\r\n\tjQuery('.cycle-slideshow').cycle('resume'); \r\n\t\r\n}\r\n"},function(t,e,n){n(0)(n(23))},function(t,e){t.exports="\r\n\r\n// this script REQUIRES imutility.js\r\n// please ensure you include imutility.js before this script, like so:\r\n// <jdoc:include type=\"impartScript\" name=\"{shared}/v3/js/imutility.js\" compress=\"true\" />\r\n\r\n\r\n// convert the details gadget into bootstrap format, to allow for better styling, and automatic responsiveness\r\njQuery(document).on('gadget.script.loaded', function() {\r\n\r\n    IMUtility.viewMoreText = 'View more...';\r\n\r\n\t$w.event.subscribe('grid.rendered', function() {\r\n\t\t\r\n// Please do not make changes to this file within the {shared}/v3/ folder\r\n// If you wish to make changes, consider copying and pasting this file into your {template}/js/ folder, and then customising\r\n\r\n\r\n\t\t// Do not run this event handler more than once, unless the grid gets rebuilt\r\n\t\tif (jQuery('.im-grid td.quantity').hasClass('hidden-xs')) return true;\r\n\r\n\r\n\t\tjQuery('.im-grid td.quantity').addClass('hidden-xs');\r\n\t\tjQuery('.im-grid td.date').addClass('hidden-xs');\r\n\t\tjQuery('.im-grid td.date:gt(3)').addClass('hidden-sm');\r\n\t\tjQuery('.im-grid td.date:gt(7)').addClass('hidden-md');\r\n\t\t\r\n\t\tjQuery('.im-grid tbody tr').each(function() {\r\n\t\t\tjQuery(this).find('td.price').addClass('hidden-xs');\r\n\t\t\tjQuery(this).find('td.price:gt(3)').addClass('hidden-sm');\r\n\t\t\tjQuery(this).find('td.price:gt(7)').addClass('hidden-md');\r\n\r\n\t\t\t// Add a thumb placeholder for rows with no image\r\n\t\t\tif (jQuery(this).find('td.name div.thumb').length == 0) {\r\n\t\t\t\tjQuery(this).find('td.name').prepend('<div class=\"thumb\"><div style=\"background-color:#efefef;width:100%;height:100%;\"></div></div>');\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t// Insert named containers for row details\r\n\t\tjQuery('.im-grid td.name .thumb').after('<div class=\"roominfo\"><div class=\"operatorname\"></div><div class=\"roomname\"></div><div class=\"actionbar\"></div></div>');\r\n\r\n\r\n\r\n        /**/\r\n        function waitForHoverDescription() {\r\n\r\n            if (typeof BE.gadget.search.options == 'undefined') return false;\r\n\t\t\tvar loopCount=0;\r\n            return window.setInterval( function() {\r\n\t            loopCount++;\r\n\r\n\t            // Do not wait if description hover is turned off\r\n                if (BE.gadget.search.options['descriptionHover'] == false) {\r\n                    clearInterval(hoverDescriptionInterval);\r\n                    arrangeRowData();\r\n                }\r\n\r\n                // Handle hover inline differently to normal hover\r\n\t            var hoverInline = false;\r\n                var waitForElement = '.im-grid table tbody tr:first-child td.name a.has-hover';\r\n                if (BE.gadget.search.options['showHoverInline']) {\r\n                    waitForElement = '.im-grid table tbody tr:first-child td.name a.more';\r\n                    hoverInline = true;\r\n                }\r\n\t\t\t\tif (jQuery('#itemGadget').hasClass('carhire')) {\r\n\t\t\t\t\twaitForElement = '.im-grid table tbody .operatorname';\r\n\t\t\t\t}\r\n\r\n                // keep running this function until the hover description has been added\r\n\t            if (jQuery(waitForElement).length === 0 && loopCount<=2) {\r\n\t\t            return;\r\n                }\r\n\r\n                if (hoverInline) {\r\n                    if (IMUtility.debug) console.log('more link exists'); // hover inline\r\n                    // If \"View more info\" is in the actionbar, remove the gadget's more link\r\n                    if (jQuery('.im-grid tbody tr .viewmore').length > 0) {\r\n                        jQuery('.im-grid td.name a.more').remove();\r\n                    } else {\r\n                        // If no \"view more info\" link, add one plus a click action\r\n                        jQuery('.im-grid tbody tr').each(function() {\r\n                            if (jQuery(this).find('.OperatorItemContent').text().length > 0) {\r\n                                jQuery(this).find('.actionbar').append('<div class=\"viewmore\">'+ IMUtility.viewMoreText +'</div>');\r\n                                jQuery(this).find('.actionbar .viewmore').css('cursor','pointer');\r\n                            }\r\n                        });\r\n                        jQuery('.im-grid .viewmore').click(function() {\r\n                            jQuery(this).parent().parent().parent().find('.OperatorInfo').slideToggle();\r\n                        });\r\n                    }\r\n                } else {\r\n                    if (IMUtility.debug) console.log('has hover exists'); // hover\r\n                    // If \"View more info\" is in the actionbar, remove the hover link class\r\n                    if (jQuery('.im-grid tbody tr .viewmore').length > 0) {\r\n                        jQuery('.im-grid tbody tr td.name div.roomname a.has-hover').contents().unwrap().wrap('<a></a>');\r\n                    } else {\r\n                        // If no \"view more info\" link, show the hover link as is\r\n                        jQuery(this).find('td.name div.roomname a.has-hover').css('display','block');\r\n                    }\r\n                }\r\n\r\n                clearInterval(hoverDescriptionInterval);\r\n                arrangeRowData();\r\n\r\n\r\n            },500);\r\n        }\r\n        var hoverDescriptionInterval = waitForHoverDescription();\r\n\r\n\r\n\r\n\t\tfunction arrangeRowData() {\r\n\r\n\r\n\t\t\t// Insert row details into named containers..\r\n\t\t\tjQuery('.im-grid tbody tr').each(function() {\r\n\t\t\t\tif (IMUtility.debug) console.log('Next Row: '+ jQuery(this).find('td.name a').text() );\r\n\t\t\t\tjQuery(this).find('.operatorname').text(jQuery('.operator-title').text());\r\n\t\t\t\tjQuery(this).find('td.name a').appendTo(jQuery(this).find('.roomname'));\r\n\t\t\t\tjQuery(this).find('td.name .specials').appendTo(jQuery(this).find('.actionbar'));\r\n\t\t\t});\r\n\r\n\t\t\t// Add \"View more info\" text to all accom rows.\r\n\t\t\t// Click action is handled by the rooms template layout\r\n            /*\r\n\t\t\tjQuery('.accom .im-grid tbody tr').each(function() {\r\n\t\t\t\tif (IMUtility.debug) console.log('ADD VIEW MORE LINK TO: '+ jQuery(this).find('.roomname').text() );\r\n\t\t\t\tjQuery(this).find('.actionbar').append('<div class=\"viewmore\">'+IMUtility.viewMoreText+' 2</div>');\r\n\t\t\t});\r\n\t\t\t*/\r\n\r\n\t\t\t// Move thumb to its own column\r\n\t\t\tif (jQuery('.im-grid thead tr td.thumb').length>0 || jQuery('.im-grid tbody tr td.thumb').length>0) { return true; }\r\n\t\t\tjQuery('.im-grid thead tr').prepend('<td class=\"thumb\"></td>');\r\n\t\t\tjQuery('.im-grid tbody tr').each(function() {\r\n\t\t\t\tjQuery(this).find('td.name').before('<td class=\"thumb\"></td>');\r\n\t\t\t\tjQuery(this).find('td.thumb').append(jQuery(this).find('div.thumb'));\r\n\t\t\t});\r\n\t\t}\r\n\r\n\r\n\r\n\t});\r\n});\r\n"},function(t,e,n){n(0)(n(25))}
1,function(t,e){t.exports="\r\n\r\n// this script REQUIRES imutility.js\r\n// please ensure you include imutility.js before this script, like so:\r\n// <jdoc:include type=\"impartScript\" name=\"{shared}/v3/js/imutility.js\" compress=\"true\" />\r\n\r\n\r\nwindow.transformBookingGadget = function() {\r\n\t\r\n\t// CHECK TO MAKE SURE THIS FUNCTION DOES NOT RUN TWICE\r\n\tif (jQuery('.booking-gadget').hasClass('row')) { return false; }\r\n\t\r\n\t// transform booking gadget\r\n\t\r\n\tjQuery('.booking-gadget').addClass('row');\r\n\tif (!jQuery('.booking-gadget .shopping-cart').parent().hasClass('gadget__book-column')) {\r\n\t\tjQuery('.booking-gadget .shopping-cart').wrap('<div class=\"gadget__book-column gadget__book-column-cart col-xs-12 col-sm-12 col-md-4\"></div>').css('width', 'auto').css('margin', '0 0 30px 0').css('float', 'none');\r\n\t\tjQuery('.booking-gadget .personalDetails').wrap('<div class=\"gadget__book-column gadget__book-column-cart col-xs-12 col-sm-12 col-md-4\"></div>').css('width', 'auto').css('margin', '0 0 30px 0').css('float', 'none');\r\n\t\tjQuery('.booking-gadget .ccDetails').wrap('<div class=\"gadget__book-column gadget__book-column-cart col-xs-12 col-sm-12 col-md-4\"></div>').css('width', 'auto').css('margin', '0 0 30px 0').css('float', 'none');\r\n\r\n\t}\r\n\tif (jQuery('.expirationDate').length > 0) {\r\n\t\tjQuery('.booking-gadget.BE .cartItems').addClass('cartTimer');\r\n\t}\r\n\r\n\tjQuery('.booking-gadget .personalDetails > div, .booking-gadget .ccDetails > div').each(function() {\r\n\t\tif (!jQuery(this).hasClass('receiveENewsletter') && !jQuery(this).hasClass('acceptCancellationPolicy') && !jQuery(this).hasClass('deposits') && !jQuery(this).hasClass('cardTypes') && !jQuery(this).hasClass('button')) {\r\n\t\t\tjQuery(this).addClass('row');\r\n\t\t\tjQuery(this).find('label').wrap('<div class=\"col-xs-12 col-md-4\"></div>').css('display', 'block').css('width', 'auto');\r\n\t\t\tjQuery(this).find('.pers').wrap('<div class=\"col-xs-12 col-md-8\"></div>').css('display', 'block').css('width', '100%');\r\n\t\t\tjQuery(this).find('.paymentTypeOption').wrap('<div class=\"col-xs-12 col-md-1\"></div>').css('display', 'block').css('width', '100%');\r\n\t\t\tjQuery(this).find('.paymentTypeList > span').after('<div class=\"clearfix\"></div>');\r\n\t\t\tjQuery(this).find('.paymentTypeList > span:not(:first-child) > div:first-child').addClass('col-md-offset-4');\r\n\r\n\r\n\t\t\tjQuery(this).find('input.paym').wrap('<div class=\"col-xs-12 col-md-8\"></div>').css('display', 'block').css('width', '100%');\r\n\t\t\tjQuery(this).find('select.paym').wrap('<div class=\"col-xs-6 col-md-6\"></div>').css('display', 'block').css('width', '100%');\r\n\t\t\tjQuery(this).find('.expirySelects').addClass('col-xs-12 col-md-8');\r\n\t\t\tjQuery(this).find('.expirySelects div').css('padding', '0');\r\n\t\t}\r\n\t\tif (jQuery(this).hasClass('cardTypes')) {\r\n\t\t\tjQuery(this).wrap('<div class=\"row\"></div>');\r\n\t\t\tjQuery(this).find('label').wrap('<div class=\"col-xs-12 col-md-4\"></div>').css('display', 'block').css('width', 'auto');\r\n\t\t\tjQuery(this).find('.cardList').addClass('col-xs-12 col-md-8');\r\n\t\t}\r\n\t\tif (jQuery(this).hasClass('no-payment')) {\r\n\t\t\tjQuery(this).wrapInner('<div class=\"col-xs-12\"></div>');\r\n\t\t}\r\n\t});\r\n\r\n\tjQuery('head').append('<style> .booking-gadget .row { padding-bottom:8px; } </style>');\r\n}\r\n\r\n// convert the booking gadget into bootstrap format, to allow for better styling, and automatic responsiveness\r\njQuery(document).on('gadget.script.loaded', function() {\r\n\t//IMUtility.pushBookGadgetLoadedEvent();\r\n\tIMUtility.pushBookGadgetChangedEvent();\r\n\tIMUtility.cart_remove_click = 0;\r\n\r\n\t$w.event.subscribe('book.gadget.ready', function() {\r\n\r\n\r\n\t\tif (IMUtility.cart_remove_click === 1) {\r\n\r\n\t\t\tif (jQuery('.booking-gadget .shopping-cart').parent().hasClass('gadget__book-column')) {\r\n\t\t\t\tjQuery('.booking-gadget .shopping-cart').unwrap();\r\n\t\t\t}\r\n\t\t\tif (jQuery('.booking-gadget .personalDetails').parent().hasClass('gadget__book-column')) {\r\n\t\t\t\tjQuery('.booking-gadget .personalDetails').unwrap();\r\n\t\t\t}\r\n\t\t\tif (jQuery('.booking-gadget .ccDetails').parent().hasClass('gadget__book-column')) {\r\n\t\t\t\tjQuery('.booking-gadget .ccDetails').unwrap();\r\n\t\t\t}\r\n\t\t\tjQuery('.gadget__book-column:empty').remove();\r\n\t\t\ttransformBookingGadget();\r\n\t\t}\r\n\r\n\r\n\t\tif (IMUtility.cart_remove_click === 0) {\r\n\t\t\ttransformBookingGadget();\r\n\t\t}\r\n\r\n\t\tIMUtility.cart_remove_click = 0;\r\n\t});
1\r\n\r\n\t$w.event.subscribe('cart.remove.click', function() {\r\n\t\t// This event fires whether you click to confirm removal or click cancel\r\n\t\t// So do the adjustments in the gadget ready event\r\n\t\tIMUtility.cart_remove_click = 1;\r\n\r\n\t});\r\n\r\n\r\n});\r\n"},function(t,e,n){n(0)(n(27))},function(t,e){t.exports="\r\nif (typeof($jBaseUrl) === 'undefined') { $jBaseUrl = '/'; }\r\n\r\nIMItineraryCore = {\r\n\t\r\n\tselector : '',\r\n\thoverTimeout : '',\r\n\t\r\n\tinit : function(selector) {\r\n\t\tIMItineraryCore.selector = selector;\r\n\t\tIMItineraryCore.updateTotal();\r\n\t\tIMItineraryCore.applyButtonStates();\r\n\t\tjQuery(IMItineraryCore.selector).hover(function() {\r\n\t\t\tIMItineraryCore.showPopup();\r\n\t\t}, function() {\r\n\t\t\tIMItineraryCore.hidePopup();\r\n\t\t});\r\n\t},\r\n\t\r\n\taddButtonClick : function(button) {\r\n\t\tif (jQuery(button).hasClass('added')) {\r\n\t\t\tdocument.location.href = jQuery(button).attr('data-redirect-url');\r\n\t\t\treturn false;\r\n\t\t} else {\r\n\t\t\tIMItineraryCore.add( jQuery(button).attr('data-add-url') );\r\n\t\t\tjQuery(button).addClass('added');\r\n\t\t\tjQuery(button).find('span').eq(0).text( jQuery(button).attr('data-active') );\r\n\t\t}\r\n\t},\r\n\t\r\n\tadd : function(url) {\r\n\t\tjQuery('.header-itinerary-popout').remove();\r\n\t\tjQuery.get(IMItineraryCore.uniqueAjaxUrl(url), function(numberItems) {\r\n\t\t\tIMItineraryCore.updateTotal();\r\n\t\t\tIMItineraryCore.applyButtonStates();\r\n\t\t\tIMItineraryCore.showPopup();\r\n\t\t\tsetTimeout(function() { jQuery('.itinerary-item-number').addClass('bounce-thrice'); }, 2000);\r\n\t\t\tsetTimeout('IMItineraryCore.hidePopup()', 10000);\r\n\t\t});\r\n\t},\r\n\t\r\n\tremove: function(url, obj) {\r\n\t\tjQuery.get(IMItineraryCore.uniqueAjaxUrl(url), function(numberItems) {\r\n\t\t\tIMItineraryCore.updateTotal();\r\n\t\t\tIMItineraryCore.applyButtonStates();\r\n\t\t\tjQuery('.header-itinerary-popout').slideUp(function() {\r\n\t\t\t\tjQuery(this).remove();\r\n\t\t\t});\r\n\t\t\twindow.location.reload();\r\n\t\t});\r\n\t},\r\n\t\r\n\tupdateTotal : function() {\r\n\t\tvar number_total = parseInt($w.cookie('itinerary_total'));\r\n\t\tjQuery('.itinerary-item-number').text( (number_total ? number_total : '') );\r\n\t\tjQuery('.header-itinerary-planner, .header-itinerary-icon, .itinerary-item-number').removeClass('is-active');\r\n\t\tif (number_total > 0) {\r\n\t\t\tjQuery('.header-itinerary-planner, .header-itinerary-icon, .itinerary-item-number').addClass('is-active');\r\n\t\t}\r\n\t},\r\n\t\r\n\tshowPopup: function() {\r\n\t\tif (jQuery('.header-itinerary-popout').length > 0) {\r\n\t\t\tjQuery('body').removeClass('itinerary-popout-visible');\r\n\t\t\tjQuery('.header-itinerary-popout').stop();\r\n\t\t\tjQuery('.header-itinerary-popout').fadeTo(400, 1.0);\r\n\t\t\tclearTimeout(IMItineraryCore.hoverTimeout);\r\n\t\t} else {\r\n\t\t\tjQuery('body').addClass('itinerary-popout-visible');\r\n\t\t\tjQuery(IMItineraryCore.selector).append('<div class=\"header-itinerary-popout\" style=\"display:none\"><div class=\"itp-spinner\"><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div></div></div>');\r\n\t\t\tjQuery('.header-itinerary-popout').fadeTo(400, 1.0);\r\n\t\t\tjQuery.get(IMItineraryCore.uniqueAjaxUrl(IMItineraryConfig.url_html), function(data) {\r\n\t\t\t\tjQuery('.header-itinerary-popout').html(data);\r\n\t\t\t});\r\n\t\t}\r\n\t},\r\n\t\r\n\thidePopup: function() {\r\n\t\tjQuery('body').removeClass('itinerary-popout-visible');\r\n\t\tjQuery('.header-itinerary-popout').stop();\r\n\t\tjQuery('.header-itinerary-popout').fadeTo(400, 0.0, function() {\r\n\t\t\tjQuery('.header-itinerary-popout').hide();\r\n\t\t});\r\n\t\tjQuery('.itinerary-item-number').removeClass('bounce-thrice');\r\n\t\tIMItineraryCore.hoverTimeout = setTimeout(function() {\r\n\t\t\tjQuery('.header-itinerary-popout').remove();\r\n\t\t}, 10000);\r\n\t},\r\n\t\r\n\tapplyButtonStates: function() {\r\n\t\tvar number_total = parseInt($w.cookie('itinerary_total'));\r\n\t\tvar items = ($w.cookie('itinerary_items') ? JSON.parse($w.cookie('itinerary_items')) : []);\r\n\t\tjQuery.each(items, function(index, item_key) {\r\n\t\t\tjQuery('#itin-btn-'+item_key).addClass('added');\r\n\t\t\tjQuery('#itin-btn-'+item_key).find('span').text( jQuery('#itin-btn-'+item_key).attr('data-active') );\r\n\t\t});\r\n\t\tif (number_total) {\r\n\t\t\tjQuery('body').addClass('hasItineraryPlannerItems');\r\n\t\t} else {\r\n\t\t\tjQuery('body').removeClass('hasItineraryPlannerItems');\r\n\t\t}\r\n\t},\r\n\t\r\n\tuniqueAjaxUrl : function(url) {\r\n\t\turl += ((url.indexOf('?') > 1) ? '&' : '?');\r\n\t\turl += 'unique_id=' + Date.now().toString(36) + Math.random().toString(36).substr(2);\r\n\t\treturn url;\r\n\t}\r\n\t\r\n};\r\n\r\njQuery(document).ready(function() {\r\n\t\r\n\tIMItineraryCore.init(IMItineraryConfig.selector);\r\n\t\r\n});\r\n\r\njQuery(document).on('hybrid.gadget.redraw.complete', function() {\r\n\t\r\n\tIMItineraryCore.applyButtonStates();\r\n\t\r\n});\r\n  \r\nsetTimeout(function() {\r\n\tif (typeof(window.IMItinerary) !== 'undefined') {\r\n\t\tconsole.error('IMItinerary JS is deprecated (remove layout)');\r\n\t}\r\n\tif (jQuery('.link-tripplanner-hover').length > 0) {\r\n\t\tconsole.error('link-tripplanner-hover ... is deprecated (remove from module)');\r\n\t}\r\n\tif (typeof(window.addToTripPlanner) !== 'undefined') {\r\n\t\tconsole.error('Functions addToTripPlanner(), removeFromTripPlanner(), showTripPlannerPopout(), hideTripPlannerPopout() are deprecated (remove old features)');\r\n\t}\r\n\tif (typeof(window.removeFromTripPlanner) === 'undefined') {\r\n\t\twindow.removeFromTripPlanner = function(url, obj) {\r\n\t\t\tIMItineraryCore.remove(url, obj);\r\n\t\t\treturn false;\r\n\t\t};\r\n\t}\r\n}, 3000);\r\n\r\n\r\nBE.handlebars.addToTripPlannerLink = function(item_id, text, className, attribs) {\r\n\ttext = (((typeof(text) === 'string') && text) ? text : 'Add to itinerary');\r\n\tclassName = (className ? className : 'btn-add-to-itinerary');\r\n\tattribs = (attribs ? attribs : 'data-toggle=\"tooltip\" title=\"<h3>Add to my itinerary</h3>\"');\r\n\tvar button = {};\r\n\tbutton.add_id = (item_id ? item_id : 0);\r\n\tbutton.active = false;\r\n\tvar type = 'bookeasy';\r\n\tif (className.indexOf('add-event') >= 0) { type = 'rseventspro'; }\r\n\tbutton.url = site_base_url+'api-site/itineraryplanner/add/'+type+'/'+button.add_id;\r\n\tbutton.onclick = \"IMItineraryCore.addButtonClick(this);\";\r\n\tbutton.labelInactive = text;\r\n\tbutton.labelActive = 'View itinerary';\r\n\tbutton.cssclass = className;\r\n\tbutton.attribs = attribs;\r\n\tbutton.html = '<a tabindex=\"0\" id=\"itin-btn-'+type+'-'+button.add_id+'\" class=\"button-add '+button.cssclass+'\" aria-label=\"'+button.labelInactive+'\" data-add-url=\"'+button.url+'\" data-redirect-url=\"'+site_base_url+'itinerary-planner\" data-active=\"'+button.labelActive+'\" data-im-onclick=\"'+button.onclick+'\" '+button.attribs+'><span>
1'+button.labelInactive+'</span></a>';\r\n\treturn button.html;\r\n};\r\nHandlebarsBE.registerHelper('addToTripPlannerLink', BE.handlebars.addToTripPlannerLink);\r\n"},function(t,e,n){n(0)(n(29))},function(t,e){t.exports="\r\njQuery(document).ready(function() {\r\n\t\r\n\tvar root = jQuery('html, body');\r\n\t\r\n\tjQuery('a[href^=\"#\"]').click(function(event) {\r\n\t\t\r\n\t\tevent.preventDefault();\r\n\t\t\r\n\t\tvar href = jQuery(this).attr('href');\r\n\t\tvar target = (jQuery(href).length ? jQuery(href) : jQuery('[name=\"'+href.substr(1)+'\"]'));\r\n\r\n\t\tif (!target || !href.substr(1)) { return; }\r\n\t\t\r\n\t\tif (target.length > 0) {\r\n\t\t\troot.animate({\r\n\t\t\t\tscrollTop: (target.offset().top - jQuery('header').height() - 50)\r\n\t\t\t}, 500, function () {\r\n\t\t\t\thistory.pushState(null, null, href);\r\n\t\t\t});\r\n\t\t}\r\n\t\t\r\n\t});\r\n\r\n});\r\n"},function(t,e,n){n(0)(n(31))},function(t,e){t.exports="var $j = jQuery.noConflict();\r\n\r\n$j(document).ready(function() {\r\n\r\n\t// Header Cart Price Formatting\r\n\tfunction cartPriceSpacing(elem) {\r\n\t\t\r\n\t\t// iterate through all the elements\r\n\t\t$j(elem).each(function() {\r\n\t\t\tvar string = $j(this).html().toLowerCase(); // eg. string 'aud$50'\r\n\r\n\t\t\tif ( string.indexOf('aud$') == 0 ) { // if contains 'aud'\r\n\t\t\t\t// split the string\r\n\t\t\t\tvar arr = string.split('');\r\n\t\t\t\t// find the '$' and replace with ' $'\r\n\t\t\t\tfor (var i = 0; i < arr.length; i++) {\r\n\t\t\t\t\tif (arr[i] == '$') {\r\n\t\t\t\t\t\tarr[i] = ' $';\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tarr = arr.join('');\r\n\t\t\t\t$j(this).html( arr.toUpperCase() );\r\n\t\t\t}\r\n\r\n\t\t});\r\n\r\n\t}\r\n\r\n\t$j('.header-cart').on('click', function() {\r\n\t\t// Set Delay because the prices don't appear instantly for some reason.\r\n\t\tsetTimeout( function() {\r\n\t\t\tcartPriceSpacing('.cartItems .total span');\r\n\t\t\tcartPriceSpacing('.cartInOverlay .cartItems .item .price label');\r\n\t\t}, 100);\r\n\t});\r\n\r\n\t// im-pricebutton doesn't yet after 'document.ready' so delegate the click event\r\n\t$j('body').on('click', '.im-pricebutton', function() {\r\n\t\t// Set Delay because the prices don't appear instantly for some reason.\r\n\t\tsetTimeout( function() {\r\n\t\t\tcartPriceSpacing('#wdOverlayContent .add-to-cart-information .price span');\r\n\t\t}, 100);\r\n\r\n\t});\r\n\r\n});"},function(t,e,n){n(0)(n(33))},function(t,e){t.exports="\r\nwindow.startLazyLoader = function() {\r\n\t\r\n\tvar check = jQuery('img');\r\n\tif (typeof(check.unveil) === 'undefined') { return; }\r\n\t\r\n\t// reveal <img> tags\r\n\tjQuery('img').unveil(200, function() {\r\n\t\tjQuery(this).removeAttr('data-anim');\r\n\t});\r\n\t\r\n\t// reveal <div> tags\r\n\tjQuery('div[data-src]').unveil(200, function() {\r\n\t\t\r\n\t});\r\n\t\r\n\t// reveal \"data-style\" tags\r\n\tjQuery('*[data-style]').unveil(200, function() {\r\n\t\t\r\n\t});\r\n\t\r\n\t// reveal <iframe> tags\r\n\tjQuery('iframe.lazy[data-src]').unveil(200, function() {\r\n\t\t\r\n\t});\r\n\t\r\n};\r\n\r\nwindow.compatibilityLazyLoaderWithSlickJS = function() {\r\n\t\r\n\tjQuery('.slick-initialized').on('afterChange', function(event, slick, currentSlide, nextSlide){\r\n\t\tif (slick && slick.$slider) {\r\n\t\t\tjQuery(slick.$slider).find('[data-style]').unveil(200, function() { });\r\n\t\t}\r\n\t});\r\n\t\r\n};\r\n\r\n\r\n/**\r\n * jQuery Unveil\r\n * A very lightweight jQuery plugin to lazy load images\r\n * http://luis-almeida.github.com/unveil\r\n *\r\n * Licensed under the MIT license.\r\n * Copyright 2013 Luís Almeida\r\n * https://github.com/luis-almeida\r\n */\r\n\r\n;(function($) {\r\n\r\n  $.fn.unveil = function(threshold, callback) {\r\n\r\n    var $w = $(window),\r\n        th = threshold || 0,\r\n        retina = window.devicePixelRatio > 1,\r\n        attrib = retina? \"data-src-retina\" : \"data-src\",\r\n        images = this,\r\n        loaded;\r\n\r\n    this.one(\"unveil\", function() {\r\n      var source = this.getAttribute(attrib);\r\n      source = source || this.getAttribute(\"data-src\");\r\n      if (source) {\r\n      \t\r\n\t// IMPART MEDIA MODIFICATION :: support both <img> tags using src=\"\" ...AND... support <div> tags using background-image style attribute\r\n      \tif (jQuery(this).is('img') || jQuery(this).is('iframe')) {\r\n        \tthis.setAttribute(\"src\", source);\r\n        } else {\r\n        \tjQuery(this).attr('style', 'background-image:url(' + source + ')');\r\n        }\r\n        \r\n        if (typeof callback === \"function\") callback.call(this);\r\n\r\n\r\n      } else if (this.getAttribute(\"data-style\") !== undefined && this.getAttribute(\"data-style\") !== null ) {\r\n\t// IMPART MEDIA MODIFICATION :: support lazy loading of background images which were included with inline styles\r\n\r\n\t      var existing_style = '';\r\n\t      if ( this.getAttribute(\"style\") !== undefined ) {\r\n\t\t      existing_style = this.getAttribute(\"style\");\r\n\t      }\r\n\r\n\t      this.setAttribute('style', this.getAttribute(\"data-style\") + '; '+ existing_style);\r\n\r\n      \t  if (typeof callback === \"function\") callback.call(this);\r\n      \t\r\n      }\r\n    });\r\n\r\n    function unveil() {\r\n      var inview = images.filter(function() {\r\n        var $e = $(this);\r\n        if ($e.is(\":hidden\")) return;\r\n\r\n        var wt = $w.scrollTop(),\r\n            wb = wt + window.innerHeight,\r\n            et = $e.offset().top,\r\n            eb = et + $e.height();\r\n\r\n        return eb >= wt - th && et <= wb + th;\r\n      });\r\n\r\n      loaded = inview.trigger(\"unveil\");\r\n      images = images.not(loaded);\r\n    }\r\n\r\n    $w.on(\"scroll.unveil resize.unveil lookup.unveil\", unveil);\r\n\r\n    unveil();\r\n\r\n    return this;\r\n\r\n  };\r\n\r\n})(window.jQuery || window.Zepto);\r\n\r\n\r\n\r\njQuery(document).ready(function() {\r\n\t\r\n\t// start up the lazy loader script after jQuery document ready\r\n\tstartLazyLoader();\r\n\t\r\n\t// for any sites using slick sliders, we want to make sure we run our compatibility code\r\n\t// however it will only work once any slick sliders have been initialised, so let's wait for almost a second, to be safe\r\n\tsetTimeout(function() {\r\n\t\tcompatibilityLazyLoaderWithSlickJS();\r\n\t}, 900);\r\n\t\r\n});\r\n"},function(t,e,n){n(0)(n(35))},function(t,e){t.exports="function viewport() {\r\n\tvar e = window, a = 'inner';\r\n\tif (!('innerWidth' in window )) {\r\n\t    a = 'client';\r\n\t    e = document.documentElement || document.body;\r\n\t}\r\n\treturn { width : e[ a+'Width' ] , height : e[ a+'Height' ] };\r\n}\r\n\r\nfunction debounce(func, wait, immediate) {\r\n\tvar timeout;\r\n\treturn function() {\r\n\t\tvar context = this, args = arguments;\r\n\t\tvar later = function() {\r\n\t\t\ttimeout = null;
1\r\n\t\t\tif (!immediate) func.apply(context, args);\r\n\t\t};\r\n\t\tvar callNow = immediate && !timeout;\r\n\t\tclearTimeout(timeout);\r\n\t\ttimeout = setTimeout(later, wait);\r\n\t\tif (callNow) func.apply(context, args);\r\n\t};\r\n};\r\n\r\n(function ($) {\r\n    $.fn.uncomment = function () {\r\n        for (var i = 0, l = this.length; i < l; i++) {\r\n            for (var j = 0, len = this[i].childNodes.length; j < len; j++) {\r\n                if (this[i].childNodes[j].nodeType === 8) {\r\n                    var content = this[i].childNodes[j].nodeValue;\r\n                    $(this[i].childNodes[j]).replaceWith(content);\r\n                }\r\n            }\r\n        }\r\n    };\r\n})(jQuery);\r\n\r\n(function($){\r\n  \r\n    /**\r\n     * jQuery function to prevent default anchor event and take the href * and the title to make a share popup\r\n     *\r\n     * @param  {[object]} e           [Mouse event]\r\n     * @param  {[integer]} intWidth   [Popup width defalut 500]\r\n     * @param  {[integer]} intHeight  [Popup height defalut 400]\r\n     * @param  {[boolean]} blnResize  [Is popup resizeabel default true]\r\n     */\r\n    $.fn.customerPopup = function (e, intWidth, intHeight, blnResize) {\r\n        \r\n        // Prevent default anchor event\r\n        e.preventDefault();\r\n\r\n        // Set values for window\r\n        intWidth = intWidth || '500';\r\n        intHeight = intHeight || '400';\r\n        strResize = (blnResize ? 'yes' : 'no');\r\n\r\n        // Set title and open popup with focus on it\r\n        var strTitle = ((typeof this.attr('title') !== 'undefined') ? this.attr('title') : 'Social Share'),\r\n            strParam = 'width=' + intWidth + ',height=' + intHeight + ',resizable=' + strResize,            \r\n            objWindow = window.open(this.attr('href'), strTitle, strParam).focus();\r\n    }   \r\n    \r\n}(jQuery));\r\n\r\n// jQuery helper function for use with animate.css\r\njQuery.fn.extend({\r\n    animateCss: function (animationName, callback) {\r\n        var animationEnd = 'webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend';\r\n        this.addClass('animated ' + animationName).one(animationEnd, function() {\r\n            jQuery(this).removeClass('animated ' + animationName);\r\n            if (typeof callback == 'function') { // make sure the callback is a function\r\n                callback.call(this); // brings the scope to the callback\r\n            }\r\n        });\r\n    }\r\n});\r\n\r\n\r\n/**\r\n * detect IE\r\n * returns version of IE or false, if browser is not Internet Explorer\r\n */\r\nfunction detectIE() {\r\n    var ua = window.navigator.userAgent;\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    // other browser\r\n    return false;\r\n}\r\n\r\n/**\r\n * detect Microsoft Edge\r\n * returns version of IE or false, if browser is not Internet Explorer\r\n */\r\nfunction detectEdge() {\r\n\tvar ua = window.navigator.userAgent;\r\n\r\n\tvar edge = ua.indexOf('Edge/');\r\n\tif (edge > 0) {\r\n\t   // Edge (IE 12+) => return version number\r\n\t   return parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);\r\n\t}\r\n\r\n\t// other browser\r\n\treturn false;\r\n}\r\n\r\nfunction detectSafari() {\r\n    return (navigator.userAgent.indexOf('Safari') != -1 && navigator.userAgent.indexOf('Chrome') == -1 );\r\n}"},function(t,e,n){n(0)(n(37))},function(t,e){t.exports="var $j = jQuery.noConflict();\r\n\r\n$j(document).ready(function() {\r\n\r\n\t// Responsive Youtube Video\r\n\tif ( $j('iframe').length > 0 ) {\r\n\t\t$j('iframe').each(function(){\r\n\t\t\tvar currentSource = $j(this).attr('src');\r\n\t\t\t\r\n\t\t\tif ( typeof currentSource == \"string\" && currentSource.toLowerCase().indexOf(\"youtube.com\") >= 0 ) {\r\n\t\t\t\t// Sets the max-width to the iframe's width attribute if it exists\r\n\t\t\t\tif ( $j(this).attr('width') ) {\r\n\t\t\t\t\tvar iframe_width = $j(this).attr('width');\r\n\t\t\t\t\t$j(this).wrap('<div class=\"embed-container-max\" style=\"max-width:'+iframe_width+'px;margin:0 auto;\"><div class=\"embed-container\"></div></div>');\r\n\t\t\t\t} else {\r\n\t\t\t\t\t$j(this).wrap('<div class=\"embed-container-max\"><div class=\"embed-container\"></div></div>');\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t\r\n\t\t});\r\n   \t}\r\n\r\n});"},function(t,e,n){n(0)(n(39))},function(t,e){t.exports='/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20141007 */\r\n!function(a){"use strict";a(document).on("cycle-bootstrap",function(a,b,c){"carousel"===b.fx&&(c.get
vendor: 8,351 bytes, line 1
1SlideIndex=function(a){var b=this.opts()._carouselWrap.children(),c=b.index(a);return c%b.length},c.next=function(){var a=b.reverse?-1:1;b.allowWrap===!1&&b.currSlide+a>b.slideCount-b.carouselVisible||(b.API.advanceSlide(a),b.API.trigger("cycle-next",[b]).log("cycle-next"))})}),a.fn.cycle.transitions.carousel={preInit:function(b){b.hideNonActive=!1,b.container.on("cycle-destroyed",a.proxy(this.onDestroy,b.API)),b.API.stopTransition=this.stopTransition;for(var c=0;c<b.startingSlide;c++)b.container.append(b.slides[0])},postInit:function(b){var c,d,e,f,g=b.carouselVertical;b.carouselVisible&&b.carouselVisible>b.slideCount&&(b.carouselVisible=b.slideCount-1);var h=b.carouselVisible||b.slides.length,i={display:g?"block":"inline-block",position:"static"};if(b.container.css({position:"relative",overflow:"hidden"}),b.slides.css(i),b._currSlide=b.currSlide,f=a(\'<div class="cycle-carousel-wrap"></div>\').prependTo(b.container).css({margin:0,padding:0,top:0,left:0,position:"absolute"}).append(b.slides),b._carouselWrap=f,g||f.css("white-space","nowrap"),b.allowWrap!==!1){for(d=0;d<(void 0===b.carouselVisible?2:1);d++){for(c=0;c<b.slideCount;c++)f.append(b.slides[c].cloneNode(!0));for(c=b.slideCount;c--;)f.prepend(b.slides[c].cloneNode(!0))}f.find(".cycle-slide-active").removeClass("cycle-slide-active"),b.slides.eq(b.startingSlide).addClass("cycle-slide-active")}b.pager&&b.allowWrap===!1&&(e=b.slideCount-h,a(b.pager).children().filter(":gt("+e+")").hide()),b._nextBoundry=b.slideCount-b.carouselVisible,this.prepareDimensions(b)},prepareDimensions:function(b){var c,d,e,f,g=b.carouselVertical,h=b.carouselVisible||b.slides.length;if(b.carouselFluid&&b.carouselVisible?b._carouselResizeThrottle||this.fluidSlides(b):b.carouselVisible&&b.carouselSlideDimension?(c=h*b.carouselSlideDimension,b.container[g?"height":"width"](c)):b.carouselVisible&&(c=h*a(b.slides[0])[g?"outerHeight":"outerWidth"](!0),b.container[g?"height":"width"](c)),d=b.carouselOffset||0,b.allowWrap!==!1)if(b.carouselSlideDimension)d-=(b.slideCount+b.currSlide)*b.carouselSlideDimension;else for(e=b._carouselWrap.children(),f=0;f<b.slideCount+b.currSlide;f++)d-=a(e[f])[g?"outerHeight":"outerWidth"](!0);b._carouselWrap.css(g?"top":"left",d)},fluidSlides:function(b){function c(){clearTimeout(e),e=setTimeout(d,20)}function d(){b._carouselWrap.stop(!1,!0);var a=b.container.width()/b.carouselVisible;a=Math.ceil(a-g),b._carouselWrap.children().width(a),b._sentinel&&b._sentinel.width(a),h(b)}var e,f=b.slides.eq(0),g=f.outerWidth()-f.width(),h=this.prepareDimensions;a(window).on("resize",c),b._carouselResizeThrottle=c,d()},transition:function(b,c,d,e,f){var g,h={},i=b.nextSlide-b.currSlide,j=b.carouselVertical,k=b.speed;if(b.allowWrap===!1){e=i>0;var l=b._currSlide,m=b.slideCount-b.carouselVisible;i>0&&b.nextSlide>m&&l==m?i=0:i>0&&b.nextSlide>m?i=b.nextSlide-l-(b.nextSlide-m):0>i&&b.currSlide>m&&b.nextSlide>m?i=0:0>i&&b.currSlide>m?i+=b.currSlide-m:l=b.currSlide,g=this.getScroll(b,j,l,i),b.API.opts()._currSlide=b.nextSlide>m?m:b.nextSlide}else e&&0===b.nextSlide?(g=this.getDim(b,b.currSlide,j),f=this.genCallback(b,e,j,f)):e||b.nextSlide!=b.slideCount-1?g=this.getScroll(b,j,b.currSlide,i):(g=this.getDim(b,b.currSlide,j),f=this.genCallback(b,e,j,f));h[j?"top":"left"]=e?"-="+g:"+="+g,b.throttleSpeed&&(k=g/a(b.slides[0])[j?"height":"width"]()*b.speed),b._carouselWrap.animate(h,k,b.easing,f)},getDim:function(b,c,d){var e=a(b.slides[c]);return e[d?"outerHeight":"outerWidth"](!0)},getScroll:function(a,b,c,d){var e,f=0;if(d>0)for(e=c;c+d>e;e++)f+=this.getDim(a,e,b);else for(e=c;e>c+d;e--)f+=this.getDim(a,e,b);return f},genCallback:function(b,c,d,e){return function(){var c=a(b.slides[b.nextSlide]).position(),f=0-c[d?"top":"left"]+(b.carouselOffset||0);b._carouselWrap.css(b.carouselVertical?"top":"left",f),e()}},stopTransition:function(){var a=this.opts();a.slides.stop(!1,!0),a._carouselWrap.stop(!1,!0)},onDestroy:function(){var b=this.opts();b._carouselResizeThrottle&&a(window).off("resize",b._carouselResizeThrottle),b.slides.prependTo(b.container),b._carouselWrap.remove()}}}(jQuery);'},function(t,e,n){n(0)(n(41))},function(t,e){t.exports="/*\r\n     _ _      _       _\r\n ___| (_) ___| | __  (_)___\r\n/ __| | |/ __| |/ /  | / __|\r\n\\__ \\ | | (__|   < _ | \\__ \\\r\n|___/_|_|\\___|_|\\_(_)/ |___/\r\n                   |__/\r\n\r\n Version: 1.8.0\r\n  Author: Ken Wheeler\r\n Website: http://kenwheeler.github.io\r\n    Docs: http://kenwheeler.github.io/slick\r\n    Repo: http://github.com/kenwheeler/slick\r\n  Issues: http://github.com/kenwheeler/slick/issues\r\n\r\n */\r\n/* global window, document, define, jQuery, setInterval, clearInterval */\r\n;(function(factory) {\r\n    'use strict';\r\n    if (typeof define === 'function' && define.amd) {\r\n        define(['jquery'], factory);\r\n    } else if (typeof exports !== 'undefined') {\r\n        module.exports = factory(require('jquery'));\r\n    } else {\r\n        factory(jQuery);\r\n    }\r\n\r\n}(function($) {\r\n    'use strict';\r\n    var Slick = window.Slick || {};\r\n\r\n    Slick = (function() {\r\n\r\n        var instanceUid = 0;\r\n\r\n        function Slick(element, settings) {\r\n\r\n            var _ = this, dataSettings;\r\n\r\n            _.defaults = {\r\n                accessibility: true,\r\n                adaptiveHeight: false,\r\n                appendArrows: $(element),\r\n                appendDots: $(element),\r\n                arrows: true,\r\n                asNavFor: null,\r\n                prevArrow: '<button class=\"slick-prev\" aria-label=\"Previous\" type=\"button\">Previous</button>',\r\n                nextArrow: '<button class=\"slick-next\" aria-label=\"Next\" type=\"button\">Next</button>',\r\n                autoplay: false,\r\n                autoplaySpeed: 3000,\r\n                centerMode: false,\r\n                centerPadding: '50px',\r\n                cssEase: 'ease',\r\n                customPaging: function(slider, i) {\r\n                    return $('<button type=\"button\" />').text(i + 1);\r\n                },\r\n                dots: false,\r\n                dotsClass: 'slick-dots',\r\n                draggable: true,\r\n                easing: 'linear',\r\n                edgeFriction: 0.35,\r\n                fade: false,\r\n                focusOnSelect: false,\r\n                focusOnChange: false,\r\n                infinite: true,\r\n                initialSlide: 0,\r\n                lazyLoad: 'ondemand',\r\n                mobileFirst: false,\r\n                pauseOnHover: true,\r\n                pauseOnFocus: true,\r\n                pauseOnDotsHover: false,\r\n                respondTo: 'window',\r\n                responsive: null,\r\n                rows: 1,\r\n                rtl: false,\r\n                slide: '',\r\n                slidesPerRow: 1,\r\n                slidesToShow: 1,\r\n                slidesToScroll: 1,\r\n                speed: 500,\r\n                swipe: true,\r\n                swipeToSlide: false,\r\n                touchMove: true,\r\n                touchThreshold: 5,\r\n                useCSS: true,\r\n                useTransform: true,\r\n                variableWidth: false,\r\n                vertical: false,\r\n                verticalSwiping: false,\r\n                waitForAnimate: true,\r\n                zIndex: 1000\r\n            };\r\n\r\n            _.initials = {\r\n                animating: false,\r\n                dragging: false,\r\n                autoPlayTimer: null,\r\n                currentDirection: 0,\r\n                currentLeft: null,\r\n                currentSlide: 0,\r\n                direction: 1,\r\n                $dots: null,\r\n                listWidth: null,\r\n                listHeight: null,\r\n                loadIndex: 0,\r\n                $nextArrow: null,\r\n                $prevArrow: null,\r\n                scrolling: false,\r\n                slideCount: null,\r\n                slideWidth: null,\r\n                $slideTrack: null,\r\n                $slides: null,\r\n                sliding: false,\r\n                slideOffset: 0,\r\n                swipeLeft: null,\r\n                swiping: false,\r\n                $list: null,\r\n                touchObject: {},\r\n                transformsEnabled: false,\r\n                unslicked: fal
1se\r\n            };\r\n\r\n            $.extend(_, _.initials);\r\n\r\n            _.activeBreakpoint = null;\r\n            _.animType = null;\r\n            _.animProp = null;\r\n            _.breakpoints = [];\r\n            _.breakpointSettings = [];\r\n            _.cssTransitions = false;\r\n            _.focussed = false;\r\n            _.interrupted = false;\r\n            _.hidden = 'hidden';\r\n            _.paused = true;\r\n            _.positionProp = null;\r\n            _.respondTo = null;\r\n            _.rowCount = 1;\r\n            _.shouldClick = true;\r\n            _.$slider = $(element);\r\n            _.$slidesCache = null;\r\n            _.transformType = null;\r\n            _.transitionType = null;\r\n            _.visibilityChange = 'visibilitychange';\r\n            _.windowWidth = 0;\r\n            _.windowTimer = null;\r\n\r\n            dataSettings = $(element).data('slick') || {};\r\n\r\n            _.options = $.extend({}, _.defaults, settings, dataSettings);\r\n\r\n            _.currentSlide = _.options.initialSlide;\r\n\r\n            _.originalSettings = _.options;\r\n\r\n            if (typeof document.mozHidden !== 'undefined') {\r\n                _.hidden = 'mozHidden';\r\n                _.visibilityChange = 'mozvisibilitychange';\r\n            } else if (typeof document.webkitHidden !== 'undefined') {\r\n                _.hidden = 'webkitHidden';\r\n                _.visibilityChange = 'webkitvisibilitychange';\r\n            }\r\n\r\n            _.autoPlay = $.proxy(_.autoPlay, _);\r\n            _.autoPlayClear = $.proxy(_.autoPlayClear, _);\r\n            _.autoPlayIterator = $.proxy(_.autoPlayIterator, _);\r\n            _.changeSlide = $.proxy(_.changeSlide, _);\r\n            _.clickHandler = $.proxy(_.clickHandler, _);\r\n            _.selectHandler = $.proxy(_.selectHandler, _);\r\n            _.setPosition = $.proxy(_.setPosition, _);\r\n            _.swipeHandler = $.proxy(_.swipeHandler, _);\r\n            _.dragHandler = $.proxy(_.dragHandler, _);\r\n            _.keyHandler = $.proxy(_.keyHandler, _);\r\n\r\n            _.instanceUid = instanceUid++;\r\n\r\n            // A simple way to check for HTML strings\r\n            // Strict HTML recognition (must start with <)\r\n            // Extracted from jQuery v1.11 source\r\n            _.htmlExpr = /^(?:\\s*(<[\\w\\W]+>)[^>]*)$/;\r\n\r\n\r\n            _.registerBreakpoints();\r\n            _.init(true);\r\n\r\n        }\r\n\r\n        return Slick;\r\n\r\n    }());\r\n\r\n    Slick.prototype.activateADA = function() {\r\n        var _ = this;\r\n\r\n        _.$slideTrack.find('.slick-active').attr({\r\n            'aria-hidden': 'false'\r\n        }).find('a, input, button, select').attr({\r\n            'tabindex': '0'\r\n        });\r\n\r\n    };\r\n\r\n    Slick.prototype.addSlide = Slick.prototype.slickAdd = function(markup, index, addBefore) {\r\n\r\n        var _ = this;\r\n\r\n        if (typeof(index) === 'boolean') {\r\n            addBefore = index;\r\n            index = null;\r\n        } else if (index < 0 || (index >= _.slideCount)) {\r\n            return false;\r\n        }\r\n\r\n        _.unload();\r\n\r\n        if (typeof(index) === 'number') {\r\n            if (index === 0 && _.$slides.length === 0) {\r\n                $(markup).appendTo(_.$slideTrack);\r\n            } else if (addBefore) {\r\n                $(markup).insertBefore(_.$slides.eq(index));\r\n            } else {\r\n                $(markup).insertAfter(_.$slides.eq(index));\r\n            }\r\n        } else {\r\n            if (addBefore === true) {\r\n                $(markup).prependTo(_.$slideTrack);\r\n            } else {\r\n                $(markup).appendTo(_.$slideTrack);\r\n            }\r\n        }\r\n\r\n        _.$slides = _.$slideTrack.children(this.options.slide);\r\n\r\n        _.$slideTrack.children(this.options.slide).detach();\r\n\r\n        _.$slideTrack.append(_.$slides);\r\n\r\n        _.$slides.each(function(index, element) {\r\n            $(element).attr('data-slick-index', index);\r\n        });\r\n\r\n        _.$slidesCache = _.$slides;\r\n\r\n        _.reinit();\r\n\r\n    };\r\n\r\n    Slick.prototype.animateHeight = function() {\r\n        var _ = this;\r\n        if (_.options.slidesToShow === 1 && _.options.adaptiveHeight === true && _.options.vertical === false) {\r\n            var targetHeight = _.$slides.eq(_.currentSlide).outerHeight(true);\r\n            _.$list.animate({\r\n                height: targetHeight\r\n            }, _.options.speed);\r\n        }\r\n    };\r\n\r\n    Slick.prototype.animateSlide = function(targetLeft, callback) {\r\n\r\n        var animProps = {},\r\n            _ = this;\r\n\r\n        _.animateHeight();\r\n\r\n        if (_.options.rtl === true && _.options.vertical === false) {\r\n            targetLeft = -targetLeft;\r\n        }\r\n        if (_.transformsEnabled === false) {\r\n            if (_.options.vertical === false) {\r\n                _.$slideTrack.animate({\r\n                    left: targetLeft\r\n                }, _.options.speed, _.options.easing, callback);\r\n            } else {\r\n                _.$slideTrack.animate({\r\n                    top: targetLeft\r\n                }, _.options.speed, _.options.easing, callback);\r\n            }\r\n\r\n        } else {\r\n\r\n            if (_.cssTransitions === false) {\r\n                if (_.options.rtl === true) {\r\n                    _.currentLeft = -(_.currentLeft);\r\n                }\r\n                $({\r\n                    animStart: _.currentLeft\r\n                }).animate({\r\n                    animStart: targetLeft\r\n                }, {\r\n                    duration: _.options.speed,\r\n                    easing: _.options.easing,\r\n                    step: function(now) {\r\n                        now = Math.ceil(now);\r\n                        if (_.options.vertical === false) {\r\n                            animProps[_.animType] = 'translate(' +\r\n                                now + 'px, 0px)';\r\n                            _.$slideTrack.css(animProps);\r\n                        } else {\r\n                            animProps[_.animType] = 'translate(0px,' +\r\n                                now + 'px)';\r\n                            _.$slideTrack.css(animProps);\r\n                        }\r\n                    },\r\n                    complete: function() {\r\n                        if (callback) {\r\n                            callback.call();\r\n                        }\r\n                    }\r\n                });\r\n\r\n            } else {\r\n\r\n                _.applyTransition();
1\r\n                targetLeft = Math.ceil(targetLeft);\r\n\r\n                if (_.options.vertical === false) {\r\n                    animProps[_.animType] = 'translate3d(' + targetLeft + 'px, 0px, 0px)';\r\n                } else {\r\n                    animProps[_.animType] = 'translate3d(0px,' + targetLeft + 'px, 0px)';\r\n                }\r\n                _.$slideTrack.css(animProps);\r\n\r\n                if (callback) {\r\n                    setTimeout(function() {\r\n\r\n                        _.disableTransition();\r\n\r\n                        callback.call();\r\n                    }, _.options.speed);\r\n                }\r\n\r\n            }\r\n\r\n        }\r\n\r\n    };\r\n\r\n    Slick.prototype.getNavTarget = function() {\r\n\r\n        var _ = this,\r\n            asNavFor = _.options.asNavFor;\r\n\r\n        if ( asNavFor && asNavFor !== null ) {\r\n            asNavFor = $(asNavFor).not(_.$slider);\r\n        }\r\n\r\n        return asNavFor;\r\n\r\n    };\r\n\r\n    Slick.prototype.asNavFor = function(index) {\r\n\r\n        var _ = this,\r\n            asNavFor = _.getNavTarget();\r\n\r\n        if ( asNavFor !== null && typeof asNavFor === 'object' ) {\r\n            asNavFor.each(function() {\r\n                var target = $(this).slick('getSlick');\r\n                if(!target.unslicked) {\r\n                    target.slideHandler(index, true);\r\n                }\r\n            });\r\n        }\r\n\r\n    };\r\n\r\n    Slick.prototype.applyTransition = function(slide) {\r\n\r\n        var _ = this,\r\n            transition = {};\r\n\r\n        if (_.options.fade === false) {\r\n            transition[_.transitionType] = _.transformType + ' ' + _.options.speed + 'ms ' + _.options.cssEase;\r\n        } else {\r\n            transition[_.transitionType] = 'opacity ' + _.options.speed + 'ms ' + _.options.cssEase;\r\n        }\r\n\r\n        if (_.options.fade === false) {\r\n            _.$slideTrack.css(transition);\r\n        } else {\r\n            _.$slides.eq(slide).css(transition);\r\n        }\r\n\r\n    };\r\n\r\n    Slick.prototype.autoPlay = function() {\r\n\r\n        var _ = this;\r\n\r\n        _.autoPlayClear();\r\n\r\n        if ( _.slideCount > _.options.slidesToShow ) {\r\n            _.autoPlayTimer = setInterval( _.autoPlayIterator, _.options.autoplaySpeed );\r\n        }\r\n\r\n    };\r\n\r\n    Slick.prototype.autoPlayClear = function() {\r\n\r\n        var _ = this;\r\n\r\n        if (_.autoPlayTimer) {\r\n            clearInterval(_.autoPlayTimer);\r\n        }\r\n\r\n    };\r\n\r\n    Slick.prototype.autoPlayIterator = function() {\r\n\r\n        var _ = this,\r\n            slideTo = _.currentSlide + _.options.slidesToScroll;\r\n\r\n        if ( !_.paused && !_.interrupted && !_.focussed ) {\r\n\r\n            if ( _.options.infinite === false ) {\r\n\r\n                if ( _.direction === 1 && ( _.currentSlide + 1 ) === ( _.slideCount - 1 )) {\r\n                    _.direction = 0;\r\n                }\r\n\r\n                else if ( _.direction === 0 ) {\r\n\r\n                    slideTo = _.currentSlide - _.options.slidesToScroll;\r\n\r\n                    if ( _.currentSlide - 1 === 0 ) {\r\n                        _.direction = 1;\r\n                    }\r\n\r\n                }\r\n\r\n            }\r\n\r\n            _.slideHandler( slideTo );\r\n\r\n        }\r\n\r\n    };\r\n\r\n    Slick.prototype.buildArrows = function() {\r\n\r\n        var _ = this;\r\n\r\n        if (_.options.arrows === true ) {\r\n\r\n            _.$prevArrow = $(_.options.prevArrow).addClass('slick-arrow');\r\n            _.$nextArrow = $(_.options.nextArrow).addClass('slick-arrow');\r\n\r\n            if( _.slideCount > _.options.slidesToShow ) {\r\n\r\n                _.$prevArrow.removeClass('slick-hidden').removeAttr('aria-hidden tabindex');\r\n                _.$nextArrow.removeClass('slick-hidden').removeAttr('aria-hidden tabindex');\r\n\r\n                if (_.htmlExpr.test(_.options.prevArrow)) {\r\n                    _.$prevArrow.prependTo(_.options.appendArrows);\r\n                }\r\n\r\n                if (_.htmlExpr.test(_.options.nextArrow)) {\r\n                    _.$nextArrow.appendTo(_.options.appendArrows);\r\n                }\r\n\r\n                if (_.options.infinite !== true) {\r\n                    _.$prevArrow\r\n                        .addClass('slick-disabled')\r\n                        .attr('aria-disabled', 'true');\r\n                }\r\n\r\n            } else {\r\n\r\n                _.$prevArrow.add( _.$nextArrow )\r\n\r\n                    .addClass('slick-hidden')\r\n                    .attr({\r\n                        'aria-disabled': 'true',\r\n                        'tabindex': '-1'\r\n                    });\r\n\r\n            }\r\n\r\n        }\r\n\r\n    };\r\n\r\n    Slick.prototype.buildDots = function() {\r\n\r\n        var _ = this,\r\n            i, dot;\r\n\r\n        if (_.options.dots === true && _.slideCount > _.options.slidesToShow) {\r\n\r\n            _.$slider.addClass('slick-dotted');\r\n\r\n            dot = $('<ul />').addClass(_.options.dotsClass);\r\n\r\n            for (i = 0; i <= _.getDotCount(); i += 1) {\r\n                dot.append($('<li />').append(_.options.customPaging.call(this, _, i)));\r\n            }\r\n\r\n            _.$dots = dot.appendTo(_.options.appendDots);\r\n\r\n            _.$dots.find('li').first().addClass('slick-active');\r\n\r\n        }\r\n\r\n    };\r\n\r\n    Slick.prototype.buildOut = function() {\r\n\r\n        var _ = this;\r\n\r\n        _.$slides =\r\n            _.$slider\r\n                .children( _.options.slide + ':not(.slick-cloned)')\r\n                .addClass('slick-slide');\r\n\r\n        _.slideCount = _.$slides.length;\r\n\r\n        _.$slides.each(function(index, element) {\r\n            $(element)\r\n                .attr('data-slick-index', index)\r\n                .data('originalStyling', $(element).attr('style') || '');\r\n        });\r\n\r\n        _.$slider.addClass('slick-slider');\r\n\r\n        _.$slideTrack = (_.slideCount === 0) ?\r\n            $('<div class=\"slick-track\"/>').appendTo(_.$slider) :\r\n            _.$slides.wrapAll('<div class=\"slick-track\"/>').parent();\r\n\r\n        _.$list = _.$slideTrack.wrap(\r\n            '<div class=\"slick-list\"/>').parent();\r\n        _.$slideTrack.css('opacity', 0);\r\n\r\n        if (_.options.centerMode === true || _.options.swipeToSlide === true) {\r\n            _.o
1ptions.slidesToScroll = 1;\r\n        }\r\n\r\n        $('img[data-lazy]', _.$slider).not('[src]').addClass('slick-loading');\r\n\r\n        _.setupInfinite();\r\n\r\n        _.buildArrows();\r\n\r\n        _.buildDots();\r\n\r\n        _.updateDots();\r\n\r\n\r\n        _.setSlideClasses(typeof _.currentSlide === 'number' ? _.currentSlide : 0);\r\n\r\n        if (_.options.draggable === true) {\r\n            _.$list.addClass('draggable');\r\n        }\r\n\r\n    };\r\n\r\n    Slick.prototype.buildRows = function() {\r\n\r\n        var _ = this, a, b, c, newSlides, numOfSlides, originalSlides,slidesPerSection;\r\n\r\n        newSlides = document.createDocumentFragment();\r\n        originalSlides = _.$slider.children();\r\n\r\n        if(_.options.rows > 0) {\r\n\r\n            slidesPerSection = _.options.slidesPerRow * _.options.rows;\r\n            numOfSlides = Math.ceil(\r\n                originalSlides.length / slidesPerSection\r\n            );\r\n\r\n            for(a = 0; a < numOfSlides; a++){\r\n                var slide = document.createElement('div');\r\n                for(b = 0; b < _.options.rows; b++) {\r\n                    var row = document.createElement('div');\r\n                    for(c = 0; c < _.options.slidesPerRow; c++) {\r\n                        var target = (a * slidesPerSection + ((b * _.options.slidesPerRow) + c));\r\n                        if (originalSlides.get(target)) {\r\n                            row.appendChild(originalSlides.get(target));\r\n                        }\r\n                    }\r\n                    slide.appendChild(row);\r\n                }\r\n                newSlides.appendChild(slide);\r\n            }\r\n\r\n            _.$slider.empty().append(newSlides);\r\n            _.$slider.children().children().children()\r\n                .css({\r\n                    'width':(100 / _.options.slidesPerRow) + '%',\r\n                    'display': 'inline-block'\r\n                });\r\n\r\n        }\r\n\r\n    };\r\n\r\n    Slick.prototype.checkResponsive = function(initial, forceUpdate) {\r\n\r\n        var _ = this,\r\n            breakpoint, targetBreakpoint, respondToWidth, triggerBreakpoint = false;\r\n        var sliderWidth = _.$slider.width();\r\n        var windowWidth = window.innerWidth || $(window).width();\r\n\r\n        if (_.respondTo === 'window') {\r\n            respondToWidth = windowWidth;\r\n        } else if (_.respondTo === 'slider') {\r\n            respondToWidth = sliderWidth;\r\n        } else if (_.respondTo === 'min') {\r\n            respondToWidth = Math.min(windowWidth, sliderWidth);\r\n        }\r\n\r\n        if ( _.options.responsive &&\r\n            _.options.responsive.length &&\r\n            _.options.responsive !== null) {\r\n\r\n            targetBreakpoint = null;\r\n\r\n            for (breakpoint in _.breakpoints) {\r\n                if (_.breakpoints.hasOwnProperty(breakpoint)) {\r\n                    if (_.originalSettings.mobileFirst === false) {\r\n                        if (respondToWidth < _.breakpoints[breakpoint]) {\r\n                            targetBreakpoint = _.breakpoints[breakpoint];\r\n                        }\r\n                    } else {\r\n                        if (respondToWidth > _.breakpoints[breakpoint]) {\r\n                            targetBreakpoint = _.breakpoints[breakpoint];\r\n                        }\r\n                    }\r\n                }\r\n            }\r\n\r\n            if (targetBreakpoint !== null) {\r\n                if (_.activeBreakpoint !== null) {\r\n                    if (targetBreakpoint !== _.activeBreakpoint || forceUpdate) {\r\n                        _.activeBreakpoint =\r\n                            targetBreakpoint;\r\n                        if (_.breakpointSettings[targetBreakpoint] === 'unslick') {\r\n                            _.unslick(targetBreakpoint);\r\n                        } else {\r\n                            _.options = $.extend({}, _.originalSettings,\r\n                                _.breakpointSettings[\r\n                                    targetBreakp
1oint]);\r\n                            if (initial === true) {\r\n                                _.currentSlide = _.options.initialSlide;\r\n                            }\r\n                            _.refresh(initial);\r\n                        }\r\n                        triggerBreakpoint = targetBreakpoint;\r\n                    }\r\n                } else {\r\n                    _.activeBreakpoint = targetBreakpoint;\r\n                    if (_.breakpointSettings[targetBreakpoint] === 'unslick') {\r\n                        _.unslick(targetBreakpoint);\r\n                    } else {\r\n                        _.options = $.extend({}, _.originalSettings,\r\n                            _.breakpointSettings[\r\n                                targetBreakpoint]);\r\n                        if (initial === true) {\r\n                            _.currentSlide = _.options.initialSlide;\r\n                        }\r\n                        _.refresh(initial);\r\n                    }\r\n                    triggerBreakpoint = targetBreakpoint;\r\n                }\r\n            } else {\r\n                if (_.activeBreakpoint !== null) {\r\n                    _.activeBreakpoint = null;\r\n                    _.options = _.originalSettings;\r\n                    if (initial === true) {\r\n                        _.currentSlide = _.options.initialSlide;\r\n                    }\r\n                    _.refresh(initial);\r\n                    triggerBreakpoint = targetBreakpoint;\r\n                }\r\n            }\r\n\r\n            // only trigger breakpoints during an actual break. not on initialize.\r\n            if( !initial && triggerBreakpoint !== false ) {\r\n                _.$slider.trigger('breakpoint', [_, triggerBreakpoint]);\r\n            }\r\n        }\r\n\r\n    };\r\n\r\n    Slick.prototype.changeSlide = function(event, dontAnimate) {\r\n\r\n        var _ = this,\r\n            $target = $(event.currentTarget),\r\n            indexOffset, slideOffset, unevenOffset;\r\n\r\n        // If target is a link, prevent default action.\r\n        if($target.is('a')) {\r\n            event.preventDefault();\r\n        }\r\n\r\n        // If target is not the <li> element (ie: a child), find the <li>.\r\n        if(!$target.is('li')) {\r\n            $target = $target.closest('li');\r\n        }\r\n\r\n        unevenOffset = (_.slideCount % _.options.slidesToScroll !== 0);\r\n        indexOffset = unevenOffset ? 0 : (_.slideCount - _.currentSlide) % _.options.slidesToScroll;\r\n\r\n        switch (event.data.message) {\r\n\r\n            case 'previous':\r\n                slideOffset = indexOffset === 0 ? _.options.slidesToScroll : _.options.slidesToShow - indexOffset;\r\n                if (_.slideCount > _.options.slidesToShow) {\r\n                    _.slideHandler(_.currentSlide - slideOffset, false, dontAnimate);\r\n                }\r\n                break;\r\n\r\n            case 'next':\r\n                slideOffset = indexOffset === 0 ? _.options.slidesToScroll : indexOffset;\r\n                if (_.slideCount > _.options.slidesToShow) {\r\n                    _.slideHandler(_.currentSlide + slideOffset, false, dontAnimate);\r\n                }\r\n                break;\r\n\r\n            case 'index':\r\n                var index = event.data.index === 0 ? 0 :\r\n                    event.data.index || $target.index() * _.options.slidesToScroll;\r\n\r\n                _.slideHandler(_.checkNavigable(index), false, dontAnimate);\r\n                $target.children().trigger('focus');\r\n                break;\r\n\r\n            default:\r\n                return;\r\n        }\r\n\r\n    };\r\n\r\n    Slick.prototype.checkNavigable = function(index) {\r\n\r\n        var _ = this,\r\n            navigables, prevNavigable;\r\n\r\n        navigables = _.getNavigableIndexes();\r\n        prevNavigable = 0;\r\n        if (index > navigables[navigables.length - 1]) {\r\n            index = navigables[navigables.length - 1];\r\n        } else {\r\n            for (var n in navigables) {\r\n                if (index < navigables[n]) {\r\n                    index = prevNavigable;\r\n                    break;\r\n                }\r\n                prevNavigable = navigables[n];\r\n            }\r\n        }\r\n\r\n        return index;\r\n    };\r\n\r\n    Slick.prototype.cleanUpEvents = function() {\r\n\r\n        var _ = this;\r\n\r\n        if (_.options.dots && _.$dots !== null) {\r\n\r\n            $('li', _.$dots)\r\n                .off('click.slick', _.changeSlide)\r\n                .off('mouseenter.slick', $.proxy(_.interrupt, _, true))\r\n                .off('mouseleave.
1slick', $.proxy(_.interrupt, _, false));\r\n\r\n            if (_.options.accessibility === true) {\r\n                _.$dots.off('keydown.slick', _.keyHandler);\r\n            }\r\n        }\r\n\r\n        _.$slider.off('focus.slick blur.slick');\r\n\r\n        if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) {\r\n            _.$prevArrow && _.$prevArrow.off('click.slick', _.changeSlide);\r\n            _.$nextArrow && _.$nextArrow.off('click.slick', _.changeSlide);\r\n\r\n            if (_.options.accessibility === true) {\r\n                _.$prevArrow && _.$prevArrow.off('keydown.slick', _.keyHandler);\r\n                _.$nextArrow && _.$nextArrow.off('keydown.slick', _.keyHandler);\r\n            }\r\n        }\r\n\r\n        _.$list.off('touchstart.slick mousedown.slick', _.swipeHandler);\r\n        _.$list.off('touchmove.slick mousemove.slick', _.swipeHandler);\r\n        _.$list.off('touchend.slick mouseup.slick', _.swipeHandler);\r\n        _.$list.off('touchcancel.slick mouseleave.slick', _.swipeHandler);\r\n\r\n        _.$list.off('click.slick', _.clickHandler);\r\n\r\n        $(document).off(_.visibilityChange, _.visibility);\r\n\r\n        _.cleanUpSlideEvents();\r\n\r\n        if (_.options.accessibility === true) {\r\n            _.$list.off('keydown.slick', _.keyHandler);\r\n        }\r\n\r\n        if (_.options.focusOnSelect === true) {\r\n            $(_.$slideTrack).children().off('click.slick', _.selectHandler);\r\n        }\r\n\r\n        $(window).off('orientationchange.slick.slick-' + _.instanceUid, _.orientationChange);\r\n\r\n        $(window).off('resize.slick.slick-' + _.instanceUid, _.resize);\r\n\r\n        $('[draggable!=true]', _.$slideTrack).off('dragstart', _.preventDefault);\r\n\r\n        $(window).off('load.slick.slick-' + _.instanceUid, _.setPosition);\r\n\r\n    };\r\n\r\n    Slick.prototype.cleanUpSlideEvents = function() {\r\n\r\n        var _ = this;\r\n\r\n        _.$list.off('mouseenter.slick', $.proxy(_.interrupt, _, true));\r\n        _.$list.off('mouseleave.slick', $.proxy(_.interrupt, _, false));\r\n\r\n    };\r\n\r\n    Slick.prototype.cleanUpRows = function() {\r\n\r\n        var _ = this, originalSlides;\r\n\r\n        if(_.options.rows > 0) {\r\n            originalSlides = _.$slides.children().children();\r\n            originalSlides.removeAttr('style');\r\n            _.$slider.empty().append(originalSlides);\r\n        }\r\n\r\n    };\r\n\r\n    Slick.prototype.clickHandler = function(event) {\r\n\r\n        var _ = this;\r\n\r\n        if (_.shouldClick === false) {\r\n            event.stopImmediatePropagation();\r\n            event.stopPropagation();\r\n            event.preventDefault();\r\n        }\r\n\r\n    };\r\n\r\n    Slick.prototype.destroy = function(refresh) {\r\n\r\n        var _ = this;\r\n\r\n        _.autoPlayClear();\r\n\r\n        _.touchObject = {};\r\n\r\n        _.cleanUpEvents();\r\n\r\n        $('.slick-cloned', _.$slider).detach();\r\n\r\n        if (_.$dots) {\r\n            _.$dots.remove();\r\n        }\r\n\r\n        if ( _.$prevArrow && _.$prevArrow.length ) {\r\n\r\n            _.$prevArrow\r\n                .removeClass('slick-disabled slick-arrow slick-hidden')\r\n                .removeAttr('aria-hidden aria-disabled tabindex')\r\n                .css('display','');\r\n\r\n            if ( _.htmlExpr.test( _.options.prevArrow )) {\r\n                _.$prevArrow.remove();\r\n            }\r\n        }\r\n\r\n        if ( _.$nextArrow && _.$nextArrow.length ) {\r\n\r\n            _.$nextArrow\r\n                .removeClass('slick-disabled slick-arrow slick-hidden')\r\n                .removeAttr('aria-hidden aria-disabled tabindex')\r\n                .css('display','');\r\n\r\n            if ( _.htmlExpr.test( _.options.nextArrow )) {\r\n                _.$nextArrow.remove();\r\n            }\r\n        }\r\n\r\n\r\n        if (_.$slides) {\r\n\r\n            _.$slides\r\n                .removeClass('slick-slide slick-active slick-center slick-visible slick-current')\r\n                .removeAttr('aria-hidden')\r\n                .removeAttr('data-slick-index')\r\n                .each(function(){\r\n                    $(this).attr('style', $(this).data('originalStyling'));\r\n                });\r\n\r\n            _.$slideTrack.children(this.options.slide).detach();\r\n\r\n            _.$slideTrack.detach();\r\n\r\n            _.$list.detach();\r\n\r\n            _.$slider.append(_.$slides);\r\n        }
1\r\n\r\n        _.cleanUpRows();\r\n\r\n        _.$slider.removeClass('slick-slider');\r\n        _.$slider.removeClass('slick-initialized');\r\n        _.$slider.removeClass('slick-dotted');\r\n\r\n        _.unslicked = true;\r\n\r\n        if(!refresh) {\r\n            _.$slider.trigger('destroy', [_]);\r\n        }\r\n\r\n    };\r\n\r\n    Slick.prototype.disableTransition = function(slide) {\r\n\r\n        var _ = this,\r\n            transition = {};\r\n\r\n        transition[_.transitionType] = '';\r\n\r\n        if (_.options.fade === false) {\r\n            _.$slideTrack.css(transition);\r\n        } else {\r\n            _.$slides.eq(slide).css(transition);\r\n        }\r\n\r\n    };\r\n\r\n    Slick.prototype.fadeSlide = function(slideIndex, callback) {\r\n\r\n        var _ = this;\r\n\r\n        if (_.cssTransitions === false) {\r\n\r\n            _.$slides.eq(slideIndex).css({\r\n                zIndex: _.options.zIndex\r\n            });\r\n\r\n            _.$slides.eq(slideIndex).animate({\r\n                opacity: 1\r\n            }, _.options.speed, _.options.easing, callback);\r\n\r\n        } else {\r\n\r\n            _.applyTransition(slideIndex);\r\n\r\n            _.$slides.eq(slideIndex).css({\r\n                opacity: 1,\r\n                zIndex: _.options.zIndex\r\n            });\r\n\r\n            if (callback) {\r\n                setTimeout(function() {\r\n\r\n                    _.disableTransition(slideIndex);\r\n\r\n                    callback.call();\r\n                }, _.options.speed);\r\n            }\r\n\r\n        }\r\n\r\n    };\r\n\r\n    Slick.prototype.fadeSlideOut = function(slideIndex) {\r\n\r\n        var _ = this;\r\n\r\n        if (_.cssTransitions === false) {\r\n\r\n            _.$slides.eq(slideIndex).animate({\r\n                opacity: 0,\r\n                zIndex: _.options.zIndex - 2\r\n            }, _.options.speed, _.options.easing);\r\n\r\n        } else {\r\n\r\n            _.applyTransition(slideIndex);\r\n\r\n            _.$slides.eq(slideIndex).css({\r\n                opacity: 0,\r\n                zIndex: _.options.zIndex - 2\r\n            });\r\n\r\n        }\r\n\r\n    };\r\n\r\n    Slick.prototype.filterSlides = Slick.prototype.slickFilter = function(filter) {\r\n\r\n        var _ = this;\r\n\r\n        if (filter !== null) {\r\n\r\n            _.$slidesCache = _.$slides;\r\n\r\n            _.unload();\r\n\r\n            _.$slideTrack.children(this.options.slide).detach();\r\n\r\n            _.$slidesCache.filter(filter).appendTo(_.$slideTrack);\r\n\r\n            _.reinit();\r\n\r\n        }\r\n\r\n    };\r\n\r\n    Slick.prototype.focusHandler = function() {\r\n\r\n        var _ = this;\r\n\r\n        _.$slider\r\n            .off('focus.slick blur.slick')\r\n            .on('focus.slick blur.slick', '*', function(event) {\r\n\r\n            event.stopImmediatePropagation();\r\n            var $sf = $(this);\r\n\r\n            setTimeout(function() {\r\n\r\n                if( _.options.pauseOnFocus ) {\r\n                    _.focussed = $sf.is(':focus');\r\n                    _.autoPlay();\r\n                }\r\n\r\n            }, 0);\r\n\r\n        });\r\n    };\r\n\r\n    Slick.prototype.getCurrent = Slick.prototype.slickCurrentSlide = function() {\r\n\r\n        var _ = this;\r\n        return _.currentSlide;\r\n\r\n    };\r\n\r\n    Slick.prototype.getDotCount = function() {\r\n\r\n        var _ = this;\r\n\r\n        var breakPoint = 0;\r\n        var counter = 0;\r\n        var pagerQty = 0;\r\n\r\n        if (_.options.infinite === true) {\r\n            if (_.slideCount <= _.options.slidesToShow) {\r\n                 ++pagerQty;\r\n            } else {\r\n                while (breakPoint < _.slideCount) {\r\n                    ++pagerQty;\r\n                    breakPoint = counter + _.options.slidesToScroll;\r\n                    counter += _.options.slidesToScroll <= _.options.slidesToShow ? _.options.slidesToScroll : _.options.slidesToShow;\r\n                }\r\n            }\r\n        } else if (_.options.centerMode === true) {\r\n            pagerQty = _.slideCount;\r\n        } else if(!_.options.asNavFor) {\r\n            pagerQty = 1 + Math.
1ceil((_.slideCount - _.options.slidesToShow) / _.options.slidesToScroll);\r\n        }else {\r\n            while (breakPoint < _.slideCount) {\r\n                ++pagerQty;\r\n                breakPoint = counter + _.options.slidesToScroll;\r\n                counter += _.options.slidesToScroll <= _.options.slidesToShow ? _.options.slidesToScroll : _.options.slidesToShow;\r\n            }\r\n        }\r\n\r\n        return pagerQty - 1;\r\n\r\n    };\r\n\r\n    Slick.prototype.getLeft = function(slideIndex) {\r\n\r\n        var _ = this,\r\n            targetLeft,\r\n            verticalHeight,\r\n            verticalOffset = 0,\r\n            targetSlide,\r\n            coef;\r\n\r\n        _.slideOffset = 0;\r\n        verticalHeight = _.$slides.first().outerHeight(true);\r\n\r\n        if (_.options.infinite === true) {\r\n            if (_.slideCount > _.options.slidesToShow) {\r\n                _.slideOffset = (_.slideWidth * _.options.slidesToShow) * -1;\r\n                coef = -1\r\n\r\n                if (_.options.vertical === true && _.options.centerMode === true) {\r\n                    if (_.options.slidesToShow === 2) {\r\n                        coef = -1.5;\r\n                    } else if (_.options.slidesToShow === 1) {\r\n                        coef = -2\r\n                    }\r\n                }\r\n                verticalOffset = (verticalHeight * _.options.slidesToShow) * coef;\r\n            }\r\n            if (_.slideCount % _.options.slidesToScroll !== 0) {\r\n                if (slideIndex + _.options.slidesToScroll > _.slideCount && _.slideCount > _.options.slidesToShow) {\r\n                    if (slideIndex > _.slideCount) {\r\n                        _.slideOffset = ((_.options.slidesToShow - (sl
1ideIndex - _.slideCount)) * _.slideWidth) * -1;\r\n                        verticalOffset = ((_.options.slidesToShow - (slideIndex - _.slideCount)) * verticalHeight) * -1;\r\n                    } else {\r\n                        _.slideOffset = ((_.slideCount % _.options.slidesToScroll) * _.slideWidth) * -1;\r\n                        verticalOffset = ((_.slideCount % _.options.slidesToScroll) * verticalHeight) * -1;\r\n                    }\r\n                }\r\n            }\r\n        } else {\r\n            if (slideIndex + _.options.slidesToShow > _.slideCount) {\r\n                _.slideOffset = ((slideIndex + _.options.slidesToShow) - _.slideCount) * _.slideWidth;\r\n                verticalOffset = ((slideIndex + _.options.slidesToShow) - _.slideCount) * verticalHeight;\r\n            }\r\n        }\r\n\r\n        if (_.slideCount <= _.options.slidesToShow) {\r\n            _.slideOffset = 0;\r\n            verticalOffset = 0;\r\n        }\r\n\r\n        if (_.options.centerMode === true && _.slideCount <= _.options.slidesToShow) {\r\n            _.slideOffset = ((_.slideWidth * Math.floor(_.options.slidesToShow)) / 2) - ((_.slideWidth * _.slideCount) / 2);\r\n        } else if (_.options.centerMode === true && _.options.infinite === true) {\r\n            _.slideOffset += _.slideWidth * Math.floor(_.options.slidesToShow / 2) - _.slideWidth;\r\n        } else if (_.options.centerMode === true) {\r\n            _.slideOffset = 0;\r\n            _.slideOffset += _.slideWidth * Math.floor(_.options.slidesToShow / 2);\r\n        }\r\n\r\n        if (_.options.vertical === false) {\r\n            targetLeft = ((slideIndex * _.slideWidth) * -1) + _.slideOffset;\r\n        } else {\r\n            targetLeft = ((slideIndex * verticalHeight) * -1) + verticalOffset;\r\n        }\r\n\r\n        if (_.options.variableWidth === true) {\r\n\r\n            if (_.slideCount <= _.options.slidesToShow || _.o
1ptions.infinite === false) {\r\n                targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex);\r\n            } else {\r\n                targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex + _.options.slidesToShow);\r\n            }\r\n\r\n            if (_.options.rtl === true) {\r\n                if (targetSlide[0]) {\r\n                    targetLeft = (_.$slideTrack.width() - targetSlide[0].offsetLeft - targetSlide.width()) * -1;\r\n                } else {\r\n                    targetLeft =  0;\r\n                }\r\n            } else {\r\n                targetLeft = targetSlide[0] ? targetSlide[0].offsetLeft * -1 : 0;\r\n            }\r\n\r\n            if (_.options.centerMode === true) {\r\n                if (_.slideCount <= _.options.slidesToShow || _.options.infinite === false) {\r\n                    targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex);\r\n                } else {\r\n                    targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex + _.options.slidesToShow + 1);\r\n                }\r\n\r\n                if (_.options.rtl === true) {\r\n                    if (targetSlide[0]) {\r\n                        targetLeft = (_.$slideTrack.width() - targetSlide[0].offsetLeft - targetSlide.width()) * -1;\r\n                    } else {\r\n                        targetLeft =  0;\r\n                    }\r\n                } else {\r\n                    targetLeft = targetSlide[0] ? targetSlide[0].offsetLeft * -1 : 0;\r\n                }\r\n\r\n                targetLeft += (_.$list.width() - targetSlide.outerWidth()) / 2;\r\n            }\r\n        }\r\n\r\n        return targetLeft;\r\n\r\n    };\r\n\r\n    Slick.prototype.getOption = Slick.prototype.slickGetOption = function(option) {\r\n\r\n        var _ = this;\r\n\r\n        return _.options[option];\r\n\r\n    };\r\n\r\n    Slick.prototype.getNavigableIndexes = function() {\r\n\r\n        var _ = this,\r\n            breakPoint = 0,\r\n            counter = 0,\r\n            indexes = [],\r\n            max;\r\n\r\n        if (_.options.infinite === false) {\r\n            max = _.slideCount;\r\n        } else {\r\n            breakPoint = _.options.slidesToScroll * -1;\r\n            counter = _.options.slidesToScroll * -1;\r\n            max = _.slideCount * 2;\r\n        }\r\n\r\n        while (breakPoint < max) {\r\n            indexes.push(breakPoint);\r\n            breakPoint = counter + _.options.slidesToScroll;\r\n            counter += _.options.slidesToScroll <= _.options.slidesToShow ? _.options.slidesToScroll : _.options.slidesToShow;\r\n        }\r\n\r\n        return indexes;\r\n\r\n    };\r\n\r\n    Slick.prototype.getSlick = function() {\r\n\r\n        return this;\r\n\r\n    };\r\n\r\n    Slick.prototype.getSlideCount = function() {\r\n\r\n        var _ = this,\r\n            slidesTraversed, swipedSlide, centerOffset;\r\n\r\n        centerOffset = _.options.centerMode === true ? _.slideWidth * Math.floor(_.options.slidesToShow / 2) : 0;\r\n\r\n        if (_.options.swipeToSlide === true) {\r\n            _.$slideTrack.find('.slick-slide').each(function(index, slide) {\r\n                if (slide.offsetLeft - centerOffset + ($(slide).outerWidth() / 2) > (_.swipeLeft * -1)) {\r\n                    swipedSlide = slide;\r\n                    return false;\r\n                }\r\n            });\r\n\r\n            slidesTraversed = Math.abs($(swipedSlide).attr('data-slick-index') - _.currentSlide) || 1;\r\n\r\n            return slidesTraversed;\r\n\r\n        } else {\r\n            return _.options.slidesToScroll;\r\n        }\r\n\r\n    };\r\n\r\n    Slick.prototype.goTo = Slick.prototype.slickGoTo = function(slide, dontAnimate) {\r\n\r\n        var _ = this;\r\n\r\n        _.changeSlide({\r\n            data: {\r\n                message: 'index',\r\n                index: parseInt(slide)\r\n            }\r\n        }, dontAnimate);\r\n\r\n    };\r\n\r\n    Slick.prototype.init = function(creation) {\r\n\r\n        var _ = this;\r\n\r\n        if (!$(_.$slider).hasClass('slick-initialized')) {\r\n\r\n            $(_.$slider).addClass('slick-initialized');\r\n\r\n            _.buildRows();\r\n            _.buildOut();\r\n            _.setProps();\r\n            _.startLoad();\r\n            _.loadSlider();\r\n            _.initializeEvents();\r\n            _.updateArrows();\r\n            _.updateDots();\r\n            _.checkResponsive(true);\r\n            _.focusHandler();\r\n\r\n        }\r\n\r\n        if (creation) {\r\n            _.$slider.trigger('init', [_]);\r\n        }\r\n\r\n        if (_.options.accessibility === true) {\r\n            _.initADA();\r\n        }\r\n\r\n        if ( _.options.autoplay ) {\r\n\r\n            _.paused = false;\r\n            _.autoPlay();\r\n\r\n        }\r\n\r\n    };\r\n\r\n    Slick.prototype.initADA = function() {\r\n        var _ = this,\r\n                numDotGroups = Math.ceil(_.slideCount / _.options.slidesToShow),\r\n                tabControlIndexe
1s = _.getNavigableIndexes().filter(function(val) {\r\n                    return (val >= 0) && (val < _.slideCount);\r\n                });\r\n\r\n        _.$slides.add(_.$slideTrack.find('.slick-cloned')).attr({\r\n            'aria-hidden': 'true',\r\n            'tabindex': '-1'\r\n        }).find('a, input, button, select').attr({\r\n            'tabindex': '-1'\r\n        });\r\n\r\n        if (_.$dots !== null) {\r\n            _.$slides.not(_.$slideTrack.find('.slick-cloned')).each(function(i) {\r\n                var slideControlIndex = tabControlIndexes.indexOf(i);\r\n\r\n                $(this).attr({\r\n                    'role': 'tabpanel',\r\n                    'id': 'slick-slide' + _.instanceUid + i,\r\n                    'tabindex': -1\r\n                });\r\n\r\n                if (slideControlIndex !== -1) {\r\n                   var ariaButtonControl = 'slick-slide-control' + _.instanceUid + slideControlIndex\r\n                   if ($('#' + ariaButtonControl).length) {\r\n                     $(this).attr({\r\n                         'aria-describedby': ariaButtonControl\r\n                     });\r\n                   }\r\n                }\r\n            });\r\n\r\n            _.$dots.attr('role', 'tablist').find('li').each(function(i) {\r\n                var mappedSlideIndex = tabControlIndexes[i];\r\n\r\n                $(this).attr({\r\n                    'role': 'presentation'\r\n                });\r\n\r\n                $(this).find('button').first().attr({\r\n                    'role': 'tab',\r\n                    'id': 'slick-slide-control' + _.instanceUid + i,\r\n                    'aria-controls': 'slick-slide' + _.instanceUid + mappedSlideIndex,\r\n                    'aria-label': (i + 1) + ' of ' + numDotGroups,\r\n                    'aria-selected': null,\r\n                    'tabindex': '-1'\r\n                });\r\n\r\n            }).eq(_.currentSlide).find('button').attr({\r\n                'aria-selected': 'true',\r\n                'tabindex': '0'\r\n            }).end();\r\n        }\r\n\r\n        for (var i=_.currentSlide, max=i+_.options.slidesToShow; i < max; i++) {\r\n          if (_.options.focusOnChange) {\r\n            _.$slides.eq(i).attr({'tabindex': '0'});\r\n          } else {\r\n            _.$slides.eq(i).removeAttr('tabindex');\r\n          }\r\n        }\r\n\r\n        _.activateADA();\r\n\r\n    };\r\n\r\n    Slick.prototype.initArrowEvents = function() {\r\n\r\n        var _ = this;\r\n\r\n        if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) {\r\n            _.$prevArrow\r\n               .off('click.slick')\r\n               .on('click.slick', {\r\n                    message: 'previous'\r\n               }, _.changeSlide);\r\n            _.$nextArrow\r\n               .off('click.slick')\r\n               .on('click.slick', {\r\n                    message: 'next'\r\n               }, _.changeSlide);\r\n\r\n            if (_.options.accessibility === true) {\r\n                _.$prevArrow.on('keydown.slick', _.keyHandler);\r\n                _.$nextArrow.on('keydown.slick', _.keyHandler);\r\n            }\r\n        }\r\n\r\n    };\r\n\r\n    Slick.prototype.initDotEvents = function() {\r\n\r\n        var _ = this;\r\n\r\n        if (_.options.dots === true && _.slideCount > _.options.slidesToShow) {\r\n            $('li', _.$dots).on('click.slick', {\r\n                message: 'index'\r\n            }, _.changeSlide);\r\n\r\n            if (_.options.accessibility === true) {\r\n                _.$dots.on('keydown.slick', _.keyHandler);\r\n            }\r\n        }\r\n\r\n        if (_.options.dots === true && _.options.pauseOnDotsHover === true && _.slideCount > _.options.slidesToShow) {\r\n\r\n            $('li', _.$dots)\r\n                .on('mouseenter.slick', $.proxy(_.interrupt, _, true))\r\n                .on('mouseleave.slick', $.proxy(_.interrupt, _, false));\r\n\r\n        }\r\n\r\n    };\r\n\r\n    Slick.prototype.initSlideEvents = function() {\r\n\r\n        var _ = this;\r\n\r\n        if ( _.options.pauseOnHover ) {\r\n\r\n            _.$list.on('mouseenter.slick', $.proxy(_.interrupt, _, true));
1\r\n            _.$list.on('mouseleave.slick', $.proxy(_.interrupt, _, false));\r\n\r\n        }\r\n\r\n    };\r\n\r\n    Slick.prototype.initializeEvents = function() {\r\n\r\n        var _ = this;\r\n\r\n        _.initArrowEvents();\r\n\r\n        _.initDotEvents();\r\n        _.initSlideEvents();\r\n\r\n        _.$list.on('touchstart.slick mousedown.slick', {\r\n            action: 'start'\r\n        }, _.swipeHandler);\r\n        _.$list.on('touchmove.slick mousemove.slick', {\r\n            action: 'move'\r\n        }, _.swipeHandler);\r\n        _.$list.on('touchend.slick mouseup.slick', {\r\n            action: 'end'\r\n        }, _.swipeHandler);\r\n        _.$list.on('touchcancel.slick mouseleave.slick', {\r\n            action: 'end'\r\n        }, _.swipeHandler);\r\n\r\n        _.$list.on('click.slick', _.clickHandler);\r\n\r\n        $(document).on(_.visibilityChange, $.proxy(_.visibility, _));\r\n\r\n        if (_.options.accessibility === true) {\r\n            _.$list.on('keydown.slick', _.keyHandler);\r\n        }\r\n\r\n        if (_.options.focusOnSelect === true) {\r\n            $(_.$slideTrack).children().on('click.slick', _.selectHandler);\r\n        }\r\n\r\n        $(window).on('orientationchange.slick.slick-' + _.instanceUid, $.proxy(_.orientationChange, _));\r\n\r\n        $(window).on('resize.slick.slick-' + _.instanceUid, $.proxy(_.resize, _));\r\n\r\n        $('[draggable!=true]', _.$slideTrack).on('dragstart', _.preventDefault);\r\n\r\n        $(window).on('load.slick.slick-' + _.instanceUid, _.setPosition);\r\n        $(_.setPosition);\r\n\r\n    };\r\n\r\n    Slick.prototype.initUI = function() {\r\n\r\n        var _ = this;\r\n\r\n        if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) {\r\n\r\n            _.$prevArrow.show();\r\n            _.$nextArrow.show();\r\n\r\n        }\r\n\r\n        if (_.options.dots === true && _.slideCount > _.options.slidesToShow) {\r\n\r\n            _.$dots.show();\r\n\r\n        }\r\n\r\n    };\r\n\r\n    Slick.prototype.keyHandler = function(event) {\r\n\r\n        var _ = this;\r\n         //Dont slide if the cursor is inside the form fields and arrow keys are pressed\r\n        if(!event.target.tagName.match('TEXTAREA|INPUT|SELECT')) {\r\n            if (event.keyCode === 37 && _.options.accessibility === true) {\r\n                _.changeSlide({\r\n                    data: {\r\n                        message: _.options.rtl === true ? 'next' :  'previous'\r\n                    }\r\n                });\r\n            } else if (event.keyCode === 39 && _.options.accessibility === true) {\r\n                _.changeSlide({\r\n                    data: {\r\n                        message: _.options.rtl === true ? 'previous' : 'next'\r\n                    }\r\n                });\r\n            }\r\n        }\r\n\r\n    };\r\n\r\n    Slick.prototype.lazyLoad = function() {\r\n\r\n        var _ = this,\r\n            loadRange, cloneRange, rangeStart, rangeEnd;\r\n\r\n        function loadImages(imagesScope) {\r\n\r\n            $('img[data-lazy]', imagesScope).each(function() {\r\n\r\n                var image = $(this),\r\n                    imageSource = $(this).attr('data-lazy'),\r\n                    imageSrcSet = $(this).attr('data-srcset'),\r\n                    imageSizes  = $(this).attr('data-sizes') || _.$slider.attr('data-sizes'),\r\n                    imageToLoad = document.createElement('img');\r\n\r\n                imageToLoad.onload = function() {\r\n\r\n                    image\r\n                        .animate({ opacity: 0 }, 100, function() {\r\n\r\n                            if (imageSrcSet) {\r\n                                image\r\n                                    .attr('srcset', imageSrcSet );\r\n\r\n                                if (imageSizes) {\r\n                                    image\r\n                                        .attr('sizes', imageSizes );\r\n                                }\r\n                            }\r\n\r\n                            image\r\n                                .attr('src', imageSource)\r\n                                .animate({ opacity: 1 }, 200, function() {\r\n                                    image\r\n                                        .removeAttr('data-lazy data-srcset data-sizes')\r\n                                        .removeClass('slick-loading');\r\n                                });\r\n                            _.$slider.trigger('lazyLoaded', [_, image, imageSource]);\r\n                        });\r\n\r\n                };\r\n\r\n                imageToLoad.onerror = function() {\r\n\r\n                    image\r\n                        .removeAttr( 'data-lazy' )\r\n                        .removeClass( 'slick-loading' )\r\n                        .addClass( 'slick-lazyload-error' );\r\n\r\n                    _.$slider.trigger('lazyLoadError', [ _, image, imageSource ]);\r\n\r\n                };\r\n\r\n                imageToLoad.src = imageSource;\r\n\r\n            });\r\n\r\n        }\r\n\r\n        if (_.options.centerMode === true) {\r\n            if (_.options.infinite === true) {\r\n                rangeStart = _.currentSlide + (_.options.slidesToShow / 2 + 1);\r\n                rangeEnd = rangeStart + _.options.slidesToShow + 2;\r\n            } else {\r\n                rangeStart = Math.max(0, _.currentSlide - (_.options.slidesToShow / 2 + 1));\r\n                rangeEnd = 2 + (_.options.slidesToShow / 2 + 1) + _.currentSlide;\r\n            }\r\n        }
1 else {\r\n            rangeStart = _.options.infinite ? _.options.slidesToShow + _.currentSlide : _.currentSlide;\r\n            rangeEnd = Math.ceil(rangeStart + _.options.slidesToShow);\r\n            if (_.options.fade === true) {\r\n                if (rangeStart > 0) rangeStart--;\r\n                if (rangeEnd <= _.slideCount) rangeEnd++;\r\n            }\r\n        }\r\n\r\n        loadRange = _.$slider.find('.slick-slide').slice(rangeStart, rangeEnd);\r\n\r\n        if (_.options.lazyLoad === 'anticipated') {\r\n            var prevSlide = rangeStart - 1,\r\n                nextSlide = rangeEnd,\r\n                $slides = _.$slider.find('.slick-slide');\r\n\r\n            for (var i = 0; i < _.options.slidesToScroll; i++) {\r\n                if (prevSlide < 0) prevSlide = _.slideCount - 1;\r\n                loadRange = loadRange.add($slides.eq(prevSlide));\r\n                loadRange = loadRange.add($slides.eq(nextSlide));\r\n                prevSlide--;\r\n                nextSlide++;\r\n            }\r\n        }\r\n\r\n        loadImages(loadRange);\r\n\r\n        if (_.slideCount <= _.options.slidesToShow) {\r\n            cloneRange = _.$slider.find('.slick-slide');\r\n            loadImages(cloneRange);\r\n        } else\r\n        if (_.currentSlide >= _.slideCount - _.options.slidesToShow) {\r\n            cloneRange = _.$slider.find('.slick-cloned').slice(0, _.options.slidesToShow);\r\n            loadImages(cloneRange);\r\n        } else if (_.currentSlide === 0) {\r\n            cloneRange = _.$slider.find('.slick-cloned').slice(_.options.slidesToShow * -1);\r\n            loadImages(cloneRange);\r\n        }\r\n\r\n    };\r\n\r\n    Slick.prototype.loadSlider = function() {\r\n\r\n        var _ = this;\r\n\r\n        _.setPosition();\r\n\r\n        _.$slideTrack.css({\r\n            opacity: 1\r\n        });\r\n\r\n        _.$slider.removeClass('slick-loading');\r\n\r\n        _.initUI();\r\n\r\n        if (_.options.lazyLoad === 'progressive') {\r\n            _.progressiveLazyLoad();\r\n        }\r\n\r\n    };\r\n\r\n    Slick.prototype.next = Slick.prototype.slickNext = function() {\r\n\r\n        var _ = this;\r\n\r\n        _.changeSlide({\r\n            data: {\r\n                message: 'next'\r\n            }\r\n        });\r\n\r\n    };\r\n\r\n    Slick.prototype.orientationChange = function() {\r\n\r\n        var _ = this;\r\n\r\n        _.checkResponsive();\r\n        _.setPosition();\r\n\r\n    };\r\n\r\n    Slick.prototype.pause = Slick.prototype.slickPause = function() {\r\n\r\n        var _ = this;\r\n\r\n        _.autoPlayClear();\r\n        _.paused = true;\r\n\r\n    };\r\n\r\n    Slick.prototype.play = Slick.prototype.slickPlay = function() {\r\n\r\n        var _ = this;\r\n\r\n        _.autoPlay();\r\n        _.options.autoplay = true;\r\n        _.paused = false;\r\n        _.focussed = false;\r\n        _.interrupted = false;\r\n\r\n    };\r\n\r\n    Slick.prototype.postSlide = function(index) {\r\n\r\n        var _ = this;\r\n\r\n        if( !_.unslicked ) {\r\n\r\n            _.$slider.trigger('afterChange', [_, index]);\r\n\r\n            _.animating = false;\r\n\r\n            if (_.slideCount > _.options.slidesToShow) {\r\n                _.setPosition();\r\n            }\r\n\r\n            _.swipeLeft = null;\r\n\r\n            if ( _.options.autoplay ) {\r\n                _.autoPlay();\r\n            }\r\n\r\n            if (_.options.accessibility === true) {\r\n                _.initADA();\r\n\r\n                if (_.options.focusOnChange) {\r\n                    var $currentSlide = $(_.$slides.get(_.currentSlide));\r\n                    $currentSlide.attr('tabindex', 0).focus();\r\n                }\r\n            }\r\n\r\n        }\r\n\r\n    };\r\n\r\n    Slick.prototype.prev = Slick.prototype.slickPrev = function() {\r\n\r\n        var _ = this;\r\n\r\n        _.changeSlide({\r\n            data: {\r\n                message: 'previous'\r\n            }\r\n        });\r\n\r\n    };\r\n\r\n    Slick.prototype.preventDefault = function(event) {\r\n\r\n        event.preventDefault();\r\n\r\n    };\r\n\r\n    Slick.prototype.progressiveLazyLoad = function( tryCount ) {\r\n\r\n        tryCount = tryCount || 1;\r\n\r\n        var _ = this,\r\n            $imgsToLoad = $( 'img[data-lazy]', _.$slider ),\r\n            image,\r\n            imageSource,\r\n            imageSrcSet,\r\n            imageSizes,\r\n            imageToLoad;\r\n\r\n        if ( $imgsToLoad.length ) {\r\n\r\n            image = $imgsToLoad.first();\r\n            imageSource = image.attr('data-lazy');\r\n            imageSrcSet = image.attr('data-srcset');\r\n            imageSizes  = image.attr('data-sizes') || _.$slider.attr('data-sizes');\r\n            imageToLoad = document.createElement('img');\r\n\r\n            imageToLoad.onload = function() {\r\n\r\n                if (imageSrcSet) {\r\n                    image\r\n                        .attr('srcset', imageSrcSet );\r\n\r\n                    if (imageSizes) {\r\n                        image\r\n                            .attr('sizes', imageSizes );\r\n                    }\r\n                }\r\n\r\n                image\r\n                    .attr( 'src', imageSource )\r\n                    .removeAttr('data-lazy data-srcset data-sizes')\r\n                    .removeClass('slick-loading');\r\n\r\n                if ( _.options.adaptiveHeight === true ) {\r\n                    _.setPosition();\r\n                }\r\n\r\n                _.$slider.trigger('lazyLoaded', [ _, image, imageSource ]);\r\n                _.progressiveLazyLoad();\r\n\r\n            };\r\n\r\n            imageToLoad.onerror = function() {\r\n\r\n                if ( tryCount < 3 ) {\r\n\r\n                    /**\r\n                     * try to load the image 3 times,\r\n                     * leave a slight delay so we don't get\r\n                     * servers blocking the request.\r\n                     */\r\n                    setTimeout( function() {\r\n                        _.progressiveLazyLoad( tryCount + 1 );\r\n                    }, 500 );\r\n\r\n                } else {\r\n\r\n                    image\r\n                        .removeAttr( 'data-lazy' )\r\n                        .removeClass( 'slick-loading' )\r\n                        .addClass( 'slick-lazyload-error' );\r\n\r\n                    _.$slider.trigger('lazyLoadError', [ _, image, imageSource ]);\r\n\r\n                    _.progressiveLazyLoad();\r\n\r\n                }\r\n\r\n            };\r\n\r\n            imageToLoad.src = imageSource;\r\n\r\n        } else {\r\n\r\n            _.$slider.trigger('allImagesLoaded', [ _ ]);\r\n\r\n        }\r\n\r\n    };\r\n\r\n    Slick.prototype.refresh = function( initializing ) {\r\n\r\n        var _ = this, currentSlide, lastVisibleIndex;\r\n\r\n        lastVisibleIndex = _.slideCount - _.options.slidesToShow;\r\n\r\n        // in non-infinite sliders, we don't want to go past the\r\n        // last visible index.\r\n        if( !_.options.infinite && ( _.currentSlide > lastVisibleIndex )) {\r\n            _.currentSlide = lastVisibleIndex;\r\n        }\r\n\r\n        // if less slides than to show, go to start.\r\n        if ( _.slideCount <= _.options.slidesToShow ) {\r\n            _.currentSlide = 0;\r\n\r\n        }\r\n\r\n        currentSlide = _.currentSlide;\r\n\r\n        _.destroy(true);\r\n\r\n        $.extend(_, _.initials, { currentSlide: currentSlide });
1\r\n\r\n        _.init();\r\n\r\n        if( !initializing ) {\r\n\r\n            _.changeSlide({\r\n                data: {\r\n                    message: 'index',\r\n                    index: currentSlide\r\n                }\r\n            }, false);\r\n\r\n        }\r\n\r\n    };\r\n\r\n    Slick.prototype.registerBreakpoints = function() {\r\n\r\n        var _ = this, breakpoint, currentBreakpoint, l,\r\n            responsiveSettings = _.options.responsive || null;\r\n\r\n        if ( $.type(responsiveSettings) === 'array' && responsiveSettings.length ) {\r\n\r\n            _.respondTo = _.options.respondTo || 'window';\r\n\r\n            for ( breakpoint in responsiveSettings ) {\r\n\r\n                l = _.breakpoints.length-1;\r\n\r\n                if (responsiveSettings.hasOwnProperty(breakpoint)) {\r\n                    currentBreakpoint = responsiveSettings[breakpoint].breakpoint;\r\n\r\n                    // loop through the breakpoints and cut out any existing\r\n                    // ones with the same breakpoint number, we don't want dupes.\r\n                    while( l >= 0 ) {\r\n                        if( _.breakpoints[l] && _.breakpoints[l] === currentBreakpoint ) {\r\n                            _.breakpoints.splice(l,1);\r\n                        }\r\n                        l--;\r\n                    }\r\n\r\n                    _.breakpoints.push(currentBreakpoint);\r\n                    _.breakpointSettings[currentBreakpoint] = responsiveSettings[breakpoint].settings;\r\n\r\n                }\r\n\r\n            }\r\n\r\n            _.breakpoints.sort(function(a, b) {\r\n                return ( _.options.mobileFirst ) ? a-b : b-a;\r\n            });\r\n\r\n        }\r\n\r\n    };\r\n\r\n    Slick.prototype.reinit = function() {\r\n\r\n        var _ = this;\r\n\r\n        _.$slides =\r\n            _.$slideTrack\r\n                .children(_.options.slide)\r\n                .addClass('slick-slide');\r\n\r\n        _.slideCount = _.$slides.length;\r\n\r\n        if (_.currentSlide >= _.slideCount && _.currentSlide !== 0) {\r\n            _.currentSlide = _.currentSlide - _.options.slidesToScroll;\r\n        }\r\n\r\n        if (_.slideCount <= _.options.slidesToShow) {\r\n            _.currentSlide = 0;\r\n        }\r\n\r\n        _.registerBreakpoints();\r\n\r\n        _.setProps();\r\n        _.setupInfinite();\r\n        _.buildArrows();\r\n        _.updateArrows();\r\n        _.initArrowEvents();\r\n        _.buildDots();\r\n        _.updateDots();\r\n        _.initDotEvents();\r\n        _.cleanUpSlideEvents();\r\n        _.initSlideEvents();\r\n\r\n        _.checkResponsive(false, true);\r\n\r\n        if (_.options.focusOnSelect === true) {\r\n            $(_.$slideTrack).children().on('click.slick', _.selectHandler);\r\n        }\r\n\r\n        _.setSlideClasses(typeof _.currentSlide === 'number' ? _.currentSlide : 0);\r\n\r\n        _.setPosition();\r\n        _.focusHandler();\r\n\r\n        _.paused = !_.options.autoplay;\r\n        _.autoPlay();\r\n\r\n        _.$slider.trigger('reInit', [_]);\r\n\r\n    };\r\n\r\n    Slick.prototype.resize = function() {\r\n\r\n        var _ = this;\r\n\r\n        if ($(window).width() !== _.windowWidth) {\r\n            clearTimeout(_.windowDelay);\r\n            _.windowDelay = window.setTimeout(function() {\r\n                _.windowWidth = $(window).width();\r\n                _.checkResponsive();\r\n                if( !_.unslicked ) { _.setPosition(); }\r\n            }, 50);\r\n        }\r\n    };\r\n\r\n    Slick.prototype.removeSlide = Slick.prototype.slickRemove = function(index, removeBefore, removeAll) {\r\n\r\n        var _ = this;\r\n\r\n        if (typeof(index) === 'boolean') {\r\n            removeBefore = index;\r\n            index = removeBefore === true ? 0 : _.slideCount - 1;\r\n        } else {\r\n            index = removeBefore === true ? --index : index;\r\n        }\r\n\r\n        if (_.slideCount < 1 || index < 0 || index > _.slideCount - 1) {\r\n            return false;\r\n        }\r\n\r\n        _.unload();\r\n\r\n        if (removeAll === true) {\r\n            _.$slideTrack.children().remove();\r\n        } else {\r\n            _.$slideTrack.children(this.options.slide).eq(index).remove();\r\n        }\r\n\r\n        _.$slides = _.$slideTrack.children(this.options.slide);\r\n\r\n        _.$slideTrack.children(this.options.slide).detach();\r\n\r\n        _.$slideTrack.append(_.$slides);\r\n\r\n        _.$slidesCache = _.$slides;\r\n\r\n        _.reinit();\r\n\r\n    };\r\n\r\n    Slick.prototype.setCSS = function(position) {\r\n\r\n        var _ = this,\r\n            positionProps = {},\r\n            x, y;\r\n\r\n        if (_.options.rtl === true) {\r\n            position = -position;\r\n        }\r\n        x = _.positionProp == 'left' ? Math.ceil(position) + 'px' : '0px';\r\n        y = _.positionProp == 'top' ? Math.ceil(position) + 'px' : '0px';\r\n\r\n        positionProps[_.positionProp] = position;\r\n\r\n        if (_.transformsEnabled === false) {\r\n            _.$slideTrack.css(positionProps);\r\n        } else {\r\n            positionProps = {};\r\n            if (_.cssTransitions === false) {\r\n                positionProps[_.animType] = 'translate(' + x + ', ' + y + ')';\r\n                _.$slideTrack.css(positionProps);\r\n            } else {\r\n                positionProps[_.animType] = 'translate3d(' + x + ', ' + y + ', 0px)';\r\n                _.$slideTrack.css(positionProps);\r\n            }\r\n        }\r\n\r\n    };\r\n\r\n    Slick.prototype.setDimensions = function() {\r\n\r\n        var _ = this;\r\n\r\n        if (_.options.vertical === false) {\r\n            if (_.options.centerMode === true) {\r\n                _.$list.css({\r\n                    padding: ('0px ' + _.options.centerPadding)\r\n                });\r\n            }\r\n        } else {\r\n            _.$list.height(_.$slides.first().outerHeight(true) * _.options.slidesToShow);\r\n            if (_.options.centerMode === true) {\r\n                _.$list.css({\r\n                    padding: (_.options.centerPadding + ' 0px')\r\n                });\r\n            }\r\n        }\r\n\r\n        _.listWidth = _.$list.width();\r\n        _.listHeight = _.$list.height();\r\n\r\n\r\n        if (_.options.vertical === false && _.options.variableWidth === false) {\r\n            _.slideWidth = Math.ceil(_.listWidth / _.options.slidesToShow);\r\n            _.$slideTrack.width(Math.ceil((_.slideWidth * _.$slideTrack.children('.slick-slide').length)));\r\n\r\n        } else if (_.options.variableWidth === true) {\r\n            _.$slideTrack.width(5000 * _.slideCount);\r\n        } else {\r\n            _.slideWidth = Math.ceil(_.listWidth);\r\n            _.$slideTrack.height(Math.ceil((_.$slides.first().outerHeight(true) * _.$slideTrack.children('.slick-slide').length)));\r\n        }\r\n\r\n        var offset = _.$slides.first().outerWidth(true) - _.$slides.first().width();\r\n        if (_.options.variableWidth === false) _.$slideTrack.children('.slick-slide').width(_.slideWidth - offset);\r\n\r\n    };\r\n\r\n    Slick.prototype.setFade = function() {\r\n\r\n        var _ = this,\r\n            targetLeft;\r\n\r\n        _.$slides.each(function(index, element) {\r\n            targetLeft = (_.slideWidth * index) * -1;\r\n            if (_.options.rtl === true) {\r\n                $(element).css({\r\n                    position: 'relative',\r\n                    right: targetLeft,\r\n                    top: 0,\r\n                    zIndex: _.options.zIndex - 2,\r\n                    opacity: 0\r\n                });\r\n            } else {\r\n                $(element).css({\r\n                    position: 'relative',\r\n                    left: targetLeft,\r\n                    top: 0,\r\n                    zIndex: _.options.zIndex - 2,\r\n                    opacity: 0\r\n                });\r\n            }\r\n        });\r\n\r\n        _.$slides.eq(_.currentSlide).css({\r\n            zIndex: _.options.zIndex - 1,\r\n            opacity: 1\r\n        });\r\n\r\n    };\r\n\r\n    Slick.prototype.setHeight = function() {\r\n\r\n        var _ = this;\r\n\r\n        if (_.options.slidesToShow === 1 && _.options.adaptiveHeight === true && _.options.vertical === false) {\r\n            var targetHeight = _.$slides.eq(_.currentSlide).outerHeight(true);\r\n            _.$list.css('height', targetHeight);\r\n        }\r\n\r\n    };\r\n\r\n    Slick.prototype.setOption =\r\n    Slick.prototype.slickSetOption = function() {\r\n\r\n        /**\r\n         * accepts arguments in format of:\r\n         *\r\n         *  - for changing a single option's value:\r\n         *     .slick(\"setOption\", option, value, refresh )\r\n         *\r\n         *  - for changing a set of responsive options:\r\n         *     .slick(\"setOption\", 'responsive', [{}, ...], refresh )\r\n         *\r\n         *  - for updating multiple values at once (not responsive)\r\n         *     .slick(\"setOption\", { 'option': value, ... }, refresh )\r\n         */\r\n\r\n        var _ = this, l, item, option, value, refresh = false, t
1ype;\r\n\r\n        if( $.type( arguments[0] ) === 'object' ) {\r\n\r\n            option =  arguments[0];\r\n            refresh = arguments[1];\r\n            type = 'multiple';\r\n\r\n        } else if ( $.type( arguments[0] ) === 'string' ) {\r\n\r\n            option =  arguments[0];\r\n            value = arguments[1];\r\n            refresh = arguments[2];\r\n\r\n            if ( arguments[0] === 'responsive' && $.type( arguments[1] ) === 'array' ) {\r\n\r\n                type = 'responsive';\r\n\r\n            } else if ( typeof arguments[1] !== 'undefined' ) {\r\n\r\n                type = 'single';\r\n\r\n            }\r\n\r\n        }\r\n\r\n        if ( type === 'single' ) {\r\n\r\n            _.options[option] = value;\r\n\r\n\r\n        } else if ( type === 'multiple' ) {\r\n\r\n            $.each( option , function( opt, val ) {\r\n\r\n                _.options[opt] = val;\r\n\r\n            });\r\n\r\n\r\n        } else if ( type === 'responsive' ) {\r\n\r\n            for ( item in value ) {\r\n\r\n                if( $.type( _.options.responsive ) !== 'array' ) {\r\n\r\n                    _.options.responsive = [ value[item] ];\r\n\r\n                } else {\r\n\r\n                    l = _.options.responsive.length-1;\r\n\r\n                    // loop through the responsive object and splice out duplicates.\r\n                    while( l >= 0 ) {\r\n\r\n                        if( _.options.responsive[l].breakpoint === value[item].breakpoint ) {\r\n\r\n                            _.options.responsive.splice(l,1);\r\n\r\n                        }\r\n\r\n                        l--;\r\n\r\n                    }\r\n\r\n                    _.options.responsive.push( value[item] );\r\n\r\n                }\r\n\r\n            }\r\n\r\n        }\r\n\r\n        if ( refresh ) {\r\n\r\n            _.unload();\r\n            _.reinit();\r\n\r\n        }\r\n\r\n    };\r\n\r\n    Slick.prototype.setPosition = function() {\r\n\r\n        var _ = this;\r\n\r\n        _.setDimensions();\r\n\r\n        _.setHeight();\r\n\r\n        if (_.options.fade === false) {\r\n            _.setCSS(_.getLeft(_.currentSlide));\r\n        } else {\r\n            _.setFade();\r\n        }\r\n\r\n        _.$slider.trigger('setPosition', [_]);\r\n\r\n    };\r\n\r\n    Slick.prototype.setProps = function() {\r\n\r\n        var _ = this,\r\n            bodyStyle = document.body.style;\r\n\r\n        _.positionProp = _.options.vertical === true ? 'top' : 'left';\r\n\r\n        if (_.positionProp === 'top') {\r\n            _.$slider.addClass('slick-vertical');\r\n        } else {\r\n            _.$slider.removeClass('slick-vertical');\r\n        }\r\n\r\n        if (bodyStyle.WebkitTransition !== undefined ||\r\n            bodyStyle.MozTransition !== undefined ||\r\n            bodyStyle.msTransition !== undefined) {\r\n            if (_.options.useCSS === true) {\r\n                _.cssTransitions = true;\r\n            }\r\n        }\r\n\r\n        if ( _.options.fade ) {\r\n            if ( typeof _.options.zIndex === 'number' ) {\r\n                if( _.options.zIndex < 3 ) {\r\n                    _.options.zIndex = 3;\r\n                }\r\n            } else {\r\n                _.options.zIndex = _.defaults.zIndex;\r\n            }\r\n        }\r\n\r\n        if (bodyStyle.OTransform !== undefined) {\r\n            _.animType = 'OTransform';\r\n            _.transformType = '-o-transform';\r\n            _.transitionType = 'OTransition';\r\n            if (bodyStyle.perspectiveProperty === undefined && bodyStyle.webkitPerspective === undefined) _.animType = false;\r\n        }\r\n        if (bodyStyle.MozTransform !== undefined) {\r\n            _.animType = 'MozTransform';\r\n            _.transformType = '-moz-transform';\r\n            _.transitionType = 'MozTransition';\r\n            if (bodyStyle.perspectiveProperty === undefined && bodyStyle.MozPerspective === undefined) _.animType = false;\r\n        }\r\n        if (bodyStyle.webkitTransform !== undefined) {\r\n            _.animType = 'webkitTransform';\r\n            _.transformType = '-webkit-transform';\r\n            _.transitionType = 'webkitTransition';\r\n            if (bodyStyle.perspectiveProperty === undefined && bodyStyle.webkitPerspective === undefined) _.animType = false;\r\n        }\r\n        if (bodyStyle.msTransform !== undefined) {\r\n            _.animType = 'msTransform';\r\n            _.transformType = '-ms-transform';\r\n            _.transitionType = 'msTransition';\r\n            if (bodyStyle.msTransform === undefined) _.animType = false;\r\n        }\r\n        if (bodyStyle.transform !== undefined && _.animType !== false) {\r\n            _.animType = 'transform';\r\n            _.transformType = 'transform';\r\n            _.transitionType = 'transition';\r\n        }\r\n        _.transformsEnabled = _.options.useTransform && (_.animType !== null && _.animType !== false);\r\n    };\r\n\r\n\r\n    Slick.prototype.setSlideClasses = function(index) {\r\n\r\n        var _ = this,\r\n            centerOffset, allSlides, indexOffset, remainder;\r\n\r\n        allSlides = _.$slider\r\n            .find('.slick-slide')\r\n            .removeClass('slick-active slick-center slick-current')\r\n            .attr('aria-hidden', 'true');\r\n\r\n        _.$slides\r\n            .eq(index)\r\n            .addClass('slick-current');\r\n\r\n        if (_.options.centerMode === true) {\r\n\r\n            var evenCoef = _.options.slidesToShow % 2 === 0 ? 1 : 0;\r\n\r\n            centerOffset = Math.floor(_.options.slidesToShow / 2);\r\n\r\n            if (_.options.infinite === true) {\r\n\r\n                if (index >
1= centerOffset && index <= (_.slideCount - 1) - centerOffset) {\r\n                    _.$slides\r\n                        .slice(index - centerOffset + evenCoef, index + centerOffset + 1)\r\n                        .addClass('slick-active')\r\n                        .attr('aria-hidden', 'false');\r\n\r\n                } else {\r\n\r\n                    indexOffset = _.options.slidesToShow + index;\r\n                    allSlides\r\n                        .slice(indexOffset - centerOffset + 1 + evenCoef, indexOffset + centerOffset + 2)\r\n                        .addClass('slick-active')\r\n                        .attr('aria-hidden', 'false');\r\n\r\n                }\r\n\r\n                if (index === 0) {\r\n\r\n                    allSlides\r\n                        .eq(allSlides.length - 1 - _.options.slidesToShow)\r\n                        .addClass('slick-center');\r\n\r\n                } else if (index === _.slideCount - 1) {\r\n\r\n                    allSlides\r\n                        .eq(_.options.slidesToShow)\r\n                        .addClass('slick-center');\r\n\r\n                }\r\n\r\n            }\r\n\r\n            _.$slides\r\n                .eq(index)\r\n                .addClass('slick-center');\r\n\r\n        } else {\r\n\r\n            if (index >= 0 && index <= (_.slideCount - _.options.slidesToShow)) {\r\n\r\n                _.$slides\r\n                    .slice(index, index + _.options.slidesToShow)\r\n                    .addClass('slick-active')\r\n                    .attr('aria-hidden', 'false');\r\n\r\n            } else if (allSlides.length <= _.options.slidesToShow) {\r\n\r\n                allSlides\r\n                    .addClass('slick-active')\r\n                    .attr('aria-hidden', 'false');\r\n\r\n            } else {\r\n\r\n                remainder = _.slideCount % _.options.slidesToShow;\r\n                indexOffset = _.options.infinite === true ? _.options.slidesToShow + index : index;\r\n\r\n                if (_.options.slidesToShow == _.options.slidesToScroll && (_.slideCount - index) < _.options.slidesToShow) {\r\n\r\n                    allSlides\r\n                        .slice(indexOffset - (_.options.slidesToShow - remainder), indexOffset + remainder)\r\n                        .addClass('slick-active')\r\n                        .attr('aria-hidden', 'false');\r\n\r\n                } else {\r\n\r\n                    allSlides\r\n                        .slice(indexOffset, indexOffset + _.options.slidesToShow)\r\n                        .addClass('slick-active')\r\n                        .attr('aria-hidden', 'false');\r\n\r\n                }\r\n\r\n            }\r\n\r\n        }\r\n\r\n        if (_.options.lazyLoad === 'ondemand' || _.options.lazyLoad === 'anticipated') {\r\n            _.lazyLoad();\r\n        }\r\n    };\r\n\r\n    Slick.prototype.setupInfinite = function() {\r\n\r\n        var _ = this,\r\n            i, slideIndex, infiniteCount;\r\n\r\n        if (_.options.fade === true) {\r\n            _.options.centerMode = false;\r\n        }\r\n\r\n        if (_.options.infinite === true && _.options.fade === false) {\r\n\r\n            slideIndex = null;\r\n\r\n            if (_.slideCount > _.options.slidesToShow) {\r\n\r\n                if (_.options.centerMode === true) {\r\n                    infiniteCount = _.options.slidesToShow + 1;\r\n                } else {\r\n                    infiniteCount = _.options.slidesToShow;\r\n                }\r\n\r\n                for (i = _.slideCount; i > (_.slideCount -\r\n                        infiniteCount); i -= 1) {\r\n                    slideIndex = i - 1;\r\n                    $(_.$slides[slideIndex]).clone(true).attr('id', '')\r\n                        .attr('data-slick-index', slideIndex - _.slideCount)\r\n                        .prependTo(_.$slideTrack).addClass('slick-cloned');\r\n                }\r\n                for (i = 0; i < infiniteCount  + _.slideCount; i += 1) {\r\n                    slideIndex = i;\r\n                    $(_.$slides[slideIndex]).clone(true).attr('id', '')\r\n                        .attr('data-slick-index', slideIndex + _.slideCount)\r\n                        .appendTo(_.$slideTrack).addClass('slick-cloned');\r\n                }\r\n                _.$slideTrack.find('.slick-cloned').find('[id]').each(function() {\r\n                    $(this).attr('id', '');\r\n                });\r\n\r\n            }\r\n\r\n        }\r\n\r\n    };\r\n\r\n    Slick.prototype.interrupt = function( toggle ) {\r\n\r\n        var _ = this;\r\n\r\n        if( !toggle ) {\r\n            _.autoPlay();\r\n        }\r\n        _.interrupted = toggle;\r\n\r\n    };\r\n\r\n    Slick.prototype.selectHandler = function(event) {\r\n\r\n        var _ = this;\r\n\r\n        var targetElement =\r\n            $(event.target).is('.slick-slide') ?\r\n                $(event.target) :\r\n                $(event.target).parents('.slick-slide');\r\n\r\n        var index = parseInt(targetElement.attr('data-slick-index'));\r\n\r\n        if (!index) index = 0;\r\n\r\n        if (_.slideCount <= _.options.slidesToShow) {\r\n\r\n            _.slideHandler(index, false, true);\r\n            return;\r\n\r\n        }\r\n\r\n        _.slideHandler(index);\r\n\r\n    };\r\n\r\n    Slick.prototype.slideHandler = function(index, sync, dontAnimate) {\r\n\r\n        var targetSlide, animSlide, oldSlide, slideLeft, targetLeft = null,\r\n            _ = this, navTarget;\r\n\r\n        sync = sync || false;\r\n\r\n        if (_.animating === true && _.options.waitForAnimate === true) {\r\n            return;\r\n        }\r\n\r\n        if (_.options.fade === true && _.currentSlide === index) {\r\n            return;\r\n        }\r\n\r\n        if (sync === false) {\r\n            _.asNavFor(index);\r\n        }\r\n\r\n        targetSlide = index;\r\n        targetLeft = _.getLeft(targetSlide);\r\n        slideLeft = _.getLeft(_.currentSlide);\r\n\r\n        _.currentLeft = _.swipeLeft === null ? slideLeft : _.swipeLeft;\r\n\r\n        if (_.options.infinite === false && _.options.centerMode === false && (index < 0 || index > _.getDotCount() * _.options.slidesToScroll)) {\r\n            if (_.options.fade === false) {\r\n                targetSlide = _.currentSlide;\r\n                if (dontAnimate !== true && _.slideCount > _.options.slidesToShow) {\r\n                    _.animateSlide(slideLeft, function() {\r\n                        _.postSlide(targetSlide);\r\n                    });\r\n                } else {\r\n                    _.postSlide(targetSlide);\r\n                }\r\n            }\r\n            return;\r\n        } else if (_.options.infinite === false && _.options.centerMode === true && (index < 0 || index > (_.slideCount - _.options.slidesToScroll))) {\r\n            if (_.options.fade === false) {\r\n                targetSlide = _.currentSlide;\r\n                if (dontAnimate !== true && _.slideCount > _.options.slidesToShow) {\r\n                    _.animateSlide(slideLeft, function() {\r\n                        _.postSlide(targetSlide);\r\n                    });\r\n                } else {\r\n                    _.postSlide(targetSlide);\r\n                }\r\n            }\r\n            return;\r\n        }\r\n\r\n        if ( _.options.autoplay ) {\r\n            clearInterval(_.autoPlayTimer);\r\n        }
1\r\n\r\n        if (targetSlide < 0) {\r\n            if (_.slideCount % _.options.slidesToScroll !== 0) {\r\n                animSlide = _.slideCount - (_.slideCount % _.options.slidesToScroll);\r\n            } else {\r\n                animSlide = _.slideCount + targetSlide;\r\n            }\r\n        } else if (targetSlide >= _.slideCount) {\r\n            if (_.slideCount % _.options.slidesToScroll !== 0) {\r\n                animSlide = 0;\r\n            } else {\r\n                animSlide = targetSlide - _.slideCount;\r\n            }\r\n        } else {\r\n            animSlide = targetSlide;\r\n        }\r\n\r\n        _.animating = true;\r\n\r\n        _.$slider.trigger('beforeChange', [_, _.currentSlide, animSlide]);\r\n\r\n        oldSlide = _.currentSlide;\r\n        _.currentSlide = animSlide;\r\n\r\n        _.setSlideClasses(_.currentSlide);\r\n\r\n        if ( _.options.asNavFor ) {\r\n\r\n            navTarget = _.getNavTarget();\r\n            navTarget = navTarget.slick('getSlick');\r\n\r\n            if ( navTarget.slideCount <= navTarget.options.slidesToShow ) {\r\n                navTarget.setSlideClasses(_.currentSlide);\r\n            }\r\n\r\n        }\r\n\r\n        _.updateDots();\r\n        _.updateArrows();\r\n\r\n        if (_.options.fade === true) {\r\n            if (dontAnimate !== true) {\r\n\r\n                _.fadeSlideOut(oldSlide);\r\n\r\n                _.fadeSlide(animSlide, function() {\r\n                    _.postSlide(animSlide);\r\n                });\r\n\r\n            } else {\r\n                _.postSlide(animSlide);\r\n            }\r\n            _.animateHeight();\r\n            return;\r\n        }\r\n\r\n        if (dontAnimate !== true && _.slideCount > _.options.slidesToShow) {\r\n            _.animateSlide(targetLeft, function() {\r\n                _.postSlide(animSlide);\r\n            });\r\n        } else {\r\n            _.postSlide(animSlide);\r\n        }\r\n\r\n    };\r\n\r\n    Slick.prototype.startLoad = function() {\r\n\r\n        var _ = this;\r\n\r\n        if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) {\r\n\r\n            _.$prevArrow.hide();\r\n            _.$nextArrow.hide();\r\n\r\n        }\r\n\r\n        if (_.options.dots === true && _.slideCount > _.options.slidesToShow) {\r\n\r\n            _.$dots.hide();\r\n\r\n        }\r\n\r\n        _.$slider.addClass('slick-loading');\r\n\r\n    };\r\n\r\n    Slick.prototype.swipeDirection = function() {\r\n\r\n        var xDist, yDist, r, swipeAngle, _ = this;\r\n\r\n        xDist = _.touchObject.startX - _.touchObject.curX;\r\n        yDist = _.touchObject.startY - _.touchObject.curY;\r\n        r = Math.atan2(yDist, xDist);\r\n\r\n        swipeAngle = Math.round(r * 180 / Math.PI);\r\n        if (swipeAngle < 0) {\r\n            swipeAngle = 360 - Math.abs(swipeAngle);\r\n        }\r\n\r\n        if ((swipeAngle <= 45) && (swipeAngle >= 0)) {\r\n            return (_.options.rtl === false ? 'left' : 'right');\r\n        }\r\n        if ((swipeAngle <= 360) && (swipeAngle >= 315)) {\r\n            return (_.options.rtl === false ? 'left' : 'right');\r\n        }\r\n        if ((swipeAngle >= 135) && (swipeAngle <= 225)) {\r\n            return (_.options.rtl === false ? 'right' : 'left');\r\n        }\r\n        if (_.options.verticalSwiping === true) {\r\n            if ((swipeAngle >= 35) && (swipeAngle <= 135)) {\r\n                return 'down';\r\n            } else {\r\n                return 'up';\r\n            }\r\n        }\r\n\r\n        return 'vertical';\r\n\r\n    };\r\n\r\n    Slick.prototype.swipeEnd = function(event) {\r\n\r\n        var _ = this,\r\n            slideCount,\r\n            direction;\r\n\r\n        _.dragging = false;\r\n        _.swiping = false;\r\n\r\n        if (_.scrolling) {\r\n            _.scrolling = false;\r\n            return false;\r\n        }\r\n\r\n        _.interrupted = false;\r\n        _.shouldClick = ( _.touchObject.swipeLength > 10 ) ? false : true;\r\n\r\n        if ( _.touchObject.curX === undefined ) {\r\n            return false;\r\n        }\r\n\r\n        if ( _.touchObject.edgeHit === true ) {\r\n            _.$slider.trigger('edge', [_, _.swipeDirection() ]);\r\n        }\r\n\r\n        if ( _.touchObject.swipeLength >= _.touchObject.minSwipe ) {\r\n\r\n            direction = _.swipeDirection();\r\n\r\n            switch ( direction ) {\r\n\r\n                case 'left':\r\n                case 'down':\r\n\r\n                    slideCount =\r\n                        _.o
1ptions.swipeToSlide ?\r\n                            _.checkNavigable( _.currentSlide + _.getSlideCount() ) :\r\n                            _.currentSlide + _.getSlideCount();\r\n\r\n                    _.currentDirection = 0;\r\n\r\n                    break;\r\n\r\n                case 'right':\r\n                case 'up':\r\n\r\n                    slideCount =\r\n                        _.options.swipeToSlide ?\r\n                            _.checkNavigable( _.currentSlide - _.getSlideCount() ) :\r\n                            _.currentSlide - _.getSlideCount();\r\n\r\n                    _.currentDirection = 1;\r\n\r\n                    break;\r\n\r\n                default:\r\n\r\n\r\n            }\r\n\r\n            if( direction != 'vertical' ) {\r\n\r\n                _.slideHandler( slideCount );\r\n                _.touchObject = {};\r\n                _.$slider.trigger('swipe', [_, direction ]);\r\n\r\n            }\r\n\r\n        } else {\r\n\r\n            if ( _.touchObject.startX !== _.touchObject.curX ) {\r\n\r\n                _.slideHandler( _.currentSlide );\r\n                _.touchObject = {};\r\n\r\n            }\r\n\r\n        }\r\n\r\n    };\r\n\r\n    Slick.prototype.swipeHandler = function(event) {\r\n\r\n        var _ = this;\r\n\r\n        if ((_.options.swipe === false) || ('ontouchend' in document && _.options.swipe === false)) {\r\n            return;\r\n        } else if (_.options.draggable === false && event.type.indexOf('mouse') !== -1) {\r\n            return;\r\n        }\r\n\r\n        _.touchObject.fingerCount = event.originalEvent && event.originalEvent.touches !== undefined ?\r\n            event.originalEvent.touches.length : 1;\r\n\r\n        _.touchObject.minSwipe = _.listWidth / _.options\r\n            .touchThreshold;\r\n\r\n        if (_.options.verticalSwiping === true) {\r\n            _.touchObject.minSwipe = _.listHeight / _.options\r\n                .touchThreshold;\r\n        }\r\n\r\n        switch (event.data.action) {\r\n\r\n            case 'start':\r\n                _.swipeStart(event);\r\n                break;\r\n\r\n            case 'move':\r\n                _.swipeMove(event);\r\n                break;\r\n\r\n            case 'end':\r\n                _.swipeEnd(event);\r\n                break;\r\n\r\n        }\r\n\r\n    };\r\n\r\n    Slick.prototype.swipeMove = function(event) {\r\n\r\n        var _ = this,\r\n            edgeWasHit = false,\r\n            curLeft, swipeDirection, swipeLength, positionOffset, touches, verticalSwipeLength;\r\n\r\n        touches = event.originalEvent !== undefined ? event.originalEvent.touches : null;\r\n\r\n        if (!_.dragging || _.scrolling || touches && touches.length !== 1) {\r\n            return false;\r\n        }\r\n\r\n        curLeft = _.getLeft(_.currentSlide);\r\n\r\n        _.touchObject.curX = touches !== undefined ? touches[0].pageX : event.clientX;\r\n        _.touchObject.curY = touches !== undefined ? touches[0].pageY : event.clientY;\r\n\r\n        _.touchObject.swipeLength = Math.round(Math.sqrt(\r\n            Math.pow(_.touchObject.curX - _.touchObject.startX, 2)));\r\n\r\n        verticalSwipeLength = Math.round(Math.sqrt(\r\n            Math.pow(_.touchObject.curY - _.touchObject.startY, 2)));\r\n\r\n        if (!_.options.verticalSwiping && !_.swiping && verticalSwipeLength > 4) {\r\n            _.scrolling = true;\r\n            return false;\r\n        }\r\n\r\n        if (_.options.verticalSwiping === true) {\r\n            _.touchObject.swipeLength = verticalSwipeLength;\r\n        }\r\n\r\n        swipeDirection = _.swipeDirection();\r\n\r\n        if (event.originalEvent !== undefined && _.touchObject.swipeLength > 4) {\r\n            _.swiping = true;\r\n            event.preventDefault();\r\n        }\r\n\r\n        positionOffset = (_.options.rtl === false ? 1 : -1) * (_.touchObject.curX > _.touchObject.startX ? 1 : -1);\r\n        if (_.options.verticalSwiping === true) {\r\n            positionOffset = _.touchObject.curY > _.touchObject.startY ? 1 : -1;\r\n        }\r\n\r\n\r\n        swipeLength = _.touchObject.swipeLength;\r\n\r\n        _.touchObject.edgeHit = false;\r\n\r\n        if (_.options.infinite === false) {\r\n            if ((_.currentSlide === 0 && swipeDirection === 'right') || (_.currentSlide >= _.getDotCount() && swipeDirection === 'left')) {\r\n                swipeLength = _.touchObject.swipeLength * _.options.edgeFriction;\r\n                _.touchObject.edgeHit = true;\r\n            }\r\n        }\r\n\r\n        if (_.options.vertical === false) {\r\n            _.swipeLeft = curLeft + swipeLength * positionOffset;\r\n        } else {\r\n            _.swipeLeft = curLeft + (swipeLength * (_.$list.height() / _.listWidth)) * positionOffset;\r\n        }\r\n        if (_.options.verticalSwiping === true) {\r\n            _.swipeLeft = curLeft + swipeLength * positionOffset;\r\n        }\r\n\r\n        if (_.options.fade === true || _.options.touchMove === false) {\r\n            return false;\r\n        }\r\n\r\n        if (_.animating === true) {\r\n            _.swipeLeft = null;\r\n            return false;\r\n        }\r\n\r\n        _.setCSS(_.swipeLeft);\r\n\r\n    };\r\n\r\n    Slick.prototype.swipeStart = function(event) {\r\n\r\n        var _ = this,\r\n            touches;\r\n\r\n        _.interrupted = true;\r\n\r\n        if (_.touchObject.fingerCount !== 1 || _.slideCount <= _.options.slidesToShow) {\r\n            _.touchObject = {};\r\n            return false;\r\n        }\r\n\r\n        if (event.originalEvent !== undefined && event.originalEvent.touches !== undefined) {\r\n            touches = event.originalEvent.touches[0];\r\n        }\r\n\r\n        _.touchObject.startX = _.touchObject.curX = touches !== undefined ? touches.pageX : event.clientX;\r\n        _.touchObject.startY = _.touchObject.curY = touches !== undefined ? touches.pageY : event.clientY;\r\n\r\n        _.dragging = true;\r\n\r\n    };\r\n\r\n    Slick.prototype.unfilterSlides = Slick.prototype.slickUnfilter = function() {\r\n\r\n        var _ = this;\r\n\r\n        if (_.$slidesCache !== null) {\r\n\r\n            _.unload();\r\n\r\n            _.$slideTrack.children(this.options.slide).detach();\r\n\r\n            _.$slidesCache.appendTo(_.$slideTrack);\r\n\r\n            _.reinit();\r\n\r\n        }\r\n\r\n    };\r\n\r\n    Slick.prototype.unload = function() {\r\n\r\n        var _ = this;\r\n\r\n        $('.slick-cloned', _.$slider).remove();\r\n\r\n        if (_.$dots) {\r\n            _.$dots.remove();\r\n        }\r\n\r\n        if (_.$prevArrow && _.htmlExpr.test(_.options.prevArrow)) {\r\n            _.$prevArrow.remove();\r\n        }\r\n\r\n        if (_.$nextArrow && _.htmlExpr.test(_.options.nextArrow)) {\r\n            _.$nextArrow.remove();\r\n        }\r\n\r\n        _.$slides\r\n            .removeClass('slick-slide slick-active slick-visible slick-current')\r\n            .attr('aria-hidden', 'true')\r\n            .css('width', '');\r\n\r\n    };
1\r\n\r\n    Slick.prototype.unslick = function(fromBreakpoint) {\r\n\r\n        var _ = this;\r\n        _.$slider.trigger('unslick', [_, fromBreakpoint]);\r\n        _.destroy();\r\n\r\n    };\r\n\r\n    Slick.prototype.updateArrows = function() {\r\n\r\n        var _ = this,\r\n            centerOffset;\r\n\r\n        centerOffset = Math.floor(_.options.slidesToShow / 2);\r\n\r\n        if ( _.options.arrows === true &&\r\n            _.slideCount > _.options.slidesToShow &&\r\n            !_.options.infinite ) {\r\n\r\n            _.$prevArrow.removeClass('slick-disabled').attr('aria-disabled', 'false');\r\n            _.$nextArrow.removeClass('slick-disabled').attr('aria-disabled', 'false');\r\n\r\n            if (_.currentSlide === 0) {\r\n\r\n                _.$prevArrow.addClass('slick-disabled').attr('aria-disabled', 'true');\r\n                _.$nextArrow.removeClass('slick-disabled').attr('aria-disabled', 'false');\r\n\r\n            } else if (_.currentSlide >= _.slideCount - _.options.slidesToShow && _.options.centerMode === false) {\r\n\r\n                _.$nextArrow.addClass('slick-disabled').attr('aria-disabled', 'true');\r\n                _.$prevArrow.removeClass('slick-disabled').attr('aria-disabled', 'false');\r\n\r\n            } else if (_.currentSlide >= _.slideCount - 1 && _.options.centerMode === true) {\r\n\r\n                _.$nextArrow.addClass('slick-disabled').attr('aria-disabled', 'true');\r\n                _.$prevArrow.removeClass('slick-disabled').attr('aria-disabled', 'false');\r\n\r\n            }\r\n\r\n        }\r\n\r\n    };\r\n\r\n    Slick.prototype.updateDots = function() {\r\n\r\n        var _ = this;\r\n\r\n        if (_.$dots !== null) {\r\n\r\n            _.$dots\r\n                .find('li')\r\n                    .removeClass('slick-active')\r\n                    .end();\r\n\r\n            _.$dots\r\n                .find('li')\r\n                .eq(Math.floor(_.currentSlide / _.options.slidesToScroll))\r\n                .addClass('slick-active');\r\n\r\n        }\r\n\r\n    };\r\n\r\n    Slick.prototype.visibility = function() {\r\n\r\n        var _ = this;\r\n\r\n        if ( _.options.autoplay ) {\r\n\r\n            if ( document[_.hidden] ) {\r\n\r\n                _.interrupted = true;\r\n\r\n            } else {\r\n\r\n                _.interrupted = false;\r\n\r\n            }\r\n\r\n        }\r\n\r\n    };\r\n\r\n    $.fn.slick = function() {\r\n        var _ = this,\r\n            opt = arguments[0],\r\n            args = Array.prototype.slice.call(arguments, 1),\r\n            l = _.length,\r\n            i,\r\n            ret;\r\n        for (i = 0; i < l; i++) {\r\n            if (typeof opt == 'object' || typeof opt == 'undefined')\r\n                _[i].slick = new Slick(_[i], opt);\r\n            else\r\n                ret = _[i].slick[opt].apply(_[i].slick, args);\r\n            if (typeof ret != 'undefined') return ret;\r\n        }\r\n        return _;\r\n    };\r\n\r\n}));\r\n"},function(t,e,n){n(0)(n(43))},function(t,e){t.exports="/*!\r\n * Stellar.js v0.6.2\r\n * http://markdalgleish.com/projects/stellar.js\r\n *\r\n * Copyright 2014, Mark Dalgleish\r\n * This content is released under the MIT license\r\n * http://markdalgleish.mit-license.org\r\n */\r\n\r\n;(function($, window, document, undefined) {\r\n\r\n\tvar pluginName = 'stellar',\r\n\t\tdefaults = {\r\n\t\t\tscrollProperty: 'scroll',\r\n\t\t\tpositionProperty: 'position',\r\n\t\t\thorizontalScrolling: true,\r\n\t\t\tverticalScrolling: true,\r\n\t\t\thorizontalOffset: 0,\r\n\t\t\tverticalOffset: 0,\r\n\t\t\tresponsive: false,\r\n\t\t\tparallaxBackgrounds: true,\r\n\t\t\tparallaxElements: true,\r\n\t\t\thideDistantElements: true,\r\n\t\t\thideElement: function($elem) { $elem.hide(); },\r\n\t\t\tshowElement: function($elem) { $elem.show(); }\r\n\t\t},\r\n\r\n\t\tscrollProperty = {\r\n\t\t\tscroll: {\r\n\t\t\t\tgetLeft: function($elem) { return $elem.scrollLeft(); },\r\n\t\t\t\tsetLeft: function($elem, val) { $elem.scrollLeft(val); },\r\n\r\n\t\t\t\tgetTop: function($elem) { return $elem.scrollTop();\t},\r\n\t\t\t\tsetTop: function($elem, val) { $elem.scrollTop(val); }\r\n\t\t\t},\r\n\t\t\tposition: {\r\n\t\t\t\tgetLeft: function($elem) { return parseInt($elem.css('left'), 10) * -1; },\r\n\t\t\t\tgetTop: function($elem) { return parseInt($elem.css('top'), 10) * -1; }\r\n\t\t\t},\r\n\t\t\tmargin: {\r\n\t\t\t\tgetLeft: function($elem) { return parseInt($elem.css('margin-left'), 10) * -1; },\r\n\t\t\t\tgetTop: function($elem) { return parseInt($elem.css('margin-top'), 10) * -1; }\r\n\t\t\t},\r\n\t\t\ttransform: {\r\n\t\t\t\tgetLeft: function($elem) {\r\n\t\t\t\t\tvar computedTransform = getComputedStyle($elem[0])[prefixedTransform];\r\n\t\t\t\t\treturn (computedTransform !== 'none' ? parseInt(computedTransform.match(/(-?[0-9]+)/g)[4], 10) * -1 : 0);\r\n\t\t\t\t},\r\n\t\t\t\tgetTop: function($elem) {\r\n\t\t\t\t\tvar computedTransform = getComputedStyle($elem[0])[prefixedTransform];\r\n\t\t\t\t\treturn (computedTransform !== 'none' ? parseInt(computedTransform.match(/(-?[0-9]+)/g)[5], 10) * -1 : 0);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tpositionProperty = {\r\n\t\t\tposition: {\r\n\t\t\t\tsetLeft: function($elem, left) { $elem.css('left', left); },\r\n\t\t\t\tsetTop: function($elem, top) { $elem.css('top', top); }\r\n\t\t\t},\r\n\t\t\ttransform: {\r\n\t\t\t\tsetPosition: function($elem, left, startingLeft, top, startingTop) {\r\n\t\t\t\t\t$elem[0].style[prefixedTransform] = 'translate3d(' + (left - startingLeft) + 'px, ' + (top - startingTop) + 'px, 0)';\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\t// Returns a function which adds a vendor prefix to any CSS property name\r\n\t\tvendorPrefix = (function() {\r\n\t\t\tvar prefixes = /^(Moz|Webkit|Khtml|O|ms|Icab)(?=[A-Z])/,\r\n\t\t\t\tstyle = $('script')[0].style,\r\n\t\t\t\tprefix = '',\r\n\t\t\t\tprop;\r\n\r\n\t\t\tfor (prop in style) {\r\n\t\t\t\tif (prefixes.test(prop)) {\r\n\t\t\t\t\tprefix = prop.match(prefixes)[0];\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif ('WebkitOpacity' in style) { prefix = 'Webkit'; }\r\n\t\t\tif ('KhtmlOpacity' in style) { prefix = 'Khtml'; }\r\n\r\n\t\t\treturn function(property) {\r\n\t\t\t\treturn prefix + (prefix.length > 0 ? property.charAt(0).toUpperCase() + property.slice(1) : property);\r\n\t\t\t};\r\n\t\t}()),\r\n\r\n\t\tprefixedTransform = vendorPrefix('transform'),\r\n\r\n\t\tsupportsBackgroun
1dPositionXY = $('<div />', { style: 'background:#fff' }).css('background-position-x') !== undefined,\r\n\r\n\t\tsetBackgroundPosition = (supportsBackgroundPositionXY ?\r\n\t\t\tfunction($elem, x, y) {\r\n\t\t\t\t$elem.css({\r\n\t\t\t\t\t'background-position-x': x,\r\n\t\t\t\t\t'background-position-y': y\r\n\t\t\t\t});\r\n\t\t\t} :\r\n\t\t\tfunction($elem, x, y) {\r\n\t\t\t\t$elem.css('background-position', x + ' ' + y);\r\n\t\t\t}\r\n\t\t),\r\n\r\n\t\tgetBackgroundPosition = (supportsBackgroundPositionXY ?\r\n\t\t\tfunction($elem) {\r\n\t\t\t\treturn [\r\n\t\t\t\t\t$elem.css('background-position-x'),\r\n\t\t\t\t\t$elem.css('background-position-y')\r\n\t\t\t\t];\r\n\t\t\t} :\r\n\t\t\tfunction($elem) {\r\n\t\t\t\treturn $elem.css('background-position').split(' ');\r\n\t\t\t}\r\n\t\t),\r\n\r\n\t\trequestAnimFrame = (\r\n\t\t\twindow.requestAnimationFrame       ||\r\n\t\t\twindow.webkitRequestAnimationFrame ||\r\n\t\t\twindow.mozRequestAnimationFrame    ||\r\n\t\t\twindow.oRequestAnimationFrame      ||\r\n\t\t\twindow.msRequestAnimationFrame     ||\r\n\t\t\tfunction(callback) {\r\n\t\t\t\tsetTimeout(callback, 1000 / 60);\r\n\t\t\t}\r\n\t\t);\r\n\r\n\tfunction Plugin(element, options) {\r\n\t\tthis.element = element;\r\n\t\tthis.options = $.extend({}, defaults, options);\r\n\r\n\t\tthis._defaults = defaults;\r\n\t\tthis._name = pluginName;\r\n\r\n\t\tthis.init();\r\n\t}\r\n\r\n\tPlugin.prototype = {\r\n\t\tinit: function() {\r\n\t\t\tthis.options.name = pluginName + '_' + Math.floor(Math.random() * 1e9);\r\n\r\n\t\t\tthis._defineElements();\r\n\t\t\tthis._defineGetters();\r\n\t\t\tthis._defineSetters();\r\n\t\t\tthis._handleWindowLoadAndResize();\r\n\t\t\tthis._detectViewport();\r\n\r\n\t\t\tthis.refresh({ firstLoad: true });\r\n\r\n\t\t\tif (this.options.scrollProperty === 'scroll') {\r\n\t\t\t\tthis._handleScrollEvent();\r\n\t\t\t} else {\r\n\t\t\t\tthis._startAnimationLoop();\r\n\t\t\t}\r\n\t\t},\r\n\t\t_defineElements: function() {\r\n\t\t\tif (this.element === document.body) this.element = window;\r\n\t\t\tthis.$scrollElement = $(this.element);\r\n\t\t\tthis.$element = (this.element === window ? $('body') : this.$scrollElement);\r\n\t\t\tthis.$viewportElement = (this.options.viewportElement !== undefined ? $(this.options.viewportElement) : (this.$scrollElement[0] === window || this.options.scrollProperty === 'scroll' ? this.$scrollElement : this.$scrollElement.parent()) );\r\n\t\t},\r\n\t\t_defineGetters: function() {\r\n\t\t\tvar self = this,\r\n\t\t\t\tscrollPropertyAdapter = scrollProperty[self.options.scrollProperty];\r\n\r\n\t\t\tthis._getScrollLeft = function() {\r\n\t\t\t\treturn scrollPropertyAdapter.getLeft(self.$scrollElement);\r\n\t\t\t};\r\n\r\n\t\t\tthis._getScrollTop = function() {\r\n\t\t\t\treturn scrollPropertyAdapter.getTop(self.$scrollElement);\r\n\t\t\t};\r\n\t\t},\r\n\t\t_defineSetters: function() {\r\n\t\t\tvar self = this,\r\n\t\t\t\tscrollPropertyAdapter = scrollProperty[self.options.scrollProperty],\r\n\t\t\t\tpositionPropertyAdapter = positionProperty[self.options.positionProperty],\r\n\t\t\t\tsetScrollLeft = scrollPropertyAdapter.setLeft,\r\n\t\t\t\tsetScrollTop = scrollPropertyAdapter.setTop;\r\n\r\n\t\t\tthis._setScrollLeft = (typeof setScrollLeft === 'function' ? function(val) {\r\n\t\t\t\tsetScrollLeft(self.$scrollElement, val);\r\n\t\t\t} : $.noop);\r\n\r\n\t\t\tthis._setScrollTop = (typeof setScrollTop === 'function' ? function(val) {\r\n\t\t\t\tsetScrollTop(self.$scrollElement, val);\r\n\t\t\t} : $.noop);\r\n\r\n\t\t\tthis._setPosition = positionPropertyAdapter.setPosition ||\r\n\t\t\t\tfunction($elem, left, startingLeft, top, startingTop) {\r\n\t\t\t\t\tif (self.options.horizontalScrolling) {\r\n\t\t\t\t\t\tpositionPropertyAdapter.setLeft($elem, left, startingLeft);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (self.options.verticalScrolling) {\r\n\t\t\t\t\t\tpositionPropertyAdapter.setTop($elem, top, startingTop);\r\n\t\t\t\t\t}\r\n\t\t\t\t};\r\n\t\t},\r\n\t\t_handleWindowLoadAndResize: function() {\r\n\t\t\tvar self = this,\r\n\t\t\t\t$window = $(window);\r\n\r\n\t\t\tif (self.options.responsive) {\r\n\t\t\t\t$window.bind('load.' + this.name, function() {\r\n\t\t\t\t\tself.refresh();\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\t$window.bind('resize.' + this.name, function() {\r\n\t\t\t\tself._detectViewport();\r\n\r\n\t\t\t\tif (self.options.responsive) {\r\n\t\t\t\t\tself.refresh();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t},\r\n\t\trefresh: function(options) {\r\n\t\t\tvar self = this,\r\n\t\t\t\toldLeft = self._getScrollLeft(),\r\n\t\t\t\toldTop = self._getScrollTop();\r\n\r\n\t\t\tif (!options || !options.firstLoad) {\r\n\t\t\t\tthis._reset();\r\n\t\t\t}\r\n\r\n\t\t\tthis._setScrollLeft(0);\r\n\t\t\tthis._setScrollTop(0);\r\n\r\n\t\t\tthis._setOffsets();\r\n\t\t\tthis._findParticles();
1\r\n\t\t\tthis._findBackgrounds();\r\n\r\n\t\t\t// Fix for WebKit background rendering bug\r\n\t\t\tif (options && options.firstLoad && /WebKit/.test(navigator.userAgent)) {\r\n\t\t\t\t$(window).load(function() {\r\n\t\t\t\t\tvar oldLeft = self._getScrollLeft(),\r\n\t\t\t\t\t\toldTop = self._getScrollTop();\r\n\r\n\t\t\t\t\tself._setScrollLeft(oldLeft + 1);\r\n\t\t\t\t\tself._setScrollTop(oldTop + 1);\r\n\r\n\t\t\t\t\tself._setScrollLeft(oldLeft);\r\n\t\t\t\t\tself._setScrollTop(oldTop);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\tthis._setScrollLeft(oldLeft);\r\n\t\t\tthis._setScrollTop(oldTop);\r\n\t\t},\r\n\t\t_detectViewport: function() {\r\n\t\t\tvar viewportOffsets = this.$viewportElement.offset(),\r\n\t\t\t\thasOffsets = viewportOffsets !== null && viewportOffsets !== undefined;\r\n\r\n\t\t\tthis.viewportWidth = this.$viewportElement.width();\r\n\t\t\tthis.viewportHeight = this.$viewportElement.height();\r\n\r\n\t\t\tthis.viewportOffsetTop = (hasOffsets ? viewportOffsets.top : 0);\r\n\t\t\tthis.viewportOffsetLeft = (hasOffsets ? viewportOffsets.left : 0);\r\n\t\t},\r\n\t\t_findParticles: function() {\r\n\t\t\tvar self = this,\r\n\t\t\t\tscrollLeft = this._getScrollLeft(),\r\n\t\t\t\tscrollTop = this._getScrollTop();\r\n\r\n\t\t\tif (this.particles !== undefined) {\r\n\t\t\t\tfor (var i = this.particles.length - 1; i >= 0; i--) {\r\n\t\t\t\t\tthis.particles[i].$element.data('stellar-elementIsActive', undefined);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tthis.particles = [];\r\n\r\n\t\t\tif (!this.options.parallaxElements) return;\r\n\r\n\t\t\tthis.$element.find('[data-stellar-ratio]').each(function(i) {\r\n\t\t\t\tvar $this = $(this),\r\n\t\t\t\t\thorizontalOffset,\r\n\t\t\t\t\tverticalOffset,\r\n\t\t\t\t\tpositionLeft,\r\n\t\t\t\t\tpositionTop,\r\n\t\t\t\t\tmarginLeft,\r\n\t\t\t\t\tmarginTop,\r\n\t\t\t\t\t$offsetParent,\r\n\t\t\t\t\toffsetLeft,\r\n\t\t\t\t\toffsetTop,\r\n\t\t\t\t\tparentOffsetLeft = 0,\r\n\t\t\t\t\tparentOffsetTop = 0,\r\n\t\t\t\t\ttempParentOffsetLeft = 0,\r\n\t\t\t\t\ttempParentOffsetTop = 0;\r\n\r\n\t\t\t\t// Ensure this element isn't already part of another scrolling element\r\n\t\t\t\tif (!$this.data('stellar-elementIsActive')) {\r\n\t\t\t\t\t$this.data('stellar-elementIsActive', this);\r\n\t\t\t\t} else if ($this.data('stellar-elementIsActive') !== this) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tself.options.showElement($this);\r\n\r\n\t\t\t\t// Save/restore the original top and left CSS values in case we refresh the particles or destroy the instance\r\n\t\t\t\tif (!$this.data('stellar-startingLeft')) {\r\n\t\t\t\t\t$this.data('stellar-startingLeft', $this.css('left'));\r\n\t\t\t\t\t$this.data('stellar-startingTop', $this.css('top'));\r\n\t\t\t\t} else {\r\n\t\t\t\t\t$this.css('left', $this.data('stellar-startingLeft'));\r\n\t\t\t\t\t$this.css('top', $this.data('stellar-startingTop'));\r\n\t\t\t\t}\r\n\r\n\t\t\t\tpositionLeft = $this.position().left;\r\n\t\t\t\tpositionTop = $this.position().top;\r\n\r\n\t\t\t\t// Catch-all for margin top/left properties (these evaluate to 'auto' in IE7 and IE8)\r\n\t\t\t\tmarginLeft = ($this.css('margin-left') === 'auto') ? 0 : parseInt($this.css('margin-left'), 10);\r\n\t\t\t\tmarginTop = ($this.css('margin-top') === 'auto') ? 0 : parseInt($this.css('margin-top'), 10);\r\n\r\n\t\t\t\toffsetLeft = $this.offset().left - marginLeft;\r\n\t\t\t\toffsetTop = $this.offset().top - marginTop;\r\n\r\n\t\t\t\t// Calculate the offset parent\r\n\t\t\t\t$this.parents().each(function() {\r\n\t\t\t\t\tvar $this = $(this);\r\n\r\n\t\t\t\t\tif ($this.data('stellar-offset-parent') === true) {\r\n\t\t\t\t\t\tparentOffsetLeft = tempParentOffsetLeft;\r\n\t\t\t\t\t\tparentOffsetTop = tempParentOffsetTop;\r\n\t\t\t\t\t\t$offsetParent = $this;\r\n\r\n\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\ttempParentOffsetLeft += $this.position().left;\r\n\t\t\t\t\t\ttempParentOffsetTop += $this.position().top;\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t\t\t// Detect the offsets\r\n\t\t\t\thorizontalOffset = ($this.data('stellar-horizontal-offset') !== undefined ? $this.data('stellar-horizontal-offset') : ($offsetParent !== undefined && $offsetParent.data('stellar-horizontal-offset') !== undefined ? $offsetParent.data('stellar-horizontal-offset') : self.horizontalOffset));\r\n\t\t\t\tverticalOffset = ($this.data('stellar-vertical-offset') !== undefined ? $this.data('stellar-vertical-offset') : ($offsetParent !== undefined && $offsetParent.data('stellar-vertical-offset') !== undefined ? $offsetParent.data('stellar-vertical-offset') : self.verticalOffset));\r\n\r\n\t\t\t\t// Add our object to the particles collection\r\n\t\t\t\tself.particles.push({\r\n\t\t\t\t\t$element: $this,\r\n\t\t\t\t\t$offsetParent: $offsetParent,\r\n\t\t\t\t\tisFixed: $this.css('position') === 'fixed',\r\n\t\t\t\t\thorizontalOffset: horizontalOffset,\r\n\t\t\t\t\tverticalOffset: verticalOffset,\r\n\t\t\t\t\tstartingPositionLeft: positionLeft,\r\n\t\t\t\t\tstartingPositionTop: positionTop,\r\n\t\t\t\t\tstartingOffsetLeft: offsetLeft,\r\n\t\t\t\t\tstartingOffsetTop: offsetTop,\r\n\t\t\t\t\tparentOffsetLeft: parentOffsetLeft,\r\n\t\t\t\t\tparentOffsetTop: parentOffsetTop,\r\n\t\t\t\t\tstellarRatio: ($this.data('stellar-ratio') !== undefined ? $this.data('stellar-ratio') : 1),\r\n\t\t\t\t\twidth: $this.outerWidth(true),\r\n\t\t\t\t\theight: $this.outerHeight(true),\r\n\t\t\t\t\tisHidden: false\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t}
1,\r\n\t\t_findBackgrounds: function() {\r\n\t\t\tvar self = this,\r\n\t\t\t\tscrollLeft = this._getScrollLeft(),\r\n\t\t\t\tscrollTop = this._getScrollTop(),\r\n\t\t\t\t$backgroundElements;\r\n\r\n\t\t\tthis.backgrounds = [];\r\n\r\n\t\t\tif (!this.options.parallaxBackgrounds) return;\r\n\r\n\t\t\t$backgroundElements = this.$element.find('[data-stellar-background-ratio]');\r\n\r\n\t\t\tif (this.$element.data('stellar-background-ratio')) {\r\n                $backgroundElements = $backgroundElements.add(this.$element);\r\n\t\t\t}\r\n\r\n\t\t\t$backgroundElements.each(function() {\r\n\t\t\t\tvar $this = $(this),\r\n\t\t\t\t\tbackgroundPosition = getBackgroundPosition($this),\r\n\t\t\t\t\thorizontalOffset,\r\n\t\t\t\t\tverticalOffset,\r\n\t\t\t\t\tpositionLeft,\r\n\t\t\t\t\tpositionTop,\r\n\t\t\t\t\tmarginLeft,\r\n\t\t\t\t\tmarginTop,\r\n\t\t\t\t\toffsetLeft,\r\n\t\t\t\t\toffsetTop,\r\n\t\t\t\t\t$offsetParent,\r\n\t\t\t\t\tparentOffsetLeft = 0,\r\n\t\t\t\t\tparentOffsetTop = 0,\r\n\t\t\t\t\ttempParentOffsetLeft = 0,\r\n\t\t\t\t\ttempParentOffsetTop = 0;\r\n\r\n\t\t\t\t// Ensure this element isn't already part of another scrolling element\r\n\t\t\t\tif (!$this.data('stellar-backgroundIsActive')) {\r\n\t\t\t\t\t$this.data('stellar-backgroundIsActive', this);\r\n\t\t\t\t} else if ($this.data('stellar-backgroundIsActive') !== this) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Save/restore the original top and left CSS values in case we destroy the instance\r\n\t\t\t\tif (!$this.data('stellar-backgroundStartingLeft')) {\r\n\t\t\t\t\t$this.data('stellar-backgroundStartingLeft', backgroundPosition[0]);\r\n\t\t\t\t\t$this.data('stellar-backgroundStartingTop', backgroundPosition[1]);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tsetBackgroundPosition($this, $this.data('stellar-backgroundStartingLeft'), $this.data('stellar-backgroundStartingTop'));\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Catch-all for margin top/left properties (these evaluate to 'auto' in IE7 and IE8)\r\n\t\t\t\tmarginLeft = ($this.css('margin-left') === 'auto') ? 0 : parseInt($this.css('margin-left'), 10);\r\n\t\t\t\tmarginTop = ($this.css('margin-top') === 'auto') ? 0 : parseInt($this.css('margin-top'), 10);\r\n\r\n\t\t\t\toffsetLeft = $this.offset().left - marginLeft - scrollLeft;\r\n\t\t\t\toffsetTop = $this.offset().top - marginTop - scrollTop;\r\n\t\t\t\t\r\n\t\t\t\t// Calculate the offset parent\r\n\t\t\t\t$this.parents().each(function() {\r\n\t\t\t\t\tvar $this = $(this);\r\n\r\n\t\t\t\t\tif ($this.data('stellar-offset-parent') === true) {\r\n\t\t\t\t\t\tparentOffsetLeft = tempParentOffsetLeft;\r\n\t\t\t\t\t\tparentOffsetTop = tempParentOffsetTop;\r\n\t\t\t\t\t\t$offsetParent = $this;\r\n\r\n\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\ttempParentOffsetLeft += $this.position().left;\r\n\t\t\t\t\t\ttempParentOffsetTop += $this.position().top;\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t\t\t// Detect the offsets\r\n\t\t\t\thorizontalOffset = ($this.data('stellar-horizontal-offset') !== undefined ? $this.data('stellar-horizontal-offset') : ($offsetParent !== undefined && $offsetParent.data('stellar-horizontal-offset') !== undefined ? $offsetParent.data('stellar-horizontal-offset') : self.horizontalOffset));\r\n\t\t\t\tverticalOffset = ($this.data('stellar-vertical-offset') !== undefined ? $this.data('stellar-vertical-offset') : ($offsetParent !== undefined && $offsetParent.data('stellar-vertical-offset') !== undefined ? $offsetParent.data('stellar-vertical-offset') : self.verticalOffset));\r\n\r\n\t\t\t\tself.backgrounds.push({\r\n\t\t\t\t\t$element: $this,\r\n\t\t\t\t\t$offsetParent: $offsetParent,\r\n\t\t\t\t\tisFixed: $this.css('background-attachment') === 'fixed',\r\n\t\t\t\t\thorizontalOffset: horizontalOffset,\r\n\t\t\t\t\tverticalOffset: verticalOffset,\r\n\t\t\t\t\tstartingValueLeft: backgroundPosition[0],\r\n\t\t\t\t\tstartingValueTop: backgroundPosition[1],\r\n\t\t\t\t\tstartingBackgroun
1dPositionLeft: (isNaN(parseInt(backgroundPosition[0], 10)) ? 0 : parseInt(backgroundPosition[0], 10)),\r\n\t\t\t\t\tstartingBackgroundPositionTop: (isNaN(parseInt(backgroundPosition[1], 10)) ? 0 : parseInt(backgroundPosition[1], 10)),\r\n\t\t\t\t\tstartingPositionLeft: $this.position().left,\r\n\t\t\t\t\tstartingPositionTop: $this.position().top,\r\n\t\t\t\t\tstartingOffsetLeft: offsetLeft,\r\n\t\t\t\t\tstartingOffsetTop: offsetTop,\r\n\t\t\t\t\tparentOffsetLeft: parentOffsetLeft,\r\n\t\t\t\t\tparentOffsetTop: parentOffsetTop,\r\n\t\t\t\t\tstellarRatio: ($this.data('stellar-background-ratio') === undefined ? 1 : $this.data('stellar-background-ratio'))\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t},\r\n\t\t_reset: function() {\r\n\t\t\tvar particle,\r\n\t\t\t\tstartingPositionLeft,\r\n\t\t\t\tstartingPositionTop,\r\n\t\t\t\tbackground,\r\n\t\t\t\ti;\r\n\r\n\t\t\tfor (i = this.particles.length - 1; i >= 0; i--) {\r\n\t\t\t\tparticle = this.particles[i];\r\n\t\t\t\tstartingPositionLeft = particle.$element.data('stellar-startingLeft');\r\n\t\t\t\tstartingPositionTop = particle.$element.data('stellar-startingTop');\r\n\r\n\t\t\t\tthis._setPosition(particle.$element, startingPositionLeft, startingPositionLeft, startingPositionTop, startingPositionTop);\r\n\r\n\t\t\t\tthis.options.showElement(particle.$element);\r\n\r\n\t\t\t\tparticle.$element.data('stellar-startingLeft', null).data('stellar-elementIsActive', null).data('stellar-backgroundIsActive', null);\r\n\t\t\t}\r\n\r\n\t\t\tfor (i = this.backgrounds.length - 1; i >= 0; i--) {\r\n\t\t\t\tbackground = this.backgrounds[i];\r\n\r\n\t\t\t\tbackground.$element.data('stellar-backgroundStartingLeft', null).data('stellar-backgroundStartingTop', null);\r\n\r\n\t\t\t\tsetBackgroundPosition(background.$element, background.startingValueLeft, background.startingValueTop);\r\n\t\t\t}\r\n\t\t},\r\n\t\tdestroy: function() {\r\n\t\t\tthis._reset();\r\n\r\n\t\t\tthis.$scrollElement.unbind('resize.' + this.name).unbind('scroll.' + this.name);\r\n\t\t\tthis._animationLoop = $.noop;\r\n\r\n\t\t\t$(window).unbind('load.' + this.name).unbind('resize.' + this.name);\r\n\t\t},\r\n\t\t_setOffsets: function() {\r\n\t\t\tvar self = this,\r\n\t\t\t\t$window = $(window);\r\n\r\n\t\t\t$window.unbind('resize.horizontal-' + this.name).unbind('resize.vertical-' + this.name);\r\n\r\n\t\t\tif (typeof this.options.horizontalOffset === 'function') {\r\n\t\t\t\tthis.horizontalOffset = this.options.horizontalOffset();\r\n\t\t\t\t$window.bind('resize.horizontal-' + this.name, function() {\r\n\t\t\t\t\tself.horizontalOffset = self.options.horizontalOffset();\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tthis.horizontalOffset = this.options.horizontalOffset;\r\n\t\t\t}\r\n\r\n\t\t\tif (typeof this.options.verticalOffset === 'function') {\r\n\t\t\t\tthis.verticalOffset = this.options.verticalOffset();\r\n\t\t\t\t$window.bind('resize.vertical-' + this.name, function() {\r\n\t\t\t\t\tself.verticalOffset = self.options.verticalOffset();\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tthis.verticalOffset = this.options.verticalOffset;\r\n\t\t\t}\r\n\t\t},\r\n\t\t_repositionElements: function() {\r\n\t\t\tvar scrollLeft = this._getScrollLeft(),\r\n\t\t\t\tscrollTop = this._getScrollTop(),\r\n\t\t\t\thorizontalOffset,\r\n\t\t\t\tverticalOffset,\r\n\t\t\t\tparticle,\r\n\t\t\t\tfixedRatioOffset,\r\n\t\t\t\tbackground,\r\n\t\t\t\tbgLeft,\r\n\t\t\t\tbgTop,\r\n\t\t\t\tisVisibleVertical = true,\r\n\t\t\t\tisVisibleHorizontal = true,\r\n\t\t\t\tnewPositionLeft,\r\n\t\t\t\tnewPositionTop,\r\n\t\t\t\tnewOffsetLeft,\r\n\t\t\t\tnewOffsetTop,\r\n\t\t\t\ti;\r\n\r\n\t\t\t// First check that the scroll position or container size has changed\r\n\t\t\tif (this.currentScrollLeft === scrollLeft && this.currentScrollTop === scrollTop && this.currentWidth === this.viewportWidth && this.currentHeight === this.viewportHeight) {\r\n\t\t\t\treturn;\r\n\t\t\t} else {\r\n\t\t\t\tthis.currentScrollLeft = scrollLeft;\r\n\t\t\t\tthis.currentScrollTop = scrollTop;\r\n\t\t\t\tthis.currentWidth = this.viewportWidth;\r\n\t\t\t\tthis.currentHeight = this.viewportHeight;\r\n\t\t\t}\r\n\r\n\t\t\t// Reposition elements\r\n\t\t\tfor (i = this.particles.length - 1; i >= 0; i--) {\r\n\t\t\t\tparticle = this.particles[i];
1\r\n\r\n\t\t\t\tfixedRatioOffset = (particle.isFixed ? 1 : 0);\r\n\r\n\t\t\t\t// Calculate position, then calculate what the particle's new offset will be (for visibility check)\r\n\t\t\t\tif (this.options.horizontalScrolling) {\r\n\t\t\t\t\tnewPositionLeft = (scrollLeft + particle.horizontalOffset + this.viewportOffsetLeft + particle.startingPositionLeft - particle.startingOffsetLeft + particle.parentOffsetLeft) * -(particle.stellarRatio + fixedRatioOffset - 1) + particle.startingPositionLeft;\r\n\t\t\t\t\tnewOffsetLeft = newPositionLeft - particle.startingPositionLeft + particle.startingOffsetLeft;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tnewPositionLeft = particle.startingPositionLeft;\r\n\t\t\t\t\tnewOffsetLeft = particle.startingOffsetLeft;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (this.options.verticalScrolling) {\r\n\t\t\t\t\tnewPositionTop = (scrollTop + particle.verticalOffset + this.viewportOffsetTop + particle.startingPositionTop - particle.startingOffsetTop + particle.parentOffsetTop) * -(particle.stellarRatio + fixedRatioOffset - 1) + particle.startingPositionTop;\r\n\t\t\t\t\tnewOffsetTop = newPositionTop - particle.startingPositionTop + particle.startingOffsetTop;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tnewPositionTop = particle.startingPositionTop;\r\n\t\t\t\t\tnewOffsetTop = particle.startingOffsetTop;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Check visibility\r\n\t\t\t\tif (this.options.hideDistantElements) {\r\n\t\t\t\t\tisVisibleHorizontal = !this.options.horizontalScrolling || newOffsetLeft + particle.width > (particle.isFixed ? 0 : scrollLeft) && newOffsetLeft < (particle.isFixed ? 0 : scrollLeft) + this.viewportWidth + this.viewportOffsetLeft;\r\n\t\t\t\t\tisVisibleVertical = !this.options.verticalScrolling || newOffsetTop + particle.height > (particle.isFixed ? 0 : scrollTop) && newOffsetTop < (particle.isFixed ? 0 : scrollTop) + this.viewportHeight + this.viewportOffsetTop;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (isVisibleHorizontal && isVisibleVertical) {\r\n\t\t\t\t\tif (particle.isHidden) {\r\n\t\t\t\t\t\tthis.options.showElement(particle.$element);\r\n\t\t\t\t\t\tparticle.isHidden = false;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tthis._setPosition(particle.$element, newPositionLeft, particle.startingPositionLeft, newPositionTop, particle.startingPositionTop);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tif (!particle.isHidden) {\r\n\t\t\t\t\t\tthis.options.hideElement(particle.$element);\r\n\t\t\t\t\t\tparticle.isHidden = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// Reposition backgrounds\r\n\t\t\tfor (i = this.backgrounds.length - 1; i >= 0; i--) {\r\n\t\t\t\tbackground = this.backgrounds[i];\r\n\r\n\t\t\t\tfixedRatioOffset = (background.isFixed ? 0 : 1);\r\n\t\t\t\tbgLeft = (this.options.horizontalScrolling ? (scrollLeft + background.horizontalOffset - this.viewportOffsetLeft - background.startingOffsetLeft + background.parentOffsetLeft - background.startingBackgroun
1dPositionLeft) * (fixedRatioOffset - background.stellarRatio) + 'px' : background.startingValueLeft);\r\n\t\t\t\tbgTop = (this.options.verticalScrolling ? (scrollTop + background.verticalOffset - this.viewportOffsetTop - background.startingOffsetTop + background.parentOffsetTop - background.startingBackgroundPositionTop) * (fixedRatioOffset - background.stellarRatio) + 'px' : background.startingValueTop);\r\n\r\n\t\t\t\tsetBackgroundPosition(background.$element, bgLeft, bgTop);\r\n\t\t\t}\r\n\t\t},\r\n\t\t_handleScrollEvent: function() {\r\n\t\t\tvar self = this,\r\n\t\t\t\tticking = false;\r\n\r\n\t\t\tvar update = function() {\r\n\t\t\t\tself._repositionElements();\r\n\t\t\t\tticking = false;\r\n\t\t\t};\r\n\r\n\t\t\tvar requestTick = function() {\r\n\t\t\t\tif (!ticking) {\r\n\t\t\t\t\trequestAnimFrame(update);\r\n\t\t\t\t\tticking = true;\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t\t\r\n\t\t\tthis.$scrollElement.bind('scroll.' + this.name, requestTick);\r\n\t\t\trequestTick();\r\n\t\t},\r\n\t\t_startAnimationLoop: function() {\r\n\t\t\tvar self = this;\r\n\r\n\t\t\tthis._animationLoop = function() {\r\n\t\t\t\trequestAnimFrame(self._animationLoop);\r\n\t\t\t\tself._repositionElements();\r\n\t\t\t};\r\n\t\t\tthis._animationLoop();\r\n\t\t}\r\n\t};\r\n\r\n\t$.fn[pluginName] = function (options) {\r\n\t\tvar args = arguments;\r\n\t\tif (options === undefined || typeof options === 'object') {\r\n\t\t\treturn this.each(function () {\r\n\t\t\t\tif (!$.data(this, 'plugin_' + pluginName)) {\r\n\t\t\t\t\t$.data(this, 'plugin_' + pluginName, new Plugin(this, options));\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t} else if (typeof options === 'string' && options[0] !== '_' && options !== 'init') {\r\n\t\t\treturn this.each(function () {\r\n\t\t\t\tvar instance = $.data(this, 'plugin_' + pluginName);\r\n\t\t\t\tif (instance instanceof Plugin && typeof instance[options] === 'function') {\r\n\t\t\t\t\tinstance[options].apply(instance, Array.prototype.slice.call(args, 1));\r\n\t\t\t\t}\r\n\t\t\t\tif (options === 'destroy') {\r\n\t\t\t\t\t$.data(this, 'plugin_' + pluginName, null);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n\r\n\t$[pluginName] = function(options) {\r\n\t\tvar $window = $(window);\r\n\t\treturn $window.stellar.apply($window, Array.prototype.slice.call(arguments, 0));\r\n\t};\r\n\r\n\t// Expose the scroll and position property function hashes so they can be extended\r\n\t$[pluginName].scrollProperty = scrollProperty;\r\n\t$[pluginName].positionProperty = positionProperty;\r\n\r\n\t// Expose the plugin class so it can be modified\r\n\twindow.Stellar = Plugin;\r\n}(jQuery, this, document));"},function(t,e,n){n(0)(n(45))},function(t,e){t.exports="\r\n\r\n// this script REQUIRES imutility.js\r\n// please ensure you include imutility.js before this script, like so:\r\n// <jdoc:include type=\"impartScript\" name=\"{shared}/v3/js/imutility.js\" compress=\"true\" />\r\n\r\n\r\n// convert the search gadget into bootstrap format, to allow for better styling, and automatic responsiveness\r\njQuery(document).on('gadget.script.loaded', function() {\r\n\tIMUtility.pushSearchGadgetLoadedEvent();\r\n\t$w.event.subscribe('search.gadget.ready', function() {\r\n\t\t\r\n\t\tBE._isMobile = 1;\r\n\t\t\r\n// Please do not make changes to this file within the {shared}/v3/ folder\r\n// If you wish to make changes, consider copying and pasting this file into your {template}/js/ folder, and then customising\r\n\t\t\r\n\t\t//jQuery('#searchGadget .search-gadget').before('<div id=\"searchgadget-heading\"><h2><span>Book your accommodation online</span></h2>');\r\n\t\t\r\n\t\tjQuery('#searchGadget .search-gadget').before(jQuery('#searchGadget .hybridTabs'));\r\n\t\tjQuery('#searchGadget .hybridTabs').addClass('gadget__all-tabs row').removeClass('hybridTabs');\r\n\t\tjQuery('#searchGadget .gadget__all-tabs a').addClass('col-xs-12 col-sm-6 col-md-3');\r\n\t\t\r\n\t\tjQuery('.search-gadget span.label').wrap('<label></label>');\r\n\t\tjQuery('.search-gadget span.label').addClass('gadget__search-label').removeClass('label');\r\n\t\t\r\n\t\tjQuery('.search-gadget .product').addClass('col-xs-12 col-sm-2 col-md-2 gadget__search-column gadget__search-column-select');\r\n\t\tjQuery('.search-gadget .date').addClass('col-xs-12 col-sm-12 col-md-4 ' + 'gadget__search-column gadget__search-column-date');\r\n\t\t\r\n\t\t\tjQuery('.details-gadget .search-gadget .date').addClass('col-xs-12 col-sm-12 col-md-3 ' + 'gadget__search-column gadget__search-column-date');\r\n\t\t\tjQuery('.details-gadget .search-gadget').addClass('container').prepend('<h3 id=\"gadget-heading\">Make a booking</h3>');\r\n\t\t\r\n\t\tif ( jQuery('.search-gadget .infants select').length < 1) { jQuery('.search-gadget .infants').addClass('hide'); }\r\n\t\tif ( jQuery('.search-gadget .adults select').length < 1) { jQuery('.search-gadget .adults').addClass('hide'); }\r\n\t\tif ( jQuery('.search-gadget .concessions select').length < 1) { jQuery('.search-gadget .concessions').addClass('hide'); }\r\n\t\tif ( jQuery('.search-gadget .adults select').length < 1) { jQuery('.search-gadget .adults').addClass('hide'); }\r\n\t\tif ( jQuery('.search-gadget .students select').length < 1) { jQuery('.search-gadget .students').addClass('hide'); }\r\n\t\tif ( jQuery('.search-gadget .observers select').length < 1) { jQuery('.search-gadget .observers').addClass('hide'); }\r\n\r\n\t\tjQuery('.search-gadget .period').addClass('col-xs-12 col-sm-2 col-md-2 gadget__search-column gadget__search-column-select');\r\n\t\tjQuery('.search-gadget .adults').addClass('col-xs-12 col-sm-2 col-md-2 gadget__search-column gadget__search-column-select');\r\n\t\tjQuery('.search-gadget .children').addClass('col-xs-12 col-sm-2 col-md-2 gadget__search-column gadget__search-column-select');\r\n\t\tjQuery('.search-gadget .infants').addClass('col-xs-12 col-sm-2 col-md-2 gadget__search-column gadget__search-column-select');\r\n\t\tjQuery('.search-gadget .concessions').addClass('col-xs-12 col-sm-2 col-md-2 gadget__search-column gadget__search-column-select');\r\n\t\tjQuery('.search-gadget .students').addClass('col-xs-12 col-sm-2 col-md-2 gadget__search-column gadget__search-column-select');\r\n\t\tjQuery('.search-gadget .observers').addClass('col-xs-12 col-sm-2 col-md-2 gadget__search-column gadget__search-column-select');\r\n\t\tjQuery('.search-gadget .family').addClass('col-xs-12 col-sm-2 col-md-2 gadget__search-column gadget__search-column-select');\r\n\t\tjQuery('.search-gadget .button').addClass('col-xs-12 col-sm-2 col-md-1 gadget__search-column gadget__search-column-button pull-right');\r\n\r\n\t\tjQuery('#regionGadget .search-gadget .date').removeClass('col-md-4');\r\n\t\tjQuery('#regionGadget .search-gadget .date').addClass('col-md-3 col-lg-2');\r\n\t\tjQuery('#regionGadget .search-gadget .period').removeClass('col-md-2');\r\n\t\tjQuery('#regionGadget .search-gadget .period').addClass('col-md-2 col-lg-2');\r\n\t\tjQuery('#regionGadget .search-gadget .adults').removeClass('col-md-2');\r\n\t\tjQuery('#regionGadget .search-gadget .adults').addClass('col-md-2 col-lg-2');\r\n\t\tjQuery('#regionGadget .search-gadget .children').removeClass('col-md-2');\r\n\t\tjQuery('#regionGadget .search-gadget .children').addClass('col-md-2 col-lg-2');\r\n\t\tjQuery('#regionGadget .search-gadget .infants').removeClass('col-md-2');\r\n\t\tjQuery('#regionGadget .search-gadget .infants').addClass('col-md-2 col-lg-2');\r\n\r\n\t\tjQuery('.search-gadget .date, .search-gadget .period, .search-gadget .adults, .search-gadget .children, .search-gadget .infants').wrapInner('<div class=\"row\"></div>');\r\n\t\tjQuery('.search-gadget .concessions, .search-gadget .students, .search-gadget .observers, .search-gadget .family').wrapInner('<div class=\"row\"></div>');\r\n\t\tjQuery('.specific-prop-search').hide();\r\n\t\tjQuery('.search-gadget').attr('id', 'gadget__search');\r\n\t\tjQuery('.embedded-search .search-gadget .button').hide();\r\n\t\tjQuery('#searchGadget .search-gadget .infants').hide();\r\n\t\t\r\n\t\tjQuery('#gadget__search').append('<div class=\"clear\"></div>');\r\n\t\t\r\n\t\tif (jQuery('.search-gadget .students').length > 0) {\r\n\t\t\tjQuery('.search-gadget').addClass('wide-row-many-columns');\r\n\t\t}\r\n\t\t\r\n\t\t// for sites that display the product dropdown (instead of the hybrid tabs), make sure the dropdown works as expected\r\n\t\tif (jQuery('.search-gadget .product').is(':visible')) {\r\n\t\t\tjQuery('.search-gadget .date').addClass('gadget__search-column-border');\r\n\t\t\tjQuery('.search-gadget .period, .search-gadget .adults, .search-gadget .children').removeClass('col-md-2').addClass('col-md-1_5');\r\n\t\t\tjQuery('.search-gadget .button').removeClass('col-md-3').addClass('col-md-2_5');\r\n\t\t}\r\n\t\tjQuery('.BE-hybrid-gadget .product select option').each(function() {\r\n\t\t\tvar option = jQuery(this).attr('value');\r\n\t\t\tif (jQuery('.gadget__all-tabs a.' + option).length == 0) {\r\n\t\t\t\tjQuery(this).remove();\r\n\t\t\t}\r\n\t\t});\r\n\t\tjQuery('.BE-hybrid-gadget .product select').change(function(e) {\r\n\t\t\te.preventDefault();\r\n\t\t\tjQuery('#gadget__search').removeClass('accomTab').removeClass('toursTab');\r\n\t\t\tif (jQuery(this).val() == \"accom\") {\r\n\t\t\t\twisDOM($w.find(\"a.tab\")[0]).trigger(\"click\");\r\n\t\t\t\tjQuery('#gadget__search').addClass('accomTab');\r\n\t\t\t} else if (jQuery(this).val() == \"tours\") {\r\n\t\t\t\twisDOM($w.find(\"a.tab\")[1]).trigger(\"click\");\r\n\t\t\t\tjQuery('#gadget__search').addClass('toursTab');\r\n\t\t\t} else if (jQuery(this).val() == \"events\") {\r\n\t\t\t\twisDOM($w.find(\"a.tab\")[2]).trigger(\"click\");\r\n\t\t\t} else if (jQuery(this).val() == \"carhire\") {\r\n\t\t\t\twisDOM($w.find(\"a.tab\")[3]).trigger(\"click\");\r\n\t\t\t} else if (jQuery(this).val() == \"packages\") {\r\n\t\t\t\twisDOM($w.find(\"a.tab\")[4]).trigger(\"click\");\r\n\t\t\t} else {\r\n\t\t\t\twisDOM($w.find(\"a.tab\")[0]).trigger(\"click\");\r\n\t\t\t}\r\n\t\t\treturn false;\r\n\t\t});\r\n\t\t\r\n\t});\r\n\tvar adjustRegionRefineToolsOnce = 0;\r\n\t$w.event.subscribe('region.refinetools.built', function() {\r\n\t\t// Only add these adjustments one time to avoid the same thing being applied when a user\r\n\t\t// changes the dates/adults etc\r\n\t\tif ( !adjustRegionRefineToolsOnce ) {\r\n\t\t\tjQuery('.search-gadget .refineTools span.label').wrap('<label></label>');\r\n\t\t\tjQuery('.search-gadget .refineTools span.label').addClass('gadget__search-label').removeClass('label');\r\n\t\t\tjQuery('.search-gadget .refineTools > div label').addClass('col-xs-12 col-md-12');\r\n\t\t\tjQuery('.search-gadget .refineTools > div .input').wrap('<div class=\"col-xs-12 col-md-12\"></div>').css('display', 'block');\r\n\t\t\t\r\n\t\t\tjQuery('.search-gadget .locationFilter').addClass('col-sm-3 col-md-3 gadget__search-column gadget__search-column-select');\r\n\t\t\tjQuery('.search-gadget .accommTypes').addClass('col-sm-3 col-md-3 gadget__search-column gadget__search-column-select gadget__search-column-border');\r\n\t\t\tjQuery('.search-gadget .tourTypes').addClass('col-sm-3 col-md-2 gadget__search-column gadget__search-column-select gadget__search-column-border');\r\n\t\t\tjQuery('.search-gadget .facilities').addClass('col-sm-3 col-md-2 gadget__search-column gadget__search-column-select gadget__search-column-border');\r\n\t\t\tjQuery('.search-gadget .maxPrice').addClass('col-sm-3 col-md-2 gadget__search-column gadget__search-column-textbox gadget__search-column-border');\r\n\t\t\tjQuery('.search-gadget .nameFilter').addClass('col-sm-3 col-md-2 gadget__search-column gadget__search-column-textbox gadget__search-column-border');\r\n\t\t\tjQuery('.search-gadget .sortBy').addClass('col-sm-6 col-md-4 gadget__search-column gadget__search-column-select gadget__search-column-border');\r\n\t\t\tjQuery('.search-gadget .byWhich').addClass('col-sm-6 col-md-6').css('margin', '0');\r\n\t\t\tjQuery('.search-gadget .byOrder').addClass('col-sm-6 col-md-6 gadget__search-column-border').css('margin', '0');\r\n\t\t\t\r\n\t\t\tjQuery('.search-gadget .refineTools input').css('width', '100%');\r\n\t\t\tjQuery('.search-gadget .refineTools select').css('width', '100%');\r\n\t\t\tjQuery('.search-gadget .refineTools .sortBy > div').wrapInner('<div class=\"row\"></div>').css('margin', '0');\r\n\t\t\tjQuery('.search-gadget .refineTools > div').wrapInner('<div class=\"row\"></div>').css('margin', '0');\r\n\t\t\tjQuery('.embedded-search .search-gadget > div').css('margin', '0');\r\n\t\t\tadjustRegionRefineToolsOnce = 1;\r\n\t\t}\r\n\t\t// Rearrange the homepage search\r\n\t\t/*setTimeout(function() {\t\t\t\r\n\t\t\tjQuery('#homepage #gadget__search .locationFilter').addClass('col-md-4').removeClass('col-md-2').insertBefore('#gadget__search .date');\r\n\t\t\tjQuery('#homepage #gadget__search .accommTypes').addClass('col-md-4').removeClass('col-md-2').insertAfter('#gadget__search .locationFilter');\r\n\t\t}, 300);*/\r\n\r\n\t\t// Check if the homepage search gadget has loaded on content page and then do this\r\n\t\tfunction homepageSearchGadgetArrange() {\r\n\r\n\t\t\t// If content page search bar exists\r\n\t\t\tif ( jQuery('#searchGadget #gadget__search').length > 0 ) {\r\n\r\n\t\t\t\t// Check for the input elements to load and move them\r\n\t\t\t\treturn window.setInterval( function() {\r\n\t\t\t\t\tvar locationFilter = jQuery('#gadget__search').find('.locationFilter');\r\n\t\t\t\t\t//var product = jQuery('#gadget__search').find('.product');\r\n\t\t\t\t\tvar date = jQuery('#gadget__search').find('.gadget__search-column.date');\r\n\r\n\t\t\t\t\tif ( locationFilter.length > 0 /*&& product.length > 0*/ ) {\r\n\t\t\t\t\t\t// reposition input fields\r\n\t\t\t\t\t   \t//product.insertBefore(date);
1\r\n\t\t\t\t\t   \t//product.show();\r\n\t\t\t\t\t   \t//locationFilter.insertAfter(date);\r\n\t\t\t\t\t   \t\r\n\t\t\t\t\t   \t// Change search gadget select text for locationFilter/accom\r\n\t\t\t\t\t   \tlocationFilterTextAdjust();\r\n\t\t\t\t\t   \taccomFilterTextAdjust();\r\n\t\t\t\t\t   \tproductFilterTextAdjust();\r\n\r\n\t\t\t\t\t   \t// stop setInterval function\r\n\t\t\t\t\t   \twindow.clearInterval(homepageSearchAdjust);\r\n\t\t\t\t\t}\r\n\t\t\t\t}, 150 );\r\n\t\t\t}\r\n\r\n\t\t}\r\n\t\tvar homepageSearchAdjust = homepageSearchGadgetArrange();\r\n\r\n\t\t\r\n\r\n\t\t// Change the input to say Search Filter to say \"Where would you like to go?\"\r\n\t\tfunction locationFilterTextAdjust() {\r\n\t\t\tjQuery('#gadget__search .locationFilter select option:first-child').html('Where do you want to go?');\r\n\t\t}\r\n\r\n\t\tfunction accomFilterTextAdjust() {\r\n\t\t\tjQuery('#gadget__search .accommTypes select option:first-child').html('Accommodation');\r\n\t\t}\r\n\r\n\t\tfunction productFilterTextAdjust() {\r\n\t\t\tjQuery('#gadget__search .product select option[value=\"events\"]').html('Tickets');\r\n\t\t}\r\n\r\n\t});\r\n\r\n});\r\n"},function(t,e,n){n(0)(n(47))},function(t,e){t.exports="\r\n\r\n// this script REQUIRES imutility.js\r\n// please ensure you include imutility.js before this script, like so:\r\n// <jdoc:include type=\"impartScript\" name=\"{shared}/v3/js/imutility.js\" compress=\"true\" />\r\n\r\n\r\n// convert the region gadget into bootstrap format, to allow for better styling, and automatic responsiveness\r\njQuery(document).on('gadget.script.loaded', function() {\r\n\tIMUtility.pushRegionGadgetLoadedEvent();\r\n\tIMUtility.pushRegionGadgetChangedEvent();\r\n\t$w.event.subscribe('region.refinetools.built', function() {\r\n\t\t\r\n\t\tif ((jQuery('.tabs-group').length > 0) && (jQuery('.gadget__region-tabs').length > 0)) {\r\n\t\t\tjQuery('.gadget__region-tabs').remove();\r\n\t\t}\r\n\t\tjQuery('.view-choice .label').hide();\r\n\t\t//jQuery('.view-choice a').css('box-sizing', 'content-box');\r\n\t\tjQuery('.view-choice a.list').addClass('hidden-xs');\r\n\t\tjQuery('.view-choice a.map').addClass('hidden-xs');\r\n\t\tjQuery('.view-choice').addClass('gadget__all-tabs row');\r\n\t\tjQuery('.view-choice a').addClass('tab col-xs-12 col-sm-4 col-md-4');\r\n\t\tjQuery('.tabs-group').addClass('gadget__region-tabs').removeClass('tabs-group');\r\n\t\tjQuery('.search-gadget .period select').change(function() {\r\n\t\t\tforceManyNightsToListView();\r\n\t\t});\r\n\t\tforceManyNightsToListView();\r\n\t\t\r\n\t});\r\n\t$w.event.subscribe('region.gadget.built', function() {\r\n\t\t\r\n// Please do not make changes to this file within the {shared}/v3/ folder\r\n// If you wish to make changes, consider copying and pasting this file into your {template}/js/ folder, and then customising\r\n\t\t\r\n\t\tjQuery('.prices-grid td.date').addClass('hidden-xs');\r\n\t\tjQuery('.prices-grid td.date:gt(6)').addClass('hidden-sm');\r\n\t\tjQuery('.prices-grid td.date:gt(13)').addClass('hidden-md');\r\n\t\t\r\n\t\tjQuery('.im-grid tr.odd, .im-grid tr.even').each(function() {\r\n\t\t\tvar operatorUrl = jQuery(this).find('td.property .name').attr('href');\r\n\t\t\t//var operatorId = parseInt(operatorUrl.split('/').pop());\r\n\t\t\t// Because of the error on the above line before being commented out,\r\n\t\t\t// none of the following lines would have been executed, so they have also been commented out\r\n\t\t\t/*\r\n\t\t\tjQuery(this).find('td.price').addClass('hidden-xs');\r\n\t\t\tjQuery(this).find('td.price:gt(6)').addClass('hidden-sm');\r\n\t\t\tjQuery(this).find('td.price:gt(13)').addClass('hidden-md');\r\n\t\t\tjQuery(this).find('td.property .name').wrapInner('<div class=\"name\"></div>');\r\n\t\t\tjQuery(this).find('td.property .name div').unwrap();\r\n\t\t\t//jQuery(this).find('td.total a').wrapInner('<div class=\"im-btn\"></div>');\r\n\t\t\t//jQuery(this).find('td.total a div').unwrap();\r\n\r\n\t\t\tjQuery(this).find(' td.property .thumb, td.property .specials, td.property .name, td.property .address, td.property .room-name').
1click(function() {\r\n\t\t\t\tIMUtility.redirect(operatorUrl);\r\n\t\t\t}).css('cursor', 'pointer');\r\n\r\n\t\t\t */\r\n\t\t\t\r\n\t\t});\r\n\t\t\r\n\t\tjQuery('.im-pricebutton-label.label').removeClass('label');\r\n\t\t\r\n\t});\r\n\tjQuery('head').append('<style> .tabs-group { display:none; } </style>');\r\n});\r\n\r\nfunction forceManyNightsToListView() {\r\n\t\r\n\tif (parseInt(jQuery('.search-gadget .period select').val()) >= 14) {\r\n\t\tvar wThis = $w('div.view-choice a.list');\r\n\t\tvar rel = wThis.attr('rel');\r\n\t\t$w.event.publish('region.view.change', wThis, rel);\r\n\t\tjQuery('.gadget__region-tabs a').removeClass('current');\r\n\t\tjQuery('.gadget__region-tabs .list').addClass('current');\r\n\t}\r\n\t\r\n}\r\n"},function(t,e,n){n(0)(n(49))},function(t,e){t.exports='!function(e,t){"function"==typeof define&&define.amd?define(t):"object"==typeof exports?module.exports=t(require,exports,module):e.ScrollReveal=t()}(this,function(e,t,n){return function(){"use strict";var e,t,n;this.ScrollReveal=function(){function i(n){return"undefined"==typeof this||Object.getPrototypeOf(this)!==i.prototype?new i(n):(e=this,e.tools=new t,e.isSupported()?(e.tools.extend(e.defaults,n||{}),o(e.defaults),e.store={elements:{},containers:[]},e.sequences={},e.history=[],e.uid=0,e.initialized=!1):"undefined"!=typeof console&&null!==console,e)}function o(t){var n=t.container;return n&&"string"==typeof n?t.container=window.document.querySelector(n):(n&&!e.tools.isNode(n)&&(t.container=null),null==n&&(t.container=window.document.documentElement),t.container)}function r(){return++e.uid}function s(t,n){t.config?t.config=e.tools.extendClone(t.config,n):t.config=e.tools.extendClone(e.defaults,n),"top"===t.config.origin||"bottom"===t.config.origin?t.config.axis="Y":t.config.axis="X","top"!==t.config.origin&&"left"!==t.config.origin||(t.config.distance="-"+t.config.distance)}function a(e){var t=window.getComputedStyle(e.domEl);e.styles||(e.styles={transition:{},transform:{},computed:{}},e.styles.inline=e.domEl.getAttribute("style")||"",e.styles.inline+="; visibility: visible; ",e.styles.computed.opacity=t.opacity,t.transition&&"all 0s ease 0s"!=t.transition?e.styles.computed.transition=t.transition+", ":e.styles.computed.transition=""),e.styles.transition.instant=l(e,0),e.styles.transition.delayed=l(e,e.config.delay),e.styles.transform.initial=" -webkit-transform:",e.styles.transform.target=" -webkit-transform:",c(e),e.styles.transform.initial+="transform:",e.styles.transform.target+="transform:",c(e)}function l(e,t){var n=e.config;return"-webkit-transition: "+e.styles.computed.transition+"-webkit-transform "+n.duration/1e3+"s "+n.easing+" "+t/1e3+"s, opacity "+n.duration/1e3+"s "+n.easing+" "+t/1e3+"s; transition: "+e.styles.computed.transition+"transform "+n.duration/1e3+"s "+n.easing+" "+t/1e3+"s, opacity "+n.duration/1e3+"s "+n.easing+" "+t/1e3+"s; "}function c(e){var t=e.config,n=e.styles.transform;parseInt(t.distance)&&(n.initial+=" translate"+t.axis+"("+t.distance+")",n.target+=" translate"+t.axis+"(0)"),t.scale&&(n.initial+=" scale("+t.scale+")",n.target+=" scale(1)"),t.rotate.x&&(n.initial+=" rotateX("+t.rotate.x+"deg)",n.target+=" rotateX(0)"),t.rotate.y&&(n.initial+=" rotateY("+t.rotate.y+"deg)",n.target+=" rotateY(0)"),t.rotate.z&&(n.initial+=" rotateZ("+t.rotate.z+"deg)",n.target+=" rotateZ(0)"),n.initial+="; opacity: "+t.opacity+";",n.target+="; opacity: "+e.styles.computed.opacity+";"}function f(t){var n=t.config.container;n&&-1==e.store.containers.indexOf(n)&&e.store.containers.push(t.config.container),e.store.elements[t.id]=t}function u(t,n,i){var o={selector:t,config:n,interval:i};e.history.push(o)}function d(){if(e.isSupported()){p();for(var t=0;t<e.store.containers.length;t++)e.store.containers[t].addEventListener("scroll",y),e.store.containers[t].addEventListener("resize",y);e.initialized||(window.addEventListener("scroll",y),window.addEventListener("resize",y),e.initialized=!0)}return e}function y(){n(p)}function m(){var t,n,i,o;e.tools.forOwn(e.sequences,function(r){o=e.sequences[r],t=!1;for(var s=0;s<o.elemIds.length;s++)i=o.elemIds[s],n=e.store.elements[i],O(n)&&!t&&(t=!0);o.active=t})}function p(){var t,n;m(),e.tools.forOwn(e.store.elements,function(i){n=e.store.elements[i],t=b(n),v(n)?(t?n.domEl.setAttribute("style",n.styles.inline+n.styles.transform.target+n.styles.transition.delayed):n.domEl.setAttribute("style",n.styles.inline+n.styles.transform.target+n.styles.transition.instant),w("reveal",n,t),n.revealing=!0,n.seen=!0,n.sequence&&g(n,t)):h(n)&&(n.domEl.setAttribute("style",n.styles.inline+n.styles.transform.initial+n.styles.transition.instant),w("reset",n),n.revealing=!1)})}function g(t,n){var i=0,o=0,r=e.sequences[t.sequence.id];r.blocked=!0,n&&"onload"==t.config.useDelay&&(o=t.config.delay),t.sequence.timer&&(i=Math.abs(t.sequence.timer.started-new Date),window.clearTimeout(t.sequence.timer)),t.sequence.timer={
1started:new Date},t.sequence.timer.clock=window.setTimeout(function(){r.blocked=!1,t.sequence.timer=null,y()},Math.abs(r.interval)+o-i)}function w(e,t,n){var i=0,o=0,r="after";switch(e){case"reveal":o=t.config.duration,n&&(o+=t.config.delay),r+="Reveal";break;case"reset":o=t.config.duration,r+="Reset"}t.timer&&(i=Math.abs(t.timer.started-new Date),window.clearTimeout(t.timer.clock)),t.timer={started:new Date},t.timer.clock=window.setTimeout(function(){t.config[r](t.domEl),t.timer=null},o-i)}function v(t){if(t.sequence){var n=e.sequences[t.sequence.id];return n.active&&!n.blocked&&!t.revealing&&!t.disabled}return O(t)&&!t.revealing&&!t.disabled}function b(t){var n=t.config.useDelay;return"always"===n||"onload"===n&&!e.initialized||"once"===n&&!t.seen}function h(t){if(t.sequence){var n=e.sequences[t.sequence.id];return!n.active&&t.config.reset&&t.revealing&&!t.disabled}return!O(t)&&t.config.reset&&t.revealing&&!t.disabled}function x(e){return{width:e.clientWidth,height:e.clientHeight}}function q(e){if(e&&e!==window.document.documentElement){var t=E(e);return{x:e.scrollLeft+t.left,y:e.scrollTop+t.top}}return{x:window.pageXOffset,y:window.pageYOffset}}function E(e){var t=0,n=0,i=e.offsetHeight,o=e.offsetWidth;do isNaN(e.offsetTop)||(t+=e.offsetTop),isNaN(e.offsetLeft)||(n+=e.offsetLeft);while(e=e.offsetParent);return{top:t,left:n,height:i,width:o}}function O(e){function t(){var t=c+a*s,n=f+l*s,i=u-a*s,y=d-l*s,m=r.y+e.config.viewOffset.top,p=r.x+e.config.viewOffset.left,g=r.y-e.config.viewOffset.bottom+o.height,w=r.x-e.config.viewOffset.right+o.width;return g>t&&i>m&&n>p&&w>y}function n(){return"fixed"===window.getComputedStyle(e.domEl).position}var i=E(e.domEl),o=x(e.config.container),r=q(e.config.container),s=e.config.viewFactor,a=i.height,l=i.width,c=i.top,f=i.left,u=c+a,d=f+l;return t()||n()}return i.prototype.defaults={origin:"bottom",distance:"20px",duration:500,delay:0,rotate:{x:0,y:0,z:0},opacity:0,scale:.9,easing:"cubic-bezier(0.6, 0.2, 0.1, 1)",container:null,mobile:!0,reset:!1,useDelay:"always",viewFactor:.2,viewOffset:{top:0,right:0,bottom:0,left:0},afterReveal:function(e){},afterReset:function(e){}},i.prototype.isSupported=function(){var e=document.documentElement.style;return"WebkitTransition"in e&&"WebkitTransform"in e||"transition"in e&&"transform"in e},i.prototype.reveal=function(t,n,i,l){var c,y,m,p,g,w;if(c=n&&n.container?o(n):e.defaults.container,y=e.tools.isNode(t)?[t]:Array.prototype.slice.call(c.querySelectorAll(t)),!y.length)return e;n&&"number"==typeof n&&(i=n,n={}),i&&"number"==typeof i&&(w=r(),g=e.sequences[w]={id:w,interval:i,elemIds:[],active:!1});for(var v=0;v<y.length;v++)p=y[v].getAttribute("data-sr-id"),p?m=e.store.elements[p]:(m={id:r(),domEl:y[v],seen:!1,revealing:!1},m.domEl.setAttribute("data-sr-id",m.id)),g&&(m.sequence={id:g.id,index:g.elemIds.length},g.elemIds.push(m.id)),s(m,n||{}),a(m),f(m),e.tools.isMobile()&&!m.config.mobile||!e.isSupported()?(m.domEl.setAttribute("style",m.styles.inline),m.disabled=!0):m.revealing||m.domEl.setAttribute("style",m.styles.inline+m.styles.transform.initial);return!l&&e.isSupported()&&(u(t,n),e.initTimeout&&window.clearTimeout(e.initTimeout),e.initTimeout=window.setTimeout(d,0)),e},i.prototype.sync=function(){if(e.history.length&&e.isSupported()){for(var t=0;t<e.history.length;t++){var n=e.history[t];e.reveal(n.selector,n.config,n.interval,!0)}d()}return e},i}(),t=function(){function e(){}return e.prototype.isObject=function(e){return null!==e&&"object"==typeof e&&e.constructor==Object},e.prototype.isNode=function(e){return"object"==typeof Node?e instanceof Node:e&&"object"==typeof e&&"number"==typeof e.nodeType&&"string"==typeof e.nodeName},e.prototype.forOwn=function(e,t){if(!this.isObject(e))throw new TypeError(\'Expected "object", but received "\'+typeof e+\'".\');for(var n in e)e.hasOwnProperty(n)&&t(n)},e.prototype.extend=function(e,t){return this.forOwn(t,function(n){this.isObject(t[n])?(e[n]&&this.isObject(e[n])||(e[n]={}),this.extend(e[n],t[n])):e[n]=t[n]}.bind(this)),e},e.prototype.extendClone=function(e,t){return this.extend(this.extend({},e),t)},e.prototype.isMobile=function(){return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)},e}(),n=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame}.call(this),this.ScrollReveal});'},function(t,e,n){n(0)(n(51))},function(t,e){t.exports="\r\n// Responsive banner image -- content pages\r\n/*\r\nvar bannerImage = ($j('#contentpage #banner img').attr('data-src') ? $j('#contentpage #banner img').attr('data-src') : $j('#contentpage #banner img').attr('src'));\r\nif ( $j('body.com_easyblog.view-entry').length == 0 && typeof bannerImage !== \"undefined\") {\r\n\t$j('#contentpage #banner').css('background-image', 'url('+ bannerImage +')');\r\n}\r\n*/\r\n\r\nvar $j = jQuery.noConflict();\r\n\r\n$j(document).ready(function() {\r\n\r\n\t/*\t\r\n\t * \tHelper variables \r\n\t */\r\n\tvar isMain = $j('main').length > 0;\r\n\tvar isHomepage = $j('#homepage').length;\r\n\r\n\tif ( detectIE() ){\r\n\t\t$j('body').addClass('is-internet-explorer');\t\t\r\n\t}\r\n\r\n\t$j('#footer-top ul').removeAttr('class');\r\n\t$j('#footer-top ul li a').removeAttr('class');\r\n\t$j('#footer-top ul li a').removeAttr('data-toggle');\r\n\r\n\t// Full Height menu item to adjust for gap in dropdown menu\r\n\tvar maxMenuHeight = 100;\r\n\tfunction mainMenuItemHeight() {\r\n\t\tif ( $j(window).width() > 800 ) {\r\n\t\t\tvar menuHeight = $j('#navigation').outerHeight();\r\n\t\t\tvar currentHeight = $j('#navigation .nav.menu.navbar-nav > li').height();\r\n\t\t\t\r\n\t\t\tif (currentHeight <= maxMenuHeight && $j('#navbar').height() <= maxMenuHeight) {\r\n\t\t\t\t$j('#navigation .nav.menu.navbar-nav > li').height( $j('#navbar').height() );\r\n\t\t\t}\r\n\r\n\t\t\tif (menuHeight < 40 ) {\r\n\t\t\t\t$j('#navigation .nav.menu.navbar-nav > li').height(40);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\tmainMenuItemHeight();\r\n\r\n\r\n\t// Check if dropdown menu is going offscreen and shift it back\r\n\tfunction checkMenuOffset() {\r\n\t\t$j(\"#navigation #navbar > ul > li > .dropdown-menu\").each( function(index, value){\r\n\t\t\t// Check if menu going off the left of screen\r\n\t\t\tif ( $j(value).offset().left < 0 ) {\r\n\t\t\t\t$j(value).css('left', ($j(value).offset().left)*-1 + 'px' );\r\n\t\t\t}\r\n\t\t\t// Check if menu going off the right of screen\r\n\t\t\tvar menuWidth = $j(value).outerWidth();\r\n\t\t\tvar menuLeftPosition = $j(value).offset().left;\r\n\t\t\tvar windowWidth = $j(window).width();\r\n\t\t\tvar widthDifference = menuLeftPosition + menuWidth - windowWidth;\r\n\r\n\t\t\tif ( (menuWidth + menuLeftPosition) > windowWidth ) {\r\n\t\t\t\t$j(value).css('left', (widthDifference)*-1 + 'px');\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\r\n\t// Run check when menu item hover\r\n\t$j(\"#navigation #navbar > ul > li\").hover(\r\n\t  \tfunction() {\r\n\t    \tcheckMenuOffset();\r\n\t  \t}, function() {\r\n\t    \t\r\n\t  \t}\r\n\t);\r\n\r\n\t// Run check when menu item click\r\n\t$j(\"#navigation #navbar > ul > li\").on('click', function(){\r\n\t\tcheckMenuOffset();\r\n\t});\r\n\r\n\t// Fix close button map link\r\n\t$j('a.interactive-map').on('click', function() {\r\n\t\tsetTimeout(function() {\r\n\t\t\t$j('.icon-home-map').attr('src', $jBaseUrl+'templates/kununurra2021/images/icon-close.png');\r\n\t\t}, 300);\r\n\t});\r\n\r\n\t// Ultrasearch text treatment\r\n\t$j('#mod-search-searchword').val('Search the site');\r\n\t$j('#mod-search-searchword').on('blur', function() {\r\n\t\tif (this.value == '') {\r\n\t\t\tthis.value='Search the site';\r\n\t\t}\r\n\t});\r\n\r\n\t$j('#mod-search-searchword').on('focus', function() {\r\n\t\tif (this.value=='Search the site') {\r\n\t\t\tthis.value='';\r\n\t\t}\r\n\t});\r\n\r\n\t$j('#mod-search-searchword').on('focusout', function() {\r\n\t\tif (this.value=='') {\r\n\t\t\tthis.value='Search the site';\r\n\t\t}\r\n\t});\r\n\r\n\r\n\r\n\t// When Operator Details Nights change\r\n\t// =================================================\r\n\t$j( 'body' ).on('change', '#itemGadget .embedded-search .gadget__search-column.period select', function() {\r\n\t\t\r\n\t\t// If on operator details page, move total column to right\r\n\t\tif ( $j('#itemGadget.accom').length > 0 || $j('#itemGadget.tours').length > 0 ) {\r\n\t\t\tsetTimeout(function(){\r\n\t\t\t\tmovePriceColumn();\r\n\t\t\t},1000);\r\n\r\n\t\t\tsetTimeout(function(){\r\n\t\t\t\tcheckPriceColumn();\r\n\t\t\t},1500);\r\n\t\t}\r\n\t});\r\n\r\n\t// Operator Details hide extra price columns when \r\n\t// 8 or more nights are selected\r\n\t// =================================================\r\n\tfunction checkPriceColumn() {\r\n\r\n\t\tif ( $j('#itemGadget .priceGrid table thead td.date').length > 7 ) {\r\n\t\t\t// Remove price columns\r\n\t\t\t$j('#itemGadget .priceGrid table thead td.date').hide();\r\n\t\t\t$j('#itemGadget .priceGrid table tbody td.price').hide();\r\n\t\t}\r\n\t}\r\n\r\n\r\n\t// Navigation Bar Toggle\r\n\t$j('.navbar-default .navbar-toggle').on('click', function(){\r\n\t\t$j(this).toggleClass('open');\r\n\t});\r\n\r\n\t// Scroll Reveal Options\r\n\twindow.sr = window.sr || ScrollReveal();\r\n\tvar sr_config = {\r\n\t\t//viewFactor: 0.8,\r\n\t\tviewFactor: 0,\r\n\t\tduration: 300,\r\n\t\tscale: 1,\r\n\t\topacity: 0,\r\n\t\tmobile: false,\r\n\t\tdistance: '200px',\r\n\t\teasing: 'cubic-bezier(0.6, 0.2, 0.1, 1)',\r\n\t\tviewOffset: { top: 0 }\r\n\t}\r\n\tvar sr_config2 = {\r\n\t\tviewFactor: 0,\r\n\t\tduration: 300,\r\n\t\tscale: 1,\r\n\t\topacity: 0,\r\n\t\tmobile: false,\r\n\t\tdistance: '200px',\r\n\t\teasing: 'cubic-bezier(0.6, 0.2, 0.1, 1)',\r\n\t\tviewOffset: { top: 0 },\r\n\t\tdelay: 800\r\n\t}\r\n\r\n\tfunction homeMapTextFadeIn() {\r\n\t\tif ( viewport().width >= 767 ) {\r\n\t\t\tsr.reveal('.homepage-map-content-text', sr_config2, 300);\r\n\t\t}\r\n\t}\r\n\thomeMapTextFadeIn();\r\n\r\n\r\n\r\n\t// lazy load instagram feed\r\n\tvar scrolledPassedSocialFeed = false;\r\n\r\n\tif ( $j('#homepage-social').length > 0 ) {\r\n\r\n\t\tfunction isScrolledIntoView(elem) {\r\n\t\t    var $elem = $j(elem);\r\n\t\t    var $window = $j(window);\r\n\r\n\t\t    var docViewTop = $window.scrollTop();\r\n\t\t    var docViewBottom = docViewTop + $window.height();\r\n\r\n\t\t    var elemTop = $elem.offset().top;\r\n\t\t    var elemBottom = elemTop + $elem.height();\r\n\t\t    \r\n\t\t    if ( docViewBottom >= elemTop && scrolledPassedSocialFeed == false ) {\r\n\t\t    \tscrolledPassedSocialFeed = true;\r\n\t\t\t\t$j('.lazy-load-social').uncomment();\r\n\t\t    }\r\n\t\t}\r\n\r\n\t\t$j(window).scroll( function() {\r\n\t\t\tisScrolledIntoView('#homepage-social');\r\n\t\t});\r\n\r\n\t}\r\n\r\n\t// Push the homepage banner down when on mobile view\r\n\t/*function homeBannerPadding() {\r\n\t\tif ( isHomepage && (viewport().width < 450) ) {\r\n\t\t\t$j('#homepage-banners').css('padding-top', '30px');\r\n\t\t} else if ( isHomepage && (viewport().width <= 767) ) {\r\n\t\t\t$j('#homepage-banners').css('padding-top', $j('header').height() +'px');\r\n\t\t} else {\r\n\t\t\t$j('#homepage-banners').css('padding-top', '');\r\n\t\t}\t\t\r\n\t}\r\n\thomeBannerPadding();*/\r\n\r\n\t// Debounce\r\n\tvar myEfficientFn = debounce(function() {\r\n\t\t// All the taxing stuff you do\r\n\t\tmainMenuItemHeight();\r\n//\t\thomeBannerPadding();\r\n//\t\tfindAdventureFadeIn();
1\r\n//\t\tdiscoverRegionFadeIn();\r\n//\t\tupcomingEventsFadeIn();\r\n\t}, 250);\r\n\r\n\twindow.addEventListener('resize', myEfficientFn);\r\n\r\n\t\r\n\t$j('.homepage-map-region map area').hover(function(){\r\n\t\t$j(this).next('span').addClass('active');\r\n\t}, function(){\r\n\t\t$j(this).next('span').removeClass('active');\r\n\t});\r\n\r\n\r\n\r\n\t\r\n\r\n}); // End of document ready function\r\n\r\n// Function when whole pages loads including gadgets\r\n$j(window).bind(\"load\", function() {\r\n\r\n\t/* Helper */\r\n\t// viewport().width\r\n\t// viewport().height methods loaded as layout\r\n\t\r\n\t/* Globals */\r\n\tvar isMain = $j('main').length > 0;\r\n\tvar isHomepage = $j('#homepage').length;\r\n\tvar isChrome = /Chrome/.test(navigator.userAgent) && /Google Inc/.test(navigator.vendor);\r\n\r\n\r\n\t// Start: Fix homepage gadget when resize from mobile\r\n\tvar isMobile = false;\r\n\tfunction mobileCheck() {\r\n\t\tif ( viewport().width <= 767 ) {\r\n\t\t\tisMobile = true;\r\n\t\t}\r\n\t}\r\n\tmobileCheck();\r\n\r\n\tfunction resetHomeGadgetPositionTop() {\r\n\t\tif (viewport().width > 767 && isMobile && isHomepage) {\r\n\t\t\tinitial_searchGadgetSticky_top = searchGadgetSticky_wrapper.offset().top;\r\n\t\t\tisMobile = false;\r\n\t\t}\r\n\t}\r\n\t// End: Fix homepage gadget when resize\r\n\r\n\r\n\t// Adjust Header and Main Margins/Paddings\r\n\tfunction adjustMainMarginTop() {\r\n\t\tvar cartBarHeight = $j('#cart-bar.visible .cart-bar-fixed').height();\r\n\t\tvar header = $j('header');\r\n\t\tvar main = $j('main');\r\n\t\tvar contentpageSearch = $j('.search-gadget-content-page');\r\n\r\n\t\tif ( isMain ) {\r\n\t\t\tmain.css( 'padding-top', ( header.height() ) + 'px' );\r\n\t\t}\r\n\t\t\r\n\t\t// Content main adjust\r\n\t\tif ( isMain && viewport().width <= 767 ) {\r\n\t\t\tmain.css('padding-top', ( header.height() + cartBarHeight )+'px');\r\n\t\t}\r\n\t}\r\n\t//adjustMainMarginTop();\r\n\r\n   \t// Operator details adjust when no gallery\r\n   \tif ( $j('#details-gadget.fullwidth').length > 0 && $j('#gallery-container').length === 0 ) {\r\n   \t\t$j('#details-gadget.fullwidth').addClass('no-gallery');\r\n   \t}\r\n\r\n\t// Window Resize\r\n\t$j(window).resize(function() {\r\n\t\t//adjustMainMarginTop();\r\n\t\tmobileCheck();\r\n\t});\r\n\r\n}); // END Bind function\r\n\r\n\r\n\r\n// http://stackoverflow.com/questions/18182851/bootstrap-menu-disappears-after-first-click-setting-the-the-ul-style-to-none\r\nif (typeof(MooTools) != 'undefined') {\r\n\tvar mHide = Element.prototype.hide;\r\n\tElement.implement({\r\n\t\thide: function() {\r\n\t\t\tif (this.hasClass(\"deeper\") || this.hasClass(\"dropdown\") || this.hasClass(\"dropdown-toggle\")) {\r\n\t\t\t\treturn this;\r\n\t\t\t}\r\n\t\t\tmHide.apply(this, arguments);\r\n\t\t}\r\n\t});\r\n}\r\n\r\n// bootstrap prevents clicking on \"parent\" menu item links, instead opening the sub-menu... but we don't want that, we want to navigate immediately to that page\r\njQuery(document).ready(function() {\r\n\tif ( viewport().width > 767 ) {\r\n\t\tjQuery('a.dropdown-toggle').click(function() {\r\n\t\t\tdocument.location.href = jQuery(this).attr('href');\r\n\t\t});\r\n\t}\r\n});\r\n\r\n\r\n\r\n// Slider Tiles\r\n\r\nfunction setSlickFadeOutClasses() {\r\n\tjQuery('.slick-fade-out').removeClass('slick-fade-out');\r\n\tjQuery('.slide-hide-content').removeClass('slide-hide-content');\r\n\tjQuery('.slick-fade-left').removeClass('slick-fade-left');\r\n\tjQuery('.slick-fade-right').removeClass('slick-fade-right');\r\n\tif (jQuery(window).width() >= 768) {\r\n\t\tjQuery('.panel-slider-tall-tiles .slick-current').prev().prev().prev().prev().prev().prev().addClass('slick-fade-out');\r\n\t\tjQuery('.panel-slider-tall-tiles .slick-current').prev().prev().prev().prev().prev().addClass('slick-fade-out');\r\n\t\tjQuery('.panel-slider-tall-tiles .slick-current').prev().prev().prev().prev().addClass('slick-fade-out');\r\n\t\tjQuery('.panel-slider-tall-tiles .slick-current').prev().prev().prev().addClass('slick-fade-out');\r\n\t\tjQuery('.panel-slider-tall-tiles .slick-current').prev().prev().addClass('slick-fade-left');\r\n\t\tjQuery('.panel-slider-tall-tiles .slick-current').next().next().addClass('slick-fade-right');\r\n\t\tjQuery('.panel-slider-tall-tiles .slick-current').next().next().next().addClass('slick-fade-out');\r\n\t\tjQuery('.panel-slider-tall-tiles .slick-current').next().next().next().next().addClass('slick-fade-out');\r\n\t\tjQuery('.panel-slider-tall-tiles .slick-current').next().next().next().next().next().addClass('slick-fade-out');\r\n\t\tjQuery('.panel-slider-tall-tiles .slick-current').next().next().next().next().next().next().addClass('slick-fade-out');\r\n\t}\r\n}\r\n\r\n$j(document).ready(function() {\r\n\r\n\t// PANEL-SLIDER-TALL-TILES\r\n\tif ($j('.panel-slider-tall-tiles .slide-wrapper .item').length >= 5) {\r\n\t\t$j('.panel-slider-tall-tiles .slide-wrapper').slick({\r\n\t\t\tinfinite: true,\r\n\t\t\tspeed: 300,\r\n\t\t\tslidesToShow: 3,\r\n\t\t\tcenterMode: true,\r\n\t\t\tvariableWidth: true\r\n\t\t});\r\n\t} else {\r\n\t\t$j('.panel-slider-tall-tiles .slide-wrapper').each(function() {\r\n\t\t\tjQuery(this).wrap('<div class=\"container no-slick-needed has-'+jQuery(this).find('.item').length+'-items\"></div>');\r\n\t\t});\r\n\t}
1\r\n\r\n\r\n\tsetSlickFadeOutClasses();\r\n\tjQuery('.slick-arrow').click(function() {\r\n\t\tsetSlickFadeOutClasses();\r\n\t});\r\n\r\n\r\n\r\n});"},function(t,e,n){n(0)(n(53))},function(t,e){t.exports="\r\njQuery(document).ready(function() {\r\n\t\r\n\tsetInterval(function() {\r\n\t\t\r\n\t\t// re-check the DOM to see whether cart bar should be visible or not\r\n\t\tvar cartIsVisible = false;\r\n//\t\tif (parseInt(jQuery('#cart-bar #toolbar-tripplanner a').text()) > 0) {\r\n//\t\t\tcartIsVisible = true;\r\n//\t\t}\r\n\t\tif (jQuery('#cart-bar .cartItems').length > 0) {\r\n\t\t\tcartIsVisible = true;\r\n\t\t}\r\n\t\t\r\n\t\t// apply visibility changes when necessary\r\n\t\tif (cartIsVisible && !jQuery('#cart-bar').hasClass('visible')) {\r\n\t\t\tjQuery('body').addClass('cart-bar-visible');\r\n\t\t\tjQuery('#cart-bar').addClass('visible');\r\n\t\t} else if (!cartIsVisible && jQuery('#cart-bar').hasClass('visible')) {\r\n\t\t\tjQuery('body').removeClass('cart-bar-visible');\r\n\t\t\tjQuery('#cart-bar').removeClass('visible');\r\n\t\t}\r\n\t\t\r\n\t}, 800);\r\n\t\r\n});\r\n"},function(t,e,n){n(0)(n(55))},function(t,e){t.exports="var $j = jQuery.noConflict();\r\n\r\n$j(document).ready(function() {\r\n\t$j('body').on('click', '#cartupsell .cartItems .PackageProducts', function(){\r\n\t\t$j(this).toggleClass('active');\r\n\t});\r\n\r\n\t// on the cartupsell, add classes to gadget when tours/accom tab is changed\r\n\tif ( $j('.layout-cartupsell #regionGadget').length > 0 ) {\r\n\r\n\t\tfunction addClassRegionCartUpsell() {\r\n\t\t\treturn window.setInterval( function() {\r\n\r\n\t\t\t\t// wait for product dropdown to load\r\n\t\t\t\tif ( $j('#regionGadget .product').length > 0 ) {\r\n\t\t\t\t\t\r\n\t\t\t\t\t// add class name based on '.product select' value\r\n\t\t\t\t\t$j('#regionGadget').addClass('js-' + $j('#regionGadget .product select').val());\r\n\t\t\t\t\t\r\n\t\t\t\t\t$j('#regionGadget .product select').on('change', function(){\r\n\t\t\t\t\t\t// clear the class\r\n\t\t\t\t\t\t$j('#regionGadget').attr('class','');\r\n\t\t\t\t\t\t$j('#regionGadget').addClass('js-' + $j('#regionGadget .product select').val());\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t   \t// stop setInterval function\r\n\t\t\t\t   \twindow.clearInterval(addClassRegionCartUpsellInstance);\r\n\t\t\t\t}\r\n\t\t\t}, 150 );\r\n\r\n\t\t}\r\n\t\tvar addClassRegionCartUpsellInstance = addClassRegionCartUpsell();\r\n\t}\r\n\t\r\n});"},function(t,e,n){n(0)(n(57))},function(t,e){t.exports="var $j = jQuery.noConflict();\r\n\r\n$j(document).ready(function() {\r\n\r\n});\r\n\r\n$j(window).bind(\"load\", function() {\r\n\t// Set homepage banner to min height 500px at window width 1199px\r\n\tfunction homepageBannerAdjust() {\r\n\t\tif ( viewport().width <= 1199 && $j('#homepage').length > 0 && $j('#homepage .banner-adjust-hidden').length === 0 ) {\r\n\t\t\t$j('.animated-banner-imagearea').find('img').addClass('banner-adjust-hidden');\r\n\t\t\t$j('.animated-banner-imagearea').find('img').each(function(){\r\n\t\t\t\tvar imgURL = $j(this).attr('src');\r\n\t\t\t\t$j(this).closest('.animated-banner-imagearea').css({'background-image':'url('+ imgURL +')'});\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tif ( viewport().width >= 1200 && $j('#homepage .banner-adjust-hidden').length > 0 ) {\r\n\t\t\t$j('.animated-banner-imagearea img').removeClass('banner-adjust-hidden');\r\n\t\t}\r\n\t}\r\n\t//homepageBannerAdjust();\r\n\r\n\t// Debounce\r\n\tvar myEfficientFn = debounce(function() {\r\n\t\t// All the taxing stuff you do\r\n\t\t//homepageBannerAdjust();\r\n\t}, 250);\r\n\r\n\twindow.addEventListener('resize', myEfficientFn);\r\n});"},function(t,e,n){n(0)(n(59))},function(t,e){t.exports="var $j = jQuery.noConflict();\r\n\r\n$j(document).ready(function() {\r\n\tvar mobile_breakpoint = 600;\r\n\tvar addInteractiMapCloseInstance;\r\n\r\n\t// Check if interactive map is loaded\r\n\tfunction addInteractiMapClose() {\r\n\t\treturn window.setInterval( function() {\r\n\t\t\t// When the interactive map loads\r\n\t\t\tif ( $j('#interactive-map').length > 0 && $j('#interactive-map .product-types').length > 0 ) {\r\n\t\t\t\t\r\n\t\t\t\t// Add button when on desktop\r\n\t\t\t\tif ( viewport().width > mobile_breakpoint ) {\r\n\t\t\t\t\t// add button\r\n\t\t\t\t\t$j('#interactive-map').after('<div class=\"interactive-map-close\"><div class=\"interactive-map-close-one\"></div><div class=\"interactive-map-close-two\"></div></div>');\t\t\t\t\t\r\n\t\t\t\t}\r\n\r\n\t\t\t   \t// stop setInterval function\r\n\t\t\t   \twindow.clearInterval(addInteractiMapCloseInstance);\r\n\t\t\t}\r\n\t\t}, 150 );\r\n\t}\r\n\r\n\t// when clicking on interactive map link, e.g. on the homepage\r\n\t$j('a.interactive-map').click(function(event) {\r\n\t\tif ($lightBoxIsOpen == false) {\r\n\t\t\t$lightBoxIsOpen = true;\r\n\t\t\tevent.preventDefault();\r\n\t\t\tcloseLightbox();\r\n\t\t\t$url = $j('.interactive-map a').attr('href');\r\n\t\t\tif ( viewport().width <= mobile_breakpoint ) {\r\n\t\t\t\tdocument.location.href = $url;\r\n\t\t\t} else {\r\n\t\t\t\t$url += (($url.indexOf('?') > 0) ? '&tmpl=ajaxrequest' : '?tmpl=ajaxrequest');\r\n\t\t\t\topenImageLightbox($url, ($j(window).width() * 0.9), ($j(window).height() * 0.9), true, 'Interactive Map');\r\n\t\t\t\t$j('head').append('<style type=\"text/css\"> #impart-lightbox #main #interactive-map .map-window-impart, #interactive-map .product-types { height:'+(($j(window).height() * 0.9))+'px; } </style>');\r\n\t\t\t\t\r\n\t\t\t\taddInteractiMapCloseInstance = addInteractiMapClose();\r\n\t\t\t}\r\n\r\n\t\t\t$j('body').on('click', '#simple-lightbox-bg', function(){\r\n\t\t\t\tcloseLightbox();\r\n\t\t\t\t$j('.interactive-map-close').remove();\r\n\t\t\t});\r\n\r\n\t\t\t$j('body').on('click', '.interactive-map-close', function(){\r\n\t\t\t\tcloseLightbox();\r\n\t\t\t\t$j('.interactive-map-close').remove();\r\n\t\t\t\tdocument.location.reload();\r\n\t\t\t});\r\n\t\t}\r\n\t});\r\n\r\n\t// If on the interactive map page on mobile\r\n\tif ( $j('.com_bookeasy.view-map').length > 0 ) {\r\n\t\taddInteractiMapCloseInstance = addInteractiMapClose();\r\n\t}\r\n\t\r\n\r\n});"},function(t,e,n){n(0)(n(61))},function(t,e){t.exports="var $j = jQuery.noConflict();\r\n\r\n$j(document).ready(function() {\r\n\r\n\tfunction changeGoogleStyles() {\r\n\t\tif (($goog = $j('.goog-te-menu-frame').contents().find('body')).length) {\r\n\t\t\t// add responsive stylesheet to google translate iframe\r\n\t\t\tvar stylesHtml = '<style type=\"text/css\">.goog-te-menu2 { max-width: 100% !important; overflow: scroll !important; box-sizing:border-box !important; height:auto !important; }</style>';
1\r\n\t\t\t$goog.prepend(stylesHtml);\r\n\t\t} else {\r\n\t\t\tsetTimeout(changeGoogleStyles, 50);\r\n\t\t}\r\n\t}\r\n\tchangeGoogleStyles();\r\n\r\n});"},function(t,e,n){n(0)(n(63))},function(t,e){t.exports="var $j = jQuery.noConflict();\r\n\r\n$j(document).ready(function() {\r\n\tvar banner = $j('.rotating-offers-wrapper .cycle-slide img');\r\n\t\r\n\tbanner.each(function(){\r\n\t\tvar bannerURL = $j(this).attr('src');\r\n\t\t$j(this).closest('.cycle-slide').css('background-image', 'url(' + bannerURL + ')');\r\n\t});\r\n});"},function(t,e,n){n(0)(n(65))},function(t,e){t.exports="var $j = jQuery.noConflict();\r\n\r\n$j(document).ready(function() {\r\n\tif ( $j('form.formResponsive').length > 0 ) {\r\n\t\t\r\n\t\t// move the 'required' asterix to the parent element\r\n\t\t$j('.rsform-block .formRequired').each(function(){\r\n\t\t\t$j(this).appendTo( $j(this).closest('.rsform-block') );\r\n\t\t});\r\n\r\n\t\t// Use the form labels and add their text as placeholders for input\r\n\t\t$j('.rsform-block .formControlLabel').each(function(){\r\n\t\t\tvar label_text = $j(this).html();\r\n\r\n\t\t\t// Add '.label-hide' to labels of inputs that turn into placeholders\r\n\t\t\tif ( ( $j(this).closest('.rsform-block').find('input[type=\"text\"]').length || $j(this).closest('.rsform-block').find('textarea').length ) && $j(this).closest('.rsform-block').find('.captchaBox').length == 0 ) {\r\n\t\t\t\t$j(this).addClass('label-hide');\r\n\t\t\t}\r\n\r\n\t\t\t// Use the form labels and add their text as placeholders for input\r\n\t\t\t$j(this).closest('.rsform-block').find('textarea').attr('placeholder', label_text); \r\n\t\t\t// Do the same thing for text fields except for captcha text field\r\n\t\t\tif ( $j(this).closest('.rsform-block').find('input[type=\"text\"]').hasClass('captchaBox') == false ) {\r\n\t\t\t\t$j(this).closest('.rsform-block').find('input[type=\"text\"]').attr('placeholder', label_text);\r\n\t\t\t}\r\n\r\n\r\n\t\t\t// If the field is required, add it to the label\r\n\t\t\tif ( $j(this).closest('.rsform-block').find('.formRequired').html() == \"(*)\" ) {\r\n\t\t\t\t// hide the required label\r\n\t\t\t\t$j(this).closest('.rsform-block').find('.formRequired').addClass('is-hidden');\r\n\t\t\t\t// Add (*) to the label\r\n\t\t\t\t$j(this).html( $j(this).text() + '<span class=\"js-manual-move-validation\"> *</span>' );\r\n\t\t\t}\r\n\t\t\t\r\n\t\t});\r\n\r\n\t}\r\n\r\n});"},function(t,e,n){n(0)(n(67))},function(t,e){t.exports="// this script REQUIRES imutility.js\r\n// please ensure you include imutility.js before this script, like so:\r\n// <jdoc:include type=\"impartScript\" name=\"{shared}/v3/js/imutility.js\" compress=\"true\" />\r\n\r\n\r\n// convert the region gadget into bootstrap format, to allow for better styling, and automatic responsiveness\r\njQuery(document).on('gadget.script.loaded', function() {\r\n\r\n\t$w.event.subscribe('region.gadget.ready', function() {\r\n\r\n\t\t// wait for prices grid to load before apply transformations\r\n\r\n\t\tvar waitCounterRates = 0;\r\n\t\tjQuery(\".region-gadget.BE .prices-grid .type-group\").waitUntilExists(function() {\r\n\t\t\twaitCounterRates++;\r\n\t\t\tif (waitCounterRates == 1) {\r\n\t\t\t\ttransformPricesGrid();\r\n\r\n\t\t\t\t// wait for details view to load before apply transformations\r\n\t\t\t\t// this includes custom transformation to move the room-name and short description from prices to details tab\r\n\t\t\t\t// so we must also wait for the prices grid to load first\r\n\r\n\t\t\t\tvar waitCounterDetails = 0;\r\n\t\t\t\tjQuery(\".region-gadget.BE .list-view .type-group\").waitUntilExists(function() {\r\n\t\t\t\t\twaitCounterDetails++;\r\n\t\t\t\t\tif (waitCounterDetails == 1) {\r\n\t\t\t\t\t\ttransformDetailsView();\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\r\n\t\t\t} //  END waitCounterRates\r\n\t\t});\r\n\r\n\r\n\t});\r\n\r\n\r\n\r\n\t$w.event.subscribe('region.gadget.built', function() {\r\n\r\n\t\t// check if prices grid has loaded before apply transformations\r\n\r\n\t\tif (jQuery(\".region-gadget.BE .prices-grid .type-group\").length > 0) {\r\n\t\t\ttransformPricesGrid();\r\n\t\t\t// check if details view has loaded before apply transformations\r\n\t\t\t// this includes custom transformation to move the room-name and short description from prices to details tab\r\n\t\t\t// so we must also check if the prices grid has loaded first\r\n\t\t\tif (jQuery(\".region-gadget.BE .list-view .type-group\").length > 0) {\r\n\t\t\t\ttransformDetailsView();\r\n\t\t\t\tconsole.log('transformDetailsView ran');\r\n\t\t\t}\r\n\t\t}\r\n\r\n\r\n\r\n\t});\r\n\r\n});\r\n\r\n\r\nfunction transformPricesGrid() {\r\n\r\n\t// Apply bootstrap classes\r\n\tjQuery('.prices-grid thead').each(function() {\r\n\t\tjQuery(this).find('td.date').addClass('hidden-xs hidden-sm');\r\n\t\tjQuery(this).find('td.date:gt(6)').addClass('hidden-sm');\r\n\t\tjQuery(this).find('td.date:gt(13)').addClass('hidden-md');\r\n\t});\r\n\r\n\tjQuery('.prices-grid tr.inline-header').each(function() {\r\n\t\tjQuery(this).find('td.date').addClass('hidden-xs hidden-sm');\r\n\t\tjQuery(this).find('td.date:gt(6)').addClass('hidden-sm');\r\n\t\tjQuery(this).find('td.date:gt(13)').addClass('hidden-md');\r\n\t});\r\n\r\n\t// add column for thumbnail and remove label\r\n//\tjQuery('.im-grid thead tr').prepend('<td class=\"thumb\"></td>');\r\n\tjQuery('.im-grid thead tr td.label').text('');\r\n//\tjQuery('.im-grid tbody tr.inline-header').prepend('<td class=\"thumb\"></td>');\r\n\tjQuery('.im-grid tbody tr.inline-header td.label').text('');\r\n\r\n\t//jQuery('.im-grid td.total').addClass('hidden-xs');\r\n\r\n\tvar gridI = 0;\r\n\tjQuery('.im-grid tr.odd, .im-grid tr.even').each(function() {\r\n\r\n\t\t// bootstrap classes\r\n\t\tjQuery(this).find('td.price').addClass('hidden-xs hidden-sm');\r\n\t\tjQuery(this).find('td.price:gt(6)').addClass('hidden-sm');\r\n\t\tjQuery(this).find('td.price:gt(13)').addClass('hidden-md');\r\n\r\n\t\t// operator link on whole table cell\r\n\t\tvar operatorUrl = jQuery(this).find('td.property .name').attr('href');\r\n\t\t//var operatorId = parseInt(operatorUrl.split('/').pop());\r\n\t\t// Because of the error on the above line before being commented out,\r\n\t\t// none of the following lines would have been executed, so they have also been commented out\r\n\t\t/*\r\n\t\tjQuery(this).find('td.property,td.thumb').click(function() {\r\n\t\t\t//BETouch.set('operatorid', operatorId);\r\n\t\t\tIMUtility.redirect(operatorUrl);\r\n\t\t}).css('cursor', 'pointer');\r\n\r\n\t\t// format the operator name\r\n\t\tjQuery(this).find('td.property .name').wrapInner('<div class=\"name\"></div>');\r\n\t\tjQuery(this).find('td.property .name div').unwrap();\r\n\r\n\t\t// move thumbnail to its own column\r\n\t\tjQuery(this).find('td.property').before('<td class=\"thumb\"></td>');\r\n\t\tjQuery(this).find('td.thumb').append(jQuery(this).find('div.thumb'));\r\n\r\n\t\t// remove empty addresses\r\n\t\tif (jQuery(this).find('td.property span.address').contents == '') {\r\n\t\t\tjQuery(this).find('td.property span.address').remove();\r\n\t\t}\r\n\t\t*/\r\n\t\tgridI++;\r\n\r\n\t});\r\n\r\n}\r\n\r\nfunction transformDetailsView() {\r\n\tjQuery('.im-pricebutton-label.label').removeClass('label');\r\n\tjQuery('.region-gadget.BE .list-view p.location').wrap('<div class=\"location\"></div>');\r\n\r\n\t// move room name and short description to the details tab\r\n\tvar deatilsTabI = 0;\r\n\tjQuery('.im-grid tr.odd, .im-grid tr.even').each(function() {\r\n\r\n\t\t// move the room name to the details tab\r\n\t\tvar roomName = jQuery(this).find('div.room-name');\r\n\t\tif (roomName.length>0) {\r\n\t\t\tjQuery('.region-gadget.BE .list-view .type-group .list-item:eq('+deatilsTabI+') .description').before(roomName);\r\n\t\t}\r\n\t\t// move the short description to the details tab\r\n\t\tvar shortDesc = jQuery(this).find('div.description').removeClass('description').addClass('description-short');\r\n\t\tif (shortDesc.length>0) {\r\n\t\t\tjQuery('.region-gadget.BE .list-view .type-group .list-item:eq('+deatilsTabI+') .description').before(shortDesc);\r\n\t\t}\r\n\r\n\t\tdeatilsTabI++;\r\n\t});\r\n}"},function(t,e,n){n(0)(n(69))},function(t,e){t.exports="var $j = jQuery.noConflict();\r\n\r\n$j(document).ready(function() {\r\n\t// Copy paste info from product information into pricelist\r\n\tfunction detailsGadgetRoomArrange() {\r\n\t\treturn window.setInterval( function() {\r\n\t\t\tvar roomListingsTop = jQuery(\"#itemGadget.accom .priceGrid .name\");\r\n\t\t\tvar productNameList = jQuery(\".rooms__room-row.row\");\r\n\r\n\t\t\t// When details gadget loads and product information items exist\r\n\t\t\tif ( roomListingsTop.length > 0 && productNameList.length > 0 ) {\r\n\t\t\t\troomListingsTop.each(function(index){\r\n\t\t\t\t\tjQuery(this).append( jQuery(productNameList[index]).find(\".rooms__room-details-checkin\") );\r\n\t\t\t\t\tjQuery(this).append(\"<p class='itemGadget-accomodation-more'>View more</p>\");\r\n\t\t\t\t});\r\n\r\n\t\t\t   \t// stop setInterval function\r\n\t\t\t   \twindow.clearInterval(arrangeRoom);\r\n\t\t\t}\r\n\t\t}, 150 );\r\n\r\n\t}\r\n\tvar arrangeRoom = detailsGadgetRoomArrange();\r\n\t\r\n\r\n\tif ( $j('#itemGadget').length > 0 ) {\r\n\t\r\n\t\t// Change the operator trip advisor\r\n\t\t$j('.trip-planner-add .button-add span').html('ADD TO TRIP PLANNER');\r\n\r\n\t}\r\n\t\r\n\t// Move itemGaget 'total' colum to last position in table\r\n\t/*\r\n\tfunction itemGadgetArrange() {\r\n\r\n\t\treturn window.setInterval( function() {\r\n\t\t\tvar priceGrid = $j('#itemGadget .priceGrid tbody tr');\r\n\t\t\tvar priceGridHeader = $j('#itemGadget .priceGrid thead tr');\r\n\r\n\t\t\t// When details gadget loads and product information items exist\r\n\t\t\tif ( priceGrid.length > 0 ) {\r\n\t\t\t\t// Change the table rows\r\n\t\t\t\tpriceGrid.each(function(){\r\n\t\t\t\t\t$j(this).find('.total').appendTo( $j(this).closest('tr') );\r\n\t\t\t\t});\r\n\t\t\t\t\r\n\t\t\t\t// Change the table header\r\n\t\t\t\tpriceGridHeader.each(function(){\r\n\t\t\t\t\t$j(this).find('.total').appendTo( $j(this).closest('tr') );\r\n\t\t\t\t});\r\n\r\n\t\t\t   \t// stop setInterval function\r\n\t\t\t   \twindow.clearInterval(itemGadgetArrangeInstance);\r\n\t\t\t}\r\n\t\t}, 150 );\r\n\r\n\t}\r\n\tvar itemGadgetArrangeInstance = itemGadgetArrange();\r\n\t*/\r\n\r\n\r\n\t// Move the Price Column to the right hand side \r\n\t// after the nights change\r\n\t// =================================================\r\n\t$j( '#itemGadget .embedded-search .gadget__search-column.period select' ).change( function() {\r\n\t\tsetTimeout(function(){\r\n\t\t\t//movePriceColumn();\r\n\t\t\tvar arrangeRoom = detailsGadgetRoomArrange();\r\n\t\t}, 2000);\r\n\t});\r\n\r\n\tfunction movePriceColumn() {\r\n\t\tvar priceGrid = $j('#itemGadget .priceGrid tbody tr');\r\n\r\n\t\t// move th total\r\n\t\t$j('#itemGadget .priceGrid thead td.total').appendTo( '#itemGadget .priceGrid thead tr' );\r\n\r\n\t\tpriceGrid.each(function(){\r\n\t\t\t$j(this).find('.total').appendTo( $j(this).closest('tr') );\r\n\t\t});\r\n\t}\r\n\r\n});\r\n\r\n\r\n// On region gadget load\r\n$j(document).on('gadget.script.loaded', function() {\r\n\t\r\n\t$w.event.subscribe('region.gadget.built', function() {\r\n\t\t// Manually disable the redirect to the operator while clicking on the price button on the region results for 'Tours' and 'Events'\r\n\t\t$j('#region-gadget-results.tours .prices-grid tbody td.total, #region-gadget-results.events .prices-grid tbody td.total').off();\r\n\t});\r\n\r\n\t$w.event.subscribe('grid.rendered', function() {\r\n\t\t\r\n\t});\r\n\r\n});"},function(t,e,n){n(0)(n(71))},function(t,e){t.exports="var $j = jQuery.noConflict();\r\n\r\n$j(document).ready(function() {\r\n\t// Based on the addthis-alt layout\r\n\t// toggle the social buttons when the share button is clicked\r\n\t$j('.btn-share.js-share').on('click', function(){\r\n\t\t$j(this).parent().find('.share-button-list').toggleClass('active');\r\n\t});\r\n\r\n\tvar current_url = window.location.href;\r\n\tvar page_title = document.title;\r\n\r\n\tvar facebook_share = \"https://www.facebook.com/sharer.php?u=\",\r\n\ttwitter_share = \"https://twitter.com/share?url=\",\r\n\tpinterest_share = \"https://pinterest.com/pin/create/button/?url=\",\r\n\temail_share = \"mailto:?subject=\"+ page_title +\"&body=\" + current_url;\r\n\r\n\t$j('.js-fb-share').attr('href', facebook_share + current_url);\r\n\t$j('.js-twitter-share').attr('href', twitter_share + current_url);\r\n\t$j('.js-pinterest-share').attr('href', pinterest_share + current_url);
1\r\n\t$j('.js-email-share').attr('href', email_share);\r\n\t\r\n});"},function(t,e,n){n(0)(n(73))},function(t,e){t.exports="var $j = jQuery.noConflict();\r\n\r\n$j(document).ready(function() {\r\n\t$j('#itemGadget').on('click', '.OperatorInfoMore', function(){\r\n\t\t$j(this).toggleClass('less-bg');\r\n\t\t$j(this).closest('td').find('.Description.OperatorItem').toggle();\r\n\t});\r\n});"},function(t,e,n){n(0)(n(75))},function(t,e){t.exports="var $j = jQuery.noConflict();\r\n\r\n$j(window).bind(\"load\", function() {\r\n\tif ( $j('.com_rseventspro.view-calendar').length > 0 ) {\r\n\r\n\t\t// Move the title before the event search bar\r\n\t\tvar legend_title = $j('#legend').prev();\r\n\t\tlegend_title.prependTo('.wrapper-page-padding-top');\r\n\r\n\t\t// Move the legend after the title\r\n\t\t$j('#legend').insertAfter('.wrapper-page-padding-top > h3');\r\n\r\n\t\t// Move the dropdown \r\n\t\t$j('.fancy-select').insertAfter('#legend');\r\n\r\n\t\t// Move the title above the legend\r\n\t\t$j('form').prev('h1').prependTo('.wrapper-page-padding-top');\r\n\t}\r\n});"},function(t,e,n){n(0)(n(77))},function(t,e){t.exports="var $j = jQuery.noConflict();\r\n\r\n$j(document).ready(function() {\r\n\t$j('.items__rseventspro-grid-item .thumb img').each(function(){\r\n\t\tvar imageURL = $j(this).attr('data-src');\r\n\r\n\t\t$j(this).closest('.thumb').css('background-image', 'url(\"'+imageURL+'\")');\r\n\t});\r\n\r\n/*\tvar button = '<div class=\"items__grid-item-readmore\">Read More</div>';\r\n\r\n\t// Manually add 'read more' button \r\n\t$j('.items__rseventspro-grid-item').each(function(){\r\n\t\t$j(button).appendTo( $j(this).find('.items__grid-item-subtitle') );\r\n\t});*/\r\n\r\n\t// Remove Location\r\n\t$j('.items__rseventspro-grid-item .items__grid-item-subtitle .items__label').each(function(){\r\n\t\t$j(this).parent().contents().filter(function() {\r\n    \t\t\treturn this.nodeType != 1; \r\n    \t}).wrap(\"<span class='orphan'/>\");\r\n\r\n\t\tif ( $j(this).html() == 'Location:' ) {\r\n\t\t\t$j(this).hide();\r\n\r\n\t\t\tif ( $j(this).next().hasClass('orphan') ) {\r\n\t\t\t\t$j(this).next().hide();\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n\r\n\r\n\r\n});"},function(t,e,n){n(0)(n(79))},function(t,e){t.exports="var $j = jQuery.noConflict();\r\n\r\n$j(document).ready(function(){\r\n\t// Initialise the banner rotations with settings\r\n\t// See line 9 in bannerswithtext.php to set the options\r\n\t// for the banner such as the timer for each slider\r\n\t$j( '#homepage-banners .animated-rotating-image-set' ).cycle();\r\n});\r\n\r\n\r\n$j(window).bind(\"load\", function() {\r\n\t// Hide the prev/next buttons if there's only one slide\r\n\tif ( $j('#homepage-banners .rotating-banner-images .article-image').length <= 2 ) {\r\n\t\t$j('#homepage-banners .rotating-banner-images .cycle-prev').hide();\r\n\t\t$j('#homepage-banners .rotating-banner-images .cycle-next').hide();\r\n\t}\r\n\r\n\t// Set banner bg\r\n\t/*if ( $j('#homepage').length > 0 ) {\r\n\t\t$j('#homepage-banners .animated-banner-imagearea img').each(function(){\r\n\t\t\tvar imgURL = $j(this).attr('src');\r\n\t\t\tvar img_alt = $j(this).attr('alt');\r\n\t\t\t$j(this).closest('.animated-banner-imagearea').css('background-image', 'url('+ imgURL +')');\r\n\t\t\t$j(this).closest('.animated-banner-imagearea').attr('title', img_alt);\r\n\t\t});\r\n\t}*/\r\n\r\n\t// Parallax\r\n\t/*if ( $j('#homepage').length > 0 ) {\r\n\t\t\r\n\t\t$j(window).scroll( function() {\r\n\t\t\tif ( viewport().width > 768 ) {\r\n\t\t\t\tvar scroll_top = $j(window).scrollTop();\r\n\t\t\t\tvar banner_bottom = $j('#homepage-banners').outerHeight();\r\n\t\t\t\tvar percentage = scroll_top/banner_bottom;\r\n\r\n\t\t\t\tif ( scroll_top <= banner_bottom ) {\r\n\t\t\t\t\t$j('#homepage-banners .animated-banner-imagearea')\r\n\t\t\t\t\t\t.css({'-webkit-transform': 'translateY('+percentage*300 +'px)',\r\n\t\t\t\t\t\t\t'transform': 'translateY('+percentage*300 +'px)'\r\n\t\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t}*/\r\n\t\r\n\t// Grab from newcastle\r\n\t\r\n});"},function(t,e,n){n(0)(n(81))},function(t,e){t.exports="var $j = jQuery.noConflict();\r\n\r\n$j(document).ready(function() {\r\n\t// Rearrange the post listing on the blog frontpage\r\n\tif ( $j('.com_easyblog.view-latest .blog-main-section').length > 0 || $j('.com_easyblog.view-categories .blog-main-section').length > 0 ) {\r\n\t\t\r\n\t\t$j('.blog-main-section .eb-post').each(function(){\r\n\t\t\t// Move cover image to the top of post\r\n\t\t\t$j(this).find('.eb-post-thumb').prependTo( $j(this).find('.eb-post-content') );\r\n\t\t\t\r\n\t\t\t// move categories above the title\r\n\t\t\t$j(this).find('.eb-post-category').prependTo( $j(this).find('.eb-post-head') );\r\n\t\t});\r\n\r\n\t}\r\n\r\n\t// Rearrange content on the single blog post\r\n\tif ( $j('.com_easyblog.view-entry').length > 0 ) {\r\n\t\t// Move the social media share buttons before the prev/next articles\r\n\t\t$j('.eb-entry-body .eb-share').insertBefore('.eb-entry-body .eb-entry-nav');\r\n\t\t// Move about author section after share buttons\r\n\t\t$j('.eb-entry-author').insertAfter('.eb-entry-body .eb-share');\r\n\t}\r\n\r\n\t// Make the page banner be the blog post image\r\n\tif ( $j('.com_easyblog.view-entry').length > 0 ) {\r\n\t\tvar blog_post_banner = $j('.com_easyblog.view-entry #banner .im-banner-html img').attr('src');\r\n\t\t$j('#banner').attr('style', 'background-image: url('+ blog_post_banner +');');\r\n\t\r\n\t\t// Move the blog entry heading into the banner\r\n\t\t$j('.blog-page-wrapper .eb-entry-head h1').appendTo('#banner');\r\n\t}\r\n});"},function(t,e,n){n(0)(n(83))},function(t,e){t.exports="var $j = jQuery.noConflict();\r\n$j(document).ready(function() {\r\n\tif ( $j('.site-alert').length > 0 ) {\r\n\t\tvar siteAlertCookieName = window.location.hostname +'-site-alert';\r\n\r\n\t\tif ( $j.cookie(siteAlertCookieName) !== 'true') {\r\n\r\n\t\t\t$j('body').addClass('site-alert-visible');\r\n\r\n\t\t\tvar headerTopOriginal = parseInt($j('body header').css('top'));\r\n\t\t\tvar siteAlertOuterHeight = $j('body.site-alert-visible .site-alert').outerHeight();\r\n\t\t\tvar headerTopAdjusted = parseInt(headerTopOriginal + siteAlertOuterHeight) ;\r\n\r\n\t\t\t// ON LOAD\r\n\t\t\t//$j('body.site-alert-visible header').css({top: parseInt(headerTopOriginal + siteAlertOuterHeight) });\r\n\r\n\t\t\t// RESIZE\r\n\t\t\t//var siteAlertResize = debounce(function() {\r\n\t\t\t//},500);\r\n\t\t\t/*\r\n\t\t\twindow.addEventListener('resize', function() {\r\n\t\t\t\tif ($j('body.site-alert-visible .site-alert').outerHeight() !== siteAlertOuterHeight) {\r\n\t\t\t\t\tsiteAlertOuterHeight = $j('body.site-alert-visible .site-alert').outerHeight();\r\n\t\t\t\t\theaderTopAdjusted = parseInt(headerTopOriginal + siteAlertOuterHeight) ;\r\n\t\t\t\t\t$j('body.site-alert-visible header').css({top: headerTopAdjusted });\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\t*/\r\n\r\n\r\n\t\t\t// HEX\r\n\t\t\tvar siteAlertCSSClass = $j('.site-alert').attr('class');\r\n\t\t\tvar siteAlertHex = '';\r\n\t\t\tif (siteAlertCSSClass.indexOf('hex')) {\r\n\t\t\t\tsiteAlertHex = siteAlertCSSClass.substring( parseInt(siteAlertCSSClass.indexOf('hex') + 3), parseInt(siteAlertCSSClass.indexOf('hex') + 9)); // hex123456\r\n\t\t\t\tif (siteAlertHex!== '') $j('.site-alert').css('background-color', '#'+siteAlertHex);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t$j('.site-alert .close-button').on('click', function() {\r\n\t\t\t$j.cookie(siteAlertCookieName, true);\r\n\t\t\t$j('body').removeClass('site-alert-visible');\r\n\t\t\t//$j('body header').offset({top: (parseInt( $j('body header').offset().top - siteAlertOuterHeight) )});\r\n\t\t\t//window.removeEventListener('resize', siteAlertResize);\r\n\t\t});\r\n\t}\r\n});"},function(t,e,n){n(0)(n(85))},function(t,e){t.exports="var $j = jQuery.noConflict();\r\n\r\n$j(document).ready(function() {\r\n\tvar isHomepage = $j('#homepage').length;\r\n\r\n\t// Toggle the search bar on click\r\n\t// =================================================\r\n\tfunction fadeoutNav() {\r\n\t\t// Fade the nav items\r\n\t\tif ( viewport().width > 1360 ) {\r\n\t\t\t$j('#navbar > ul > li').removeClass('fadein');\r\n\t\t\t$j('#navbar > ul > li').addClass('fadeout');\r\n\t\t}\r\n\t}\r\n\r\n\tfunction fadeinNav() {\r\n\t\t// Show nav items again\r\n\t\tif ( viewport().width > 1360 ) {\r\n\t\t\t$j('#navbar > ul > li').removeClass('fadeout');\r\n\t\t\t$j('#navbar > ul > li').addClass('fadein');\r\n\t\t}\r\n\t}\r\n\r\n\t$j('#mod-search-button').on('click', function() {\r\n\t\t\r\n\t\t// Change icons for white header\r\n\t\tif ( $j('header').hasClass('is-white') ) {\r\n\t\t\t$j(this).addClass('white-icon');\r\n\t\t}\r\n\t\tfadeoutNav();\r\n\r\n\t\t// Move Search Bar\r\n\t\t$j('#header-search').addClass('col-xs-12 activated');\r\n\t\t$j('#header-search').appendTo('header .main-header-row');\r\n\t\t\r\n\t\t// Show Search input\r\n\t\t$j('#mod-search-searchword').show();\r\n\r\n\t\t// Focus on input\r\n\t\t$j('#mod-search-searchword').focus();\r\n\r\n\t\t// Add <body> click checker\r\n\t   \tsearchNextClick();\r\n\t});\r\n\r\n\r\n\tfunction searchNextClick() {\r\n\t\t\r\n\t\tfunction helper() {\r\n\t\t\tvar target = $j(event.target);\r\n\t\t\t// if element clicked is within the header search dropdown\r\n\t\t\tif ( target.closest('#header-search').length === 0 ) {\r\n\t\t\t\tresetSearch();\r\n\t\t\t\t// remove this event handler when resetting the search\r\n\t\t\t\t$j('html').off('click', 'body', helper);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t$j('html').on('click', 'body', helper);\r\n\t}\r\n\r\n\t// On header search focusout\r\n\tfunction resetSearch() {\r\n\t\t$j('#mod-search-searchword').hide();\r\n\t\t$j('#mod-search-button').removeClass('white-icon');\r\n\r\n\t\tfadeinNav();\r\n\r\n\t\t// Move the search back to where it was and remove classes\r\n\t\t$j('#header-search')\r\n\t\t\t.insertAfter('.header-right .header-cart')\r\n\t\t\t.removeClass('container activated col-xs-12');\r\n\t} \r\n\r\n\t/*// On header search focusout\r\n\t$j('#mod-search-searchword').focusout( function() {\r\n\t\t$j('#mod-search-searchword').hide();\r\n\t\t$j('#mod-search-button').removeClass('white-icon');\r\n\r\n\t\tfadeinNav();\r\n\r\n\t\t// Move the search back to where it was and remove classes\r\n\t\t$j('#header-search')\r\n\t\t\t.insertAfter('.weather')\r\n\t\t\t.removeClass('container activated col-xs-12');\r\n\t});*/\r\n\r\n\t// Add search bar close button\r\n\t$j('<div class=\"header-form-close-button\"><div>').appendTo('.header-search form');\r\n\t$j('.header-form-close-button').on('click', resetSearch);\r\n\t\t\r\n\t// Config\r\n\t// =================================================\r\n\t//if (isHomepage) {\r\n\t\tvar nav_header    = $j('header'),\r\n\t\t    header_height  = $j('header').height();\t\r\n\t//}\r\n\r\n\r\n\t// Method\r\n\t// =================================================\r\n\r\n\tfunction navSlide() {\r\n\t\tvar scroll_top = $j(window).scrollTop();\r\n\t\tif ( $j('.forced-white').length == 0 ) {\r\n\t\t\tif (scroll_top >= header_height) { // the detection!\r\n\t\t\t\tnav_header.removeClass('fadeInUp').addClass('is-white animated fadeInDown');\r\n\t\t\t} else {\r\n\t\t\t\tnav_header.removeClass('is-white fadeInDown').addClass('fadeInUp');\r\n\t\t\t}\r\n\t\t}\r\n\t\t$j('.header-fixed-gap').height( $j('header').height() );\r\n\t}\r\n\tnavSlide();\r\n\t\r\n\t// Handler\r\n\t// =================================================\r\n\r\n\t$j(window).scroll(navSlide);\t\r\n\r\n\r\n\t// Custom Cart Bar\r\n\t// =================================================\r\n\t\r\n\t// Change cursor of cart bar if it has items\r\n\tsetTimeout( function(){\r\n\t\tif ( $j('#cart-bar').hasClass('visible') ) {\r\n\t\t\t$j('.header-cart').addClass('has-cursor');\r\n\t\t} else {\r\n\t\t\t$j('.header-cart').removeClass('has-cursor');\r\n\t\t}\r\n\t}, 1000);\r\n\r\n\t// Show click of the items and display the new cart icon with details\r\n\t$j('.header-cart').on('click', function() {\r\n\t\tif ( $j('#cart-bar').hasClass('visible') ) {\r\n\t\t\t// Emulate cart bar button click\r\n\t\t\t$j('#cart-bar div.shopping-cart.BE .totalDisplay a')[0].click();\r\n\t\t}\r\n\t});
1\r\n\r\n\t// Update new cart information\r\n\tvar updateCartTimedCounter = 0;\r\n\r\n\tfunction updateCartTimed() {\r\n\t\t// Only run for 5.5 seconds \r\n\t\tif (updateCartTimedCounter < 25) {\r\n\t\t\t// Check for the input elements to load and move them\r\n\t\t\treturn window.setInterval( function() {\r\n\t\t\t\tvar cart_items = $j('#cart-bar .cartItems .total span');\r\n\t\t\t\tvar cart_total_price = $j('#cart-bar div.shopping-cart.BE .totalDisplay span');\r\n\r\n\t\t\t\tif ( cart_items.length > 0 && cart_total_price.length > 0 ) {\r\n\t\t\t\t\t// Insert total price in cart\r\n\t\t\t\t\t$j('.header-cart__total-price').html( cart_items.html() );\r\n\r\n\t\t\t\t\t// Insert number of items in cart\r\n\t\t\t\t\t$j('.header-cart__item-number').show();\r\n\t\t\t\t\t$j('.header-cart__item-number').html( cart_total_price.html() );\r\n\r\n\t\t\t\t   \t// stop setInterval function\r\n\t\t\t\t   \twindow.clearInterval(updateCartTimedInstance);\r\n\t\t\t\t}\r\n\t\t\t\tupdateCartTimedCounter++;\r\n\t\t\t}, 200 );\r\n\t\t}\r\n\r\n\t}\r\n\tvar updateCartTimedInstance = updateCartTimed();\r\n\r\n\t// update cart button when new item is added to cart\r\n\tsetInterval( function() {\r\n\t\tvar cart_items = $j('#cart-bar div.shopping-cart.BE .totalDisplay span');\r\n\t\tvar cart_total_price = $j('#cart-bar .cartItems .total span');\r\n\t\r\n\t\t// Show number of items only if the number exists\r\n\t\tif ( parseInt(cart_items.html()) > 0 ) {\r\n\t\t\t$j('.header-cart__item-number').show();\r\n\r\n\t\t\t// Insert total price in cart\r\n\t\t\t$j('.header-cart__total-price').html( cart_total_price.html() );\r\n\t\t\t\r\n\t\t\t// Insert number of items in cart\r\n\t\t\t$j('.header-cart__item-number').html( cart_items.html() );\r\n\t\t} else {\r\n\t\t\t$j('.header-cart__item-number').hide();\r\n\t\t\t$j('.header-cart__total-price').html('');\r\n\t\t\t$j('.header-cart__item-number').html('');\r\n\t\t}\r\n\t\t\r\n\t}, 500);\r\n\r\n\r\n\t// Mobile Nav Bar Menu Adjust\r\n\t//if ( $j(window).width() <= 767 ) {\r\n\t\t$j('.navbar-toggle').on('click', function() {\r\n\t\t\tif ( $j(this).hasClass('collapsed') ) {\r\n\t\t\t\t$j('header').addClass('headerFull');\r\n\t\t\t\t$j('body').addClass('bodyMobileNavOpen');\r\n\t\t\t} else {\r\n\t\t\t\t$j('header').removeClass('headerFull');\r\n\t\t\t\t$j('body').removeClass('bodyMobileNavOpen');\r\n\t\t\t}\r\n\t\t});\r\n\t//}\r\n\t\r\n\t// Reset Mobile nav class when resizing from mobile to desktop\r\n\tfunction resetMobileMenuDropdown(){\r\n\t\tif ( viewport().width >= 768 ) {\r\n\t\t\t$j('header').removeClass('headerFull');\r\n\t\t\t$j('body').removeClass('bodyMobileNavOpen');\r\n\t\t}\r\n\t}\r\n\r\n\t// Debounce\r\n\tvar myEfficientFn = debounce(function() {\r\n\t\t// All the taxing stuff you do\r\n\t\tresetMobileMenuDropdown();\r\n\t}, 250);\r\n\r\n\twindow.addEventListener('resize', myEfficientFn);\r\n\r\n});\r\n\r\n$j(window).bind(\"load\", function() {\r\n\t// Custom Cart Bar\r\n\t// =================================================\r\n\r\n\t// Emulate the trip planner click\r\n\t$j('.header-trip-planner').on('click', function() {\r\n\t\tconsole.log('header-trip-planner.click');\r\n\t\t$j('#cart-bar .link-tripplanner-hover a')[0].click();\r\n\t});\r\n\r\n\t// Update the number of trips in trip planner\r\n\tsetInterval( function() {\r\n\t\tvar trip_items = $j('#cart-bar #toolbar-tripplanner span a');\r\n\t\r\n\t\t// Show number of items only if the number exists\r\n\t\tif ( parseInt(trip_items.html()) > 0 ) {\r\n\t\t\t// Show the trip planner number circle\r\n\t\t\t//$j('.header-trip-planner').show();\r\n\t\t\t$j('.header-trip__item-number').show();\r\n\t\t\t$j('.header-trip-planner').addClass('active');\r\n\t\t\t$j('#navbar').addClass('has-trip-planner');\r\n\t\t\t$j('header').addClass('has-trip-planner');\r\n\r\n\t\t\t// Insert number of items in cart\r\n\t\t\t$j('.header-trip__item-number').html( trip_items.html() );\r\n\t\t} else {\r\n\t\t\t$j('.header-trip__item-number').hide();\r\n\t\t\t//$j('.header-trip-planner').hide();\r\n\t\t\t$j('.header-trip__item-number').html('');\r\n\t\t\t$j('.header-trip-planner').removeClass('active');\r\n\t\t\t$j('header').removeClass('has-trip-planner');\r\n\t\t}\t\t\r\n\t}, 500);\r\n});"},function(t,e,n){n(0)(n(87))},function(t,e){t.exports="var $j = jQuery.noConflict();\r\n\r\n$j(document).ready(function() {\r\n\r\n\t// Scroll to top of page\r\n\t// =================================================\r\n\t$j('.icon-scroll-top').on('click', function() {\r\n\t    $j('html, body').animate({ scrollTop: 0 }, 'slow');\r\n\t});\r\n\r\n});"},function(t,e,n){n(0)(n(89))},function(t,e){t.exports="var $j = jQuery.noConflict();\r\n\r\n$j(document).ready(function() {\r\n\t$j('#footer-input-email').focusin(function() {\r\n  \t\tif ( $j(this).val() == \"Enter email...\" ) {\r\n  \t\t\t$j(this).val(\"\");\r\n  \t\t}\r\n\t});\r\n\r\n\t$j('#footer-input-email').focusout(function() {\r\n\t\tif ( $j(this).val().trim() == \"\" ) {\r\n\t\t\t$j(this).val(\"Enter email...\");\r\n\t\t}\r\n\t});\r\n\r\n\t$j('#footer-email-button').on('click', function(){\r\n\t\tvar emailValue = $j('#footer-input-email').val().trim();\r\n\r\n\t\tif (emailValue != 'Enter email...') {\r\n\t\t\t$j('#mce-FNAME').val( $j('#footer-input-email').val() );\r\n\t\t}\r\n\t});\r\n\r\n\t$j('.footer-top-navigation ul li a span').each(function(){\r\n\t\tif ( $j(this).html().toLowerCase() == 'subscribe to our email' ) {\r\n\t\t\t$j(this).closest('a').attr({\r\n  \t\t\t\t'data-toggle': 'modal',\r\n  \t\t\t\t'data-target': '#subscribe-email'\r\n\t\t\t});\r\n\t\t}\r\n\t});\r\n\r\n\t// Make newsletter popup if there is 'newsletter_modal' in the URL\r\n\t$j('a').each(function(){\r\n\r\n\t\tif ( $j(this)[0].hasAttribute('href') ) {\r\n\t\t\tif ( $j(this).attr('href').indexOf('newsletter_modal') >= 0 ) {\r\n\t\t\t\t$j(this).attr(\"data-toggle\", \"modal\");\r\n\t\t\t\t$j(this).attr(\"data-target\", \"#subscribe-email\");\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t});\r\n\r\n});"},function(t,e,n){n(0)(n(91))},function(t,e){t.exports="\r\n\r\n/* this is a CACHED file, generated by module smul google translate.... if the parameters (lang, gaId, etc.) are wrong, just DELETE this file and it will be re-generated automatically */\r\n\r\nfunction googleTranslateElementInit() {\r\n\tnew google.translate.TranslateElement({\r\n\t\tpageLanguage: 'en',\r\n\t\tlayout: google.translate.TranslateElement.InlineLayout.VERTICAL\r\n\t\t//layout: google.translate.TranslateElement.InlineLayout.SIMPLE\r\n\t}, 'google_translate_dropdown');\r\n}\r\n"},function(t,e,n){n(0)(n(93))},function(t,e){t.exports='\r\nif (typeof(IMUtility) == "undefined") {\r\n\tsetTimeout(function() {\r\n\t\tjQuery(document).trigger("gadget.script.loaded");\r\n\t}, 100);\r\n}\r\n\r\njQuery(document).on("gadget.script.loaded", function() {\r\n\t\r\n\t// any preload code\r\n\tif (typeof(window.search_gadget_on_preload) !== \'undefined\') {\r\n\t\twindow.search_gadget_on_preload();\r\n\t}\r\n\t\r\n\t$w(function() {\r\n\t\t\r\n\t\t// any onload code\r\n\t\tif (typeof(window.search_gadget_on_load) !== \'undefined\') {\r\n\t\t\twindow.search_gadget_on_load();\r\n\t\t}\r\n\t\t\r\n\t\t// load search gadget\r\n\t\tBE.gadget.search(window.search_gadget_selector, window.search_gadget_params);\r\n\t\t\r\n\t\t// module parameter scripts\r\n\t\tif (typeof(window.search_gadget_parameter_scripts) !== \'undefined\') {\r\n\t\t\tfunction SearchGadgetArrange() {\r\n\t\t\t\tvar waitDiv = \'.search-gadget.BE\';\r\n\t\t\t\twindow.search_gadget_interval = window.setInterval( function() {\r\n\t\t\t\t\tif ( jQuery(waitDiv).length  ) {\r\n\t\t\t\t\t\tjQuery("div.search-gadget.BE").addClass(window.search_gadget_first_tab);
1\r\n\t\t\t\t\t\twindow.search_gadget_click_handlers();\r\n\t\t\t\t\t\twindow.search_gadget_parameter_scripts();\r\n\t\t\t\t\t\twindow.clearInterval(window.search_gadget_interval);\r\n\t\t\t\t\t}\r\n\t\t\t\t}, 500 );\r\n\t\t\t}\r\n\t\t\tSearchGadgetArrange();\r\n\t\t}\r\n\t\t\r\n\t});\r\n\t\r\n});\r\n\r\nwindow.search_gadget_click_handlers = function() {\r\n\t\r\n\tjQuery(".BE-hybrid-gadget a.tab.accom").click(function(e)    { jQuery("div.search-gadget.BE").removeClass("accomTab").removeClass("toursTab").removeClass("eventsTab").removeClass("carhireTab").removeClass("packagesTab").addClass("accomTab"); });\r\n\tjQuery(".BE-hybrid-gadget a.tab.tours").click(function(e)    { jQuery("div.search-gadget.BE").removeClass("accomTab").removeClass("toursTab").removeClass("eventsTab").removeClass("carhireTab").removeClass("packagesTab").addClass("toursTab"); });\r\n\tjQuery(".BE-hybrid-gadget a.tab.events").click(function(e)   { jQuery("div.search-gadget.BE").removeClass("accomTab").removeClass("toursTab").removeClass("eventsTab").removeClass("carhireTab").removeClass("packagesTab").addClass("eventsTab"); });\r\n\tjQuery(".BE-hybrid-gadget a.tab.carhire").click(function(e)  { jQuery("div.search-gadget.BE").removeClass("accomTab").removeClass("toursTab").removeClass("eventsTab").removeClass("carhireTab").removeClass("packagesTab").addClass("carhireTab"); });\r\n\tjQuery(".BE-hybrid-gadget a.tab.packages").click(function(e) { jQuery("div.search-gadget.BE").removeClass("accomTab").removeClass("toursTab").removeClass("eventsTab").removeClass("carhireTab").removeClass("packagesTab").addClass("packagesTab"); });\r\n\t\r\n};'},function(t,e,n){n(0)(n(95))},function(t,e){t.exports="\r\n// constants\r\n$ultraSearchRequestDelay = 1400;\t\t\t// minimum delay time (milliseconds) between HTTP requests, so as to not overload the server\r\n$ultraSearchRequestAfterNumCharacters = 3;\t\t// after the user has typed this many characters into the box, it does a HTTP request straightaway, regardless of the timer\r\n$ultraSearchTrackDelay = 5000;\r\n\r\n// init variables\r\n$j = jQuery;\r\n$ultraSearchTimer = 0;\r\n$ultraSearchTrackInterval = 0;\r\n$ultraSearchTrackPrev = '';\r\n$ultraSearchTrackHistory = [];\r\n$ultraSearchObj = 0;\r\n$ultraSearchKeywordResults = [];\r\n\r\nwindow.ultraSearch = function($obj) {\r\n\t\r\n\t// the user is currently typing in the search box... we implement a timer here so that we're not overloading the server with a billion requests\r\n\t$ultraSearchObj = $obj;\r\n\tclearTimeout($ultraSearchTimer);\r\n\t\r\n\tif ($obj.value.length == 0) {\r\n\t\t$j('#ultraSearchResults ul').remove();\r\n\t} else if ($obj.value.length == $ultraSearchRequestAfterNumCharacters) {\r\n\t\tultraSearchRequest();\r\n\t} else {\r\n\t\tsetTimeout('ultraSearchRequest()', $ultraSearchRequestDelay);\r\n\t\tultraSearchInstant();\r\n\t}\r\n\t\r\n};\r\n\r\nwindow.isSearchTracked = function(element) {\r\n    var found = element.toLowerCase().indexOf(searchTerm.toLowerCase());\r\n    if (found>=0) return true;\r\n};\r\n\r\nwindow.trackSearchTerm = function() {\r\n\r\n    searchTerm = $j.trim($ultraSearchObj.value);\r\n    var $isSearchTermTracked = $ultraSearchTrackHistory.find(isSearchTracked);\r\n    if (($ultraSearchTrackPrev == '') || (($ultraSearchTrackPrev != '' && $ultraSearchTrackPrev.toLowerCase().indexOf(searchTerm.toLowerCase()) < 0) && !$isSearchTermTracked)) { // $ultraSearchTrackHistory.indexOf(searchTerm) < 0)) {\r\n        // do not track the same search term more than once, and do not track while user is modifying their previous search query\r\n        //console.log('trackSearchTerm('+searchTerm+') PREV MATCH['+$ultraSearchTrackPrev.toLowerCase().indexOf(searchTerm.toLowerCase())+'] FIND['+$isSearchTermTracked+'] HISTORY['+$ultraSearchTrackHistory.indexOf(searchTerm)+'] ');\r\n        $ultraSearchTrackPrev = searchTerm;\r\n        $ultraSearchTrackHistory.push(searchTerm);\r\n        $j( document ).trigger( \"trackUltraSearchTerm\", [ searchTerm ] );\r\n    }\r\n    clearInterval($ultraSearchTrackInterval);\r\n    $ultraSearchTrackInterval = 0;\r\n\r\n};\r\n\r\nwindow.ultraSearchRequest = function() {\r\n\t\r\n\t// the user has paused typing and now it's time to show some results... fetch them from the server\r\n\tclearTimeout($ultraSearchTimer);\r\n\tif ($j('#ultraSearchResults').length == 0) {\r\n\t\t$j('<div id=\"ultraSearchResults\" style=\"position:absolute; z-index:10000\"></div>').appendTo($j($ultraSearchObj).parent());\r\n\t}\r\n\t$j.getJSON(($jBaseUrl ? $jBaseUrl : '/') + 'modules/mod_smulultrasearch/index.php?ajax_request=ultrasearch&s=' + $ultraSearchObj.value, function(data) {\r\n\t\t\r\n\t\t$ultraSearchKeywordResults = [];\r\n\t\t$j.each(data, function(key, val) {\r\n\t\t\t$ultraSearchKeywordResults.push(val);\r\n\t\t});\r\n\t\tultraSearchShowKeywordResults();\r\n\r\n        if ($ultraSearchTrackInterval == 0) {\r\n            $ultraSearchTrackInterval = setInterval(function() {\r\n                trackSearchTerm($ultraSearchObj.value);\r\n            }, $ultraSearchTrackDelay);\r\n        }\r\n\r\n\t});\r\n\t\r\n};\r\n\r\nwindow.ultraSearchInstant = function() {\r\n\t\r\n\t// the user is still typing, but we can now show a more relevant subset of results without doing another HTTP request\r\n\tvar $newResults = [];\r\n\tvar $textboxValue = $ultraSearchObj.value;\r\n\t$j.each($ultraSearchKeywordResults, function(key, val) {\r\n\t\tif (val.toLowerCase().indexOf($textboxValue.toLowerCase()) >= 0) {\r\n\t\t\t$newResults.push(val);\r\n\t\t}\r\n\t});\r\n\t$ultraSearchKeywordResults = $newResults;\r\n\tultraSearchShowKeywordResults();\r\n\t\r\n};\r\n\r\nwindow.ultraSearchShowKeywordResults = function() {\r\n\t\r\n\t// now display each of the results, and add a click handler to each result\r\n\tvar items = [];\r\n\t$j.each($ultraSearchKeywordResults, function(key, val) {\r\n\t\titems.push('<li>' + val + '</li>');\r\n\t});\r\n\t$j('#ultraSearchResults ul').remove();\r\n\tif ($ultraSearchKeywordResults.length > 0) {\r\n\t\t$j('<ul/>', {'class': 'results', html: items.join('')} ).appendTo('#ultraSearchResults');\r\n\t\t$j('#ultraSearchResults li').click(function() {\r\n\t\t\tif ($j(this).children('a').length == 0) {\r\n\t\t\t\t$ultraSearchObj.value = $j(this).text().substring(0, 19);\r\n\t\t\t\t$j('#ultraSearchResults ul').remove();\r\n\t\t\t\t$j('#ultraSearchForm').submit();\r\n\t\t\t\t$j('#ultraSearchForm').fadeOut();\r\n\t\t\t}\r\n\t\t});\r\n\r\n        $j('#ultraSearchResults li a').click(function(e) {\r\n            var $isSearchTermTracked = $ultraSearchTrackHistory.find(isSearchTracked);\r\n            if ( !$isSearchTermTracked) {\r\n                // if this search term hasn't been tracked, then track it\r\n                clearInterval($ultraSearchTrackInterval);\r\n                $j( document ).trigger( \"trackUltraSearchTerm\", [ $ultraSearchObj.value ] );\r\n            }\r\n\r\n        });\r\n\t}\r\n\t\r\n};\r\n\r\nwindow.trackUltraSearch = function($obj) {\r\n\t// call to the search component to register the hit\r\n\t$j = jQuery;\r\n\tvar form = $j('#mod-search-searchform');\r\n\tvar searchTerm = $j('#mod-search-searchword').val();\r\n\tvar searchURL = $j('#mod-search-searchurl').val() ;\r\n\tif (searchURL === undefined) {return true;}\r\n\t$j.ajax({ url: searchURL + \"&searchword=\"+encodeURIComponent(searchTerm)+\"\" });\r\n\treturn true;\r\n\r\n};"}
1]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.