{"version":3,"sources":["jquery.blockUI.js","masonry.pkgd.js","markerclustererplus.min.js","root.js","common.js","functions.js","main.js","yt-videos-horizontal.js","flight-times.js","picker-custom.js","search-external.js","search-custom.js","gdpr.js"],"names":["setup","$","fn","_fadeIn","fadeIn","noOp","noop","msie","test","navigator","userAgent","ie6","setExpr","document","documentMode","isFunction","createElement","style","setExpression","blockUI","opts","install","window","unblockUI","remove","growlUI","title","message","timeout","onClose","$m","append","undefined","callBlock","fadeOut","centerY","showOverlay","onUnblock","css","defaults","growlCSS","mouseover","displayBlock","stop","fadeTo","mouseout","block","this","fullOpts","extend","each","$el","ignoreIfBlocked","data","unblock","position","zoom","version","draggable","theme","padding","margin","width","top","left","textAlign","color","border","backgroundColor","cursor","themedCSS","overlayCSS","opacity","cursorReset","right","iframeSrc","location","href","forceIframe","baseZ","centerX","allowBodyStretch","bindEvents","constrainTabKey","focusInput","focusableElements","onBlock","onOverlayClick","quirksmodeOffsetHack","blockMsgClass","pageBlock","pageBlockEls","el","full","msg","parentNode","jquery","node","parent","display","removeChild","lyr1","lyr2","lyr3","s","z","addClass","layers","$par","appendTo","handle","cancel","expr","support","boxModel","length","t","sz","l","fixT","fixL","i","o","marginTop","expression","parseInt","find","nodeType","show","cb","cb1","cb2","bind","setTimeout","focus","x","y","p","offsetWidth","offsetHeight","center","to","count","els","clearTimeout","removeData","children","filter","add","reset","appendChild","body","w","cssW","b","events","handler","unbind","e","type","keyCode","fwd","shiftKey","target","back","hasClass","parents","define","amd","jQuery","factory","module","exports","require","jQueryBridget","arraySlice","Array","prototype","slice","console","logError","error","namespace","PluginClass","option","isPlainObject","options","arg0","$elems","methodName","args","returnValue","pluginMethodStr","elem","instance","method","charAt","value","apply","methodCall","call","arguments","_init","updateJQuery","bridget","global","EvEmitter","proto","on","eventName","listener","_events","listeners","indexOf","push","once","onceEvents","_onceEvents","off","index","splice","emitEvent","onceListeners","allOff","getSize","getStyleSize","num","parseFloat","isNaN","measurements","measurementsLength","getStyle","getComputedStyle","isBoxSizeOuter","isSetup","div","borderStyle","borderWidth","boxSizing","documentElement","Math","round","querySelector","size","height","innerWidth","innerHeight","outerWidth","outerHeight","getZeroSize","isBorderBox","measurement","paddingWidth","paddingLeft","paddingRight","paddingHeight","paddingTop","paddingBottom","marginWidth","marginLeft","marginRight","marginHeight","marginBottom","borderLeftWidth","borderRightWidth","borderHeight","borderTopWidth","borderBottomWidth","isBorderBoxSizeOuter","styleWidth","styleHeight","matchesSelector","matchesMethod","ElemProto","Element","matches","prefixes","selector","fizzyUIUtils","utils","a","prop","makeArray","obj","isArray","removeFrom","ary","getParent","getQueryElement","handleEvent","event","filterFindElements","elems","ffElems","forEach","HTMLElement","childElems","querySelectorAll","debounceMethod","_class","threshold","timeoutName","_this","docReady","callback","readyState","addEventListener","toDashed","str","replace","match","$1","$2","toLowerCase","htmlInit","WidgetClass","dashedNamespace","dataAttr","dataAttrElems","jsDashElems","concat","dataOptionsAttr","attr","getAttribute","JSON","parse","className","Outlayer","Item","docElemStyle","transitionProperty","transition","transformProperty","transform","transitionEndEvent","WebkitTransition","vendorProperties","transitionDuration","transitionDelay","element","layout","_create","Object","create","constructor","_transn","ingProperties","clean","onEnd","elemStyle","getPosition","isOriginLeft","_getOption","isOriginTop","xValue","yValue","layoutSize","layoutPosition","xPadding","xProperty","xResetProperty","getXValue","yPadding","yProperty","yResetProperty","getYValue","isHorizontal","percentPosition","_transitionTo","curX","curY","didNotMove","setPosition","isTransitioning","transX","transY","transitionStyle","getTranslate","onTransitionEnd","isCleaning","goTo","moveTo","_nonTransition","_removeStyles","_transition","from","enableTransition","transitionProps","duration","staggerDelay","onwebkitTransitionEnd","ontransitionend","onotransitionend","dashedVendorProperties","propertyName","isEmptyObj","disableTransition","removeTransitionStyles","removeEventListener","cleanStyle","cleanTransitionStyle","stagger","delay","removeElem","hide","reveal","isHidden","getHideRevealTransitionEndProperty","onRevealTransitionEnd","hiddenStyle","visibleStyle","styleProperty","optionStyle","onHideTransitionEnd","destroy","bottom","GUID","instances","queryElement","$element","id","outlayerGUID","containerStyle","initLayout","originLeft","originTop","resize","resizeContainer","subclass","Parent","SubClass","oldOption","compatOptions","horizontal","layoutInstant","reloadItems","stamps","stamp","bindResize","items","_itemize","itemElems","_filterFindItemElements","item","itemSelector","getItemElements","map","_resetLayout","_manageStamps","isInstant","_isLayoutInited","layoutItems","_getMeasurement","_getItemsForLayout","_layoutItems","_postLayout","isIgnored","_emitCompleteOnItems","queue","_getItemLayoutPosition","isLayoutInstant","_processLayoutQueue","updateStagger","_positionItem","time","unit","mult","msUnits","getMilliseconds","_getContainerSize","_setContainerMeasure","measure","isWidth","elemSize","max","onComplete","dispatchEvent","doneCount","tick","emitArgs","$event","Event","trigger","ignore","getItem","unignore","_find","unstamp","_getBoundingRect","_manageStamp","boundingRect","getBoundingClientRect","_boundingRect","_getElementOffset","thisRect","isResizeBound","unbindResize","onresize","needsResizeLayout","addItems","appended","prepended","previousItems","revealItemElements","getItems","hideItemElements","removeItems","Layout","ms","Masonry","fitWidth","measureColumns","colYs","cols","maxY","horizontalColIndex","getContainerWidth","columnWidth","firstItem","firstItemElem","containerWidth","gutter","excess","container","remainder","colSpan","min","colPosition","horizontalOrder","col","setHeight","setMax","_getTopColPosition","colGroup","_getTopColGroup","minimumY","groupCount","_getColGroupY","groupColYs","_getHorizontalColPosition","hasSize","stampSize","offset","firstX","lastX","firstCol","floor","lastCol","stampMaxY","_getContainerFitWidth","unusedCols","previousWidth","MarkerClusterer","TypeError","enumerable","configurable","writable","defineProperty","key","r","n","setPrototypeOf","getPrototypeOf","__proto__","ReferenceError","google","maps","OverlayView","u","cluster_","styles_","className_","getMarkerClusterer","getClusterClass","center_","div_","sums_","visible_","setMap","getMap","Symbol","iterator","toString","next","done","return","split","getPanes","overlayMouseTarget","boundsChangedListener_","addListener","addDomListener","stopPropagation","getZoomOnClick","getMaxZoom","getBounds","fitBounds","getZoom","setZoom","cancelBubble","removeListener","clearInstanceListeners","getPosFromLatLng_","ariaLabelFn","text","backgroundPosition_","cssText","createCss_","getEnableRetinaIcons","width_","height_","join","h","anchorText_","textColor_","textSize_","fontFamily_","fontWeight_","fontStyle_","textDecoration_","innerHTML","url_","getTitle","url","anchorText","anchorIcon_","anchorIcon","textColor","textSize","textDecoration","fontWeight","fontStyle","fontFamily","backgroundPosition","getZIndex","getProjection","fromLatLngToDivPixel","markerClusterer_","map_","minClusterSize_","getMinimumClusterSize","averageCenter_","getAverageCenter","markers_","bounds_","clusterIcon_","getStyles","LatLngBounds","getMarkers","isMarkerAlreadyAdded_","lat","lng","LatLng","calculateBounds_","isAdded","updateIcon_","contains","getExtendedBounds","getCalculator","setCenter","useStyle","c","_","clusters_","listeners_","activeMap_","ready_","zIndex_","zIndex","Marker","MAX_ZINDEX","gridSize_","gridSize","minimumClusterSize","maxZoom_","maxZoom","styles","title_","zoomOnClick_","ignoreHidden_","enableRetinaIcons_","imagePath_","imagePath","IMAGE_PATH","imageExtension_","imageExtension","IMAGE_EXTENSION","imageSizes_","imageSizes","IMAGE_SIZES","calculator_","calculator","CALCULATOR","batchSize_","batchSize","BATCH_SIZE","batchSizeIE_","batchSizeIE","BATCH_SIZE_IE","clusterClass_","clusterClass","setupStyles_","addMarkers","repaint","prevZoom_","minZoom","mapTypes","getMapTypeId","resetViewport_","redraw_","getVisible","getIgnoreHidden","pushMarkerTo_","hasOwnProperty","getDraggable","removeMarker_","getNorthEast","getSouthWest","fromDivPixelToLatLng","createClusters_","PI","sin","cos","atan2","sqrt","getCenter","distanceBetweenPoints_","isMarkerInClusterBounds","addMarker","timerRefStatic","isMarkerInBounds_","addToClosestCluster_","String","startsWith","searchString","substr","setCookie","name","days","expires","date","Date","setTime","getTime","toUTCString","cookie","selectDefaultPhone","val","blurHandler","blur","async","fillCountryCodes","lang","currentLang","optionsHTML","fetch","then","json","code","name_Code","GetLetCallUsYouForm","html","ajax","success","result","modal","lazyImages","active","lazyLoad","lazyImage","dataset","src","classList","image","popover","$this","cardNumber","formattedCardNumber","cardNumberSections","substring","closest","removeClass","TweenMax","dismissEl","preventDefault","isShown","toggleClass","siblings","isPlusBtn","includes","isChildBlock","maxLenght","incrementValue","$currentCount","currentCount","ww","numbers","idx","animate","scrollTop","closable","tabs","removeAttr","validate","submit","translateY","isSending","useSendingEffect","btnId","sendingText","alertText","btn","btnText","btnOpacity","svgLoadingIcon","useLoadingEffect","params","performance","navigation","fakeInputsInit","$fakeinput","$fakeinputNotReadonly","hasValueClass","addEvent","evnt","func","attachEvent","setHeaderHeight","headerHeight","setProperty","animatedHeaderInit","docElem","header","subMenuSection","didScroll","changeSubOn","offsetTop","scrollPage","sy","pageYOffset","setVH","vh","setHeroSlideAR","pb","getAR","dividend","divisor","gcd","initFWMap","mapID","mapElem","getElementById","Map","disableDefaultUI","voyageHotels","markers","label","animation","Animation","DROP","markerCluster","zoomOnClick","setCalculator","numStyles","dv","initMap","mapElementId","mapConfig","markerLocations","mapOptions","mapId","mapElement","infoWindow","InfoWindow","marker","addAdvancedMarkerView","mapInstance","infoWindowContent","info","markerViewContent","textContent","markerView","AdvancedMarkerView","content","domEvent","latLng","close","setContent","open","arrayOfSliders","onePerViewSlidersInit","config","slidesPerView","spaceBetween","loop","watchSlidesVisibility","containerModifierClass","wrapperClass","slideClass","slideActiveClass","slideNextClass","slidePrevClass","pagination","bulletClass","bulletActiveClass","currentClass","hiddenClass","clickable","prevEl","nextEl","lazy","elementClass","loadPrevNext","loadedClass","Swiper","heroSliderV2Init","slider","centeredSlides","freeModeSliderInit","breakpoints","roomsSliderInit","sliderSlides","slidesPerView_md","slidesPerView_lg","slidesPerView_sm","roomSliderSection","screen","maxWidth","allowTouchMove","slidersArray","cardsSlider","setCardsSlider","isVersionTwo","sliderConfig","effect","thisType","sliderName","speed","sliderLength","load","update","oriantedChange","preventLinks","residence","freeMode","thisSwiper","swiper","mouseenter","thisIndex","activeIndex","slides","mouseleave","click","gridInit","windowWidth","masonry","showBorderedCards","ev","hiddenCount","isSquare","$hiddenInput","imgListSources","imgListAltTexts","imgsLists","galleryTitle","imgs","slideWithImg","imgTag","AltText","Path","gallerySliderThumbs","loopedSlides","relatedTarget","watchSlidesProgress","touchRatio","slideToClickedSlide","thumbs","slideThumbActiveClass","slideTo","empty","thisVideoSource","jsClasses","videoImages","random","direction","player","onYouTubeIframeAPIReady","videoSource","YT","Player","videoId","playYouTubeVideoOnMobile","stopVideo","f","playVideo","playYouTubeVideo","loadVideoById","tag","defer","getElementsByTagName","cssClass","loadMap","mapDiv","script","charset","firstScript","insertBefore","ytPlayerConfig","playerVars","rel","onReady","ytVideoModal__onPlayerReady","onStateChange","ytVideoModal__onPlayerStateChange","IFRAME_ELEMENT_ID","ytVideoModal__playerInstance","ytVideoModal__videoId","setModalTitle","videoTitle","setVideoId","linkElement","debug","createYouTubeInstance","loadYouTubeVideo","stopYouTubeVideo","handleHide__ytVideoModal","handleShow__ytVideoModal","generateFlightSchedule","startTime","endTime","minuteInterval","isValidTimeFormat","Error","start","end","interval","schedule","hour","minute","hourValue","minuteValue","checkSelectedFlightTime","flightTimes","selectedTimeClassName","selectedTime","getElementsByClassName","debounceInputListener","timeoutId","defaultInputListener","addInputListenerToFlightTimesSliders","inputListener","flightTimesSliders","flightTimesSlider","selectionRange","generatedFlightSchedule","readOnly","bubbles","validateSelectedValue","selectedValue","validityRange","validityCb","isValid","valid","updateDisplayerElements","selectedIndex","dataSelectedTimeElements","handleSliderChange","jsFormat","dictValues","en","chin","chout","tr","isSingleDatepicker","yearSelectVal","isChildpicker","momentYear","moment","get","startDate","format","singleMonth","singleDate","monthSelect","yearSelect","autoClose","language","inline","startOfWeek","customArrowPrevSymbol","customArrowNextSymbol","ignoreReadonly","separator","stickyMonths","customOpenAnimation","customCloseAnimation","setValue","is","trim","dateRangePicker","$datepickerWrapper","isCheckIn","dates","prev","observer","MutationObserver","mutations","mutation","startDay","endDay","observe","childList","HotelAgent","FormatDate","inputDate","parsedDate","GetHotel","param","HotelIDMappings","subdomain","reduce","acc","hotel","GetLanguageID","de","ru","GetParams","hotelId","checkIn","checkOut","adult_1","child_1","childAgesParams","childCount","Lang","GetPathname","GenerateExternalURL","pathname","URL","entries","searchParams","ExternalSearch","hotels","currentHotel","fetchHotels","response","setCurrentHotel","slug","definedSlug","dispatchCurrentHotelReadyEvent","detail","CustomEvent","setHotelInfo","searchBox","roomImageSliders","availableAirports","cultureName","UISliderInit","initialValues","hours","minutes","range","step","values","slide","ui","change","minTime","maxTime","filterType","filterTypes","filterValues","getFilters","filterResults","takeFirstFive","checkModernInput","$inpElem","fakeplaceholderInit","$input","focusout","contactUsDataLayerTrigger","dataLayer","campaign_id","log","scrollToInvalid","_elem","scrollIntoView","behavior","CloseResponseModel","showSuccessModal","formData","RequestReason","btnRequestReasonTrigger","showErrorModal","FillAvailableAirports","keyword","dataType","list","fail","xhr","responseText","sameDaysSelected","validateChildAges","siteKey","renderRecaptcha","grecaptcha","render","sitekey","OnlyLetter","char","fromCharCode","which","$searchBox","$roomItem","roomItemTop","topAmount","observeParents","maxLength","insertAfter","$flightBlock","lastOffset","paymentMehtod","$stepList","searchStep","prevAll","autocomplete","source","request","term","autoFill","matchCase","selectFirst","selectedRoomId","localStorage","first","errors","ix","evt","selectedhotelId","dropdown","adultCountObserver","thisValue","childCountObserver","setChildCount","hotelValue","checkAndHidePrePaymentText","messageDiv","selectedHotelId","validateForm","elemID","forms","postToCrm","formId","contentType","crossDomain","postToSubscription","subFormData","subFormId","res","saveRoyalty","royaltyFormData","Name","Surname","BirthDate","RoyaltyCardType","RoyaltyCardNo","Email","HotelFidelioCode","Note","LangCode","QuestionAndBulletin","ChainId","DomainAddress","g_recaptcha_response","VoyageMemberCardSelect","CardValue","hotelIdInput","setItem","innerText","before","hotelname","validator","setDefaults","submitHandler","frm","$frm","fromEntries","FormData","searchForm","callusformid","callusformdata","HotelCode","Country","FirstName","LastName","PhoneCountryCode","Phone","Description","CallDateHour","HotelGroup","group","subscribeFormId","subscribeFormData","Language","contactformid","rules","staticNameSurname","staticLastName","staticPhoneNo","staticEmail","required","email","customControlAutosizing","errorElement","errorPlacement","highlight","errorClass","validClass","unhighlight","memberName","memberSurname","memberBirthDate","memberRoyaltyCardType","memberEmail","memberHotelFidelioCode","memberNote","memberAcceptSubscribeRule","staticsubEmail","staticEmailAgain","equalTo","staticName","staticSurname","selectLanguage","pipaAuthorize","contactNameSurname","contactLastName","contactStaticPhoneNo","contactBtnRequestReasonTrigger","contactbtncallhourstrigger","contactEmail","chkKVKK","toUpperCase","searchWrapper","newSearch","flightCheckbox","checked","inm","getReservationDetailsTransfers","removeReservationDetailsTransfers","transferType","reservationDetailsTransfers","reservationDetailsTransfersArrival","reservationDetailsTransfersDeparture","disableEcoArrival","validity","noArrival","ecoArrivalInputs","ecoArrivalListItems","input","disabled","disableEcoDeparture","noDeparture","ecoDepartureInputs","ecoDepartureListItems","GDPR_MODAL_ID","GDPR_ALERT","GDPR_PERM","setGDPRPreferences","gdprPermPreferences","Cookies","set"],"mappings":"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","file":"main.min.js","sourcesContent":[null,null,null,"/*!\n * root.js\n * (c) 2024 Klonbits, Inc.\n * All rights reserved.\n */\nif (!String.prototype.startsWith) {\n String.prototype.startsWith = function(searchString, position) {\n position = position || 0;\n return this.substr(position, searchString.length) === searchString;\n };\n}\n","/*!\n * common.js\n * (c) 2024 Klonbits, Inc.\n * All rights reserved.\n */\n\ndocument.addEventListener('DOMContentLoaded', function () {\n var lazyImages = [].slice.call(document.querySelectorAll('img.lazy'));\n var active = false;\n\n $('a:not([href])').each(function () {\n $(this).attr('tabindex', '0');\n });\n\n function lazyLoad() {\n if (active === false) {\n active = true;\n\n setTimeout(function () {\n lazyImages.forEach(function (lazyImage) {\n if (lazyImage.getBoundingClientRect().top <= window.innerHeight && lazyImage.getBoundingClientRect().bottom >= 0 && getComputedStyle(lazyImage).display !== 'none') {\n if (lazyImage.dataset.src != undefined && lazyImage.dataset.src != '') {\n lazyImage.src = lazyImage.dataset.src;\n lazyImage.classList.remove('lazy');\n } else {\n lazyImage.classList.remove('lazy');\n }\n\n lazyImages = lazyImages.filter(function (image) {\n return image !== lazyImage;\n });\n\n if (lazyImages.length === 0) {\n document.removeEventListener('scroll', lazyLoad);\n window.removeEventListener('resize', lazyLoad);\n window.removeEventListener('orientationchange', lazyLoad);\n }\n }\n });\n\n active = false;\n }, 250);\n }\n }\n\n lazyLoad();\n\n document.addEventListener('scroll', lazyLoad);\n window.addEventListener('resize', lazyLoad);\n window.addEventListener('orientationchange', lazyLoad);\n\n $('[data-toggle=\"popover\"]').popover();\n\n $('[data-mask=\"credit-card\"]').each(function () {\n $(this).on('input', function () {\n var $this = $(this)[0];\n var cardNumber = $this.value;\n\n var formattedCardNumber = cardNumber.replace(/[^\\d]/g, '');\n formattedCardNumber = formattedCardNumber.substring(0, 16);\n\n var cardNumberSections = formattedCardNumber.match(/\\d{1,4}/g);\n if (cardNumberSections !== null) {\n formattedCardNumber = cardNumberSections.join(' ');\n }\n\n if (cardNumber !== formattedCardNumber) {\n $this.value = formattedCardNumber;\n }\n });\n });\n\n $('body').on('click', function (e) {\n var target = $(e.target);\n\n //Popover hide\n\n if (target.parent().data('toggle') !== 'popover' && target.parent('.popover.show').length === 0) {\n $('[data-toggle=\"popover\"]').popover('hide');\n }\n\n //Header Menu Close Trigger\n\n if (target.closest('.btn--hamburger').length == 0) {\n if ($('.header-nav').hasClass('is-shown')) {\n $('.header-nav').removeClass('is-shown');\n TweenMax.to(document.querySelector('.header-nav-side'), 0.25, {\n x: '-100%',\n });\n }\n }\n });\n\n $('[data-dismiss]').each(function () {\n $(this).on('click', function () {\n var dismissEl = $(this).data('dismiss');\n\n switch (dismissEl) {\n case 'search-wrapper':\n $('.' + dismissEl).removeClass('is-shown');\n $('html,body').removeClass('overflow-hidden');\n break;\n case 'search-box':\n $('.' + dismissEl).removeClass('expanded');\n break;\n }\n });\n });\n\n //#region .js-btn--WhatsApp\n setTimeout(function() { $(\".js-btn--WhatsApp\").show(); }, 20000);\n //#endregion .js-btn--WhatsApp\n});\n\n$(window).on('load', function () {\n $('body').removeClass('is-loading');\n\n $(document).on('click', '.js-btnCallYouTrigger', function () {\n $('#callYouModal').modal('show');\n });\n\n $('.btn--hamburger').on('click', function (n) {\n n.preventDefault();\n var isShown = $('.header-nav').hasClass('is-shown');\n\n $('.header-nav').toggleClass('is-shown');\n\n if (!isShown) {\n TweenMax.to(document.querySelector('.header-nav-side'), 0.5, {\n x: '0%',\n });\n } else {\n TweenMax.to(document.querySelector('.header-nav-side'), 0.25, {\n x: '-100%',\n });\n }\n });\n\n $('[data-toggle=\"dropdown-modified\"]').on('click', function () {\n $(this).siblings('.dropdown-menu').toggleClass('show');\n });\n\n $('[data-toggle=\"dropdown-modified\"]').on('click', function () {\n $(this).siblings('.dropdown-menu').toggleClass('show');\n });\n\n $('.minus-plus').each(function () {\n $(this)\n .find('.minus-plus__block > .btn')\n .on('click', function (e) {\n e.preventDefault();\n\n var isPlusBtn = $(this).attr('class').includes('--plus');\n\n var isChildBlock = $(this).closest('.minus-plus').hasClass('child-block');\n\n var maxLenght = isPlusBtn ? (isChildBlock ? 3 : 5) : isChildBlock ? 0 : 1;\n var incrementValue = isPlusBtn ? 1 : -1;\n\n var $currentCount = $(this).siblings('.count');\n var currentCount = parseInt($currentCount.text());\n\n if (!isNaN(currentCount) && (isPlusBtn ? currentCount < maxLenght : currentCount > maxLenght)) {\n $currentCount.text(currentCount + incrementValue);\n }\n });\n });\n\n $('.minus-plus.child-block .btn').on('click', function () {\n var ww = $(window).width();\n let val = parseInt($(this).parent().find('.count').text());\n\n const numbers = ['', '1', '2', '3'];\n\n for (idx in numbers) {\n let el = $(`.child-row.child-row-${numbers[idx]}`);\n if (idx <= val && idx > 0) {\n el.removeClass('d-none');\n\n if (ww < 768) {\n $('.search-wrapper').animate({\n scrollTop: el.offset().top,\n },\n 2000,\n );\n }\n } else el.addClass('d-none');\n }\n });\n\n $('.dropdown.adult-box').on({\n 'shown.bs.dropdown': function () {\n this.closable = false;\n },\n 'hide.bs.dropdown': function () {\n return this.closable;\n },\n });\n\n $('.adult-box .dropdown-menu')\n .find('.submit--adult-box')\n .on('click', function () {\n var errorArray = [];\n\n if (errorArray.length == 0) {\n $('.adult-box.dropdown')[0].closable = true;\n }\n });\n\n $('.dropdown-toggle').each(function () {\n var $this = $(this);\n\n $(this)\n .siblings('.dropdown-menu')\n .find('a.dropdown-item')\n .on('click', function (e) {\n $(this).siblings('.dropdown-menu').find('a').removeClass('selected');\n\n e.preventDefault();\n $this.text($(this).text());\n $(this).addClass('selected');\n });\n });\n});\n\n$('.modal').on({\n 'show.bs.modal': function () {\n $('html,body').addClass('overflow-hidden');\n },\n 'hidden.bs.modal': function () {\n $('html,body').removeClass('overflow-hidden');\n },\n});\n\n$(\"[data-prop='tabs']\").each(function () {\n $(this).tabs();\n});\n\n$('#flightModal').each(function () {\n $(this).find('.btn--default-blue').removeAttr('href');\n\n $(this)\n .find('.btn--default-blue')\n .on('click', function () {\n $('#chkFlightSelect').prop('checked', false);\n $('#searchForm').validate();\n $('#searchForm').submit();\n });\n});\n\n$('#btnReservationTrigger').on('click', function () {\n var ww = $(window).outerWidth();\n\n $('.search-wrapper').toggleClass('is-shown');\n ww < 768 ? $('html,body').addClass('overflow-hidden') : '';\n\n var isShown = $('.search-wrapper').hasClass('is-shown');\n\n TweenMax.to(document.querySelector('.search-wrapper'), 0.5, {\n translateY: isShown ? '0%' : '-15%',\n });\n});\n\n$('.main--search').each(function () {\n $('.header').addClass('search-header');\n});\n$('#inpSelectAirportSource').on('change', function () {\n var val = $(this).val();\n $('#inpHiddenFlightSource').val(val);\n});\n(function () {\n function getCookie(cname) {\n var name = cname + \"=\";\n var ca = document.cookie.split(';');\n for (var i = 0; i < ca.length; i++) {\n var c = ca[i];\n while (c.charAt(0) == ' ') {\n c = c.substring(1);\n }\n if (c.indexOf(name) == 0) {\n return c.substring(name.length, c.length);\n }\n }\n return \"\";\n }\n var lang = document.documentElement.lang;\n // if(!getCookie('hasTravelDocumentShow') && lang ==\"tr\"){\n // $('#travelPermitDocumentModal').modal('show');\n // setCookie('hasTravelDocumentShow',1);\n // }\n})();\n\nfunction setCookie(name, value, days) {\n var expires = '';\n if (days) {\n var date = new Date();\n date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000);\n expires = '; expires=' + date.toUTCString();\n }\n document.cookie = name + '=' + (value || '') + expires + '; path=/';\n}\nfunction selectDefaultPhone(e, t) {\n switch ((e = e.toLowerCase())) {\n case 'tr':\n $(t).val('+90');\n break;\n case 'en':\n $(t).val('+44');\n break;\n case 'de':\n $(t).val('+49');\n break;\n case 'ru':\n $(t).val('+7');\n }\n}\nfunction blurHandler(s) { s.blur(); }\nasync function fillCountryCodes(elem, lang) {\n var $elem = $(elem),\n currentLang = lang;\n if (document.querySelectorAll(elem)[0]) {\n var optionsHTML = '';\n var countries = await fetch('/public/ContryCodesLong').then(x => x.json());\n countries.forEach(e => {\n optionsHTML += ` `;\n });\n\n document.querySelectorAll(elem)[0].innerHTML = optionsHTML;\n\n [].forEach.call(document.querySelectorAll(elem), function (s) {\n s.addEventListener('focus', focus);\n s.addEventListener('blur', blur);\n blurHandler(s);\n });\n selectDefaultPhone(currentLang, elem);\n }\n}\n\n// #region NAVIGATION\nfunction GetLetCallUsYouForm() {\n $('#letUsCallYouDiv').html('');\n var postUrl = '/tr/book-getletcallusyouform';\n $.ajax({\n url: postUrl,\n type: 'POST',\n success: async function (result) {\n $('#letUsCallYouDiv').html(result);\n fillCountryCodes();\n $('#letUsCallYouModal').modal('show');\n },\n });\n}\n// #endregion NAVIGATION\n\nwindow.addEventListener('DOMContentLoaded', async function () {\n await fillCountryCodes('#ddlCountrySelect', $('html').attr('lang'));\n await fillCountryCodes('#ddlCountrySelectContact', $('html').attr('lang'));\n});\n\n/* #region Sending Effect */\n/* Sending Effect @author: fsws\n * Usage 1: useSendingEffect({ callback: postForm, btnId: '#tryBtn', sendingText: 'Form Sending...', delay: 2000, alertText: 'Please wait...' })\n * Usage 2: useSendingEffect({ btnId: '#tryBtn', delay: 2000, callback: function() { ... } })\n * Option defaults:\n * sendingText: 'Sending...' // temporarily disabled\n * delay: 1500\n * alertText: 'Still sending, please wait...' // temporarily disabled\n */\nvar isSending = null;\n\nfunction useSendingEffect({\n callback,\n btnId,\n sendingText,\n delay,\n alertText\n}) {\n var svgLoadingIcon = ``;\n if (isSending == null) {\n callback();\n var btn = document.querySelector(btnId);\n btnText = btn.innerHTML;\n btnOpacity = btn.style.opacity;\n\n btn.innerHTML = /* svgLoadingIcon + \" \" + sendingText || */ svgLoadingIcon + \" \" + btnText;\n btn.style.opacity = 0.5;\n isSending = setTimeout(() => {\n btn.innerHTML = btnText;\n btn.style.opacity = btnOpacity;\n isSending = null;\n }, delay || 1500);\n } else { /* alert(alertText || \"Still sending, please wait...\"); */ }\n}\n/* #endregion Sending Effect */\n\n/* #region Loading Effect / Block UI Common Function */\n/* Loading Effect @author: fsws\n * Usage 1: useLoadingEffect() // default loading template\n * Usage 2: useLoadingEffect({ id: 'templateElementId' })\n */\nfunction useLoadingEffect(params) {\n let historyTraversal = (typeof window.performance != \"undefined\" && window.performance.navigation.type === 2);\n if (historyTraversal) return;\n params = {\n id: '',\n ...params\n };\n\n if (params.id !== '') {\n $.blockUI({\n message: $('#' + params.id)\n });\n } else {\n $.blockUI({\n message: `\n
\n
\n
\n
\n \n \n \n
\n
\n
\n \n \n \n \n \n \n
\n
\n
\n `\n });\n }\n}\n/* #endregion Loading Effect / Block UI Common Function */","/*!\n * functions.js\n * (c) 2024 Klonbits, Inc.\n * All rights reserved.\n */\n\nfunction fakeInputsInit() {\n\t$('.fake-inputs').each(function () {\n\t\tvar $this = $(this);\n\t\tvar $fakeinput = $this.find('input');\n\t\tvar $fakeinputNotReadonly = $this.find('input:not([readonly])');\n\t\tvar hasValueClass = 'has-value';\n\n\t\t$fakeinput.val() != '' ? $this.addClass(hasValueClass) : '';\n\n\t\t$fakeinputNotReadonly.on({\n\t\t\tfocus: function () {\n\t\t\t\t$this.addClass(hasValueClass);\n\t\t\t},\n\t\t\tblur: function () {\n\t\t\t\t$(this).val() == '' ? $this.removeClass(hasValueClass) : '';\n\t\t\t},\n\t\t});\n\t});\n}\n\nfunction addEvent(evnt, elem, func) {\n\tif (elem.addEventListener)\n\t\t// W3C DOM\n\t\telem.addEventListener(evnt, func, false);\n\telse if (elem.attachEvent) {\n\t\t// IE DOM\n\t\telem.attachEvent('on' + evnt, func);\n\t} else {\n\t\t// No much to do\n\t\telem['on' + evnt] = func;\n\t}\n}\n\nfunction setHeaderHeight() {\n\tvar headerHeight = document.querySelector('.header-nav').offsetHeight;\n\n\tdocument.documentElement.style.setProperty('--hh', headerHeight + 'px');\n}\n\nfunction animatedHeaderInit() {\n\tvar docElem = document.documentElement,\n\t\theader = document.querySelector('.header'),\n\t\theaderNav = document.querySelector('.header-nav'),\n\t\tsearchWrapper = document.querySelector('.search-wrapper'),\n\t\tsubMenuSection = document.querySelector('.submenu-section'),\n\t\tdidScroll = false,\n\t\tchangeHeaderOn = 300,\n\t\tchangeSubOn = document.querySelector('.submenu-section') != null ? document.querySelector('.submenu-section').offsetTop + document.querySelector('.submenu-section').offsetHeight : 0;\n\n\tfunction scrollPage() {\n\t\tvar sy = scrollY();\n\n\t\t// if (!$(headerNav).hasClass('is-shown') && !$(searchWrapper).hasClass('is-shown')) {\n\t\tif (sy >= changeHeaderOn) {\n\t\t\theader.classList.add('ani--header');\n\t\t} else {\n\t\t\theader.classList.remove('ani--header');\n\t\t}\n\n\t\tif (subMenuSection != null) {\n\t\t\tif (sy >= changeSubOn && sy < changeSubOn + 400) {\n\t\t\t\tsubMenuSection.classList.add('t');\n\t\t\t} else if (sy >= changeSubOn + 400) {\n\t\t\t\tsubMenuSection.classList.add('is-fixed');\n\t\t\t} else {\n\t\t\t\tsubMenuSection.classList.remove('is-fixed');\n\t\t\t\tsubMenuSection.classList.remove('t');\n\t\t\t}\n\t\t}\n\n\t\t// }\n\n\t\tdidScroll = false;\n\t}\n\n\tfunction scrollY() {\n\t\treturn window.pageYOffset || docElem.scrollTop;\n\t}\n\n\tfunction addEvent(evnt, elem, func) {\n\t\tif (elem.addEventListener)\n\t\t\t// W3C DOM\n\t\t\telem.addEventListener(evnt, func, false);\n\t\telse if (elem.attachEvent) {\n\t\t\t// IE DOM\n\t\t\telem.attachEvent('on' + evnt, func);\n\t\t} else {\n\t\t\t// No much to do\n\t\t\telem['on' + evnt] = func;\n\t\t}\n\t}\n\n\tsetTimeout(scrollPage, 250);\n\n\twindow.addEventListener('scroll', function (event) {\n\t\tif (!didScroll) {\n\t\t\tdidScroll = true;\n\t\t\tsetTimeout(scrollPage, 250);\n\t\t}\n\t});\n}\n\nfunction setVH() {\n\t// First we get the viewport height and we multiple it by 1% to get a value for a vh unit\n\tvar vh = window.innerHeight * 0.01;\n\t// Then we set the value in the --vh custom property to the root of the document\n\tdocument.documentElement.style.setProperty('--vh', vh + 'px');\n}\n\nfunction setHeroSlideAR(ww) {\n\tif (ww >= 768 && ww < 1200) {\n\t\tvar pb = getAR(690, 768);\n\n\t\tdocument.documentElement.style.setProperty('--hsAR', pb + 'px');\n\t} else if (ww >= 1200) {\n\t\tvar pb = getAR(700, 1440);\n\n\t\tdocument.documentElement.style.setProperty('--hsAR', pb + 'px');\n\t}\n}\n\nfunction getAR(h, w) {\n\tvar mode = null;\n\tvar dividend = null;\n\tvar divisor = null;\n\tvar remainder = null;\n\tvar aspectRatio = null;\n\n\tif (h > w) {\n\t\tdividend = h;\n\t\tdivisor = w;\n\t\tmode = 'portrait';\n\t}\n\n\tif (w > h) {\n\t\tdividend = w;\n\t\tdivisor = h;\n\t\tmode = 'landscape';\n\t}\n\n\tvar gcd = -1;\n\twhile (gcd == -1) {\n\t\tremainder = dividend % divisor;\n\t\tif (remainder == 0) {\n\t\t\tgcd = divisor;\n\t\t} else {\n\t\t\tdividend = divisor;\n\t\t\tdivisor = remainder;\n\t\t}\n\t}\n\n\tvar hr = w / gcd;\n\tvar vr = h / gcd;\n\taspectRatio = hr / vr;\n\treturn aspectRatio;\n}\n\nfunction initFWMap(mapID) {\n\tvar ww = $(window).outerWidth();\n\tvar mapElem = document.getElementById(mapID);\n\tvar zoom = 0;\n\n\tif (ww > 767.99) {\n\t\tzoom = 7.6;\n\t} else if (ww > 1279.99) {\n\t\tzoom = 7;\n\t} else {\n\t\tzoom = 6.4;\n\t}\n\n\tvar map = new google.maps.Map(mapElem, {\n\t\tzoom: zoom,\n\t\tcenter: { lat: 36.7953284, lng: 29.409261 },\n\t\tdisableDefaultUI: true,\n\t});\n\n\tvar voyageHotels = ['Voyage Hotel Bodrum', 'Voyage Hotel Torba', 'Voyage Bodrum Türkbükü', 'Voyage Belek Golf & Spa', 'Voyage Sorgun'];\n\n\tvar locations = [\n\t\t{ lat: 37.0345439, lng: 27.3972088 },\n\t\t{ lat: 37.0628451, lng: 27.4279808 },\n\t\t{ lat: 37.1404634, lng: 27.307888 },\n\t\t{ lat: 36.8469397, lng: 31.0722299 },\n\t\t{ lat: 36.7569427, lng: 31.4190772 },\n\t];\n\n\tvar markers = locations.map(function (location, i) {\n\t\treturn new google.maps.Marker({\n\t\t\tposition: location,\n\t\t\tlabel: voyageHotels[i],\n\t\t\tanimation: google.maps.Animation.DROP,\n\t\t});\n\t});\n\n\tvar clusterStyles = [\n\t\t{\n\t\t\ttextColor: 'black',\n\t\t\turl: '/assets/svg/map/ico-dot-blue.svg',\n\t\t\theight: 55,\n\t\t\twidth: 55,\n\t\t},\n\t\t{\n\t\t\ttextColor: 'black',\n\t\t\turl: '/assets/svg/map/ico-dot-green.svg',\n\t\t\theight: 55,\n\t\t\twidth: 55,\n\t\t},\n\t];\n\n\tvar mcOptions = {\n\t\tgridSize: 50,\n\t\tstyles: clusterStyles,\n\t\tmaxZoom: 10,\n\t\tzoomOnClick: false,\n\t\tminimumClusterSize: 2,\n\t};\n\n\tvar markerCluster = new MarkerClusterer(map, markers, mcOptions);\n\n\tmarkerCluster.setCalculator(function (markers, numStyles) {\n\t\tvar index = 0;\n\t\tvar count = markers.length;\n\t\tvar dv = count;\n\t\twhile (dv !== 0) {\n\t\t\tdv = parseInt(dv / 3, 3);\n\t\t\tindex++;\n\t\t}\n\n\t\tindex = Math.min(index, numStyles);\n\t\treturn {\n\t\t\ttext: count,\n\t\t\tindex: index,\n\t\t};\n\t});\n\n\tmarkerCluster.addListener('click', function (e) {\n\t\tmap.setCenter(e.getCenter());\n\t\tmap.setZoom(map.getZoom() + 3);\n\t});\n}\n\nfunction initMap(mapElementId = 'googlemap') {\n\t/* Get `mapConfig` from `window.defineConfig__${mapElementId}` */\n\tconst mapConfig = window[`defineConfig__${mapElementId}`] || { center: { lat: 36.7953284, lng: 29.409261 }, markerLocations: [] };\n\t/* Create Map */\n\tconst ww = $(window).outerWidth();\n\tvar zoom = 0; if (ww > 1279.99) { zoom = 9; } else if (ww > 767.99) { zoom = 7.4; } else { zoom = 6.5; }\n\tconst mapOptions = { mapId: mapConfig.mapId, center: mapConfig.center, zoom: zoom, disableDefaultUI: true, }\n\tconst mapElement = document.getElementById(mapElementId);\n\tconst map = new google.maps.Map(mapElement, mapOptions);\n\t/* Set Marker Locations */\n\tconst markerLocations = mapConfig.markerLocations;\n\t/* Create an info window to share between markers. */\n\tconst infoWindow = new google.maps.InfoWindow();\n\t/* Set Markers */\n\tfor (let marker of markerLocations) { if (marker) { /* console.debug(`markerLocations:::marker`, marker); */ /* Marker */ addAdvancedMarkerView(map, marker); } }\n\t/* Add AdvancedMarkerView & InfoWindow */\n\tfunction addAdvancedMarkerView(mapInstance, marker) {\n\t\tconst infoWindowContent = document.createElement(\"div\"); infoWindowContent.className = \"g__InfoWindow\"; infoWindowContent.innerHTML = `

${marker.label}

${marker.info}

`;\n\t\t/* Create the markers. */\n\t\tconst markerViewContent = document.createElement(\"div\"); markerViewContent.className = \"g__AdvencedMarkerView\"; markerViewContent.textContent = marker.label;\n\t\tconst markerView = new google.maps.marker.AdvancedMarkerView({ map: mapInstance, position: new google.maps.LatLng(marker.position.lat, marker.position.lng), title: `${marker.label}`, content: markerViewContent });\n\t\t/* Add a click listener for each marker, and set up the info window. */\n\t\tmarkerView.addListener('click', ({ domEvent, latLng }) => { const { target } = domEvent; infoWindow.close(); infoWindow.setContent(infoWindowContent); infoWindow.open(markerView.map, markerView); })\n\t}\n}\n\nwindow.initMap = initMap;\n\nvar arrayOfSliders = [];\n\nfunction onePerViewSlidersInit() {\n\t$('[slidesOnePerViewSlide]').each(function () {\n\t\tvar config = {\n\t\t\tslidesPerView: 1,\n\t\t\tspaceBetween: 15,\n\t\t\tloop: true,\n\t\t\twatchSlidesVisibility: true,\n\t\t\tcontainerModifierClass: 'slider-container--',\n\t\t\twrapperClass: 'slider-wrapper',\n\t\t\tslideClass: 'slider-slide',\n\t\t\tslideActiveClass: 'slider-slide--active',\n\t\t\tslideNextClass: 'slider-slide--next',\n\t\t\tslidePrevClass: 'slider-slide--prev',\n\t\t\tpagination: {\n\t\t\t\tel: this.querySelector('[class*=slider-pagination]'),\n\t\t\t\tbulletClass: 'slider-pagination-bullet--dark',\n\t\t\t\tbulletActiveClass: 'slider-pagination-bullet--active',\n\t\t\t\tcurrentClass: 'slider-pagination-bullet--current',\n\t\t\t\thiddenClass: 'slider-pagination-bullet--hidden',\n\t\t\t\tclickable: true,\n\t\t\t},\n\t\t\tnavigation: {\n\t\t\t\tprevEl: $(this).find('.slider-icons--prev'),\n\t\t\t\tnextEl: $(this).find('.slider-icons--next'),\n\t\t\t},\n\t\t\tlazy: {\n\t\t\t\telementClass: 'lazy',\n\t\t\t\tloadPrevNext: true,\n\t\t\t\tloadedClass: 'lazy-loaded',\n\t\t\t},\n\t\t};\n\n\t\tarrayOfSliders.push(new Swiper($(this).find('.slider-container')[0], config));\n\t});\n}\n\nfunction heroSliderV2Init() {\n\t$('.hero-slider--v2').each(function () {\n\t\tvar slider = $(this);\n\t\tvar config = {\n\t\t\tslidesPerView: 1,\n\t\t\tcenteredSlides: true,\n\t\t\tloop: true,\n\t\t\tcontainerModifierClass: 'hero-slider--v2-',\n\t\t\twrapperClass: 'hero-wrapper',\n\t\t\tslideClass: 'hero-slide',\n\t\t\tslideActiveClass: 'hero-slide--active',\n\t\t\tslideNextClass: 'hero-slide--next',\n\t\t\tslidePrevClass: 'hero-slide--prev',\n\t\t\tpagination: {\n\t\t\t\tel: '.hero-slider--v2 .slider-pagination',\n\t\t\t\tbulletClass: 'slider-pagination-bullet--dark',\n\t\t\t\tbulletActiveClass: 'slider-pagination-bullet--active',\n\t\t\t\tcurrentClass: 'slider-pagination-bullet--current',\n\t\t\t\thiddenClass: 'slider-pagination-bullet--hidden',\n\t\t\t\tclickable: true,\n\t\t\t},\n\t\t\tnavigation: {\n\t\t\t\tprevEl: '.slider-icons.slider-icons--prev',\n\t\t\t\tnextEl: '.slider-icons.slider-icons--next',\n\t\t\t},\n\t\t\tlazy: {\n\t\t\t\telementClass: 'lazy',\n\t\t\t\tloadPrevNext: true,\n\t\t\t\tloadedClass: 'lazy-loaded',\n\t\t\t},\n\t\t};\n\n\t\tarrayOfSliders.push(new Swiper(slider, config));\n\t});\n}\n\nfunction freeModeSliderInit() {\n\t$('.slider--free-mode').each(function () {\n\t\tvar slider = $(this).find('.slider-container');\n\t\tvar config = {\n\t\t\tslidesPerView: 1.25,\n\t\t\tspaceBetween: 15,\n\t\t\tcenteredSlides: true,\n\t\t\tloop: true,\n\t\t\twatchSlidesVisibility: true,\n\t\t\tcontainerModifierClass: 'slider-container--',\n\t\t\twrapperClass: 'slider-wrapper',\n\t\t\tslideClass: 'slider-slide',\n\t\t\tslideActiveClass: 'slider-slide--active',\n\t\t\tslideNextClass: 'slider-slide--next',\n\t\t\tslidePrevClass: 'slider-slide--prev',\n\t\t\tpagination: {\n\t\t\t\tel: '.slider--free-mode .slider-pagination--relative',\n\t\t\t\tbulletClass: 'slider-pagination-bullet--dark',\n\t\t\t\tbulletActiveClass: 'slider-pagination-bullet--active',\n\t\t\t\tcurrentClass: 'slider-pagination-bullet--current',\n\t\t\t\thiddenClass: 'slider-pagination-bullet--hidden',\n\t\t\t\tclickable: true,\n\t\t\t},\n\t\t\tnavigation: {\n\t\t\t\tprevEl: '.slider-icons.slider-icons--prev',\n\t\t\t\tnextEl: '.slider-icons.slider-icons--next',\n\t\t\t},\n\t\t\tlazy: {\n\t\t\t\telementClass: 'lazy',\n\t\t\t\tloadPrevNext: true,\n\t\t\t\tloadedClass: 'lazy-loaded',\n\t\t\t},\n\t\t\tbreakpoints: {\n\t\t\t\t768: {\n\t\t\t\t\tslidesPerView: 3.75,\n\t\t\t\t\tspaceBetween: 10,\n\t\t\t\t},\n\t\t\t\t1280: {\n\t\t\t\t\tslidesPerView: 4.2981,\n\t\t\t\t\tspaceBetween: 30,\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\n\t\tarrayOfSliders.push(new Swiper(slider, config));\n\t});\n}\n\nfunction roomsSliderInit() {\n\t$('.rooms-slider').each(function () {\n\t\tvar slider = $(this).find('.slider-container');\n\t\tvar sliderSlides = slider.find('.slider-slide');\n\t\tvar slidesPerView_md = 2;\n\t\tvar slidesPerView_lg = 2;\n\t\tvar slidesPerView_sm = 2;\n\n\t\tif (sliderSlides.length > 2) {\n\t\t\tslidesPerView_sm = 3;\n\t\t\tslidesPerView_md = 3;\n\t\t\tslidesPerView_lg = 2.1628;\n\t\t}\n\t\telse if(sliderSlides.length ==1)\n\t\t{\n\t\t\tvar slidesPerView_md = 1;\n\t\t\tvar slidesPerView_lg = 1;\n\t\t\tvar slidesPerView_sm = 1;\n\n\t\t\tvar roomSliderSection = document.querySelector('.rooms-slider');\n\t\t\tif(screen.width<415)\n\t\t\t{\n\t\t\troomSliderSection.style.maxWidth=\"50%\";\n\t\t\troomSliderSection.style.margin=\"auto\";\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\troomSliderSection.style.maxWidth=\"33%\";\n\t\t\troomSliderSection.style.margin=\"auto\"; \n\t\t\t} \n\t\t}\n\n\t\tvar config = {\n\t\t\tslidesPerView: slidesPerView_lg,\n\t\t\tspaceBetween: 10,\n\t\t\tallowTouchMove: true,\n\t\t\twatchSlidesVisibility: true,\n\t\t\tloop: true,\n\t\t\tcontainerModifierClass: 'slider-container--',\n\t\t\twrapperClass: 'slider-wrapper',\n\t\t\tslideClass: 'slider-slide',\n\t\t\tslideActiveClass: 'slider-slide--active',\n\t\t\tslideNextClass: 'slider-slide--next',\n\t\t\tslidePrevClass: 'slider-slide--prev',\n\t\t\tpagination: {\n\t\t\t\tel: '.rooms-slider .slider-pagination--relative',\n\t\t\t\tbulletClass: 'slider-pagination-bullet--dark',\n\t\t\t\tbulletActiveClass: 'slider-pagination-bullet--active',\n\t\t\t\tcurrentClass: 'slider-pagination-bullet--current',\n\t\t\t\thiddenClass: 'slider-pagination-bullet--hidden',\n\t\t\t\tclickable: true,\n\t\t\t},\n\t\t\tlazy: {\n\t\t\t\telementClass: 'lazy',\n\t\t\t\tloadPrevNext: true,\n\t\t\t\tloadedClass: 'lazy-loaded',\n\t\t\t},\n\t\t\tnavigation: {\n\t\t\t\tprevEl: '.slider-icons.slider-icons--prev',\n\t\t\t\tnextEl: '.slider-icons.slider-icons--next',\n\t\t\t},\n\t\t\tbreakpoints: {\n\t\t\t\t768: {\n\t\t\t\t\tslidesPerView: slidesPerView_sm,\n\t\t\t\t\tspaceBetween: 10,\n\t\t\t\t},\n\t\t\t\t1280: {\n\t\t\t\t\tslidesPerView: slidesPerView_md,\n\t\t\t\t\tspaceBetween: 20,\n\t\t\t\t\tallowTouchMove: false,\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\n\t\tarrayOfSliders.push(new Swiper(slider, config));\n\t});\n}\n","/*!\n * main.js\n * (c) 2024 Klonbits, Inc.\n * All rights reserved.\n */\n\n$('.hamburger-btn').on('click', function (e) {\n e.preventDefault();\n\n $('.header').toggleClass('is-shown');\n});\n\nvar slidersArray = [];\nvar cardsSlider = null;\n\nvar setCardsSlider = function () {\n $('.hotel-cards-slider').each(function () {\n var ww = $(window).width();\n var isVersionTwo = $('.hotel-cards-slider').hasClass('v2');\n\n if (ww < 768) {\n var sliderConfig = {\n spaceBetween: 5,\n slidesPerView: isVersionTwo ? 2.25 : 1.0857,\n centeredSlides: true,\n loop: isVersionTwo ? true : false,\n containerModifierClass: 'hotel-cards-slider--',\n wrapperClass: 'hotel-cards-wrapper',\n slideClass: 'hotel-cards-slide',\n slideActiveClass: 'hotel-cards-slide--active',\n slideNextClass: 'hotel-cards-slide--next',\n slidePrevClass: 'hotel-cards-slide--prev',\n pagination: {\n el: '.hotel-cards-slider .slider-pagination--relative',\n bulletClass: 'slider-pagination-bullet--dark',\n bulletActiveClass: 'slider-pagination-bullet--active',\n currentClass: 'slider-pagination-bullet--current',\n hiddenClass: 'slider-pagination-bullet--hidden',\n clickable: true,\n },\n };\n\n cardsSlider = new Swiper('.hotel-cards-slider', sliderConfig);\n } else cardsSlider != undefined ? cardsSlider.destroy() : '';\n });\n};\n\n$('.full-width-slider[slidesoneperviewslide]').each(function () {\n $(this).closest('section').next('.text-slider-container').addClass('reverse');\n});\n\n$('.text-slider-container').each(function () {\n $(this).append(\"
\");\n\n var sliderConfig = {\n slidesPerView: 1,\n spaceBetween: 0,\n loop: true,\n effect: 'fade',\n containerModifierClass: 'text-slider--',\n wrapperClass: 'text-slider-wrapper',\n slideClass: 'text-slider-slide',\n slideActiveClass: 'text-slider-slide--active',\n slideNextClass: 'text-slider-slide--next',\n slidePrevClass: 'text-slider-slide--prev',\n pagination: {\n el: $(this).find('.slider-pagination--relative'),\n bulletClass: 'slider-pagination-bullet--dark',\n bulletActiveClass: 'slider-pagination-bullet--active',\n currentClass: 'slider-pagination--current',\n hiddenClass: 'slider-pagination--hidden',\n clickable: true,\n },\n navigation: {\n nextEl: $(this).find('.slider-icons--next'),\n prevEl: $(this).find('.slider-icons--prev'),\n },\n };\n\n var textSlider = new Swiper($(this).find('.text-slider'), sliderConfig);\n});\n\n$('.cards-slider').each(function () {\n $(this).append('');\n});\n\n$('[data-type=\"slider\"]').each(function () {\n var $this = $(this);\n var thisType = $this.data('type');\n var sliderName = $this.data('slider-name');\n\n if (thisType == 'slider') {\n switch (sliderName) {\n case 'hero-slider':\n var sliderConfig = {\n slidesPerView: 1,\n spaceBetween: 0,\n loop: true,\n speed: 350,\n containerModifierClass: 'hero-slider--',\n wrapperClass: 'hero-wrapper',\n slideClass: 'hero-slide',\n slideActiveClass: 'hero-slide--active',\n slideNextClass: 'hero-slide--next',\n slidePrevClass: 'hero-slide--prev',\n pagination: {\n el: '.hero-slider .slider-pagination',\n bulletClass: 'slider-pagination-bullet',\n bulletActiveClass: 'slider-pagination-bullet--active',\n currentClass: 'slider-pagination--current',\n hiddenClass: 'slider-pagination--hidden',\n clickable: true,\n },\n navigation: {\n nextEl: '.hero-slider > .controls-next',\n prevEl: '.hero-slider > .controls-prev',\n },\n };\n\n break;\n\n case 'cards-slider':\n var sliderLength = $(this).find('.cards-wrapper > *').length;\n\n if (sliderLength == 1) {\n $(this).addClass('one-slide');\n }\n\n var sliderConfig = {\n slidesPerView: 1,\n spaceBetween: 15,\n loop: sliderLength != 1,\n containerModifierClass: 'cards-slider--',\n wrapperClass: 'cards-wrapper',\n slideClass: 'cards-slide',\n slideActiveClass: 'cards-slide--active',\n slideNextClass: 'cards-slide--next',\n slidePrevClass: 'cards-slide--prev',\n pagination: {\n el: '.cards-slider .slider-pagination--relative',\n bulletClass: 'slider-pagination-bullet--dark',\n bulletActiveClass: 'slider-pagination-bullet--active',\n currentClass: 'slider-pagination-bullet--current',\n hiddenClass: 'slider-pagination-bullet--hidden',\n clickable: true,\n },\n navigation: {\n prevEl: $this.find('.slider-icons--prev'),\n nextEl: $this.find('.slider-icons.slider-icons--next'),\n },\n breakpoints: {\n 767.99: {\n slidesPerView: sliderLength != 1 ? 3 : 1,\n spaceBetween: 10,\n centeredSlides: sliderLength == 1,\n },\n },\n lazy: {\n elementClass: 'lazy',\n loadPrevNext: true,\n loadedClass: 'lazy-loaded',\n },\n };\n\n break;\n }\n\n slidersArray.push(new Swiper($this[0], sliderConfig));\n }\n});\n\ndocument.addEventListener('DOMContentLoaded', function () {\n fakeInputsInit();\n\n setHeaderHeight();\n animatedHeaderInit();\n\n window.addEventListener('resize', setHeaderHeight);\n window.addEventListener('orientationchange', setHeaderHeight);\n\n onePerViewSlidersInit();\n heroSliderV2Init();\n freeModeSliderInit();\n roomsSliderInit();\n\n setVH();\n\n $('.hero-slide .image').each(function () {\n var ww = $(window).width();\n setHeroSlideAR(ww);\n });\n});\n\n// window.addEventListener('DOMContentLoaded', function () {\n// var body = document.querySelector('body');\n\n// $('#googlemap').each(function () {\n// initFWMap('googlemap');\n// });\n// });\n\n$(window).on({\n load: function () {\n $('[data-toggle=popover]').popover();\n setCardsSlider();\n\n $(document).on('click', '.js-btnCallYouTrigger', function () {\n $('#callYouModal').modal('show');\n });\n },\n resize: function () {\n setCardsSlider();\n\n if (arrayOfSliders.length != 0)\n arrayOfSliders.forEach(function (e) {\n e.update(true);\n });\n\n $('.hero-slide .image').each(function () {\n var ww = $(window).width();\n setHeroSlideAR(ww);\n });\n },\n oriantedChange: function () {\n if (arrayOfSliders.length != 0)\n arrayOfSliders.forEach(function (e) {\n e.update(true);\n });\n },\n});\n\n$('[slider-only-mobile]').each(function () {\n var ww = $(window).outerWidth();\n var $this = $(this);\n var sliderName = $this.data('slider-name');\n var sliders = [];\n\n if (ww < 768) {\n switch (sliderName) {\n case 'videoSlider':\n var config = {\n slidesPerView: 1.6805,\n spaceBetween: 10,\n containerModifierClass: 'video-section__slider--',\n wrapperClass: 'video-wrapper',\n slideClass: 'video-slide',\n slideActiveClass: 'video-slide--active',\n slideNextClass: 'video-slide--next',\n slidePrevClass: 'video-slide--prev',\n preventLinks: true,\n residence: '100%',\n freeMode: true,\n };\n\n sliders.push(new Swiper($this, config));\n break;\n }\n }\n});\n\n$('.hero-slider').each(function () {\n var $this = $(this);\n var thisSwiper = $this[0].swiper;\n\n $('.controls-next').on({\n mouseenter: function () {\n var thisIndex = thisSwiper.activeIndex;\n $(thisSwiper.slides[thisIndex + 1]).toggleClass('next-transform');\n },\n mouseleave: function () {\n var thisIndex = thisSwiper.activeIndex;\n\n if ($(thisSwiper.slides[thisIndex + 1]).hasClass('next-transform')) $(thisSwiper.slides[thisIndex + 1]).removeClass('next-transform');\n },\n click: function () {\n $('.hero-slide').removeClass('next-transform');\n },\n });\n\n $('.controls-prev').on({\n mouseenter: function () {\n var thisIndex = thisSwiper.activeIndex;\n $(thisSwiper.slides[thisIndex - 1]).addClass('prev-transform');\n },\n mouseleave: function () {\n var thisIndex = thisSwiper.activeIndex;\n\n if ($(thisSwiper.slides[thisIndex - 1]).hasClass('prev-transform')) $(thisSwiper.slides[thisIndex - 1]).removeClass('prev-transform');\n },\n click: function () {\n $('.hero-slide').removeClass('prev-transform');\n },\n });\n});\n\n$('.mouse-icon').on('click', function () {\n $('html,body').animate(\n {\n scrollTop: $(this).closest('section').siblings('section').offset().top,\n },\n 1000,\n );\n});\n\n$('.type--slider').each(function () {\n var $this = $(this);\n\n $this.append(\"
\");\n\n var config = {\n slidesPerView: 1,\n spaceBetween: 15,\n loop: true,\n effect: 'fade',\n containerModifierClass: 'image-blurred-block--',\n wrapperClass: 'image-blurred-wrapper',\n slideClass: 'image-blurred-contents',\n slideActiveClass: 'image-blurred-contents--active',\n slideNextClass: 'image-blurred-contents--next',\n slidePrevClass: 'image-blurred-contents--prev',\n pagination: {\n el: this.querySelector('[class*=slider-pagination]'),\n bulletClass: 'slider-pagination-bullet',\n bulletActiveClass: 'slider-pagination-bullet--active',\n currentClass: 'slider-pagination-bullet--current',\n hiddenClass: 'slider-pagination-bullet--hidden',\n clickable: true,\n },\n lazy: {\n elementClass: 'lazy',\n loadPrevNext: true,\n loadedClass: 'lazy-loaded',\n },\n };\n\n var slider = new Swiper($this, config);\n});\n\n$('.grid').each(function () {\n var ww = $(window).outerWidth();\n\n function gridInit(windowWidth) {\n $('.grid').masonry({\n itemSelector: '.grid-item',\n columnWidth: '.grid-sizer',\n percentPosition: true,\n horizontalOrder: windowWidth >= 1280 ? false : true,\n });\n }\n\n gridInit(ww);\n\n $(window).on('resize', function () {\n ww = $(window).outerWidth();\n\n gridInit(ww);\n });\n});\n\n$('.bordered-cards-list').each(function () {\n var $this = $(this);\n var ww = $(window).outerWidth();\n\n var showBorderedCards = function (ev) {\n if (ev == 'show') {\n $('.bordered-cards-list > .bordered-cards:hidden').slice(0, 2).addClass('is-shown');\n } else {\n $('.bordered-cards-list > .bordered-cards').removeClass('is-shown');\n $('.bordered-cards-list > .bordered-cards').slice(0, 2).addClass('is-shown');\n }\n };\n\n showBorderedCards('show');\n\n $('.btn--more').on('click', function () {\n var hiddenCount = $('.bordered-cards-list > .bordered-cards:hidden').length;\n\n if (hiddenCount != 0) {\n showBorderedCards('show');\n } else {\n showBorderedCards('hide');\n }\n\n hiddenCount = $('.bordered-cards-list > .bordered-cards:hidden').length;\n\n if (hiddenCount != 0) {\n $(this).text('Show More');\n $(this).removeClass('minus-icon');\n } else {\n $(this).text('Show Less');\n $(this).addClass('minus-icon');\n }\n });\n});\n\n$('.gallery-grid').each(function () {\n var isSquare = $(this).hasClass('square');\n\n $('.gallery-grid').masonry({\n itemSelector: isSquare ? '.gallery-grid-item--square' : '.gallery-grid-item',\n columnWidth: '.gallery-grid-sizer',\n percentPosition: true,\n });\n});\n\n$('section.main-headings').each(function () {\n $(this).next().addClass('main-headings-siblings');\n});\n\n$('.image-content-wrapper').each(function () {\n var $hiddenInput = $(this).find('input[type=\"hidden\"]');\n var $hiddenLinks = $(this).find('a[hidden-link]');\n\n $hiddenLinks.attr('href', $hiddenInput.val());\n});\n\n$('.grid-cards-wrapper').each(function () {\n $(this).masonry({\n itemSelector: '.grid-cards-item',\n columnWidth: '.grid-cards-sizer',\n gutter: '.gutter-sizer',\n percentPosition: true,\n });\n});\n\n$('[class*=gallery] a[class*=-link]').on('click', function (e) {\n e.preventDefault();\n\n var imgTag = $(this).closest('section').find('img');\n\n var imgListSources = [];\n var imgListAltTexts = [];\n\n var imgsLists = $(this).data(\"imgs\");\n var galleryTitle = $(this).data(\"gallery-title\");\n $(\"[class*=gallery] h5[class*=-title]\").text(galleryTitle);\n if (imgsLists === undefined) {\n var imgs = $(this).closest('section').find('img');\n\n imgs.each(function (index) {\n var slideWithImg = `
`;\n $('.gallery-slider--main > .gallery-slider-wrapper').append(slideWithImg);\n });\n\n imgs.each(function (index) {\n var slideWithImg = `
`;\n $('.gallery-slider--thumbs > .gallery-slider-wrapper').append(slideWithImg);\n }); \n }\n else {\n $.each(imgsLists, function (e, imgTag) {\n imgListAltTexts.push(imgTag.AltText);\n });\n $.each(imgsLists, function (e, imgTag) {\n imgListSources.push(imgTag.Path);\n });\n\n imgListSources.forEach(function (e) {\n var slideWithImg = `
\\n

${imgListAltTexts[imgListSources.indexOf(e)]}

`;\n $(\".gallery-slider--main > .gallery-slider-wrapper\").append(slideWithImg);\n });\n\n imgListSources.forEach(function (e) {\n var slideWithImg = `
`;\n $(\".gallery-slider--thumbs > .gallery-slider-wrapper\").append(slideWithImg);\n });\n }\n $('#galleryModal').modal('toggle', $(this));\n});\n\n$('#galleryModal').on('shown.bs.modal', function (e) {\n var gallerySliderThumbs = [];\n var galleryMainSlider = [];\n var loopedSlides = $('.gallery-slider--main > .gallery-slider-wrapper > .gallery-slider-slide').length;\n\n var idx = $(e.relatedTarget).parent().index();\n\n gallerySliderThumbs = new Swiper('.gallery-slider.gallery-slider--thumbs', {\n containerModifierClass: 'gallery-slider--',\n wrapperClass: 'gallery-slider-wrapper',\n slideClass: 'gallery-slider-slide',\n slideActiveClass: 'gallery-slider-slide--active',\n slideNextClass: 'gallery-slider-slide--next',\n slidePrevClass: 'gallery-slider-slide--prev',\n slidesPerView: 3,\n spaceBetween: 5,\n // freeMode: true,\n loop: true,\n loopedSlides: loopedSlides,\n watchSlidesVisibility: true,\n watchSlidesProgress: true,\n touchRatio: 0.2,\n slideToClickedSlide: true,\n lazy: {\n elementClass: 'lazy',\n loadPrevNext: true,\n loadedClass: 'lazy-loaded',\n },\n breakpoints: {\n 1279: {\n spaceBetween: 10,\n slidesPerView: 6,\n },\n },\n });\n\n galleryMainSlider = new Swiper('.gallery-slider.gallery-slider--main', {\n containerModifierClass: 'gallery-slider--',\n wrapperClass: 'gallery-slider-wrapper',\n slideClass: 'gallery-slider-slide',\n slideActiveClass: 'gallery-slider-slide--active',\n slideNextClass: 'gallery-slider-slide--next',\n slidePrevClass: 'gallery-slider-slide--prev',\n spaceBetween: 10,\n loop: true,\n loopedSlides: loopedSlides,\n navigation: {\n nextEl: '.slider-icons--next.main-slider',\n prevEl: '.slider-icons--prev.main-slider',\n },\n thumbs: {\n swiper: gallerySliderThumbs,\n slideThumbActiveClass: 'gallery-slider-slide-thumbs--active',\n },\n lazy: {\n elementClass: 'lazy',\n loadPrevNext: true,\n loadedClass: 'lazy-loaded',\n },\n });\n\n galleryMainSlider.slideTo(idx);\n});\n\n$('#galleryModal').on('hidden.bs.modal', function (e) {\n $(this).find('.gallery-slider-wrapper').empty();\n\n $(this)\n .find('.gallery-slider')\n .each(function (i, e) {\n $(this)[0].swiper.destroy();\n });\n});\n\n// document.addEventListener('DOMContentLoaded', function() {\n// var imgList = [\n// 'http://via.placeholder.com/946x531',\n// 'http://via.placeholder.com/946x531',\n// 'http://via.placeholder.com/946x531',\n// 'http://via.placeholder.com/946x531',\n// 'http://via.placeholder.com/946x531',\n// 'http://via.placeholder.com/946x531',\n// 'http://via.placeholder.com/946x531',\n// 'http://via.placeholder.com/946x531',\n// ];\n\n// var imgThumbList = [\n// 'http://via.placeholder.com/112x88',\n// 'http://via.placeholder.com/112x88',\n// 'http://via.placeholder.com/112x88',\n// 'http://via.placeholder.com/112x88',\n// 'http://via.placeholder.com/112x88',\n// 'http://via.placeholder.com/112x88',\n// 'http://via.placeholder.com/112x88',\n// 'http://via.placeholder.com/112x88',\n// ];\n\n// imgList.forEach(function(e) {\n// var slideWithImg = `
`;\n// $('.gallery-slider--main > .gallery-slider-wrapper').append(slideWithImg);\n// });\n\n// imgThumbList.forEach(function(e) {\n// var slideWithImg = `
`;\n// $('.gallery-slider--thumbs > .gallery-slider-wrapper').append(slideWithImg);\n// });\n// });\n\n$(window).on('load', function () {\n $('#galleryModal').each(function () {\n // var gallerySliderThumbs = [];\n // var galleryMainSlider = [];\n // var loopedSlides = $('.gallery-slider--main > .gallery-slider-wrapper > .gallery-slider-slide').length;\n // gallerySliderThumbs = new Swiper('.gallery-slider.gallery-slider--thumbs', {\n // containerModifierClass: 'gallery-slider--',\n // wrapperClass: 'gallery-slider-wrapper',\n // slideClass: 'gallery-slider-slide',\n // slideActiveClass: 'gallery-slider-slide--active',\n // slideNextClass: 'gallery-slider-slide--next',\n // slidePrevClass: 'gallery-slider-slide--prev',\n // slidesPerView: 3,\n // spaceBetween: 5,\n // loop: true,\n // freeMode: true,\n // loopedSlides: loopedSlides, //looped slides should be the same\n // watchSlidesVisibility: true,\n // watchSlidesProgress: true,\n // touchRatio: 0.2,\n // slideToClickedSlide: true,\n // lazy: {\n // elementClass: 'lazy',\n // loadPrevNext: true,\n // loadedClass: 'lazy-loaded',\n // },\n // breakpoints: {\n // 1279: {\n // spaceBetween: 10,\n // slidesPerView: 6,\n // },\n // },\n // });\n // galleryMainSlider = new Swiper('.gallery-slider.gallery-slider--main', {\n // containerModifierClass: 'gallery-slider--',\n // wrapperClass: 'gallery-slider-wrapper',\n // slideClass: 'gallery-slider-slide',\n // slideActiveClass: 'gallery-slider-slide--active',\n // slideNextClass: 'gallery-slider-slide--next',\n // slidePrevClass: 'gallery-slider-slide--prev',\n // spaceBetween: 10,\n // loop: true,\n // loopedSlides: loopedSlides,\n // navigation: {\n // nextEl: '.slider-icons--next.main-slider',\n // prevEl: '.slider-icons--prev.main-slider',\n // },\n // thumbs: {\n // swiper: gallerySliderThumbs,\n // slideThumbActiveClass: 'gallery-slider-slide-thumbs--active',\n // },\n // lazy: {\n // elementClass: 'lazy',\n // loadPrevNext: true,\n // loadedClass: 'lazy-loaded',\n // },\n // });\n });\n});\n\n$('.js-yt-div').each(function () {\n var thisVideoSource = $(this).attr('video-source');\n var jsClasses = $(this).attr('js-class');\n var id = Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15);\n var videoImages =`\n \n
\n \n \n \n \n \n
\n
\n
\n `;\n\n $(this).append(videoImages);\n});\n\n$('.yt-slider').each(function () {\n var sliderConfig = {\n slidesPerView: 1.5526,\n spaceBetween: 9,\n containerModifierClass: 'yt-slider--',\n wrapperClass: 'yt-wrapper',\n slideClass: 'yt-slide',\n slideActiveClass: 'yt-slide--active',\n slideNextClass: 'yt-slide--next',\n slidePrevClass: 'yt-slide--prev',\n breakpoints: {\n 768: {\n direction: 'vertical',\n slidesPerView: 2,\n loop: false,\n spaceBetween: 9,\n },\n 1280: {\n direction: 'vertical',\n slidesPerView: 3,\n spaceBetween: 0,\n loop: false,\n },\n },\n };\n\n var slider = new Swiper('.yt-slider', sliderConfig);\n});\n\nvar player = [];\nwindow.addEventListener('DOMContentLoaded',function(){\n var tag = document.createElement('script');\n tag.defer = true;\n tag.src = 'https://www.youtube.com/iframe_api';\n var firstScriptTag = document.getElementsByTagName('script')[0];\n // firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\n});\nfunction onYouTubeIframeAPIReady() {\n window.dispatchEvent(new Event('YouTubeIframeAPIReady'))\n \n $('.js-yt-link').each(function (idx) {\n var ww = $(window).outerWidth();\n var id = $(this).find('.iframe').attr('id');\n var videoSource = $(this).parent().attr('video-source');\n\n if (ww < 768) {\n player[idx] = new YT.Player(id, {\n videoId: videoSource,\n });\n } else {\n $(this)\n .closest('.yt-main')\n .each(function () {\n player = new YT.Player(id, {\n videoId: videoSource,\n });\n });\n }\n });\n};\n\nfunction playYouTubeVideoOnMobile(id) {\n for (let i = 0; i < player.length; i++) {\n player[i].stopVideo();\n if ($(player[i].f).attr('id') == id) {\n player[i].playVideo();\n }\n }\n}\n\nfunction playYouTubeVideo(videoSource) {\n player.stopVideo();\n player.loadVideoById(videoSource);\n\n setTimeout(function () {\n player.playVideo();\n }, 250);\n}\n\n$('.js-yt-link').on('click', function (e) {\n e.preventDefault();\n\n var id = $(this).find('iframe').attr('id');\n var ww = $(window).outerWidth();\n var videoSource = $(this).parent().attr('video-source');\n var cssClass = 'is-playing';\n\n $('.js-yt-link').removeClass(cssClass);\n\n if (ww < 768) {\n $(this).addClass(cssClass);\n playYouTubeVideoOnMobile(id);\n } else {\n $('.yt-main .js-yt-link').addClass(cssClass);\n playYouTubeVideo(videoSource);\n }\n /* */\n \n // console.debug(this)\n // console.debug(id, ww, videoSource, cssClass, player)\n /* */\n});\n\nconst loadMap =()=>{\n let mapDiv=document.querySelectorAll('.hotel-cards-slider, .slider--free-mode')[0];\n if(mapDiv && mapDiv.getBoundingClientRect().top<=window.innerHeight)\n {\n var script=document.createElement('script');\n script.src=`https://api-maps.yandex.ru/services/constructor/1.0/js/?um=constructor%3A942f1dc6c18308a5ec51eee7f7ff47929d8d778a6c3a9618f22a0a277aa2bd36&width=1080&height=520&lang=tr_TR&scroll=true&id=yandexmap`;\n script.type='text/javascript';\n script.charset='utf-8';\n var firstScript=document.getElementsByTagName('script')[0];\n if(firstScript && firstScript.parentNode){\n firstScript.parentNode.insertBefore(script,firstScript);\n }\n document.removeEventListener('scroll',loadMap);\n }\n}\n// document.addEventListener('scroll',loadMap);","/*!\n * yt-videos-horizontal.js v1.0.0\n * (c) 2024 Klonbits, Inc.\n * All rights reserved.\n */\n\nvar ytPlayerConfig = { videoId: null, playerVars: { rel: 0 }, events: { 'onReady': ytVideoModal__onPlayerReady, 'onStateChange': ytVideoModal__onPlayerStateChange } }\nvar IFRAME_ELEMENT_ID = `yt-main--iframe`\nvar ytVideoModal__playerInstance = null\nvar ytVideoModal__videoId = null\n\n/* Create Swiper Slider */\n$('.js-yt-h-slider').each(function () {\n var sliderConfig = {\n draggable: true,\n navigation: { nextEl: \".swiper-button-next\", prevEl: \".swiper-button-prev\", },\n slidesPerView: 1, spaceBetween: 2,\n breakpoints: { 768: { slidesPerView: 3, spaceBetween: 4, } },\n containerModifierClass: 'yt-slider--',\n wrapperClass: 'yt-wrapper',\n };\n var slider = new Swiper('.js-yt-h-slider.swiper', sliderConfig);\n console.debug(slider);\n});\n\n//#region YT API Handlers\n/* setModalTitle */ function setModalTitle() { $(\"#ytVideoModalTitle\")[0].innerHTML = !ytVideoModal__playerInstance.videoTitle ? $(\"#ytVideoModalTitle\").data(\"loading-text\") : ytVideoModal__playerInstance.videoTitle; }\n/* setVideoId */ function setVideoId(linkElement) { ytVideoModal__videoId = $(linkElement).parent().attr('video-source'); console.debug(\"ytVideoModal__videoId:::\", ytVideoModal__videoId) }\n/* create instance */ function createYouTubeInstance() { ytVideoModal__playerInstance = new YT.Player(IFRAME_ELEMENT_ID, { ...ytPlayerConfig, videoId: ytVideoModal__videoId }); console.debug(`createYouTubeInstance:::`, ytVideoModal__playerInstance) }\n/* load video */ function loadYouTubeVideo() { ytVideoModal__playerInstance.loadVideoById(ytVideoModal__videoId); console.debug(`loadYouTubeVideo:::`, ytVideoModal__playerInstance) }\n/* stop video */ function stopYouTubeVideo() { ytVideoModal__playerInstance.stopVideo(); console.debug(`stopYouTubeVideo:::`, ytVideoModal__playerInstance) }\n/* event:::onPlayerReady */ function ytVideoModal__onPlayerReady() { ytVideoModal__playerInstance.playVideo(); console.debug(`ytVideoModal__onPlayerReady:::playVideo`); }\n/* event:::onPlayerStateChange */ function ytVideoModal__onPlayerStateChange() { setModalTitle(); console.debug(`ytVideoModal__onPlayerStateChange:::${ytVideoModal__playerInstance.videoTitle}`); }\n//#endregion YT API Handlers\n\n//#region Modal Event Handlers\nfunction handleHide__ytVideoModal() { stopYouTubeVideo(); }\nfunction handleShow__ytVideoModal() { ytVideoModal__playerInstance === null ? createYouTubeInstance() : loadYouTubeVideo() }\n//#endregion Modal Event Handlers\n\n/* YouTubeIframeAPIReady Event Listener | main.js:::dispatchEvent:::onYouTubeIframeAPIReady */\nwindow.addEventListener(\"YouTubeIframeAPIReady\", () => {\n $(\"#ytVideoModal\").on(\"hide.bs.modal\", handleHide__ytVideoModal);\n $(\"#ytVideoModal\").on(\"show.bs.modal\", handleShow__ytVideoModal);\n $('.js-yt-link--modal').on('click', function (e) { e.preventDefault(); setVideoId(this); $(\"#ytVideoModal\").modal(\"show\"); });\n\n console.debug(`YouTubeIframeAPIReady`, YT);\n})\n","/*!\n\t* flight-times v1.0.0\n\t* (c) 2024 Klonbits, Inc.\n\t* All rights reserved.\n\t*/\n\n/**\n\t* Generates a flight schedule based on the start time, end time, and minute interval.\n\t* @param {number} startTime - The start time in the format HHMM (e.g., 800 for 08:00).\n\t* @param {number} endTime - The end time in the format HHMM (e.g., 1800 for 18:00).\n\t* @param {number} minuteInterval - The interval between flights in minutes.\n\t* @returns {string[]} The array containing the flight schedule in the format [\"HH:MM\", \"HH:MM\", ...].\n\t* @throws {Error} If the startTime or endTime is in an invalid format.\n\t*/\nfunction generateFlightSchedule(startTime, endTime, minuteInterval) {\n\t// Check if the startTime and endTime are valid\n\tif (!isValidTimeFormat(startTime) || !isValidTimeFormat(endTime)) { throw new Error('Invalid time format. Expected format: HHMM (e.g., 800 for 08:00).'); }\n\tconst [start, end, interval] = [startTime, endTime, minuteInterval].map(value => parseInt(value, 10));\n\n\tconst schedule = [];\n\tlet hour = Math.floor(start / 100); // Extracts the hour part from the start time\n\tlet minute = start % 100; // Extracts the minute part from the start time\n\n\twhile (hour * 100 + minute <= end) {\n\t\tconst hourValue = (\"0\" + hour).slice(-2); // Converts the hour value to a two-digit number\n\t\tconst minuteValue = (\"0\" + minute).slice(-2); // Converts the minute value to a two-digit number\n\t\tschedule.push(hourValue + \":\" + minuteValue);\n\t\tminute += interval;\n\t\tif (minute >= 60) { hour++; minute %= 60; }\n\t}\n\n\treturn schedule;\n}\n\n/**\n\t* Checks the index of the selected flight time in the given array of flight times.\n\t* @param {string[]} flightTimes - Array of flight times\n\t* @param {string} selectedTimeClassName - Class name of the selected time elements\n\t* @returns {number|null} - Index of the selected time in the array, or null\n\t*/\nfunction checkSelectedFlightTime(flightTimes, selectedTimeClassName) {\n\t// Get all elements with the selected time class\n\tconst selectedTimeElements = document.getElementsByClassName(selectedTimeClassName);\n\t// Get the value of the first selected time element\n\tconst selectedTime = selectedTimeElements[0].value;\n\t// Check the index of the selected time in the array\n\tconst index = flightTimes.indexOf(selectedTime);\n\t// Return the index if the selected time is found, or null if it's not found\n\treturn index !== -1 ? index : null;\n}\n\n/**\n\t* Delays the execution of a function by debouncing it.\n\t* @param {Function} func - The function to be debounced.\n\t* @param {number} delay - The delay in milliseconds.\n\t* @returns {Function} - The debounced function.\n\t*/\nfunction debounceInputListener(func, delay) { let timeoutId; return function (...args) { clearTimeout(timeoutId); timeoutId = setTimeout(() => { func.apply(this, args); }, delay); }; }\n\n/**\n\t\t* Default input listener function.\n\t\t* @param {string[]} flightTimes - The flight schedule array.\n\t\t* @returns {void}\n\t\t*/\nfunction defaultInputListener(flightTimes, event) { console.debug(\"Input detected: \", this.value, event.target.value, flightTimes); };\n\n/**\n* Adds an input listener to elements with the \"js-flight-times\" class.\n* @param {function} [inputListener] - Optional input listener callback function.\n* @returns {void}\n*/\nfunction addInputListenerToFlightTimesSliders(inputListener) {\n\tconst flightTimesSliders = document.getElementsByClassName(\"js-flight-times\");\n\n\t// Add the input listener to each element\n\tfor (const flightTimesSlider of flightTimesSliders) {\n\t\tlet { interval = 5, selectionRange = \"0000|2359\", selectedTime, delay = 300 } = flightTimesSlider.dataset;\n\t\tlet [start, end] = selectionRange.split('|');\n\n\t\tlet generatedFlightSchedule = generateFlightSchedule(start, end, interval);\n\t\tlet listener = inputListener || defaultInputListener;\n\n\t\tflightTimesSlider.max = generatedFlightSchedule.length - 1;\n\t\tflightTimesSlider.readOnly = true;\n\t\tflightTimesSlider.value = checkSelectedFlightTime(generatedFlightSchedule, selectedTime);\n\t\tflightTimesSlider.addEventListener(\"input\", debounceInputListener(listener.bind(flightTimesSlider, generatedFlightSchedule), delay));\n\t\tflightTimesSlider.dispatchEvent(new Event(\"input\", { bubbles: true }));\n\t}\n}\n\n/**\n\t* Checks if the given time value has a valid format (HHMM).\n\t* @param {number|string} time - The time value to check.\n\t* @returns {boolean} - Indicates whether the time format is valid or not.\n\t*/\nfunction isValidTimeFormat(time) { const regex = /^(0[0-9]|1[0-9]|2[0-3])[0-5][0-9]$/; return regex.test(time); }\n\n/**\n\t* Validates the selected value based on a validity range and invokes a callback if provided.\n\t* @param {string} selectedValue - The selected value to validate\n\t* @param {string} validityRange - The validity range in the format \"start|end\"\n\t* @param {string} [validityCb] - The name of the callback function to invoke (optional)\n\t* @returns {boolean} - Indicates whether the selected value is valid or not\n\t*/\nconst validateSelectedValue = (selectedValue, validityRange, validityCb) => {\n\tconst [start, end] = validityRange.split('|');\n\tconst isValid = selectedValue >= start && selectedValue <= end;\n\tif (validityCb && typeof window[validityCb] === 'function') { window[validityCb]?.({ valid: isValid }); }\n\treturn isValid;\n};\n\n/**\n\t* Updates other elements with the selected time.\n\t* @param {string[]} flightTimes - Array of flight times\n\t* @param {string} selectedTime - Class name of the selected time elements\n\t* @param {number} selectedIndex - Index of the selected time in the array\n\t* @returns {void}\n\t*/\nconst updateDisplayerElements = (flightTimes, selectedTime, selectedIndex) => {\n\t// Update other elements with the selected time\n\tconst dataSelectedTimeElements = document.getElementsByClassName(selectedTime);\n\tif (dataSelectedTimeElements.length > 0) {\n\t\tfor (const element of dataSelectedTimeElements) { element.value = flightTimes[selectedIndex]; }\n\t}\n};\n\n/**\n\t* Handles the change event of the slider.\n\t* @param {string[]} flightTimes - Array of flight times\n\t* @returns {void}\n\t*/\nfunction handleSliderChange(flightTimes) {\n\tconst selectedValue = flightTimes[this.value];\n\tconst { validityRange, validityCb, selectedTime } = this.dataset;\n\n\t// Validate the selected value\n\tvalidateSelectedValue(selectedValue, validityRange, validityCb);\n\n\t// Update other elements with the selected time\n\tupdateDisplayerElements(flightTimes, selectedTime, this.value);\n};\n\n// Initialize the flight times sliders by adding an input listener\n(function () { addInputListenerToFlightTimesSliders(handleSliderChange); })();","/*!\n * picker-custom.js\n * (c) 2024 Klonbits, Inc.\n * All rights reserved.\n */\n\nvar lang = document.querySelector('html').lang;\nvar jsFormat = lang != 'en' ? 'DD.MM.YYYY' : 'MM.DD.YYYY';\nvar dictValues = {\n\ten: {\n\t\tchin: 'Check-in ',\n\t\tchout: 'Check-out ',\n\t\tdays: ['Monday', 'Thursday', ''],\n\t},\n\ttr: {\n\t\tchin: 'Giriş ',\n\t\tchout: 'Çıkış ',\n\t\tdays: ['Pazartesi', 'Salı', 'Çarşamba', 'Perşembe', 'Cuma', 'Cumartesi', 'Pazar'],\n\t},\n};\n\n$(function () {\n\t$('.datepickers').each(function () {\n\t\tvar $this = $(this);\n\t\tvar ww = $(window).outerWidth();\n\t\tvar isSingleDatepicker = $this.hasClass('datepickers--single');\n\n\t\tvar yearSelectVal = false;\n\n\t\tvar isChildpicker = $this.hasClass('childpicker');\n\t\tvar momentYear = moment().get('year');\n\n\t\tif (isSingleDatepicker && isChildpicker) {\n\t\t\tyearSelectVal = [momentYear - 17, momentYear];\n\t\t} else if (isSingleDatepicker) {\n\t\t\tyearSelectVal = [1950, momentYear];\n\t\t}\n\n\t\tvar config = {\n\t\t\tstartDate: isSingleDatepicker ? false : moment(new Date()).format(jsFormat),\n\t\t\tsingleMonth: isSingleDatepicker,\n\t\t\tsingleDate: isSingleDatepicker,\n\t\t\tmonthSelect: isSingleDatepicker,\n\t\t\tyearSelect: yearSelectVal,\n\t\t\tautoClose: true,\n\t\t\tformat: jsFormat,\n\t\t\tlanguage: lang,\n\t\t\tinline: ww < 768 ? (isSingleDatepicker ? false : true) : false,\n\t\t\tstartOfWeek: 'monday',\n\t\t\tcontainer: $this.closest('[class*=col]'),\n\t\t\tcustomArrowPrevSymbol: ' ',\n\t\t\tcustomArrowNextSymbol: ' ',\n\t\t\tignoreReadonly: true,\n\t\t\tseparator: ' - ',\n\t\t\tstickyMonths: true,\n\t\t\tcustomOpenAnimation: function (cb) {\n\t\t\t\t$(this).fadeIn(300, cb);\n\t\t\t},\n\t\t\tcustomCloseAnimation: function (cb) {\n\t\t\t\t$(this).fadeOut(300, cb);\n\t\t\t},\n\t\t\tsetValue: function (s) {\n\t\t\t\tif ($(this).attr('readonly') || (!$(this).is(':disabled') && s != $(this).val())) {\n\t\t\t\t\t$(this).val(s);\n\t\t\t\t\t$this.parent().addClass('has-value');\n\n\t\t\t\t\tif (s.includes('-')) {\n\t\t\t\t\t\t$(this).parent().find('#inpCheckinDate').val(s.split('-')[0].trim());\n\t\t\t\t\t\t$(this).parent().find('#inpCheckoutDate').val(s.split('-')[1].trim());\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t};\n\n\t\t$this.dateRangePicker(config);\n\n\t\tconsole.debug(`dateRangePicker:::init`, $this, config)\n\n\t\t$this.bind('datepicker-open', function (ev, obj) {\n\t\t\tif (!isSingleDatepicker) {\n\t\t\t\tvar $datepickerWrapper = $(obj.relatedTarget);\n\n\t\t\t\t$datepickerWrapper.find('.month-wrapper table').each(function () {\n\t\t\t\t\tvar isCheckIn = $(this).hasClass('month1');\n\t\t\t\t\tvar titleClass = isCheckIn ? 'checkin-title' : 'checkout-title';\n\n\t\t\t\t\tvar dates = isCheckIn ? $datepickerWrapper.find('.start-day').text() : $datepickerWrapper.find('.end-day').text();\n\n\t\t\t\t\tvar title = `\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t${isCheckIn ? dictValues[lang].chin : dictValues[lang].chout} ${dates != '...' ? dates : ''}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t`;\n\n\t\t\t\t\t$(this)\n\t\t\t\t\t\t.find('thead .caption')\n\t\t\t\t\t\t.each(function () {\n\t\t\t\t\t\t\t$(this).prev().remove();\n\t\t\t\t\t\t\t//$(title).insertBefore($(this));\n\t\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\t//#region Deprecated Feature Fix - Use `MutationObserver` instead of `DOMSubtreeModified`\n\n\t\t// $('.date-picker-wrapper').each(function () {\n\t\t// \t$(this)\n\t\t// \t\t.find('.normal-top .start-day')\n\t\t// \t\t.on('DOMSubtreeModified', function () {\n\t\t// \t\t\t$('.checkin-title').html(dictValues[lang].chin + \"\" + $(this).text() + '');\n\t\t// \t\t});\n\n\t\t// \t$(this)\n\t\t// \t\t.find('.normal-top .end-day')\n\t\t// \t\t.on('DOMSubtreeModified', function () {\n\t\t// \t\t\t$('.checkout-title').html(dictValues[lang].chout + \"\" + $(this).text() + '');\n\t\t// \t\t});\n\t\t// });\n\n\t\t/** [Deprecation] Listener added for a synchronous 'DOMSubtreeModified' DOM Mutation Event.\n\t\t * \tThis event type is deprecated (https://w3c.github.io/uievents/#legacy-event-types) and work is underway to remove it from this browser.\n\t\t * \tUsage of this event listener will cause performance issues today, and represents a risk of future incompatibility.\n\t\t * \tConsider using MutationObserver instead.\n\t\t */\n\n\t\t// Create a MutationObserver\n\t\tvar observer = new MutationObserver(function (mutations) {\n\t\t\tmutations.forEach(function (mutation) {\n\t\t\t\t// Code to run when a DOM change occurs goes here\n\t\t\t\tif (mutation.target.classList.contains('start-day')) {\n\t\t\t\t\t$('.checkin-title').html(dictValues[lang].chin + \"\" + $(mutation.target).text() + '');\n\t\t\t\t} else if (mutation.target.classList.contains('end-day')) {\n\t\t\t\t\t$('.checkout-title').html(dictValues[lang].chout + \"\" + $(mutation.target).text() + '');\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t\t// Iterate through all '.date-picker-wrapper' elements to start monitoring\n\t\t$('.date-picker-wrapper').each(function () {\n\t\t\tvar startDay = $(this).find('.normal-top .start-day')[0];\n\t\t\tvar endDay = $(this).find('.normal-top .end-day')[0];\n\n\t\t\t// Start observing\n\t\t\tif (startDay) { observer.observe(startDay, { childList: true }); }\n\t\t\tif (endDay) { observer.observe(endDay, { childList: true }); }\n\t\t});\n\n\t\t//#endregion\n\n\n\n\t});\n\n});\n","/*!\n * search-external.js\n * (c) 2024 Klonbits, Inc.\n * All rights reserved.\n */\nconst HotelAgent = {\n\tFormatDate: (lang, inputDate) => {\n\t\tlet inputFormat = lang == 'en' ? 'MM.DD.YYYY' : 'DD.MM.YYYY';\n\t\tconst parsedDate = moment(inputDate, inputFormat, true);\n\t\tif (parsedDate.isValid()) { return parsedDate.format('YYYY-MM-DD'); }\n\t\treturn 'Invalid Date';\n\t},\n\tGetHotel: (param) => {\n\t\tconst HotelIDMappings = [\n\t\t\t{ id: 15, title: 'The Norm Collection Door’a', code: 'SWED3R9SS7BV', subdomain: 'thenormcollectiondoora' },\n\t\t\t{ id: 16, title: 'The Norm Oriental', code: '6171703FE0F1', subdomain: 'thenormoriental' },\n\t\t].reduce((acc, hotel) => { acc[hotel.id] = hotel; acc[hotel.code] = hotel; return acc; }, {})\n\n\t\treturn HotelIDMappings[param] || HotelIDMappings[15];\n\t},\n\tGetLanguageID: (lang) => {\n\t\tconst LanguageIDMappings = { 'en': 'en', 'tr': 'tr', 'de': 'de', 'ru': 'ru' };\n\t\treturn LanguageIDMappings[lang.toLowerCase()] || 'tr';\n\t},\n\tGetParams: (p) => {\n\t\treturn {\n\t\t\thotelId: HotelAgent.GetHotel(p[\"HotelId\"]).code,\n\t\t\tcheckIn: HotelAgent.FormatDate(lang, p[\"CheckIn.Date\"]),\n\t\t\tcheckOut: HotelAgent.FormatDate(lang, p[\"CheckOut.Date\"]),\n\t\t\tadult_1: p[\"AdultsCount\"],\n\t\t\tchild_1: p[\"ChildrenCount\"],\n\t\t\t...(() => {\n\t\t\t\tconst childAgesParams = {};\n\t\t\t\tconst childCount = p[\"ChildrenCount\"];\n\t\t\t\tfor (let i = 1; i <= childCount; i++) { childAgesParams[`childage_1_${i}`] = p[`childAge${i}`]; }\n\t\t\t\treturn childAgesParams;\n\t\t\t})(),\n\t\t\tLang: HotelAgent.GetLanguageID(lang),\n\t\t}\n\t},\n\tGetPathname: (lang) => { return lang === 'tr' ? '/arama-sonuclari' : '/search-result'; },\n\tGenerateExternalURL: (p) => {\n\t\tconst { subdomain } = HotelAgent.GetHotel(p[\"hotelId\"])\n\t\tconst pathname = HotelAgent.GetLanguageID(lang) + HotelAgent.GetPathname(lang)\n\t\t\n\t\tconst url = new URL(`https://${subdomain}.hotelagent.com`);\n\t\turl.pathname = pathname;\n\n\t\tfor (const [key, value] of Object.entries(p)) { url.searchParams.append(key, value); }\n\t\treturn url.toString();\n\t}\n}\n\nconst ExternalSearch = function (params, target) {\n\twindow.open(HotelAgent.GenerateExternalURL(HotelAgent.GetParams(params)), (target || '_blank'))\n}","/*!\n * search-custom.js\n * (c) 2024 Klonbits, Inc.\n * All rights reserved.\n */\n\nvar hotels = []\nvar currentHotel = {}\n\nasync function fetchHotels() {\n const response = await fetch('/TenN/theme/assets/api/hotels/index.json');\n const data = await response.json();\n return data;\n}\n\nasync function setCurrentHotel({ hotels = [], slug = '' }) {\n // Set default `currentHotel` as the `code` of first hotels item\n currentHotel = hotels[0];\n // If `slug` is not specified, use pathname to find the `code` of the hotel it is located in\n let definedSlug = slug || window.location.pathname;\n // Find the hotel that includes the `slug` and set the `currentHotel` with the `hotel.code`\n for await(const hotel of hotels) { if(definedSlug.includes(hotel.slug)) { currentHotel = hotel; break; } }\n return currentHotel;\n}\n\nfunction dispatchCurrentHotelReadyEvent(detail) {\n document.dispatchEvent(new CustomEvent('currentHotel', { detail }));\n}\n\n// Ensure that `hotels` array is filled before calling `setCurrentHotel` function\nasync function setHotelInfo() {\n hotels = await fetchHotels(); // Fill the `hotels` array asynchronously\n currentHotel = await setCurrentHotel({ hotels })\n dispatchCurrentHotelReadyEvent(currentHotel)\n}\n\nsetHotelInfo(); // Call the initialization function\n\nvar searchBox = document.querySelector('.search-box');\nvar roomImageSliders = [];\nvar availableAirports = [];\n\n// Flight Popup input autocomplete codes.\nvar cultureName = 'en';\nvar url = window.location.href;\nif (url.indexOf('/tr/') > 0) cultureName = 'tr';\nelse if (url.indexOf('/en/') > 0) cultureName = 'en';\nif (url.indexOf('/de/') > 0) cultureName = 'en';\nif (url.indexOf('/ru/') > 0) cultureName = 'ru';\n\nfunction UISliderInit() {\n $('[data-uislider]').each(function () {\n var $this = $(this);\n var lang = $('html').attr('lang');\n\n var initialValues = [0, 1440];\n\n function getTime(value) {\n var hours = Math.floor(value / 60);\n var minutes = value - hours * 60;\n\n if (hours.length == 1) hours = '0' + hours;\n if (minutes.length == 1) minutes = '0' + minutes;\n if (minutes == 0) minutes = '00';\n\n if (lang != 'tr') {\n if (hours >= 12) {\n if (hours == 12) {\n hours = hours;\n minutes = minutes + ' PM';\n } else {\n hours = hours - 12;\n minutes = minutes + ' PM';\n }\n } else {\n hours = hours;\n minutes = minutes + ' AM';\n }\n if (hours == 0) {\n hours = 12;\n minutes = minutes;\n }\n }\n\n return hours + ':' + minutes;\n }\n\n $this.slider({\n range: true,\n min: 0,\n max: 1440,\n step: 15,\n values: initialValues,\n create: function (e, i) {\n var min = initialValues[0];\n var max = initialValues[1];\n\n $this\n .parent()\n .find('.from-time')\n .text(getTime(min) + ' - ' + getTime(max));\n },\n slide: function (event, ui) {\n var min = ui.values[0];\n var max = ui.values[1];\n\n $this\n .parent()\n .find('.from-time')\n .text(getTime(min) + ' - ' + getTime(max));\n },\n change: function (event, ui) {\n var minTime = ui.values[0];\n var maxTime = ui.values[1];\n var filterType = $(this).data('flightfilter-filtertype');\n var filter = filterTypes.find(x => x.name == filterType);\n if (filter != undefined) {\n filter.filterValues[0].min = minTime;\n filter.filterValues[0].max = maxTime;\n getFilters();\n filterResults();\n }\n takeFirstFive('departure', false);\n takeFirstFive('return', false);\n window.takeFirstFive('package', false);\n },\n });\n });\n}\n\nfunction checkModernInput() {\n $('.fake-placeholder').each(function () {\n $('input.form-control,textarea.form-control').each(function () {\n if ($(this).val() != '') {\n $(this).closest('.fake-placeholder').addClass('focused');\n } else {\n $(this).closest('.fake-placeholder').removeClass('focused');\n }\n });\n });\n\n $('.fake-placeholder').each(function () {\n var $this = $(this),\n $inpElem = $this.find('input,textarea');\n\n $this.parent().addClass('pt-3');\n $this.parent().siblings('[class*=col]').addClass('pt-3');\n\n $inpElem.on('focus', function () {\n $this.addClass('focused');\n });\n\n $inpElem.on('blur', function () {\n var isValid = $(this).val() == '' ? true : false;\n isValid === true ? $this.removeClass('focused') : $this.addClass('focused');\n });\n });\n}\n\nvar fakeplaceholderInit = () => {\n $('.fake-placeholder').each(function () {\n var $this = $(this);\n var $input = $(this).find('input,textarea');\n\n if ($input.val() != '') $this.addClass('focused');\n\n $input.on({\n focus: function () {\n $this.addClass('focused');\n },\n focusout: function () {\n if ($input.val() == '') $this.removeClass('focused');\n },\n });\n });\n};\n\nconst contactUsDataLayerTrigger = () => {\n window.dataLayer = window.dataLayer || [];\n dataLayer.push({ 'event': 'form_submit', 'campaign_id': 'sizi_arayalim' });\n console.log('Data layer triggered');\n};\n\nfunction focus() { [].forEach.call(this.options, function (o) { o.textContent = o.getAttribute('data-country') + ' (' + o.getAttribute('value') + ')'; }); }\nfunction blur() { [].forEach.call(this.options, function (o) { o.textContent = '(' + o.getAttribute('value') + ')'; }); }\n\nconst scrollToInvalid = _elem => {\n var elem;\n if (_elem && _elem instanceof HTMLElement) elem = _elem;\n else { elem = document.querySelector(_elem || '.input-validation-error'); }\n if (elem) { elem.scrollIntoView({ behavior: 'smooth', block: 'center' }); }\n};\n\nfunction CloseResponseModel() { $('#responseModal').modal('toggle'); }\n\nconst showSuccessModal = (formData) => {\n $('#responseModal .modal-title').addClass('d-none');\n $('#responseModal .modal-title.success').removeClass('d-none');\n $('#responseModal').modal('show');\n $('#responseModal').show();\n $('#responseSuccess').removeClass('d-none');\n $('#responseFail').addClass('d-none');\n \n /* Show content based on `RequestReason` in `#responseSuccess` */\n $('#responseSuccess .modal-description [class*=\"modal-description--\"]').hide()\n if(formData.RequestReason==\"3\"){\n $('#responseSuccess .modal-description .modal-description--RequestReason').show()\n /* fix(callReqForm.reset): reset RequestReason */\n btnRequestReasonTrigger.dispatchEvent(new Event('change'));\n } else {\n $('#responseSuccess .modal-description .modal-description--CallHours').show()\n }\n};\n\nconst showErrorModal = () => {\n $('#responseModal').addClass('show');\n $('#responseModal').modal('show');\n $('#responseModal').show();\n $('#responseSuccess').addClass('d-none');\n $('#responseFail').removeClass('d-none');\n};\n\nfunction FillAvailableAirports(keyword) {\n $.ajax({ type: 'GET', url: '/' + cultureName + '/book-FlightAirportSearch/' + keyword, dataType: 'json', })\n .done(function (data) { var list = data; $.each(list, function (index, item) { availableAirports.push(item); }); })\n .fail(function (xhr) { console.log(xhr.responseText); });\n}\nconst sameDaysSelected = () => { return $('#inpCheckinDate').val() == $('#inpCheckoutDate').val(); };\n\nconst validateChildAges = () => {\n var isValid = true;\n var t = this;\n $('[id*=selectChild]:visible').each(function (i, e) {\n if (!e || e.value == '') {\n e.classList.add('is-invalid');\n e.classList.remove('is-valid');\n t.event.stopPropagation();\n return false;\n } else {\n e.classList.add('is-valid');\n e.classList.remove('is-invalid');\n isValid = true;\n }\n });\n return isValid;\n};\n\nvar siteKey = '6LeaTy0aAAAAAKhWr2p-semNWLssT-j_pQv0QLY_';\nvar renderRecaptcha = function () {\n grecaptcha.render('ReCaptchContainer', {\n sitekey: siteKey,\n // callback: function(response) {\n // console.log(response);\n // },\n theme: 'light', //light or dark\n size: 'normal', //normal or compact\n type: 'image', // image or audio\n });\n};\n\nfunction OnlyLetter(key) {\n var char = String.fromCharCode(key.which);\n if (/[.,\\/#!$%\\^&\\*;:{}=\\-_`~()<>0-9]/g.test(char)) { key.preventDefault(); }\n}\n\n$('#callYouModal').on('shown.bs.modal', function () { $('#voyageMembersModal').modal('hide'); });\n\n$('.reservation-details-total .trigger').on('click', function (e) {\n var ww = $(window).width();\n e.preventDefault();\n if (ww < 1280) { $(this).closest('.reservation-details').toggleClass('is-shown'); $('body').toggleClass('no-scroll-body'); }\n});\n\n$('.btnEditSearch').on('click', function () {\n var $searchBox = $(this).closest('.search-box');\n $searchBox.toggleClass('expanded');\n $('html,body').animate({ scrollTop: $searchBox.offset().top - 100, }, 750,);\n});\n\n$('.btn--view').each(function () {\n $(this).on('click', function () {\n var hasIsShown = $(this).closest('.room-item').hasClass('is-shown');\n\n if (hasIsShown) { $(this).closest('.room-item').removeClass('is-shown'); } else {\n $('.room-item').removeClass('is-shown');\n\n var $roomItem = $(this).closest('.room-item');\n var roomItemTop = $(this).closest('.room-item').offset().top - 100;\n var topAmount = $(this).offset().top - 100;\n\n $('html,body').animate({ scrollTop: $roomItem.hasClass('is-shown') ? roomItemTop : topAmount, }, 750,);\n\n $(this).closest('.room-item').toggleClass('is-shown');\n }\n });\n});\n\n$('.room-item').each(function () {\n $(this)\n .find('.room-image-slider')\n .each(function (idx, el) {\n var config = {\n slidesPerView: 1,\n spaceBetween: 10,\n observer: true,\n observeParents: true,\n loop: true,\n containerModifierClass: 'room-image-slider',\n wrapperClass: 'room-image-wrapper',\n slideClass: 'room-image-slide',\n slideActiveClass: 'room-image-slide--active',\n slideNextClass: 'room-image-slide--next',\n slidePrevClass: 'room-image-slide--prev',\n pagination: {\n el: this.querySelector('[class*=slider-pagination]'),\n bulletClass: 'slider-pagination-bullet',\n bulletActiveClass: 'slider-pagination-bullet--active',\n currentClass: 'slider-pagination-bullet--current',\n hiddenClass: 'slider-pagination-bullet--hidden',\n clickable: true,\n },\n navigation: { prevEl: '.slider-icons.slider-icons--prev', nextEl: '.slider-icons.slider-icons--next', },\n lazy: { elementClass: 'lazy', loadPrevNext: true, loadedClass: 'lazy-loaded', },\n breakpoints: { 767.99: { slidesPerView: 3, }, 1279.99: { slidesPerView: 4, }, },\n };\n\n roomImageSliders[idx] = new Swiper($(this), config);\n });\n});\n\n$('.no-transfer-inputs').each(function () {\n $(this).on('click', function () {\n $(this).closest('.transfers__list').toggleClass('not-visible');\n if ($(this).hasClass('checked')) { $(this).removeClass('checked'); } else { $(this).addClass('checked'); }\n });\n});\n\n$('[name*=-transfers]').each(function () {\n $(this).on('change', function () { $(this).closest('.transfers__list').addClass('is-shown'); });\n});\n\n$('.search-details [class*=--filters]').on('click', function (e) {\n e.preventDefault();\n if ($(window).outerWidth() < 1280) { $('.flight-filter').toggleClass('is-shown'); }\n});\n\nUISliderInit();\n\n$('.flight-block').each(function () {\n var $this = $(this);\n var isPackageItems = $this.hasClass('flight-block--package');\n\n var $flightItem = $this.find('.flight-item');\n var maxLength = isPackageItems ? 2 : 4;\n\n var moreFlightButtonItem = '
Daha Fazla UçuşDaha Az Uçuş
';\n\n if ($flightItem.length > maxLength) { $(moreFlightButtonItem).insertAfter($this); }\n\n $this.find('.flight-item:lt(' + maxLength + ') ').fadeIn();\n});\n\n$('.btn--more-flight').on('click', function (e) {\n e.preventDefault();\n var $this = $(this);\n\n var $flightBlock = $this.parent().prev();\n\n var isPackage = $flightBlock.hasClass('flight-block--package');\n var max = isPackage ? 2 : 4;\n var hiddenLength = $flightBlock.find('.flight-item:hidden').length;\n\n if (hiddenLength == 0) {\n $flightBlock.find('.flight-item').removeAttr('style');\n $flightBlock.find('.flight-item:hidden:lt(' + max + ')').fadeIn();\n } else {\n $flightBlock.find('.flight-item:hidden:lt(' + max + ')').fadeIn();\n }\n\n var lastOffset = $flightBlock.find('.flight-item:visible:last').offset().top;\n\n $('html,body').animate({ scrollTop: lastOffset > 2000 ? lastOffset / 1.375 : lastOffset / 2, }, 1000,);\n\n if ($flightBlock.find('.flight-item:hidden').length == 0) { $this.removeClass('show-more'); } else { $this.addClass('show-more'); }\n});\n\n$('.bg-plus-circle').on('click', function () { $(this).toggleClass('is-shown'); });\n\n$('[name=\"PaymentType\"]').on('change', function () {\n var paymentMehtod = $(this).attr('id').replace('inp', '');\n\n var cssClass = 'is-shown';\n\n $('[data-payment-method]').removeClass(cssClass);\n $('[data-payment-method=' + paymentMehtod + ']').addClass(cssClass);\n});\n\n$('.steps-list').each(function () {\n var $stepList = $(this);\n var searchStep = window.location.pathname.split('/')[2];\n\n if (searchStep.includes('rooms')) {\n $stepList.find('[data-step=\"rooms\"]').addClass('active');\n } else if (searchStep.includes('flight')) {\n $stepList.find('[data-step=\"flight\"]').prevAll().addClass('past');\n $stepList.find('[data-step=\"flight\"]').addClass('active');\n } else if (searchStep.includes('transfer')) {\n $stepList.find('[data-step=\"transfer\"]').prevAll().addClass('past');\n $stepList.find('[data-step=\"transfer\"]').addClass('active');\n } else if (searchStep.includes('guest')) {\n $stepList.find('[data-step=\"guests\"]').prevAll().addClass('past');\n $stepList.find('[data-step=\"guests\"]').addClass('active');\n } else if (searchStep.includes('checkout')) {\n $stepList.find('[data-step=\"checkout\"]').prevAll().addClass('past');\n $stepList.find('[data-step=\"checkout\"]').addClass('active');\n }\n});\n\n$('#chkFlightSelect').change(function () { $(this).is(':checked') ? $('#flightModal').modal('show') : ''; });\n\n$('[flight-autocomplete]').each(function () {\n var $this = $(this);\n $this.autocomplete({\n source: function (request, response) {\n $.ajax({\n type: 'GET',\n url: '/' + cultureName + '/book-FlightAirportSearch/',\n dataType: 'json',\n data: { keyword: request.term },\n success: function (data) { response(data); },\n error: function (a, b, c) {},\n });\n },\n appendTo: $this.parent(),\n autoFill: false,\n matchCase: true,\n selectFirst: false,\n });\n});\n\n$('#btnContinue').on('click', function () {\n $('[class*=search-details--]:not(.d-none)').next().removeClass('d-none');\n\n var count = $('[class*=search-details--]:not(.d-none)').length - 1;\n\n $('[class*=search-details--]:not(.d-none)').each(function (idx) {\n if (idx < count) { $(this).addClass('d-none'); }\n });\n});\n\n$('.hotelTitle').html($('#selectHotel option:selected').text());\n$('#spnFlightName').html($('#inpSelectAirportSource').val());\n\ncheckModernInput();\n\n$('.room-item--offer').each(function () {\n $(this)\n .find('.btn.btn--default-white')\n .on('click', function () {\n var $roomItem = $(this).closest('.room-item--offer');\n var hasIsShown = $roomItem.hasClass('is-shown');\n\n hasIsShown ? $roomItem.toggleClass('is-shown') : $roomItem.addClass('is-shown');\n });\n});\n\n// #region BOOK CALENDAR\nvar selectedRoomId = localStorage.getItem('selectedRoomId');\nif (selectedRoomId != null) {\n document.getElementById('inpRoomId').value = selectedRoomId;\n}\n$('#selectHotel').find('option').first().css('display', 'none');\n\n$('base-datepickers').on(\"click\", function () {\n document.querySelectorAll('#btnAdultBoxTrigger,#btnAdultBoxTrigger~div').forEach(x => { x.classList.remove('show'); });\n});\n\n$('#btnAdultBoxTrigger').on(\"click\", function () { $('#base-datepickers').data('dateRangePicker').close(); });\n\n$('.checkAvailablity').on(\"click\", function () {\n var errors = [];\n $('[data-calendar=\"datepicker\"]').each(function (ix, el) {\n var isShowing = $(this).closest('[data-child-col]').hasClass('active');\n if (isShowing) {\n var value = $(this).siblings('input[type=\"hidden\"]').val();\n if (value == '1.01.0001 00:00:00' || value == '') { $(this).addClass('input-validation-error'); errors.push($(this)); } else { $(this).removeClass('input-validation-error'); }\n }\n });\n if (errors.length == 0) {\n $('#searchForm').validate();\n $('#searchForm').submit();\n }\n});\n\n$('#btnSearchRoom').on(\"click\", function (evt) {\n var selectedhotelId = document.getElementById('inpHotelId').value;\n if (selectedhotelId !== null && selectedhotelId > 0) {\n if (sameDaysSelected()) {\n evt.stopPropagation();\n $('#base-datepickers').data('dateRangePicker').open();\n $('.dropdown.adult-box').removeClass('show');\n } else if (!validateChildAges()) {\n evt.stopPropagation();\n $('#btnAdultBoxTrigger').dropdown('toggle');\n } else {\n $('#searchForm').validate();\n $('#searchForm').submit();\n }\n } else {\n evt.stopPropagation();\n $('#hotelSelectddl').dropdown('toggle');\n }\n});\n\n$('#inpHasFlight').each(function () { var $this = $(this); $this.change(function () { $('#flightModal').modal('show'); }); });\n\n//#region Deprecated Feature Fix - Use `MutationObserver` instead of `DOMSubtreeModified`\n\n/** [Deprecation] Listener added for a synchronous 'DOMSubtreeModified' DOM Mutation Event.\n * \tThis event type is deprecated (https://w3c.github.io/uievents/#legacy-event-types) and work is underway to remove it from this browser.\n * \tUsage of this event listener will cause performance issues today, and represents a risk of future incompatibility.\n * \tConsider using MutationObserver instead.\n */\n\n// Create a MutationObserver for #adultCount\nvar adultCountObserver = new MutationObserver(function (mutations) {\n mutations.forEach(function (mutation) {\n // Code to run when a DOM change occurs for #adultCount\n var thisValue = $(mutation.target).text().trim();\n $('#adultCountText').text(thisValue);\n $('#inpAdultCount').val(thisValue);\n });\n});\n\n// Create a MutationObserver for #childCount\nvar childCountObserver = new MutationObserver(function (mutations) {\n mutations.forEach(function (mutation) {\n // Code to run when a DOM change occurs for #childCount\n var thisValue = $(mutation.target).text().trim();\n $('#childCountText').text(thisValue);\n $('#inpChildCount').val(thisValue);\n });\n});\n\n// Observe changes for #adultCount and #childCount\nadultCountObserver.observe(document.getElementById('adultCount'), { childList: true });\nchildCountObserver.observe(document.getElementById('childCount'), { childList: true });\n//#endregion\n\n$('#inpHotelId').change(function (event) {\n $('#base-datepickers').data('dateRangePicker').open();\n event.preventDefault();\n event.stopPropagation();\n});\n\nconst setChildCount = hotelValue => {\n if (hotelValue == '10') {\n var count = parseInt($('#childCount.count').text());\n for (let index = 0; index < count; index++) { $('.child-block .btn.btn--minus').click(); }\n $('.minus-plus.child-block').addClass('d-none');\n } else { $('.minus-plus.child-block').removeClass('d-none'); }\n};\n\nconst checkAndHidePrePaymentText = hotelId => {\n var messageDiv = document.getElementById('prePaymentMessage');\n if (messageDiv) {\n // if (Number(hotelId) == 9 || Number(hotelId) == 10) {\n messageDiv.style.display = 'block';\n // } else messageDiv.style.display = 'none';\n }\n};\n\nvar selectedHotelId = $('#inpHotelId').val();\ncheckAndHidePrePaymentText(selectedHotelId);\ndocument.querySelectorAll('.hotelId-item').forEach(x => {\n var hotelValue = x.dataset.value;\n var hotelIdInput = document.getElementById('inpHotelId');\n x.addEventListener('click', function (event) {\n hotelIdInput.value = hotelValue;\n //checkAndHidePrePaymentText(hotelValue);\n localStorage.setItem('selectedHotelId', hotelValue);\n event.stopPropagation();\n hotelIdInput.dispatchEvent(new Event('change'));\n $('#hotelSelectddl').dropdown('toggle');\n setChildCount(hotelValue);\n });\n if (hotelValue == hotelIdInput.value) { document.getElementById('hotelSelectddl').innerText = x.text; }\n});\n\nsetChildCount(selectedHotelId);\n\n$('#base-datepickers').bind('datepicker-closed', function () { $('#btnAdultBoxTrigger').dropdown('toggle'); });\n\n$('header').before($('#flightModal'));\n// #endregion BOOK CALENDAR\n\n// #region FORMS\nfunction validateForm(elem) {\n var elemID = elem.id;\n var recaptcha = document.forms[elemID]['g-recaptcha-response'].value;\n if (recaptcha == '') { document.querySelectorAll('.g-recaptcha').forEach(function (e) { e.style.border = 'solid 1px red'; }); return false; }\n else { document.querySelectorAll('.g-recaptcha').forEach(function (e) { e.style.border = ''; }); return true; }\n}\n\nfunction postToCrm(formData, formId) {\n if (validateForm({ id: formId })) {\n $.ajax({\n type: 'POST',\n contentType: 'application/x-www-form-urlencoded; charset=utf-8',\n url: '/tr/book-SaveCallRequest',\n data: formData,\n crossDomain: true,\n success: function (response) { console.log(response); showSuccessModal(formData); document.getElementById(formId).reset(); },\n error: function (response) { console.log(response); showErrorModal(); },\n });\n $('#' + formId).find('.is-valid').removeClass('is-valid');\n }\n}\n\nfunction postToSubscription(subFormData, subFormId) {\n $.ajax({\n type: 'POST',\n contentType: 'application/x-www-form-urlencoded; charset=utf-8',\n url: '/tr/book-SaveSubscriptionRequest',\n data: subFormData,\n crossDomain: true,\n success: function (res) {\n console.log(res);\n $('#responseSubscribeModal .modal-title').addClass('d-none');\n $('#responseSubscribeModal .modal-title.success').removeClass('d-none');\n $('#responseSubscribeModal').modal('show');\n $('#responseSubscribeModal').show();\n $('#responseSuccess').removeClass('d-none');\n $('#responseFail').addClass('d-none');\n document.getElementById('subscribeForm').reset();\n /* \n $('#responseModal').modal('show');\n $('#responseModal').show();\n $('#responseSuccess').removeClass('d-none');\n $('#responseFail').addClass('d-none');\n document.getElementById(\"subscribeForm\").reset();\n */\n },\n error: function (res) {\n console.log(res);\n $('#responseSubscribeModal').modal('show');\n $('#responseSubscribeModal').show();\n $('#responseSuccess').addClass('d-none');\n $('#responseFail').removeClass('d-none');\n /* \n $('#responseModal').modal('show');\n $('#responseModal').show();\n $('#responseSuccess').addClass('d-none');\n $('#responseFail').removeClass('d-none');\n */\n },\n });\n $('#subscribeForm').find('.is-valid').removeClass('is-valid');\n}\n\nfunction saveRoyalty() {\n var formMemberToken = $('input[name=__RequestVerificationToken]').val();\n var royaltyFormData = {\n Name: $('input[name=memberName]').val(),\n Surname: $('input[name=memberSurname]').val(),\n BirthDate: $('input[name=memberBirthDate]').val(),\n RoyaltyCardType: $('select[name=memberRoyaltyCardType]').val(),\n RoyaltyCardNo: $('input[name=memberCardNumber]').val(),\n Email: $('input[name=memberEmail]').val(),\n HotelFidelioCode: $('select[name=memberHotelFidelioCode]').val(),\n Note: $('textarea[name=memberNote]').val(),\n LangCode: $('html').prop('lang'),\n QuestionAndBulletin: $('input[name=memberQuestionAndBulletin]:checked').val(),\n ChainId: '2',\n DomainAddress: window.location.href,\n g_recaptcha_response:$('#hotelMemberForm').find('[id*=\"g-recaptcha\"]').val(),\n };\n\n $.ajax({\n type: 'POST',\n contentType: 'application/x-www-form-urlencoded; charset=utf-8',\n url: '/tr/book-RoyaltyMemberSave',\n data: royaltyFormData,\n crossDomain: true,\n success: function (response) { console.log(response); showSuccessModal(); document.getElementById('hotelMemberForm').reset(); },\n error: function (response) { console.log(response); showErrorModal(); },\n });\n\n $('#hotelMemberForm').find('.is-valid').removeClass('is-valid');\n}\n\nfunction VoyageMemberCardSelect() {\n var CardValue = $('select[name=memberRoyaltyCardType]').val();\n if (CardValue == '1' || CardValue == '') {\n $('input[name=memberCardNumber]').removeAttr('required');\n $('input[name=memberCardNumber]').attr('disabled', 'disabled');\n $('input[name=memberCardNumber]').removeClass('is-invalid');\n } else {\n $('input[name=memberCardNumber]').removeAttr('disabled');\n $('input[name=memberCardNumber]').attr('required', 'true');\n }\n}\n\ndocument.addEventListener('currentHotel', (e) => {\n console.debug('`currentHotel` is ready:', currentHotel);\n\n $(`[data-value='${currentHotel?.id}']`).addClass('selected');\n var hotelname = $(`[data-value='${currentHotel?.id}']`).text();\n $('#hotelSelectddl').text(hotelname);\n $('#inpHotelId').val(currentHotel?.id);\n \n /* callReqForm btn */\n $('#btnHotelSelectionTrigger').val(currentHotel?.code);\n \n});\n\n$.validator.setDefaults({\n submitHandler: function (frm) {\n var $frm = $(frm);\n console.debug(`submitHandler:::`, frm, $frm)\n if ($frm.attr('id') === 'searchForm') {\n /* Use ExternalSearch(); */ // useLoadingEffect(); frm.submit();\n let params = Object.fromEntries(new FormData(document.forms.searchForm));\n ExternalSearch(params, '_blank');\n /* Stop the form submit process */ return false;\n\n } else if ($frm.attr('id') === 'callReqForm') {\n if (validateForm({ id: \"callReqForm\" })) {\n useSendingEffect({\n btnId: '#SendCallUsBtn',\n delay: 2500,\n callback: function () {\n var callusformid = $frm.attr('id');\n var callusformdata = {\n HotelCode: $('#btnHotelSelectionTrigger').val(),\n Country: $('#ddlCountrySelect option:selected').data('country') + ' (' + $('#ddlCountrySelect option:selected').val() + ')',\n FirstName: $('#staticNameSurname').val(),\n LastName: $('#staticLastName').val(),\n Email: $('#staticEmail').val(),\n PhoneCountryCode: $('#ddlCountrySelect').val(),\n Phone: $('#staticPhoneNo').val(),\n RequestReason: $('#btnRequestReasonTrigger').val(),\n Description: $('#complaintAndSuggestion').val(),\n CallDateHour: $('#btnCallHoursTrigger option:selected').text(),\n HotelGroup: currentHotel?.group,\n g_recaptcha_response: $frm.find('[id*=\"g-recaptcha\"]').val(),\n };\n $('#callYouModal').modal('hide');\n postToCrm(callusformdata, callusformid);\n contactUsDataLayerTrigger();\n },\n });\n }\n } else if ($frm.attr('id') === 'subscribeForm') {\n if (validateForm({ id: \"subscribeForm\" })) {\n var subscribeFormId = $frm.attr('id');\n var subscribeFormData = {\n Name: $('#staticName').val(),\n LastName: $('#staticSurname').val(),\n Email: $('#staticsubEmail').val(),\n Language: $('#selectLanguage').val(),\n ChainId: '2',\n DomainAddress: window.location.href,\n g_recaptcha_response: $('#subscribeForm').find('[id*=\"g-recaptcha\"]').val(),\n };\n $('#subscribeModal').hide();\n $('.modal-backdrop').hide();\n postToSubscription(subscribeFormData, subscribeFormId);\n }\n } else if ($frm.attr('id') === 'contactform') {\n var contactformid = $frm.attr('id');\n var contactformdata = {\n HotelCode: currentHotel?.code,\n Country: $('#ddlCountrySelectContact').val(),\n FirstName: $('#contactNameSurname').val(),\n LastName: $('#contactLastName').val(),\n Email: $('#contactEmail').val(),\n PhoneCountryCode: $('#ddlCountrySelectContact').val(),\n Phone: $('#contactStaticPhoneNo').val().replace(' ', ''),\n RequestReason: $('#contactBtnRequestReasonTrigger').val(),\n CallDateHour: $('#contactBtnCallHoursTrigger').val(),\n HotelGroup: currentHotel?.group,\n g_recaptcha_response: $frm.find('[id*=\"g-recaptcha\"]').val(),\n // description: $('#txtnotes').val(),\n };\n postToCrm(contactformdata, contactformid);\n } else if ($frm.attr('id') === 'hotelMemberForm') {\n useSendingEffect({ btnId: '#memberFormSubmit', delay: 2500, callback: function () { saveRoyalty(); }, });\n } else { frm.submit(); }\n },\n});\n\n$('#callReqForm').validate({\n rules: {\n staticNameSurname: 'required',\n staticLastName: 'required',\n staticPhoneNo: 'required',\n staticEmail: {\n required: true,\n email: true,\n },\n customControlAutosizing: 'required',\n },\n //messages: {\n //\tstaticnamesurname: \" \",\n //\t\tstaticphoneno: \" \",\n //\tstaticemail: \" \",\n //\tcustomcontrolautosizing: \" \"\n //},\n errorElement: 'em',\n errorPlacement: function (error, element) {\n // Add the `invalid-feedback` class to the error element\n error.addClass('invalid-feedback');\n\n //if ( element.prop( \"type\" ) === \"checkbox\" ) {\n //\terror.insertAfter( element.next( \"label\" ) );\n //} else {\n //\terror.insertAfter( element );\n //}\n },\n highlight: function (element, errorClass, validClass) {\n $(element).addClass('is-invalid').removeClass('is-valid');\n },\n unhighlight: function (element, errorClass, validClass) {\n $(element).addClass('is-valid').removeClass('is-invalid');\n },\n});\n$('#hotelMemberForm').validate({\n rules: {\n memberName: 'required',\n memberSurname: 'required',\n memberBirthDate: 'required',\n memberRoyaltyCardType: 'required',\n memberEmail: {\n required: true,\n email: true,\n },\n memberHotelFidelioCode: 'required',\n memberNote: 'required',\n memberAcceptSubscribeRule: 'required',\n },\n //messages: {\n //\tstaticnamesurname: \" \",\n //\t\tstaticphoneno: \" \",\n //\tstaticemail: \" \",\n //\tcustomcontrolautosizing: \" \"\n //},\n errorElement: 'em',\n errorPlacement: function (error, element) {\n // Add the `invalid-feedback` class to the error element\n error.addClass('invalid-feedback');\n\n //if ( element.prop( \"type\" ) === \"checkbox\" ) {\n //\terror.insertAfter( element.next( \"label\" ) );\n //} else {\n //\terror.insertAfter( element );\n //}\n },\n highlight: function (element, errorClass, validClass) {\n $(element).addClass('is-invalid').removeClass('is-valid');\n },\n unhighlight: function (element, errorClass, validClass) {\n $(element).addClass('is-valid').removeClass('is-invalid');\n },\n});\n$('#subscribeForm').validate({\n rules: {\n staticsubEmail: {\n required: true,\n email: true,\n },\n staticEmailAgain: {\n required: true,\n email: true,\n equalTo: '#staticsubEmail',\n },\n staticName: 'required',\n staticSurname: 'required',\n selectLanguage: 'required',\n pipaAuthorize: 'required',\n },\n //messages: {\n //\tstaticnamesurname: \" \",\n //\t\tstaticphoneno: \" \",\n //\tstaticemail: \" \",\n //\tcustomcontrolautosizing: \" \"\n //},\n errorElement: 'em',\n errorPlacement: function (error, element) {\n // Add the `invalid-feedback` class to the error element\n error.addClass('invalid-feedback');\n\n //if ( element.prop( \"type\" ) === \"checkbox\" ) {\n //\terror.insertAfter( element.next( \"label\" ) );\n //} else {\n //\terror.insertAfter( element );\n //}\n },\n highlight: function (element, errorClass, validClass) {\n $(element).addClass('is-invalid').removeClass('is-valid');\n },\n unhighlight: function (element, errorClass, validClass) {\n $(element).addClass('is-valid').removeClass('is-invalid');\n },\n});\n$('#contactForm').validate({\n rules: {\n contactNameSurname: 'required',\n contactLastName: 'required',\n contactStaticPhoneNo: 'required',\n contactBtnRequestReasonTrigger: 'required',\n contactbtncallhourstrigger: 'required',\n contactEmail: {\n required: true,\n email: true,\n },\n chkKVKK: 'required',\n },\n //messages: {\n //\tstaticnamesurname: \" \",\n //\t\tstaticphoneno: \" \",\n //\tstaticemail: \" \",\n //\tcustomcontrolautosizing: \" \"\n //},\n errorElement: 'em',\n errorPlacement: function (error, element) {\n // Add the `invalid-feedback` class to the error element\n error.addClass('invalid-feedback');\n\n //if ( element.prop( \"type\" ) === \"checkbox\" ) {\n //\terror.insertAfter( element.next( \"label\" ) );\n //} else {\n //\terror.insertAfter( element );\n //}\n },\n highlight: function (element, errorClass, validClass) {\n $(element).addClass('is-invalid').removeClass('is-valid');\n },\n unhighlight: function (element, errorClass, validClass) {\n $(element).addClass('is-valid').removeClass('is-invalid');\n },\n});\n$('#subscribeModal').on('shown.bs.modal', function () { $('#selectLanguage').val($('html').attr('lang').toUpperCase()); });\n// #endregion FORMS\n\n// #region Flight or Availability Not Found Start\nvar searchWrapper = document.getElementsByClassName('search-wrapper')[0];\nvar searchBox = document.getElementsByClassName('search-box')[0];\nvar newSearch = document.getElementById('newSearch');\nif (newSearch) {\n newSearch.addEventListener('click', function (e) {\n if(!$(searchBox).hasClass(\"expanded\")) { $(searchBox).addClass(\"expanded\") }\n if(!$(searchWrapper).hasClass(\"is-shown\")) { $(searchWrapper).addClass(\"is-shown\") }\n $('#base-datepickers').data('dateRangePicker').open();\n e.preventDefault();\n e.stopPropagation();\n });\n}\n\ndocument.querySelectorAll('#continueWithoutFlight').forEach(x => {\n x.addEventListener('click', function () {\n var flightCheckbox = document.getElementById('chkFlightSelect');\n flightCheckbox.checked = false;\n flightCheckbox.value = false;\n $('#searchForm').validate();\n $('#searchForm').submit();\n });\n});\n// #endregion Flight or Availability Not Found End\n\n// $('.phoneNumber').mask('000 000 00 00');\n\n//Hide reservation button after search if success\n(function () {\n if (document.body.dataset.inm == 'False') { $(\"#btnReservationTrigger\").addClass(\"d-none\"); }\n})();\n\n/**\n * Retrieves the reservation details transfers.\n * @returns {Array} An array containing the reservation details transfers.\n */\n const getReservationDetailsTransfers = () => {\n return [\n document.getElementsByClassName(\"js-reservation-details__transfers\")[0],\n document.getElementsByClassName(\"js-reservation-details__transfers-arrival\")[0],\n document.getElementsByClassName(\"js-reservation-details__transfers-departure\")[0]\n ];\n}\n\n/**\n * Removes the reservation details transfers based on the transfer type.\n * @param {string} transferType - The type of transfer ('arrival' or 'departure').\n */\nfunction removeReservationDetailsTransfers(transferType) {\n const [reservationDetailsTransfers, reservationDetailsTransfersArrival, reservationDetailsTransfersDeparture] = getReservationDetailsTransfers();\n\n // If either the arrival or departure transfer is missing, remove the reservation details transfers.\n if (!reservationDetailsTransfersArrival || !reservationDetailsTransfersDeparture) {\n reservationDetailsTransfers.remove();\n } else {\n // Remove the specific transfer type if provided.\n if (transferType === 'arrival') { reservationDetailsTransfersArrival.remove(); }\n if (transferType === 'departure') { reservationDetailsTransfersDeparture.remove(); }\n }\n}\n\n/**\n * Disables ECO arrival.\n * @param {ValidityState} validity - Validity state object\n */\nfunction disableEcoArrival(validity) {\n const noArrival = document.querySelectorAll(\".js-transfers__no-arrival\");\n const ecoArrivalInputs = document.querySelectorAll('.js-transfers__arrival-eco');\n const ecoArrivalListItems = document.querySelectorAll('.js-transfers__list-item-arrival-eco');\n\n for (const input of ecoArrivalInputs) {\n // If validity is invalid and the input is checked, reset the selection.\n if (!validity.valid && input.checked === true) {\n input.checked = false;\n noArrival[0].checked = true;\n // Remove the reservation details transfers for arrival.\n removeReservationDetailsTransfers(\"arrival\");\n }\n\n input.disabled = !validity.valid;\n }\n\n for (const item of ecoArrivalListItems) {\n // Enable or disable the list items based on the validity state.\n if (validity.valid) {\n item.classList.remove(\"transfers__list-item--disabled\");\n } else {\n item.classList.add(\"transfers__list-item--disabled\");\n }\n }\n}\n\n/**\n * Disables ECO departure.\n * @param {ValidityState} validity - Validity state object\n */\nfunction disableEcoDeparture(validity) {\n const noDeparture = document.querySelectorAll(\".js-transfers__no-departure\");\n const ecoDepartureInputs = document.querySelectorAll('.js-transfers__departure-eco');\n const ecoDepartureListItems = document.querySelectorAll('.js-transfers__list-item-departure-eco');\n\n for (const input of ecoDepartureInputs) {\n // If validity is invalid and the input is checked, reset the selection.\n if (!validity.valid && input.checked === true) {\n input.checked = false;\n noDeparture[0].checked = true;\n // Remove the reservation details transfers for departure.\n removeReservationDetailsTransfers(\"departure\");\n }\n\n input.disabled = !validity.valid;\n }\n\n for (const item of ecoDepartureListItems) {\n // Enable or disable the list items based on the validity state.\n if (validity.valid) {\n item.classList.remove(\"transfers__list-item--disabled\");\n } else {\n item.classList.add(\"transfers__list-item--disabled\");\n }\n }\n}","/*!\n * cookie-gdpr.js v1.0.0.beta.2\n * (c) 2024 Klonbits, Inc.\n * All rights reserved.\n */\n\n//#region Cookie names\nconst GDPR_MODAL_ID = \"#gdprModal\"\nconst GDPR_ALERT = \"GDPR_ALERT\"\nconst GDPR_PERM = \"GDPR_PERM\"\n//#endregion Cookie names\n\n//#region Check cookies ::: Check is GDPR_ALERT showed?\nif (Cookies.get(GDPR_ALERT) !== '1') {\n console.debug(GDPR_ALERT, Cookies.get(GDPR_PERM), Cookies.get(GDPR_ALERT))\n // Set default values for `GDPR_ALERT` & `GDPR_PERM` cookie\n Cookies.set(GDPR_ALERT, 0)\n Cookies.set(GDPR_PERM, 0)\n // Show modal\n $(GDPR_MODAL_ID).addClass(\"show\")\n\n //\n console.debug(GDPR_ALERT, Cookies.get(GDPR_PERM), Cookies.get(GDPR_ALERT))\n}\n//#endregion Check cookies ::: Check is GDPR_ALERT showed?\n\n//#region Set cookies\nfunction setGDPRPreferences(gdprPermPreferences = 0) {\n // Set Preferences\n Cookies.set(GDPR_ALERT, 1)\n Cookies.set(GDPR_PERM, gdprPermPreferences)\n\n // Hide modal\n $(GDPR_MODAL_ID).removeClass(\"show\")\n}\n//#endregion Set cookies\n"]}