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