(function(n,t){var i,r;typeof define=="function"&&define.amd?define(["moment","jquery"],function(i,r){return r.fn||(r.fn={}),n.daterangepicker=t(i,r)}):typeof module=="object"&&module.exports?(i=typeof window!="undefined"?window.jQuery:undefined,i||(i=require("jquery"),i.fn||(i.fn={})),r=typeof window!="undefined"&&typeof window.moment!="undefined"?window.moment:require("moment"),module.exports=t(r,i)):n.daterangepicker=t(n.moment,n.jQuery)})(this,function(n,t){var i=function(i,r,u){var y,f,o,e,c,v,s,h,a,l;if(this.parentEl="body",this.element=t(i),this.startDate=n().startOf("day"),this.endDate=n().endOf("day"),this.minDate=!1,this.maxDate=!1,this.dateLimit=!1,this.autoApply=!1,this.singleDatePicker=!1,this.showDropdowns=!1,this.showWeekNumbers=!1,this.showISOWeekNumbers=!1,this.showCustomRangeLabel=!0,this.timePicker=!1,this.timePicker24Hour=!1,this.timePickerIncrement=1,this.timePickerSeconds=!1,this.linkedCalendars=!0,this.autoUpdateInput=!0,this.alwaysShowCalendars=!1,this.ranges={},this.opens="right",this.element.hasClass("pull-right")&&(this.opens="left"),this.drops="down",this.element.hasClass("dropup")&&(this.drops="up"),this.buttonClasses="btn btn-sm",this.applyClass="btn-success",this.cancelClass="btn-default",this.locale={direction:"ltr",format:n.localeData().longDateFormat("L"),separator:" - ",applyLabel:"Apply",cancelLabel:"Cancel",weekLabel:"W",customRangeLabel:"Custom Range",daysOfWeek:n.weekdaysMin(),monthNames:n.monthsShort(),firstDay:n.localeData().firstDayOfWeek()},this.callback=function(){},this.isShowing=!1,this.leftCalendar={},this.rightCalendar={},(typeof r!="object"||r===null)&&(r={}),r=t.extend(this.element.data(),r),typeof r.template=="string"||r.template instanceof t||(r.template='<div class="daterangepicker dropdown-menu"><div class="calendar left"><div class="daterangepicker_input"><input class="input-mini form-control" type="text" name="daterangepicker_start" value="" /><i class="fa fa-calendar glyphicon glyphicon-calendar"><\/i><div class="calendar-time"><div><\/div><i class="fa fa-clock-o glyphicon glyphicon-time"><\/i><\/div><\/div><div class="calendar-table"><\/div><\/div><div class="calendar right"><div class="daterangepicker_input"><input class="input-mini form-control" type="text" name="daterangepicker_end" value="" /><i class="fa fa-calendar glyphicon glyphicon-calendar"><\/i><div class="calendar-time"><div><\/div><i class="fa fa-clock-o glyphicon glyphicon-time"><\/i><\/div><\/div><div class="calendar-table"><\/div><\/div><div class="ranges"><div class="range_inputs"><button class="applyBtn" disabled="disabled" type="button"><\/button> <button class="cancelBtn" type="button"><\/button><\/div><\/div><\/div>'),this.parentEl=r.parentEl&&t(r.parentEl).length?t(r.parentEl):t(this.parentEl),this.container=t(r.template).appendTo(this.parentEl),typeof r.locale=="object"&&(typeof r.locale.direction=="string"&&(this.locale.direction=r.locale.direction),typeof r.locale.format=="string"&&(this.locale.format=r.locale.format),typeof r.locale.separator=="string"&&(this.locale.separator=r.locale.separator),typeof r.locale.daysOfWeek=="object"&&(this.locale.daysOfWeek=r.locale.daysOfWeek.slice()),typeof r.locale.monthNames=="object"&&(this.locale.monthNames=r.locale.monthNames.slice()),typeof r.locale.firstDay=="number"&&(this.locale.firstDay=r.locale.firstDay),typeof r.locale.applyLabel=="string"&&(this.locale.applyLabel=r.locale.applyLabel),typeof r.locale.cancelLabel=="string"&&(this.locale.cancelLabel=r.locale.cancelLabel),typeof r.locale.weekLabel=="string"&&(this.locale.weekLabel=r.locale.weekLabel),typeof r.locale.customRangeLabel=="string"&&(h=document.createElement("textarea"),h.innerHTML=r.locale.customRangeLabel,a=h.value,this.locale.customRangeLabel=a)),this.container.addClass(this.locale.direction),typeof r.startDate=="string"&&(this.startDate=n(r.startDate,this.locale.format)),typeof r.endDate=="string"&&(this.endDate=n(r.endDate,this.locale.format)),typeof r.minDate=="string"&&(this.minDate=n(r.minDate,this.locale.format)),typeof r.maxDate=="string"&&(this.maxDate=n(r.maxDate,this.locale.format)),typeof r.startDate=="object"&&(this.startDate=n(r.startDate)),typeof r.endDate=="object"&&(this.endDate=n(r.endDate)),typeof r.minDate=="object"&&(this.minDate=n(r.minDate)),typeof r.maxDate=="object"&&(this.maxDate=n(r.maxDate)),this.minDate&&this.startDate.isBefore(this.minDate)&&(this.startDate=this.minDate.clone()),this.maxDate&&this.endDate.isAfter(this.maxDate)&&(this.endDate=this.maxDate.clone()),typeof r.applyClass=="string"&&(this.applyClass=r.applyClass),typeof r.cancelClass=="string"&&(this.cancelClass=r.cancelClass),typeof r.dateLimit=="object"&&(this.dateLimit=r.dateLimit),typeof r.opens=="string"&&(this.opens=r.opens),typeof r.drops=="string"&&(this.drops=r.drops),typeof r.showWeekNumbers=="boolean"&&(this.showWeekNumbers=r.showWeekNumbers),typeof r.showISOWeekNumbers=="boolean"&&(this.showISOWeekNumbers=r.showISOWeekNumbers),typeof r.buttonClasses=="string"&&(this.buttonClasses=r.buttonClasses),typeof r.buttonClasses=="object"&&(this.buttonClasses=r.buttonClasses.join(" ")),typeof r.showDropdowns=="boolean"&&(this.showDropdowns=r.showDropdowns),typeof r.showCustomRangeLabel=="boolean"&&(this.showCustomRangeLabel=r.showCustomRangeLabel),typeof r.singleDatePicker=="boolean"&&(this.singleDatePicker=r.singleDatePicker,this.singleDatePicker&&(this.endDate=this.startDate.clone())),typeof r.timePicker=="boolean"&&(this.timePicker=r.timePicker),typeof r.timePickerSeconds=="boolean"&&(this.timePickerSeconds=r.timePickerSeconds),typeof r.timePickerIncrement=="number"&&(this.timePickerIncrement=r.timePickerIncrement),typeof r.timePicker24Hour=="boolean"&&(this.timePicker24Hour=r.timePicker24Hour),typeof r.autoApply=="boolean"&&(this.autoApply=r.autoApply),typeof r.autoUpdateInput=="boolean"&&(this.autoUpdateInput=r.autoUpdateInput),typeof r.linkedCalendars=="boolean"&&(this.linkedCalendars=r.linkedCalendars),typeof r.isInvalidDate=="function"&&(this.isInvalidDate=r.isInvalidDate),typeof r.isCustomDate=="function"&&(this.isCustomDate=r.isCustomDate),typeof r.alwaysShowCalendars=="boolean"&&(this.alwaysShowCalendars=r.alwaysShowCalendars),this.locale.firstDay!=0)for(y=this.locale.firstDay;y>0;)this.locale.daysOfWeek.push(this.locale.daysOfWeek.shift()),y--;if(typeof r.startDate=="undefined"&&typeof r.endDate=="undefined"&&t(this.element).is("input[type=text]")&&(c=t(this.element).val(),v=c.split(this.locale.separator),f=o=null,v.length==2?(f=n(v[0],this.locale.format),o=n(v[1],this.locale.format)):this.singleDatePicker&&c!==""&&(f=n(c,this.locale.format),o=n(c,this.locale.format)),f!==null&&o!==null&&(this.setStartDate(f),this.setEndDate(o))),typeof r.ranges=="object"){for(e in r.ranges)(f=typeof r.ranges[e][0]=="string"?n(r.ranges[e][0],this.locale.format):n(r.ranges[e][0]),o=typeof r.ranges[e][1]=="string"?n(r.ranges[e][1],this.locale.format):n(r.ranges[e][1]),this.minDate&&f.isBefore(this.minDate)&&(f=this.minDate.clone()),s=this.maxDate,this.dateLimit&&s&&f.clone().add(this.dateLimit).isAfter(s)&&(s=f.clone().add(this.dateLimit)),s&&o.isAfter(s)&&(o=s.clone()),this.minDate&&o.isBefore(this.minDate,this.timepicker?"minute":"day")||s&&f.isAfter(s,this.timepicker?"minute":"day"))||(h=document.createElement("textarea"),h.innerHTML=e,a=h.value,this.ranges[a]=[f,o]);l="<ul>";for(e in this.ranges)l+='<li data-range-key="'+e+'">'+e+"<\/li>";this.showCustomRangeLabel&&(l+='<li data-range-key="'+this.locale.customRangeLabel+'">'+this.locale.customRangeLabel+"<\/li>");l+="<\/ul>";this.container.find(".ranges").prepend(l)}typeof u=="function"&&(this.callback=u);this.timePicker||(this.startDate=this.startDate.startOf("day"),this.endDate=this.endDate.endOf("day"),this.container.find(".calendar-time").hide());this.timePicker&&this.autoApply&&(this.autoApply=!1);this.autoApply&&typeof r.ranges!="object"?this.container.find(".ranges").hide():this.autoApply&&this.container.find(".applyBtn, .cancelBtn").addClass("hide");this.singleDatePicker&&(this.container.addClass("single"),this.container.find(".calendar.left").addClass("single"),this.container.find(".calendar.left").show(),this.container.find(".calendar.right").hide(),this.container.find(".daterangepicker_input input, .daterangepicker_input > i").hide(),this.timePicker?this.container.find(".ranges ul").hide():this.container.find(".ranges").hide());(typeof r.ranges=="undefined"&&!this.singleDatePicker||this.alwaysShowCalendars)&&this.container.addClass("show-calendar");this.container.addClass("opens"+this.opens);typeof r.ranges!="undefined"&&this.opens=="right"&&this.container.find(".ranges").prependTo(this.container.find(".calendar.left").parent());this.container.find(".applyBtn, .cancelBtn").addClass(this.buttonClasses);this.applyClass.length&&this.container.find(".applyBtn").addClass(this.applyClass);this.cancelClass.length&&this.container.find(".cancelBtn").addClass(this.cancelClass);this.container.find(".applyBtn").html(this.locale.applyLabel);this.container.find(".cancelBtn").html(this.locale.cancelLabel);this.container.find(".calendar").on("click.daterangepicker",".prev",t.proxy(this.clickPrev,this)).on("click.daterangepicker",".next",t.proxy(this.clickNext,this)).on("mousedown.daterangepicker","td.available",t.proxy(this.clickDate,this)).on("mouseenter.daterangepicker","td.available",t.proxy(this.hoverDate,this)).on("mouseleave.daterangepicker","td.available",t.proxy(this.updateFormInputs,this)).on("change.daterangepicker","select.yearselect",t.proxy(this.monthOrYearChanged,this)).on("change.daterangepicker","select.monthselect",t.proxy(this.monthOrYearChanged,this)).on("change.daterangepicker","select.hourselect,select.minuteselect,select.secondselect,select.ampmselect",t.proxy(this.timeChanged,this)).on("click.daterangepicker",".daterangepicker_input input",t.proxy(this.showCalendars,this)).on("focus.daterangepicker",".daterangepicker_input input",t.proxy(this.formInputsFocused,this)).on("blur.daterangepicker",".daterangepicker_input input",t.proxy(this.formInputsBlurred,this)).on("change.daterangepicker",".daterangepicker_input input",t.proxy(this.formInputsChanged,this));this.container.find(".ranges").on("click.daterangepicker","button.applyBtn",t.proxy(this.clickApply,this)).on("click.daterangepicker","button.cancelBtn",t.proxy(this.clickCancel,this)).on("click.daterangepicker","li",t.proxy(this.clickRange,this)).on("mouseenter.daterangepicker","li",t.proxy(this.hoverRange,this)).on("mouseleave.daterangepicker","li",t.proxy(this.updateFormInputs,this));if(this.element.is("input")||this.element.is("button"))this.element.on({"click.daterangepicker":t.proxy(this.show,this),"focus.daterangepicker":t.proxy(this.show,this),"keyup.daterangepicker":t.proxy(this.elementChanged,this),"keydown.daterangepicker":t.proxy(this.keydown,this)});else this.element.on("click.daterangepicker",t.proxy(this.toggle,this));this.element.is("input")&&!this.singleDatePicker&&this.autoUpdateInput?(this.element.val(this.startDate.format(this.locale.format)+this.locale.separator+this.endDate.format(this.locale.format)),this.element.trigger("change")):this.element.is("input")&&this.autoUpdateInput&&(this.element.val(this.startDate.format(this.locale.format)),this.element.trigger("change"))};return i.prototype={constructor:i,setStartDate:function(t){typeof t=="string"&&(this.startDate=n(t,this.locale.format));typeof t=="object"&&(this.startDate=n(t));this.timePicker||(this.startDate=this.startDate.startOf("day"));this.timePicker&&this.timePickerIncrement&&this.startDate.minute(Math.round(this.startDate.minute()/this.timePickerIncrement)*this.timePickerIncrement);this.minDate&&this.startDate.isBefore(this.minDate)&&(this.startDate=this.minDate.clone(),this.timePicker&&this.timePickerIncrement&&this.startDate.minute(Math.round(this.startDate.minute()/this.timePickerIncrement)*this.timePickerIncrement));this.maxDate&&this.startDate.isAfter(this.maxDate)&&(this.startDate=this.maxDate.clone(),this.timePicker&&this.timePickerIncrement&&this.startDate.minute(Math.floor(this.startDate.minute()/this.timePickerIncrement)*this.timePickerIncrement));this.isShowing||this.updateElement();this.updateMonthsInView()},setEndDate:function(t){typeof t=="string"&&(this.endDate=n(t,this.locale.format));typeof t=="object"&&(this.endDate=n(t));this.timePicker||(this.endDate=this.endDate.endOf("day"));this.timePicker&&this.timePickerIncrement&&this.endDate.minute(Math.round(this.endDate.minute()/this.timePickerIncrement)*this.timePickerIncrement);this.endDate.isBefore(this.startDate)&&(this.endDate=this.startDate.clone());this.maxDate&&this.endDate.isAfter(this.maxDate)&&(this.endDate=this.maxDate.clone());this.dateLimit&&this.startDate.clone().add(this.dateLimit).isBefore(this.endDate)&&(this.endDate=this.startDate.clone().add(this.dateLimit));this.previousRightTime=this.endDate.clone();this.isShowing||this.updateElement();this.updateMonthsInView()},isInvalidDate:function(){return!1},isCustomDate:function(){return!1},updateView:function(){this.timePicker&&(this.renderTimePicker("left"),this.renderTimePicker("right"),this.endDate?this.container.find(".right .calendar-time select").removeAttr("disabled").removeClass("disabled"):this.container.find(".right .calendar-time select").attr("disabled","disabled").addClass("disabled"));this.endDate?(this.container.find('input[name="daterangepicker_end"]').removeClass("active"),this.container.find('input[name="daterangepicker_start"]').addClass("active")):(this.container.find('input[name="daterangepicker_end"]').addClass("active"),this.container.find('input[name="daterangepicker_start"]').removeClass("active"));this.updateMonthsInView();this.updateCalendars();this.updateFormInputs()},updateMonthsInView:function(){if(this.endDate){if(!this.singleDatePicker&&this.leftCalendar.month&&this.rightCalendar.month&&(this.startDate.format("YYYY-MM")==this.leftCalendar.month.format("YYYY-MM")||this.startDate.format("YYYY-MM")==this.rightCalendar.month.format("YYYY-MM"))&&(this.endDate.format("YYYY-MM")==this.leftCalendar.month.format("YYYY-MM")||this.endDate.format("YYYY-MM")==this.rightCalendar.month.format("YYYY-MM")))return;this.leftCalendar.month=this.startDate.clone().date(2);this.rightCalendar.month=this.linkedCalendars||this.endDate.month()==this.startDate.month()&&this.endDate.year()==this.startDate.year()?this.startDate.clone().date(2).add(1,"month"):this.endDate.clone().date(2)}else this.leftCalendar.month.format("YYYY-MM")!=this.startDate.format("YYYY-MM")&&this.rightCalendar.month.format("YYYY-MM")!=this.startDate.format("YYYY-MM")&&(this.leftCalendar.month=this.startDate.clone().date(2),this.rightCalendar.month=this.startDate.clone().date(2).add(1,"month"));this.maxDate&&this.linkedCalendars&&!this.singleDatePicker&&this.rightCalendar.month>this.maxDate&&(this.rightCalendar.month=this.maxDate.clone().date(2),this.leftCalendar.month=this.maxDate.clone().date(2).subtract(1,"month"))},updateCalendars:function(){var n,i,r,t;(this.timePicker&&(this.endDate?(n=parseInt(this.container.find(".left .hourselect").val(),10),i=parseInt(this.container.find(".left .minuteselect").val(),10),r=this.timePickerSeconds?parseInt(this.container.find(".left .secondselect").val(),10):0,this.timePicker24Hour||(t=this.container.find(".left .ampmselect").val(),t==="PM"&&n<12&&(n+=12),t==="AM"&&n===12&&(n=0))):(n=parseInt(this.container.find(".right .hourselect").val(),10),i=parseInt(this.container.find(".right .minuteselect").val(),10),r=this.timePickerSeconds?parseInt(this.container.find(".right .secondselect").val(),10):0,this.timePicker24Hour||(t=this.container.find(".right .ampmselect").val(),t==="PM"&&n<12&&(n+=12),t==="AM"&&n===12&&(n=0))),this.leftCalendar.month.hour(n).minute(i).second(r),this.rightCalendar.month.hour(n).minute(i).second(r)),this.renderCalendar("left"),this.renderCalendar("right"),this.container.find(".ranges li").removeClass("active"),this.endDate!=null)&&this.calculateChosenLabel()},renderCalendar:function(i){var r=i=="left"?this.leftCalendar:this.rightCalendar,nt=r.month.month(),tt=r.month.year(),pt=r.month.hour(),ot=r.month.minute(),st=r.month.second(),wt=n([tt,nt]).daysInMonth(),b=n([tt,nt,1]),bt=n([tt,nt,wt]),ht=n(b).subtract(1,"month").month(),ct=n(b).subtract(1,"month").year(),it=n([ct,ht]).daysInMonth(),lt=b.day(),r=[],a,v,rt,h,d,l,ft,f,u,o,w,g,et,s;for(r.firstDay=b,r.lastDay=bt,s=0;s<6;s++)r[s]=[];a=it-lt+this.locale.firstDay+1;a>it&&(a-=7);lt==this.locale.firstDay&&(a=it-6);v=n([ct,ht,a,12,ot,st]);for(var s=0,u=0,f=0;s<42;s++,u++,v=n(v).add(24,"hour"))s>0&&u%7==0&&(u=0,f++),r[f][u]=v.clone().hour(pt).minute(ot).second(st),v.hour(12),this.minDate&&r[f][u].format("YYYY-MM-DD")==this.minDate.format("YYYY-MM-DD")&&r[f][u].isBefore(this.minDate)&&i=="left"&&(r[f][u]=this.minDate.clone()),this.maxDate&&r[f][u].format("YYYY-MM-DD")==this.maxDate.format("YYYY-MM-DD")&&r[f][u].isAfter(this.maxDate)&&i=="right"&&(r[f][u]=this.maxDate.clone());i=="left"?this.leftCalendar.calendar=r:this.rightCalendar.calendar=r;var y=i=="left"?this.minDate:this.startDate,c=this.maxDate,gt=i=="left"?this.startDate:this.endDate,k=this.locale.direction=="ltr"?{left:"chevron-left",right:"chevron-right"}:{left:"chevron-right",right:"chevron-left"},e='<table class="table-condensed">';if(e+="<thead>",e+="<tr>",(this.showWeekNumbers||this.showISOWeekNumbers)&&(e+="<th><\/th>"),e+=y&&!y.isBefore(r.firstDay)||this.linkedCalendars&&i!="left"?"<th><\/th>":'<th class="prev available"><i class="fa fa-'+k.left+" glyphicon glyphicon-"+k.left+'"><\/i><\/th>',rt=this.locale.monthNames[r[1][1].month()]+r[1][1].format(" YYYY"),this.showDropdowns){var at=r[1][1].month(),p=r[1][1].year(),vt=c&&c.year()||p+5,yt=y&&y.year()||p-50,kt=p==yt,dt=p==vt,ut='<select class="monthselect">';for(h=0;h<12;h++)ut+=(!kt||h>=y.month())&&(!dt||h<=c.month())?"<option value='"+h+"'"+(h===at?" selected='selected'":"")+">"+this.locale.monthNames[h]+"<\/option>":"<option value='"+h+"'"+(h===at?" selected='selected'":"")+" disabled='disabled'>"+this.locale.monthNames[h]+"<\/option>";for(ut+="<\/select>",d='<select class="yearselect">',l=yt;l<=vt;l++)d+='<option value="'+l+'"'+(l===p?' selected="selected"':"")+">"+l+"<\/option>";d+="<\/select>";rt=ut+d}for(e+='<th colspan="5" class="month">'+rt+"<\/th>",e+=(!c||c.isAfter(r.lastDay))&&(!this.linkedCalendars||i=="right"||this.singleDatePicker)?'<th class="next available"><i class="fa fa-'+k.right+" glyphicon glyphicon-"+k.right+'"><\/i><\/th>':"<th><\/th>",e+="<\/tr>",e+="<tr>",(this.showWeekNumbers||this.showISOWeekNumbers)&&(e+='<th class="week">'+this.locale.weekLabel+"<\/th>"),t.each(this.locale.daysOfWeek,function(n,t){e+="<th>"+t+"<\/th>"}),e+="<\/tr>",e+="<\/thead>",e+="<tbody>",this.endDate==null&&this.dateLimit&&(ft=this.startDate.clone().add(this.dateLimit).endOf("day"),(!c||ft.isBefore(c))&&(c=ft)),f=0;f<6;f++){for(e+="<tr>",this.showWeekNumbers?e+='<td class="week">'+r[f][0].week()+"<\/td>":this.showISOWeekNumbers&&(e+='<td class="week">'+r[f][0].isoWeek()+"<\/td>"),u=0;u<7;u++){for(o=[],r[f][u].isSame(new Date,"day")&&o.push("today"),r[f][u].isoWeekday()>5&&o.push("weekend"),r[f][u].month()!=r[1][1].month()&&o.push("off"),this.minDate&&r[f][u].isBefore(this.minDate,"day")&&o.push("off","disabled"),c&&r[f][u].isAfter(c,"day")&&o.push("off","disabled"),this.isInvalidDate(r[f][u])&&o.push("off","disabled"),r[f][u].format("YYYY-MM-DD")==this.startDate.format("YYYY-MM-DD")&&o.push("active","start-date"),this.endDate!=null&&r[f][u].format("YYYY-MM-DD")==this.endDate.format("YYYY-MM-DD")&&o.push("active","end-date"),this.endDate!=null&&r[f][u]>this.startDate&&r[f][u]<this.endDate&&o.push("in-range"),w=this.isCustomDate(r[f][u]),w!==!1&&(typeof w=="string"?o.push(w):Array.prototype.push.apply(o,w)),g="",et=!1,s=0;s<o.length;s++)g+=o[s]+" ",o[s]=="disabled"&&(et=!0);et||(g+="available");e+='<td class="'+g.replace(/^\s+|\s+$/g,"")+'" data-title="r'+f+"c"+u+'">'+r[f][u].date()+"<\/td>"}e+="<\/tr>"}e+="<\/tbody>";e+="<\/table>";this.container.find(".calendar."+i+" .calendar-table").html(e)},renderTimePicker:function(n){var r,i,e,u,s,v,y,p,c,o,f,t,l,a;if(n!="right"||this.endDate){for(u=this.maxDate,this.dateLimit&&(!this.maxDate||this.startDate.clone().add(this.dateLimit).isAfter(this.maxDate))&&(u=this.startDate.clone().add(this.dateLimit)),n=="left"?(i=this.startDate.clone(),e=this.minDate):n=="right"&&(i=this.endDate.clone(),e=this.startDate,s=this.container.find(".calendar.right .calendar-time div"),s.html()!=""&&(i.hour(s.find(".hourselect option:selected").val()||i.hour()),i.minute(s.find(".minuteselect option:selected").val()||i.minute()),i.second(s.find(".secondselect option:selected").val()||i.second()),this.timePicker24Hour||(v=s.find(".ampmselect option:selected").val(),v==="PM"&&i.hour()<12&&i.hour(i.hour()+12),v==="AM"&&i.hour()===12&&i.hour(0))),i.isBefore(this.startDate)&&(i=this.startDate.clone()),u&&i.isAfter(u)&&(i=u.clone())),r='<select class="hourselect">',y=this.timePicker24Hour?0:1,p=this.timePicker24Hour?23:12,t=y;t<=p;t++)c=t,this.timePicker24Hour||(c=i.hour()>=12?t==12?12:t+12:t==12?0:t),o=i.clone().hour(c),f=!1,e&&o.minute(59).isBefore(e)&&(f=!0),u&&o.minute(0).isAfter(u)&&(f=!0),r+=c!=i.hour()||f?f?'<option value="'+t+'" disabled="disabled" class="disabled">'+t+"<\/option>":'<option value="'+t+'">'+t+"<\/option>":'<option value="'+t+'" selected="selected">'+t+"<\/option>";for(r+="<\/select> ",r+=': <select class="minuteselect">',t=0;t<60;t+=this.timePickerIncrement){var h=t<10?"0"+t:t,o=i.clone().minute(t),f=!1;e&&o.second(59).isBefore(e)&&(f=!0);u&&o.second(0).isAfter(u)&&(f=!0);r+=i.minute()!=t||f?f?'<option value="'+t+'" disabled="disabled" class="disabled">'+h+"<\/option>":'<option value="'+t+'">'+h+"<\/option>":'<option value="'+t+'" selected="selected">'+h+"<\/option>"}if(r+="<\/select> ",this.timePickerSeconds){for(r+=': <select class="secondselect">',t=0;t<60;t++){var h=t<10?"0"+t:t,o=i.clone().second(t),f=!1;e&&o.isBefore(e)&&(f=!0);u&&o.isAfter(u)&&(f=!0);r+=i.second()!=t||f?f?'<option value="'+t+'" disabled="disabled" class="disabled">'+h+"<\/option>":'<option value="'+t+'">'+h+"<\/option>":'<option value="'+t+'" selected="selected">'+h+"<\/option>"}r+="<\/select> "}this.timePicker24Hour||(r+='<select class="ampmselect">',l="",a="",e&&i.clone().hour(12).minute(0).second(0).isBefore(e)&&(l=' disabled="disabled" class="disabled"'),u&&i.clone().hour(0).minute(0).second(0).isAfter(u)&&(a=' disabled="disabled" class="disabled"'),r+=i.hour()>=12?'<option value="AM"'+l+'>AM<\/option><option value="PM" selected="selected"'+a+">PM<\/option>":'<option value="AM" selected="selected"'+l+'>AM<\/option><option value="PM"'+a+">PM<\/option>",r+="<\/select>");this.container.find(".calendar."+n+" .calendar-time div").html(r)}},updateFormInputs:function(){this.container.find("input[name=daterangepicker_start]").is(":focus")||this.container.find("input[name=daterangepicker_end]").is(":focus")||(this.container.find("input[name=daterangepicker_start]").val(this.startDate.format(this.locale.format)),this.endDate&&this.container.find("input[name=daterangepicker_end]").val(this.endDate.format(this.locale.format)),this.singleDatePicker||this.endDate&&(this.startDate.isBefore(this.endDate)||this.startDate.isSame(this.endDate))?this.container.find("button.applyBtn").removeAttr("disabled"):this.container.find("button.applyBtn").attr("disabled","disabled"))},move:function(){var n={top:0,left:0},i,r=t(window).width();this.parentEl.is("body")||(n={top:this.parentEl.offset().top-this.parentEl.scrollTop(),left:this.parentEl.offset().left-this.parentEl.scrollLeft()},r=this.parentEl[0].clientWidth+this.parentEl.offset().left);i=this.drops=="up"?this.element.offset().top-this.container.outerHeight()-n.top:this.element.offset().top+this.element.outerHeight()-n.top;this.container[this.drops=="up"?"addClass":"removeClass"]("dropup");this.opens=="left"?(this.container.css({top:i,right:r-this.element.offset().left-this.element.outerWidth(),left:"auto"}),this.container.offset().left<0&&this.container.css({right:"auto",left:9})):this.opens=="center"?(this.container.css({top:i,left:this.element.offset().left-n.left+this.element.outerWidth()/2-this.container.outerWidth()/2,right:"auto"}),this.container.offset().left<0&&this.container.css({right:"auto",left:9})):(this.container.css({top:i,left:this.element.offset().left-n.left,right:"auto"}),this.container.offset().left+this.container.outerWidth()>t(window).width()&&this.container.css({left:"auto",right:0}))},show:function(){if(!this.isShowing){this._outsideClickProxy=t.proxy(function(n){this.outsideClick(n)},this);t(document).on("mousedown.daterangepicker",this._outsideClickProxy).on("touchend.daterangepicker",this._outsideClickProxy).on("click.daterangepicker","[data-toggle=dropdown]",this._outsideClickProxy).on("focusin.daterangepicker",this._outsideClickProxy);t(window).on("resize.daterangepicker",t.proxy(function(n){this.move(n)},this));this.oldStartDate=this.startDate.clone();this.oldEndDate=this.endDate.clone();this.previousRightTime=this.endDate.clone();this.updateView();this.container.show();this.move();this.element.trigger("show.daterangepicker",this);this.isShowing=!0}},hide:function(){this.isShowing&&(this.endDate||(this.startDate=this.oldStartDate.clone(),this.endDate=this.oldEndDate.clone()),this.startDate.isSame(this.oldStartDate)&&this.endDate.isSame(this.oldEndDate)||this.callback(this.startDate,this.endDate,this.chosenLabel),this.updateElement(),t(document).off(".daterangepicker"),t(window).off(".daterangepicker"),this.container.hide(),this.element.trigger("hide.daterangepicker",this),this.isShowing=!1)},toggle:function(){this.isShowing?this.hide():this.show()},outsideClick:function(n){var i=t(n.target);n.type=="focusin"||i.closest(this.element).length||i.closest(this.container).length||i.closest(".calendar-table").length||(this.hide(),this.element.trigger("outsideClick.daterangepicker",this))},showCalendars:function(){this.container.addClass("show-calendar");this.move();this.element.trigger("showCalendar.daterangepicker",this)},hideCalendars:function(){this.container.removeClass("show-calendar");this.element.trigger("hideCalendar.daterangepicker",this)},hoverRange:function(n){var t,i;this.container.find("input[name=daterangepicker_start]").is(":focus")||this.container.find("input[name=daterangepicker_end]").is(":focus")||(t=n.target.getAttribute("data-range-key"),t==this.locale.customRangeLabel?this.updateView():(i=this.ranges[t],this.container.find("input[name=daterangepicker_start]").val(i[0].format(this.locale.format)),this.container.find("input[name=daterangepicker_end]").val(i[1].format(this.locale.format))))},clickRange:function(n){var t=n.target.getAttribute("data-range-key"),i;this.chosenLabel=t;t==this.locale.customRangeLabel?this.showCalendars():(i=this.ranges[t],this.startDate=i[0],this.endDate=i[1],this.timePicker||(this.startDate.startOf("day"),this.endDate.endOf("day")),this.alwaysShowCalendars||this.hideCalendars(),this.clickApply())},clickPrev:function(n){var i=t(n.target).parents(".calendar");i.hasClass("left")?(this.leftCalendar.month.subtract(1,"month"),this.linkedCalendars&&this.rightCalendar.month.subtract(1,"month")):this.rightCalendar.month.subtract(1,"month");this.updateCalendars()},clickNext:function(n){var i=t(n.target).parents(".calendar");i.hasClass("left")?this.leftCalendar.month.add(1,"month"):(this.rightCalendar.month.add(1,"month"),this.linkedCalendars&&this.leftCalendar.month.add(1,"month"));this.updateCalendars()},hoverDate:function(n){if(t(n.target).hasClass("available")){var r=t(n.target).attr("data-title"),u=r.substr(1,1),f=r.substr(3,1),e=t(n.target).parents(".calendar"),i=e.hasClass("left")?this.leftCalendar.calendar[u][f]:this.rightCalendar.calendar[u][f];this.endDate&&!this.container.find("input[name=daterangepicker_start]").is(":focus")?this.container.find("input[name=daterangepicker_start]").val(i.format(this.locale.format)):this.endDate||this.container.find("input[name=daterangepicker_end]").is(":focus")||this.container.find("input[name=daterangepicker_end]").val(i.format(this.locale.format));var o=this.leftCalendar,s=this.rightCalendar,h=this.startDate;this.endDate||this.container.find(".calendar tbody td").each(function(n,r){if(!t(r).hasClass("week")){var f=t(r).attr("data-title"),e=f.substr(1,1),c=f.substr(3,1),l=t(r).parents(".calendar"),u=l.hasClass("left")?o.calendar[e][c]:s.calendar[e][c];u.isAfter(h)&&u.isBefore(i)||u.isSame(i,"day")?t(r).addClass("in-range"):t(r).removeClass("in-range")}})}},clickDate:function(n){var i,u,f,e;if(t(n.target).hasClass("available")){var o=t(n.target).attr("data-title"),s=o.substr(1,1),h=o.substr(3,1),c=t(n.target).parents(".calendar"),r=c.hasClass("left")?this.leftCalendar.calendar[s][h]:this.rightCalendar.calendar[s][h];this.endDate||r.isBefore(this.startDate,"day")?(this.timePicker&&(i=parseInt(this.container.find(".left .hourselect").val(),10),this.timePicker24Hour||(u=this.container.find(".left .ampmselect").val(),u==="PM"&&i<12&&(i+=12),u==="AM"&&i===12&&(i=0)),f=parseInt(this.container.find(".left .minuteselect").val(),10),e=this.timePickerSeconds?parseInt(this.container.find(".left .secondselect").val(),10):0,r=r.clone().hour(i).minute(f).second(e)),this.endDate=null,this.setStartDate(r.clone())):!this.endDate&&r.isBefore(this.startDate)?this.setEndDate(this.startDate.clone()):(this.timePicker&&(i=parseInt(this.container.find(".right .hourselect").val(),10),this.timePicker24Hour||(u=this.container.find(".right .ampmselect").val(),u==="PM"&&i<12&&(i+=12),u==="AM"&&i===12&&(i=0)),f=parseInt(this.container.find(".right .minuteselect").val(),10),e=this.timePickerSeconds?parseInt(this.container.find(".right .secondselect").val(),10):0,r=r.clone().hour(i).minute(f).second(e)),this.setEndDate(r.clone()),this.autoApply&&(this.calculateChosenLabel(),this.clickApply()));this.singleDatePicker&&(this.setEndDate(this.startDate),this.timePicker||this.clickApply());this.updateView();n.stopPropagation()}},calculateChosenLabel:function(){var t=!0,i=0;for(var n in this.ranges){if(this.timePicker){if(this.startDate.isSame(this.ranges[n][0])&&this.endDate.isSame(this.ranges[n][1])){t=!1;this.chosenLabel=this.container.find(".ranges li:eq("+i+")").addClass("active").html();break}}else if(this.startDate.format("YYYY-MM-DD")==this.ranges[n][0].format("YYYY-MM-DD")&&this.endDate.format("YYYY-MM-DD")==this.ranges[n][1].format("YYYY-MM-DD")){t=!1;this.chosenLabel=this.container.find(".ranges li:eq("+i+")").addClass("active").html();break}i++}t&&(this.chosenLabel=this.showCustomRangeLabel?this.container.find(".ranges li:last").addClass("active").html():null,this.showCalendars())},clickApply:function(){this.hide();this.element.trigger("apply.daterangepicker",this)},clickCancel:function(){this.startDate=this.oldStartDate;this.endDate=this.oldEndDate;this.hide();this.element.trigger("cancel.daterangepicker",this)},monthOrYearChanged:function(n){var u=t(n.target).closest(".calendar").hasClass("left"),e=u?"left":"right",f=this.container.find(".calendar."+e),r=parseInt(f.find(".monthselect").val(),10),i=f.find(".yearselect").val();u||(i<this.startDate.year()||i==this.startDate.year()&&r<this.startDate.month())&&(r=this.startDate.month(),i=this.startDate.year());this.minDate&&(i<this.minDate.year()||i==this.minDate.year()&&r<this.minDate.month())&&(r=this.minDate.month(),i=this.minDate.year());this.maxDate&&(i>this.maxDate.year()||i==this.maxDate.year()&&r>this.maxDate.month())&&(r=this.maxDate.month(),i=this.maxDate.year());u?(this.leftCalendar.month.month(r).year(i),this.linkedCalendars&&(this.rightCalendar.month=this.leftCalendar.month.clone().add(1,"month"))):(this.rightCalendar.month.month(r).year(i),this.linkedCalendars&&(this.leftCalendar.month=this.rightCalendar.month.clone().subtract(1,"month")));this.updateCalendars()},timeChanged:function(n){var u=t(n.target).closest(".calendar"),h=u.hasClass("left"),r=parseInt(u.find(".hourselect").val(),10),o=parseInt(u.find(".minuteselect").val(),10),s=this.timePickerSeconds?parseInt(u.find(".secondselect").val(),10):0,e,i,f;this.timePicker24Hour||(e=u.find(".ampmselect").val(),e==="PM"&&r<12&&(r+=12),e==="AM"&&r===12&&(r=0));h?(i=this.startDate.clone(),i.hour(r),i.minute(o),i.second(s),this.setStartDate(i),this.singleDatePicker?this.endDate=this.startDate.clone():this.endDate&&this.endDate.format("YYYY-MM-DD")==i.format("YYYY-MM-DD")&&this.endDate.isBefore(i)&&this.setEndDate(i.clone())):this.endDate&&(f=this.endDate.clone(),f.hour(r),f.minute(o),f.second(s),this.setEndDate(f));this.updateCalendars();this.updateFormInputs();this.renderTimePicker("left");this.renderTimePicker("right")},formInputsChanged:function(i){var f=t(i.target).closest(".calendar").hasClass("right"),r=n(this.container.find('input[name="daterangepicker_start"]').val(),this.locale.format),u=n(this.container.find('input[name="daterangepicker_end"]').val(),this.locale.format);r.isValid()&&u.isValid()&&(f&&u.isBefore(r)&&(r=u.clone()),this.setStartDate(r),this.setEndDate(u),f?this.container.find('input[name="daterangepicker_start"]').val(this.startDate.format(this.locale.format)):this.container.find('input[name="daterangepicker_end"]').val(this.endDate.format(this.locale.format)));this.updateView()},formInputsFocused:function(n){this.container.find('input[name="daterangepicker_start"], input[name="daterangepicker_end"]').removeClass("active");t(n.target).addClass("active");var i=t(n.target).closest(".calendar").hasClass("right");i&&(this.endDate=null,this.setStartDate(this.startDate.clone()),this.updateView())},formInputsBlurred:function(){if(!this.endDate){var i=this.container.find('input[name="daterangepicker_end"]').val(),t=n(i,this.locale.format);t.isValid()&&(this.setEndDate(t),this.updateView())}},elementChanged:function(){if(this.element.is("input")&&this.element.val().length&&!(this.element.val().length<this.locale.format.length)){var r=this.element.val().split(this.locale.separator),t=null,i=null;(r.length===2&&(t=n(r[0],this.locale.format),i=n(r[1],this.locale.format)),(this.singleDatePicker||t===null||i===null)&&(t=n(this.element.val(),this.locale.format),i=t),t.isValid()&&i.isValid())&&(this.setStartDate(t),this.setEndDate(i),this.updateView())}},keydown:function(n){(n.keyCode===9||n.keyCode===13)&&this.hide()},updateElement:function(){this.element.is("input")&&!this.singleDatePicker&&this.autoUpdateInput?(this.element.val(this.startDate.format(this.locale.format)+this.locale.separator+this.endDate.format(this.locale.format)),this.element.trigger("change")):this.element.is("input")&&this.autoUpdateInput&&(this.element.val(this.startDate.format(this.locale.format)),this.element.trigger("change"))},remove:function(){this.container.remove();this.element.off(".daterangepicker");this.element.removeData()}},t.fn.daterangepicker=function(n,r){return this.each(function(){var u=t(this);u.data("daterangepicker")&&u.data("daterangepicker").remove();u.data("daterangepicker",new i(u,n,r))}),this},i})