/* * # Fomantic UI - 2.8.4 * https://github.com/fomantic/Fomantic-UI * http://fomantic-ui.com/ * * Copyright 2014 Contributors * Released under the MIT license * http://opensource.org/licenses/MIT * */ !function(he,e,M,x){"use strict";he.isFunction=he.isFunction||function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},e=void 0!==e&&e.Math==Math?e:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")(),he.fn.calendar=function(r){var g,e=he(this),o=e.selector||"",D=(new Date).getTime(),y=[],v=r,b="string"==typeof v,C=[].slice.call(arguments,1),w={5:{row:4,column:3},10:{row:3,column:2},15:{row:2,column:2},20:{row:3,column:1},30:{row:2,column:1}};return e.each(function(){var p,se,ue=he.isPlainObject(r)?he.extend(!0,{},he.fn.calendar.settings,r):he.extend({},he.fn.calendar.settings),de=ue.className,e=ue.namespace,i=ue.selector,fe=ue.formatter,a=ue.parser,pe=ue.metadata,ce=w[ue.minTimeGap],l=ue.error,t="."+e,n="module-"+e,s=he(this),u=s.find(i.input),me=s.find(i.popup),d=s.find(i.activator),f=this,c=s.data(n),m=!1,h=!1;se={initialize:function(){se.debug("Initializing calendar for",f,s),p=se.get.isTouch(),se.setup.config(),se.setup.popup(),se.setup.inline(),se.setup.input(),se.setup.date(),se.create.calendar(),se.bind.events(),se.instantiate()},instantiate:function(){se.verbose("Storing instance of calendar"),c=se,s.data(n,c)},destroy:function(){se.verbose("Destroying previous calendar for",f),s.removeData(n),se.unbind.events()},setup:{config:function(){null!==se.get.minDate()&&se.set.minDate(s.data(pe.minDate)),null!==se.get.maxDate()&&se.set.maxDate(s.data(pe.maxDate)),se.setting("type",se.get.type())},popup:function(){if(!ue.inline&&(d.length||(d=s.children().first()).length))if(he.fn.popup!==x){if(!me.length){var e=d.parent(),t=0!==e.closest(i.append).length?"appendTo":"prependTo";me=he("
").addClass(de.popup)[t](e)}me.addClass(de.calendar);var a=ue.onVisible,n=ue.onHidden;u.length||(me.attr("tabindex","0"),a=function(){return se.focus(),ue.onVisible.apply(me,arguments)},n=function(){return se.blur(),ue.onHidden.apply(me,arguments)});var r=ue.on||(u.length?"focus":"click"),o=he.extend({},ue.popupOptions,{popup:me,on:r,hoverable:"hover"===r,onShow:function(){return se.set.focusDate(se.get.date()),se.set.mode(ue.startMode),ue.onShow.apply(me,arguments)},onVisible:a,onHide:ue.onHide,onHidden:n});se.popup(o)}else se.error(l.popup)},inline:function(){d.length&&!ue.inline||(me=he("
").addClass(de.calendar).appendTo(s),u.length||me.attr("tabindex","0"))},input:function(){ue.touchReadonly&&u.length&&p&&u.prop("readonly",!0)},date:function(){var e;ue.initialDate?e=a.date(ue.initialDate,ue):s.data(pe.date)!==x?e=a.date(s.data(pe.date),ue):u.length&&(e=a.date(u.val(),ue)),se.set.date(e,ue.formatInput,!1)}},create:{calendar:function(){var e,t,a,n,r,o,i,l=se.get.mode(),s=new Date,u=se.get.date(),d=se.get.focusDate(),f=d||u||ue.initialDate||s;f=se.helper.dateInRange(f),d||(d=f,se.set.focusDate(d,!1,!1));var p="year"===l,c="month"===l,m="day"===l,h="hour"===l,g="minute"===l,D="time"===ue.type,y=Math.max(ue.multiMonth,1),v=m?se.get.monthOffset():0,b=f.getMinutes(),C=f.getHours(),w=f.getDate(),M=f.getMonth()+v,x=f.getFullYear(),T=m?ue.showWeekNumbers?8:7:h?4:ce.column,k=m||h?6:ce.row,O=m?y:1,F=me,N=F.hasClass("left")?"right center":"left center";for(F.empty(),1").addClass(de.grid).appendTo(F)),n=0;n").addClass(de.column).appendTo(i);var A=M+n,H=(new Date(x,A,1).getDay()-ue.firstDayOfWeek%7+7)%7;if(!ue.constantHeight&&m){var Y=new Date(x,A+1,0).getDate()+H;k=Math.ceil(Y/7)}var I=p?10:c?1:0,E=m?1:0,j=h||g?1:0,q=h||g?w:1,W=new Date(x-I,A-E,q-j,C),R=new Date(x+I,A+E,q+j,C),S=p?new Date(10*Math.ceil(x/10)-9,0,0):c?new Date(x,0,0):m?new Date(x,A,0):new Date(x,A,w,-1),V=p?new Date(10*Math.ceil(x/10)+1,0,1):c?new Date(x+1,0,1):m?new Date(x,A+1,1):new Date(x,A,w+1),G=l;m&&ue.showWeekNumbers&&(G+=" andweek");var P=he("").addClass(de.table).addClass(G).appendTo(F),B=T;if(!D){var K=he("").appendTo(P);r=he("").appendTo(K),o=he("").appendTo(K),ue.showWeekNumbers&&((o=he("").appendTo(P);for(e=p?10*Math.ceil(x/10)-9:m?1-H:0,t=0;t").appendTo(Q),m&&ue.showWeekNumbers&&((o=he("").appendTo(Q),le=he("
").attr("colspan",""+T).appendTo(r);var U=p||c?new Date(x,0,1):m?new Date(x,A,1):new Date(x,A,w,C,b),J=he("").addClass(de.link).appendTo(o);J.text(fe.header(U,l,ue));var z=c?ue.disableYear?"day":"year":m?ue.disableMonth?"year":"month":"day";if(J.data(pe.mode,z),0===n){var L=he("").addClass(de.prev).appendTo(o);L.data(pe.focusDate,W),L.toggleClass(de.disabledCell,!se.helper.isDateInRange(S,l)),he("").addClass(de.prevIcon).appendTo(L)}if(n===O-1){var $=he("").addClass(de.next).appendTo(o);$.data(pe.focusDate,R),$.toggleClass(de.disabledCell,!se.helper.isDateInRange(V,l)),he("").addClass(de.nextIcon).appendTo($)}if(m)for(r=he("
").appendTo(r)).text(ue.text.weekNo),o.addClass(de.weekCell),B--),e=0;e").appendTo(r)).text(fe.dayColumnHeader((e+ue.firstDayOfWeek)%7,ue))}var Q=he("
").appendTo(r)).text(se.get.weekOfYear(x,A,e+1-ue.firstDayOfWeek)),o.addClass(de.weekCell)),a=0;a").addClass(de.cell).appendTo(r)).text(X),o.data(pe.date,Z);var _=m&&Z.getMonth()!==(A+12)%12,ee=!ue.selectAdjacentDays&&_||!se.helper.isDateInRange(Z,l)||ue.isDisabled(Z,l)||se.helper.isDisabled(Z,l)||!se.helper.isEnabled(Z,l);if(ee){var te=se.helper.findDayAsObject(Z,l,ue.disabledDates);null!==te&&te[pe.message]&&(o.attr("data-tooltip",te[pe.message]),o.attr("data-position",N))}else{var ae=se.helper.findDayAsObject(Z,l,ue.eventDates);null!==ae&&(o.addClass(ae[pe.class]||ue.eventClass),ae[pe.message]&&(o.attr("data-tooltip",ae[pe.message]),o.attr("data-position",N)))}var ne=se.helper.dateEqual(Z,u,l),re=se.helper.dateEqual(Z,s,l);o.toggleClass(de.adjacentCell,_),o.toggleClass(de.disabledCell,ee),o.toggleClass(de.activeCell,ne&&!_),h||g||o.toggleClass(de.todayCell,!_&&re);var oe={mode:l,adjacent:_,disabled:ee,active:ne,today:re};fe.cell(o,Z,oe),se.helper.dateEqual(Z,d,l)&&se.set.focusDate(Z,!1,!1)}if(ue.today){var ie=he("
").attr("colspan",""+T).addClass(de.today).appendTo(ie);le.text(fe.today(ue)),le.data(pe.date,s)}se.update.focus(!1,P)}}},update:{focus:function(e,t){t=t||me;var l=se.get.mode(),a=se.get.date(),s=se.get.focusDate(),u=se.get.startDate(),d=se.get.endDate(),f=(e?s:null)||a||(p?null:s);t.find("td").each(function(){var e=he(this),t=e.data(pe.date);if(t){var a=e.hasClass(de.disabledCell),n=e.hasClass(de.activeCell),r=e.hasClass(de.adjacentCell),o=se.helper.dateEqual(t,s,l),i=!!f&&(!!u&&se.helper.isDateInRange(t,l,u,f)||!!d&&se.helper.isDateInRange(t,l,f,d));e.toggleClass(de.focusCell,o&&(!p||m)&&(!r||ue.selectAdjacentDays&&r)&&!a),se.helper.isTodayButton(e)||e.toggleClass(de.rangeCell,i&&!n&&!a)}})}},refresh:function(){se.create.calendar()},bind:{events:function(){se.debug("Binding events"),me.on("mousedown"+t,se.event.mousedown),me.on("touchstart"+t,se.event.mousedown),me.on("mouseup"+t,se.event.mouseup),me.on("touchend"+t,se.event.mouseup),me.on("mouseover"+t,se.event.mouseover),u.length?(u.on("input"+t,se.event.inputChange),u.on("focus"+t,se.event.inputFocus),u.on("blur"+t,se.event.inputBlur),u.on("click"+t,se.event.inputClick),u.on("keydown"+t,se.event.keydown)):me.on("keydown"+t,se.event.keydown)}},unbind:{events:function(){se.debug("Unbinding events"),me.off(t),u.length&&u.off(t)}},event:{mouseover:function(e){var t=he(e.target).data(pe.date),a=1===e.buttons;t&&se.set.focusDate(t,!1,!0,a)},mousedown:function(e){u.length&&e.preventDefault(),m=0<=e.type.indexOf("touch");var t=he(e.target).data(pe.date);t&&se.set.focusDate(t,!1,!0,!0)},mouseup:function(e){se.focus(),e.preventDefault(),e.stopPropagation(),m=!1;var t=he(e.target);if(!t.hasClass("disabled")){var a=t.parent();(a.data(pe.date)||a.data(pe.focusDate)||a.data(pe.mode))&&(t=a);var n=t.data(pe.date),r=t.data(pe.focusDate),o=t.data(pe.mode);if(n&&!1!==ue.onSelect.call(f,n,se.get.mode())){var i=t.hasClass(de.today);se.selectDate(n,i)}else r?se.set.focusDate(r):o&&se.set.mode(o)}},keydown:function(e){var t=e.which;if(27!==t&&9!==t||se.popup("hide"),se.popup("is visible"))if(37===t||38===t||39===t||40===t){var a="day"===(f=se.get.mode())?7:"hour"===f?4:"minute"===f?ce.column:3,n=37===t?-1:38===t?-a:39==t?1:a;n*="minute"===f?ue.minTimeGap:1;var r=se.get.focusDate()||se.get.date()||new Date,o=r.getFullYear()+("year"===f?n:0),i=r.getMonth()+("month"===f?n:0),l=r.getDate()+("day"===f?n:0),s=r.getHours()+("hour"===f?n:0),u=r.getMinutes()+("minute"===f?n:0),d=new Date(o,i,l,s,u);"time"===ue.type&&(d=se.helper.mergeDateTime(r,d)),se.helper.isDateInRange(d,f)&&se.set.focusDate(d)}else if(13===t){var f=se.get.mode(),p=se.get.focusDate();p&&!ue.isDisabled(p,f)&&!se.helper.isDisabled(p,f)&&se.helper.isEnabled(p,f)&&se.selectDate(p),e.preventDefault(),e.stopPropagation()}38!==t&&40!==t||(e.preventDefault(),se.popup("show"))},inputChange:function(){var e=u.val(),t=a.date(e,ue);se.set.date(t,!1)},inputFocus:function(){me.addClass(de.active)},inputBlur:function(){if(me.removeClass(de.active),ue.formatInput){var e=se.get.date(),t=fe.datetime(e,ue);u.val(t)}},inputClick:function(){se.popup("show")}},get:{weekOfYear:function(e,t,a){var n,r,o;return n=Date.UTC(e,t,a+3)/864e5,r=Math.floor(n/7),o=new Date(6048e5*r).getUTCFullYear(),r-Math.floor(Date.UTC(o,0,7)/6048e5)+1},date:function(){return se.helper.sanitiseDate(s.data(pe.date))||null},inputDate:function(){return u.val()},focusDate:function(){return s.data(pe.focusDate)||null},startDate:function(){var e=se.get.calendarModule(ue.startCalendar);return(e?e.get.date():s.data(pe.startDate))||null},endDate:function(){var e=se.get.calendarModule(ue.endCalendar);return(e?e.get.date():s.data(pe.endDate))||null},minDate:function(){return s.data(pe.minDate)||null},maxDate:function(){return s.data(pe.maxDate)||null},monthOffset:function(){return s.data(pe.monthOffset)||0},mode:function(){var e=s.data(pe.mode)||ue.startMode,t=se.get.validModes();return 0<=he.inArray(e,t)?e:"time"===ue.type?"hour":"month"===ue.type?"month":"year"===ue.type?"year":"day"},type:function(){return s.data(pe.type)||ue.type},validModes:function(){var e=[];return"time"!==ue.type&&(ue.disableYear&&"year"!==ue.type||e.push("year"),(ue.disableMonth||"year"===ue.type)&&"month"!==ue.type||e.push("month"),0<=ue.type.indexOf("date")&&e.push("day")),0<=ue.type.indexOf("time")&&(e.push("hour"),ue.disableMinute||e.push("minute")),e},isTouch:function(){try{return M.createEvent("TouchEvent"),!0}catch(e){return!1}},calendarModule:function(e){return e?(e instanceof he||(e=he(e).first()),e.data(n)):null}},set:{date:function(e,t,a){t=!1!==t,a=!1!==a,e=se.helper.sanitiseDate(e),e=se.helper.dateInRange(e);var n=se.get.mode(),r=fe.datetime(e,ue);if(a&&!1===ue.onBeforeChange.call(f,e,r,n))return!1;if(se.set.focusDate(e),ue.isDisabled(e,n))return!1;var o=se.get.endDate();o&&e&&o=e?se.verbose("Unable to set maxDate variable lower that minDate variable",e,ue.minDate):(se.setting("maxDate",e),se.set.dataKeyValue(pe.maxDate,e))},monthOffset:function(e,t){var a=Math.max(ue.multiMonth,1);e=Math.max(1-a,Math.min(0,e)),se.set.dataKeyValue(pe.monthOffset,e,t)},mode:function(e,t){se.set.dataKeyValue(pe.mode,e,t)},dataKeyValue:function(e,t,a){var n=s.data(e),r=n===t||n<=t&&t<=n;return t?s.data(e,t):s.removeData(e),(a=!1!==a&&!r)&&se.refresh(),!r}},selectDate:function(e,t){se.verbose("New date selection",e);var a=se.get.mode();if(t||"minute"===a||ue.disableMinute&&"hour"===a||"date"===ue.type&&"day"===a||"month"===ue.type&&"month"===a||"year"===ue.type&&"year"===a){if(!(!1===se.set.date(e))&&ue.closable){se.popup("hide");var n=se.get.calendarModule(ue.endCalendar);n&&(n.popup("show"),n.focus())}}else{var r="year"===a?ue.disableMonth?"day":"month":"month"===a?"day":"day"===a?"hour":"minute";se.set.mode(r),"hour"===a||"day"===a&&se.get.date()?se.set.date(e):se.set.focusDate(e)}},changeDate:function(e){se.set.date(e)},clear:function(){se.set.date(x)},popup:function(){return d.popup.apply(d,arguments)},focus:function(){u.length?u.focus():me.focus()},blur:function(){u.length?u.blur():me.blur()},helper:{isDisabled:function(a,n){return("day"===n||"month"===n||"year"===n)&&(-1!==ue.disabledDaysOfWeek.indexOf(a.getDay())||ue.disabledDates.some(function(e){if("string"==typeof e&&(e=se.helper.sanitiseDate(e)),e instanceof Date)return se.helper.dateEqual(a,e,n);if(null!==e&&"object"==typeof e)if(e[pe.year]){if("number"==typeof e[pe.year])return a.getFullYear()==e[pe.year];if(Array.isArray(e[pe.year]))return-1=t.centuryBreak&&a===y.length-1){n<=99&&(n+=t.currentCentury-100),c=n,y.splice(a,1);break}if(p<0)for(a=0;a