function setTourDatePicker(n,t,i,r,u){for(var e,h,o,c,s=[],f=0;f<7;f++)n.indexOf(f.toString())<0&&s.push(f);for(e=[],f=0;f<t.length;f++)h=t[f],e.push(new Date(h));e.push(new Date);o=i.data("DateTimePicker");o?o.clear():(i.removeAttr("disabled"),i.datetimepicker({useCurrent:!1,format:"DD MMM YYYY",locale:window.locale,minDate:new Date}),c="#tourDatePicker .input-group-addon",$(c).click(function(){i.data("DateTimePicker").toggle()}));i.off("dp.change");i.on("dp.change",function(){return u(r)});i.each(function(){var n=$(this).data("DateTimePicker");n.daysOfWeekDisabled(s);n.disabledDates(e)})}function setDatePicker(n,t){var i=n.data("DateTimePicker");if(!i){n.removeAttr("disabled");n.datetimepicker({disabledDates:[new Date],useCurrent:!1,format:"DD MMM YYYY",locale:window.locale,minDate:new Date}).on("dp.change",t)}n.on("click",function(){n.datetimepicker("show")})}function setDropDownEnabledDate(n,t,i,r){n.empty();n.append($("<option><\/option>"));$.each(t,function(t,i){var r=moment(i).format("DD MMM YYYY");n.append($("<option><\/option>").val(i).html(r))});n.removeAttr("disabled");n.change(function(){return r(i)})}function pauseVideo(n){n.length>0&&n[0].contentWindow.postMessage('{"event":"command","func":"pauseVideo","args":""}',"*")}function resetValidationMessage(n,t){var i=$(t).find("[data-valmsg-for="+n+"]");if(i.length==0){console.warn("resetValidationMessage: Element with name "+n+" was not found");return}i.removeClass("field-validation-error");i.addClass("field-validation-valid");i.html("")}function toggleSaveTour(n,t){var r={tourId:n,isSave:t},i=$("a.tour-like");return $.ajax({method:"POST",url:"/tours/togglesavetour/",data:r}).done(function(n){n.Success&&(n.IsSave?$(i).css("background-image","url('/wwwroot/img/tour-like-transparent-hover.png')"):$(i).css("background-image","url('/wwwroot/img/tour-like-transparent.png')"))}).fail(function(n,t){console.log(n,t)}),!1}function closeAndOpenModal(n,t){$(n).on("hidden.bs.modal",function(){$(t).modal("show");$(n).off("hidden.bs.modal")});$(n).modal("hide")}function setButtonLoading(n){var t=$(n).find(".title"),i=$(n).find(".loading");t.hide();i.show()}function setButtonDone(n){setTimeout(function(){console.log(n);var t=$(n).find(".title"),i=$(n).find(".loading");i.hide();t.show()},250)}function showSearchBox(){$("#navSearchBox").removeClass("hidden")}function renderRecaptcha(n,t){$(window).on("load",function(){var i=$("#"+t);recaptchaWidgetId=grecaptcha.render(n,{sitekey:reCaptchaPublicKey,callback:function(t){console.log(`reCAPTCHA verfied for ${n}`,t);$(i.find("input[name=RecaptchaResponse]")).val(t);i.valid()},theme:"light"})})}function removeItem(n,t){var i={};i.id=n;i.itemId=t;$.ajax({type:"POST",url:"/cart/remove/",data:JSON.stringify(i),contentType:"application/json; charset=utf-8",dataType:"json",success:successFunc,error:errorFunc});$(".item_"+t).remove()}function successFunc(){window.location=window.location}function errorFunc(){window.location=window.location}function reloadCartPage(){window.location=window.location}function paymentIframeLocationChanged(n){var i,u,r,t;if(n.host)for(i=document.createElement("a"),i.href=n.href,u=i.search.substring(1),r=u.split("&"),t=0;t<r.length;t++){var f=r[t].split("="),e=decodeURIComponent(f[0]),o=decodeURIComponent(f[1]);if(e=="confirmUrl"){window.location=o;break}}}function refreshSearchOptions(){var n;if($(".search-form #NumberOfDays").addClass("non-selected"),$(".search-form #NumberOfDays option[disabled]").prop("selected",!0),n=$(".search-form #TourType").val(),n){var t=$(".search-form .standard-tour-option"),r=$(".search-form .transfer-option"),u=$(".search-form .num-of-days"),i=$(".search-form .tour-type");n==80||n==90?(i.removeClass("col-sm-24"),i.addClass("col-sm-15"),t.hide(),r.show(),u.hide()):n==1||n==99?(i.removeClass("col-sm-15"),i.addClass("col-sm-24"),t.removeClass("col-sm-17 col-xs-30"),t.addClass("col-sm-25 col-xs-60"),t.show(),r.hide(),u.hide()):(i.removeClass("col-sm-24"),i.addClass("col-sm-15"),t.removeClass("col-sm-25 col-xs-60"),t.addClass("col-sm-17 col-xs-30"),t.show(),r.hide(),u.show());refreshNumberOfDays(n);initCitiesTypeAhead(n)}}function refreshNumberOfDays(n){if(n){var t=$(".search-form #NumberOfDays"),i=$(".search-form #NumberOfDays option");if(i.removeAttr("hidden"),t.removeAttr("disabled"),n==1||n==2)t.attr("disabled","disabled");else if(n==5||n==6){t.attr("disabled","disabled");return}i.each(function(){var t=$(this).val();n==1||n==2?t==1?(i.removeAttr("selected"),$(this).attr("selected","true")):$(this).attr("hidden","hidden"):n!=99?t<=1&&$(this).attr("hidden","hidden"):n==99&&t!=1&&$(this).attr("hidden","hidden")})}}function initCitiesTypeAhead(n){n&&(n==80||n==90?(initCitiesTypeAheadInner(n,null,$(".search-form #From"),$("#FromGeoAreaId"),!0,function(t){initCitiesTypeAheadInner(n,t.Id,$(".search-form #Destination"),$("#DestinationGeoAreaId"),!1)}),initCitiesTypeAheadInner(n,null,$(".search-form #Destination"),$("#DestinationGeoAreaId"),!1)):initCitiesTypeAheadInner(n,null,$(".search-form #City"),$("#GeoAreaId"),!1))}function initCitiesTypeAheadInner(n,t,i,r,u,f){var e="/home/geoareas/?searchvalue=%QUERY&tourType="+n+"&geoAreaId="+t+"&isForm="+u,o=new Bloodhound({datumTokenizer:function(n){return Bloodhound.tokenizers.whitespace(n.Name)},queryTokenizer:Bloodhound.tokenizers.whitespace,remote:{url:e,wildcard:"%QUERY"},prefetch:{url:"/home/geoareas/?tourType="+n+"&geoAreaId="+t+"&isForm="+u,cache:!1}}),s=i.attr("id");i.typeahead("destroy");i.typeahead({minLength:0,highlight:!0},{name:"geoareas",limit:20,display:"Name",source:o}).on("typeahead:selected",function(n,t){r.val(t.Id);s=="From"&&($("#Destination").val(""),$("input[name=DestinationGeoAreaId]").val(null));f&&f(t)});i.on("keyup",function(){$(this).val().length==0&&(console.log("empty field reset to null"),r.val(null))})}function validateForm(n,t,i,r){var u=$(n),f=u.validate(),e=f.checkForm();if(!e){$(t).addClass("red-border");return}i.preventDefault();r()}function openHref(n){window.location.href=n}var recaptchaLoadedEvent,onRecaptchaLoadCallback,tourBooking,transferBooking;$(function(){function r(){const n=document.querySelector("#mobile-side-menu");bodyScrollLock.disableBodyScroll(n)}function t(){const n=document.querySelector("#mobile-side-menu");bodyScrollLock.enableBodyScroll(n)}var i,n;$(".tour-like").hasClass("active")&&$("a.tour-like").css("background-image","url('/wwwroot/img/tour-like-transparent-hover.png')");$(".tour-box .tour-cover .tour-like").on("click",function(){var t=$(this).parents(".tour-box").data("tourid"),n=!$(this).hasClass("active");toggleSaveTour(t,n);n?$(this).addClass("active"):$(this).removeClass("active")});$(".buttons .tour-like").on("click",function(){var t=$(this).data("tourid"),n=!$(this).hasClass("active");toggleSaveTour(t,n);n?$(this).addClass("active"):$(this).removeClass("active")});$("#side-menu-toggle").on("click",function(){$("#mobile-side-menu").toggleClass("hide-menu");$("#hide-mobile-side-menu").toggleClass("hidden");$("#body-container").toggleClass("body-transform");r()});$("#hide-mobile-side-menu").on("click",function(n){n.preventDefault();n.stopPropagation();$(this).addClass("hidden");$("#mobile-side-menu").addClass("hide-menu");$("#body-container").removeClass("body-transform");t()});$("#mobile-login").on("click",function(){$("#mobile-side-menu").addClass("hide-menu");$("#hide-mobile-side-menu").addClass("hidden");$("#body-container").removeClass("body-transform");t();setTimeout(function(){$("#loginModal").modal("show")},500)});if($("#videoModal").length>0)$("#videoModal").on("hidden.bs.modal",function(){var n=this.getElementsByTagName("iframe");pauseVideo(n)});$(".languages .change-language").on("click",function(n){n.preventDefault();var t=$("#changeLanguageForm"),i=t.find("#language"),r=$(this).data("language-id");i.val(r);t.submit()});i=$.validator.methods.range;$.validator.methods.range=function(n,t,r){return t.type==="checkbox"?t.checked:i.call(this,n,t,r)};$("#subscribeButton").on("click",function(){var n=$("#subscribeInput"),t=$("#subscribeButton"),i=$("#subscribeThanks"),r=n.val(),u;r&&(u={email:r},$.ajax({method:"POST",url:"/home/subscribenewsletter/",data:u}).done(function(){n.hide();t.hide();i.show()}).fail(function(r,u){console.log(r,u);i.hide();n.show();t.show()}))});n=!1;$(".btn-contact").on("click",function(){var t=$(this).parents("form"),u=t.validate(),f=u.checkForm(),i,r;if(!f||n){u.showErrors();return}i=this;n=!0;setButtonLoading(i);r=$(t).serializeArray();console.log(r);$.ajax({method:"POST",url:"/contact/sendEmailAjax/",data:r}).done(function(r){r.Success?(t.find(".btn-contact, .hide-form-data").hide(),t.find(".thankYou, .btn-send-new-msg").show()):(t.find(".thankYou").hide(),t.find(".contactUsButton, .errorMsg").show());setButtonDone(i);n=!1})});$(".btn-send-new-msg").on("click",function(){var n=$(this).parents("form");n.find(".thankYou, .btn-send-new-msg").hide();n.find(".btn-contact, .hide-form-data").show()})});jQuery.fn.preventDoubleSubmission=function(){$(this).on("submit",function(n){var t=$(this);if(!t.validate().checkForm()){console.log("preventDoubleSubmission: submit was called, but the form isn't valid");return}t.data("submitted")===!0?(console.log("preventDoubleSubmission: Previously submitted - don't submit again"),n.preventDefault()):(t.data("submitted",!0),setTimeout(function(){t.data("submitted",!1)},4e3))});return this};recaptchaLoadedEvent=document.createEvent("Event");recaptchaLoadedEvent.initEvent("recaptchaLoaded",!0,!0);onRecaptchaLoadCallback=function(){document.dispatchEvent(recaptchaLoadedEvent)};$(function(){var i=$("#signInForm .validation-summary-message ul li"),t=$("#signUpForm .validation-summary-message"),n;renderRecaptcha("signUpCaptcha","signUpForm");renderRecaptcha("forgotPasswordCaptcha","forgotPasswordForm");$("#signInForm #LoginEmail, #signInForm #LoginPassword").keyup(function(n){n.keyCode==13&&$("#signInButton").click();i.hide()});$("#signUpForm #RegisterEmail, #signUpForm #RegisterPassword, #signUpForm #ConfirmPassword").keyup(function(n){n.keyCode==13&&$("#signUpButton").click();i.hide()});n=!1;$("#signInButton").on("click",function(){var t,r,u;n||(t=this,n=!0,setButtonLoading(t),i.hide(),r=$("#signInForm #LoginEmail").val(),u=$("#signInForm #LoginPassword").val(),$.ajax({method:"POST",url:"/account/checklogin/",data:{email:r,password:u}}).done(function(r){r.Success?$("#signInForm").submit():(i.html(r.Message),i.show(),setButtonDone(t));n=!1}).fail(function(r,u){i.html(u);i.show();setButtonDone(t);n=!1}))});$("#signUpButton").on("click",function(){var r=$("#signUpForm").validate(),u=r.checkForm(),i,f,e;if(!u||n){r.showErrors();return}i=this;n=!0;setButtonLoading(i);t.hide();f=$("#registerModal #RegisterEmail").val();e=$("#registerModal #RegisterPassword").val();$.ajax({method:"POST",url:"/account/registerAjax/",data:$("#signUpForm").serialize()}).done(function(r){r.Success?closeAndOpenModal("#registerModal","#userDetailsModal"):(t.html(r.Message),t.show());setButtonDone(i);n=!1}).fail(function(r){t.html(r);t.show();setButtonDone(i);n=!1})});$("#forgotPasswordButton").on("click",function(){var r=$("#forgotPasswordForm").validate(),e=r.checkForm(),i,u,f;if(!e||n){r.showErrors();return}i=this;n=!0;setButtonLoading(i);t.hide();u=$("#forgotPasswordForm #ForgotPasswordEmail").val();f=$("#forgotPasswordForm input[name=RecaptchaResponse]").val();$.ajax({method:"POST",url:"/account/forgotPassword/",data:{email:u,recaptchaResponse:f}}).done(function(r){r.Success?closeAndOpenModal("#forgotPasswordModal","#forgotPasswordConfirmModal"):(t.html(r.Message),t.show());setButtonDone(i);n=!1}).fail(function(r){t.html(r);t.show();setButtonDone(i);n=!1})});loginHasError&&$("#loginModal").modal("show")});tourBooking={};transferBooking={};$(function(){function e(){var r=i(n,".guide-languages .btn.selected"),u,t;return r.length==0?(u=i(n,".guide-languages select"),t=u.find(":selected"),t.length==0?null:$(t[0])):$(r[0])}function ut(){var t=i(n,".btn-pickup-city.btn.selected");return t.length==0?(u=u.find(":selected"),u.length==0?null:$(u)):$(t)}function kt(t,r){var u=i(t,".guide-languages .btn_"+r),f;u.length>0?$(u).addClass("selected"):(f=i(n,".guide-languages select"),$(f).val(r))}function dt(n,t,i){var r=n.data("current-date");i?gt(r,t):ni(r,t)}function gt(n,t){n=moment(n).format("YYYY-MM-DD");var r=i(t,"#enabledDateDropdown"),u=$(r).find("option[value="+n+"]");u.attr("selected","selected")}function ni(n,t){var r=i(t,"#tourDatePicker .TourDate"),u=$(r[0]).data("DateTimePicker");u.date(new Date(n))}function ft(i){var y,p,w,s,l,d,tt,it,rt,ft;if(n=i.parent().find(".tourBookingModal"),n.find("#tab1 .booking-summary").show(),y=f(n,"input[name=TourType]"),y=="AirportTransfer"?setDatePicker($(n).find(".TourDate")):(p=i.data("selected-lang"),kt(n,p),langBtn=e(),o(langBtn),w=langBtn.data("enableddates"),dt(i,n,w!=="")),g(),a(),s=n.find("input[name=TotalPrice]").val(),s=parseFloat(s),isNaN(s)&&(s=0),y!=="AirportTransfer"){l=n.find("input[name=PickupAreaId]").val();u.val(l);var et=n.find("select[name=DropOffAreaId]").val(),ot=$(n).find("input[name=TourId]").val(),st=$(n).find("input[name=PickupHotelId]").val(),b=k(langBtn),ht=h(n);l>0&&(d=ut(),v(b.disableClassData,d),nt(l,et),c(l,ot,b.langId,ht),$.ajax({url:"/en/pickuphotels/gethotel?pickUpHotelId="+st,method:"GET",success:function(n){y=="PrivateTour"?t():pt(n)},error:function(n){console.error(n)}}))}tt=n.find(".tour-order-total");it="$"+s.toFixed(2);tt.text(it);rt=n.data("isonetab");ft=n.data("is-back");rt||ft!=="True"?r("tab1",null,!0):r("tab2",null,!0)}function et(t){var i=!1;t!=undefined&&t==!1?$(n).find(".NoHotelFreeText").length>0&&$(n).find(".NoHotelFreeText").eq(0).val()&&(i=!0,$(n).find(".noHotelCheckbox").prop("checked",i)):$(n).find(".NoHotelFreeText").eq(0).val("");i?($(n).find(".noHotelEmail").show(),$(n).find(".noHotelOption").hide(),$(n).find(".HotelAddress").attr("disabled",!1),$(n).find(".NoHotelFreeText").attr("disabled",!1),$(n).find(".pickup-hotel-typeahead").attr("disabled",!0),$(n).find(".PickupHotelId").attr("disabled",!0)):($(n).find(".noHotelEmail").hide(),$(n).find(".noHotelOption").show(),$(n).find(".HotelAddress").attr("disabled",!0),$(n).find(".NoHotelFreeText").attr("disabled",!0),$(n).find(".pickup-hotel-typeahead").attr("disabled",!1),$(n).find(".PickupHotelId").attr("disabled",!1),$(n).find(".noHotelCheckbox").prop("checked",i))}function ti(){var e=$(this).parents(".room"),r=e.find(".num-of-people-option"),o=$(r[0]).find(".num"),s=parseInt($(this).data("offset")),t=parseInt(o.html()),h=$(r[1]).find(".num"),u=parseInt($(this).data("offset")),i=parseInt(h.html()),n,f;$(r[0]).data("option")==$(this).parents(".num-of-people-option").data("option")&&(t+=s);$(r[1]).data("option")==$(this).parents(".num-of-people-option").data("option")&&(i+=u);n=!0;t==3?n=!1:t==2&&i==1?n=!1:t==1&&i==2?n=!1:i+u==3&&(n=!1);f=t+i;n=f>3?!1:!0;st(this,n)}function ii(){st(this,!0)}function ot(){var r=parseInt($(n).find(".Adults").val()),t,i;return r=isNaN(r)?0:r,t=parseInt($(n).find(".Kids").val()),t=isNaN(t)?0:t,i=parseInt($(n).find(".Students").val()),i=isNaN(i)?0:i,r+t+i}function st(i,r){var e=$(i).parents(".num-of-people-option"),s=e.find(".num"),l=e.find("input"),o=99,h=0;e.data("max-people")&&(o=parseInt(e.data("max-people")));var c=parseInt($(i).data("offset")),u=parseInt(s.html()),v=f(n,"input[name=TourType]");v=="PrivateTour"&&(h=ot()+c);u+=c;r&&u>=0&&u<=o&&h<=o&&(s.html(u),l.val(u),$(n).find(".number-of-rooms").length==0?$(n).find(".NumberOfPeople").val(ot()):(a(),tt()),t())}function ri(){var e=parseInt($(n).find(".NumberOfPeople").val()),r=$(this).parents(".num-option"),u=r.find(".num"),o=r.find("input").eq(2),s=parseInt($(this).data("offset")),i=parseInt(u.html());if(i+=s,i>=0&&i<=e){u.html(i);o.val(i);var f=r.find(".price"),h=parseInt(f.data("extra-price")),c=h*i;f.text("$"+c);t()}}function a(){var i=$(n).find(".number-of-rooms"),t=1e3;i.find(".options").each(function(){var n=0;$(this).find(".num").each(function(){n+=parseInt($(this).text())});t=Math.min(t,n)});i.find(".MinNumberOfPeopleInARoom").val(t)}function f(n,t){return $(n).find(t).val()}function ht(n){$(".tour-upgrades-open").toggle(!n);$(".tour-upgrades-close").toggle(n);n?$(".tour-upgrades-options").fadeIn("fast"):$(".tour-upgrades-options").fadeOut("fast")}function h(n){var t=i(n,"#enabledDateDropdown");if(t=t.val(),t==""&&(t=i(n,"#tourDatePicker .TourDate"),t=t.val()),t!="")return moment(t).format("YYYY-MM-DD")}function v(t,r){var f=i(n,".tour-class .btn"),o,u,s,e;for(f.length==0?(f=i(n,".tour-class option"),f.show()):$(f).parent().show(),o=h(n),r&&(r=r.data("pickup-area")),u=0;u<t.length;u++)if(s=moment(t[u].Date).format("YYYY-MM-DD"),s==o)if(t[u].Areas.length==0)ct(f,t[u].TourClasses);else for(e=0;e<t[u].Areas.length;e++)t[u].Areas[e]==r&&ct(f,t[u].TourClasses)}function ct(n,t){for(var o,u,r=0;r<n.length;r++){var f=!0,i=$(n[r]),e=i.data("tour-class-id");for(e||(f=!1,o=i.val(),e=o=="Business"?2:1),u=0;u<t.length;u++)t[u]==e?f?(i.hasClass("selected")&&(i.removeClass("selected"),i.parents().find('[name="TourClass"]').val("")),i.parent().hide()):i.hide():f||i.parent("select").val(o)}}function o(i){var u=$(i),r,f,e;$(i).is("button")&&(y.removeClass("selected"),u.addClass("selected"));u.parents(".guide-languages").find('input[name="Language"]').val(u.data("lang"));r=k(u);r&&($("#enabledDateDropdown").attr("disabled",!0),r.enabledDates==""?($(n).find("#enabledDateContainer").hide(),$(n).find("#disabledDateContainer").show(),setTourDatePicker(r.daysOfWeek,r.disabledDates,$(n).find("#tourDatePicker .TourDate"),r,yt),u.hasClass("updated")&&$(".tourBookingModal").find("#tourDatePicker .TourDate").each(function(){var n=$(this).data("DateTimePicker");n&&n.date(null);d()})):($(n).find("#disabledDateContainer").hide(),$(n).find("#enabledDateContainer").show(),f=$(n).find("#enabledDateDropdown"),setDropDownEnabledDate(f,r.enabledDates,r,yt)));t();e=u.parents(".guide-languages").find('[name="Language"]').attr("id");$("#"+e+"-error").parent().remove()}function at(i){var r=i.data("pickup-area"),u,o;if($(n).find("input[name=PickupHotelName]").val(null),$(n).find('[name="PickupHotelId"]').val(null),$("#alternativeHotelName").html(""),$("#alternativeHotelNote").hide(),r!=p){u=$(n).find("input[name=TourId]").val();i.parents(".pickup-cities").find("input[name=PickupAreaId]").val(r);p=r;nt(r);var s=e(),f=k(s),l=h(n);c(r,u,f.langId,l);t();v(f.disableClassData,i);o=i.parents(".pickup-cities").find('[name="PickupAreaId"]').attr("id");$("#"+o+"-error").parent().remove()}}function k(n){if(!n||n.length==0)return null;var t=$(n).data("disabled-tour-class");return t&&t.length>0&&(t=JSON.parse(t.replace(/\\"/g,'"'))),{daysOfWeek:$(n).data("daysofweek").toString().split(","),disabledDates:$(n).data("disableddates").toString().split(","),enabledDates:$(n).data("enableddates").toString().split(","),disableClassData:t,langId:$(n).data("lang-id")}}function yt(i){var u;t();u=ut();v(i.disableClassData,u);var e=h(n),o=f(n,"input[name=TourId]"),r=n.find("input[name=PickupAreaId]").val();r&&r.length>0&&c(r,o,i.langId,e)}function i(n,t){var i=$(n).find(t);if(i!=undefined||i.length>0)return i}function r(i,r,o){var s,a,p,c,v;setButtonDone(r);s=$(".dots-container").find(".dot");l=!1;var y=$(n).find(".book-tab.active"),h=f(n,"input[name=TourType]"),w=f(n,"input[name=TourId]");if(!o&&y.length>0&&y.attr("id")==i){a=$(n).find(".guide-languages");p=e();a!=undefined&&a.length>0?p.click():setDatePicker($(n).find(".TourDate"),t);c=$(n).find(".pickup-cities .btn.selected");c!=undefined&&c.length>0?c.click():(c=$(n).find(".pickup-cities select option:selected"),c!=undefined&&c.length>0&&u.change(),t());i==="tab1"&&(s&&(s.removeClass("selected"),$(s[0]).addClass("selected")),h!="DailyTour"&&h!="PrivateTour"&&($(n).find(".PickupAreaId").attr("disabled",!0),$(n).find(".TourTime").attr("disabled",!0),$(n).find(".SpecifiedShipName").attr("disabled",!0)),(h=="AirportTransfer"||"PrivateTour")&&g(),$(n).find(".TourClass").attr("disabled",!0));return}if(i==="tab1")h!="DailyTour"&&h!="PrivateTour"&&$(n).find(".PickupAreaId").attr("disabled",!0),(h=="AirportTransfer"||"PrivateTour")&&(g(),h=="AirportTransfer"&&$(n).find(".TourTime, .tourTimePicker").removeAttr("disabled")),$(n).find(".TourClass").attr("disabled",!0),$(n).find(".HotelAddress").attr("disabled",!0),$(n).find(".NoHotelFreeText").attr("disabled",!0),$(n).find(".PickupHotelId").attr("disabled",!0),$(n).find(".TourTime").attr("disabled",!0),$(n).find(".SpecifiedShipName").attr("disabled",!0);else if(i!=="tab2"||$(n).find(".modal-tour-booking").valid())s&&(s.removeClass("selected"),$(s[1]).addClass("selected")),$(n).find(".PickupAreaId").attr("disabled",!1),$(n).find(".TourClass").attr("disabled",!1),$(n).find(".TourTime, .tourTimePicker").removeAttr("disabled"),$(n).find(".SpecifiedShipName").removeAttr("disabled"),et(!1);else return;$(n).find(".steps-tab.active").removeClass("active");v=$(n).find(".steps-tab[data-tab-id="+i+"]");v.length>0&&v.addClass("active");$(n).find(".book-tab.active").fadeOut("fast",function(){$(n).find(".book-tab").removeClass("active");$(n).find("#"+i).addClass("active");$(n).find("#"+i).fadeIn("fast")})}function d(){var r=$(n).data("isonetab"),i,t;if(!r)return f(n,"input[name=TourType]")=="AirportTransfer"?void 0:($(n).find("#tab1 .booking-summary").hide(),i=e(),i==undefined||i.length==0)?!1:(t=$(n).find(".TourDate"),t==undefined||t.length==0)?!1:t.length==0?!1:($(n).find("#tab1 .booking-summary").show(),!0)}function g(){var t=$(n).find(".TourTime").data("DateTimePicker");t||($(n).find(".TourTime").datetimepicker({format:"LT",useCurrent:!1,locale:window.locale}),$(n).find("#tourTimePicker .input-group-addon").click(function(){$(n).find(".TourTime").data("DateTimePicker").toggle()}))}function c(i,r,u,e){var s="?",h,o;pickupURL.includes("?")&&(s="&");h=new Bloodhound({datumTokenizer:function(n){return n},queryTokenizer:function(n){return n},remote:{url:pickupURL+s+"searchvalue=%QUERY&pickupAreaId="+i+"&tourId="+r+"&guideLanguage="+u+"&tourDate="+e,wildcard:"%QUERY",transform:function(n){return console.log(n),n}},prefetch:{url:pickupURL+s+"pickupAreaId="+i+"&tourId="+r+"&guideLanguage="+u+"&tourDate="+e,cache:!1}});o=$(n).find(".pickup-hotel-typeahead");o.typeahead("destroy");o.typeahead({minLength:0,highlight:!0},{name:"pickup-hotels",limit:100,display:"Name",source:h}).on("typeahead:selected",function(i,r){var e=$(this).parents(".pickup-hotel").find('[name="PickupHotelId"]'),u;e.val(r.Id);resetValidationMessage("PickupHotelId",n);u=f(n,"input[name=TourType]");u=="PrivateTour"?t():pt(r)});o.on("keyup",function(){$(this).val().length==0&&(console.log("empty field reset to null"),$(n).find("input[name=PickupHotelId]").val(null))})}function pt(n){n.AlternativePickupHotel?(n.AlternativePickupHotel.Address?$("#alternativeHotelName").html(n.AlternativePickupHotel.Name+". Address: "+n.AlternativePickupHotel.Address):$("#alternativeHotelName").html(n.AlternativePickupHotel.Name),$("#alternativeHotelNote").show()):($("#alternativeHotelName").html(""),$("#alternativeHotelNote").hide())}function nt(t,i){var o;t&&typeof t!="number"&&(t=parseInt(t));i&&typeof i!="number"&&(i=parseInt(i));var e=!1,r=!1,u=$(n).find(".tour-dropoff-options"),f=$(n).find("[name=DropOffAreaId]");i?($(n).find(".differentDropOffCheckbox").prop("checked",!0),u.show(),f.attr("disabled",!1),o=f.find("option:not([disabled]):first"),o.attr("selected","selected")):($(n).find(".differentDropOffCheckbox").prop("checked",!1),u.hide(),f.attr("disabled",!0));u.find("select option").each(function(){$(this).removeAttr("selected");var n=parseInt($(this).val()),u=$(this).data("pickup-area");u===t?($(this).show(),$(this).attr("disabled",!1),e=!0,i?i==n&&($(this).attr("selected","selected"),r=!0):r||($(this).attr("selected","selected"),r=!0)):($(this).hide(),$(this).attr("disabled",!0))});e?$(n).find(".dropoff-options").show():$(n).find(".dropoff-options").hide()}function tt(){var t=$(n).find(".number-of-rooms"),i=[],r=0;t.find(".options .row").each(function(){var n=$(this),t=parseInt(n.find(".num.adults").text()),u=parseInt(n.find(".num.kids").text());r+=t+u;i.push({Adults:t,Kids:u})});t.find(".rooms-json-hidden-field").val(JSON.stringify(i));$(n).find(".NumberOfPeople").val(r)}function t(){var r,t,f,e;if(console.log("Calling calculateTotal..."),r=$(n).find("form.modal-tour-booking"),t=r.serialize(),t==wt){console.log("SKIP CALC, same request");return}wt=t;var i=$(n).find("input[name=PickupHotelId]"),o=i.attr("disabled")||!1,u=$(n).find(".flight-details input, .hotel-details input");i.attr("disabled",!0);u.attr("disabled",!0);f=oi();i.attr("disabled",o);u.attr("disabled",!1);f?ui():(e=$(n).find(".modal-tour-booking"),console.log("SKIP CALC, invalid form",e.validate().errorList))}function fi(){var t=$(n).find(".tour-order-total"),i=$(n).find(".tour-order-total-loading"),e=$(n).find("form.modal-tour-booking"),r=$(n).find(".high-season-added"),u=$(n).find(".part-holiday-added"),f=$(n).find(".part-language-extra-added"),o=bt=new Date;r.hide();t.hide();i.show();n.find("#tab1 .booking-summary").show();console.log("Calling calculateTotal with url '"+calculateOrderURL+"'...");$.ajax({url:calculateOrderURL,method:"POST",data:ei(e),success:function(n){var l,a,v;if(o===bt)if(n&&n.Price){var c="$"+n.Price.toFixed(2),e=n.PartHighSeason,s=n.PartHoliday,h=n.PartLanguageExtra;console.log("Calculated Price: "+c,n);i.hide();t.text(c);t.show();e&&e>0?(l="$"+e.toFixed(2),r.find(".price").html(l),r.show()):r.hide();s&&s>0?(a="$"+s.toFixed(2),u.find(".price").html(a),u.show()):u.hide();h&&h>0?(v="$"+h.toFixed(2),f.find(".price").html(v),f.show()):f.hide()}else i.hide(),t.show();d()},error:function(n){console.log(n);i.hide();t.show();d()}})}function ei(t){var r=$(n).find(".PickupAreaId").attr("disabled"),u=$(n).find(".TourClass").attr("disabled"),f=$(n).find(".HotelAddress").attr("disabled"),e=$(n).find(".NoHotelFreeText").attr("disabled"),o=$(n).find(".PickupHotelId").attr("disabled"),i;return $(n).find(".PickupAreaId").attr("disabled",!1),$(n).find(".TourClass").attr("disabled",!1),$(n).find(".HotelAddress").attr("disabled",!1),$(n).find(".NoHotelFreeText").attr("disabled",!1),$(n).find(".PickupHotelId").attr("disabled",!1),i=t.serialize(),$(n).find(".PickupAreaId").attr("disabled",r),$(n).find(".TourClass").attr("disabled",u),$(n).find(".HotelAddress").attr("disabled",f),$(n).find(".NoHotelFreeText").attr("disabled",e),$(n).find(".PickupHotelId").attr("disabled",o),i}function oi(){var t=$(n).find(".modal-tour-booking"),i=t.validate();return i.checkForm()}var s=$("#tourBookingModal .btn-pickup-city"),u=$("#tourBookingModal .pickup-city select"),it=$(".tourBookingModal").find(".tour-class-container select"),rt=$("input[name=IsIframe]").val(),n,l,y,lt,p,w,b,vt;$("#tourBookingModal").modal({backdrop:"static",keyboard:!1,show:!1});$(".prices-table .btn").on("click",function(){if(rt=="true"){var n=$(this).offset().top+$(this).height()/2,t=n-385,i=$("#tourBookingModal .modal-dialog");i.css("margin-top",t)}});$(".modal").on("show.bs.modal",function(){$("#links.links").hide()});$(".modal").on("hidden.bs.modal",function(){$("#links.links").show()});$(".tour-box").on("click",function(){var n=$(this).data("url");n!=undefined&&(window.location=n)});$(".tour-accommodation-content .btn-book").on("click",function(){var n=$(this).data("class-type");$(".hotel_stars").val(n)});$(".pickup-cities .ddlpickup-cities").on("change",function(){var i=$(n).find("input[name=TourId]").val(),r=$(this).val();c(r,i);t()});tourBooking.initExternalModal=function(){var t,i,u;n=$("#tourBookingModal");t=n.data("isonetab");i=n.data("is-back");t||i!=="True"?r("tab1"):r("tab2");u=e();o(u)};transferBooking.initExternalModal=function(t){n=$("#tourBookingModal"+t);r("tab1");$(n).show()};tourBooking.initExternalModalForUpdate=function(n){ft(n)};$(".btn-book").on("click",function(){var t,i,f;$(this).hasClass("btn-book-transfer")||$(this).hasClass("travelers")||(n=$("#tourBookingModal"),$(this).data("class-type")||n.find(".hotel_stars").val(null),t=$(this).data("pickup-area"),t?(s.each(function(){var n=$(this).data("pickup-area");if(n==t)return $(this).addClass("selected"),!1}),u.val(t),nt(t)):rt=="true"&&(i=$("#tourBookingModal .modal-dialog"),i.css("margin-top",80)),r("tab1"),f=e(),o(f),$(n).modal("show"))});$(".modal-tour-booking").submit(function(){if($(this).valid()){var n=$(this).find('button[type="submit"]');setButtonLoading(n)}return!0});$(".btn-book-transfer").on("click",function(){var t=$(this).data("transfer-id");n=$("#tourBookingModal"+t);r("tab1");$(n).modal("show")});$(".btn-update-book").on("click",function(){ft($(this));$(n).modal("show")});$(".steps-tab").on("click",function(){var n=$(this).data("tab-id");r(n)});$(".back-btn-steps").on("click",function(n){var i=$(this).attr("href"),t;i.length>1||(t=$(this).data("tab-id"),t||(t="tab1"),r(t),n.preventDefault())});l=!1;$(".continueToTab2").on("click",function(){var n=this;l=!0;setButtonLoading(n);r("tab2",n)});$(".tour-header .more-photos").on("click",function(){$("#photoGalleryModal").modal("show")});$(".noHotelCheckbox").click(function(){$(n).find(".noHotelOption").toggle(!this.checked);$(n).find(".noHotelEmail").toggle(this.checked);$(n).find(".HotelAddress").attr("disabled",!this.checked);$(n).find(".NoHotelFreeText").attr("disabled",!this.checked);$(n).find(".pickup-hotel-typeahead").val("").attr("disabled",!0);var t=$(n).find(".PickupHotelId");t.attr("disabled",this.checked);this.checked&&(resetValidationMessage("PickupHotelId",n),t.val(null))});$(".btn-tour-class").click(function(){t()});$(".tourBookingModal").find(".cancelNoHotel").on("click",et);$(".number-of-rooms").on("click",".add-room",function(){var f=$(n).find(".room-number").length+1,r=$(this).parents(".options"),i=r.find(".row").eq(0).clone(),u=i.find(".room-number strong");u.text(u.text().replace(/[0-9]/g,f));i.find(".add-room").addClass("hidden");i.find(".remove-room").removeClass("hidden");i.find(".num").text(0);i.find(".num").first().text(1);r.append(i);tt();t()});$(".number-of-rooms").on("click",".remove-room",function(){$(this).parents(".options .row").remove();a();tt();t()});$(".hotel_stars").on("click",function(){t()});$(".tour-dropoff-options select").on("change",function(){t()});$(".pickup-cities select").on("change",function(){t()});$("input.differentDropOffCheckbox").change(function(){var r=$(n).find(".tour-dropoff-options"),i=$(n).find("[name=DropOffAreaId]"),u;this.checked?(r.show(),i.attr("disabled",!1),i.find("option").attr("selected",null),u=i.find("option:not([disabled]):first"),u.attr("selected","selected")):(r.hide(),i.attr("disabled",!0));t()});$("form.modal-tour-booking").preventDoubleSubmission();$(".number-of-rooms").on("click",".btn-num-of-people",ti);$(".number-of-people").on("click",".btn-num-of-people",ii);$(".tour-upgrades-options").on("click",".btn-upgrade-quantity",ri);$(".showHighSeason").on("click",function(){$(this).hide();$(".hideHighSeason").show();$(".highSeason").show()});$(".hideHighSeason").on("click",function(){$(this).hide();$(".showHighSeason").show();$(".highSeason").hide()});$("#AccommodationClass").change(t);$("select[name=NumberOfPeople]").change(t);$(".tour-upgrades-open").on("click",function(){ht(!0)});$(".tour-upgrades-close").on("click",function(){ht(!1)});y=$(".tourBookingModal").find(".guide-languages .btn");y.on("click",function(){var n=$(this);n.hasClass("selected")||o(n)});lt=$(".tourBookingModal").find(".guide-languages select");lt.change(function(){var n=$(this),t=$(n).find(":selected");o(t)});p=null;s=$(".tourBookingModal").find(".pickup-cities .btn");s.on("click",function(){var n=$(this);s.removeClass("selected");n.addClass("selected");at(n)});u.on("change",function(){var n=$(this),t=$(n).find(":selected");at(t)});w=$(".tourBookingModal").find(".tour-class .btn");w.on("click",function(){var n,i;w.removeClass("selected");n=$(this);n.addClass("selected");i=n.find(".description").html();n.parents(".tour-class").find('[name="TourClass"]').val(n.data("tour-class"));$("#selectedClassDesc").html(i);t()});it=$(".tourBookingModal").find(".tour-class-container select");b=$(".tourBookingModal").find(".tour-class-container .description-container");it.on("change",function(){b.find(".description").hide();var n=$(this),i=$(n).find(":selected");b.find(".description."+i.val()).show();t()});vt=$(".tourBookingModal").find(".number_of_people");vt.on("change",function(){var n=parseInt($(this).val());n>=1&&n<=3?$(this).parents(".options").find(".car_size").val("4"):n>=4&&n<=6?$(this).parents(".options").find(".car_size").val("7"):n>=7&&n<=9?$(this).parents(".options").find(".car_size").val("10"):n>=10&&n<=14&&$(this).parents(".options").find(".car_size").val("16");t()});var wt=null,bt=null,ui=$.debounce(800,fi);$(".payment_option_selection").on("click",function(){$(".payment-option .payment_option_selection").find("button").removeClass("selected");$(this).find("button").addClass("selected");var n=$(this).find("button").data("payment-type");$(".payment-details input[name=PaymentType]").val(n);n=="paypal"||n=="credit_card"});$(".modal-map .map-site-details .description .close").on("click",function(){hideDetails()});$("#showFullSescription").on("click",function(){$("#scheduleShortDescription").hide();$("#scheduleLongDescription").show()})});$(function(){function n(n,t){var i=$(n),r=i.data("DateTimePicker");r||($(n).datetimepicker({format:"DD MMM YYYY",locale:window.locale}),$(t).click(function(){$(this).siblings(n).data("DateTimePicker").toggle()}))}n(".PassportExperationDate",".passportExperationTimePicker .input-group-addon");n(".PassportIssueDate",".passportIssueTimePicker .input-group-addon");n(".DateOfBirth",".dateOfBirthTimePicker .input-group-addon");$(".insert-coupon-code .apply-coupon").click(function(){var u=$(this).parents(".tour-coupon"),t=u.find("input.coupon-code"),r=t.val();if(r.length!=0){var n=$(this).parents(".tour-card"),f=n.data("order-id"),e=n.data("order-item-id"),i=n.find(".coupon-error"),o=n.data("affiliate-id"),s=n.data("user-id"),h=n.data("session-id"),c={coupon:r,orderId:f,orderItemId:e,affiliateId:o,userId:s};i.hide();$.ajax({method:"POST",url:"/cart/applycoupon/?sessionId="+h,data:c}).done(function(n){console.log("applycoupon",n);n.Success?(reloadCartPage(),t.removeClass("error")):(i.html(n.Error),i.show(),t.addClass("error"))}).fail(function(n,t){console.log(n,t)})}});$("#createOrderForm").submit(function(){if($(this).valid()){var n=$(this).find('button[type="submit"]');setButtonLoading(n)}return!0});$(".book-now-summary a.btn-continue").on("click",function(){var n=$(this);setButtonLoading(n)})});$(".traveler-first-name").first().focusout(function(){var n=$("#ContactFirstName"),t;n.val().length===0&&(t=$(this).val(),n.val(t))});$(".traveler-last-name").first().focusout(function(){var n=$("#ContactLastName"),t;n.val().length===0&&(t=$(this).val(),n.val(t))});$(function(){var i=$(".search-form"),n,t;if(i.length>0){n=$(".search-form .input-group .form-control");refreshSearchOptions();n.on("focus",function(){$(this).parents(".input-group").addClass("active")});n.on("blur",function(){$(this).parents(".input-group").removeClass("active")});$(".search-form .input-group select").on("change",function(){$(this).removeClass("non-selected")});$(".search-form .input-group select").each(function(){$(this).val()&&$(this).removeClass("non-selected")});$(".search-form #TourType").on("change",function(){refreshSearchOptions()});refreshNumberOfDays();initCitiesTypeAhead();t=!1;$("#searchSubmit").on("click",function(){if(!t){var n=this;t=!0;setButtonLoading(n)}})}$("#changeSearchButton").click(function(){$("#searchContainer").toggle()});$("#showListLongDescription").click(function(n){n.preventDefault();$("#listShortDescription").hide();$("#listLongDescription").show()});$("#closeListLongDescription").click(function(n){n.preventDefault();$("#listLongDescription").hide();$("#listShortDescription").show()})});$(function(){var n=$("#changeDateModal"),i=$(n).data("disableddates"),r=$(n).data("dayofweek"),u=$(n).data("tourtype"),t=$(n).data("enableddates"),f=$(n).find("#enabledDateDropdown");$(".change-date-button").click(function(){t?setDropDownEnabledDate(f,t.toString().split(",")):u=="AirportTransfer"?setDatePicker($(n).find(".TourDate")):setTourDatePicker(r.toString().split(","),i.toString().split(","),$(n).find(".TourDate"))});$("#alert-success").fadeTo(4e3,500).slideUp(500,function(){$("#alert-success").slideUp(500)});$("#alert-error").fadeTo(3e3,500).slideUp(500,function(){$("#alert-error").slideUp(500)});$("#btn-more-actions").click(function(){$(this).parent().slideUp()})});$(function(){var n=$("#subscribe-newsletter-modal"),t=$("#congratulation-newsletter-modal"),r=$(n).find(".email-address"),i=n.find(".email-input"),u=$(t).find(".great-btn");u.click(function(){t.modal("toggle")});$(".newsletter-from input").keyup(function(n){if(n.keyCode==13)$(".newsletter-from").submit();else{var t=i;t.removeClass("red-border")}});$(".newsletter-from").on("submit",function(n){function f(){$.ajax({method:"POST",url:"/home/subscribenewsletter",data:this.data}).done(function(){closeAndOpenModal("#subscribe-newsletter-modal","#congratulation-newsletter-modal")}).fail(function(n,t){console.log(n,t)})}var t=r.val(),u={email:t};validateForm(this,i,n,f.bind({data:u}))})});$(function(){var n=$(".newsletter-banner"),t=$(n).find(".subscribe-newsletter"),f=$(n).find(".close"),u=$(n).find(".email-address"),i,r;f.click(function(){n.hide()});$(".sign-up-btn").click(function(){t.show();$(this).hide()});$(".newsletter-form-banner input").keyup(function(n){if(n.keyCode==13)$(".newsletter-form-banner").submit();else{var t=$(this);t.removeClass("red-border")}});i=$(n).find(".enjoy-us-contianer");r=$(n).find(".congratulation");$(".newsletter-form-banner").on("submit",function(n){function o(){$.ajax({method:"POST",url:"/home/subscribenewsletter",data:this.data}).done(function(){t.hide();i.hide();r.show()}).fail(function(n,u){console.log(n,u);r.hide();t.show();i.show()})}var f=u.val(),e={email:f};validateForm(this,u,n,o.bind({data:e}))})});$(function(){function i(n){n.is(":hidden")?(t.hide(),n.show(),o()):t.hide()}function o(){$("html, body").animate({scrollTop:$("#mobileTourMenu").offset().top-60},1e3)}var n=$(".moblie-nav-container"),t=$(n).find(".popup-container"),r=$(n).find(".popup-container.tour-order-by"),u=$(n).find(".popup-container.change-tour-type-mobile"),f=$(n).find(".open-sort-by"),e=$(n).find(".open-tour-type");f.on("click",function(n){i(r);n.preventDefault()});e.on("click",function(n){i(u);n.preventDefault()})})