window.eviivo=window.eviivo?window.eviivo:{};window.eviivo.availabilitySearch=window.eviivo.availabilitySearch?window.eviivo.availabilitySearch:{};window.eviivo.availabilitySearch=function(n){function kt(s){t=n.extend(at,s);d=n(t.eviivoSearchBoxId+" div.column-outer").html();o=t.eviivoSearchBoxId+" div.column-inner";h=n(t.eviivoSearchBoxId+" div.cp-tooltip");c=n(t.eviivoSearchBoxId+" #btn-addRoom");l=n(t.eviivoSearchBoxId+" #btn-removeRoom");b=n(t.eviivoSearchBoxId+" button.cp-button-price");tt=n("#mod-results div.results-price button.cp-button-showprices");it=n(t.eviivoSearchBoxId+" input#default-nights-serviced");f=n(t.eviivoSearchBoxId+" input#eviivo-start-date");u=n(t.eviivoSearchBoxId+" input#eviivo-end-date");nt=n(t.eviivoSearchBoxId+" .actions button");k=n(t.eviivoSearchBoxId+" div.column-inner:first-child span.column-adult span.ui-selectmenu-button");vt=n("#eviivo-availability-search");yt=n("#ui-datepicker-div");wt=n("#submit-reservation #cbe");bt=n(".column-outer");rt=n(window).width();e=[];pt=!1;r=n("#datepicker-tooltip");a=n(".cp-tooltip-info");i=eviivo.utils.queryStringHelper;typeof i=="undefined"&&console.log("eviivo.utils.queryStringHelper was not loaded therefore this page might not work properly");g=new Date;n.datepicker.setDefaults(n.extend({dateFormat:"dd/mm/yy",showOtherMonths:!0,selectOtherMonths:!0,minDate:g}));f.datepicker({onSelect:si});u.datepicker({onSelect:hi});u.datepicker();c.on("click",et);l.on("click",ni);r.on("click",p);nt.on("click",y).on("blur",y);n(document).on("keydown",ii);n(t.eviivoSearchBoxId+" .icon-guest").on("click",st);n(t.eviivoSearchBoxId+" .icon-guest a").on("click",st);ut(n(t.eviivoSearchBoxId+" div.column-inner:first-child select.cp-select"));n(document).on("click",ti);b.on("click",ct);tt.on("click",ei);ui();oi();a.on("click",ri);ht(!0)}function ut(n){var t=n.selectmenu({change:dt});e.push({adults:t[0],children:t[1]})}function v(){var r=0,i,u,f;n(t.eviivoSearchBoxId+" div.column-inner span.column-adult .ui-selectmenu-text").each(function(t,i){r+=w(n(i))});i=0;n(t.eviivoSearchBoxId+" div.column-inner span.column-child .ui-selectmenu-text").each(function(t,r){i+=w(n(r))});u=n(o).length;f=n(t.eviivoSearchBoxId+" .cp-inputValues a span");f.html(r+" "+t.resources.adults+" "+i+" "+t.resources.children+" "+u+" "+t.resources.rooms)}function dt(){v();var i=n(t.eviivoSearchBoxId+" .cp-inputValues a");i.fadeIn("slow",function(){i.css("color","#000")})}function gt(){var t=1;n(".column-outer .column-inner").each(function(){var i="Room "+t;n(this).find(".room").html(i);t++})}function ft(){var r=n(".column-outer .column-inner").length,t=n(".room-counter"),i;n(".room-counter span").html(r);t.addClass("pulse");i=t.clone(!0);t.before(i);n(".room-counter:last").remove()}function et(){var i=n(o).length;i<t.roomsLimit&&(n(t.eviivoSearchBoxId+" div.column-outer").append(d).addClass("cloned"),ut(n(t.eviivoSearchBoxId+" div.column-inner:last-child select.cp-select")),v(),gt(),ft());ot()}function ni(){var i=n(o).length;i>1&&(n(t.eviivoSearchBoxId+" div.column-inner:last").remove(),v(),ft());ot()}function ot(){var i=n(o).length;i>1?l.removeAttr("disabled"):(l.attr("disabled","disabled"),c.focus());i<t.roomsLimit?c.removeAttr("disabled"):(c.attr("disabled","disabled"),l.focus());n(t.eviivoSearchBoxId+" div.column-outer").removeClass("overflow");i>2&&n(t.eviivoSearchBoxId+" div.column-outer").addClass("overflow")}function ti(t){n(t.target).hasClass("ui-menu-item")||n(t.target).hasClass("cp-tooltip")||n(t.target).parents("div.cp-tooltip").length!==0||y(t,!0)}function ii(n){n.keyCode===27&&y(n,!0)}function y(n,t){h.is(":visible")&&(h.hide(),t||b.focus())}function st(n){n!==null&&n.stopPropagation();h.is(":hidden")&&(h.show("fast"),k.focus())}function ri(){a.is(":visible")&&a.hide()}function ht(n){return f.val()===""&&u.val()===""?(n?r.addClass("infotip"):(f.addClass("invalid"),u.addClass("invalid")),r.show(),!1):f.val()===""?(n?r.addClass("infotip"):f.addClass("invalid"),r.show(),!1):u.val()===""?(n?r.addClass("infotip"):u.addClass("invalid"),r.show(),!1):(p(),!0)}function p(){f.removeClass("invalid");u.removeClass("invalid");r.removeClass("infotip");r.hide()}function ui(){var r=t.criteria,o=window.location.href,e=!1,u=i.getAllKeys(o),f;return u.startdate!==null&&(r.startDate=new Date(u.startdate)),u.enddate!==null&&(r.endDate=new Date(u.enddate)),u.nights!==null&&(f=parseInt(u.nights),isNaN(f)||(r.endDate=new Date(r.startDate.getFullYear(),r.startDate.getMonth(),r.startDate.getDate(),0,0,0),r.endDate.addHours(24*f))),u.simpleversion!==null&&(s=u.simpleversion),u.noofrooms!==null&&(e=u.noofrooms>=0),r.occupancy=[],n.each(u,function(n,i){var o=n.indexOf("adults")>=0,s=n.indexOf("children")>=0,h,f;if(o||s>0){if(h=new RegExp("[a-zA-Z]+([0-9]+)"),f=parseInt(h.exec(n)[1])-1,e&&f+1>parseInt(u.noofrooms))return!1;while(f>t.criteria.occupancy.length-1)r.occupancy.push({adults:0,children:0});o?r.occupancy[f].adults=i:s&&(r.occupancy[f].children=i)}}),r}function ct(){if(ht()){var e=t.baseSearchUrl,l=window.location.href,o=i.getAllKeys(l),r=jQuery.extend({},o),h=f.datepicker("getDate"),c=u.datepicker("getDate");h!==null&&i.addKey(r,"startdate",lt(h));c!==null&&i.addKey(r,"enddate",lt(c));i.deleteKeyWithRegex(r,"adults");i.deleteKeyWithRegex(r,"children");i.deleteKeyWithRegex(r,"noofrooms");n(t.eviivoSearchBoxId+" div.column-inner").each(function(t,u){i.addKey(r,"adults"+(t+1),w(n(u).find("span.column-adult .ui-selectmenu-text")));i.addKey(r,"children"+(t+1),w(n(u).find("span.column-child .ui-selectmenu-text")))});s!==null&&s!==""&&s!==undefined&&i.addKey(r,"simpleversion",s);n("#ref").length>0&&n("#ref").val().length>0&&i.addKey(r,"ref",n("#ref").val());fi(o,r);i.addRandomizer(r);e+=i.toString(r);window.location.href=e}}function fi(t,r){var f,u;i.deleteKey(r,"pce");f=n("#pce");f.length>0&&i.addKey(r,"pce",f.val());i.deleteKey(r,"peid");u=n("#peid");u.length>0&&u.val()!=null&&u.val()!==""&&i.addKey(r,"peid",u.val())}function lt(n){var r=n.getFullYear().toString(),t=(n.getMonth()+1).toString(),i=n.getDate().toString();return r+"-"+(t.length===2?t:"0"+t[0])+"-"+(i.length===2?i:"0"+i[0])}function ei(n){!rt<768&&eviivo.smoothScrolling.smoothScrollHandler(n,function(){f.datepicker("show")},this)}function oi(){n.each(t.criteria.occupancy,function(t,i){while(t>0&&t>e.length-1)et();n(e[t].adults).val(i.adults);n(e[t].adults).selectmenu("refresh");n(e[t].children).val(i.children);n(e[t].children).selectmenu("refresh")});v()}function si(n,t){var i=new Date(t.selectedYear,t.selectedMonth,parseInt(t.selectedDay),0,0,0,0),f=new Date(i).addHours(24),e=new Date(i).addHours(it.val()*24);u.datepicker("option",{minDate:f});setTimeout(function(){u.datepicker("show");u.datepicker("setDate",e)},100);r.length>0&&r.is(":visible")&&p()}function hi(){f.val()===""?setTimeout(function(){f.datepicker("show")},100):k.focus();r.length>0&&r.is(":visible")&&p()}function w(n){return parseInt(n.text().slice(0,2).trim())}var at={roomsLimit:3,eviivoSearchBoxId:"#eviivo-availability-search",cultureLanguageCode:"en-GB",baseSearchUrl:"",resources:{adults:"Adults",children:"Children",rooms:"Room(s)"},criteria:{startDate:null,endDate:null,occupancy:[{adults:2,children:0}]}},t,d,o,g,s,h,c,l,b,f,u,nt,e,k,tt,it,vt,yt,rt,pt,wt,i,bt,r,a;return Date.prototype.addHours=function(n){return this.setHours(this.getHours()+n),this},Date.prototype.addHours=function(n){return this.setHours(this.getHours()+n),this},{init:kt,triggerSearch:ct}}(jQuery)