HC=HC||{},function(){function r(n){return n-45}function u(n,t){t=r(t||0);n.css("transform","rotate("+t+"deg)","-webkit-transform","rotate("+t+"deg)","-moz-transform","rotate("+t+"deg)","-ms-transform","rotate("+t+"deg)","-o-transform","rotate("+t+"deg)")}function f(n,t){var r=t*360,f=1;n.find("[data-arc]").each(function(){var n=Math.min(f*90,r);u($(this),i+n);f++});r>90&&n.find("[data-arccover]").css("display","none")}function n(i,r,u){r===0?t(i,!0):(t(i,!1),u=u||0,f(i,u),u<r&&(u+=.01,setTimeout(function(){n(i,r,u)},1)))}function t(n,t){var i=n.find("[data-arc]"),r=n.find("[data-arccover]"),u=i.attr("class").split(" ").pop(),e=r.attr("class").split(" ").pop(),f="--disabled";t?(r.addClass(e+f),i.addClass(u+f)):u.indexOf(f)>=0&&(r.removeClass(e),i.removeClass(u))}var i=-90;HC.CircleScore={animate:n}}();HC.namespace("HC.HottestDeals.Explore.Gallery"),function(){function i(i,r){n=i;t(r)}function t(t){$.each(t,function(t,i){var r=n.find('[data-hotel-item="'+t+'"]'),u=i.map(function(n){return n.ID});new HC.SlideGallery(r,u,{liClass:"hc-gallery__item",onlyShowFirst:!0})})}var n;$.extend(HC.HottestDeals.Explore.Gallery,{init:i,refreshGalleries:t})}();HC=HC||{},function(n,t,i){function g(n){r=n.container;u=n;u.IsDesktop=t.isPlatformDesktopWeb();nt();n.stickyPanel&&ot();!n.isVerified&&u.IsDesktop&&k();tt();it(n.returnUrl)}function nt(){r.on("click.reviewrate","[data-rateoption]",ut);r.on("click.reviewprivacy","[data-reviewprivacy]",y);r.on("click.reviewtravellertype","[data-travellertype]",ft);r.on("click.reviewtracking","[data-trackingclick]",p);r.on("change.reviewtracking","[data-trackingchange]",p);r.on("click.reviewcalculate","[data-calculatebutton]",o)}function tt(){e=r.find("[data-circlescore]");n.animate(e,0)}function it(n){u.IsDesktop||i.pushState(n,!0)}function o(){var u=r.find("[data-category]"),n=0,t=0,i;$.each(u,function(){var i=$(this).find(".hc-reviewform__rate--selected[data-rate]");i.length>0&&(t+=i.data("rate"),n++)});n=n===0?1:n;i=Math.round(t/n*10)/10;rt(i)}function rt(t){var i=r.find("[data-finalscore]"),f=r.find("[data-resulttext]"),u=r.find("[data-calculatebutton]"),o=u.data("hide"),s=i.attr("class").split(" ").pop();i.addClass(s+"--calculated");$.each(i,function(){$(this).val(t).text(t)});o===!0?u.css("display","none"):u.remove();f.css("display","block");n.animate(e,t/10)}function ut(){var n="hc-reviewform__rate--selected",i=$(this).closest("[data-category]"),t=i.find("."+n+"[data-rate]"),u=i.find("[data-categoryrating]"),f=$(this).data("rate"),e=r.find("[data-calculatebutton]");h=$(this).hasClass(n);t.length>0&&t[0]!==this&&$(t).removeClass(n);u.val(f);v(this,n);et();e.css("display")!=="block"&&o()}function v(n,t){$(n).hasClass(t)?$(n).removeClass(t):$(n).addClass(t)}function y(){var n=$(r).find("[data-reviewer-name]");$(this).data("reviewprivacy")==="anonymous"?w(!0,!1):(w(!1,!0),n.rules("add",{required:!0}));$(this).data("reviewprivacy")==="anonymous"&&$(this).is(":checked")?(f&&(c=n.val(),l=n.attr("placeholder"),n.attr("placeholder",""),n.val("").attr("disabled","disabled"),n.rules("remove","required"),n.valid()),f=!1):(f||(n.val(c).removeAttr("disabled"),n.attr("placeholder",l)),f=!0)}function ft(){var f=$(this).parent(),t="travellerselected",n=f.find(".travellerselected[data-travellertype]"),i=r.find("[data-formtravellertype]"),u;n.length>0&&n[0]!==this&&$(n).removeClass(t);v(this,"travellerselected");$(this).hasClass(t)?(u=$(this).data("travellertype"),i.val(u)):i.val("")}function p(){var arguments=$(this).data("tracking").split("|"),n=arguments[0],t=$(this).data("rate")&&h?0:arguments[1];HC.GoogleUA.trackEvent("createReview",n,t)}function w(n,t){var i=r.find('[data-reviewprivacy="anonymous"]'),u=r.find('[data-reviewprivacy="username"]');$.each(i,function(){$(this).prop("checked",n)});u.prop("checked",t)}function et(){for(var f,t=r.find("[data-category]"),i=0,u=r.find("[data-message]"),n=0;n<t.length&&n<3;n++)f=$(t[n]).find(".hc-reviewform__rate--selected[data-rate]"),f.length>0&&i++;i===3?u.css("display","block"):u.css("display","none")}function ot(){var t=$("#hc_r_ftWrap"),n=r.find("[data-hotelpanel]");n&&n.sticky({topSpacing:0,bottomSpacing:t.outerHeight()+425,getWidthFrom:"[data-hotelpanel]"})}function b(n,t){var r=n>0?n:5,f=u?u.returnUrl:t,e=setInterval(function(){$("[data-countdowntext]").html(HC.Translations.get("ReviewModalRedirectText",{CountDownTime:r}));r--;r===0&&(clearInterval(e),window.setTimeout(function(){(u||!i.previousPage(!0))&&s(f)},0))},1e3)}function k(){var n=r.find("form");n.on("submit",function(n){n.preventDefault();d()})}function d(){var n=r.find("form"),t=n.validate();t.errorList.length===0&&$.ajax({cache:!1,async:!0,type:"POST",url:n.attr("action"),data:n.serialize(),success:function(t){ht(t,n)}})}function st(n){return $.extend({},{type:"popover",activation:"manual",delay:50,fadeIn:50,stopAutoCloseOnSelf:!0,remainOpen:!0,keepAlive:!0,closeOnResize:!1,position:{elementBeingPositioned:"center",targetElement:"center",useViewPortToPosition:!0},detachToolTip:!1,isModal:!0,content:n,adjustPopoverSize:!0})}function ht(n,t){t.find($(n).first()).length===0&&t.append(n);t.trigger("reset");y();ct(n)}function ct(n){a=$("<div><\/div>").hcToolTip(st(n));a.hcToolTip("show");b(4)}function s(n){window.location.replace(n)}function lt(n){i.previousPage(!0)||s(n)}var r,e,h=!1,c,l,f=!0,a,u;HC.Review={init:g,backToHotelPage:lt,calculateRate:o,redirect:s,setFormHandlers:k,setCountdown:b,submitAsync:d}}(HC.CircleScore,HC.UserContext,HC.HistoryController),function(n){var e=Array.prototype.slice,h=Array.prototype.splice,u={topSpacing:0,bottomSpacing:0,className:"is-sticky",wrapperClassName:"sticky-wrapper",center:!1,getWidthFrom:"",widthFromWrapper:!0,responsiveWidth:!1},f=n(window),c=n(document),t=[],o=f.height(),r=function(){for(var r,u,e=f.scrollTop(),h=c.height(),l=h-o,a=e>l?l-e:0,s=0;s<t.length;s++){var i=t[s],v=i.stickyWrapper.offset().top,y=v-i.topSpacing-a;e<=y?i.currentTop!==null&&(i.stickyElement.css({width:"",position:"",top:""}),i.stickyElement.parent().removeClass(i.className),i.stickyElement.trigger("sticky-end",[i]),i.currentTop=null):(r=h-i.stickyElement.outerHeight()-i.topSpacing-i.bottomSpacing-e-a,r=r<0?r+i.topSpacing:i.topSpacing,i.currentTop!=r&&(i.getWidthFrom?u=n(i.getWidthFrom).width()||null:i.widthFromWrapper&&(u=i.stickyWrapper.width()),u==null&&(u=i.stickyElement.width()),i.stickyElement.css("width",u).css("position","fixed").css("top",r),i.stickyElement.parent().addClass(i.className),i.currentTop===null?i.stickyElement.trigger("sticky-start",[i]):i.stickyElement.trigger("sticky-update",[i]),i.currentTop===i.topSpacing&&i.currentTop>r||i.currentTop===null&&r<i.topSpacing?i.stickyElement.trigger("sticky-bottom-reached",[i]):i.currentTop!==null&&r===i.topSpacing&&i.currentTop<r&&i.stickyElement.trigger("sticky-bottom-unreached",[i]),i.currentTop=r))}},s=function(){var u,i,r;for(o=f.height(),u=0;u<t.length;u++)i=t[u],r=null,i.getWidthFrom?i.responsiveWidth===!0&&(r=n(i.getWidthFrom).width()):i.widthFromWrapper&&(r=i.stickyWrapper.width()),r!=null&&i.stickyElement.css("width",r)},i={init:function(i){var r=n.extend({},u,i);return this.each(function(){var i=n(this),e=i.attr("id"),o=i.outerHeight(),s=e?e+"-"+u.wrapperClassName:u.wrapperClassName,h=n("<div><\/div>").attr("id",s).addClass(r.wrapperClassName),f;i.wrapAll(h);f=i.parent();r.center&&f.css({width:i.outerWidth(),marginLeft:"auto",marginRight:"auto"});i.css("float")=="right"&&i.css({float:"none"}).parent().css({float:"right"});f.css("height",o);r.stickyElement=i;r.stickyWrapper=f;r.currentTop=null;t.push(r)})},update:r,unstick:function(){return this.each(function(){for(var r=this,u=n(r),f=-1,i=t.length;i-->0;)t[i].stickyElement.get(0)===r&&(h.call(t,i,1),f=i);f!=-1&&(u.unwrap(),u.css({width:"",position:"",top:"",float:""}))})}};window.addEventListener?(window.addEventListener("scroll",r,!1),window.addEventListener("resize",s,!1)):window.attachEvent&&(window.attachEvent("onscroll",r),window.attachEvent("onresize",s));n.fn.sticky=function(t){if(i[t])return i[t].apply(this,e.call(arguments,1));if(typeof t!="object"&&t)n.error("Method "+t+" does not exist on jQuery.sticky");else return i.init.apply(this,arguments)};n.fn.unstick=function(t){if(i[t])return i[t].apply(this,e.call(arguments,1));if(typeof t!="object"&&t)n.error("Method "+t+" does not exist on jQuery.sticky");else return i.unstick.apply(this,arguments)};n(function(){setTimeout(r,0)})}(jQuery);