1var layoutEngine=(function(){var h=document.documentElement,n=h.style,o=" vendor-",c="edge",k="ie",i="khtml",g="mozilla",m="opera",a="webkit",q=" browser-",r="android",j="chrome",e="safari",d=e+"-ios",b="wiiu",f=o,p;if("msScrollLimit" in n||"behavior" in n){if("msTextSizeAdjust" in n&&!("msFlex" in n)){f+=c;p={vendor:c}}else{f+=k+o+k;p={vendor:k};if("msImeAlign" in n){f+="-11";p.version=11}else{if("msUserSelect" in n){f+="-10";p.version=10}else{if("fill" in n){f+="-9";p.version=9}else{if("widows" in n){f+="-8";p.version=8}else{f+="-7";p.version=7}}}}}}else{if("MozAppearance" in n){f+=g;p={vendor:g}}else{if("WebkitAppearance" in n){f+=a;var l=navigator.userAgent;p={vendor:a};if(!!window.chrome||l.indexOf("OPR")>=0||l.indexOf("wv")>=0){f+=q+j;p.browser=j}else{if("webkitDashboardRegion" in n){f+=q+e;p.browser=e}else{if("webkitOverflowScrolling" in n){f+=q+d;p.browser=d}else{if(l.indexOf("Android")>=0){f+=q+r;p.browser=r}else{if(!!window.wiiu){f+=q+b;p.browser=b}}}}}}else{if("OLink" in n||!!window.opera){f+=m;p={vendor:m};if("OMiniFold" in n){f+="-mini";p.browser="mini"}}else{if("KhtmlUserInput" in n){f+=i;p={vendor:i}}else{return!1}}}}}h.className+=f;return p})(); 2/*! @websanova/url - v2.6.3 - 2020-01-25 */ 3!function(){function t(t,r){var a,o={};if("tld?"!==t){if(r=r||window.location.toString(),!t)return r;if(t=t.toString(),a=r.match(/^mailto:([^\/].+)/))o.protocol="mailto",o.email=a[1];else{if((a=r.match(/(.*?)\/#\!(.*)/))&&(r=a[1]+a[2]),(a=r.match(/(.*?)#(.*)/))&&(o.hash=a[2],r=a[1]),o.hash&&t.match(/^#/))return h(t,o.hash);if((a=r.match(/(.*?)\?(.*)/))&&(o.query=a[2],r=a[1]),o.query&&t.match(/^\?/))return h(t,o.query);if((a=r.match(/(.*?)\:?\/\/(.*)/))&&(o.protocol=a[1].toLowerCase(),r=a[2]),(a=r.match(/(.*?)(\/.*)/))&&(o.path=a[2],r=a[1]),o.path=(o.path||"").replace(/^([^\/])/,"/$1"),t.match(/^[\-0-9]+$/)&&(t=t.replace(/^([^\/])/,"/$1")),t.match(/^\//))return e(t,o.path.substring(1));if((a=(a=e("/-1",o.path.substring(1)))&&a.match(/(.*?)\.([^.]+)$/))&&(o.file=a[0],o.filename=a[1],o.fileext=a[2]),(a=r.match(/(.*)\:([0-9]+)$/))&&(o.port=a[2],r=a[1]),(a=r.match(/(.*?)@(.*)/))&&(o.auth=a[1],r=a[2]),o.auth&&(a=o.auth.match(/(.*)\:(.*)/),o.user=a?a[1]:o.auth,o.pass=a?a[2]:void 0),o.hostname=r.toLowerCase(),"."===t.charAt(0))return e(t,o.hostname);o.port=o.port||("https"===o.protocol?"443":"80"),o.protocol=o.protocol||("443"===o.port?"https":"http")}return t in o?o[t]:"{}"===t?o:void 0}}function e(t,r){var a=t.charAt(0),o=r.split(a);return a===t?o:o[(t=parseInt(t.substring(1),10))<0?o.length+t:t-1]}function h(t,r){for(var a,o=t.charAt(0),e=r.split("&"),h=[],n={},c=[],i=t.substring(1),p=0,u=e.length;p<u;p++)if(""!==(h=(h=e[p].match(/(.*?)=(.*)/))||[e[p],e[p],""])[1].replace(/\s/g,"")){if(h[2]=(a=h[2]||"",decodeURIComponent(a.replace(/\+/g," "))),i===h[1])return h[2];(c=h[1].match(/(.*)\[([0-9]+)\]/))?(n[c[1]]=n[c[1]]||[],n[c[1]][c[2]]=h[2]):n[h[1]]=h[2]}return o===t?n:n[i]}window.url=t}();var esc=function(e){return encodeURIComponent(e).replace(/[!'()*]/g,escape).replace(/%20/g,"+")},isNumeric=function(e){return!isNaN(parseFloat(e))&&isFinite(e)},cleanArray=function(e){for(var r=new Array,n=0;n<e.length;n++)e[n]&&r.push(e[n]);return r},httpBuildQuery=function(e,r,n,u){if(r=r||null,n=n||"&",u=u||null,!e)return"";var t=Object.keys(e).map((function(t){var l,c=t;if(u&&(c=u+"["+c+"]"),"object"==typeof e[t]&&null!==e[t])l=httpBuildQuery(e[t],null,n,c);else{r&&(c=isNumeric(c)?r+Number(c):c);var i=e[t];i=(i=0===(i=!1===(i=!0===i?"1":i)?"0":i)?"0":i)||"",l=esc(c)+"="+esc(i)}return l}));return cleanArray(t).join(n).replace(/[!'()*]/g,"")} 4class Util{static element(selector){return document.querySelector(selector)} 5static elements(selectors){return document.querySelectorAll(selectors)} 6static create(elem){return document.createElement(elem)} 7static checkPage(){return document.body.getAttribute('page-type')} 8static browserWidth(){return window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth} 9static isMobile(){if(this.browserWidth()<768) 10return!0;return!1} 11static isTablet(){if(this.browserWidth()>=768&&this.browserWidth()<=1024)return!0;return!1} 12static isTabletPortrait(){if(this.browserWidth()>=768&&window.matchMedia("(orientation: portrait)").matches)return!0;return!1} 13static isEmpty(str){return(!str||0===str.length)} 14static strStartsWith(haystack,needle){if(haystack.lastIndexOf(needle,0)===0) 15return!0;return!1} 16static strContains(haystack,needle){if(haystack.indexOf(needle)!==-1) 17return!0;return!1} 18static isEmptyArr(arr){if(typeof arr!="undefined"&&arr!=null&&arr.length!=null&&arr.length>0) 19return!1;return!0}
20static isEmptyObj(obj){if(obj==null)return!0;if(obj.length>0)return!1;if(obj.length===0)return!0;if(typeof obj!=="object")return!0;for(var key in obj){if(hasOwnProperty.call(obj,key))return!1} 21return!0} 22static isElementsValid(args={object:null,error:!1,}){if(this.isEmptyObj(args.object)) 23return 24let all_els_valid=!0 25let invalid_key 26for(const key of Object.keys(args.object)){if(this.isEmpty(args.object[key])){invalid_key=key 27all_els_valid=!1 28break}} 29if(args.error&&!1==all_els_valid){console.error('A feature is disabled due to an element missing') 30console.error(invalid_key,args.object[invalid_key]) 31return!1}else if(!1==all_els_valid){return!1} 32return!0} 33static create(elem){return document.createElement(elem)} 34static get(elem){return localStorage.getItem(elem)} 35static set(elem,value){return localStorage.setItem(elem,value)} 36static remove(elem){return localStorage.removeItem(elem)} 37static getScrollTop(opts={scrollPos:null}){if(this.isEmpty(opts.scrollPos)) 38return 39let currScrollPos=window.pageYOffset 40let supportPageOffset=window.pageXOffset!==undefined;let isCSS1Compat=((document.compatMode||"")==="CSS1Compat");let scrollLeft=supportPageOffset?window.pageXOffset:isCSS1Compat?document.documentElement.scrollLeft:document.body.scrollLeft;let scrollTop=supportPageOffset?window.pageYOffset:isCSS1Compat?document.documentElement.scrollTop:document.body.scrollTop;if((currScrollPos>opts.scrollPos)||(scrollTop>=opts.scrollPos))return!0;return!1} 41static numberFormat(num){return Math.round(num).toString().replace(/(\d)(?=(\d{3})+(?!\d))/g,'$1,')};static addEvent(el,type,handler){if(el.attachEvent)el.attachEvent('on'+type,handler);else el.addEventListener(type,handler)} 42static removeEvent(el,type,handler){if(el.detachEvent)el.detachEvent('on'+type,handler);else el.removeEventListener(type,handler)} 43static isIE11(){const LE=layoutEngine() 44if('ie'==LE.vendor&&11==LE.version) 45return!0;return!1} 46static fisherYatesShuffle(array){let currentIndex=array.length,temporaryValue,randomIndex;while(currentIndex!==0){randomIndex=Math.floor(Math.random()*currentIndex);currentIndex-=1;temporaryValue=array[currentIndex];array[currentIndex]=array[randomIndex];array[randomIndex]=temporaryValue} 47return array} 48static pageScrollOn(){if(!this.isMobile()) 49return 50$('html, body').css({overflow:'hidden',height:'100%'})} 51static pageScrollOff(){if(!this.isMobile()) 52return 53$('html, body').css({overflow:'auto',height:'auto'})}} 54oty_page_size() 55oty_page_scroll() 56oty_page_lazyimgs() 57oty_head_lang_select() 58oty_intro_imgbn_vid() 59oty_modal_error() 60function oty_page_size(){_addBodyCss() 61window.addEventListener('resize',()=>{_addBodyCss()}) 62function _addBodyCss(){if(Util.isMobile()) 63document.body.classList.add('is_mobile') 64else document.body.classList.remove('is_mobile') 65if(Util.isTabletPortrait()) 66document.body.classList.add('is_tabletPortrait') 67else document.body.classList.remove('is_tabletPortrait')}} 68function oty_page_scroll(){const thisDOM={isScrolled:"is_scrolled",isShow:"is_show",} 69_updateElements() 70window.addEventListener("scroll",()=>{_updateElements()}) 71function _updateElements(){if(Util.getScrollTop({scrollPos:300})){document.body.classList.add(thisDOM.isScrolled) 72$(`.js_c-head__row--util > *`).attr('inert','')}else{document.body.classList.remove(thisDOM.isScrolled) 73$(`.js_c-head__row--util > *`).removeAttr('inert')}}} 74function oty_page_lazyimgs(){function _hasSingleLazyBg(_which,dataAttr){if(Util.isEmpty(_which)||Util.isEmpty(dataAttr)) 75return!1 76const img_url=$(_which).attr(dataAttr) 77if(Util.isEmpty(img_url)) 78return!1 79return!0} 80function _hasTmpPlaceholder(_which,dataAttr){const img_url=$(_which).attr(dataAttr) 81const tmpPlaceholder="data:image/png;base64,iVBORw0K";if(_hasSingleLazyBg(_which,"data-lazy-bg")&&img_url.startsWith(tmpPlaceholder))return!0 82return!1} 83function _download(_which,dataAttr){if(Util.isEmpty(_which)||Util.isEmpty(dataAttr)) 84return 85const img_url=$(_which).attr(dataAttr) 86if(Util.isEmpty(img_url)) 87return 88if(_hasTmpPlaceholder(_which,dataAttr)){$(_which).css("background-image","url("+img_url+")") 89return} 90const imgTmp=$('<img class="u-hidden" />') 91imgTmp.attr("src",img_url).on("load",function(){if($(_which).is("img")) 92$(_which).attr("src",img_url) 93else $(_which).css("background-image","url("+img_url+")") 94if($(_which).hasClass('is_loading')) 95$(_which).removeClass("is_loading") 96if(!$(_which).hasClass('has_loaded')) 97$(_which).addClass("has_loaded")})} 98$(".js_lazy-bg").each(function(index){const _this=this 99if(_hasTmpPlaceholder(_this,"data-lazy-bg")){_download(_this,"data-lazy-bg") 100return} 101if(Util.isMobile()) 102_download(_this,"data-lazy-bg-mobile-thumb") 103else _download(_this,"data-lazy-bg-desktop-thumb")}) 104window.addEventListener('load',()=>{$(".js_lazy-bg").each(function(index){const _this=this 105if(_hasSingleLazyBg(_this,"data-lazy-bg")) 106_download(_this,"data-lazy-bg") 107else{if(Util.isMobile()){_download(_this,"data-lazy-bg-mobile")}else{_download(_this,"data-lazy-bg-desktop")}}})})} 108function oty_head_lang_select(){$('.js_lang-sel').each(function(){const _this=$(this) 109if(_this.hasClass('c-lang-sel')&&!Util.isEmpty(_this.val()))_this.addClass('c-lang-sel--'+_this.val()) 110_this.on('change',function(){let redirect_to_url=_this.find(":selected").attr('data-url') 111let open_new_tab=parseInt(_this.find(":selected").attr('data-ont'),10) 112_this.prop('selectedIndex',0);if('webkit'===layoutEngine.vendor&&'safari-ios'===layoutEngine.browser){console.warn('Redirecting to:',redirect_to_url) 113setTimeout(function(){document.location.href=redirect_to_url},250)}else{if(1==open_new_tab){console.warn('Open new tab:',redirect_to_url) 114let win=window.open(redirect_to_url,"_blank") 115win.focus()}else{console.warn('Redirecting to:',redirect_to_url) 116window.location=redirect_to_url}}})})} 117function oty_intro_imgbn_vid(){const _vids=$('.js_c-intro .js_c-imgbn-v__plyr') 118if(Util.isEmpty(_vids)) 119return 120function _plyrControls(_vid,_plyr){const _imgbn=_vid.closest('.js_c-intro__imgbn') 121const _cons=_imgbn.find('.js_c-imgbn-v__cons') 122const _stop=_cons.find('> div[data-action=stop]') 123const _pause=_cons.find('> div[data-action=pause]') 124const _play=_cons.find('> div[data-action=play]') 125const _mute=_cons.find('> div[data-action=mute]') 126const _unmute=_cons.find('> div[data-action=unmute]') 127const _type=_vid.attr('data-vid-type') 128const _audio=_vid.attr('data-audio') 129if('clickp'==_type){if('ha'==_audio){_plyr.muted=!1 130_stop.removeClass('is_hidden') 131_mute.removeClass('is_hidden')}
131else if('ham'==_audio){_plyr.muted=!0 132_stop.removeClass('is_hidden') 133_unmute.removeClass('is_hidden')}else{_stop.removeClass('is_hidden') 134_plyr.muted=!0}}else if('autop'==_type){if('ha'==_audio){_plyr.muted=!1 135_mute.removeClass('is_hidden')}else if('ham'==_audio){_plyr.muted=!0 136_unmute.removeClass('is_hidden')}else{_plyr.muted=!0}} 137_mute.click(function(){_plyr.muted=!0 138_mute.addClass('is_hidden') 139_unmute.removeClass('is_hidden')}) 140_unmute.click(function(){_plyr.muted=!1 141_mute.removeClass('is_hidden') 142_unmute.addClass('is_hidden')}) 143_stop.click(function(){_imgbn.removeClass('has_vidplaying') 144_plyr.stop()})} 145_vids.each(function(index){const _vid=$(this) 146if('clickp'==_vid.attr('data-vid-type')){const _cPlyr=new Plyr(_vid) 147const _imgbn=_vid.closest('.js_c-intro__imgbn') 148const _cbtn=_imgbn.find('.js_c-imgbn__clickp-btn') 149_cbtn.click(function(){_imgbn.addClass('has_vidplaying') 150_cPlyr.play()}) 151_plyrControls(_vid,_cPlyr)}else if('autop'==_vid.attr('data-vid-type')){const _autoplyr=new Plyr(_vid) 152_plyrControls(_vid,_autoplyr) 153_autoplyr.on('ready',function(){_autoplyr.play()})}})} 154function oty_page_nav_scroll(el){if(Util.isEmpty(el)) 155return;let height_of_nav=0;for(let i=0;i<el.children.length;i++) 156height_of_nav+=el.children[i].offsetHeight 157if(height_of_nav<window.innerHeight-75-(32*2)){el.style.overflowY="hidden";el.classList.remove("is_scroll")}else{el.style.overflowY="scroll";el.classList.add("is_scroll")} 158if(Util.isMobile()){el.classList.add('is_mobile')}} 159function oty_modal_error(el){const _main=$('.js_open-modal-error') 160if(Util.isEmpty(_main)) 161return 162_main.magnificPopup({type:'inline',});_main.magnificPopup('open')} 163oty_slide_main() 164oty_slide_hhl() 165oty_slide_room() 166oty_slide_roomsv() 167oty_slide_broom() 168oty_slide_mgall() 169oty_slide_sibs() 170oty_slide_meeting_room_details_flp() 171oty_slide_meetings_details_md() 172oty_slide_meetings_details_sm() 173oty_slide_gallery_2() 174oty_slide_gallery_2_alt() 175oty_slide_loungesv() 176oty_slide_anchors() 177oty_slide_jpl_aest() 178oty_slide_slides_sib() 179oty_slide_offers_hp() 180oty_slide_menus() 181oty_slide_with_filter_news_hp() 182function oty_slide_main(){const DOM={wrap:".js_c-ss",main:".js_c-ss__wrap",} 183const _x={wrap:$(DOM.wrap),} 184$.extend(_x,{main:_x.wrap.find(DOM.main),}) 185if(!1==Util.isElementsValid({object:_x})) 186return 187_x.main.slick({slidesToShow:1,slidesToScroll:1,mobileFirst:!0,speed:800,fade:!0,cssEase:'linear',autoplay:!0,autoplaySpeed:6000,arrows:!0,prevArrow:'<button type="button" class="prev icon-arrow-left-long-light"></button>',nextArrow:'<button type="button" class="next icon-arrow-right-long-light"></button>',}) 188const _vidSel='#ss-video-plyr' 189const _vidEl=$(_vidSel) 190if($('body').hasClass('has_video')&&_vidEl.length){function _plyrBaseControls(_plyr){if(Util.isEmpty(_plyr)) 191return 192const _cons=$('.js_c-ss__video-cons') 193const _stop=_cons.find('> div[data-action=stop]') 194const _pause=_cons.find('> div[data-action=pause]') 195const _play=_cons.find('> div[data-action=play]') 196const _mute=_cons.find('> div[data-action=mute]') 197const _unmute=_cons.find('> div[data-action=unmute]') 198const _audio=_cons.attr('data-audio') 199if('ha'==_audio){_plyr.muted=!1 200_mute.removeClass('is_hidden')}else if('ham'==_audio){_plyr.muted=!0 201_unmute.removeClass('is_hidden')}else _plyr.muted=!0 202_mute.click(function(){_plyr.muted=!0 203_mute.addClass('is_hidden') 204_unmute.removeClass('is_hidden')}) 205_unmute.click(function(){_plyr.muted=!1 206_mute.removeClass('is_hidden') 207_unmute.addClass('is_hidden')}) 208_stop.click(function(){_plyr.stop() 209_cons.addClass('is_hidden') 210$('.js_c-ss__video-fc').addClass('is_hidden') 211$('.js_c-ss__cap').show() 212_x.main.removeClass('has_video-playing') 213$('.js_c-ss__vline').removeClass('has_video-playing') 214_btnsDefault()}) 215function _btnsDefault(){_pause.removeClass('is_hidden') 216_play.addClass('is_hidden')} 217function _btnsOnPause(){_pause.addClass('is_hidden') 218_play.removeClass('is_hidden')} 219_pause.click(function(){_plyr.pause() 220_btnsOnPause()}) 221_play.click(function(){_plyr.play() 222_btnsDefault()}) 223_plyr.on('pause',_btnsOnPause) 224_plyr.on('play',_btnsDefault)} 225if($('body').hasClass('is_clickp')){const _clickplyr=new Plyr(_vidSel) 226const _cons=$('.js_c-ss__video-cons') 227$('.js_c-ss__clickp-btn').click(function(){_clickplyr.play() 228$('.js_c-ss__video-fc').removeClass('is_hidden') 229$('.js_c-ss__cap').hide() 230_cons.removeClass('is_hidden') 231_x.main.addClass('has_video-playing') 232$('.js_c-ss__vline').addClass('has_video-playing')}) 233_plyrBaseControls(_clickplyr)}else if($('body').hasClass('is_autop')){const _autoplyr=new Plyr(_vidSel) 234_autoplyr.on('ready',function(){_autoplyr.play()}) 235$('.js_c-ss__video-cons').removeClass('is_hidden') 236$('.js_c-ss__vline').addClass('has_video-playing') 237_plyrBaseControls(_autoplyr)}}} 238function oty_slide_slick_arrows(args={wrap:null,main:null}){if(Util.isEmpty(args.main)||Util.isEmpty(args.wrap))return 239const DOM={count:".js_c-ss-nav",countNum:".js_c-ss-nav__num",prev:'.js_c-ss-nav__arrow-left',next:'.js_c-ss-nav__arrow-right',} 240$(args.wrap).each(function(){const _wrap=$(this) 241const _main=_wrap.find(args.main) 242const _count=_wrap.find(DOM.count) 243const _thisNum=_count.find(DOM.countNum) 244const _prev=_count.find(DOM.prev) 245const _next=_count.find(DOM.next) 246_main.on("init",function(event,slick,direction){const _thisSlick=$(this) 247if(Util.isEmpty(_thisNum)) 248return 249_thisNum.each(function(){$(this).bind('click',_onClickTabLinks)}) 250_prev.click(function(){_thisSlick.slick('slickPrev')}) 251_next.click(function(){_thisSlick.slick('slickNext')})}) 252_main.on('beforeChange',function(event,slick,currentSlide,nextSlide){if(Util.isEmpty(_thisNum)) 253return 254_thisNum.each(function(){if(!$(this).hasClass('is_active')) 255$(this).addClass('is-not_clickable') 256$(this).unbind('click',_onClickTabLinks)})}) 257_main.on('afterChange',function(event,slick,currentSlide){if(Util.isEmpty(_thisNum)) 258return 259_resetTabLinks() 260_count.find(DOM.countNum+'[data-slick-index="'+currentSlide+'"]').addClass('is_active') 261_thisNum.each(function(){$(this).removeClass('is-not_clickable') 262$(this).bind('click',_onClickTabLinks)})}) 263function _onClickTabLinks(){if($(this).hasClass('is_active')) 264return 265_resetTabLinks() 266$(this).addClass('is_active') 267const slickIndex=$(this).attr('data-slick-index') 268_main.slick('slickGoTo',slickIndex)} 269function _resetTabLinks(){_thisNum.each(function(){$(this).removeClass('is_active')})}})} 270function oty_slide_hhl(){const DOM={wrap:".js_c-hhl__wrap-s",main:".js_c-hhl__slide",} 271const thisEl={main:$(DOM.main),} 272if(!1==Util.isElementsValid({object:thisEl})) 273return 274oty_slide_slick_arrows(DOM) 275thisEl.main.each(function(){const _main=$(this) 276_main.slick({infinite:!0,centerMode:!0,centerPadding:'20px',slidesToShow:1,slidesToScroll:1,mobileFirst:!0,dots:!1,arrows:!0,prevArrow:'<button type="button" class="prev icon-arrow-left-long-light"></button>',nextArrow:'<button type="button" class="next icon-arrow-right-long-light"></button>',responsive:[{breakpoint:760,settings:{centerMode:!1,arrows:!1,slidesToShow:2}},{breakpoint:1020,settings:{centerMode:!1,arrows:!1,slidesToShow:3}},{breakpoint:1900,settings:{centerMode:!1,arrows:!1,slidesToShow:4}},{breakpoint:2500,settings:{centerMode:!1,arrows:!1,slidesToShow:5}},]})})} 277function oty_slide_room(){const DOM={wrap:".js_c-room",main:".js_c-room__imgs",} 278const thisEl={wrap:$(DOM.wrap),} 279$.extend(thisEl,{main:thisEl.wrap.find(DOM.main),}) 280if(!1==Util.isElementsValid({object:thisEl})) 281return 282oty_slide_slick_arrows(DOM) 283thisEl.main.slick({slidesToShow:1,slidesToScroll:1,mobileFirst:!0,fade:!0,arrows:!0,prevArrow:'<button type="button" class="prev icon-arrow-left-long-light"></button>',nextArrow:'<button type="button" class="next icon-arrow-right-long-light"></button>',responsive:[{breakpoint:1020,settings:{arrows:!1}
283},]})} 284function oty_slide_broom(){const DOM={wrap:".js_c-broom",main:".js_c-broom__slide",} 285const thisEl={wrap:$(DOM.wrap),} 286$.extend(thisEl,{main:thisEl.wrap.find(DOM.main),}) 287if(!1==Util.isElementsValid({object:thisEl})) 288return 289oty_slide_slick_arrows(DOM) 290thisEl.main.slick({slidesToShow:1,slidesToScroll:1,mobileFirst:!0,fade:!0,arrows:!0,prevArrow:'<button type="button" class="prev icon-arrow-left-long-light"></button>',nextArrow:'<button type="button" class="next icon-arrow-right-long-light"></button>',responsive:[{breakpoint:1020,settings:{arrows:!1}},]})} 291function oty_slide_roomsv(){const DOM={wrap:".js_c-rsv__slides-w",main:".js_c-rsv__slides",} 292const _wrap=$(DOM.wrap) 293const x={wrap:_wrap,main:_wrap.find(DOM.main),} 294if(!1==Util.isElementsValid({object:x})) 295return 296const totalSlides=x.main.children('.c-rsv__entry').length;const viewportWidth=window.innerWidth;let shouldActivateCarousel=!1;if(viewportWidth>=1020&&totalSlides>4){shouldActivateCarousel=!0}else if(viewportWidth>=760&&viewportWidth<1020&&totalSlides>3){shouldActivateCarousel=!0}else if(viewportWidth<760&&totalSlides>1){shouldActivateCarousel=!0} 297if(totalSlides===4&&shouldActivateCarousel){const slides=x.main.children('.c-rsv__entry').clone(!0);x.main.append(slides)} 298const _prev=x.wrap.find('.js_c-ss-arr__prev') 299const _next=x.wrap.find('.js_c-ss-arr__next') 300if(!shouldActivateCarousel){_prev.hide();_next.hide();if(totalSlides===1){x.main.css({'margin-left':'auto','margin-right':'auto','max-width':'300px'})}else if(totalSlides===2){x.main.css({'margin-left':'auto','margin-right':'auto','max-width':'600px'})}else if(totalSlides===3){x.main.css({'margin-left':'auto','margin-right':'auto','max-width':'900px'})}else if(totalSlides===4){x.main.css({'margin-left':'auto','margin-right':'auto','max-width':'1200px'})} 301return} 302x.main.on("init",function(event,slick,direction){const _this=$(this) 303_prev.click(function(){_this.slick('slickPrev')}) 304_next.click(function(){_this.slick('slickNext')})}) 305const isFewSlides=totalSlides<4;x.main.slick({infinite:!0,centerMode:isFewSlides,centerPadding:isFewSlides?'0px':'50px',slidesToShow:1,slidesToScroll:1,mobileFirst:!0,dots:!1,arrows:!1,responsive:[{breakpoint:760,settings:{centerMode:isFewSlides,slidesToShow:3,centerPadding:isFewSlides?'0px':'50px'}},{breakpoint:1020,settings:{centerMode:isFewSlides,slidesToShow:4,centerPadding:isFewSlides?'0px':'50px'}},]})} 306function oty_slide_mgall(){const DOM={wrap:".js_c-mgall",main:".js_c-mgall__slide",img:".js_c-mgall__img",} 307const x={wrap:$(DOM.wrap),} 308$.extend(x,{main:x.wrap.find(DOM.main),img:x.wrap.find(DOM.img),}) 309if(!1==Util.isElementsValid({object:x})) 310return 311x.img.each(function(){const _thx=$(this) 312const _dw=_thx.attr('data-vw-desktop') 313const _mw=_thx.attr('data-vw-mobile') 314if(Util.isMobile()) 315_thx.attr('style',`width:${_mw}px`) 316else _thx.attr('style',`width:${_dw}px`)}) 317x.main.slick({infinite:!0,speed:500,slidesToShow:1,centerMode:!0,variableWidth:!0,prevArrow:'<button type="button" class="prev icon-arrow-left-long-light"></button>',nextArrow:'<button type="button" class="next icon-arrow-right-long-light"></button>',})} 318function oty_slide_sibs(){const DOM={wrap:".js_c-ents__sibs",main:".js_c-ents__sibs-slide",} 319const thisEl={wrap:$(DOM.wrap),} 320$.extend(thisEl,{main:thisEl.wrap.find(DOM.main),}) 321if(!1==Util.isElementsValid({object:thisEl})) 322return 323oty_slide_slick_arrows(DOM) 324thisEl.main.slick({centerMode:!0,centerPadding:'20px',slidesToShow:1,slidesToScroll:1,mobileFirst:!0,arrows:!0,prevArrow:'<button type="button" class="prev icon-arrow-left-long-light"></button>',nextArrow:'<button type="button" class="next icon-arrow-right-long-light"></button>',responsive:[{breakpoint:760,settings:{centerMode:!1,arrows:!1,slidesToShow:3}},]})} 325function oty_slide_meeting_room_details_flp(){const DOM={wrap:".c-room-flp",main:".c-room-flp__cap_chart-slides",tabs:".c-room-flp__cap_chart-tabs",};const thisEl={wrap:$(DOM.wrap),tabs:$(DOM.tabs),main:$(DOM.wrap).find(DOM.main),};if(!Util.isElementsValid({object:thisEl})) 326return;oty_slide_slick_arrows(DOM);thisEl.main.slick({infinite:!1,slidesToShow:1,slidesToScroll:1,mobileFirst:!0,fade:!0,arrows:!0,prevArrow:'<button type="button" class="xslick-prev icon-arrow-left-long-light"></button>',nextArrow:'<button type="button" class="xslick-next icon-arrow-right-long-light"></button>',responsive:[{breakpoint:768,settings:{arrows:!1}
326},],asNavFor:thisEl.tabs.length>0?thisEl.tabs:null,});if(thisEl.tabs.length>0){thisEl.tabs.slick({infinite:!1,rows:0,slidesToShow:5,slidesToScroll:1,asNavFor:thisEl.main,dots:!1,focusOnSelect:!0,responsive:[{breakpoint:768,settings:{slidesToShow:3,}},{breakpoint:500,settings:{slidesToShow:2,}},]})}} 327function oty_slide_meetings_details_md(){const DOM={wrap:".c-box-prevs__md-cards",main:".c-box-prevs__md-gallery",};const thisEl={wrap:$(DOM.wrap),main:$(DOM.wrap).find(DOM.main),};if(!Util.isElementsValid({object:thisEl})) 328return;oty_slide_slick_arrows(DOM);thisEl.main.slick({rows:0,slidesToShow:1,slidesToScroll:1,mobileFirst:!0,fade:!0,arrows:!0,prevArrow:'<button type="button" class="xslick-prev icon-arrow-left-long-light"></button>',nextArrow:'<button type="button" class="xslick-next icon-arrow-right-long-light"></button>',responsive:[{breakpoint:1020,settings:{arrows:!1}},],})} 329function oty_slide_meetings_details_sm(){const DOM={wrap:".c-box-prevs__sm-detail",main:".c-box-prevs__sm-gallery",};const thisEl={wrap:$(DOM.wrap),main:$(DOM.wrap).find(DOM.main),};if(!Util.isElementsValid({object:thisEl})) 330return;oty_slide_slick_arrows(DOM);thisEl.main.slick({rows:0,slidesToShow:1,slidesToScroll:1,mobileFirst:!0,fade:!0,arrows:!0,prevArrow:'<button type="button" class="xslick-prev icon-arrow-left-long-light"></button>',nextArrow:'<button type="button" class="xslick-next icon-arrow-right-long-light"></button>',responsive:[{breakpoint:1020,settings:{arrows:!1}
330},],})} 331function oty_slide_gallery_2(){const DOM={wrap:".js_c-gallery__crs-wed",main:".js_c-gallery__crs-wed-w.multiple",};const thisEl={wrap:$(DOM.wrap),main:$(DOM.wrap).find(DOM.main),};if(!Util.isElementsValid({object:thisEl})) 332return;oty_slide_slick_arrows(DOM);thisEl.main.slick({rows:0,infinite:!0,speed:500,slidesToShow:1,slidesToScroll:1,mobileFirst:!0,arrows:!0,prevArrow:'<button type="button" class="xslick-prev icon-arrow-left-long-light"></button>',nextArrow:'<button type="button" class="xslick-next icon-arrow-right-long-light"></button>',responsive:[{breakpoint:1020,settings:{arrows:!1,slidesToShow:2,}},],})} 333function oty_slide_gallery_2_alt(){const DOM={wrap:".js_c-gallery__crs",main:".js_c-gallery__crs-w.multiple",};const thisEl={wrap:$(DOM.wrap),main:$(DOM.wrap).find(DOM.main),};if(!Util.isElementsValid({object:thisEl})) 334return;oty_slide_slick_arrows(DOM);thisEl.main.slick({rows:0,infinite:!0,speed:500,slidesToShow:2,slidesToScroll:1,prevArrow:'<button type="button" class="xslick-prev icon-arrow-left-long-light"></button>',nextArrow:'<button type="button" class="xslick-next icon-arrow-right-long-light"></button>',responsive:[{breakpoint:1024,settings:{slidesToShow:1,}},],})} 335function oty_slide_loungesv(){const DOM={wrap:".js_c-rsv-lounge__slides-w",main:".js_c-rsv-lounge__slides",nav:".c-rsv-lounge__ssnav"};const _wrap=$(DOM.wrap);const x={wrap:_wrap,main:_wrap.find(DOM.main),nav:_wrap.find(DOM.nav)};const totalSlides=document.querySelectorAll(`${DOM.main} .c-rsv__entry`).length;const viewportWidth=window.innerWidth;let shouldActivateCarousel=!1;if(viewportWidth>=1024&&totalSlides>3){shouldActivateCarousel=!0}else if(viewportWidth>=768&&viewportWidth<1024&&totalSlides>2){shouldActivateCarousel=!0}else if(viewportWidth>=0&&viewportWidth<768&&totalSlides>1){shouldActivateCarousel=!0} 336if(!shouldActivateCarousel){x.nav.hide();return} 337if(!Util.isElementsValid({object:x})){return} 338oty_slide_slick_arrows(DOM);x.main.slick({infinite:!0,slidesToShow:3,slidesToScroll:1,arrows:!1,prevArrow:'<button type="button" class="xslick-prev icon-arrow-left-long-light"></button>',nextArrow:'<button type="button" class="xslick-next icon-arrow-right-long-light"></button>',responsive:[{breakpoint:1023,settings:{slidesToShow:2}},{breakpoint:767,settings:{arrows:!0,centerMode:!1,slidesToShow:1}}]})} 339function oty_slide_anchors(){const DOM={wrap:".js-anchors",main:".js-anchors__wrap",} 340const _wrap=$(DOM.wrap) 341const x={wrap:_wrap,main:_wrap.find(DOM.main),} 342if(!1==Util.isElementsValid({object:x})) 343return 344const containerWidth=x.wrap.width() 345let contentWidth=0 346x.main.children().each(function(){contentWidth+=$(this).outerWidth(!0)}) 347if(contentWidth>containerWidth){oty_slide_slick_arrows(DOM) 348x.main.slick({infinite:!1,rows:0,slidesToScroll:1,arrows:!0,variableWidth:!0,prevArrow:'<button type="button" class="xslick-prev icon-arrow-left-long-light"></button>',nextArrow:'<button type="button" class="xslick-next icon-arrow-right-long-light"></button>',})}} 349function oty_slide_jpl_aest(){const DOM={wrap:".c-jap_aest-additional_content__gallery",main:".c-jap_aest-additional_content__gallery-slider.multiple",};const thisEl={wrap:$(DOM.wrap),main:$(DOM.wrap).find(DOM.main),};if(!Util.isElementsValid({object:thisEl})) 350return;oty_slide_slick_arrows(DOM);thisEl.main.slick({rows:0,slidesToShow:1,slidesToScroll:1,mobileFirst:!0,fade:!0,arrows:!0,prevArrow:'<button type="button" class="xslick-prev icon-arrow-left-long-light"></button>',nextArrow:'<button type="button" class="xslick-next icon-arrow-right-long-light"></button>',responsive:[{breakpoint:1020,settings:{arrows:!1}
350},],})} 351function oty_slide_slides_sib(){const DOM={wrap:".js_c-slides-sib",main:".js_c-slides-sib__items.multiple",nav:".js_c-slides-sib__ssnav"};const thisEl={wrap:$(DOM.wrap),main:$(DOM.wrap).find(DOM.main),nav:$(DOM.wrap).find(DOM.nav)};const totalSlides=document.querySelectorAll('.js_c-slides-sib__items .js_c-slides-sib__item').length;const viewportWidth=window.innerWidth;let shouldActivateCarousel=!1;if(viewportWidth>=1024&&totalSlides>3) 352shouldActivateCarousel=!0;else if(viewportWidth>=768&&viewportWidth<1024&&totalSlides>2) 353shouldActivateCarousel=!0;else if(viewportWidth<768&&viewportWidth>=0&&totalSlides>1) 354shouldActivateCarousel=!0;if(!shouldActivateCarousel){thisEl.nav.hide();return} 355if(!Util.isElementsValid({object:thisEl})){return} 356oty_slide_slick_arrows(DOM);thisEl.main.slick({rows:0,slidesToShow:1,slidesToScroll:1,mobileFirst:!0,centerMode:!0,centerPadding:'30px',arrows:!0,prevArrow:'<button type="button" class="prev icon-arrow-left-long-light"></button>',nextArrow:'<button type="button" class="next icon-arrow-right-long-light"></button>',responsive:[{breakpoint:768,settings:{arrows:!0,centerMode:!0,slidesToShow:2}},{breakpoint:1024,settings:{arrows:!1,centerMode:!1,slidesToShow:3}}]})} 357function oty_slide_offers_hp(){const DOM={wrap:".js_c-hp-offers__slider",main:".js_c-hp-offers__items.multiple",nav:".js_c-hp-offers__ssnav"};const thisEl={wrap:$(DOM.wrap),main:$(DOM.wrap).find(DOM.main),nav:$(DOM.wrap).find(DOM.nav)};const totalSlides=document.querySelectorAll('.js_c-hp-offers__items .js_c-hp-offers__item').length;const viewportWidth=window.innerWidth;let shouldActivateCarousel=!1;if(viewportWidth>=1024&&totalSlides>2){shouldActivateCarousel=!0}else if(viewportWidth>=0&&totalSlides>1){shouldActivateCarousel=!0} 358if(!shouldActivateCarousel){thisEl.nav.hide();return} 359if(!Util.isElementsValid({object:thisEl})){return} 360oty_slide_slick_arrows(DOM);thisEl.main.slick({rows:0,slidesToShow:1,slidesToScroll:1,mobileFirst:!0,centerMode:!0,arrows:!0,prevArrow:'<button type="button" class="prev icon-arrow-left-long-light"></button>',nextArrow:'<button type="button" class="next icon-arrow-right-long-light"></button>',responsive:[{breakpoint:768,settings:{centerMode:!1,arrows:!1,slidesToShow:2}},]})} 361function oty_slide_menus(){const DOM={wrap:".c-menus__slider",main:".c-menus__items.multiple",nav:".c-menus__ssnav"} 362const thisEl={wrap:$(DOM.wrap),main:$(DOM.wrap).find(DOM.main),nav:$(DOM.wrap).find(DOM.nav)} 363const totalSlides=document.querySelectorAll('.c-menus__items .c-menus__item').length;const viewportWidth=window.innerWidth;let shouldActivateCarousel=!1;if(viewportWidth>=1024&&totalSlides>3){shouldActivateCarousel=!0}else if(viewportWidth>=768&&viewportWidth<1024&&totalSlides>2){shouldActivateCarousel=!0}else if(viewportWidth>=0&&viewportWidth<768&&totalSlides>1){shouldActivateCarousel=!0} 364if(!shouldActivateCarousel){thisEl.nav.hide();return} 365if(!Util.isElementsValid({object:thisEl})) 366return 367oty_slide_slick_arrows(DOM) 368thisEl.main.on('setPosition',function(){const titles=$(this).find('.c-menus__item-title') 369titles.css('min-height','') 370let max=0 371titles.each(function(){max=Math.max(max,$(this).outerHeight())}) 372titles.css('min-height',max+'px')}) 373thisEl.main.slick({rows:0,slidesToShow:1,slidesToScroll:1,mobileFirst:!0,centerMode:!0,arrows:!0,prevArrow:'<button type="button" class="prev icon-arrow-left-long-light"></button>',nextArrow:'<button type="button" class="next icon-arrow-right-long-light"></button>',responsive:[{breakpoint:760,settings:{arrows:!1,slidesToShow:2}},{breakpoint:1020,settings:{arrows:!1,centerMode:!1,slidesToShow:3}},]})} 374function oty_slide_with_filter_news_hp(){function shouldInitializeCarousel(itemCount){const viewportWidth=window.innerWidth;if(viewportWidth>=1024&&itemCount>3){return!0}else if(viewportWidth>=768&&viewportWidth<1024&&itemCount>2){return!0}else if(viewportWidth<768&&itemCount>1){return!0} 375return!1} 376const DOM={sliderContainer:'.c-hp-news_notices__sliders',slider:'.c-hp-news_notices__slider',items:'.c-hp-news_notices__items.multiple',item:'.c-hp-news_notices__item',prevArrow:'.js_c-ss-arr__prev',nextArrow:'.js_c-ss-arr__next'};const sliders=document.querySelectorAll(`${DOM.slider}`);
376sliders.forEach(slider=>{const itemsContainer=slider.querySelector(DOM.items);if(!itemsContainer)return;const items=itemsContainer.querySelectorAll(DOM.item);const prevButton=slider.querySelector(DOM.prevArrow);const nextButton=slider.querySelector(DOM.nextArrow);const totalSlides=items.length;const shouldActivateCarousel=shouldInitializeCarousel(totalSlides);if(!shouldActivateCarousel){if(prevButton)prevButton.style.display='none';if(nextButton)nextButton.style.display='none';const $itemsContainer=$(itemsContainer);if(totalSlides===1){$itemsContainer.css({'margin-left':'auto','margin-right':'auto','max-width':'300px'})}else if(totalSlides===2){$itemsContainer.css({'margin-left':'auto','margin-right':'auto','max-width':'600px'})}else if(totalSlides===3){$itemsContainer.css({'margin-left':'auto','margin-right':'auto','max-width':'900px'})} 377return} 378if(totalSlides===4&&shouldActivateCarousel){const slideClones=Array.from(items).map(item=>item.cloneNode(!0));slideClones.forEach(clone=>{itemsContainer.appendChild(clone)})} 379const $itemsContainer=$(itemsContainer);const isFewSlides=totalSlides<4;$itemsContainer.on("init",function(event,slick){if(prevButton){$(prevButton).on('click',function(){$itemsContainer.slick('slickPrev')})} 380if(nextButton){$(nextButton).on('click',function(){$itemsContainer.slick('slickNext')})}});$itemsContainer.slick({rows:0,infinite:!0,centerMode:isFewSlides,centerPadding:isFewSlides?'0px':'30px',slidesToShow:1,slidesToScroll:1,mobileFirst:!0,arrows:!1,responsive:[{breakpoint:768,settings:{centerMode:isFewSlides,slidesToShow:2,centerPadding:isFewSlides?'0px':'30px'}},{breakpoint:1024,settings:{centerMode:!1,slidesToShow:4}},]})})} 381var icl_lang=icl_vars.current_language;$.datepicker.setDefaults($.datepicker.regional[oty_qs_get_dp_lang()]) 382jQuery.fn.outerHTML=function(){return jQuery('<div />').append(this.eq(0).clone()).html()};if('ja'==icl_lang) 383jQuery.datepicker.setDefaults({"closeText":"\u9589\u3058\u308b","currentText":"\u4eca\u65e5","monthNames":["1\u6708","2\u6708","3\u6708","4\u6708","5\u6708","6\u6708","7\u6708","8\u6708","9\u6708","10\u6708","11\u6708","12\u6708"],"monthNamesShort":["1\u6708","2\u6708","3\u6708","4\u6708","5\u6708","6\u6708","7\u6708","8\u6708","9\u6708","10\u6708","11\u6708","12\u6708"],"nextText":"\u6b21","prevText":"\u524d","dayNames":["\u65e5\u66dc\u65e5","\u6708\u66dc\u65e5","\u706b\u66dc\u65e5","\u6c34\u66dc\u65e5","\u6728\u66dc\u65e5","\u91d1\u66dc\u65e5","\u571f\u66dc\u65e5"],"dayNamesShort":["\u65e5","\u6708","\u706b","\u6c34","\u6728","\u91d1","\u571f"],"dayNamesMin":["\u65e5","\u6708","\u706b","\u6c34","\u6728","\u91d1","\u571f"],"dateFormat":"MM d, yy","firstDay":0,"isRTL":!1}) 384else if('zh-hant'==icl_lang) 385jQuery.datepicker.setDefaults({"closeText":"\u95dc\u9589","currentText":"\u4eca\u5929","monthNames":["1 \u6708","2 \u6708","3 \u6708","4 \u6708","5 \u6708","6 \u6708","7 \u6708","8 \u6708","9 \u6708","10 \u6708","11 \u6708","12 \u6708"],"monthNamesShort":["1 \u6708","2 \u6708","3 \u6708","4 \u6708","5 \u6708","6 \u6708","7 \u6708","8 \u6708","9 \u6708","10 \u6708","11 \u6708","12 \u6708"],"nextText":"\u4e0b\u4e00\u6b65","prevText":"\u4e0a\u4e00\u6b65","dayNames":["\u661f\u671f\u65e5","\u661f\u671f\u4e00","\u661f\u671f\u4e8c","\u661f\u671f\u4e09","\u661f\u671f\u56db","\u661f\u671f\u4e94","\u661f\u671f\u516d"],"dayNamesShort":["\u9031\u65e5","\u9031\u4e00","\u9031\u4e8c","\u9031\u4e09","\u9031\u56db","\u9031\u4e94","\u9031\u516d"],"dayNamesMin":["\u65e5","\u4e00","\u4e8c","\u4e09","\u56db","\u4e94","\u516d"],"dateFormat":"MM d, yy","firstDay":0,"isRTL":!1}) 386else if('zh-hans'==icl_lang) 387jQuery.datepicker.setDefaults({"closeText":"\u5173\u95ed","currentText":"\u4eca\u5929","monthNames":["1 \u6708","2 \u6708","3 \u6708","4 \u6708","5 \u6708","6 \u6708","7 \u6708","8 \u6708","9 \u6708","10 \u6708","11 \u6708","12 \u6708"],"monthNamesShort":["1 \u6708","2 \u6708","3 \u6708","4 \u6708","5 \u6708","6 \u6708","7 \u6708","8 \u6708","9 \u6708","10 \u6708","11 \u6708","12 \u6708"],"nextText":"\u4e0b\u4e00\u6b65","prevText":"\u4e0a\u4e00\u6b65","dayNames":["\u661f\u671f\u65e5","\u661f\u671f\u4e00","\u661f\u671f\u4e8c","\u
387661f\u671f\u4e09","\u661f\u671f\u56db","\u661f\u671f\u4e94","\u661f\u671f\u516d"],"dayNamesShort":["\u5468\u65e5","\u5468\u4e00","\u5468\u4e8c","\u5468\u4e09","\u5468\u56db","\u5468\u4e94","\u5468\u516d"],"dayNamesMin":["\u65e5","\u4e00","\u4e8c","\u4e09","\u56db","\u4e94","\u516d"],"dateFormat":"MM d, yy","firstDay":0,"isRTL":!1}) 388else jQuery.datepicker.setDefaults({"closeText":"Close","currentText":"Today","monthNames":["January","February","March","April","May","June","July","August","September","October","November","December"],"monthNamesShort":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"nextText":"Next","prevText":"Previous","dayNames":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"dayNamesShort":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"dayNamesMin":["Su","Mo","Tu","We","Th","Fr","Sa"],"dateFormat":"MM d, yy","firstDay":0,"isRTL":!1}) 389if('en'!=icl_lang){$.datepicker._generateMonthYearHeader_original=$.datepicker._generateMonthYearHeader;$.datepicker._generateMonthYearHeader=function(inst,dm,dy,mnd,mxd,s,mn,mns){var header=$($.datepicker._generateMonthYearHeader_original(inst,dm,dy,mnd,mxd,s,mn,mns)) 390header.find('>.ui-datepicker-year').prependTo(header);header.find('>.ui-datepicker-month').appendTo(header);return $('<div/>',{"class":"ui-datepicker-title"}).append(header.html()).outerHTML()}} 391function oty_qs_get_dp_lang(){if(Util.isEmpty(icl_lang)) 392return 393let lang=!1 394if('zh-hant'==icl_lang) 395lang='zh-TW' 396else if('zh-hans'==icl_lang) 397lang='zh-CN' 398else if('en'==icl_lang) 399lang='en-GB' 400else lang=icl_lang 401return lang} 402var icl_lang=icl_vars.current_language;const _qs={feats:['stay','resto','spa'],bookBtn:$('.js_c-head__btn--book'),tabsWrap:$('.js_c-qs__tabs-wrap'),formsWrap:$('.js_c-qs__forms-wrap'),active:'is_active',} 403$.extend(_qs,{allTabs:_qs.tabsWrap.find('.js_c-qs__tab'),allForms:_qs.formsWrap.find('.js_c-qs__form'),}) 404$(['form','tab']).each(function(a,b){const _tmpObj={} 405$.each(_qs.feats,function(k,v){const _tmpEl=_qs[`${b}sWrap`].find(`.js_c-qs__${b}[data-fn=${v}]`) 406if(Util.isEmpty(_tmpEl)) 407return!0 408_tmpObj[v]=_tmpEl}) 409if(!Util.isEmptyObj(_tmpObj)) 410$.extend(_qs,{[b]:_tmpObj,})}) 411const _qsDateFormats={input:'yy-mm-dd',be_en:'yy/mm/dd',} 412const _mpfClose='<button title="%title%" type="button" class="mfp-close mfp-close--oty"><span class="icon icon-xmark-large-light"></span></button>' 413if(Util.isElementsValid({object:_qs})){oty_qs_init() 414oty_head_book_drodown() 415oty_mob_book_action()} 416function oty_qs_init(){_qs.allTabs.each(function(k,v){$(this).click(function(){const _x=$(this) 417const _k=_x.attr('data-fn') 418if(_x.hasClass('is_active')) 419return 420oty_qs_tab_select(_k)})}) 421$(document).keyup(function(e){const _dp=$(e.target).closest('.js_c-qs__dp-box') 422if(e.shiftKey&&e.key=='Tab'){if(Util.isEmpty(_dp)) 423return!1 424const _lastTab=_qs.tabsWrap.find('.js_c-qs__tab:last-child') 425_lastTab.focus()}else if(e.key=='Tab'){if(Util.isEmpty(_dp)) 426return!1 427const _cform=_qs.formsWrap.find(`.js_c-qs__form.is_active > form > .c-qs__fields`) 428_cform.find('input[type=date],select:not([inert])').first().focus()}}) 429function _letsBlink(_dpBox){if(Util.isEmpty(_dpBox)) 430return;_dpBox.addClass('is_blink') 431setTimeout(function(){_dpBox.removeClass('is_blink')},2100)} 432$.each(_qs.feats,function(k,_v){const _form=_qs.formsWrap.find(`.js_c-qs__form[data-fn=${_v}] > form`) 433const _f={key:_v,form:_form,dpb:_form.find('.js_c-qs__dp-box'),arr:_form.find('.js_c-qs__input--arr'),dep:_form.find('.js_c-qs__input--dep'),pers:_form.find('.js_c-qs__select--pers'),subm:_form.find('.js_c-qs__subm'),mask:_form.find('.c-qs__field:has(.c-qs__input[type=date]'),tod:new Date(),tom:new Date(),time:_form.find('.js_c-qs__select--time'),amen:_form.find('.js_c-qs__select--amenity'),} 434_form.find('.js_sublabel-datef').text(oty_getDateFormatPattern()) 435_f.tom.setDate(_f.tom.getDate()+1) 436_f.mask.click(function(e){e.preventDefault() 437_letsBlink(_f.dpb)}) 438if(('resto'==_v||'spa'==_v)&&Util.isEmpty(_f.amen))console.log(`${_v} - missing <select> options`) 439if('stay'==_v){_f.dpb.datepicker(oty_qs_dp_get_2m_args(_f,{numberOfMonths:Util.isMobile()?1:2,})) 440_f.arr.val($.datepicker.formatDate(_qsDateFormats.input,_f.tod)) 441_f.dep.val($.datepicker.formatDate(_qsDateFormats.input,_f.tom)) 442_f.subm.click(function(e){e.preventDefault() 443oty_qs_stay_submit(_f)}) 444$.extend(_qs,{stayDates:{arr:_f.tod,dep:_f.tom,}})}else if(('resto'==_v||'spa'==_v)&&!Util.isEmpty(_f.amen)){_f.dpb.datepicker({numberOfMonths:1,minDate:0,maxDate:"+13m",}).on("change",function(){let _this_date=$(this).datepicker("getDate") 445_f.arr.val($.datepicker.formatDate(_qsDateFormats.input,_this_date)) 446_qs[`${_v}Date`]=_this_date}) 447_f.arr.val($.datepicker.formatDate(_qsDateFormats.input,_f.tod)) 448_f.subm.click(function(e){e.preventDefault() 449oty_qs_tablecheck_submit(_f)}) 450_qs[`${_v}Date`]=_f.tod}})} 451function oty_head_book_drodown(){const _qsKey=oty_qs_get_qskey() 452let _dd_arr=_qsKey?['loyalty']:['book','loyalty'] 453$.each(_dd_arr,oty_head_box_dropdown) 454if(Util.isEmpty(_qsKey)) 455return 456oty_qs_open_mpf(_qs.bookBtn,_qsKey)} 457function oty_head_box_dropdown(k,v){const _dom={panel:`.js_c-hbox--${v}`,btn:`.js_c-head__btn--${v}`,} 458const _bookPanel=$(_dom.panel) 459const _bookBtn=$(_dom.btn) 460const _panelAs=_bookPanel.find('a') 461const _panelBtns=_bookPanel.find('button') 462_panelBtns.attr('tabindex','-1') 463_panelAs.attr('tabindex','-1') 464_panelBtns.attr('aria-hidden','true') 465_panelAs.attr('aria-hidden','true') 466if(Util.isEmpty(_bookPanel)||Util.isEmpty(_bookBtn))return!0 467function _bookPanelClose(){if(!_bookPanel.hasClass('is_open')) 468return 469_bookPanel.removeClass('is_open') 470_bookBtn.focus() 471const _panelAs=_bookPanel.find('a') 472if(Util.isEmptyObj(_panelAs)){const _panelBtns=_bookPanel.find('button') 473if(!Util.isEmptyObj(_panelBtns)) 474_panelBtns.attr('tabindex','-1') 475_panelBtns.attr('aria-hidden','true') 476_panelBtns.first().focus()}else _panelAs.attr('tabindex','-1') 477_panelAs.attr('aria-hidden','true') 478_panelAs.first().focus() 479$(`body > *:not(${_dom.panel})`).removeAttr('inert')} 480_bookBtn.click(function(){_bookPanel.toggleClass('is_open') 481_panelBtns.removeAttr('tabindex') 482_panelBtns.removeAttr('aria-hidden') 483_panelAs.removeAttr('tabindex') 484_panelAs.removeAttr('aria-hidden') 485if(Util.isEmptyObj(_panelAs)){_panelBtns.first().focus()}else _panelAs.first().focus() 486$(`body > *:not(${_dom.panel})`).attr('inert','')}) 487const bookBtns=_bookPanel.find('.js_c-hbox__e-btn[data-fn]') 488if(!Util.isEmpty(bookBtns)){bookBtns.each(function(k,v){oty_qs_open_mpf($(this),$(this).attr('data-fn'))})} 489$(document).keyup(function(e){if(e.keyCode===27) 490_bookPanelClose()}) 491$(document).on('click',function(){const clicked=$(event.target) 492if(clicked[0]===_bookBtn[0]) 493return 494if(Util.isEmpty(clicked.closest(_dom.panel)[0])) 495_bookPanelClose()})} 496function oty_qs_open_mpf(btn,qsKey){if(Util.isEmpty(btn)) 497return 498btn.attr('data-mfp-src',`#qs`) 499btn.on('mfpOpen',function(e){$.each(['book','loyalty'],function(k,v){const _dom={panel:`.js_c-hbox--${v}`} 500const _bookPanel=$(_dom.panel) 501_bookPanel.removeClass('is_open')}) 502oty_qs_tab_select(qsKey) 503$(`body > .mfp-wrap.c-qs__mfp-wrap .js_c-qs__mfp-content`).removeAttr('inert') 504setTimeout(function(){$(`.js_c-qs__tab.is_active`).focus() 505$(`.mfp-no-scroll`).removeAttr('tabindex')},10)}) 506btn.on('mfpClose',function(e){$(`body > *`).removeAttr('inert')}) 507btn.magnificPopup({type:'inline',mainClass:"mfp-no-scroll c-qs__mfp-wrap",closeMarkup:_mpfClose,}) 508btn.on('mfpOpen',function(e){Util.pageScrollOn()}) 509btn.on('mfpClose',function(e){Util.pageScrollOff()}) 510var urlArgs=url('?') 511if(typeof urlArgs!=="undefined"&&'qs' in urlArgs)btn.magnificPopup('open')} 512function oty_qs_tab_select(qsKey){_qs.allTabs.removeClass(_qs.active) 513_qs.allForms.removeClass(_qs.active) 514_qs.tab[qsKey].addClass(_qs.active) 515_qs.form[qsKey].addClass(_qs.active) 516_qs.tab[qsKey].focus()} 517function oty_qs_dp_get_2m_args(_el,_dpArgs){if(Util.isEmptyObj(_el)) 518return 519if(Util.isEmpty(_dpArgs)) 520_dpArgs={} 521var Configuration=(function(){function Configuration(){this.nextSelectionAboutArrival=!0;this.arrivalDate=0;this.departureDate=0} 522Configuration.prototype.reset=function(){this.arrivalDate=0;this.departureDate=0;this.nextSelectionAboutArrival=!0};Configuration.prototype.toggleState=function(){this.nextSelectionAboutArrival=!this.nextSelectionAboutArrival;return this.nextSelectionAboutArrival};Configuration.prototype.isArrival=function(){return this.nextSelectionAboutArrival};Configuration.prototype.isArrivalSelected=function(){return this.arrivalDate!=0};Configuration.prototype.isDepartureSelected=function(){return this.departureDate!=0};Configuration.prototype.isRangeSelected=function(){return this.isArrivalSelected()&&this.isDepartureSelected()};Configuration.prototype.isSomethingSelected=function(){return this.isArrivalSelected()||this.isDepartureSelected()};return Configuration}()) 523var datax=new Configuration();var firstSelect=!0;var firstSelDate=0;var secondSelDate=0;const cssIsR={range:'is_range',rangeS:'is_range-start',rangeE:'is_range-end',} 524const _argsToReturn={minDate:0,maxDate:"+13m",onSelect:function(dateStr,_a){var currSelDate=new Date(_a.selectedYear,_a.selectedMonth,_a.selectedDay);var isArrival=datax.nextSelectionAboutArrival;datax.toggleState();if(firstSelect){datax.reset();firstSelDate=currSelDate;datax.arrivalDate=firstSelDate;_el.arr.val($.datepicker.formatDate(_qsDateFormats.input,datax.arrivalDate));_el.arr.removeAttr('disabled');const _nextDay=new Date(datax.arrivalDate) 525_nextDay.setDate(_nextDay.getDate()+1) 526$.extend(_qs,{stayDates:{arr:datax.arrivalDate,dep:_nextDay}}) 527firstSelect=!1}else{secondSelDate=currSelDate;if(firstSelDate.getTime()<secondSelDate.getTime()){datax.arrivalDate=firstSelDate;datax.departureDate=secondSelDate}else{datax.arrivalDate=secondSelDate;datax.departureDate=firstSelDate} 528_el.arr.val($.datepicker.formatDate(_qsDateFormats.input,datax.arrivalDate)) 529_el.dep.val($.datepicker.formatDate(_qsDateFormats.input,datax.departureDate)) 530_el.arr.removeAttr('disabled') 531_el.dep.removeAttr('disabled') 532$.extend(_qs,{stayDates:{arr:datax.arrivalDate,dep:datax.departureDate,}}) 533firstSelect=!0}},beforeShowDay:function(thisDate){var classes=[];var dateTime=thisDate.getTime();if(new Date(datax.arrivalDate).getTime()<=dateTime&&dateTime<=new Date(datax.departureDate).getTime())classes.push(cssIsR.range);if(new Date(datax.arrivalDate).getTime()==dateTime)
534classes.push(cssIsR.rangeS);else if(new Date(datax.departureDate).getTime()==dateTime) 535classes.push(cssIsR.rangeE);return[!0,classes.join(' ')];const $this=$(this);const cells=$this.find('td > a');cells.each(function(index,cell){const $cell=$(cell);$cell.attr('tabindex','-1');$cell.attr('aria-hidden',!0)})},onUpdateDatepicker:function(){const $this=$(this);const cells=$this.find('td > a');cells.each(function(index,cell){const $cell=$(cell);$cell.attr('tabindex','-1');$cell.attr('aria-hidden',!0)})}} 536if(Util.isEmptyObj(_dpArgs)) 537return _argsToReturn 538return $.extend(_argsToReturn,_dpArgs)} 539function oty_mob_which_panel(k,v){const _dom={panel:`.js_c-hbox--${v}`,panelMob:`.js_c-hbox__mob--${v}`,} 540const _panel=$(_dom.panel) 541const _panelMob=_panel.siblings(_dom.panelMob) 542_panel.find('.js_c-hbox__b').clone().appendTo(_panelMob) 543const _ctaMob=$(`.js_mob-act--${v}`) 544_ctaMob.attr('data-mfp-src',`#mobbox--${v}`) 545_ctaMob.magnificPopup({type:'inline',mainClass:"c-hbox__mob_mfp-wrap",closeMarkup:_mpfClose,}) 546const _btns=_panelMob.find('.js_c-hbox__e-btn[data-fn]') 547if(Util.isEmpty(_btns)) 548return 549_btns.each(function(a,b){const _xbtn=$(this) 550const _xkey=_xbtn.attr('data-fn') 551_xbtn.attr('data-mfp-src',`#qs`) 552_xbtn.magnificPopup({type:'inline',mainClass:"mfp-no-scroll c-qs__mfp-wrap",closeMarkup:_mpfClose,}) 553_xbtn.on('mfpOpen',function(e){$(`body > .mfp-wrap.c-qs__mfp-wrap .js_c-qs__mfp-content`).removeAttr('inert') 554setTimeout(function(){$(`.js_c-qs__tab.is_active`).focus() 555$(`.mfp-no-scroll`).removeAttr('tabindex')},10)}) 556_xbtn.on('mfpOpen',function(e){Util.pageScrollOn()}) 557_xbtn.on('mfpClose',function(e){Util.pageScrollOff()}) 558_xbtn.click(function(){_ctaMob.magnificPopup('close') 559_xbtn.magnificPopup('open') 560oty_qs_tab_select(_xkey)})})} 561function oty_qs_get_qskey(){if(typeof oty_qs_pages_list===typeof undefined||oty_qs_pages_list===!1||Util.isEmptyObj(oty_qs_pages_list)||!oty_qs_pages_list.hasOwnProperty('current'))return 562const _curl=oty_qs_pages_list.current 563let _qsKey=null 564$.each(_qs.feats,function(k,v){if(-1!==$.inArray(_curl,oty_qs_pages_list[v])) 565_qsKey=v}) 566if(_qsKey) 567return _qsKey 568return} 569function oty_mob_book_action(){const _qsKey=oty_qs_get_qskey() 570let _dd_arr=_qsKey?['loyalty']:['book','loyalty'] 571$.each(_dd_arr,oty_mob_which_panel) 572if(Util.isEmpty(_qsKey)) 573return 574oty_qs_open_mpf($('.js_mob-act--book'),_qsKey)} 575function oty_qs_stay_submit(_f){if(typeof oty_be==='undefined'||oty_be===null){console.error('oty_be does not exist') 576return} 577if("ja"==icl_lang&&typeof oty_be.hi_id!=='undefined'){const oneDay=24*60*60*1000 578const numOfNights=Math.round(Math.abs((_qs.stayDates.arr-_qs.stayDates.dep)/oneDay)) 579let optima_options={dt:$.datepicker.formatDate(_qsDateFormats.be_en,_qs.stayDates.arr),le:numOfNights,rc:1,mc:_f.pers.val(),} 580oty_qs_be_open_new_tab(oty_be,optima_options)}else if("ja"==icl_lang&&typeof oty_be.code!=='undefined'&&oty_is_open_tripla()){var tripla_options={checkin:$.datepicker.formatDate(_qsDateFormats.be_en,_qs.stayDates.arr),checkout:$.datepicker.formatDate(_qsDateFormats.be_en,_qs.stayDates.dep),} 581var adult_val=_f.pers.val() 582if(adult_val) 583tripla_options.rooms="[{\"adults\":"+adult_val+"}]";oty_qs_be_open_new_tab(oty_be,tripla_options)}else if(typeof oty_be.hotel!=='undefined'){let saber_options={arrive:$.datepicker.formatDate(_qsDateFormats.be_en,_qs.stayDates.arr),depart:$.datepicker.formatDate(_qsDateFormats.be_en,_qs.stayDates.dep),adult:_f.pers.val(),} 584oty_qs_be_open_new_tab(oty_be,saber_options)}else{console.error('No BE') 585return}} 586function oty_qs_tablecheck_submit(_f){const tcArgs={start_date:$.datepicker.formatDate(_qsDateFormats.be_en,_qs[`${_f.key}Date`]),pax:_f.pers.val(),} 587if(_f.time.val()) 588$.extend(tcArgs,{start_time:_f.time.val()}) 589let _lang=icl_lang 590_lang='zh-hans'==icl_lang?'zh-CN':_lang 591_lang='zh-hant'==icl_lang?'zh-TW':_lang 592const _amen=_f.amen.val() 593oty_qs_be_open_new_tab({url:`https://www.tablecheck.com/${_lang}/shops/${_amen}/reserve`},tcArgs)} 594function oty_qs_be_open_new_tab(defaults,options){let be_params=$.extend({},defaults,options) 595be_params.url=null 596$.each(be_params,function(key,value){if(value===""||value===null){delete be_params[key]}}) 597let url=decodeURIComponent(defaults.url+'?'+httpBuildQuery(be_params)) 598if(typeof _DEdgeTrackingDecorator!=='undefined'&&typeof _DEdgeTrackingDecorator.decorateUrl==='function'){url=_DEdgeTrackingDecorator.decorateUrl(url)} 599console.log('Newtab URL',url) 600let win=window.open(url,"_blank") 601win.focus()} 602function oty_getDateFormatPattern(){const _locale=(new Intl.NumberFormat()).resolvedOptions().locale 603const getPatternForPart=(part)=>{switch(part.type){case 'day':return'd'.repeat(part.value.length);case 'month':return'm'.repeat(part.value.length);case 'year':return'y'.repeat(part.value.length);case 'literal':return part.value;default:console.log('Unsupported date part',part);return''}};return new Intl.DateTimeFormat(_locale).formatToParts(new Date('2025-01-01')).map(getPatternForPart).join('')} 604function oty_is_open_tripla(){var _openTripla=!1 605var _jsObj=$('#js_oty_tripla_be') 606if(_jsObj&&!Util.isEmpty(_jsObj)){var tripla_be=_jsObj.text() 607if(('all'==tripla_be||($('body').hasClass('logged-in')&&'logged_in'==tripla_be))&&oty_be.code)_openTripla=!0 608if(_openTripla){if('all'==tripla_be) 609console.log('#triplabe: Enabled for ALL') 610else if($('body').hasClass('logged-in')&&'logged_in'==tripla_be) 611console.log('#triplabe: Enabled for Logged in user')}else{if(!$('body').hasClass('logged-in')&&'logged_in'==tripla_be) 612console.log('#triplabe: \n\tEnabled for Logged in user\n\tFallback to Optima because user is Not Logged in')}} 613return _openTripla} 614const stuckAttr=()=>{const elements=document.querySelectorAll('.c-anchors');if(elements.length===0)return;const checkSticky=(element)=>{const rect=element.getBoundingClientRect();const stickyTop=parseFloat(getComputedStyle(element).top)||0;const isStuck=rect.top<=stickyTop;element.toggleAttribute('stuck',isStuck) 615requestAnimationFrame(()=>checkSticky(element))}
616elements.forEach(element=>{requestAnimationFrame(()=>checkSticky(element))}) 617window.addEventListener('scroll',()=>{elements.forEach(checkSticky)},{passive:!0})} 618const handleAnchors=()=>{const anchors=document.querySelectorAll('.c-anchors__item');const sections=document.querySelectorAll('[id$="-section"]');if(anchors.length===0||sections.length===0)return;const observer=new IntersectionObserver((entries)=>{const visibleSections=Array.from(sections).filter(section=>{const rect=section.getBoundingClientRect();const windowHeight=window.innerHeight;return rect.top<windowHeight/2&&rect.bottom>windowHeight/2});anchors.forEach(anchor=>anchor.classList.remove('active'));if(visibleSections.length>0){const currentSection=visibleSections[0];const correspondingAnchor=document.querySelector(`.c-anchors__item[href="#${currentSection.id}"]`);if(correspondingAnchor){correspondingAnchor.classList.add('active')}}},{threshold:[0],rootMargin:'0px'});sections.forEach(section=>{observer.observe(section)})} 619const handleStickyBackground=()=>{const stickyElement=document.querySelector('.c-anchors');const sections=document.querySelectorAll('[data-bg]');const anchors=document.querySelectorAll('.c-anchors__item');const offset=120;if(!stickyElement||sections.length===0||anchors.length===0)return;
619const updateBackground=()=>{let currentBg='default';let currentID='';let activeFound=!1;sections.forEach(section=>{const rect=section.getBoundingClientRect();const stickyHeight=stickyElement.offsetHeight;if(rect.top<=(stickyHeight+offset)&&rect.bottom>=stickyHeight){currentBg=section.dataset.bg;currentID=section.id;anchors.forEach(anchor=>{anchor.classList.remove('active')});const activeAnchor=stickyElement.querySelector(`.c-anchors__item[href="#${currentID}"]`);if(activeAnchor){activeAnchor.classList.add('active');activeFound=!0}}});if(!activeFound){anchors.forEach(anchor=>{anchor.classList.remove('active')})} 620stickyElement.setAttribute('data-current-bg',currentBg)} 621const observer=new IntersectionObserver((entries)=>{entries.forEach(entry=>{if(entry.isIntersecting){updateBackground()}})},{threshold:0.1,rootMargin:'-100px 0px -100px 0px'});sections.forEach(section=>{observer.observe(section)});window.addEventListener('scroll',()=>{requestAnimationFrame(updateBackground)},{passive:!0})} 622const anchors=()=>{stuckAttr();handleStickyBackground()} 623anchors();const bmDom={isOpen:'is_open',isScroll:'is_scroll',isClose:'is_close',isShown:'is_shown',iconIsOpen:'icon-chevron-down',iconIsClose:'icon-chevron-right',burgBtn:'.js_c-head__burger',burgBtnX:'.js_c-head__burger.not_mobile',panel:'.js_c-bmenu',panelNav:'.js_c-bmenu__nav',} 624const _panel=$(bmDom.panel) 625const bmEl={panel:_panel,nav:_panel.find(bmDom.panelNav),burgBtn:$(bmDom.burgBtn),burgBtnX:$(bmDom.burgBtnX),} 626bmenuPanel() 627bmenuChildren() 628$(document).keydown(function(e){const menuHasFocus=$('.c-menu-burger-container:focus-within') 629const menuIsVisible=$('.c-bmenu.is_open') 630const buttonExpanded=$('.c-menu-burger-container .icon[aria-expanded="true"]') 631const subMenuExpanded=$('.c-menu-burger-container ul.sub-menu:focus-within') 632if(menuIsVisible.length>0){if(subMenuExpanded.length>0){if(subMenuExpanded.find('a:focus').length>0){if(e.which===39||e.which===40){e.preventDefault() 633subMenuExpanded.find('a:focus').parent().next().find('a').focus()}else if(e.which===37||e.which===38){e.preventDefault() 634subMenuExpanded.find('a:focus').parent().prev().find('a').focus()}else if(e.which===36){e.preventDefault() 635subMenuExpanded.find('li:first-child a').focus()}else if(e.which===35){e.preventDefault() 636subMenuExpanded.find('li:last-child a').focus()}}}else{const focusedEl=menuHasFocus.find('*:focus') 637const nextEl=!focusedEl.next().is('ul.sub-menu')&&focusedEl.next().length>0?focusedEl.next():focusedEl.parent().next().find('> a') 638const firstEl=menuHasFocus.find('li:first-child a')[0] 639let lastEl=menuHasFocus.find('li:last-child button').length>0?menuHasFocus.find('li:last-child button'):menuHasFocus.find('li:last-child a') 640let prevEl=focusedEl.prev() 641prevEl=prevEl.length===0?focusedEl.parent().prev().find('button'):prevEl 642prevEl=prevEl.length===0?focusedEl.parent().prev().find('> a'):prevEl 643if(e.which===40&&buttonExpanded.is(':focus')){e.preventDefault() 644console.log('btn_2') 645focusedEl.next().find('li:first-child a').focus()}else if(e.which===39||(e.which===40&&!buttonExpanded.is(':focus'))){e.preventDefault() 646nextEl.focus()}else if(e.which===37||e.which===38){e.preventDefault() 647prevEl.focus()}else if(e.which===36){e.preventDefault() 648firstEl.focus()}else if(e.which===35){e.preventDefault() 649lastEl.focus()}}}});$(document).keyup(function(e){const menuExpanded=$('.c-menu-burger-container ul.sub-menu:focus-within') 650const menuIsVisible=$('.c-menu-burger-container:visible') 651const buttonExpanded=menuExpanded.parent().find('button') 652if((buttonExpanded.is(':focus')||menuExpanded.length>0)&&e.which===27){buttonExpanded.click() 653buttonExpanded.focus()}else if(menuIsVisible.length>0&&e.which===27){bmenuClosePanel()}}) 654oty_page_nav_scroll(Util.element(bmDom.panelNav)) 655window.addEventListener('resize',()=>{oty_page_nav_scroll(Util.element(bmDom.panelNav))}) 656function bmenuClosePanel(){if(!bmEl.panel.hasClass('is_open')) 657return 658bmEl.panel.removeClass('is_open') 659$(`body > *:not(${bmDom.panel})`).removeAttr('inert') 660bmEl.burgBtnX.focus()} 661function bmenuPanel(){bmEl.burgBtn.click(function(){bmEl.panel.addClass('is_open') 662bmEl.panel.find('a').first().focus() 663$(`body > *:not(${bmDom.panel})`).attr('inert','')}) 664$('.js_c-bmenu__close').click(function(){bmenuClosePanel()})} 665function bmenuChildren(){const menuItemLI=$(bmDom.panel+" .c-menu--burger__ul > .menu-item-has-children") 666menuItemLI.each(function(){const _this=$(this) 667const _id=_this.attr('id') 668const _subMenu=_this.children('.sub-menu') 669_subMenu.attr('id',_id+'_sub-menu') 670_this.find('> a').attr('id',_id+'_label') 671_this.find('> a').after("<button aria-labelledby='"+_id+"_label'"+" aria-controls='"+_id+"_sub-menu'"+" aria-expanded='false' class='icon "+bmDom.iconIsClose+"'></button>") 672if(_this.hasClass('current-menu-item')){_this.attr('aria-current','page')}else if(_this.hasClass('current_page_ancestor')){_this.attr('aria-current','location')}}) 673const checkClass=['current-page-ancestor','current-menu-ancestor','current-menu-parent','current-page-parent','current_page_parent','current_page_ancestor','current_page_item',] 674menuItemLI.each(function(){const _this=$(this) 675let hasClassCheck=!1 676for(let i=0;i<checkClass.length;i++){if(_this.hasClass(checkClass[i])) 677hasClassCheck=!0} 678if(!1==hasClassCheck) 679return 680_toggleDD(_this.children(".icon"),'toggle')}) 681menuItemLI.children(".icon").each(function(){const _this=$(this) 682const _thisLi=$(this).parent() 683_this.click(function(){_toggleDD(_this,'toggle')})}) 684function _toggleDD(thisIcon,type){if(thisIcon.length==0) 685return 686if('toggle'!=type&&'open'!=type&&'close'!=type)return 687if('toggle'==type){thisIcon.parent().toggleClass(bmDom.isOpen) 688thisIcon.siblings('.sub-menu').toggleClass(bmDom.isOpen) 689thisIcon.toggleClass(bmDom.iconIsOpen) 690thisIcon.toggleClass(bmDom.iconIsClose) 691thisIcon.attr('aria-expanded',function(i,attr){return attr==='true'?'false':'true'})} 692if('open'==type){thisIcon.parent().addClass(bmDom.isOpen) 693thisIcon.siblings('.sub-menu').addClass(bmDom.isOpen) 694thisIcon.addClass(bmDom.iconIsOpen) 695thisIcon.removeClass(bmDom.iconIsClose) 696thisIcon.attr('aria-expanded','true')} 697if('close'==type){thisIcon.parent().removeClass(bmDom.isOpen) 698thisIcon.siblings('.sub-menu').removeClass(bmDom.isOpen) 699thisIcon.removeClass(bmDom.iconIsOpen) 700thisIcon.addClass(bmDom.iconIsClose) 701thisIcon.attr('aria-expanded','false')} 702oty_page_nav_scroll(thisIcon.closest('.js_c-bmenu__nav')[0])}} 703oty_a11y_init_localstorage() 704oty_a11y_fontfam() 705oty_a11y_fontsize() 706oty_a11y_letterspacing() 707sliderWordSpacing() 708oty_page_nav_scroll(Util.element('.js_c-a11yp__wrap')) 709window.addEventListener('resize',()=>{oty_page_nav_scroll(Util.element('.js_c-a11yp__wrap'))}) 710const a11y_opt_layout=JSON.parse($('#js_oty_a11y_opt_layout').text()) 711if(!Util.isEmptyObj(a11y_opt_layout)){oty_a11y_reset() 712for(let _key in a11y_opt_layout){if('darkmode'==_key) 713oty_a11y_toggle_layout_opt(_key,()=>
713{const _darkmodecss=$('#darkmodecss').html() 714DarkReader.setFetchMethod(window.fetch) 715DarkReader.enable({mode:1,brightness:100,contrast:100,detectDarkTheme:!1,},{css:_darkmodecss})},()=>{DarkReader.disable()}) 716else oty_a11y_toggle_layout_opt(_key)}} 717function oty_a11y_toggle_panel(){const _dom='#a11yPanel' 718const _panel=$(_dom);_panel.toggleClass('is_open') 719if(_panel.hasClass('is_open')){_panel.find('button').first().focus() 720$(`body > *:not(${_dom})`).attr('inert','')}else{$(`body > *:not(${_dom})`).removeAttr('inert') 721$('.js_c-head').find('.js_c-a11y__panel-btn').focus()} 722_panel.keyup(function(e){if(e.which===27){_panel.removeClass('is_open') 723$('.js_c-head').find('.js_c-a11y__panel-btn').focus() 724$(`body > *:not(${_dom})`).removeAttr('inert')}})} 725function oty_a11y_init_localstorage(){if(localStorage.getItem('a11y')===null){localStorage.setItem('a11y',JSON.stringify({darkmode:DarkReader.isEnabled(),blackwhite:!1,redtransp:window.matchMedia&&window.matchMedia('(prefers-reduced-transparency: reduce)').matches,redmotion:window.matchMedia&&window.matchMedia('(prefers-reduced-motion: reduce)').matches,font:'default',fontsize:'100%',letter_spacing:0,word_spacing:0,}))}} 726function hexToRgb(hex){if(!hex.includes('#')){return} 727let result=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);let r=parseInt(result[1],16),g=parseInt(result[2],16),b=parseInt(result[3],16);return[r,g,b]} 728function getVarRgb(name){let color=getComputedStyle(document.documentElement).getPropertyValue(name);return hexToRgb(color)} 729function getLuminance(values){if(typeof values=='undefined'){return} 730const rgb=values.map((v)=>{const val=v/255;return val<=0.03928?val/12.92:((val+0.055)/1.055)**2.4});return Number((0.2126*rgb[0]+0.7152*rgb[1]+0.0722*rgb[2]).toFixed(3))} 731function getContrastRatio(colorA,colorB){let _tmp=(Math.max(colorA,colorB)+0.05)/(Math.min(colorA,colorB)+0.05);return Math.round(_tmp*100)/100} 732function oty_a11y_toggle_layout_opt(_id,_cbIfChecked,_cbIfUnchecked){if(Util.isEmpty(_id)) 733return 734const _slug=`a11y--${_id}` 735const _input=$(`input#${_slug}`) 736if(Util.isEmpty(_input)) 737return 738if(JSON.parse(localStorage.getItem('a11y'))[_id]){$('html').addClass(_slug) 739_input.click() 740if(typeof _cbIfChecked==='function') 741_cbIfChecked()} 742_input.on('click',function(){let _locStore=JSON.parse(localStorage.getItem('a11y')) 743if($(this).is(':checked')){$('html').addClass(_slug) 744_locStore[_id]=!0;localStorage.setItem('a11y',JSON.stringify(_locStore)) 745if(typeof _cbIfChecked==='function') 746_cbIfChecked()}else{$('html').removeClass(_slug) 747_locStore[_id]=!1;localStorage.setItem('a11y',JSON.stringify(_locStore)) 748if(typeof _cbIfUnchecked==='function') 749_cbIfUnchecked()}});} 750function oty_a11y_fontfam_remove(){const a11y_font_css=JSON.parse($('#js_oty_a11y_font_css').text()) 751if(Util.isEmptyArr(a11y_font_css)) 752return 753let _tmpFontFam='' 754for(const _font of a11y_font_css) 755_tmpFontFam+=`a11y--font-${_font} ` 756$('html').removeClass(_tmpFontFam);} 757function oty_a11y_fontfam(){$('select#a11y_fontfam').on('change',function(){oty_a11y_fontfam_remove() 758let _store=JSON.parse(localStorage.getItem('a11y'));$('html').addClass('a11y--font-'+$(this).val());_store.font=$(this).val();localStorage.setItem('a11y',JSON.stringify(_store));if('ja'==$('html').attr('lang')){const jafonts={mochiyp:'Mochiy Pop P One:400',hachimp:'Hachi Maru Pop:400',ibmplex:'IBM Plex Sans JP:300,400,500,700',zenkaku:'Zen Kaku Gothic New:300,400,500,700',} 759if(jafonts.hasOwnProperty($(this).val())) 760for(let fontk in jafonts) 761if(fontk==$(this).val()){WebFont.load({google:{families:[jafonts[fontk]],}}
761) 762break}}}) 763if(JSON.parse(localStorage.getItem('a11y')).font!=='default'){$('html').addClass(JSON.parse(localStorage.getItem('a11y')).font);$('select#a11y_fontfam').val(JSON.parse(localStorage.getItem('a11y')).font).change()}} 764function oty_a11y_fontsize(){const _css='a11y--fontsize' 765const _inp=$('input#a11y_fontsize') 766_inp.on('change',function(){let _store=JSON.parse(localStorage.getItem('a11y')) 767let value=$(this).val() 768let percent=value+'%';_store.fontsize=percent;localStorage.setItem('a11y',JSON.stringify(_store)) 769document.documentElement.style.setProperty("--a11y-fontsize",percent) 770$(this).attr('aria-valuenow',value) 771$(this).attr('aria-valuetext',percent) 772if(value!==100){$('html').addClass(_css)}else{$('html').removeClass(_css)}}) 773if(JSON.parse(localStorage.getItem('a11y')).fontsize!=='100%'){let _storeFs=JSON.parse(localStorage.getItem('a11y')).fontsize 774if(Util.isEmpty(_storeFs)) 775return 776document.documentElement.style.setProperty("--a11y-fontsize",_storeFs) 777_inp.val(_storeFs.replace('%','')) 778$('html').addClass(_css)}else{$('html').removeClass(_css)}} 779function oty_a11y_letterspacing(){$('input#letter_spacing').on('change',function(){let storage=JSON.parse(localStorage.getItem('a11y'));let value=$(this).val();let percent=Math.floor(value*100/$(this).attr('max'))+'%';storage.letter_spacing=value;localStorage.setItem('a11y',JSON.stringify(storage));document.documentElement.style.setProperty("--letter-spacing-a11y",value+'em');$(this).attr('aria-valuenow',value);$(this).attr('aria-valuetext',percent);if(value!==0){$('html').addClass('letter_spacing_a11y')}else{$('html').removeClass('letter_spacing_a11y')}});if(JSON.parse(localStorage.getItem('a11y')).letter_spacing!==0){let letter_spacing=JSON.parse(localStorage.getItem('a11y')).letter_spacing;document.documentElement.style.setProperty("--letter-spacing-a11y",letter_spacing+'em');$('html').addClass('letter_spacing_a11y');$('input#letter_spacing').val(letter_spacing)}} 780function sliderWordSpacing(){$('input#word_spacing').on('change',function(){let storage=JSON.parse(localStorage.getItem('a11y'));let value=$(this).val();let percent=Math.floor(value*100/$(this).attr('max'))+'%';storage.word_spacing=value;localStorage.setItem('a11y',JSON.stringify(storage));document.documentElement.style.setProperty("--word-spacing-a11y",value+'em');$(this).attr('aria-valuenow',value);$(this).attr('aria-valuetext',percent);if(value!==0){$('html').addClass('word_spacing_a11y')}else{$('html').removeClass('word_spacing_a11y')}});if(JSON.parse(localStorage.getItem('a11y')).word_spacing!==0){let word_spacing=JSON.parse(localStorage.getItem('a11y')).word_spacing;document.documentElement.style.setProperty("--word-spacing-a11y",word_spacing+'em');$('html').addClass('word_spacing_a11y');$('input#word_spacing').val(word_spacing)}} 781function oty_a11y_reset(){$('button#reset_a11y').on('click',function(){const _tmpObjOptL=[] 782let _tmpCssOptL='' 783for(let _key in a11y_opt_layout){_tmpObjOptL[_key]=!1 784_tmpCssOptL+=`a11y--${_key} `} 785localStorage.setItem('a11y',JSON.stringify($.extend({..._tmpObjOptL},{font:'default',fontsize:'100%',letter_spacing:0,word_spacing:0,}))) 786DarkReader.disable();$('html').removeClass(`${_tmpCssOptL} a11y--fontsize letter_spacing_a11y word_spacing_a11y`);oty_a11y_fontfam_remove() 787const _dom='#a11yPanel' 788const _panel=$(_dom);_panel.find('input[type="checkbox"]').prop('checked',!1);_panel.find('select').val('default');_panel.find('input[type="range"]:not(#a11y_fontsize)').val(0);_panel.find('input[type="range"]#a11y_fontsize').val(100)})} 789function slickA11y(){$('.slick-initialized').each(function(){let counter=0;const wrap=$(this);const parent=wrap.parent();const arrows=parent.find('.next, .prev, .js_c-ss-nav__arrow-left, .js_c-ss-arr__prev, .js_c-ss-arr__next, .js_c-ss-nav__arrow-right');const items=wrap.find('.slick-slide:not(.slick-cloned)');const total=items.length;const lang=$('html').attr('lang');const nextStrings={'en-US':'Next','ja':'次ã¸','zh-hans':'ä¸ä¸ç¯','zh-hant':'ä¸ä¸ç¯',};const prevStrings={'en-US':'Previous','ja':'åã¸','zh-hans':'ä¸ä¸ç¯','zh-hant':'ä¸ä¸ç¯',};
789items.each(function(){const _this=$(this);if(!_this.is(':empty')){let iterator=parseInt(_this.attr('data-slick-index'))+1;let labelGroup=iterator+'/'+total;const titleGroup=_this.find('h3').text();if(titleGroup!==''&&titleGroup!==undefined&&titleGroup!==null){const linkGroup=_this.find('a.c-btn--link');const linkGroupLabel=linkGroup.text()+': '+titleGroup;linkGroup.attr('aria-label',linkGroupLabel);labelGroup+=' - '+titleGroup} 790_this.attr('role','group');_this.attr('aria-label',labelGroup);counter++}});if(counter===0){return} 791wrap.append('<span class="sr-only" aria-live="polite"></span>');arrows.on('click',function(){var iterator=parseInt(wrap.find('.slick-current').attr('data-slick-index'))+1;var label=iterator+'/'+total;label+=' - '+wrap.find('.slick-current h3').text();wrap.find('span.sr-only').empty();wrap.find('span.sr-only').text(label)});arrows.each(function(){const _this=$(this) 792_this.attr('role','button');_this.attr('tabindex','0');let label='';if(_this.hasClass('js_c-ss-nav__arrow-left')||_this.hasClass('js_c-ss-arr__prev')||_this.hasClass('prev')){label=prevStrings[lang]}else{label=nextStrings[lang]} 793_this.attr('aria-label',label) 794_this.on('keyup',function(e){if(e.keyCode===32){e.preventDefault();_this.trigger('click')}}) 795_this.on('keydown',function(e){if(e.keyCode===13){e.preventDefault();_this.trigger('click')} 796if(e.keyCode===32){e.preventDefault()}})})})} 797$(window).on('load',function(){slickA11y()});!function(t){"use strict";function n(t,n,i,e){t.beginPath(),t.arc(n,i,e,0,p,!1),t.fill()}function i(t,n,i,e,a){t.beginPath(),t.moveTo(n,i),t.lineTo(e,a),t.stroke()}function e(t,i,e,a,o,r,l,s){var h=Math.cos(i*p),c=Math.sin(i*p);s-=l,n(t,e-c*o,a+h*r+.5*s,l+(1-.5*h)*s)}function a(t,n,i,a,o,r,l,s){var h;for(h=5;h--;)e(t,n+h/5,i,a,o,r,l,s)}function o(t,n,i,e,o,r,l){n/=3e4;var s=.21*o,h=.12*o,c=.24*o,u=.28*o;t.fillStyle=l,a(t,n,i,e,s,h,c,u),t.globalCompositeOperation="destination-out",a(t,n,i,e,s,h,c-r,u-r),t.globalCompositeOperation="source-over"}function r(t,n,e,a,o,r,l){n/=12e4;var s,h,c,u,v=.25*o-.5*r,f=.32*o+.5*r,d=.5*o-.5*r;for(t.strokeStyle=l,t.lineWidth=r,t.lineCap="round",t.lineJoin="round",t.beginPath(),t.arc(e,a,v,0,p,!1),t.stroke(),s=8;s--;)h=(n+s/8)*p,c=Math.cos(h),u=Math.sin(h),i(t,e+c*f,a+u*f,e+c*d,a+u*d)}function l(t,n,i,e,a,o,r){n/=15e3;var l=.29*a-.5*o,s=.05*a,h=Math.cos(n*p),c=h*p/-16;t.strokeStyle=r,t.lineWidth=o,t.lineCap="round",t.lineJoin="round",i+=h*s,t.beginPath(),t.arc(i,e,l,c+p/8,c+7*p/8,!1),t.arc(i+Math.cos(c)*l*w,e+Math.sin(c)*l*w,l,c+5*p/8,c+3*p/8,!0),t.closePath(),t.stroke()}function s(t,n,i,e,a,o,r){n/=1350;var l,s,h,c,u=.16*a,v=11*p/12,f=7*p/12;for(t.fillStyle=r,l=4;l--;)s=(n+l/4)%1,h=i+(l-1.5)/1.5*(1===l||2===l?-1:1)*u,c=e+s*s*a,t.beginPath(),t.moveTo(h,c-1.5*o),t.arc(h,c,.75*o,v,f,!1),t.fill()}function h(t,n,e,a,o,r,l){n/=750;var s,h,c,u,v=.1875*o;for(t.strokeStyle=l,t.lineWidth=.5*r,t.lineCap="round",t.lineJoin="round",s=4;s--;)h=(n+s/4)%1,c=Math.floor(e+(s-1.5)/1.5*(1===s||2===s?-1:1)*v)+.5,u=a+h*o,i(t,c,u-1.5*r,c,u+1.5*r)}function c(t,n,e,a,o,r,l){n/=3e3;var s,h,c,u,v=.16*o,f=.75*r,d=n*p*.7,m=Math.cos(d)*f,g=Math.sin(d)*f,M=d+p/3,w=Math.cos(M)*f,C=Math.sin(M)*f,y=d+2*p/3,b=Math.cos(y)*f,k=Math.sin(y)*f;for(t.strokeStyle=l,t.lineWidth=.5*r,t.lineCap="round",t.lineJoin="round",s=4;s--;)h=(n+s/4)%1,c=e+Math.sin((h+s/4)*p)*v,u=a+h*o,i(t,c-m,u-g,c+m,u+g),i(t,c-w,u-C,c+w,u+C),i(t,c-b,u-k,c+b,u+k)}function u(t,n,i,e,o,r,l){n/=3e4;var s=.21*o,h=.06*o,c=.21*o,u=.28*o;t.fillStyle=l,a(t,n,i,e,s,h,c,u),t.globalCompositeOperation="destination-out",a(t,n,i,e,s,h,c-r,u-r),t.globalCompositeOperation="source-over"}function v(t,n,i,e,a,o,r){var l=a/8,s=l/3,h=2*s,c=n%1*p,u=Math.cos(c),v=Math.sin(c);t.fillStyle=r,t.strokeStyle=r,t.lineWidth=o,t.lineCap="round",t.lineJoin="round",t.beginPath(),t.arc(i,e,l,c,c+Math.PI,!1),t.arc(i-s*u,e-s*v,h,c+Math.PI,c,!1),t.arc(i+h*u,e+h*v,s,c+Math.PI,c,!0),t.globalCompositeOperation="destination-out",t.fill(),t.globalCompositeOperation="source-over",t.stroke()}function f(t,n,i,e,a,o,r,l,s){n/=2500;var h,c,u,f,d=C[r],m=(n+r-y[r].start)%l,g=(n+r-y[r].end)%l,M=(n+r)%l;if(t.strokeStyle=s,t.lineWidth=o,t.lineCap="round",t.lineJoin="round",1>m){if(t.beginPath(),m*=d.length/2-1,h=Math.floor(m),m-=h,h*=2,h+=2,t.moveTo(i+(d[h-2]*(1-m)+d[h]*m)*a,e+(d[h-1]*(1-m)+d[h+1]*m)*a),1>g){for(g*=d.length/2-1,c=Math.floor(g),g-=c,c*=2,c+=2,f=h;f!==c;f+=2)t.lineTo(i+d[f]*a,e+d[f+1]*a);t.lineTo(i+(d[c-2]*(1-g)+d[c]*g)*a,e+(d[c-1]*(1-g)+d[c+1]*g)*a)}else for(f=h;f!==d.length;f+=2)t.lineTo(i+d[f]*a,e+d[f+1]*a);t.stroke()}else if(1>g){for(t.beginPath(),g*=d.length/2-1,c=Math.floor(g),g-=c,c*=2,c+=2,t.moveTo(i+d[0]*a,e+d[1]*a),f=2;f!==c;f+=2)t.lineTo(i+d[f]*a,e+d[f+1]*a);t.lineTo(i+(d[c-2]*(1-g)+d[c]*g)*a,e+(d[c-1]*(1-g)+d[c+1]*g)*a),t.stroke()}1>M&&(M*=d.length/2-1,u=Math.floor(M),M-=u,u*=2,u+=2,v(t,n,i+(d[u-2]*(1-M)+d[u]*M)*a,e+(d[u-1]*(1-M)+d[u+1]*M)*a,a,o,s))}var d,m;!function(){var n=t.requestAnimationFrame||t.webkitRequestAnimationFrame||t.mozRequestAnimationFrame||t.oRequestAnimationFrame||t.msRequestAnimationFrame,i=t.cancelAnimationFrame||t.webkitCancelAnimationFrame||t.mozCancelAnimationFrame||t.oCancelAnimationFrame||t.msCancelAnimationFrame;n&&i?(d=function(t){function i(){e.value=n(i),t()}var e={value:null};return i(),e},m=function(t){i(t.value)}):(d=setInterval,m=clearInterval)}();var g=500,M=.08,p=2*Math.PI,w=2/Math.sqrt(2),C=[[-.75,-.18,-.7219,-.1527,-.6971,-.1225,-.6739,-.091,-.6516,-.0588,-.6298,-.0262,-.6083,.0065,-.5868,.0396,-.5643,.0731,-.5372,.1041,-.5033,.1259,-.4662,.1406,-.4275,.1493,-.3881,.153,-.3487,.1526,-.3095,.1488,-.2708,.1421,-.2319,.1342,-.1943,.1217,-.16,.1025,-.129,.0785,-.1012,.0509,-.0764,.0206,-.0547,-.012,-.0378,
797-.0472,-.0324,-.0857,-.0389,-.1241,-.0546,-.1599,-.0814,-.1876,-.1193,-.1964,-.1582,-.1935,-.1931,-.1769,-.2157,-.1453,-.229,-.1085,-.2327,-.0697,-.224,-.0317,-.2064,.0033,-.1853,.0362,-.1613,.0672,-.135,.0961,-.1051,.1213,-.0706,.1397,-.0332,.1512,.0053,.158,.0442,.1624,.0833,.1636,.1224,.1615,.1613,.1565,.1999,.15,.2378,.1402,.2749,.1279,.3118,.1147,.3487,.1015,.3858,.0892,.4236,.0787,.4621,.0715,.5012,.0702,.5398,.0766,.5768,.089,.6123,.1055,.6466,.1244,.6805,.144,.7147,.163,.75,.18],[-.75,0,-.7033,.0195,-.6569,.0399,-.6104,.06,-.5634,.0789,-.5155,.0954,-.4667,.1089,-.4174,.1206,-.3676,.1299,-.3174,.1365,-.2669,.1398,-.2162,.1391,-.1658,.1347,-.1157,.1271,-.0661,.1169,-.017,.1046,.0316,.0903,.0791,.0728,.1259,.0534,.1723,.0331,.2188,.0129,.2656,-.0064,.3122,-.0263,.3586,-.0466,.4052,-.0665,.4525,-.0847,.5007,-.1002,.5497,-.113,.5991,-.124,.6491,-.1325,.6994,-.138,.75,-.14]],y=[{start:.36,end:.11},{start:.56,end:.16}],b=function(t){this.list=[],this.interval=null,this.color=t&&t.color?t.color:"black",this.resizeClear=!(!t||!t.resizeClear)};b.CLEAR_DAY=function(t,n,i){var e=t.canvas.width,a=t.canvas.height,o=Math.min(e,a);r(t,n,.5*e,.5*a,o,o*M,i)},b.CLEAR_NIGHT=function(t,n,i){var e=t.canvas.width,a=t.canvas.height,o=Math.min(e,a);l(t,n,.5*e,.5*a,o,o*M,i)},b.PARTLY_CLOUDY_DAY=function(t,n,i){var e=t.canvas.width,a=t.canvas.height,l=Math.min(e,a);r(t,n,.625*e,.375*a,.75*l,l*M,i),o(t,n,.375*e,.625*a,.75*l,l*M,i)},b.PARTLY_CLOUDY_NIGHT=function(t,n,i){var e=t.canvas.width,a=t.canvas.height,r=Math.min(e,a);l(t,n,.667*e,.375*a,.75*r,r*M,i),o(t,n,.375*e,.625*a,.75*r,r*M,i)},b.CLOUDY=function(t,n,i){var e=t.canvas.width,a=t.canvas.height,r=Math.min(e,a);o(t,n,.5*e,.5*a,r,r*M,i)},b.RAIN=function(t,n,i){var e=t.canvas.width,a=t.canvas.height,r=Math.min(e,a);s(t,n,.5*e,.37*a,.9*r,r*M,i),o(t,n,.5*e,.37*a,.9*r,r*M,i)},b.SLEET=function(t,n,i){var e=t.canvas.width,a=t.canvas.height,r=Math.min(e,a);h(t,n,.5*e,.37*a,.9*r,r*M,i),o(t,n,.5*e,.37*a,.9*r,r*M,i)},b.SNOW=function(t,n,i){var e=t.canvas.width,a=t.canvas.height,r=Math.min(e,a);c(t,n,.5*e,.37*a,.9*r,r*M,i),o(t,n,.5*e,.37*a,.9*r,r*M,i)},b.WIND=function(t,n,i){var e=t.canvas.width,a=t.canvas.height,o=Math.min(e,a);f(t,n,.5*e,.5*a,o,o*M,0,2,i),f(t,n,.5*e,.5*a,o,o*M,1,2,i)},b.FOG=function(t,n,e){var a=t.canvas.width,o=t.canvas.height,r=Math.min(a,o),l=r*M;u(t,n,.5*a,.32*o,.75*r,l,e),n/=5e3;var s=Math.cos(n*p)*r*.02,h=Math.cos((n+.25)*p)*r*.02,c=Math.cos((n+.5)*p)*r*.02,v=Math.cos((n+.75)*p)*r*.02,f=.936*o,d=Math.floor(f-.5*l)+.5,m=Math.floor(f-2.5*l)+.5;t.strokeStyle=e,t.lineWidth=l,t.lineCap="round",t.lineJoin="round",i(t,s+.2*a+.5*l,d,h+.8*a-.5*l,d),i(t,c+.2*a+.5*l,m,v+.8*a-.5*l,m)},b.prototype={_determineDrawingFunction:function(t){return"string"==typeof t?(t=t.toUpperCase().replace(/-/g,"_"),b.hasOwnProperty(t)?b[t]:null):void 0},add:function(t,n){var i;"string"==typeof t&&(t=document.getElementById(t)),null!==t&&(n=this._determineDrawingFunction(n),"function"==typeof n&&(i={element:t,context:t.getContext("2d"),drawing:n},this.list.push(i),this.draw(i,g)))},set:function(t,n){var i;for("string"==typeof t&&(t=document.getElementById(t)),i=this.list.length;i--;)if(this.list[i].element===t)return this.list[i].drawing=this._determineDrawingFunction(n),void this.draw(this.list[i],g);this.add(t,n)},remove:function(t){var n;for("string"==typeof t&&(t=document.getElementById(t)),n=this.list.length;n--;)if(this.list[n].element===t)return void this.list.splice(n,1)},draw:function(t,n){var i=t.context.canvas;this.resizeClear?i.width=i.width:t.context.clearRect(0,0,i.width,i.height),t.drawing(t.context,n,this.color)},play:function(){var t=this;this.pause(),this.interval=d(function(){var n,i=Date.now();for(n=t.list.length;n--;)t.draw(t.list[n],i)},1e3/60)},pause:function(){this.interval&&(m(this.interval),this.interval=null)}},t.Skycons=b}(this);oty_weather_init() 798function oty_weather_init(){if(typeof oty_weather===typeof undefined||oty_weather===!1||Util.isEmptyObj(oty_weather)||!oty_weather.hasOwnProperty('url')||!oty_weather.hasOwnProperty('lang'))return 799function _get_percentage(partialValue,totalValue){return(100*partialValue)/totalValue} 800let initWeatherOnce=!0 801_beforeInitWeather() 802window.addEventListener('scroll',()=>{_beforeInitWeather()}) 803function _beforeInitWeather(){if(!1==initWeatherOnce) 804return 805if(_get_percentage($(window).height(),$(document).height())>80||$(window).scrollTop()>=($(document).height()-$(window).height())*0.7)_initWeather()} 806function _initWeather(){initWeatherOnce=!1 807var ajax=new XMLHttpRequest();ajax.onload=weather_ajax_call;ajax.onerror=ajax_error;ajax.open("GET",oty_weather.url,!0);ajax.send()} 808function weather_ajax_call(){if(this.status==200){var data=JSON.parse(this.responseText);var today=new Date(data.currently.time*1000);var isIE11=!!window.MSInputMethodContext&&!!document.documentMode;var timezone=isIE11?'UTC':data.timezone;data.date=today.toLocaleDateString(oty_weather.lang,{year:'numeric',month:'short',day:'numeric',timeZone:timezone}) 809data.time=new Date(today).toLocaleTimeString([],{hour:'2-digit',minute:'2-digit',timeZone:timezone})+(isIE11?' UTC':'');data.temperature=Math.trunc(data.currently.temperature);data.summary=data.currently.summary;data.apparentTemperature=Math.trunc(data.currently.apparentTemperature);data.temperatureMin=Math.trunc(data.daily.data[0].temperatureMin);data.temperatureMax=Math.trunc(data.daily.data[0].temperatureMax);const mustacheRender=Mustache.render($('#footer-weather').text(),data);$('#render_footer_weather_here').html(mustacheRender);const isEnabled=DarkReader.isEnabled() 810const skyColor=isEnabled?{"color":"#fff"}:{"color":"#000"} 811var skycons=new Skycons(skyColor);skycons.add("footer__weather-icon",data.currently.icon);skycons.play()}else{console.error('Error with Weather',oty_weather)}} 812function ajax_error(e){console.log(this);console.error(e)}} 813oty_room_init() 814oty_room_vfp() 815oty_room_nav() 816oty_room_amen() 817oty_din_nav() 818function oty_room_init(){const DOM={room:".js_c-room",ancr:".js_c-room__anchor",anav:".js_c-room__anchor-nav",more:".js_c-room__more-link",less:".js_c-room__less-link",box:".js_c-room__more",} 819const x={room:$(DOM.room),} 820$.extend(x,{more:x.room.find(DOM.more),}) 821if(!1==Util.isElementsValid({object:x})) 822return 823x.room.each(function(){const _more=$(this).find(DOM.more) 824const _ancr=$(this).find(DOM.ancr) 825const _anav=$(this).find(DOM.anav) 826const _less=$(this).find(DOM.less) 827const _box=$(this).find(DOM.box) 828const _tless=_more.attr('data-txt-less') 829const _tmore=_more.attr('data-txt-more') 830function _toggle(){const _txt=_more.find('.c-btn__txt') 831if(_more.hasClass('is_less')){_ancr[0].scrollIntoView({behavior:'smooth'})}else{_anav[0].scrollIntoView({behavior:'smooth'})} 832_box.toggle("fast",function(){if(_more.hasClass('is_less')){_more.removeClass('is_less') 833_txt.text(_tmore)}else{_more.addClass('is_less') 834_txt.text(_tless)}})} 835_more.click(_toggle) 836_less.click(_toggle)})} 837function oty_room_vfp(){const DOM={rr:".js_c-room__r",rimg:".js_c-room__rimg",rvfp:".js_c-room__rvfp",} 838const x={rr:$(DOM.rr),} 839$.extend(x,{rimg:x.rr.find(DOM.rimg),rvfp:x.rr.find(DOM.rvfp),}) 840if(!1==Util.isElementsValid({object:x})) 841return 842x.rr.each(function(){const _rimg=$(this).find(DOM.rimg) 843const _rvfp=$(this).find(DOM.rvfp) 844if(Util.isEmpty(_rimg)&&Util.isEmpty(_rvfp))return 845const _pswp=$('.pswp')[0];_rimg.on('click',_onClick) 846_rvfp.on('click',_onClick) 847let _lightbox=new PhotoSwipeLightbox({dataSource:_getItems(),showHideAnimationType:'none',pswpModule:PhotoSwipe,}) 848_lightbox.init() 849function _getItems(){let tmpItems=[];_rimg.each(function(){const _this=$(this) 850if(!_this.attr('data-pswp-size')) 851return!0 852let tmpSize=_this.attr('data-pswp-size').split('x') 853let tmpItem={src:_this.attr('data-pswp-src'),w:tmpSize[0],h:tmpSize[1],title:_this.find('.js_c-pwsp').html(),} 854tmpItems.push(tmpItem)}) 855return tmpItems} 856function _onClick(event){event.preventDefault();_lightbox.loadAndOpen(0)}})} 857function oty_room_nav(){const DOM={nav:".js_c-rnav",nancr:".js_c-rnav__anchor",li:".js_c-rnav__li",rancr:".js_c-room__anchor",} 858const x={nav:$(DOM.nav),} 859$.extend(x,{nancr:x.nav.find(DOM.nancr),}) 860if(!1==Util.isElementsValid({object:x})) 861return 862const _clone=x.nav.clone() 863_clone.addClass('is_floating-nav') 864_clone.appendTo($('body')) 865x.nav=$(DOM.nav) 866x.rancr=$(DOM.rancr) 867window.addEventListener("scroll",(event)=>{const _cscroll=$(document).scrollTop() 868if(_cscroll>x.nancr.offset().top) 869document.body.classList.add('has_subnav') 870else document.body.classList.remove('has_subnav') 871if(_cscroll>$('.js_c-rooms__end').offset().top) 872document.body.classList.add('has_normbg') 873else document.body.classList.remove('has_normbg') 874let _roomId 875const _rev=x.rancr.get().reverse() 876$.each(_rev,function(k,v){x.nav.find(`${DOM.li}[data-id]`).removeClass('is_active') 877if(_cscroll>($(this).offset().top-100)){_roomId=$(this).attr('id') 878return!1}}) 879const _lid=`${DOM.li}[data-id=${_roomId}]` 880const _lix=x.nav.find(_lid) 881_lix.addClass('is_active')}) 882window.addEventListener("scroll",(event)=>{if($('body').hasClass('has_subnav')||!Util.isMobile()) 883return 884const _wrapxxx=x.nav.find('.js_c-rnav__wrap') 885_wrapxxx.each(function(){const _first=$(this).find(`${DOM.li}[data-id]:first-child`) 886$(this).scrollLeft(_first.position().left-50)})}) 887x.nav.each(function(){const _nav=$(this) 888const _domli=`${DOM.li}[data-id]` 889const _wrap=x.nav.find('.js_c-rnav__wrap') 890const _li=_nav.find(_domli) 891_li.on('click',function(){const _thix=$(this) 892if(Util.isMobile()){_wrap.each(function(){$(this).animate({scrollLeft:_thix.position().left-50},'fast')})} 893const _id=_thix.attr('data-id') 894const _idEl=$('body').find('#'+_id) 895_idEl[0].scrollIntoView({behavior:'smooth'})}) 896const left=_nav.find('.js_c-rnav__arr--left') 897const right=_nav.find('.js_c-rnav__arr--right') 898right.on('click',function(){event.preventDefault();const _actn=_nav.find(`${_domli}.is_active`).next() 899_li.removeClass('is_active') 900_actn.addClass('is_active');const _in=_actn.attr('data-index') 901let _id 902if(Util.isEmpty(_in)){const _first=_nav.find(`${_domli}:first-child`) 903_id=_first.attr('data-id') 904_wrap.each(function(){$(this).animate({scrollLeft:_first.position().left-50},'fast')})}else{_id=_actn.attr('data-id') 905_wrap.each(function(){$(this).animate({scrollLeft:_actn.position().left-50},'fast')})} 906const _idEl=$('body').find('#'+_id) 907_idEl[0].scrollIntoView({behavior:'smooth'})}) 908left.on('click',function(){event.preventDefault();const _actp=_nav.find(`${_domli}.is_active`).prev() 909_li.removeClass('is_active') 910_actp.addClass('is_active');const _in=_actp.attr('data-index') 911let _id 912if(Util.isEmpty(_in)){const _last=_nav.find(`${_domli}:last-child`) 913_id=_last.attr('data-id') 914_wrap.each(function(){$(this).animate({scrollLeft:_last.position().left-50},'fast')})}else{_id=_actp.attr('data-id') 915_wrap.each(function(){$(this).animate({scrollLeft:_actp.position().left-50},'fast')})} 916const _idEl=$('body').find('#'+_id) 917_idEl[0].scrollIntoView({behavior:'smooth'})})})} 918function oty_din_nav(){const DOM={nav:".js_c-din",nancr:".js_c-din__anchor",li:".js_c-din__li",navw:".js_c-din__wrap",navl:".js_c-din__arr--left",navr:".js_c-din__arr--right",} 919const x={nav:$(DOM.nav),} 920$.extend(x,{nancr:x.nav.find(DOM.nancr),rancr:$('.js_seci').find('.js_seci-anchor'),}) 921if(!1==Util.isElementsValid({object:x})) 922return 923const _clone=x.nav.clone() 924_clone.addClass('is_floating-nav') 925_clone.appendTo($('body')) 926x.nav=$(DOM.nav) 927window.addEventListener("scroll",(event)=>{const _cscroll=$(document).scrollTop() 928if(_cscroll>x.nancr.offset().top) 929document.body.classList.add('has_subnav') 930else document.body.classList.remove('has_subnav') 931let _roomId 932const _rev=x.rancr.get().reverse() 933$.each(_rev,function(k,v){x.nav.find(`${DOM.li}[data-id]`).removeClass('is_active') 934if(_cscroll>($(this).offset().top-100)){_roomId=$(this).attr('id') 935return!1}}) 936const _lid=`${DOM.li}[data-id=${_roomId}]` 937const _lix=x.nav.find(_lid) 938_lix.addClass('is_active')}) 939window.addEventListener("scroll",(event)=>{if($('body').hasClass('has_subnav')||!Util.isMobile()) 940return 941const _wrapxxx=x.nav.find(DOM.navw) 942_wrapxxx.each(function(){const _first=$(this).find(`${DOM.li}[data-id]:first-child`) 943$(this).scrollLeft(_first.position().left-50)})}) 944x.nav.each(function(){const _nav=$(this) 945const _domli=`${DOM.li}[data-id]` 946const _wrap=x.nav.find(DOM.navw) 947const _li=_nav.find(_domli) 948_li.on('click',function(){const _thix=$(this) 949if(Util.isMobile()){_wrap.each(function(){$(this).animate({scrollLeft:_thix.position().left-50},'fast')})} 950const _id=_thix.attr('data-id') 951const _idEl=$('body').find('#'+_id) 952_idEl[0].scrollIntoView({behavior:'smooth'})}) 953const left=_nav.find(DOM.navl) 954const right=_nav.find(DOM.navr) 955right.on('click',function(){event.preventDefault();const _actn=_nav.find(`${_domli}.is_active`).next() 956_li.removeClass('is_active') 957_actn.addClass('is_active');const _in=_actn.attr('data-index') 958let _id 959if(Util.isEmpty(_in)){const _first=_nav.find(`${_domli}:first-child`) 960_id=_first.attr('data-id') 961_wrap.each(function(){$(this).animate({scrollLeft:_first.position().left-50},'fast')})}else{_id=_actn.attr('data-id') 962_wrap.each(function(){$(this).animate({scrollLeft:_actn.position().left-50},'fast')})} 963const _idEl=$('body').find('#'+_id) 964_idEl[0].scrollIntoView({behavior:'smooth'})}) 965left.on('click',function(){event.preventDefault();const _actp=_nav.find(`${_domli}.is_active`).prev() 966_li.removeClass('is_active') 967_actp.addClass('is_active');const _in=_actp.attr('data-index') 968let _id 969if(Util.isEmpty(_in)){const _last=_nav.find(`${_domli}:last-child`) 970_id=_last.attr('data-id') 971_wrap.each(function(){$(this).animate({scrollLeft:_last.position().left-50},'fast')})}else{_id=_actp.attr('data-id') 972_wrap.each(function(){$(this).animate({scrollLeft:_actp.position().left-50},'fast')})} 973const _idEl=$('body').find('#'+_id) 974_idEl[0].scrollIntoView({behavior:'smooth'})})})} 975function oty_room_amen(){const DOM={main:".js_c-ramen",more:".js_c-ramen__more",row:".js_c-ramen__arow",anc:".js_c-ramen__anc",} 976const x={main:$(DOM.main),} 977$.extend(x,{more:x.main.find(DOM.more),row:x.main.find(DOM.row),anc:x.main.find(DOM.anc),}) 978if(!1==Util.isElementsValid({object:x})) 979return 980const _moretxt=x.more.find('.c-btn__txt').text() 981x.more.on('click',function(){event.preventDefault();const _this=$(this) 982const _txt=_this.find('.c-btn__txt') 983const _less=_this.attr('data-txt-less') 984if(_this.hasClass('is_less')){_this.removeClass('is_less') 985_txt.text(_moretxt) 986x.anc[0].scrollIntoView({behavior:'smooth'})}else{_this.addClass('is_less') 987_txt.text(_less)} 988x.row.slice(1).toggle('fast')})} 989otyHomeSaberSfrom() 990function oty_format_number(num){return parseInt(num).toString().replace(/\B(?=(\d{3})+(?!\d))/g,',')} 991function escapeRegExp(str){return str.replace(/[.*+?^${}()|[\]\\]/g,'\\$&')} 992function replaceAll(str,find,replace){return str.replace(new RegExp(escapeRegExp(find),'g'),replace)} 993function otyHomeSaberSfrom(){const _dataEl=$('#js_saber-from-data') 994if(Util.isEmpty(_dataEl)) 995return 996const _saber=JSON.parse(_dataEl.text()) 997if(Util.isEmptyObj(_saber)) 998return 999$.ajax({url:_saber.url+'wp-admin/admin-ajax.php',headers:{'Content-Type':'application/json; charset=UTF-8'},data:{'action':'oty_get_saber_price_ajax','sabre_id':_saber.id,'checkin':'','checkout':''},success:function(res){if(Util.isEmptyArr(res)||Util.isEmptyObj(res[0])) 1000return;let _show=replaceAll(_saber.fmt,"{{price}}",oty_format_number(res[0].rate)) 1001_show=replaceAll(_show,"{{currency}}",res[0].currency) 1002$('.js_saber-from-el').text(_show)},error:function(err){console.warn('homeSaberSfrom ajax error',err) 1003return}})} 1004const oty_grid_filter={init(){this.categoryButtons=document.querySelectorAll('.js_c-box-grid__cat') 1005this.categorySelect=document.getElementById('c-box-grid__cats-sel') 1006this.propertySelect=document.getElementById('c-box-grid__props-sel') 1007this.activityItems=document.querySelectorAll('.js_c-box-grid__item') 1008if(Util.isEmptyArr(this.categoryButtons)||Util.isEmptyArr(this.categorySelect)||Util.isEmptyArr(this.propertySelect)||Util.isEmptyArr(this.activityItems))return 1009this.currentCategory='all';this.currentProperty='both';this.animationDuration=300;this.bindEvents()},bindEvents(){this.categoryButtons.forEach(button=>{button.addEventListener('click',(e)=>{this.categoryButtons.forEach(btn=>btn.classList.remove('active'));e.target.classList.add('active');this.currentCategory=e.target.id;this.filteractivities()})});if(this.categorySelect){this.categorySelect.addEventListener('change',(e)=>{this.curre
1009ntCategory=e.target.value;this.categoryButtons.forEach(btn=>{btn.classList.toggle('active',btn.id===this.currentCategory)});this.filteractivities()})} 1010this.propertySelect.addEventListener('change',(e)=>{this.currentProperty=e.target.value;this.filteractivities()})},async filteractivities(){this.activityItems.forEach(item=>{item.classList.add('fade-out')});await new Promise(resolve=>setTimeout(resolve,this.animationDuration));this.activityItems.forEach(item=>{const shouldShow=this.shouldShowActivity(item);if(shouldShow){item.classList.remove('d-none');setTimeout(()=>{item.classList.remove('fade-out')},50)}else{item.classList.add('d-none')}})},shouldShowActivity(activityItem){if(this.currentCategory==='all'){return this.matchesProperty(activityItem)} 1011return this.matchesCategory(activityItem)&&this.matchesProperty(activityItem)},matchesCategory(activityItem){return activityItem.classList.contains(this.currentCategory)},matchesProperty(activityItem){if(this.currentProperty==='both'){return!0} 1012return activityItem.classList.contains(this.currentProperty)||activityItem.classList.contains('both')}} 1013oty_grid_filter.init()
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.