jQuery(function($){myBooking=function(container,endpointUrl){var containerEl=$(container);var dialogEl=$(".my-booking-dialog");var inputEl=$("input",container);var securityCodeInputEl=$('input[name\x3d"securityCode"]',container);var submitButtonEl=$("a.submit",container);var errorWrapperEl=$(".status-error",container);var errorEl=$("span",errorWrapperEl);var isMobile=$("html").hasClass("mobile-theme")?true:false;var that=this;this.showDialog=function(){dialogEl.each(function(){if($(this).hasClass("active"))$(this).show()})};
this.hideDialog=function(){dialogEl.each(function(){if($(this).is(":visible"))$(this).hide()})};this.toggle=function(){dialogEl.each(function(){if($(this).hasClass("active"))$(this).toggle()})};this.activateFirstDialog=function(){$(dialogEl[0]).addClass("active")};this.activateSecondDialog=function(){$(dialogEl[1]).addClass("active")};this.getLinkForBookingNumber=function(){var form=$("form",container);$(errorWrapperEl).hide();$.fancybox.showLoading();$.post(endpointUrl,form.serialize(),function(response){$.fancybox.hideLoading();
if(response.error!=undefined){$(errorEl).text(response.error);$(errorWrapperEl).show();digiData.website.errors.push({"name":response.error,"type":"mybooking incorrect id/code"})}else if(response.bookings!=undefined&&response.bookings.length>0)window.location.replace(response.bookings[0].confirmationURL)},"json")};if(!isMobile){var buttonEl=$(".nav-button",containerEl);var backdropEl=$(".nav-backdrop",containerEl);if(typeof FontFaceObserver!=="undefined"){var font=new FontFaceObserver("GTWalsheim",
{weight:500});font.load().then(function(){if(!buttonEl.hasClass("active"))buttonEl.width(buttonEl.width()+1+"px")})}buttonEl.add(backdropEl).on("click",function(e){e.preventDefault();if(!buttonEl.hasClass("active")&&$(this)[0]===buttonEl[0]){buttonEl.addClass("active");that.toggle();backdropEl.show();setTimeout(function(){backdropEl.addClass("active")})}else if(buttonEl.hasClass("active")){buttonEl.removeClass("active");that.toggle();backdropEl.removeClass("active").hide();if(errorWrapperEl.css("display")!==
"none"){errorWrapperEl.hide();securityCodeInputEl.val("");submitButtonEl.addClass("disabled")}}})}else{var htmlEl=$("html");$("nav .my-booking a").on("vclick",function(e){e.preventDefault();if(typeof htmlEl.mobile!=="undefined")htmlEl.mobile("nav","close_menu",{reset_menu_position:true});var parent=$(this).parent();setTimeout(function(){parent.removeClass("selected")},100);that.showDialog();containerEl.addClass("active");htmlEl.addClass("noscroll")});$("a.close",containerEl).on("vclick",function(e){e.preventDefault();
that.hideDialog();containerEl.removeClass("active");htmlEl.removeClass("noscroll")})}inputEl.on("input",function(){var areInputsFilled=true;inputEl.each(function(){if($(this).val()==="")areInputsFilled=false});if(areInputsFilled)submitButtonEl.removeClass("disabled");else submitButtonEl.addClass("disabled")});submitButtonEl.on("click",function(e){e.preventDefault();if(!$(this).hasClass("disabled"))that.getLinkForBookingNumber()});inputEl.keypress(function(event){if(event.which==13){that.getLinkForBookingNumber();
return false}})}});
jQuery(function($){upcomingBookings=function(container,endpointUrl,translations){var bookingsList=$("ul",container);var loadingHtml=$(bookingsList).html();var loading=false;var isMobile=$("html").hasClass("mobile-theme")?true:false;var that=this;this.getUpcomingBookings=function(){$(bookingsList).html(loadingHtml);loading=true;$.get(endpointUrl,function(bookings){loading=false;if(bookings==null)bookings=[];var html="";for(var i=0;i<bookings.length;i++){html+='\x3cli class\x3d"clearfix"\x3e';html+=
'\x3ca href\x3d"'+bookings[i].confirmationURL+'"\x3e';html+='\x3cdiv class\x3d"destination-image '+bookings[i].route.split("-")[1].toLocaleLowerCase()+'"\x3e\x3c/div\x3e';html+='\x3cdiv class\x3d"details"\x3e';html+='\x3cdiv class\x3d"route"\x3e'+bookings[i].routeTranslation.replace(/-/g," \x3cspan\x3e\x26rarr;\x3c/span\x3e ")+"\x3c/div\x3e";html+='\x3cdiv class\x3d"datetime"\x3e'+bookings[i].datetime+"\x3c/div\x3e";html+='\x3cdiv class\x3d"booking-no"\x3e'+translations["mybooking.booking.number.abbr"]+
" \x3cspan\x3e"+bookings[i].bookingNumber+"\x3c/span\x3e\x3c/div\x3e";html+="\x3c/div\x3e";html+="\x3c/a\x3e";html+="\x3c/li\x3e"}if(html==="")html='\x3cli class\x3d"no-bookings"\x3e'+translations["mybooking.bookings.not.found"]+"\x3c/li\x3e";$(bookingsList).html(html)},"json")};var button=!isMobile?$(".nav-button",container):$("nav .my-booking a");var clickType=!isMobile?"click":"vclick";button.on(clickType,function(){if(!loading&&(isMobile||button.hasClass("active")))that.getUpcomingBookings()})}});
window.ssoComponent=function(container,urls,isLoggedIn,isRedirect){var cookieToken=$.cookie("ssoToken");var cookieUserId=$.cookie("ssoUserId");var $html=$("html");var $container=$(container);var isMobile=$html.hasClass("mobile-theme")?true:false;var market=getMarketFromSiteId();var language=getLanguage();urls.clubOneUrl=getClubOneUrl();var openPopupFromUrl=document.location.search.indexOf("login")>0||document.location.search.indexOf("col\x3d1")>0;var settings={container:container,isMobile:isMobile,
mobileBackground:false,language:language,extendedTranslates:{},pathToServer:urls.sso,accountSource:undefined,linkToSettings:urls.clubOneUrl,showSignedInMobile:true,ga:function(){},onRender:function(){$(function(){var isSsoOpen=isPopupOpen();if(openPopupFromUrl&&!isSsoOpen&&!isLoggedIn)window.SSO.open();if(!isMobile&&!openPopupFromUrl&&!isSsoOpen)$container.find(".sso-auth-btn").width("auto");setTimeout(function(){if(isLoggedIn&&!isSsoSignedIn())signOut()},2E3)})},onSignIn:function(token,userId){if(!isLoggedIn)signIn(token,
userId,true);else if(isLoggedIn&&cookieUserId){if(cookieUserId!==userId)signOut()}else if(openPopupFromUrl)var isPopupOpened=setInterval(function(){if(isSsoSignedIn()){if(isPopupOpen())clearInterval(isPopupOpened);window.SSO.open()}},100)},onSignOut:function(){signOut()},onExpandOverlay:function(){isRedirect=false},onCollapseOverlay:function(){if($("#fancybox-loading").length)$("#fancybox-loading").removeClass("no-background")}};init();function init(){if(isLoggedIn&&cookieToken)$.ajax({url:urls.sso+
"/api/token/validate",type:"POST",data:JSON.stringify({"token":cookieToken}),contentType:"application/json; charset\x3dutf-8",dataType:"json",success:function(response){if(!response.valid||response.valid&&response.userId!==cookieUserId)signOut()}});else if(isLoggedIn)signOut();if(window.SSO)render();else window.SSOLoadingInterval=window.setInterval(render,100)}function render(){if(!window.SSO)return;if(window.SSOLoadingInterval)window.clearInterval(window.SSOLoadingInterval);window.SSO.render(settings);
overwriteClubOneJoinLinks()}function signIn(token,userId,closePopup){$.post(urls.signIn,{"token":token,"userId":userId},function(response){if(response==="OK"){$.cookie("ssoToken",token,{expires:365,path:"/"});$.cookie("ssoUserId",userId,{expires:365,path:"/"});if(isMobile)window.SSO.close();if(isRedirect)document.location.href=location.protocol+"//"+location.host+urls.clubOneUrl;else window.location.reload()}else if(response!==undefined)window.SSO.signOut()},"json");showLoader();if(typeof closePopup!==
"undefined"&&closePopup&&!isMobile)var closePopupIfSsoIsSignedIn=setInterval(function(){if(isSsoSignedIn()){if(!isPopupOpen())clearInterval(closePopupIfSsoIsSignedIn);window.SSO.close()}},100)}function signOut(callback){$.post(urls.signOut,function(){if(isMobile)window.location.reload();else setTimeout(function(){window.location.reload()},100)});showLoader()}function isPopupOpen(){return $container.find(".sso-app-container").hasClass("sso-app-container-open")}function isSsoSignedIn(){return $container.find(".sso-auth-btn-wrapper").hasClass("sso-signed-in")}
function showLoader(){if(!$("#fancybox-loading").length){$('\x3cdiv id\x3d"fancybox-loading"\x3e\x3c/div\x3e').appendTo("body");if(!isMobile&&$container.find(".sso-backdrop").length)$("#fancybox-loading").addClass("no-background")}}function getMarketFromSiteId(){var bodyClass=$html.find("body").attr("class");var siteId=bodyClass.indexOf("site")!==-1?bodyClass.match(/site[\w-]*\b/).toString():false;switch(siteId){case "site-10636":return"FI";case "site-11711":case "site-28935501":return"EE";case "site-12596":case "site-35208502":return"SE";
case "site-12353":return"LV";case "site-12384":return"INT";case "site-12357":return"DE";case "site-12361":return"RU";case "site-19819698":return"NO"}return null}function getLanguage(){var pageLanguage=$html.attr("lang").replace("_","-");switch(market){case "INT":if(pageLanguage==="en-GB")return"en-US";if(pageLanguage==="fr-FR")return"en-US";if(pageLanguage==="it-IT")return"en-US";if(pageLanguage==="es-ES")return"en-US";if(pageLanguage==="pl-PL")return"en-US";if(pageLanguage==="nl-NL")return"en-US";
if(pageLanguage==="zh-CN")return"zn-CH";if(pageLanguage==="ja-JP")return"jp-US"}return pageLanguage}function getClubOneUrl(){var clubOneUrl=urls.clubOneUrl;if(clubOneUrl.indexOf(",")!==-1)$.each(clubOneUrl.split(","),function(index,value){if(value.indexOf(market)!==-1){clubOneUrl=value.slice(value.indexOf("/"),value.indexOf("]")).replace(/\s/g,"");return false}});return clubOneUrl}function overwriteClubOneJoinLinks(){var link=function(){switch(market){case "EE":if(language==="ru-RU")return"/ru/web/ee/club-one-liitumisankeet";
case "LV":if(language==="lt-LT")return"/lt/web/lv/joining";if(language==="ru-RU")return"/ru/web/lv/joining";case "NO":if(language==="sv-SE")return"/sv/web/no/bli-medlem"}return false}();if(link)$container.on("click",".sso-join-club-one-panel .sso-link",function(){window.SSO.close();window.location.href=location.protocol+"//"+location.host+link;return false})}};
