var $mixpicker={};!function(e){"use strict";function i(i){return $mixpicker.lang&&"undefined"!=typeof $mixpicker.lang[i]?$mixpicker.lang[i]:$mixpicker.defaultLang&&"undefined"!=typeof $mixpicker.defaultLang[i]?$mixpicker.defaultLang[i]:(e.error("[MixPicker] Missing translations file !!!!"),!1)}$mixpicker={map:[],flat_map:[],status_map:{},config:{checkin:null,checkout:null,stage:0,oldStage:0,visible:!1,changed:!1,blocked:!1,hasMonths:!1,monthsRendered:4,monthsStart:4},options:{mode:"popup",container:"body",firstDay:0,start:null,min:!0,max:!1,disabled:null,checkin:null,checkout:null,select:!0,minNights:null,numNights:null,maxNights:null,trigger:null,triggerMode:"click",mix:!1,hoverMode:null,forcePosition:!1,forcePositionBox:null,hoverClass:"mp-active",minOverlay:null,maxOverlay:null,oneClick:!1,autoScroll:!0,onInit:function(e){return e},onSetup:function(){return!1},onClose:function(e){return!1},onStageChange:function(e,i){return!1},onSelect:function(e){return e},onSet:function(e,i){return e},beforDayShow:function(e){return null},beforeSetup:function(){return!1},beforeOpen:function(){return this},onBlocked:function(){return!1},onTriggerClicked:function(){return!1}},template:'
',box:{container:null,toggle:null,wrap:null,months:null,nav:{prev:null,next:null},close:null,head:null,footer:null,select:null,message:null,mobile:null},bind_toggle:function(){var i=this;if("inline"!==i.options.mode){"click"===i.options.triggerMode&&i.box.toggle.off().click(function(e){i.options.onTriggerClicked(),e.preventDefault(),e.stopPropagation(),i.config.blocked===!1?(i._setStage(0),i._setPosition(),i._setToggleData(),i._visibleToggle()):i.options.onBlocked()}),i.options.trigger&&(i.options.trigger instanceof Array?e.each(i.options.trigger,function(t,o){e(document).off("click",o).on("click",o,function(e){i.options.onTriggerClicked(o),e.preventDefault(),e.stopPropagation(),i.config.blocked===!1?(i._setPosition(),i._setToggleData(),i._visibleToggle()):i.options.onBlocked()})}):i.options.trigger instanceof Object&&(i.options.trigger.checkin&&e.each(i.options.trigger.checkin,function(t,o){e(o,"body").off().click(function(e){i.options.onTriggerClicked(o),e.preventDefault(),e.stopPropagation(),i.config.blocked===!1?(i._setPosition(),i._visibleToggle(),i._setStage(0)):i.options.onBlocked()})}),i.options.trigger.checkout&&e.each(i.options.trigger.checkout,function(t,o){e(o).off().click(function(e){i.options.onTriggerClicked(o),e.preventDefault(),e.stopPropagation(),i.config.blocked===!1?(i._setPosition(),i._visibleToggle(),i._setStage(i.options.numNights?0:1),i.options.oneClick&&i.config.checkin&&!i.options.numNights?i._setStage(1):!i.options.oneClick||i.config.checkin||i.options.numNights||i._setStage(0)):i.options.onBlocked()})})));var t="popup"===i.options.mode?"body":".mixpicker_modal";e(document).on("click touchstart",t,function(t){var o=e(t.target);0===o.closest(".mixpicker__mixbox").length&&i.config.visible===!0&&(i.options.trigger instanceof Object||(i._setCheckin(null),i._setCheckout(null),i._setToggleData()),i._visibleOff("out-click"))})}return i},makeSelectAction:function(){var e=this;return e.config.checkin&&e.config.checkout&&(e.box.toggle.data({checkin:e.config.checkin.format("YYYY-MM-DD"),checkout:e.config.checkout.format("YYYY-MM-DD")}),setTimeout(function(){e.options.onSelect({type:"select",checkin:moment(e.config.checkin),checkout:moment(e.config.checkout)})},0)),e._visibleOff("select"),e},bind_select:function(){var e=this;return e.options.select===!1?!1:(e.box.select.off().click(function(i){i.preventDefault(),i.stopPropagation(),e.makeSelectAction()}),e)},bind_daySelect:function(){var i=this;e(document).on("mouseleave",".mixpicker__table_month",function(){if(i.config.checkin&&i.config.checkout){var e=i.flat_map.indexOf(i.config.checkin.format("YYYY-MM-DD")),t=i.flat_map.indexOf(i.config.checkout.format("YYYY-MM-DD"));t>e&&i.box.wrap.find("div.mixpicker__day").eq(t).addClass("mixpicker__checkout")}});var t=!1;return e(document).on("click",".mixpicker__mobile-more",function(e){e.preventDefault(),e.stopPropagation(),i.detectMobile()&&(i._mapAppendNew(),i._mapAppendNew(),i._updateMoreButton(),i._mobileScrollToMore())}),e(document).on("touchmove",function(){t=!0}).on("touchstart",function(){t=!1}).on("touchend click","td.mixpicker__day",function(o){o.stopPropagation(),o.preventDefault();var n=this;return e(this).blur(),t?void 0:o.handled===!0?!1:(i._selectDay(n),void(o.handled=!0))}),e(document).on("mouseover",".mixpicker__day",function(){var t,o,n,a,s,c,r=e("div",this);if(1===i.config.stage){if(n=moment(r.data("date")),t=i.flat_map.indexOf(i.config.checkin.format("YYYY-MM-DD")),o=i.flat_map.indexOf(r.data("date")),!i.options.numNights&&t>o)i.box.wrap.find("div.mixpicker__day").eq(t+(i.options.minNights?i.options.minNights:1)).hasClass("mixpicker__checkoutRemoved")&&i.box.wrap.find("div.mixpicker__day").eq(t+(i.options.minNights?i.options.minNights:1)).addClass("mixpicker__checkout").removeClass("mixpicker__checkoutRemoved");else if(!i.options.numNights&&t===o)return void i.box.wrap.find("div.mixpicker__day").eq(o+(i.options.minNights?i.options.minNights:1)).removeClass("mixpicker__checkout").addClass("mixpicker__checkoutRemoved");o>t&&i.box.wrap.find(".mixpicker__checkout")&&i.box.wrap.find(".mixpicker__checkout").removeClass("mixpicker__checkout").removeClass("mixpicker__checkoutRemoved"),n.isAfter(i.config.checkin)?(i.options.maxNights&&o-t>i.options.maxNights&&(o=t+i.options.maxNights),o>-1&&(i.box.wrap.find("div.mixpicker__day").removeClass("mixpicker__checkio").slice(t,o).addClass("mixpicker__checkio"),i.box.wrap.find("div.mixpicker__day").removeClass("mixpicker__hover").slice(t+1,o-1).addClass("mixpicker__hover"))):i.config.checkin&&n.isBefore(i.config.checkin)&&i.box.wrap.find("div.mixpicker__day").removeClass("mixpicker__checkio")}else 0===i.config.stage&&(i.options.minNights||i.options.numNights)&&(i.config.checkin&&i.config.checkout&&(t=i.flat_map.indexOf(i.config.checkin.format("YYYY-MM-DD")),o=i.flat_map.indexOf(i.config.checkout.format("YYYY-MM-DD")),i.box.wrap.find("div.mixpicker__day").eq(o).addClass("mixpicker__checkout"),i.box.wrap.find("div.mixpicker__day").eq(t).addClass("mixpicker__checkin")),s=i.box.wrap.find("div.mixpicker__day").index(r),a=0,(i.options.numNights||i.options.minNights)&&(a=s+parseInt((i.options.numNights?i.options.numNights+1:null)||(i.options.minNights?i.options.minNights+1:null))),c=i.box.wrap.find("div.mixpicker__day"),i.box.wrap.find(".mixpicker__checkin_tmp").removeClass("mixpicker__checkin_tmp"),i.box.wrap.find(".mixpicker__checkout_tmp").removeClass("mixpicker__checkout_tmp"),c.eq(s).removeClass("mixpicker__checkout"),c.eq(s).hasClass("mixpicker__disabled")||c.eq(s).addClass("mixpicker__checkin_tmp"),i.box.wrap.find("div.mixpicker__day").removeClass("mixpicker__checkio").slice(s,a).addClass("mixpicker__checkio"),i.box.wrap.find("div.mixpicker__day").removeClass("mixpicker__hover").slice(s+1,a-1).addClass("mixpicker__hover"),c.eq(a-1).removeClass("mixpicker__checkin"),c.eq(a-2).hasClass("mixpicker__disabled")||c.eq(a-1).addClass("mixpicker__checkout_tmp"))}),i.box.wrap.mouseleave(function(){i.box.wrap.find("div.mixpicker__day").removeClass("mixpicker__checkio mixpicker__checkin_tmp mixpicker__checkout_tmp mixpicker__hover")}),i.box.wrap.find(".mixpicker__month").mouseleave(function(){i.box.wrap.find("div.mixpicker__day").removeClass("mixpicker__checkio mixpicker__checkin_tmp mixpicker__checkout_tmp mixpicker__hover")}),i},bind_nav:function(){var e=this;return e.box.nav.next.off().click(function(i){i.preventDefault(),i.stopPropagation(),"disabled"!==e.box.nav.next.attr("disabled")&&e._moveNav(1),e._updateNav()}),e.box.nav.prev.off().click(function(i){i.preventDefault(),i.stopPropagation(),"disabled"!==e.box.nav.prev.attr("disabled")&&e._moveNav(-1),e._updateNav()}),e},bind_close:function(){var e=this;return e.box.close.click(function(i){i.preventDefault(),i.stopPropagation(),e._visibleOff("close-button")}),e},bind_resize:function(){var i=this;return e(window).on("resize",function(){i.config.visible===!0&&(i._setPosition(),i._updateNav(),i.update(),i.detectMobile()===!0?(i.box.container.addClass("mixpicker__mobile"),i.box.mobile&&i.box.mobile.addClass("mixpicker__mobile-hld")):(i.box.container.removeClass("mixpicker__mobile"),i.box.mobile&&i.box.mobile.removeClass("mixpicker__mobile-hld")))}),e(window).on("scroll",function(){i.config.visible===!0&&(i._setPosition(),i._updateNav())}),i},render_container:function(){var t=this,o=e("",{"class":"mixpicker__template"}).html(t.template).find(".mixpicker__mixbox");return o.attr("id","mb-"+(t.id?t.id:"mixpickerbox")),"inline"===t.options.mode?e(t.options.container).after(o):e(t.options.container).append(o),t.box.container=o,"inline"!==t.options.mode?t.box.container.hide():t.box.toggle.hide(),t.box.select=t.box.container.find(".mixpicker__select > a"),t.box.select.html(i("select")),t.box.months=t.box.container.find(".mixpicker__months"),t.box.wrap=t.box.container.find(".mixpicker__wrapper"),t.box.head=t.box.container.find(".mixpicker__header"),t.box.nav.prev=t.box.container.find(".mixpicker__prev"),t.box.nav.next=t.box.container.find(".mixpicker__next"),t.box.close=t.box.container.find(".mixpicker__close"),t.box.message=t.box.container.find(".mixpicker__message"),t.options.select===!1&&t.box.select.remove(),t.box.container.addClass("mixpicker__"+t.options.mode),(t.detectMobile()===!0&&"inline"!==t.options.mode||t.detectMobile()===!1&&"modal"==t.options.mode)&&(t.box.container.addClass("mixpicker__mobile"),t.box.mobile=e("",{"class":"mixpicker_modal"}),t.box.mobile.addClass("mixpicker__mobile-hld"),t.box.container=t.box.container.detach(),t.box.container.removeClass("mixpicker__popup"),t.box.mobile.append(t.box.container),e(t.options.container).append(t.box.mobile)),t},render_monthTemplate:function(){for(var i=e("",{"class":"mixpicker__month"}),t=e("",{"class":"mixpicker__table_month"}),o=e("",{"class":"mixpicker__month_name"}),n=e(""),a=e(""),s=0;7>s;s++)"number"==typeof s&&n.append(""+moment().isoWeekday(s+1).format("ddd")+" | ");return i.append(o),t.append(n),t.append(a),i.append(t),i},render_months:function(){var i=this;i.box.months.empty();var t,o,n,a,s,c,r,m=i.render_monthTemplate();for(o in i.map)if(i.map.hasOwnProperty(o)){n=i.map[o],s=moment(n.code+"-01"),c=m.clone(),r="",n=n.days;for(a in n)if(n.hasOwnProperty(a))if(a>0&&a%7===0&&(r+="
"),n[a]){var p=i.options.beforDayShow(n[a].date);if(t=i.status_map[n[a].date]?i.status_map[n[a].date].join(" "):"",p){var d=p.join(" ");t=t+" "+d}r+=' | "}else r+=" | ";r+="
",e(".mixpicker__month_name",c).html(s.format("MMMM YYYY")),e(".mixpicker__table_month",c).append(r),i.box.months.append(c)}return i},update_months:function(){var i,t=this;e(".mixpicker__day",t.box.months).attr("class","mixpicker__day");for(i in t.status_map)t.status_map[i].length&&e('.mixpicker__day[data-date="'+i+'"]',t.box.months).addClass(t.status_map[i].join(" "));return t},_setOptions:function(i){var t=this;return t.options=e.extend({},t.options,i),t.options.numNights&&(t.options.numNights=parseInt(t.options.numNights)),t.options.minNights&&(t.options.minNights=parseInt(t.options.minNights)),t.options.maxNights&&(t.options.maxNights=parseInt(t.options.maxNights)),t.options.oneClick,t._setToggleData(),!0},_setToggleData:function(){var e=this;return e.box.toggle.data("checkin")&&e._setCheckin(e.box.toggle.data("checkin")),e.box.toggle.data("checkout")&&e._setCheckout(e.box.toggle.data("checkout")),e},_prepareConfig:function(){var e=this;return e.options.checkin&&e._setCheckin(e.options.checkin),e.options.checkout&&e._setCheckout(e.options.checkout),"inline"===e.options.mode&&(e.options.container=e.box.toggle),!0},_setCheckin:function(e){var i=this;return e=moment(e),i.box.wrap&&i.box.wrap.find("div.mixpicker__day").removeClass("mixpicker__selected"),i.config.checkin=e,i._updateMap(e,"mixpicker__checkin"),setTimeout(function(){i.options.onSet(i.config.checkin,0,i.config.visible)},0),!0},_setCheckout:function(e){var i=this;return e?(e=moment(e),e.isAfter(i.config.checkin)?i.config.checkout=e:i.config.checkout=moment(i.config.checkin).add(1,"d"),i._updateMap(e,"mixpicker__checkout")):i.config.checkout=null,setTimeout(function(){i.options.onSet(i.config.checkout,1,i.config.visible)},0),!0},_mobileScrollToMore:function(){if(this.detectMobile()){var i=this,t=this.config.monthsRendered-2,o=this.map[t],n=!1;if(1===this.config.stage){var a=this.config.checkin.format("YYYY-MM");a==o.code&&(n=!0)}var s=e(".mixpicker__month").eq(n?t:t+1);s&&setTimeout(function(){i.box.mobile.animate({scrollTop:s.position().top},500)},250)}},_updateMap:function(i,t){var o=this,n=null,a=null;if("object"==typeof i&&i.isValid()===!0){var s,c,r,m,p;for(p in o.status_map)"mixpicker__checkin"===t?(s=o.status_map[p].indexOf("mixpicker__checkin"),s>-1&&o.status_map[p].splice(s,1),s=o.status_map[p].indexOf("mixpicker__checkout"),s>-1&&o.status_map[p].splice(s,1),s=o.status_map[p].indexOf("mixpicker__selected"),s>-1&&o.status_map[p].splice(s,1)):"mixpicker__checkout"===t?(s=o.status_map[p].indexOf("mixpicker__checkout"),s>-1&&o.status_map[p].splice(s,1),s=o.status_map[p].indexOf("mixpicker__selected"),s>-1&&o.status_map[p].splice(s,1)):(s=o.status_map[p].indexOf(t),s>-1&&o.status_map[p].splice(s,1)),p===i.format("YYYY-MM-DD")&&o.status_map[p].push(t);if(n=e.map(o.status_map,function(e,i){return e.indexOf("mixpicker__checkin")>-1?i:void 0})[0],a=e.map(o.status_map,function(e,i){return e.indexOf("mixpicker__checkout")>-1?i:void 0})[0],n&&a){c=o.flat_map.indexOf(n),r=o.flat_map.indexOf(a),m=o.flat_map.slice(c,r);for(var d in m)o.status_map.hasOwnProperty(m[d])&&o.status_map[m[d]].indexOf("mixpicker__selected")<0&&o.status_map[m[d]].push("mixpicker__selected")}}return o},_moveNav:function(i,t){var o=this,n=o.box.wrap.outerWidth(!0),a=o.box.months.find(".mixpicker__month").first().outerWidth(!0),s=parseInt(o.box.months.attr("data-offset")),c=function(){var i=0;return o.box.months.find(".mixpicker__month").each(function(t,o){i-=parseInt(e(o).outerWidth(!0))}),i}()+n;if(t)return c>i&&(i=c),c+a>=i&&o._mapAppendNew(),o.box.months.attr("data-offset",i),o.box.months.stop(!0,!0).css({marginLeft:i+"px"}).attr("data-offset",i),o._updateNav(),o;var r=0;return i>0?(r=s-a,c>r&&(r=c),i-=1,c+a>=r&&o._mapAppendNew()):0>i&&(r=s+a,r>0&&(r=0),i+=1),o.box.months.attr("data-offset",r),0===i?o.box.months.stop(!0,!0).animate({marginLeft:r+"px"},500).attr("data-offset",r):this._moveNav(i),o},_clickMove:function(i){var t=this.box.wrap.width(),o=2*this.box.months.find(".mixpicker__month").first().outerWidth(!0);return i&&e(i).position()&&t+10>=o&&e(i).position().left>t/2?this._moveNav(1):this.box.container.hasClass("mixpicker__fullsize")&&this._moveNav(1),this},_updateNav:function(){var i=this,t=i.box.nav.prev,o=i.box.nav.next,n=i.box.wrap.outerWidth(!0),a=function(){var t=0;return e(".mixpicker__table_month",i.box.months).each(function(i,o){t-=parseInt(e(o).width())}),t}()+n,s=parseInt(i.box.months.attr("data-offset"));s||(s=0,i.box.months.attr("data-offset",0)),0>s?t.attr("disabled",null):s>=0&&t.attr("disabled","disabled");var c=null;return i.config.maxMonth&&(c=-1*e(".mixpicker__table_month",i.box.months).eq(0).width()*i.config.maxMonth+n),c&&c>=s||i.config.monthsRendered>48&&a>=s?o.attr("disabled","disabled"):0>=s&&o.attr("disabled",null),i},_visibleToggle:function(){var e=this;return"inline"===e.options.mode||e.config.visible===!0?e._visibleOff():e.config.visible===!1&&e._visibleOn(),e},_visibleOff:function(i){var t=this;if("inline"!==t.options.mode&&t.config.visible!==!1){t.box.mobile&&t.box.mobile.removeClass("active"),t.box.container.removeClass("active"),setTimeout(function(){"popup"===t.options.mode&&e("body").css("overflow","auto"),e("html").removeClass("disable-scroll"),t.box.mobile&&t.box.mobile.hide(0),t.box.container.hide(0)},200),t.config.visible=!1,t.config.hasMonths=!1,t.update();var o={};return t.config.checkin&&t.config.checkout&&(o.checkin=moment(t.config.checkin),o.checkout=moment(t.config.checkout)),setTimeout(function(){t.options.onClose(o,t.config.change,i||"select")},0),t.config.change=!1,t}},_visibleOn:function(){var t=this;return t.options.beforeOpen(),t.config.monthsRendered>t.config.monthsStart&&t._mapReset(),t.options.select&&t.box.select.html(i("select")),"inline"!==t.options.mode&&t.config.visible!==!0?(e("body").trigger("click"),"modal"===t.options.mode&&t.box.container.css("top",(window.innerHeight-454)/2),t.box.mobile&&t.box.mobile.show(0).addClass("active"),t.box.container.show(0).addClass("active"),t.config.visible=!0,t.update(),t.config.checkin&&setTimeout(function(){var i=parseInt(t.box.months.attr("data-offset")),o=0,n=0,a=t.box.months.find(".mixpicker__month").first().outerWidth(!0);t.box.months.find(".mixpicker__month").each(function(i,t){e(t).find(".mixpicker__checkin").length>0&&(o=i,n=e(t).offset().top-10)}),t.detectMobile()&&t.box.mobile?t.box.mobile.animate({scrollTop:n},200):((t.options.autoScroll===!0||!t.initiallyScrolled)&&o*a>i&&t._moveNav(-o*a,!0),t.initiallyScrolled=!0)},150),t.detectMobile()===!0?(e("html").addClass("disable-scroll"),t.box.container.addClass("mixpicker__mobile"),t.box.mobile&&t.box.mobile.addClass("mixpicker__mobile-hld")):(t.box.container.removeClass("mixpicker__mobile"),t.box.mobile&&t.box.mobile.removeClass("mixpicker__mobile-hld")),t.config.maxMonth=t.options.max?moment(t.options.max).endOf("month").diff(moment(),"month")+1:null,t._updateNav(),t):void 0},_updateStageHover:function(i){var t=this;return t.config.visible===!1||i?void e("."+t.options.hoverClass).removeClass(t.options.hoverClass):void(t.config.visible&&t.options.hoverMode&&(e(t.options.hoverMode.checkout.join(", ")).removeClass(t.options.hoverClass),e(t.options.hoverMode.checkin.join(", ")).removeClass(t.options.hoverClass),0===t.config.stage?e(t.options.hoverMode.checkin.join(", ")).addClass(t.options.hoverClass):1===t.config.stage&&e(t.options.hoverMode.checkout.join(", ")).addClass(t.options.hoverClass)))},_setStage:function(e){var i=this;i.config.oldStage=i.config.stage,i.config.stage=e,i.updateMessage(),setTimeout(function(){i._updateStageHover(),i.options.onStageChange(e,i.config.oldStage)},0)},_setPosition:function(){var i=this;if(null!==i.box.mobile)return!1;if("popup"===i.options.mode){var t,o=i.box.container.outerWidth(),n=i.box.container.outerHeight(!0),a=i.box.toggle.outerWidth(!0),s=i.box.toggle.outerHeight(!0),c=i.box.toggle.offset(),r=window.innerHeight,m=window.innerWidth,p=e(document).scrollTop();if(i.options.forcePosition===!1){var d=c.top+np?"top":"center";t=c.left+o0?"left":"center",i.box.container.css({left:"right"===t?c.left:"left"===t?c.left-o+a:0,top:"top"===d?c.top-p-n+s:"bottom"===d?c.top-p:0})}else{if(i.options.forcePositionBox){var l=e(i.options.forcePositionBox);l.length&&(a=l.outerWidth(!0),s=l.outerHeight(!0),c=l.offset())}t=c.left+o>m?"right":(c.left-o<0,"left"),"left"===t?i.box.container.css({left:c.left,top:c.top-p}):"right"===t&&i.box.container.css({left:c.left+a-o,top:c.top-p})}}else"inline"===i.options.mode;return i},_dateIsDisabled:function(e){var i=this;return"string"==typeof i.options.min&&e.isBefore(moment(i.options.min))?!0:"string"==typeof i.options.max&&e.isAfter(moment(i.options.max))?!0:i.options.disabled&&i.options.disabled.length>0?i.options.disabled.indexOf(e.format("YYYY-MM-DD"))>-1:!1},_getDayStatus:function(e){var i=this,t=moment(),o=[];if(e.isBefore(t)&&i.options.min===!0&&e.format("YYYY-MM-DD")!==t.format("YYYY-MM-DD")||i._dateIsDisabled(e)?o.push("mixpicker__disabled"):t.format("YYYY-MM-DD")===e.format("YYYY-MM-DD")&&o.push("mixpicker__current"),i.options.minOverlay&&i.options.maxOverlay&&o.indexOf("mixpicker__disabled")<0){var n=moment(i.options.minOverlay),a=moment(i.options.maxOverlay);(e.isSame(n)||e.isAfter(n))&&(e.isBefore(a)||e.isSame(a))&&o.push("mixpicker__checkoverlay")}return i.config.checkin&&e.isSame(i.config.checkin)?(o.push("mixpicker__checkin"),o.push("mixpicker__selected")):i.config.checkout&&e.isSame(i.config.checkout)?(o.push("mixpicker__checkout"),o.push("mixpicker__selected")):i.config.checkin&&i.config.checkout&&e.isAfter(i.config.checkin)&&e.isBefore(i.config.checkout)&&o.push("mixpicker__selected"),o},_getMounthsWeek:function(e,i){for(var t=moment(e),o=moment(t).endOf("month"),n=!1,a=i,s=1,c=null,r=0;n!==!0;)a>6?(a=1,s++):a++,c=moment(t).add(r++,"d"),(s>7||c.isSame(o)||c.isAfter(o))&&(n=!0);return s},_mapReset:function(){var e,i,t,o,n,a=this;if("string"==typeof a.options.min){var s=moment(a.options.min);e=s.format("MM"),i=s.format("YYYY")}else e=moment().format("MM"),i=moment().format("YYYY");var c=a.config.checkout||a.config.checkin||null,r=moment(i+"-"+e+"-01"),t=c?moment(c).add(2,"month").endOf("month"):moment(r).add(a.config.monthsStart,"month").endOf("month"),o=t.diff(r,"d"),n=t.diff(r,"month");for(var m in a.map)m>n&&delete a.map[m];var p=0;for(var d in a.status_map)++p>o+1&&delete a.status_map[d];a.flat_map=a.flat_map.slice(0,o+1),this.config.monthsRendered=Object.keys(this.map).length-1,this._updateNav()},_mapAppendNew:function(){var e,i,t=this,o=++this.config.monthsRendered;if("string"==typeof t.options.min){var n=moment(t.options.min);e=n.format("MM"),i=n.format("YYYY")}else e=moment().format("MM"),i=moment().format("YYYY");var a=moment(i+"-"+e+"-01"),s=moment(a).add(t.config.monthsRendered-1,"month").endOf("month"),c=moment(s).add(1,"day"),r=c,m=parseInt(r.format("d"))-1,p=r.format("YYYY-MM"),d=r.format("M");moment(r).endOf("month");t.map[o]={code:p,days:[],order:o},0>m&&(m=7+m);var l=t._getMounthsWeek(p+"-01",m);l>5&&t.box.wrap.addClass("mixpicker__addedWeek");for(var f=0;7*l>f;f++)if(m>f||r.format("M")!==d)t.map[o].days[f]=null;else{var _={year:parseInt(r.format("YYYY")),month:parseInt(r.format("M")),day:parseInt(r.format("D")),date:r.format("YYYY-MM-DD")};t.map[o].days[f]=_,t.status_map[r.format("YYYY-MM-DD")]=t._getDayStatus(r),t.flat_map.push(r.format("YYYY-MM-DD")),r.add(1,"d")}t.config.hasMonths=!1,t.update(),t._updateNav()},_createMap:function(){var e,i,t=this;if("string"==typeof t.options.min){var o=moment(t.options.min);e=o.format("MM"),i=o.format("YYYY")}else e=moment().format("MM"),i=moment().format("YYYY");var n,a=moment(i+"-"+e+"-01");if("string"==typeof t.options.max)n=moment(t.options.max).endOf("month");else{var s=t.config.checkout||t.config.checkin||null;s=moment(s).add(1,"month").endOf("month"),n=moment(a).add(t.config.monthsRendered,"month").endOf("month"),n.diff(s,"month")<2&&(n=moment(s).endOf("month"))}for(var c=0,r=!1,m=moment(a);r!==!0;)c++,m.add(1,"month"),(m.isAfter(n)||c>1e3)&&(r=!0);1>=c&&(c+=1),this.config.monthsRendered=c-1;for(var p=0;c>p;p++){var d=a,l=parseInt(d.format("d"))-1,f=d.format("YYYY-MM"),_=d.format("M");moment(d).endOf("month");t.map[p]={code:f,days:[],order:p},0>l&&(l=7+l);var h=t._getMounthsWeek(f+"-01",l);h>5&&t.box.wrap.addClass("mixpicker__addedWeek");for(var u=0;7*h>u;u++)if(l>u||d.format("M")!==_)t.map[p].days[u]=null;else{var x={year:parseInt(d.format("YYYY")),month:parseInt(d.format("M")),day:parseInt(d.format("D")),date:d.format("YYYY-MM-DD")};t.map[p].days[u]=x,t.status_map[d.format("YYYY-MM-DD")]=t._getDayStatus(d),t.flat_map.push(d.format("YYYY-MM-DD")),d.add(1,"d")}}return this.detectMobile()&&this._updateMoreButton(),t},_updateMoreButton:function(){var i=this.map[this.config.monthsRendered],t=moment(i.code+"-01").add(1,"month");e(".mixpicker__mobile-more").text(t.format("MMMM YYYY"))},updateMessage:function(){0===this.config.stage?this.status("info",i("select_checkin")):1===this.config.stage&&this.status("info",i("select_checkout"))},update:function(i,t){var o=this;o.config.hasMonths?o.update_months():(o.render_months(),o.config.hasMonths=!0),o._updateNav(),("undefined"==typeof i||i===!0)&&o.updateMessage(),o._updateStageHover(),o.fixHover(t),setTimeout(function(){o.backError()},1e3);var n=function(){var i=0;return o.box.months.find(".mixpicker__month").each(function(t,o){i+=e(o).outerWidth(!0)}),i+50};if(o.box.months.css("width",n),e(document).width()<800){o.box.container.removeClass("mixpicker__fullsize").addClass("mixpicker__fullsize");var a=0;o.box.months.find(".mixpicker__month").each(function(i,t){e(t).width(o.box.wrap.outerWidth()-20),a+=o.box.wrap.outerWidth()}),o.box.months.width(a)}else e(document).width()>800&&o.box.container.hasClass("mixpicker__fullsize")&&o.box.container.removeClass("mixpicker__fullsize");return o},fixHover:function(e){var i=this;e&&i.box.container.find('div[data-date="'+e+'"]').trigger("mouseover")},backError:function(){var e=this;for(var i in e.map)if(e.map.hasOwnProperty(i)){var t=e.map[i].days;for(var o in t)if(t.hasOwnProperty(o)){var n=t[o];n&&e.status_map[n.date].indexOf("mixpicker__error")>-1&&e.status_map[n.date].splice(e.status_map[n.date].indexOf("mixpicker__error"),1)}}return e.box.wrap.find("div.day.mixpicker__error").removeClass("mixpicker__error"),e},_hasDisabled:function(i,t){var o=this,n=-1;return e.each(o.box.wrap.find("div.mixpicker__day").slice(i,t),function(i,t){return e(t).hasClass("mixpicker__disabled")?(n=i,!1):void 0}),n},_selectDay:function(t){var o=this,n=e("div",t),a=moment(n.data("date")),s=!0,c=!0;if(0===o.config.stage&&n.hasClass("mixpicker__disabled")||1===o.config.stage&&a.isBefore(o.config.checkin)&&n.hasClass("mixpicker__disabled"))return o.update(),void o.status("error",i("day_disabled"));if(0===o.config.stage&&n.hasClass("mixpicker__nocheckin"))return o.update(),void o.status("error",i("day_only_checkin"));if(1===o.config.stage&&n.hasClass("mixpicker__nocheckout"))return o.update(),void o.status("error",i("day_only_checkout"));if(!n.hasClass("mixpicker__day")||1===o.config.stage&&a.isSame(o.config.checkin))return void o.update();var r,m,p,d,l=moment(a).endOf("month");return o.config.change=!0,0===o.config.stage?(moment(a).isSame(moment(l),"day")&&o._clickMove(t),o._setCheckin(a),o._setCheckout(moment(a).add(1,"d"),!1),o._setStage(1),o.options.numNights?(r=moment(a).add(o.options.numNights,"d"),m=o.flat_map.indexOf(a.format("YYYY-MM-DD")),p=o.flat_map.indexOf(r.format("YYYY-MM-DD")),d=o._hasDisabled(m,p),-1===d&&p>-1?(o._setCheckout(r),moment(r).isAfter(moment(l),"month")&&o._clickMove(t),c=!1):(o._setCheckin(null),o._setCheckout(null),o.bounce(a.format("YYYY-MM-DD"),r.format("YYYY-MM-DD")),o.status("error",i("no_avail_day")),s=!1),o._setStage(0)):o.options.minNights&&(r=moment(a).add(o.options.minNights,"d"),m=o.flat_map.indexOf(a.format("YYYY-MM-DD")),p=o.flat_map.indexOf(r.format("YYYY-MM-DD")),d=o._hasDisabled(m,p),-1===d?(o._setCheckout(r),o._setStage(1),moment(r).isAfter(moment(l),"month")&&o._clickMove(t)):(o._setCheckin(null),o._setCheckout(null),o._setStage(0),o.bounce(a.format("YYYY-MM-DD"),r.format("YYYY-MM-DD")),o.status("error",i("no_avail_day")),s=!1))):1===o.config.stage&&(o._setStage(0),m=o.flat_map.indexOf(o.config.checkin.format("YYYY-MM-DD")),p=o.flat_map.indexOf(a.format("YYYY-MM-DD")),d=o._hasDisabled(m,p),d>-1?(o._setStage(1),o.bounce(o.config.checkin.format("YYYY-MM-DD"),a.format("YYYY-MM-DD")),o.status("error",i("no_avail_day")),s=!1):0===o.config.stage&&(o.options.minNights?a.diff(o.config.checkout,"days")<0?(o._setStage(0),o._selectDay(t)):(o._setCheckout(a),c=!1):o.options.maxNights?a.diff(o.config.checkin,"days")<0?(o._setStage(0),o._selectDay(t)):m+o.options.maxNights"+i+""),t},bounce:function(e,i,t){var o=this,n=moment(e),a=moment(i),s=o.map[n.format("YYYY-MM")];for(var c in s)s.hasOwnProperty(c)&&s[c]&&moment(s[c].date).isAfter(n)&&moment(s[c].date).isBefore(a)&&o.status_map[s[c].date].indexOf("mixpicker__disabled")>-1&&o.status_map[s[c].date].push("mixpicker__error");return t||n.format("YYYY-MM")===a.format("YYYY-MM")||o.bounce(moment(n.add(1,"M").format("YYYY-MM")+"-01").format("YYYY-MM-DD"),a.format("YYYY-MM-DD"),!0),o},detectMobile:function(){return"inline"!==this.options.mode&&(window.innerWidth<=480||window.innerHeight<=430)?!0:!1},init:function(e){var i=this;return this.length>0?(this.data("mixpicker",jQuery.extend(!0,{},$mixpicker)),i.data("mixpicker").id=i.attr("id"),i.data("mixpicker").box.toggle=i,i.data("mixpicker")._setOptions(e),i.data("mixpicker")._prepareConfig(i),i.data("mixpicker").options.beforeSetup(),i.data("mixpicker").render_container(i),i.data("mixpicker").bind_toggle(i),i.data("mixpicker").bind_select(i),i.data("mixpicker").bind_nav(i),i.data("mixpicker").bind_close(i),i.data("mixpicker").bind_resize(i),i.data("mixpicker").bind_daySelect(i),i.data("mixpicker")._createMap(i),"inline"===i.data("mixpicker").options.mode&&(i.data("mixpicker").update(),i.data("mixpicker").config.stage=0,i.data("mixpicker").config.visible=!0),i.data("mixpicker").config.checkin&&i.data("mixpicker").config.checkout&&setTimeout(function(){i.data("mixpicker").options.onInit({type:"init",checkin:moment(i.data("mixpicker").config.checkin),checkout:moment(i.data("mixpicker").config.checkout)})},0),setTimeout(function(){i.data("mixpicker").options.onSetup()},0),i):void 0},defineLocale:function(e,i){return this.lang=i,this},defaultLang:{format:"YYYY-MM-DD",dayName:["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],select:"Select",select_checkin:"Select check-in date.",select_checkout:"Select check-out date.",no_avail_day:"In selected date range this day is not available!",max_nights:"You can not select more than :nights nights!",day_disabled:"This day is not available to select.",day_only_checkin:"This day is available only to check-in.",day_only_checkout:"This day is available only to check-out."}},e.fn.mixpicker=function(i){return $mixpicker[i]?$mixpicker[i].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof i&&i?void e.error("Method "+i+" does not exist on jQuery.tooltip"):$mixpicker.init.apply(this,arguments)}}(jQuery);