{"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","async","fillCountryCodes","lang","currentLang","optionsHTML","fetch","then","json","code","name_Code","blur","blurHandler","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","aspectRatio","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","firstScriptTag","getElementsByTagName","insertBefore","cssClass","loadMap","mapDiv","script","charset","firstScript","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","iHotelier","FormatDate","inputDate","parsedDate","GetHotelID","HotelId","GetLanguageID","de","ru","GetParams","DateOut","DateIn","Adults","Children","LanguageID","Rooms","GenerateExternalURL","URL","entries","searchParams","ExternalSearch","$searchBox","searchBox","$roomItem","roomItemTop","topAmount","roomImageSliders","observer","observeParents","initialValues","hours","minutes","range","step","values","slide","ui","change","minTime","maxTime","filterType","filterTypes","filterValues","getFilters","filterResults","takeFirstFive","maxLength","insertAfter","$flightBlock","lastOffset","paymentMehtod","$stepList","searchStep","pathname","prevAll","cultureName","autocomplete","source","request","response","dataType","keyword","term","autoFill","matchCase","selectFirst","$inpElem","selectedRoomId","localStorage","first","errors","ix","evt","selectedhotelId","validateChildAges","dropdown","thisValue","setChildCount","hotelValue","messageDiv","selectedHotelId","hotelIdInput","setItem","innerText","before","postToCrm","formData","formId","contentType","crossDomain","log","showSuccessModal","showErrorModal","validator","setDefaults","submitHandler","frm","subFormData","$frm","fromEntries","FormData","forms","searchForm","callusformid","callusformdata","hotelcode","country","firstname","lastname","email","phonecountrycode","phone","requestreason","calldatehour","hotelgroup","g_recaptcha_response","contactUsDataLayerTrigger","subscribeFormData","Name","LastName","Email","Language","ChainId","DomainAddress","res","contactformid","gethotelcode","royaltyFormData","Surname","BirthDate","RoyaltyCardType","RoyaltyCardNo","HotelFidelioCode","Note","LangCode","QuestionAndBulletin","saveRoyalty","rules","staticNameSurname","staticLastName","staticPhoneNo","staticEmail","required","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","hotelId","getHotelId","hotelname","getHotelCode","inm","dataLayer","campaign_id","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) 2023 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) 2023 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\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}\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}\nfunction blurHandler(s) { s.blur(); }\n//navigation start\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//navigation end\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/* #endregion Loading Effect / Block UI Common Function */","/*!\n * functions.js\n * (c) 2023 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\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) 2023 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) 2023 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) 2023 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) 2023 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$('.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\t});\n\n});\n","/*!\n * search-external.js\n * (c) 2023 Klonbits, Inc.\n * All rights reserved.\n */\nconst iHotelier = {\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('MM/DD/YYYY'); }\n\t\treturn 'Invalid Date';\n\t},\n\tGetHotelID: (HotelId) => {\n\t\t/* iHotelier HotelID mappings corresponding to `HotelId`. */\n\t\tconst HotelIDMappings = {\n\t\t\t5: { title: 'Voyage Belek Golf & Spa', code: '115962' },\n\t\t\t7: { title: 'Voyage Torba', code: '115960' },\n\t\t\t8: { title: 'Voyage Torba Private', code: '115960' },\n\t\t\t9: { title: 'Voyage Sorgun', code: '115958' }\n\t\t};\n\t\treturn HotelIDMappings[HotelId]?.code || '115962';\n\t},\n\tGetLanguageID: (lang) => {\n\t\t/* iHotelier LanguageID mappings corresponding to `lang`.\n\t\t\tReturns 'en' LanguageID when 'de' language code is provided */\n\t\tconst LanguageIDMappings = { 'en': '1', 'tr': '19', 'de': '1', 'ru': '9' };\n\t\treturn LanguageIDMappings[lang.toLowerCase()] || '1';\n\t},\n\tGetParams: (p) => {\n\t\treturn {\n\t\t\tDateOut: iHotelier.FormatDate(lang, p[\"CheckOut.Date\"]),\n\t\t\tDateIn: iHotelier.FormatDate(lang, p[\"CheckIn.Date\"]),\n\t\t\tAdults: p[\"AdultsCount\"],\n\t\t\tChildren: p[\"ChildrenCount\"],\n\t\t\tLanguageID: iHotelier.GetLanguageID(lang),\n\t\t\tRooms: '1',\n\t\t\tHotelId: p[\"HotelId\"],\n\t\t\t// Children2: '1'\n\t\t}\n\t},\n\tGenerateExternalURL: function (p) {\n\t\tconst url = new URL(`https://bookings.travelclick.com/${iHotelier.GetHotelID(p[\"HotelId\"])}`);\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(iHotelier.GenerateExternalURL(iHotelier.GetParams(params)), (target || '_blank'))\n}","/*!\n * search-custom.js\n * (c) 2023 Klonbits, Inc.\n * All rights reserved.\n */\n \n$(function () {\n $('#callYouModal').on('shown.bs.modal', function () {\n $('#voyageMembersModal').modal('hide');\n });\n\n $('.reservation-details-total .trigger').on('click', function (e) {\n var ww = $(window).width();\n\n e.preventDefault();\n\n if (ww < 1280) {\n $(this).closest('.reservation-details').toggleClass('is-shown');\n $('body').toggleClass('no-scroll-body');\n }\n });\n\n $('.btnEditSearch').on('click', function () {\n var $searchBox = $(this).closest('.search-box');\n\n $searchBox.toggleClass('expanded');\n\n $('html,body').animate(\n {\n scrollTop: $searchBox.offset().top - 100,\n },\n 750,\n );\n });\n\n var searchBox = document.querySelector('.search-box');\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) {\n $(this).closest('.room-item').removeClass('is-shown');\n } 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(\n {\n scrollTop: $roomItem.hasClass('is-shown') ? roomItemTop : topAmount,\n },\n 750,\n );\n\n $(this).closest('.room-item').toggleClass('is-shown');\n }\n });\n });\n\n var roomImageSliders = [];\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: {\n prevEl: '.slider-icons.slider-icons--prev',\n nextEl: '.slider-icons.slider-icons--next',\n },\n lazy: {\n elementClass: 'lazy',\n loadPrevNext: true,\n loadedClass: 'lazy-loaded',\n },\n breakpoints: {\n 767.99: {\n slidesPerView: 3,\n },\n 1279.99: {\n slidesPerView: 4,\n },\n },\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')) {\n $(this).removeClass('checked');\n } else {\n $(this).addClass('checked');\n }\n });\n });\n\n $('[name*=-transfers]').each(function () {\n $(this).on('change', function () {\n $(this).closest('.transfers__list').addClass('is-shown');\n });\n });\n\n $('.search-details [class*=--filters]').on('click', function (e) {\n e.preventDefault();\n\n if ($(window).outerWidth() < 1280) {\n $('.flight-filter').toggleClass('is-shown');\n }\n });\n\n function 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 UISliderInit();\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) {\n $(moreFlightButtonItem).insertAfter($this);\n }\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(\n {\n scrollTop: lastOffset > 2000 ? lastOffset / 1.375 : lastOffset / 2,\n },\n 1000,\n );\n\n if ($flightBlock.find('.flight-item:hidden').length == 0) {\n $this.removeClass('show-more');\n } else {\n $this.addClass('show-more');\n }\n });\n\n $('.bg-plus-circle').on('click', function () {\n $(this).toggleClass('is-shown');\n });\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 () {\n $(this).is(':checked') ? $('#flightModal').modal('show') : '';\n });\n\n // Flight Popup input autocomplete codes.\n var cultureName = 'en';\n var url = window.location.href;\n if (url.indexOf('/tr/') > 0) cultureName = 'tr';\n else if (url.indexOf('/en/') > 0) cultureName = 'en';\n if (url.indexOf('/de/') > 0) cultureName = 'en';\n if (url.indexOf('/ru/') > 0) cultureName = 'ru';\n\n //var availableAirports = [];\n //$.ajax({\n // type: \"GET\",\n // url: \"/\" + cultureName + \"/book-FlightAirportSearch\",\n // dataType: \"json\"\n //})\n //.done(function (data) {\n // var list = data;\n // $.each(list, function (index, item) {\n // availableAirports.push(item);\n // });\n //})\n //.fail(function (xhr) {\n // console.log(xhr.responseText);\n //});\n\n // var accentMap = {\n // ẚ: 'a', Á: 'a', á: 'a', À: 'a',à: 'a', Ă: 'a', ă: 'a', Ắ: 'a', ắ: 'a', Ằ: 'a', ằ: 'a', Ẵ: 'a', ẵ: 'a', Ẳ: 'a', ẳ: 'a', Â: 'a', â: 'a', Ấ: 'a', ấ: 'a', Ầ: 'a', ầ: 'a', Ẫ: 'a', ẫ: 'a', Ẩ: 'a', ẩ: 'a', Ǎ: 'a', ǎ: 'a', Å: 'a', å: 'a', Ǻ: 'a', ǻ: 'a', Ä: 'a', ä: 'a', Ǟ: 'a', ǟ: 'a', Ã: 'a', ã: 'a', Ȧ: 'a', ȧ: 'a', Ǡ: 'a', ǡ: 'a', Ą: 'a', ą: 'a', Ā: 'a', ā: 'a', Ả: 'a', ả: 'a', Ȁ: 'a', ȁ: 'a', Ȃ: 'a', ȃ: 'a', Ạ: 'a', ạ: 'a', Ặ: 'a', ặ: 'a', Ậ: 'a', ậ: 'a', Ḁ: 'a', ḁ: 'a', Ⱥ: 'a', ⱥ: 'a', Ǽ: 'a', ǽ: 'a', Ǣ: 'a', ǣ: 'a', Ḃ: 'b', ḃ: 'b', Ḅ: 'b', ḅ: 'b', Ḇ: 'b', ḇ: 'b', Ƀ: 'b', ƀ: 'b', ᵬ: 'b', Ɓ: 'b', ɓ: 'b', Ƃ: 'b', ƃ: 'b', Ć: 'c', ć: 'c', Ĉ: 'c', ĉ: 'c', Č: 'c', č: 'c', Ċ: 'c', ċ: 'c', Ç: 'c', ç: 'c', Ḉ: 'c', ḉ: 'c', Ȼ: 'c', ȼ: 'c', Ƈ: 'c', ƈ: 'c', ɕ: 'c', Ď: 'd', ď: 'd', Ḋ: 'd', ḋ: 'd', Ḑ: 'd', ḑ: 'd', Ḍ: 'd', ḍ: 'd', Ḓ: 'd', ḓ: 'd', Ḏ: 'd', ḏ: 'd', Đ: 'd', đ: 'd', ᵭ: 'd', Ɖ: 'd', ɖ: 'd', Ɗ: 'd', ɗ: 'd', Ƌ: 'd', ƌ: 'd', ȡ: 'd', ð: 'd', É: 'e', Ə: 'e', Ǝ: 'e', ǝ: 'e', é: 'e', È: 'e', è: 'e', Ĕ: 'e', ĕ: 'e', Ê: 'e', ê: 'e', Ế: 'e', ế: 'e', Ề: 'e', ề: 'e', Ễ: 'e', ễ: 'e', Ể: 'e', ể: 'e', Ě: 'e', ě: 'e', Ë: 'e', ë: 'e', Ẽ: 'e', ẽ: 'e', Ė: 'e', ė: 'e', Ȩ: 'e', ȩ: 'e', Ḝ: 'e', ḝ: 'e', Ę: 'e', ę: 'e', Ē: 'e', ē: 'e', Ḗ: 'e', ḗ: 'e', Ḕ: 'e', ḕ: 'e', Ẻ: 'e', ẻ: 'e', Ȅ: 'e', ȅ: 'e', Ȇ: 'e', ȇ: 'e', Ẹ: 'e', ẹ: 'e', Ệ: 'e', ệ: 'e', Ḙ: 'e', ḙ: 'e', Ḛ: 'e', ḛ: 'e', Ɇ: 'e', ɇ: 'e', ɚ: 'e', ɝ: 'e', Ḟ: 'f', ḟ: 'f', ᵮ: 'f', Ƒ: 'f', ƒ: 'f', Ǵ: 'g', ǵ: 'g', Ğ: 'g', ğ: 'g', Ĝ: 'g', ĝ: 'g', Ǧ: 'g', ǧ: 'g', Ġ: 'g', ġ: 'g', Ģ: 'g', ģ: 'g', Ḡ: 'g', ḡ: 'g', Ǥ: 'g', ǥ: 'g', Ɠ: 'g', ɠ: 'g', Ĥ: 'h', ĥ: 'h', Ȟ: 'h', ȟ: 'h', Ḧ: 'h', ḧ: 'h', Ḣ: 'h', ḣ: 'h', Ḩ: 'h', ḩ: 'h', Ḥ: 'h', ḥ: 'h', Ḫ: 'h', ḫ: 'h', H: 'h', '̱': 'h', ẖ: 'h', Ħ: 'h', ħ: 'h', Ⱨ: 'h', ⱨ: 'h', Í: 'i', í: 'i', Ì: 'i', ì: 'i', Ĭ: 'i', ĭ: 'i', Î: 'i', î: 'i', Ǐ: 'i', ǐ: 'i', Ï: 'i', ï: 'i', Ḯ: 'i', ḯ: 'i', Ĩ: 'i', ĩ: 'i', İ: 'i', i: 'i', Į: 'i', į: 'i', Ī: 'i', ī: 'i', Ỉ: 'i', ỉ: 'i', Ȉ: 'i', ȉ: 'i', Ȋ: 'i', ȋ: 'i', Ị: 'i', ị: 'i', Ḭ: 'i', ḭ: 'i', I: 'i', ı: 'i', Ɨ: 'i', ɨ: 'i', Ĵ: 'j', ĵ: 'j', \n // J: 'j', '̌': 'j', ǰ: 'j', ȷ: 'j', Ɉ: 'j', ɉ: 'j', ʝ: 'j', ɟ: 'j', ʄ: 'j', Ḱ: 'k', ḱ: 'k', Ǩ: 'k', ǩ: 'k', Ķ: 'k', ķ: 'k', Ḳ: 'k', ḳ: 'k', Ḵ: 'k', ḵ: 'k', Ƙ: 'k', ƙ: 'k', Ⱪ: 'k', ⱪ: 'k', Ĺ: 'a', ĺ: 'l', Ľ: 'l', ľ: 'l', Ļ: 'l', ļ: 'l', Ḷ: 'l', ḷ: 'l', Ḹ: 'l', ḹ: 'l', Ḽ: 'l', ḽ: 'l', Ḻ: 'l', ḻ: 'l', Ł: 'l', ł: 'l', Ł: 'l', '̣': 'l', ł: 'l', '̣': 'l', Ŀ: 'l', ŀ: 'l', Ƚ: 'l', ƚ: 'l', Ⱡ: 'l', ⱡ: 'l', Ɫ: 'l', ɫ: 'l', ɬ: 'l', ɭ: 'l', ȴ: 'l', Ḿ: 'm', ḿ: 'm', Ṁ: 'm', ṁ: 'm', Ṃ: 'm', ṃ: 'm', ɱ: 'm', Ń: 'n', ń: 'n', Ǹ: 'n', ǹ: 'n', Ň: 'n', ň: 'n', Ñ: 'n', ñ: 'n', Ṅ: 'n', ṅ: 'n', Ņ: 'n', ņ: 'n', Ṇ: 'n', ṇ: 'n', Ṋ: 'n', ṋ: 'n', Ṉ: 'n', ṉ: 'n', Ɲ: 'n', ɲ: 'n', Ƞ: 'n', ƞ: 'n', ɳ: 'n', ȵ: 'n', N: 'n', '̈': 'n', n: 'n', '̈': 'n', Ó: 'o', ó: 'o', Ò: 'o', ò: 'o', Ŏ: 'o', ŏ: 'o', Ô: 'o', ô: 'o', Ố: 'o', ố: 'o', Ồ: 'o', ồ: 'o', Ỗ: 'o', ỗ: 'o', Ổ: 'o', ổ: 'o', Ǒ: 'o', ǒ: 'o', Ö: 'o', ö: 'o', Ȫ: 'o', ȫ: 'o', Ő: 'o', ő: 'o', Õ: 'o', õ: 'o', Ṍ: 'o', ṍ: 'o', Ṏ: 'o', ṏ: 'o', Ȭ: 'o', ȭ: 'o', Ȯ: 'o', ȯ: 'o', Ȱ: 'o', ȱ: 'o', Ø: 'o', ø: 'o', Ǿ: 'o', ǿ: 'o', Ǫ: 'o', ǫ: 'o', Ǭ: 'o', ǭ: 'o', Ō: 'o', ō: 'o', Ṓ: 'o', ṓ: 'o', Ṑ: 'o', ṑ: 'o', Ỏ: 'o', ỏ: 'o', Ȍ: 'o', ȍ: 'o', Ȏ: 'o', ȏ: 'o', Ơ: 'o', ơ: 'o', Ớ: 'o', ớ: 'o', Ờ: 'o', ờ: 'o', Ỡ: 'o', ỡ: 'o', Ở: 'o', ở: 'o', Ợ: 'o', ợ: 'o', Ọ: 'o', ọ: 'o', Ộ: 'o', ộ: 'o', Ɵ: 'o', ɵ: 'o', Ṕ: 'p', ṕ: 'p', Ṗ: 'p', ṗ: 'p', Ᵽ: 'p', Ƥ: 'p', ƥ: 'p', P: 'p', '̃': 'p', p: 'p', '̃': 'p', ʠ: 'q', Ɋ: 'q', ɋ: 'q', Ŕ: 'r', ŕ: 'r', Ř: 'r', ř: 'r', Ṙ: 'r',\n // ṙ: 'r', Ŗ: 'r', ŗ: 'r', Ȑ: 'r', ȑ: 'r', Ȓ: 'r', ȓ: 'r', Ṛ: 'r', ṛ: 'r', Ṝ: 'r', ṝ: 'r', Ṟ: 'r', ṟ: 'r', Ɍ: 'r', ɍ: 'r', ᵲ: 'r', ɼ: 'r', Ɽ: 'r', ɽ: 'r', ɾ: 'r', ᵳ: 'r', ß: 's', Ś: 's', ś: 's', Ṥ: 's', ṥ: 's', Ŝ: 's', ŝ: 's', Š: 's', š: 's', Ṧ: 's', ṧ: 's', Ṡ: 's', ṡ: 's', ẛ: 's', Ş: 's', ş: 's', Ṣ: 's', ṣ: 's', Ṩ: 's', ṩ: 's', Ș: 's', ș: 's', ʂ: 's', S: 's', '̩': 's', s: 's', '̩': 's', Þ: 't', þ: 't', Ť: 't', ť: 't', T: 't', '̈': 't', ẗ: 't', Ṫ: 't', ṫ: 't', Ţ: 't', ţ: 't', Ṭ: 't', ṭ: 't', Ț: 't', ț: 't', Ṱ: 't', ṱ: 't', Ṯ: 't', ṯ: 't', Ŧ: 't', ŧ: 't', Ⱦ: 't', ⱦ: 't', ᵵ: 't', ƫ: 't', Ƭ: 't', ƭ: 't', Ʈ: 't', ʈ: 't', ȶ: 't', Ú: 'u', ú: 'u', Ù: 'u', ù: 'u', Ŭ: 'u', ŭ: 'u', Û: 'u', û: 'u', Ǔ: 'u', ǔ: 'u', Ů: 'u', ů: 'u', Ü: 'u', ü: 'u', Ǘ: 'u', ǘ: 'u', Ǜ: 'u', ǜ: 'u', Ǚ: 'u', ǚ: 'u', Ǖ: 'u', ǖ: 'u', Ű: 'u', ű: 'u', Ũ: 'u', ũ: 'u', Ṹ: 'u', ṹ: 'u', Ų: 'u', ų: 'u', Ū: 'u', ū: 'u', Ṻ: 'u', ṻ: 'u', Ủ: 'u', ủ: 'u', Ȕ: 'u', ȕ: 'u', Ȗ: 'u', ȗ: 'u', Ư: 'u', ư: 'u', Ứ: 'u', ứ: 'u', Ừ: 'u', ừ: 'u', Ữ: 'u', ữ: 'u', Ử: 'u', ử: 'u', Ự: 'u', ự: 'u', Ụ: 'u', ụ: 'u', Ṳ: 'u', ṳ: 'u', Ṷ: 'u', ṷ: 'u', Ṵ: 'u', ṵ: 'u', Ʉ: 'u', ʉ: 'u', Ṽ: 'v', ṽ: 'v', Ṿ: 'v', ṿ: 'v', Ʋ: 'v', ʋ: 'v', Ẃ: 'w', ẃ: 'w', Ẁ: 'w', ẁ: 'w', Ŵ: 'w', ŵ: 'w', W: 'w', '̊': 'w', ẘ: 'w', Ẅ: 'w', ẅ: 'w', Ẇ: 'w', ẇ: 'w', Ẉ: 'w', ẉ: 'w', Ẍ: 'x', ẍ: 'x', Ẋ: 'x', ẋ: 'x', Ý: 'y', ý: 'y', Ỳ: 'y', ỳ: 'y', Ŷ: 'y', ŷ: 'y', Y: 'y', '̊': 'y', ẙ: 'y', Ÿ: 'y', ÿ: 'y', Ỹ: 'y', ỹ: 'y', Ẏ: 'y', ẏ: 'y', Ȳ: 'y', ȳ: 'y', Ỷ: 'y', ỷ: 'y', Ỵ: 'y', ỵ: 'y',\n // ʏ: 'y', Ɏ: 'y', ɏ: 'y', Ƴ: 'y', ƴ: 'y', Ź: 'z', ź: 'z', Ẑ: 'z', ẑ: 'z', Ž: 'z', ž: 'z', Ż: 'z', ż: 'z', Ẓ: 'z', ẓ: 'z', Ẕ: 'z', ẕ: 'z', Ƶ: 'z', ƶ: 'z', Ȥ: 'z', ȥ: 'z', ʐ: 'z', ʑ: 'z', Ⱬ: 'z', ⱬ: 'z', Ǯ: 'z', ǯ: 'z', ƺ: 'z', '2': '2','6': '6',B: 'B',F: 'F',J: 'J',N: 'N',R: 'R',V: 'V',Z: 'Z',b: 'b',f: 'f',j: 'j',n: 'n',r: 'r',v: 'v',z: 'z','1': '1','5': '5','9': '9',A: 'A',E: 'E',I: 'I',M: 'M',Q: 'Q',U: 'U',Y: 'Y',a: 'a',e: 'e',i: 'i',m: 'm',q: 'q',u: 'u',y: 'y','0': '0','4': '4','8': '8',D: 'D',H: 'H',L: 'L',P: 'P',T: 'T',X: 'X',d: 'd',h: 'h',l: 'l',p: 'p',t: 't',x: 'x','3': '3','7': '7',C: 'C',G: 'G',K: 'K',O: 'O',S: 'S',W: 'W',c: 'c',g: 'g',k: 'k',o: 'o',s: 's',w: 'w' };\n // var normalize = function (term) {\n // var ret = '';\n // for (var i = 0; i < term.length; i++) {\n // ret += accentMap[term.charAt(i)] || term.charAt(i);\n // }\n // return ret;\n // };\n\n var availableAirports = [];\n //$(\"[data-prop='autocomplete'].flight-select-input\").autocomplete({\n // appendTo: '.flight-autocomplete-container',\n // source: function (request, response) {\n // alert(1);\n // var matcher = new RegExp($.ui.autocomplete.escapeRegex(request.term), 'i');\n // FillAvailableAirports(request.term);\n // response(\n // $.grep(availableAirports, function (value) {\n // value = value.label || value.value || value;\n // return matcher.test(value) || matcher.test(normalize(value));\n // }),\n // );\n // },\n //});\n\n $('[flight-autocomplete]').each(function () {\n var $this = $(this);\n $this.autocomplete({\n //source: function (request, response) {\n // $.ajax({\n // url: '@Url.Action(\"SearchFlightSuggestion\", \"Search\", new {culture=user.Language.Code})',\n // dataType: \"json\",\n // data: { keyword: request.term },\n // type: \"POST\",\n // success: function (data) {\n // response($.map(data, function (item) {\n // return {\n // label: item.Name,\n // value: item.Value\n // };\n // }));\n // },\n // error: function (a, b, c) {\n // //debugger;\n // }\n // });\n //},\n\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) {\n //response($.map(data, function (item) {\n // return item.Name\n //}));\n response(data);\n\n //response($.map(data, function (item) {\n // return {\n // label: item.FullName,\n // value: item.Id\n // }\n //}))\n },\n error: function (a, b, c) {\n //debugger;\n },\n });\n },\n\n //source: function (request, response) {\n // var matcher = new RegExp($.ui.autocomplete.escapeRegex(request.term), 'i');\n // response(\n // $.grep(airports, function (value) {\n // value = value.label || value.value || value;\n // return matcher.test(value) || matcher.test(normalize(value));\n // }),\n // );\n //},\n appendTo: $this.parent(),\n autoFill: false,\n matchCase: true,\n selectFirst: false,\n });\n });\n\n function FillAvailableAirports(keyword) {\n $.ajax({\n type: 'GET',\n url: '/' + cultureName + '/book-FlightAirportSearch/' + keyword,\n dataType: 'json',\n })\n .done(function (data) {\n var list = data;\n $.each(list, function (index, item) {\n availableAirports.push(item);\n });\n })\n .fail(function (xhr) {\n console.log(xhr.responseText);\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) {\n $(this).addClass('d-none');\n }\n });\n });\n\n $('.hotelTitle').html($('#selectHotel option:selected').text());\n $('#spnFlightName').html($('#inpSelectAirportSource').val());\n\n function 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\n var 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\n checkModernInput();\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 // bookcalendar start\n var selectedRoomId = localStorage.getItem('selectedRoomId');\n if (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 => {\n x.classList.remove('show');\n });\n });\n\n $('#btnAdultBoxTrigger').on(\"click\", function () {\n $('#base-datepickers').data('dateRangePicker').close();\n });\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 == '') {\n $(this).addClass('input-validation-error');\n errors.push($(this));\n } else {\n $(this).removeClass('input-validation-error');\n }\n }\n });\n if (errors.length == 0) {\n $('#searchForm').validate();\n $('#searchForm').submit();\n }\n });\n const sameDaysSelected = () => {\n return $('#inpCheckinDate').val() == $('#inpCheckoutDate').val();\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 const 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\n $('#inpHasFlight').each(function () {\n var $this = $(this);\n $this.change(function () {\n $('#flightModal').modal('show');\n });\n });\n\n $('#adultCount').on('DOMSubtreeModified', function () {\n var thisValue = $(this).text().trim();\n\n $('#adultCountText').text(thisValue);\n $('#inpAdultCount').val(thisValue);\n });\n\n $('#childCount').on('DOMSubtreeModified', function () {\n var thisValue = $(this).text().trim();\n\n $('#childCountText').text(thisValue);\n $('#inpChildCount').val(thisValue);\n });\n $('#inpHotelId').change(function (event) {\n $('#base-datepickers').data('dateRangePicker').open();\n event.preventDefault();\n event.stopPropagation();\n });\n const setChildCount = hotelValue => {\n if (hotelValue == '10') {\n var count = parseInt($('#childCount.count').text());\n for (let index = 0; index < count; index++) {\n $('.child-block .btn.btn--minus').click();\n }\n $('.minus-plus.child-block').addClass('d-none');\n } else {\n $('.minus-plus.child-block').removeClass('d-none');\n }\n };\n const 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\n var selectedHotelId = $('#inpHotelId').val();\n checkAndHidePrePaymentText(selectedHotelId);\n document.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) {\n document.getElementById('hotelSelectddl').innerText = x.text;\n }\n });\n setChildCount(selectedHotelId);\n $('#base-datepickers').bind('datepicker-closed', function () {\n $('#btnAdultBoxTrigger').dropdown('toggle');\n });\n\n $('header').before($('#flightModal'));\n // bookcalendar end\n\n //form start\n function focus() {\n [].forEach.call(this.options, function (o) {\n o.textContent = o.getAttribute('data-country') + ' (' + o.getAttribute('value') + ')';\n });\n }\n function blur() {\n [].forEach.call(this.options, function (o) {\n o.textContent = '(' + o.getAttribute('value') + ')';\n });\n }\n const getHotelId = () => {\n var id = '';\n var url = window.location.href;\n if (url.includes('voyage-torba-private')) id = '8';\n else if (url.includes('voyage-torba')) id = '7';\n else if (url.includes('voyage-belek-spa')) id = '5';\n else if (url.includes('voyage-sorgun')) id = '9';\n else if (url.includes('voyage-turkbuku')) id = '6';\n else if (url.includes('voyage-bodrum')) id = '10';\n else if (url.includes('voyage-golturkbuku-resort')) id = '12';\n return id;\n };\n const getHotelCode = () => {\n var code = '';\n var url = window.location.href;\n if (url.includes('voyage-torba-private')) code = 'V8TORBA';\n else if (url.includes('voyage-torba')) code = 'V8TORBA';\n else if (url.includes('voyage-belek-spa')) code = 'V8BELEK';\n else if (url.includes('voyage-sorgun')) code = 'V8SORGUN';\n else if (url.includes('voyage-turkbuku')) code = 'V8TURKBUKU';\n else if (url.includes('voyage-bodrum')) code = 'V8BODRUM';\n else if (url.includes('voyage-golturkbuku-resort')) code = 'V8GOLTURK';\n else code = 'V8BELEK';\n return code;\n };\n function postToCrm(formData, 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) {\n console.log(response);\n showSuccessModal();\n document.getElementById(formId).reset();\n },\n error: function (response) {\n console.log(response);\n showErrorModal();\n },\n });\n $('#' + formId)\n .find('.is-valid')\n .removeClass('is-valid');\n }\n\n function validateForm(elem) {\n var elemID = elem.id;\n var recaptcha = document.forms[elemID]['g-recaptcha-response'].value;\n if (recaptcha == '') {\n document.querySelectorAll('.g-recaptcha').forEach(function (e) {\n e.style.border = 'solid 1px red';\n });\n return false;\n } else {\n document.querySelectorAll('.g-recaptcha').forEach(function (e) {\n e.style.border = '';\n });\n return true;\n }\n }\n var siteKey = '6LeaTy0aAAAAAJ3a-BazJGrUL5ouWoT58pzLjxUZ';\n var 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 function OnlyLetter(key) {\n var char = String.fromCharCode(key.which);\n if (/[.,\\/#!$%\\^&\\*;:{}=\\-_`~()<>0-9]/g.test(char)) {\n key.preventDefault();\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 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 calldatehour: $('#btnCallHoursTrigger option:selected').text(),\n hotelgroup: 'Voyage Hotels',\n g_recaptcha_response: $frm.find('[id*=\"g-recaptcha\"]').val(),\n // description: $('#txtnotes').val(),\n };\n $('#callYouModal').modal('hide');\n postToCrm(callusformdata, callusformid);\n contactUsDataLayerTrigger();\n },\n });\n } else if ($frm.attr('id') === 'subcribeForm') {\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: $('#subcribeForm').find('[id*=\"g-recaptcha\"]').val(),\n };\n $('#subscribeModal').hide();\n $('.modal-backdrop').hide();\n postToSubscription(subscribeFormData, subscribeFormId);\n } else if ($frm.attr('id') === 'contactform') {\n var contactformid = $frm.attr('id');\n var contactformdata = {\n hotelcode: gethotelcode(),\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: 'voyage hotels',\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') === 'voyageMemberForm') {\n useSendingEffect({\n btnId: '#memberFormSubmit',\n delay: 2500,\n callback: function () {\n saveRoyalty();\n },\n });\n } else {\n frm.submit();\n }\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 $('#voyageMemberForm').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\n $('#subcribeForm').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\n $('#subscribeModal').on('shown.bs.modal', function () {\n $('#selectLanguage').val($('html').attr('lang').toUpperCase());\n });\n\n function postToSubscription(subFormData, subFormId) {\n console.log(subFormData);\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('subcribeForm').reset();\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 });\n $('#subcribeForm').find('.is-valid').removeClass('is-valid');\n }\n function 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:$('#voyageMemberForm').find('[id*=\"g-recaptcha\"]').val(),\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) {\n console.log(response);\n showSuccessModal();\n document.getElementById('voyageMemberForm').reset();\n },\n error: function (response) {\n console.log(response);\n showErrorModal();\n },\n });\n $('#voyageMemberForm').find('.is-valid').removeClass('is-valid');\n }\n function 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 //form end\n\n //Flight or Availability Not Found Start\n\n var searchWrapper = document.getElementsByClassName('search-wrapper')[0];\n var searchBox = document.getElementsByClassName('search-box')[0];\n var newSearch = document.getElementById('newSearch');\n if (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\n document.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 //Flight or Availability Not Found End\n const scrollToInvalid = _elem => {\n var elem;\n if (_elem && _elem instanceof HTMLElement) elem = _elem;\n else {\n elem = document.querySelector(_elem || '.input-validation-error');\n }\n if (elem) {\n elem.scrollIntoView({ behavior: 'smooth', block: 'center' });\n }\n };\n\n function CloseResponseModel() {\n $('#responseModal').modal('toggle');\n }\n const showSuccessModal = () => {\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 const showErrorModal = () => {\n $('#responseModal').addClass('show');\n $('#responseModal').modal('show');\n $('#responseModal').show();\n $('#responseSuccess').addClass('d-none');\n $('#responseFail').removeClass('d-none');\n };\n\n var hotelId = getHotelId();\n if (hotelId != null && hotelId != '') {\n $(`[data-value='${hotelId}']`).addClass('selected');\n var hotelname = $(`[data-value='${hotelId}']`).text();\n $('#hotelSelectddl').text(hotelname);\n $('#inpHotelId').val(hotelId);\n }\n\n /* callReqForm btn */\n $('#btnHotelSelectionTrigger').val(getHotelCode());\n\n //Hide reservation button after search if success\n (function () {\n if (document.body.dataset.inm == 'False') {\n $(\"#btnReservationTrigger\").addClass(\"d-none\");\n }\n })();\n const contactUsDataLayerTrigger = () => {\n window.dataLayer = window.dataLayer || [];\n dataLayer.push({\n 'event': 'form_submit',\n 'campaign_id': 'sizi_arayalim'\n\n });\n console.log('Data layer triggered');\n};\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.1\n * (c) 2023 Klonbits, Inc.\n * All rights reserved.\n */\n\n//#region Cookie names\nconst GDPR_MODAL_ID = \"#gdprModal\"\nconst GDPR_ALERT = \"VYG_GDPR_ALERT\"\nconst GDPR_PERM = \"VYG_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"]}