function makeAvailability(){var t=$(".calendarInner"),n;t!=null&&t.length>0&&($(".calendarExtras .sidebarSection .price").length>0&&$(".calendarExtras .sidebarSection .price").remove(),$(".calendarExtras .sidebarSection").prepend('<div class="price"><p><span class="sidebarLabel">Price<\/span> <span class="value priceValue">Searching...<\/span><\/p><\/div>'),$(".calendarExtras").slideDown(function(){$("html,body").animate({scrollTop:$(".calendarExtras .submitButton").offset().top},1e3,function(){$("html,body").clearQueue();$("html,body").stop()});$(".submitButton").show()}),n=0,$(".calendarInner tr td").each(function(t){var i=data.days[t];$(this).hasClass("Selected")&&!$(this).hasClass("Depart")&&(n+=i.price)}),$("span.priceValue").text("£"+n.toFixed(0)))}function calendarData(){this.arrivalDate=null;this.departureDate=null;this.days=[];this.selectionMode="start"}function calendarDay(n,t,i,r,u,f,e,o,s,h,c,l){this.date=n;this.hasAvailableRooms=t;this.dateIsInThePast=i;this.isPrevMonth=r;this.isNextMonth=u;this.closedForArrival=f;this.closedForDeparture=e;this.minStayLength=o;this.maxStayLength=s;this.minStayThrough=h;this.maxStayThrough=c;this.price=l}function bindEvents(){$(".calendarInner tr td").bind("click",function(){if(canSelect(this)){switch(data.selectionMode){case"start":selectArrivalDate(this);break;case"end":selectDepartureDate(this);break;case"done":clearItinerary()}updateDisplay();updateText();data.selectionMode=="done"?makeAvailability():$(".calendarExtras .sidebarSection .price").slideUp()}});$(".calendarInner tr td").mouseover(function(){canSelect(this)?$(this).addClass("Selectable"):$(this).removeClass("Selectable")});$(".calendarInner tr td").mouseleave(function(){$(this).removeClass("Selectable")})}function updateText(){switch(data.selectionMode){case"start":$(".calendarHeader h3").text("Select your arrival date");break;case"end":$(".calendarHeader h3").text("Select your departure date");break;case"done":$(".calendarHeader h3").text("Confirm your choice")}var n="---",t="---",i="---";data.arrivalDate&&(n=moment(data.arrivalDate.date).format("DD MMMM YYYY"));data.departureDate&&(t=moment(data.departureDate.date).format("DD MMMM YYYY"),i=Math.ceil((data.departureDate.date-data.arrivalDate.date)/864e5));$(".roomBookingSidebarContent span.arrive").text(n);$(".roomBookingSidebarContent span.depart").text(t);$(".roomBookingSidebarContent span.nights").text(i)}function selectArrivalDate(n){var t=$.grep(data.days,function(t){return t.date.valueOf()==$(n).data("date").valueOf()})[0];data.arrivalDate=t;$("#ArrivalDate").val(moment(data.arrivalDate.date).format());data.selectionMode="end"}function selectDepartureDate(n){var t=$.grep(data.days,function(t){return t.date.valueOf()==$(n).data("date").valueOf()})[0];data.departureDate=t;data.selectionMode="done";$("#DepartureDate").val(moment(data.departureDate.date).format())}function clearItinerary(){data.arrivalDate=null;$("#ArrivalDate").val("");data.departureDate=null;$("#DepartureDate").val("");data.selectionMode="start";$(".calendarExtras").slideUp()}function updateDisplay(){switch(data.selectionMode){case"start":showPossibleStartDates();break;case"end":showPossibleEndDates();break;case"done":showAvailability()}}function showPossibleStartDates(){$(".calendarInner tr td").each(function(n){var t=data.days[n],i=getBasicClass(t);t.hasAvailableRooms&&t.closedForArrival&&(i="Restriction");$(this).attr("class",i)})}function showPossibleEndDates(){var t=!1,n=null;$(".calendarInner tr td").each(function(i){var r=data.days[i],u=getBasicClass(r),f=u;t?u="NextMonth":n&&(n<data.arrivalDate.minStayLength||n<data.arrivalDate.minStayThrough||data.arrivalDate.maxStayLength>0&&n>data.arrivalDate.maxStayLength||data.arrivalDate.maxStayThrough>0&&n>data.arrivalDate.maxStayThrough)?u="Restriction":r.isNextMonth&&r.hasAvailableRooms?u="Available":r.date<data.arrivalDate.date?u="InThePast":r.hasAvailableRooms&&r.closedForDeparture?u="Restriction":r.date.valueOf()==data.arrivalDate.date.valueOf()?(u=r.hasAvailableRooms?"Selected Arrive Available":"Selected Arrive Unavailable",n=0):i>1&&!r.hasAvailableRooms&&data.days[i-1].hasAvailableRooms&&(u="Available");r.date>data.arrivalDate.date&&f=="Unavailable"&&(t=!0);$(this).attr("class",u);n!=null&&n++})}function showAvailability(){$(".calendarInner tr td").each(function(n){var r=$(this).data("date"),i=data.days[n],t=getBasicClass(i);i.date>data.arrivalDate.date&&i.date<data.departureDate.date?t="Selected":i.date.valueOf()==data.arrivalDate.date.valueOf()?t="Selected Arrive "+t:i.date.valueOf()==data.departureDate.date.valueOf()&&(t="Selected Depart "+t);$(this).attr("class",t)})}function processDays(){$(".calendarInner tr td").each(function(){data.days.push(new calendarDay(createDate($(this).data("year"),$(this).data("month"),$(this).data("day")),$(this).data("available")=="True"?!0:!1,$(this).hasClass("InThePast"),$(this).hasClass("PrevMonth"),$(this).hasClass("NextMonth"),$(this).data("closed-arrival")=="True"?!0:!1,$(this).data("closed-departure")=="True"?!0:!1,parseInt($(this).data("min-stay")),parseInt($(this).data("max-stay")),parseInt($(this).data("min-through")),parseInt($(this).data("max-through")),parseFloat($(this).data("price"))));$(this).data("date",createDate($(this).data("year"),$(this).data("month"),$(this).data("day")))})}function getBasicClass(n){if(n.dateIsInThePast||n.isPrevMonth)return"InThePast";if(n.isNextMonth)return"NextMonth";if(n.hasAvailableRooms){if(n.hasAvailableRooms)return"Available"}else return"Unavailable"}function createDate(n,t,i){return new Date(n,t-1,i)}function canSelect(n){return $(n).hasClass("Available")||data.selectionMode=="done"&&$(n).hasClass("Selected")}function HotelInformationToggle(){$(".extendedInformationToggle").click(function(){$(".extendedInformation").show();$(this).hide()})}function ConfigureBindings(){VM=new RoomConfigurationViewModel;VM.calculateTotal();ko.applyBindings(VM)}function RoomConfigurationViewModel(){var n=this;n.packages=ko.observableArray([]);n.rates=ko.observableArray([]);n.chosenCategory=ko.observable();n.chosenRoomType=ko.observable();n.upsellPrice=ko.observable();n.pageTotal;n.calculateTotal=function(){var t=0;$(".roomBookingSidebar .room .roomRate, .roomBookingSidebar .room .roomPackage").each(function(){t=t+Number($(this).data("price"))});n.pageTotal==null?n.pageTotal=ko.observable(t):n.pageTotal(t)}}function MakeRoomSelectable(){$(".selectColumn label.btnAction").live("click",function(){$(".selectColumn label.btnAction").text("View Rooms");var t=$(this),n=t.parents(".roomBookingListItem"),i=n.find(".selectColumn input");n.hasClass("selected")?(VM.chosenRoomType(""),n.removeClass("selected")):(t.text("Close Rooms"),i.prop("checked")&&(VM.chosenRoomType(i.data("room-type-code")),n.addClass("selected")))});$("input[name='roomSelect']").live("change",function(){var i=[],n=$(this).closest(".roomBookingListItem"),e=$(n).find("#roomRateCodes")[0],o=$(n).find("#roomRateCodes").first().data("fromprice"),t,r,u,f;VM.chosenRoomType($(this).data("room-type-code"));$(this).closest(".roomBookingListBox").find(".roomBookingListItem").removeClass("selected");$(n).addClass("selected");$(e).find("li.rate-item").each(function(){var n=$(this).data("ratedescription-points").length?$(this).data("ratedescription-points").split("<\/value>"):"";i.push({Name:$(this).data("ratename"),Subtitle:$(this).data("ratesubtitle"),Description:$(this).data("ratedescription"),DescriptionPoints:n,Price:parseFloat($(this).data("price")),MenuLink:$(this).data("menulink"),MenuText:$(this).data("menutext"),PriceDifference:parseFloat($(this).data("price"))-parseFloat(o),PromotedRate:$(this).data("promotedrate"),RoomIndex:$(this).data("roomindex"),RoomRateCode:$(this).data("roomcodetype")+"-"+$(this).data("rateplancode")+"-"+$(this).data("additionalrateinfo"),RoomDescription:$(this).data("roomdescription"),IsPromoRate:$(this).data("rateispromorate"),IsCorporateRate:$(this).data("rateiscorporaterate"),IsIataRate:$(this).data("rateisiatarate"),IsBlockRate:$(this).data("rateisblockrate"),RoomName:$(this).data("roomname")})});VM.rates(i);APP.diningMenus.init($(".menusList"));n.find(".showHide").trigger("onClose");VM.chosenCategory($(this).data("roomcategory"));t=$("#upsell").data("fromprice");r=$(this).data("fromprice");t&&t!=""?(u=Math.ceil(t),f=Math.floor(r),VM.upsellPrice(u-f),$("html,body").animate({scrollTop:$(".upsell").offset().top},500,function(){$("html,body").clearQueue();$("html,body").stop()})):($.scrollTo(".selected .rates",{duration:500,offset:-60}),$("html,body").animate({scrollTop:$(".rates").offset().top},500,function(){$("html,body").clearQueue();$("html,body").stop()}));AttachRoomRateSelectionEvent();addRoomToSidebar(n);VM.calculateTotal()})}function addRoomToSidebar(n){var f=$(n).parents(".room").data("index"),u=$(n).parents(".room").data("guests"),i=$(n).parents(".room").data("children"),e=$(n).find(".infoColumn h2").text(),r=$(".roomBookingSidebar .room[data-roomindex="+f+"]"),t;r.find("ul").length==1&&r.find("ul").remove();t='<ul><li class="roomType">'+e+" - "+u+(u==1?" adult":" adults");i>0&&(t+=","+i+(i==1?" child":" children"));t+="<\/li><\/ul>";r.append(t)}function updateSidebarPackages(){var n=$("div.room").data("index"),t=$(".roomBookingSidebar .room[data-roomindex="+n+"] ul");t.find(".roomPackage").remove();$(".packageItem input[type=checkbox]:checked").each(function(){t.append('<li class="roomPackage" data-price="'+$(this).closest(".packageItem").data("price")+'">'+$(this).closest(".packageItem").find("h4").text()+"<\/li>")});recalculateSidebarRoomCost(n)}function recalculateSidebarRoomCost(n){var t=$(".roomBookingSidebar .room[data-roomindex="+n+"]"),i,r;t.length==1&&(i=0,r=$(t).find(".roomRate"),r.length==1&&(i+=Number(r.data("price"))),$(t).find(".roomPackage").each(function(){i+=Number($(this).data("price"))}),$(t).find(".roomCost").text("£"+i.toFixed(2)))}function AttachRoomRateSelectionEvent(){$("input[name='RoomConfiguration.RoomRateCode']").change(function(){var i;if($(".ie7").length>0&&($("input[name='RoomConfiguration.RoomRateCode']").attr("checked",""),this.checked=!0),this.checked){$(this).closest(".roomBookingListBox").find(".roomBookingListItem").removeClass("selected");$(this).closest(".roomBookingListItem").addClass("selected");var h=$(this).val().indexOf("-"),f=$(this).val().split("-")[1],u=$(this).closest(".roomContainer").data("index"),e=$(this).closest("ul").children(),o=e.index($(this).closest("li")),n=$(".searchConfig"),s=VM.rates(),t=s[o],r=$(".roomBookingSidebar .room[data-roomindex="+u+"] ul");r.length==1&&(i=r.find(".roomRate"),i.length==1?(i.attr("data-price",t.Price),i.data("price",t.Price),i.text(t.Name)):r.append('<li class="roomRate" data-price="'+t.Price+'">'+t.Name+"<\/li>"),r.find("li.roomPackage").remove());$(".submit").show();VM.calculateTotal();VM.pageTotal();recalculateSidebarRoomCost(u);n!=null&&(displaySearchPopup("Loading..."),$.post("/api/packages/GetPackages/",{HotelCode:n.data("hotel"),RateCode:f,"RoomConfigurations[0].NumberOfGuests":n.data("guests"),"RoomConfigurations[0].NumberOfChildren":n.data("children"),ArrivalDate:n.data("arrival"),DepartureDate:n.data("depart")}).done(function(n){$(n).each(function(){this.RoomIndex=u});n?(VM.packages(n),APP.diningMenus.init($(".menusList"))):VM.packages("");n&&n.length>0?($(".packages-template").addClass("packages"),$("html,body").animate({scrollTop:$(".packages").offset().top},500,function(){$("html,body").clearQueue();$("html,body").stop()})):$("html,body").animate({scrollTop:$(".submit").offset().top},500,function(){$("html,body").clearQueue();$("html,body").stop()})}).always(function(){hideSearchPopup()}))}})}function SelectPackage(n){n.checked?$(n).closest(".packageItem").addClass("selected"):$(n).closest(".packageItem").removeClass("selected");$("html,body").animate({scrollTop:$(".submit").offset().top},500,function(){$("html,body").clearQueue();$("html,body").stop()});updateSidebarPackages();VM.calculateTotal()}function SetupValidation(){$.validator.addMethod("greaterThan",function(n,t,i){return/Invalid|Nan/.test(new Date(n))?isNaN(n)&&isNaN($(i).val())||Number(n)>Number($(i).val()):new Date(n)>new Date($(i).val())},"Must be greater than {0}.");$(".jq-datepicker").datepicker({dateFormat:"dd/mm/yy",minDate:0,altFormat:"dd/mm/yy"});$("html.fontface").length>0&&($(".jq-datepicker").datepicker("option","nextText","N"),$(".jq-datepicker").datepicker("option","prevText","P"))}function ShouldCollapsePersonalDetails(){$(".roomBookingWrapper .edit-personal-details").click(function(n){var t,i;n.preventDefault();$(".roomBookingWrapper .booking-personal-details-form").removeClass("personal-details-collapse");$(".roomBookingWrapper .booking-personal-details-info-inner").addClass("personal-details-collapse");t=$(".roomBookingWrapper .booking-personal-details-form .boxContent").first();t.length>0&&(i=t.find("h3"),i.addClass("hide-title"))})}function CheckPostcode(){$(".booking-payment-terms-agreed-submit-inner .submit .btnSubmit").click(function(){$(".CountryCode select").val()=="GB"&&($("#Address_Postcode").val()==""?($(".addressFields").show(),$(".postcode-validate").show(),$("#Address_Postcode").addClass("input-validation-error")):$("#Address_Postcode").removeClass("input-validation-error"))})}function SpecialRequirementsSelection(){$(".roomBookingWrapper .special-requirements-selector").click(function(n){if(n.preventDefault(),$(".roomBookingWrapper .special-requirements-selector").addClass("selected"),$(".roomBookingWrapper .special-requirements-inner").addClass("special-requirements-expand"),location.pathname.replace(/^\//,"")==this.pathname.replace(/^\//,"")&&location.hostname==this.hostname){var t=$(this).attr("href");$("html,body").animate({scrollTop:$(t).offset().top},{duration:"slow",easing:"swing"})}})}function DisplaySavedCardCVV(){$(".roomBookingWrapper .saved-cards-selector").click(function(n){n.preventDefault();$this=$(this);$this.parents(".booking-payment-saved-cards-inner").hasClass("selected-panel")?($this.parents(".booking-payment-saved-cards-inner").removeClass("selected-panel"),$this.siblings("input").attr("checked",!1)):($(".booking-payment-saved-cards-inner").removeClass("selected-panel"),$this.parents(".booking-payment-saved-cards-inner").addClass("selected-panel"),$(".saved-cards-selection input").attr("checked",!1),$this.siblings("input").attr("checked",!0));$(".roomBookingWrapper .pay-on-account-selector").click(function(n){n.preventDefault();$(".saved-cards-selection input").parents(".booking-payment-saved-cards-inner").removeClass("selected-panel");$(".saved-cards-selection input").attr("checked",!1)})})}function DisplayNewCardDetails(){var n=$(".roomBookingWrapper .new-card-selector");n.length>0&&($(".roomBookingWrapper .booking-payment-medium-inner").addClass("new-card-collapse"),$(".roomBookingWrapper .new-card-selector").click(function(n){n.preventDefault();$(".saved-cards-selection input").attr("checked",!1);$(this).parents(".booking-payment-medium-inner").hasClass("new-card-collapse")?($(this).parents(".booking-payment-medium-inner").removeClass("new-card-collapse"),$(this).addClass("selected")):($(this).parents(".booking-payment-medium-inner").addClass("new-card-collapse"),$(this).removeClass("selected"));$(".booking-payment-saved-cards-inner").removeClass("selected-panel");$(".roomBookingWrapper .saved-cards-selection").click(function(n){n.preventDefault();$(".new-card-selector").removeClass("selected");$(".booking-payment-medium-inner").addClass("new-card-collapse")});$(".roomBookingWrapper .pay-on-account-selector").click(function(n){n.preventDefault();$(".new-card-selector").removeClass("selected");$(".booking-payment-medium-inner").addClass("new-card-collapse")})}))}function DisplayUSeThisAccount(){var n=$(".roomBookingWrapper .pay-on-account-selector");n.length>0&&($(".roomBookingWrapper .pay-on-account-selector").click(function(n){n.preventDefault();$(this).hasClass("selected")?($(this).removeClass("selected"),$(".pay-on-account-selection input").attr("checked",!1)):($(this).addClass("selected"),$(".pay-on-account-selection input").attr("checked",!0))}),$(".roomBookingWrapper .saved-cards-selection").click(function(n){n.preventDefault();$(".pay-on-account-selector").removeClass("selected");$(".pay-on-account-selection input").attr("checked",!1)}),$(".roomBookingWrapper .new-card-selection").click(function(n){n.preventDefault();$(".pay-on-account-selector").removeClass("selected");$(".pay-on-account-selection input").attr("checked",!1)}))}function DisplaySaveCardOptionIfPasswordEntered(){var n=$(".roomBookingWrapper #PasswordConfirm");n.blur(function(){var t=n.hasClass("valid");t==!0&&$(".save-card-details").show()})}function LocationHeaderToggle(){$(".location-header").length!=0&&$(".location-header .location-header_toggle-controls").click(function(n){n.preventDefault();$(this).parents(".location-header").toggleClass("location-header--open").find(".location-header_content").slideToggle()})}function ShowHide(){$(".showHide").each(function(){var t=$(this),n=$(".showHide_toggle a",t),i=$(".showHide_content",t);n.click(function(t){t.preventDefault();i.slideToggle();n.text()=="Read more +"?n.text("Read less -"):n.text("Read more +")});t.on("onClose",function(){i.hide();n.text("Read more +")})})}function GalleryInit(){var t=null,n=$(".main-image");$(".gallery-page .js-room-gallery-trigger").click(function(i){i.preventDefault();var r=$(this).data("gallery-index");n=$(".main-image");$(".galleryPopUp").show();n.data("gallery")?r!=t&&n.gallery("swapData",photos[r]):n.gallery({images:photos[r],mainPlacement:"cover",thumbs:!0});t=r});$(".galleryPopUpClose, .galleryPopUpBg").click(function(t){t.preventDefault();$(".galleryPopUp").hide();$("iframe",n).length>0&&($("iframe",n).remove(),$(".gallery-play-button",n).show())})}function ReviewProInit(){$(".reviewPro_close-button").click(function(n){n.preventDefault();$(".reviewPro_tooltip").hide()});$(".reviewPro_open-button").click(function(n){n.preventDefault();$(".reviewPro_tooltip").show()})}function UpdateGiftVouchersCartTotal(){if(!($(".shippingOptions").length<1)){var n=parseFloat($("#Amount").val())+parseFloat($("input[name='Shipping']:checked").closest(".shippingOption").data("price"));isNaN(n)?$(".giftVouchersTotal span").text("--"):$(".giftVouchersTotal span").text("£"+toFixed(n,2))}}function GiftVouchersShipping(){var n=function(){$("input[name='DifferentBillingAddress']").is(":checked")?($(".billingInfo :input").removeAttr("disabled"),$(".billingInfo").slideDown()):($(".billingInfo :input").attr("disabled","disabled"),$(".billingInfo").slideUp())};n();$("input[name='DifferentBillingAddress']").change(n)}function ShippingOptionsFiltering(){var n=$("input[name='Shipping'][value='International']"),t=$("input[name='Shipping'][value!='International']"),i=function(){$(".shippingOptions .shippingOption").hide();$(".completion").hide();$("select[name='ShippingAddress.CountryCode']").val()=="GB"?(t.each(function(n,t){$(t).parent(".shippingOption").show()}),$("input[name='Shipping']:checked").val()=="International"&&t.eq(0).attr("checked",!0),$(".completion").show()):$("select[name='ShippingAddress.CountryCode']").val()!=""&&(n.each(function(n,t){$(t).parent(".shippingOption").show()}),$("input[name='Shipping']:checked").val()!="International"&&n.attr("checked",!0),$(".completion").show());UpdateGiftVouchersCartTotal()};i();$("select[name='ShippingAddress.CountryCode']").change(i)}var postInProgress=!1,VM,resizeTimerId,scrollTimerId;$(document).ready(function(){var n;data=new calendarData;processDays();$(".roomBookingSidebar.calendar .scroll-pod").append('<div class="calendarExtras"><div class="sidebarSection"><div class="submitButton" style="display: none;"><input type="submit" class="btnAction btnSubmit" value="Select these dates" /><\/div><\/div><div class="clear"><\/div><\/div>');$("#ArrivalDate").val()&&(n=$.grep(data.days,function(n){return n.date.valueOf()==new Date(moment($("#ArrivalDate").val()).startOf("day").format()).valueOf()})[0],n&&(data.arrivalDate=n,data.selectionMode="end"));$("#DepartureDate").val()&&(n=$.grep(data.days,function(n){return n.date.valueOf()==new Date(moment($("#DepartureDate").val()).format()).valueOf()})[0],n&&(data.departureDate=n,data.selectionMode="done"));updateDisplay();bindEvents()});$(document).ready(function(){SetupValidation();ConfigureBindings();MakeRoomSelectable();AttachRoomRateSelectionEvent();HotelInformationToggle();ShouldCollapsePersonalDetails();CheckPostcode();SpecialRequirementsSelection();DisplaySavedCardCVV();DisplayNewCardDetails();DisplaySaveCardOptionIfPasswordEntered();LocationHeaderToggle();ShowHide();GalleryInit();ReviewProInit();DisplayUSeThisAccount()});VM={};ko.bindingHandlers.fadeSwitcher={init:function(n,t){var i=t();$(n).toggle(ko.utils.unwrapObservable(i))},update:function(n,t){var i=ko.utils.unwrapObservable(t());i?$(n).fadeIn():$(n).fadeOut("fast")}};$(document).ready(function(){ShippingOptionsFiltering();GiftVouchersShipping();UpdateGiftVouchersCartTotal();$("input[name='Shipping']").change(UpdateGiftVouchersCartTotal);$("input[name='Amount']").change(UpdateGiftVouchersCartTotal)});$(function(){$(".jq-datepicker").datepicker({dateFormat:"dd/mm/yy",minDate:0,maxDate:"+12M"});$("html.fontface").length>0&&($(".jq-datepicker").datepicker("option","nextText","N"),$(".jq-datepicker").datepicker("option","prevText","P"));$(".tableTime li").click(function(){$(this).hasClass("disabled")||($(".tableTime li input[type=radio]").attr("checked",!1),$(".tableTime li").removeClass("selected"),$(this).find("input[type=radio]").attr("checked",!0),$(this).addClass("selected"))});$(".table-booking .submit .btnSubmit").click(function(){$(".CountryCode select").val()=="GB"&&($("#Address_Postcode").val()==""?($(".addressFields").show(),$(".postcode-validate").show(),$("#Address_Postcode").addClass("input-validation-error")):$("#Address_Postcode").removeClass("input-validation-error"))})});$(function(){$(".jq-datepicker").datepicker({dateFormat:"dd/mm/yy",minDate:$("#BookingStartDate").val()||0,maxDate:$("#BookingEndDate").val()||"",altFormat:"dd/mm/yy"});$.validator.addMethod("date",function(n,t){var i=n.match(/([0-9]+)/gi),r;return i?(r=i[1]+"/"+i[0]+"/"+i[2],this.optional(t)||!/Invalid|NaN/.test(new Date(r))):this.optional(t)||!1},"Please enter a date in the format dd/mm/yyyy")});window.deviceWidth=$(window).resize(function(){clearTimeout(resizeTimerId);deviceWidth=$(this).width();resizeTimerId=setTimeout(function(){$(window).trigger("onResizeEnd")},300)}).width();$(window).scroll(function(){clearTimeout(scrollTimerId);currentScrollPos=$(window).scrollTop();scrollTimerId=setTimeout(function(){$(window).trigger("onScrollEnd")},300)}).width(),function(){function u(){var i=t.offset().top+r-$(window).scrollTop(),n;i<0?(mainContentRow=$(".scroller-area"),scrollBoxBoundaryTop=$(".scroller-area ").offset().top,scrollBoxBoundaryBottom=0,scrollBoxHeight=$(".scrolling-pod").outerHeight(),deviceWidth>767?(scrollBoxBoundaryBottom=$(mainContentRow).offset().top+$(mainContentRow).outerHeight(),currentScrollPos=$(window).scrollTop(),n=currentScrollPos-scrollBoxBoundaryTop+5,n=n>0?n:0,scrollBoxBoundaryTop>currentScrollPos?$(".scrolling-pod").attr("class","pod scrolling-pod scrollBoxAbsolutePosition").animate({top:n},300,function(){$(".scrolling-pod").removeClass("scrollBoxAbsolutePosition").css("top","")}):scrollBoxBoundaryBottom-scrollBoxHeight>currentScrollPos?$(".scrolling-pod").addClass("scrollBoxAbsolutePosition").animate({top:n}):scrollBoxBoundaryBottom-scrollBoxHeight<currentScrollPos?$(".scrolling-pod").addClass("scrollBoxAbsolutePosition").animate({top:scrollBoxBoundaryBottom-scrollBoxHeight-scrollBoxBoundaryTop}):$(".scrolling-pod").removeClass("scrollBoxAbsolutePosition").css("top","")):$(".scrolling-pod").removeClass("scrollBoxAbsolutePosition").css("top","")):$(".scrolling-pod").removeClass("scrollBoxAbsolutePosition").css("top","")}var t,n,i,r;$(function(){(t=$(".scroller-area"),n=$(".scroll-pod"),t.length&&n.length)&&(i=$(".pod:last",n).addClass("scrolling-pod"),r=n.outerHeight()-i.outerHeight(),$(window).bind("onResizeEnd",u),$(window).bind("onScrollEnd",u))})}()