/*! * FullCalendar v1.6.4 * Docs & License: http://arshaw.com/fullcalendar/ * (c) 2013 Adam Shaw */ ;(function (t, e) { function n(e) { t.extend(!0, Ce, e) } function r(n, r, c) { function u(t) { ae ? p() && (S(), M(t)) : f() } function f() { ;(oe = r.theme ? 'ui' : 'fc'), n.addClass('fc'), r.isRTL ? n.addClass('fc-rtl') : n.addClass('fc-ltr'), r.theme && n.addClass('ui-widget'), (ae = t( "
" ).prependTo(n)), (ne = new a(ee, r)), (re = ne.render()), re && n.prepend(re), y(r.defaultView), r.handleWindowResize && t(window).resize(x), m() || v() } function v() { setTimeout(function () { !ie.start && m() && C() }, 0) } function h() { ie && (te('viewDestroy', ie, ie, ie.element), ie.triggerEventDestroy()), t(window).unbind('resize', x), ne.destroy(), ae.remove(), n.removeClass('fc fc-rtl ui-widget') } function p() { return n.is(':visible') } function m() { return t('body').is(':visible') } function y(t) { ;(ie && t == ie.name) || D(t) } function D(e) { he++, ie && (te('viewDestroy', ie, ie, ie.element), Y(), ie.triggerEventDestroy(), G(), ie.element.remove(), ne.deactivateButton(ie.name)), ne.activateButton(e), (ie = new Se[e]( t( "
" ).appendTo(ae), ee )), C(), $(), he-- } function C(t) { ;(!ie.start || t || ie.start > ge || ge >= ie.end) && p() && M(t) } function M(t) { he++, ie.start && (te('viewDestroy', ie, ie, ie.element), Y(), N()), G(), ie.render(ge, t || 0), T(), $(), (ie.afterRender || A)(), _(), P(), te('viewRender', ie, ie, ie.element), ie.trigger('viewDisplay', de), he--, z() } function E() { p() && (Y(), N(), S(), T(), F()) } function S() { le = r.contentHeight ? r.contentHeight : r.height ? r.height - (re ? re.height() : 0) - R(ae) : Math.round(ae.width() / Math.max(r.aspectRatio, 0.5)) } function T() { le === e && S(), he++, ie.setHeight(le), ie.setWidth(ae.width()), he--, (se = n.outerWidth()) } function x() { if (!he) if (ie.start) { var t = ++ve setTimeout(function () { t == ve && !he && p() && se != (se = n.outerWidth()) && (he++, E(), ie.trigger('windowResize', de), he--) }, 200) } else v() } function k() { N(), W() } function H(t) { N(), F(t) } function F(t) { p() && (ie.setEventData(pe), ie.renderEvents(pe, t), ie.trigger('eventAfterAllRender')) } function N() { ie.triggerEventDestroy(), ie.clearEvents(), ie.clearEventData() } function z() { !r.lazyFetching || ue(ie.visStart, ie.visEnd) ? W() : F() } function W() { fe(ie.visStart, ie.visEnd) } function O(t) { ;(pe = t), F() } function L(t) { H(t) } function _() { ne.updateTitle(ie.title) } function P() { var t = new Date() t >= ie.start && ie.end > t ? ne.disableButton('today') : ne.enableButton('today') } function q(t, n, r) { ie.select(t, n, r === e ? !0 : r) } function Y() { ie && ie.unselect() } function B() { C(-1) } function j() { C(1) } function I() { i(ge, -1), C() } function X() { i(ge, 1), C() } function J() { ;(ge = new Date()), C() } function V(t, e, n) { t instanceof Date ? (ge = d(t)) : g(ge, t, e, n), C() } function U(t, n, r) { t !== e && i(ge, t), n !== e && s(ge, n), r !== e && l(ge, r), C() } function Z() { return d(ge) } function G() { ae.css({ width: '100%', height: ae.height(), overflow: 'hidden' }) } function $() { ae.css({ width: '', height: '', overflow: '' }) } function Q() { return ie } function K(t, n) { return n === e ? r[t] : (('height' == t || 'contentHeight' == t || 'aspectRatio' == t) && ((r[t] = n), E()), e) } function te(t, n) { return r[t] ? r[t].apply(n || de, Array.prototype.slice.call(arguments, 2)) : e } var ee = this ;(ee.options = r), (ee.render = u), (ee.destroy = h), (ee.refetchEvents = k), (ee.reportEvents = O), (ee.reportEventChange = L), (ee.rerenderEvents = H), (ee.changeView = y), (ee.select = q), (ee.unselect = Y), (ee.prev = B), (ee.next = j), (ee.prevYear = I), (ee.nextYear = X), (ee.today = J), (ee.gotoDate = V), (ee.incrementDate = U), (ee.formatDate = function (t, e) { return w(t, e, r) }), (ee.formatDates = function (t, e, n) { return b(t, e, n, r) }), (ee.getDate = Z), (ee.getView = Q), (ee.option = K), (ee.trigger = te), o.call(ee, r, c) var ne, re, ae, oe, ie, se, le, ce, ue = ee.isFetchNeeded, fe = ee.fetchEvents, de = n[0], ve = 0, he = 0, ge = new Date(), pe = [] g(ge, r.year, r.month, r.date), r.droppable && t(document) .bind('dragstart', function (e, n) { var a = e.target, o = t(a) if (!o.parents('.fc').length) { var i = r.dropAccept ;(t.isFunction(i) ? i.call(a, o) : o.is(i)) && ((ce = a), ie.dragStart(ce, e, n)) } }) .bind('dragstop', function (t, e) { ce && (ie.dragStop(ce, t, e), (ce = null)) }) } function a(n, r) { function a() { v = r.theme ? 'ui' : 'fc' var n = r.header return n ? (h = t( "" ).append( t('') .append(i('left')) .append(i('center')) .append(i('right')) )) : e } function o() { h.remove() } function i(e) { var a = t("', ue && (r += "'), t = 0; ne > t; t++ ) (e = Ee(0, t)), (r += "') return (r += '') } function v() { var t, e, n, r = le + '-widget-content', a = '' for (a += '', t = 0; ee > t; t++) { for ( a += "", ue && ((n = Ee(t, 0)), (a += "')), e = 0; ne > e; e++ ) (n = Ee(t, e)), (a += h(n)) a += '' } return (a += '') } function h(t) { var e = le + '-widget-content', n = O.start.getMonth(), r = f(new Date()), a = '', o = ['fc-day', 'fc-' + ke[t.getDay()], e] return ( t.getMonth() != n && o.push('fc-other-month'), +t == +r ? o.push('fc-today', le + '-state-highlight') : r > t ? o.push('fc-past') : o.push('fc-future'), (a += "") ) } function g(e) { Q = e var n, r, a, o = Q - _.height() 'variable' == he('weekMode') ? (n = r = Math.floor(o / (1 == ee ? 2 : 6))) : ((n = Math.floor(o / ee)), (r = o - n * (ee - 1))), J.each(function (e, o) { ee > e && ((a = t(o)), a .find('> div') .css('min-height', (e == ee - 1 ? r : n) - R(a))) }) } function p(t) { ;($ = t), ie.clear(), se.clear(), (te = 0), ue && (te = _.find('th.fc-week-number').outerWidth()), (K = Math.floor(($ - te) / ne)), S(P.slice(0, -1), K) } function y(t) { t.click(w).mousedown(Me) } function w(e) { if (!he('selectable')) { var n = m(t(this).data('date')) ge('dayClick', this, n, !0, e) } } function b(t, e, n) { n && ae.build() for (var r = Te(t, e), a = 0; r.length > a; a++) { var o = r[a] y(D(o.row, o.leftCol, o.row, o.rightCol)) } } function D(t, n, r, a) { var o = ae.rect(t, n, r, a, e) return be(o, e) } function C(t) { return d(t) } function M(t, e) { b(t, l(d(e), 1), !0) } function E() { Ce() } function T(t, e, n) { var r = Se(t), a = X[r.row * ne + r.col] ge('dayClick', a, t, e, n) } function x(t, e) { oe.start(function (t) { Ce(), t && D(t.row, t.col, t.row, t.col) }, e) } function k(t, e, n) { var r = oe.stop() if ((Ce(), r)) { var a = Ee(r) ge('drop', t, a, !0, e, n) } } function H(t) { return d(t.start) } function F(t) { return ie.left(t) } function N(t) { return ie.right(t) } function z(t) { return se.left(t) } function W(t) { return se.right(t) } function A(t) { return I.eq(t) } var O = this ;(O.renderBasic = a), (O.setHeight = g), (O.setWidth = p), (O.renderDayOverlay = b), (O.defaultSelectionEnd = C), (O.renderSelection = M), (O.clearSelection = E), (O.reportDayClick = T), (O.dragStart = x), (O.dragStop = k), (O.defaultEventEnd = H), (O.getHoverListener = function () { return oe }), (O.colLeft = F), (O.colRight = N), (O.colContentLeft = z), (O.colContentRight = W), (O.getIsCellAllDay = function () { return !0 }), (O.allDayRow = A), (O.getRowCnt = function () { return ee }), (O.getColCnt = function () { return ne }), (O.getColWidth = function () { return K }), (O.getDaySegmentContainer = function () { return Z }), fe.call(O, e, n, r), me.call(O), pe.call(O), G.call(O) var L, _, P, j, I, X, J, V, U, Z, $, Q, K, te, ee, ne, re, ae, oe, ie, se, le, ce, ue, de, ve, he = O.opt, ge = O.trigger, be = O.renderOverlay, Ce = O.clearOverlays, Me = O.daySelectionMousedown, Ee = O.cellToDate, Se = O.dateToCell, Te = O.rangeToSegments, xe = n.formatDate Y(e.addClass('fc-grid')), (ae = new ye(function (e, n) { var r, a, o P.each(function (e, i) { ;(r = t(i)), (a = r.offset().left), e && (o[1] = a), (o = [a]), (n[e] = o) }), (o[1] = a + r.outerWidth()), I.each(function (n, i) { ee > n && ((r = t(i)), (a = r.offset().top), n && (o[1] = a), (o = [a]), (e[n] = o)) }), (o[1] = a + r.outerHeight()) })), (oe = new we(ae)), (ie = new De(function (t) { return V.eq(t) })), (se = new De(function (t) { return U.eq(t) })) } function G() { function t(t, e) { n.renderDayEvents(t, e) } function e() { n.getDaySegmentContainer().empty() } var n = this ;(n.renderEvents = t), (n.clearEvents = e), de.call(n) } function $(t, e) { function n(t, e) { e && l(t, 7 * e) var n = l(d(t), -((t.getDay() - a('firstDay') + 7) % 7)), u = l(d(n), 7), f = d(n) i(f) var v = d(u) i(v, -1, !0) var h = s() ;(r.title = c(f, l(d(v), -1), a('titleFormat'))), (r.start = n), (r.end = u), (r.visStart = f), (r.visEnd = v), o(h) } var r = this ;(r.render = n), K.call(r, t, e, 'agendaWeek') var a = r.opt, o = r.renderAgenda, i = r.skipHiddenDays, s = r.getCellsPerWeek, c = e.formatDates } function Q(t, e) { function n(t, e) { e && l(t, e), i(t, 0 > e ? -1 : 1) var n = d(t, !0), c = l(d(n), 1) ;(r.title = s(t, a('titleFormat'))), (r.start = r.visStart = n), (r.end = r.visEnd = c), o(1) } var r = this ;(r.render = n), K.call(r, t, e, 'agendaDay') var a = r.opt, o = r.renderAgenda, i = r.skipHiddenDays, s = e.formatDate } function K(n, r, a) { function o(t) { ;(We = t), i(), K ? c() : s() } function i() { ;(qe = Ue('theme') ? 'ui' : 'fc'), (Ye = Ue('isRTL')), (Be = y(Ue('minTime'))), (je = y(Ue('maxTime'))), (Ie = Ue('columnFormat')), (Xe = Ue('weekNumbers')), (Je = Ue('weekNumberTitle')), (Ve = 'iso' != Ue('weekNumberCalculation') ? 'w' : 'W'), (Re = Ue('snapMinutes') || Ue('slotMinutes')) } function s() { var e, r, a, o, i, s = qe + '-widget-header', l = qe + '-widget-content', f = 0 == Ue('slotMinutes') % 15 for ( c(), ce = t( "
" ).appendTo(n), Ue('allDaySlot') ? ((ue = t( "
" ).appendTo(ce)), (e = "
"), o = r.header[e] return ( o && t.each(o.split(' '), function (e) { e > 0 && a.append("") var o t.each(this.split(','), function (e, i) { if ('title' == i) a.append( "

 

" ), o && o.addClass(v + '-corner-right'), (o = null) else { var s if ( (n[i] ? (s = n[i]) : Se[i] && (s = function () { u.removeClass( v + '-state-hover' ), n.changeView(i) }), s) ) { var l = r.theme ? P(r.buttonIcons, i) : null, c = P(r.buttonText, i), u = t( "" + (l ? "" + '' : c) + '' ) .click(function () { u.hasClass( v + '-state-disabled' ) || s() }) .mousedown(function () { u.not('.' + v + '-state-active') .not( '.' + v + '-state-disabled' ) .addClass(v + '-state-down') }) .mouseup(function () { u.removeClass(v + '-state-down') }) .hover( function () { u.not( '.' + v + '-state-active' ) .not( '.' + v + '-state-disabled' ) .addClass( v + '-state-hover' ) }, function () { u.removeClass( v + '-state-hover' ).removeClass( v + '-state-down' ) } ) .appendTo(a) Y(u), o || u.addClass(v + '-corner-left'), (o = u) } } }), o && o.addClass(v + '-corner-right') }), a ) } function s(t) { h.find('h2').html(t) } function l(t) { h.find('span.fc-button-' + t).addClass(v + '-state-active') } function c(t) { h.find('span.fc-button-' + t).removeClass(v + '-state-active') } function u(t) { h.find('span.fc-button-' + t).addClass(v + '-state-disabled') } function f(t) { h.find('span.fc-button-' + t).removeClass(v + '-state-disabled') } var d = this ;(d.render = a), (d.destroy = o), (d.updateTitle = s), (d.activateButton = l), (d.deactivateButton = c), (d.disableButton = u), (d.enableButton = f) var v, h = t([]) } function o(n, r) { function a(t, e) { return !E || E > t || e > S } function o(t, e) { ;(E = t), (S = e), (W = []) var n = ++R, r = F.length N = r for (var a = 0; r > a; a++) i(F[a], n) } function i(e, r) { s(e, function (a) { if (r == R) { if (a) { n.eventDataTransform && (a = t.map(a, n.eventDataTransform)), e.eventDataTransform && (a = t.map(a, e.eventDataTransform)) for (var o = 0; a.length > o; o++) (a[o].source = e), w(a[o]) W = W.concat(a) } N--, N || k(W) } }) } function s(r, a) { var o, i, l = Ee.sourceFetchers for (o = 0; l.length > o; o++) { if (((i = l[o](r, E, S, a)), i === !0)) return if ('object' == typeof i) return s(i, a), e } var c = r.events if (c) t.isFunction(c) ? (m(), c(d(E), d(S), function (t) { a(t), y() })) : t.isArray(c) ? a(c) : a() else { var u = r.url if (u) { var f, v = r.success, h = r.error, g = r.complete f = t.isFunction(r.data) ? r.data() : r.data var p = t.extend({}, f || {}), w = X(r.startParam, n.startParam), b = X(r.endParam, n.endParam) w && (p[w] = Math.round(+E / 1e3)), b && (p[b] = Math.round(+S / 1e3)), m(), t.ajax( t.extend({}, Te, r, { data: p, success: function (e) { e = e || [] var n = I(v, this, arguments) t.isArray(n) && (e = n), a(e) }, error: function () { I(h, this, arguments), a() }, complete: function () { I(g, this, arguments), y() }, }) ) } else a() } } function l(t) { ;(t = c(t)), t && (N++, i(t, R)) } function c(n) { return ( t.isFunction(n) || t.isArray(n) ? (n = { events: n }) : 'string' == typeof n && (n = { url: n }), 'object' == typeof n ? (b(n), F.push(n), n) : e ) } function u(e) { ;(F = t.grep(F, function (t) { return !D(t, e) })), (W = t.grep(W, function (t) { return !D(t.source, e) })), k(W) } function f(t) { var e, n, r = W.length, a = x().defaultEventEnd, o = t.start - t._start, i = t.end ? t.end - (t._end || a(t)) : 0 for (e = 0; r > e; e++) (n = W[e]), n._id == t._id && n != t && ((n.start = new Date(+n.start + o)), (n.end = t.end ? n.end ? new Date(+n.end + i) : new Date(+a(n) + i) : null), (n.title = t.title), (n.url = t.url), (n.allDay = t.allDay), (n.className = t.className), (n.editable = t.editable), (n.color = t.color), (n.backgroundColor = t.backgroundColor), (n.borderColor = t.borderColor), (n.textColor = t.textColor), w(n)) w(t), k(W) } function v(t, e) { w(t), t.source || (e && (H.events.push(t), (t.source = H)), W.push(t)), k(W) } function h(e) { if (e) { if (!t.isFunction(e)) { var n = e + '' e = function (t) { return t._id == n } } W = t.grep(W, e, !0) for (var r = 0; F.length > r; r++) t.isArray(F[r].events) && (F[r].events = t.grep(F[r].events, e, !0)) } else { W = [] for (var r = 0; F.length > r; r++) t.isArray(F[r].events) && (F[r].events = []) } k(W) } function g(e) { return t.isFunction(e) ? t.grep(W, e) : e ? ((e += ''), t.grep(W, function (t) { return t._id == e })) : W } function m() { z++ || T('loading', null, !0, x()) } function y() { --z || T('loading', null, !1, x()) } function w(t) { var r = t.source || {}, a = X(r.ignoreTimezone, n.ignoreTimezone) ;(t._id = t._id || (t.id === e ? '_fc' + xe++ : t.id + '')), t.date && (t.start || (t.start = t.date), delete t.date), (t._start = d((t.start = p(t.start, a)))), (t.end = p(t.end, a)), t.end && t.end <= t.start && (t.end = null), (t._end = t.end ? d(t.end) : null), t.allDay === e && (t.allDay = X(r.allDayDefault, n.allDayDefault)), t.className ? 'string' == typeof t.className && (t.className = t.className.split(/\s+/)) : (t.className = []) } function b(t) { t.className ? 'string' == typeof t.className && (t.className = t.className.split(/\s+/)) : (t.className = []) for (var e = Ee.sourceNormalizers, n = 0; e.length > n; n++) e[n](t) } function D(t, e) { return t && e && C(t) == C(e) } function C(t) { return ('object' == typeof t ? t.events || t.url : '') || t } var M = this ;(M.isFetchNeeded = a), (M.fetchEvents = o), (M.addEventSource = l), (M.removeEventSource = u), (M.updateEvent = f), (M.renderEvent = v), (M.removeEvents = h), (M.clientEvents = g), (M.normalizeEvent = w) for ( var E, S, T = M.trigger, x = M.getView, k = M.reportEvents, H = { events: [] }, F = [H], R = 0, N = 0, z = 0, W = [], A = 0; r.length > A; A++ ) c(r[A]) } function i(t, e, n) { return t.setFullYear(t.getFullYear() + e), n || f(t), t } function s(t, e, n) { if (+t) { var r = t.getMonth() + e, a = d(t) for ( a.setDate(1), a.setMonth(r), t.setMonth(r), n || f(t); t.getMonth() != a.getMonth(); ) t.setDate(t.getDate() + (a > t ? 1 : -1)) } return t } function l(t, e, n) { if (+t) { var r = t.getDate() + e, a = d(t) a.setHours(9), a.setDate(r), t.setDate(r), n || f(t), c(t, a) } return t } function c(t, e) { if (+t) for (; t.getDate() != e.getDate(); ) t.setTime(+t + (e > t ? 1 : -1) * Fe) } function u(t, e) { return t.setMinutes(t.getMinutes() + e), t } function f(t) { return ( t.setHours(0), t.setMinutes(0), t.setSeconds(0), t.setMilliseconds(0), t ) } function d(t, e) { return e ? f(new Date(+t)) : new Date(+t) } function v() { var t, e = 0 do t = new Date(1970, e++, 1) while (t.getHours()) return t } function h(t, e) { return Math.round((d(t, !0) - d(e, !0)) / He) } function g(t, n, r, a) { n !== e && n != t.getFullYear() && (t.setDate(1), t.setMonth(0), t.setFullYear(n)), r !== e && r != t.getMonth() && (t.setDate(1), t.setMonth(r)), a !== e && t.setDate(a) } function p(t, n) { return 'object' == typeof t ? t : 'number' == typeof t ? new Date(1e3 * t) : 'string' == typeof t ? t.match(/^\d+(\.\d+)?$/) ? new Date(1e3 * parseFloat(t)) : (n === e && (n = !0), m(t, n) || (t ? new Date(t) : null)) : null } function m(t, e) { var n = t.match( /^([0-9]{4})(-([0-9]{2})(-([0-9]{2})([T ]([0-9]{2}):([0-9]{2})(:([0-9]{2})(\.([0-9]+))?)?(Z|(([-+])([0-9]{2})(:?([0-9]{2}))?))?)?)?)?$/ ) if (!n) return null var r = new Date(n[1], 0, 1) if (e || !n[13]) { var a = new Date(n[1], 0, 1, 9, 0) n[3] && (r.setMonth(n[3] - 1), a.setMonth(n[3] - 1)), n[5] && (r.setDate(n[5]), a.setDate(n[5])), c(r, a), n[7] && r.setHours(n[7]), n[8] && r.setMinutes(n[8]), n[10] && r.setSeconds(n[10]), n[12] && r.setMilliseconds(1e3 * Number('0.' + n[12])), c(r, a) } else if ( (r.setUTCFullYear(n[1], n[3] ? n[3] - 1 : 0, n[5] || 1), r.setUTCHours( n[7] || 0, n[8] || 0, n[10] || 0, n[12] ? 1e3 * Number('0.' + n[12]) : 0 ), n[14]) ) { var o = 60 * Number(n[16]) + (n[18] ? Number(n[18]) : 0) ;(o *= '-' == n[15] ? 1 : -1), (r = new Date(+r + 1e3 * 60 * o)) } return r } function y(t) { if ('number' == typeof t) return 60 * t if ('object' == typeof t) return 60 * t.getHours() + t.getMinutes() var e = t.match(/(\d+)(?::(\d+))?\s*(\w+)?/) if (e) { var n = parseInt(e[1], 10) return ( e[3] && ((n %= 12), 'p' == e[3].toLowerCase().charAt(0) && (n += 12)), 60 * n + (e[2] ? parseInt(e[2], 10) : 0) ) } } function w(t, e, n) { return b(t, null, e, n) } function b(t, e, n, r) { r = r || Ce var a, o, i, s, l = t, c = e, u = n.length, f = '' for (a = 0; u > a; a++) if (((o = n.charAt(a)), "'" == o)) { for (i = a + 1; u > i; i++) if ("'" == n.charAt(i)) { l && ((f += i == a + 1 ? "'" : n.substring(a + 1, i)), (a = i)) break } } else if ('(' == o) { for (i = a + 1; u > i; i++) if (')' == n.charAt(i)) { var d = w(l, n.substring(a + 1, i), r) parseInt(d.replace(/\D/, ''), 10) && (f += d), (a = i) break } } else if ('[' == o) { for (i = a + 1; u > i; i++) if (']' == n.charAt(i)) { var v = n.substring(a + 1, i), d = w(l, v, r) d != w(c, v, r) && (f += d), (a = i) break } } else if ('{' == o) (l = e), (c = t) else if ('}' == o) (l = t), (c = e) else { for (i = u; i > a; i--) if ((s = Ne[n.substring(a, i)])) { l && (f += s(l, r)), (a = i - 1) break } i == a && l && (f += o) } return f } function D(t) { var e, n = new Date(t.getTime()) return ( n.setDate(n.getDate() + 4 - (n.getDay() || 7)), (e = n.getTime()), n.setMonth(0), n.setDate(1), Math.floor(Math.round((e - n) / 864e5) / 7) + 1 ) } function C(t) { return t.end ? M(t.end, t.allDay) : l(d(t.start), 1) } function M(t, e) { return (t = d(t)), e || t.getHours() || t.getMinutes() ? l(t, 1) : f(t) } function E(n, r, a) { n.unbind('mouseover').mouseover(function (n) { for (var o, i, s, l = n.target; l != this; ) (o = l), (l = l.parentNode) ;(i = o._fci) !== e && ((o._fci = e), (s = r[i]), a(s.event, s.element, s), t(n.target).trigger(n)), n.stopPropagation() }) } function S(e, n, r) { for (var a, o = 0; e.length > o; o++) (a = t(e[o])), a.width(Math.max(0, n - x(a, r))) } function T(e, n, r) { for (var a, o = 0; e.length > o; o++) (a = t(e[o])), a.height(Math.max(0, n - R(a, r))) } function x(t, e) { return k(t) + F(t) + (e ? H(t) : 0) } function k(e) { return ( (parseFloat(t.css(e[0], 'paddingLeft', !0)) || 0) + (parseFloat(t.css(e[0], 'paddingRight', !0)) || 0) ) } function H(e) { return ( (parseFloat(t.css(e[0], 'marginLeft', !0)) || 0) + (parseFloat(t.css(e[0], 'marginRight', !0)) || 0) ) } function F(e) { return ( (parseFloat(t.css(e[0], 'borderLeftWidth', !0)) || 0) + (parseFloat(t.css(e[0], 'borderRightWidth', !0)) || 0) ) } function R(t, e) { return N(t) + W(t) + (e ? z(t) : 0) } function N(e) { return ( (parseFloat(t.css(e[0], 'paddingTop', !0)) || 0) + (parseFloat(t.css(e[0], 'paddingBottom', !0)) || 0) ) } function z(e) { return ( (parseFloat(t.css(e[0], 'marginTop', !0)) || 0) + (parseFloat(t.css(e[0], 'marginBottom', !0)) || 0) ) } function W(e) { return ( (parseFloat(t.css(e[0], 'borderTopWidth', !0)) || 0) + (parseFloat(t.css(e[0], 'borderBottomWidth', !0)) || 0) ) } function A() {} function O(t, e) { return t - e } function L(t) { return Math.max.apply(Math, t) } function _(t) { return (10 > t ? '0' : '') + t } function P(t, n) { if (t[n] !== e) return t[n] for (var r, a = n.split(/(?=[A-Z])/), o = a.length - 1; o >= 0; o--) if (((r = t[a[o].toLowerCase()]), r !== e)) return r return t[''] } function q(t) { return t .replace(/&/g, '&') .replace(//g, '>') .replace(/'/g, ''') .replace(/"/g, '"') .replace(/\n/g, '
') } function Y(t) { t.attr('unselectable', 'on') .css('MozUserSelect', 'none') .bind('selectstart.ui', function () { return !1 }) } function B(t) { t.children() .removeClass('fc-first fc-last') .filter(':first-child') .addClass('fc-first') .end() .filter(':last-child') .addClass('fc-last') } function j(t, e) { var n = t.source || {}, r = t.color, a = n.color, o = e('eventColor'), i = t.backgroundColor || r || n.backgroundColor || a || e('eventBackgroundColor') || o, s = t.borderColor || r || n.borderColor || a || e('eventBorderColor') || o, l = t.textColor || n.textColor || e('eventTextColor'), c = [] return ( i && c.push('background-color:' + i), s && c.push('border-color:' + s), l && c.push('color:' + l), c.join(';') ) } function I(e, n, r) { if ((t.isFunction(e) && (e = [e]), e)) { var a, o for (a = 0; e.length > a; a++) o = e[a].apply(n, r) || o return o } } function X() { for (var t = 0; arguments.length > t; t++) if (arguments[t] !== e) return arguments[t] } function J(t, e) { function n(t, e) { e && (s(t, e), t.setDate(1)) var n = a('firstDay'), f = d(t, !0) f.setDate(1) var v = s(d(f), 1), g = d(f) l(g, -((g.getDay() - n + 7) % 7)), i(g) var p = d(v) l(p, (7 - p.getDay() + n) % 7), i(p, -1, !0) var m = c(), y = Math.round(h(p, g) / 7) 'fixed' == a('weekMode') && (l(p, 7 * (6 - y)), (y = 6)), (r.title = u(f, a('titleFormat'))), (r.start = f), (r.end = v), (r.visStart = g), (r.visEnd = p), o(y, m, !0) } var r = this ;(r.render = n), Z.call(r, t, e, 'month') var a = r.opt, o = r.renderBasic, i = r.skipHiddenDays, c = r.getCellsPerWeek, u = e.formatDate } function V(t, e) { function n(t, e) { e && l(t, 7 * e) var n = l(d(t), -((t.getDay() - a('firstDay') + 7) % 7)), u = l(d(n), 7), f = d(n) i(f) var v = d(u) i(v, -1, !0) var h = s() ;(r.start = n), (r.end = u), (r.visStart = f), (r.visEnd = v), (r.title = c(f, l(d(v), -1), a('titleFormat'))), o(1, h, !1) } var r = this ;(r.render = n), Z.call(r, t, e, 'basicWeek') var a = r.opt, o = r.renderBasic, i = r.skipHiddenDays, s = r.getCellsPerWeek, c = e.formatDates } function U(t, e) { function n(t, e) { e && l(t, e), i(t, 0 > e ? -1 : 1) var n = d(t, !0), c = l(d(n), 1) ;(r.title = s(t, a('titleFormat'))), (r.start = r.visStart = n), (r.end = r.visEnd = c), o(1, 1, !1) } var r = this ;(r.render = n), Z.call(r, t, e, 'basicDay') var a = r.opt, o = r.renderBasic, i = r.skipHiddenDays, s = e.formatDate } function Z(e, n, r) { function a(t, e, n) { ;(ee = t), (ne = e), (re = n), o(), j || i(), s() } function o() { ;(le = he('theme') ? 'ui' : 'fc'), (ce = he('columnFormat')), (ue = he('weekNumbers')), (de = he('weekNumberTitle')), (ve = 'iso' != he('weekNumberCalculation') ? 'w' : 'W') } function i() { Z = t( "
" ).appendTo(e) } function s() { var n = c() L && L.remove(), (L = t(n).appendTo(e)), (_ = L.find('thead')), (P = _.find('.fc-day-header')), (j = L.find('tbody')), (I = j.find('tr')), (X = j.find('.fc-day')), (J = I.find('td:first-child')), (V = I.eq(0).find('.fc-day > div')), (U = I.eq(0).find('.fc-day-content > div')), B(_.add(_.find('tr'))), B(I), I.eq(0).addClass('fc-first'), I.filter(':last').addClass('fc-last'), X.each(function (e, n) { var r = Ee(Math.floor(e / ne), e % ne) ge('dayRender', O, r, t(n)) }), y(X) } function c() { var t = "" + u() + v() + '
' return t } function u() { var t, e, n = le + '-widget-header', r = '' for ( r += '
" + q(de) + '" + q(xe(e, ce)) + '
" + '
' + q(xe(n, ve)) + '
' + '
' + '
'), re && (a += "
" + t.getDate() + '
'), (a += "
 
' + '' + "" + '' + '
" + Ue('allDayText') + '' + "
" + '
 
'), (de = t(e).appendTo(ce)), (ve = de.find('tr')), C(ve.find('td')), ce.append( "
" + "
" + '
' )) : (ue = t([])), he = t( "
" ).appendTo(ce), ge = t( "
" ).appendTo(he), be = t( "
" ).appendTo(ge), e = "", r = v(), o = u(d(r), je), u(r, Be), Ae = 0, a = 0; o > r; a++ ) (i = r.getMinutes()), (e += "" + "' + "' + ''), u(r, Ue('slotMinutes')), Ae++ ;(e += '
" + (f && i ? ' ' : on(r, Ue('axisFormat'))) + '" + "
 
" + '
'), (Ce = t(e).appendTo(ge)), M(Ce.find('td')) } function c() { var e = h() K && K.remove(), (K = t(e).appendTo(n)), (ee = K.find('thead')), (ne = ee.find('th').slice(1, -1)), (re = K.find('tbody')), (ae = re.find('td').slice(0, -1)), (oe = ae.find('> div')), (ie = ae.find('.fc-day-content > div')), (se = ae.eq(0)), (le = oe.eq(0)), B(ee.add(ee.find('tr'))), B(re.add(re.find('tr'))) } function h() { var t = "" + g() + p() + '
' return t } function g() { var t, e, n, r = qe + '-widget-header', a = '' for ( a += '', Xe ? ((t = nn(0, 0)), (e = on(t, Ve)), Ye ? (e += Je) : (e = Je + e), (a += "" + q(e) + '')) : (a += " "), n = 0; We > n; n++ ) (t = nn(0, n)), (a += "" + q(on(t, Ie)) + '') return (a += " " + '' + '') } function p() { var t, e, n, r, a, o = qe + '-widget-header', i = qe + '-widget-content', s = f(new Date()), l = '' for ( l += " ", n = '', e = 0; We > e; e++ ) (t = nn(0, e)), (a = ['fc-col' + e, 'fc-' + ke[t.getDay()], i]), +t == +s ? a.push(qe + '-state-highlight', 'fc-today') : s > t ? a.push('fc-past') : a.push('fc-future'), (r = "" + '
' + "
" + "
 
" + '
' + '
' + ''), (n += r) return ( (l += n), (l += " " + '' + '') ) } function m(t) { t === e && (t = Se), (Se = t), (sn = {}) var n = re.position().top, r = he.position().top, a = Math.min(t - n, Ce.height() + r + 1) le.height(a - R(se)), ce.css('top', n), he.height(a - r - 1), (Fe = Ce.find('tr:first').height() + 1), (Ne = Ue('slotMinutes') / Re), (ze = Fe / Ne) } function w(e) { ;(Ee = e), _e.clear(), Pe.clear() var n = ee.find('th:first') de && (n = n.add(de.find('th:first'))), (n = n.add(Ce.find('th:first'))), (Te = 0), S( n.width('').each(function (e, n) { Te = Math.max(Te, t(n).outerWidth()) }), Te ) var r = K.find('.fc-agenda-gutter') de && (r = r.add(de.find('th.fc-agenda-gutter'))) var a = he[0].clientWidth ;(He = he.width() - a), He ? (S(r, He), r.show().prev().removeClass('fc-last')) : r.hide().prev().addClass('fc-last'), (xe = Math.floor((a - Te) / We)), S(ne.slice(0, -1), xe) } function b() { function t() { he.scrollTop(r) } var e = v(), n = d(e) n.setHours(Ue('firstHour')) var r = _(e, n) + 1 t(), setTimeout(t, 0) } function D() { b() } function C(t) { t.click(E).mousedown(tn) } function M(t) { t.click(E).mousedown(U) } function E(t) { if (!Ue('selectable')) { var e = Math.min( We - 1, Math.floor((t.pageX - K.offset().left - Te) / xe) ), n = nn(0, e), r = this.parentNode.className.match(/fc-slot(\d+)/) if (r) { var a = parseInt(r[1]) * Ue('slotMinutes'), o = Math.floor(a / 60) n.setHours(o), n.setMinutes((a % 60) + Be), Ze('dayClick', ae[e], n, !1, t) } else Ze('dayClick', ae[e], n, !0, t) } } function x(t, e, n) { n && Oe.build() for (var r = an(t, e), a = 0; r.length > a; a++) { var o = r[a] C(k(o.row, o.leftCol, o.row, o.rightCol)) } } function k(t, e, n, r) { var a = Oe.rect(t, e, n, r, ce) return Ge(a, ce) } function H(t, e) { for (var n = 0; We > n; n++) { var r = nn(0, n), a = l(d(r), 1), o = new Date(Math.max(r, t)), i = new Date(Math.min(a, e)) if (i > o) { var s = Oe.rect(0, n, 0, n, ge), c = _(r, o), u = _(r, i) ;(s.top = c), (s.height = u - c), M(Ge(s, ge)) } } } function F(t) { return _e.left(t) } function N(t) { return Pe.left(t) } function z(t) { return _e.right(t) } function W(t) { return Pe.right(t) } function A(t) { return Ue('allDaySlot') && !t.row } function L(t) { var e = nn(0, t.col), n = t.row return Ue('allDaySlot') && n--, n >= 0 && u(e, Be + n * Re), e } function _(t, n) { if (((t = d(t, !0)), u(d(t), Be) > n)) return 0 if (n >= u(d(t), je)) return Ce.height() var r = Ue('slotMinutes'), a = 60 * n.getHours() + n.getMinutes() - Be, o = Math.floor(a / r), i = sn[o] return ( i === e && (i = sn[o] = Ce.find('tr') .eq(o) .find('td div')[0].offsetTop), Math.max(0, Math.round(i - 1 + Fe * ((a % r) / r))) ) } function P() { return ve } function j(t) { var e = d(t.start) return t.allDay ? e : u(e, Ue('defaultEventMinutes')) } function I(t, e) { return e ? d(t) : u(d(t), Ue('slotMinutes')) } function X(t, e, n) { n ? Ue('allDaySlot') && x(t, l(d(e), 1), !0) : J(t, e) } function J(e, n) { var r = Ue('selectHelper') if ((Oe.build(), r)) { var a = rn(e).col if (a >= 0 && We > a) { var o = Oe.rect(0, a, 0, a, ge), i = _(e, e), s = _(e, n) if (s > i) { if ( ((o.top = i), (o.height = s - i), (o.left += 2), (o.width -= 5), t.isFunction(r)) ) { var l = r(e, n) l && ((o.position = 'absolute'), (Me = t(l).css(o).appendTo(ge))) } else (o.isStart = !0), (o.isEnd = !0), (Me = t( en( { title: '', start: e, end: n, className: ['fc-select-helper'], editable: !1, }, o ) )), Me.css('opacity', Ue('dragOpacity')) Me && (M(Me), ge.append(Me), S(Me, o.width, !0), T(Me, o.height, !0)) } } } else H(e, n) } function V() { $e(), Me && (Me.remove(), (Me = null)) } function U(e) { if (1 == e.which && Ue('selectable')) { Ke(e) var n Le.start(function (t, e) { if ((V(), t && t.col == e.col && !A(t))) { var r = L(e), a = L(t) ;(n = [r, u(d(r), Re), a, u(d(a), Re)].sort(O)), J(n[0], n[3]) } else n = null }, e), t(document).one('mouseup', function (t) { Le.stop(), n && (+n[0] == +n[1] && Z(n[0], !1, t), Qe(n[0], n[3], !1, t)) }) } } function Z(t, e, n) { Ze('dayClick', ae[rn(t).col], t, e, n) } function G(t, e) { Le.start(function (t) { if (($e(), t)) if (A(t)) k(t.row, t.col, t.row, t.col) else { var e = L(t), n = u(d(e), Ue('defaultEventMinutes')) H(e, n) } }, e) } function $(t, e, n) { var r = Le.stop() $e(), r && Ze('drop', t, L(r), A(r), e, n) } var Q = this ;(Q.renderAgenda = o), (Q.setWidth = w), (Q.setHeight = m), (Q.afterRender = D), (Q.defaultEventEnd = j), (Q.timePosition = _), (Q.getIsCellAllDay = A), (Q.allDayRow = P), (Q.getCoordinateGrid = function () { return Oe }), (Q.getHoverListener = function () { return Le }), (Q.colLeft = F), (Q.colRight = z), (Q.colContentLeft = N), (Q.colContentRight = W), (Q.getDaySegmentContainer = function () { return ue }), (Q.getSlotSegmentContainer = function () { return be }), (Q.getMinMinute = function () { return Be }), (Q.getMaxMinute = function () { return je }), (Q.getSlotContainer = function () { return ge }), (Q.getRowCnt = function () { return 1 }), (Q.getColCnt = function () { return We }), (Q.getColWidth = function () { return xe }), (Q.getSnapHeight = function () { return ze }), (Q.getSnapMinutes = function () { return Re }), (Q.defaultSelectionEnd = I), (Q.renderDayOverlay = x), (Q.renderSelection = X), (Q.clearSelection = V), (Q.reportDayClick = Z), (Q.dragStart = G), (Q.dragStop = $), fe.call(Q, n, r, a), me.call(Q), pe.call(Q), te.call(Q) var K, ee, ne, re, ae, oe, ie, se, le, ce, ue, de, ve, he, ge, be, Ce, Me, Ee, Se, Te, xe, He, Fe, Re, Ne, ze, We, Ae, Oe, Le, _e, Pe, qe, Ye, Be, je, Ie, Xe, Je, Ve, Ue = Q.opt, Ze = Q.trigger, Ge = Q.renderOverlay, $e = Q.clearOverlays, Qe = Q.reportSelection, Ke = Q.unselect, tn = Q.daySelectionMousedown, en = Q.slotSegHtml, nn = Q.cellToDate, rn = Q.dateToCell, an = Q.rangeToSegments, on = r.formatDate, sn = {} Y(n.addClass('fc-agenda')), (Oe = new ye(function (e, n) { function r(t) { return Math.max(l, Math.min(c, t)) } var a, o, i ne.each(function (e, r) { ;(a = t(r)), (o = a.offset().left), e && (i[1] = o), (i = [o]), (n[e] = i) }), (i[1] = o + a.outerWidth()), Ue('allDaySlot') && ((a = ve), (o = a.offset().top), (e[0] = [o, o + a.outerHeight()])) for ( var s = ge.offset().top, l = he.offset().top, c = l + he.outerHeight(), u = 0; Ae * Ne > u; u++ ) e.push([r(s + ze * u), r(s + ze * (u + 1))]) })), (Le = new we(Oe)), (_e = new De(function (t) { return oe.eq(t) })), (Pe = new De(function (t) { return ie.eq(t) })) } function te() { function n(t, e) { var n, r = t.length, o = [], i = [] for (n = 0; r > n; n++) t[n].allDay ? o.push(t[n]) : i.push(t[n]) y('allDaySlot') && (te(o, e), k()), s(a(i), e) } function r() { H().empty(), F().empty() } function a(e) { var n, r, a, s, l, c = Y(), f = W(), v = z(), h = t.map(e, i), g = [] for (r = 0; c > r; r++) for ( n = P(0, r), u(n, f), l = o(e, h, n, u(d(n), v - f)), l = ee(l), a = 0; l.length > a; a++ ) (s = l[a]), (s.col = r), g.push(s) return g } function o(t, e, n, r) { var a, o, i, s, l, c, u, f, v = [], h = t.length for (a = 0; h > a; a++) (o = t[a]), (i = o.start), (s = e[a]), s > n && r > i && (n > i ? ((l = d(n)), (u = !1)) : ((l = i), (u = !0)), s > r ? ((c = d(r)), (f = !1)) : ((c = s), (f = !0)), v.push({ event: o, start: l, end: c, isStart: u, isEnd: f, })) return v.sort(ue) } function i(t) { return t.end ? d(t.end) : u(d(t.start), y('defaultEventMinutes')) } function s(n, r) { var a, o, i, s, l, u, d, v, h, g, p, m, b, D, C, M, S = n.length, T = '', k = F(), H = y('isRTL') for (a = 0; S > a; a++) (o = n[a]), (i = o.event), (s = A(o.start, o.start)), (l = A(o.start, o.end)), (u = L(o.col)), (d = _(o.col)), (v = d - u), (d -= 0.025 * v), (v = d - u), (h = v * (o.forwardCoord - o.backwardCoord)), y('slotEventOverlap') && (h = Math.max(2 * (h - 10), h)), H ? ((p = d - o.backwardCoord * v), (g = p - h)) : ((g = u + o.backwardCoord * v), (p = g + h)), (g = Math.max(g, u)), (p = Math.min(p, d)), (h = p - g), (o.top = s), (o.left = g), (o.outerWidth = h), (o.outerHeight = l - s), (T += c(i, o)) for (k[0].innerHTML = T, m = k.children(), a = 0; S > a; a++) (o = n[a]), (i = o.event), (b = t(m[a])), (D = w('eventRender', i, i, b)), D === !1 ? b.remove() : (D && D !== !0 && (b.remove(), (b = t(D) .css({ position: 'absolute', top: o.top, left: o.left, }) .appendTo(k))), (o.element = b), i._id === r ? f(i, b, o) : (b[0]._fci = a), V(i, b)) for (E(k, n, f), a = 0; S > a; a++) (o = n[a]), (b = o.element) && ((o.vsides = R(b, !0)), (o.hsides = x(b, !0)), (C = b.find('.fc-event-title')), C.length && (o.contentTop = C[0].offsetTop)) for (a = 0; S > a; a++) (o = n[a]), (b = o.element) && ((b[0].style.width = Math.max(0, o.outerWidth - o.hsides) + 'px'), (M = Math.max(0, o.outerHeight - o.vsides)), (b[0].style.height = M + 'px'), (i = o.event), o.contentTop !== e && 10 > M - o.contentTop && (b .find('div.fc-event-time') .text( re(i.start, y('timeFormat')) + ' - ' + i.title ), b.find('div.fc-event-title').remove()), w('eventAfterRender', i, i, b)) } function c(t, e) { var n = '<', r = t.url, a = j(t, y), o = ['fc-event', 'fc-event-vert'] return ( b(t) && o.push('fc-event-draggable'), e.isStart && o.push('fc-event-start'), e.isEnd && o.push('fc-event-end'), (o = o.concat(t.className)), t.source && (o = o.concat(t.source.className || [])), (n += r ? "a href='" + q(t.url) + "'" : 'div'), (n += " class='" + o.join(' ') + "'" + ' style=' + "'" + 'position:absolute;' + 'top:' + e.top + 'px;' + 'left:' + e.left + 'px;' + a + "'" + '>' + "
" + "
" + q(ae(t.start, t.end, y('timeFormat'))) + '
' + "
" + q(t.title || '') + '
' + '
' + "
"), e.isEnd && D(t) && (n += "
=
"), (n += '') ) } function f(t, e, n) { var r = e.find('div.fc-event-time') b(t) && g(t, e, r), n.isEnd && D(t) && p(t, e, r), S(t, e) } function v(t, e, n) { function r() { c || (e.width(a).height('').draggable('option', 'grid', null), (c = !0)) } var a, o, i, s = n.isStart, c = !0, u = N(), f = B(), v = I(), g = X(), p = W() e.draggable({ opacity: y('dragOpacity', 'month'), revertDuration: y('dragRevertDuration'), start: function (n, p) { w('eventDragStart', e, t, n, p), Z(t, e), (a = e.width()), u.start( function (n, a) { if ((K(), n)) { o = !1 var u = P(0, a.col), p = P(0, n.col) ;(i = h(p, u)), n.row ? s ? c && (e.width(f - 10), T( e, v * Math.round( (t.end ? (t.end - t.start) / Re : y( 'defaultEventMinutes' )) / g ) ), e.draggable( 'option', 'grid', [f, 1] ), (c = !1)) : (o = !0) : (Q(l(d(t.start), i), l(C(t), i)), r()), (o = o || (c && !i)) } else r(), (o = !0) e.draggable('option', 'revert', o) }, n, 'drag' ) }, stop: function (n, a) { if ((u.stop(), K(), w('eventDragStop', e, t, n, a), o)) r(), e.css('filter', ''), U(t, e) else { var s = 0 c || (s = Math.round( (e.offset().top - J().offset().top) / v ) * g + p - (60 * t.start.getHours() + t.start.getMinutes())), G(this, t, i, s, c, n, a) } }, }) } function g(t, e, n) { function r() { K(), s && (f ? (n.hide(), e.draggable('option', 'grid', null), Q(l(d(t.start), b), l(C(t), b))) : (a(D), n.css('display', ''), e.draggable('option', 'grid', [T, x]))) } function a(e) { var r, a = u(d(t.start), e) t.end && (r = u(d(t.end), e)), n.text(ae(a, r, y('timeFormat'))) } var o, i, s, c, f, v, g, p, b, D, M, E = m.getCoordinateGrid(), S = Y(), T = B(), x = I(), k = X() e.draggable({ scroll: !1, grid: [T, x], axis: 1 == S ? 'y' : !1, opacity: y('dragOpacity'), revertDuration: y('dragRevertDuration'), start: function (n, r) { w('eventDragStart', e, t, n, r), Z(t, e), E.build(), (o = e.position()), (i = E.cell(n.pageX, n.pageY)), (s = c = !0), (f = v = O(i)), (g = p = 0), (b = 0), (D = M = 0) }, drag: function (t, n) { var a = E.cell(t.pageX, t.pageY) if ((s = !!a)) { if ( ((f = O(a)), (g = Math.round((n.position.left - o.left) / T)), g != p) ) { var l = P(0, i.col), u = i.col + g ;(u = Math.max(0, u)), (u = Math.min(S - 1, u)) var d = P(0, u) b = h(d, l) } f || (D = Math.round((n.position.top - o.top) / x) * k) } ;(s != c || f != v || g != p || D != M) && (r(), (c = s), (v = f), (p = g), (M = D)), e.draggable('option', 'revert', !s) }, stop: function (n, a) { K(), w('eventDragStop', e, t, n, a), s && (f || b || D) ? G(this, t, b, f ? 0 : D, f, n, a) : ((s = !0), (f = !1), (g = 0), (b = 0), (D = 0), r(), e.css('filter', ''), e.css(o), U(t, e)) }, }) } function p(t, e, n) { var r, a, o = I(), i = X() e.resizable({ handles: { s: '.ui-resizable-handle' }, grid: o, start: function (n, o) { ;(r = a = 0), Z(t, e), w('eventResizeStart', this, t, n, o) }, resize: function (s, l) { ;(r = Math.round( (Math.max(o, e.height()) - l.originalSize.height) / o )), r != a && (n.text( ae( t.start, r || t.end ? u(M(t), i * r) : null, y('timeFormat') ) ), (a = r)) }, stop: function (n, a) { w('eventResizeStop', this, t, n, a), r ? $(this, t, 0, i * r, n, a) : U(t, e) }, }) } var m = this ;(m.renderEvents = n), (m.clearEvents = r), (m.slotSegHtml = c), de.call(m) var y = m.opt, w = m.trigger, b = m.isEventDraggable, D = m.isEventResizable, M = m.eventEnd, S = m.eventElementHandlers, k = m.setHeight, H = m.getDaySegmentContainer, F = m.getSlotSegmentContainer, N = m.getHoverListener, z = m.getMaxMinute, W = m.getMinMinute, A = m.timePosition, O = m.getIsCellAllDay, L = m.colContentLeft, _ = m.colContentRight, P = m.cellToDate, Y = m.getColCnt, B = m.getColWidth, I = m.getSnapHeight, X = m.getSnapMinutes, J = m.getSlotContainer, V = m.reportEventElement, U = m.showEvents, Z = m.hideEvents, G = m.eventDrop, $ = m.eventResize, Q = m.renderDayOverlay, K = m.clearOverlays, te = m.renderDayEvents, ne = m.calendar, re = ne.formatDate, ae = ne.formatDates m.draggableDayEvent = v } function ee(t) { var e, n = ne(t), r = n[0] if ((re(n), r)) { for (e = 0; r.length > e; e++) ae(r[e]) for (e = 0; r.length > e; e++) oe(r[e], 0, 0) } return ie(n) } function ne(t) { var e, n, r, a = [] for (e = 0; t.length > e; e++) { for (n = t[e], r = 0; a.length > r && se(n, a[r]).length; r++); ;(a[r] || (a[r] = [])).push(n) } return a } function re(t) { var e, n, r, a, o for (e = 0; t.length > e; e++) for (n = t[e], r = 0; n.length > r; r++) for (a = n[r], a.forwardSegs = [], o = e + 1; t.length > o; o++) se(a, t[o], a.forwardSegs) } function ae(t) { var n, r, a = t.forwardSegs, o = 0 if (t.forwardPressure === e) { for (n = 0; a.length > n; n++) (r = a[n]), ae(r), (o = Math.max(o, 1 + r.forwardPressure)) t.forwardPressure = o } } function oe(t, n, r) { var a, o = t.forwardSegs if (t.forwardCoord === e) for ( o.length ? (o.sort(ce), oe(o[0], n + 1, r), (t.forwardCoord = o[0].backwardCoord)) : (t.forwardCoord = 1), t.backwardCoord = t.forwardCoord - (t.forwardCoord - r) / (n + 1), a = 0; o.length > a; a++ ) oe(o[a], 0, t.forwardCoord) } function ie(t) { var e, n, r, a = [] for (e = 0; t.length > e; e++) for (n = t[e], r = 0; n.length > r; r++) a.push(n[r]) return a } function se(t, e, n) { n = n || [] for (var r = 0; e.length > r; r++) le(t, e[r]) && n.push(e[r]) return n } function le(t, e) { return t.end > e.start && t.start < e.end } function ce(t, e) { return ( e.forwardPressure - t.forwardPressure || (t.backwardCoord || 0) - (e.backwardCoord || 0) || ue(t, e) ) } function ue(t, e) { return ( t.start - e.start || e.end - e.start - (t.end - t.start) || (t.event.title || '').localeCompare(e.event.title) ) } function fe(n, r, a) { function o(e, n) { var r = V[e] return t.isPlainObject(r) ? P(r, n || a) : r } function i(t, e) { return r.trigger.apply( r, [t, e || _].concat(Array.prototype.slice.call(arguments, 2), [ _, ]) ) } function s(t) { var e = t.source || {} return ( X( t.startEditable, e.startEditable, o('eventStartEditable'), t.editable, e.editable, o('editable') ) && !o('disableDragging') ) } function c(t) { var e = t.source || {} return ( X( t.durationEditable, e.durationEditable, o('eventDurationEditable'), t.editable, e.editable, o('editable') ) && !o('disableResizing') ) } function f(t) { j = {} var e, n, r = t.length for (e = 0; r > e; e++) (n = t[e]), j[n._id] ? j[n._id].push(n) : (j[n._id] = [n]) } function v() { ;(j = {}), (I = {}), (J = []) } function g(t) { return t.end ? d(t.end) : q(t) } function p(t, e) { J.push({ event: t, element: e }), I[t._id] ? I[t._id].push(e) : (I[t._id] = [e]) } function m() { t.each(J, function (t, e) { _.trigger('eventDestroy', e.event, e.event, e.element) }) } function y(t, n) { n.click(function (r) { return n.hasClass('ui-draggable-dragging') || n.hasClass('ui-resizable-resizing') ? e : i('eventClick', this, t, r) }).hover( function (e) { i('eventMouseover', this, t, e) }, function (e) { i('eventMouseout', this, t, e) } ) } function w(t, e) { D(t, e, 'show') } function b(t, e) { D(t, e, 'hide') } function D(t, e, n) { var r, a = I[t._id], o = a.length for (r = 0; o > r; r++) (e && a[r][0] == e[0]) || a[r][n]() } function C(t, e, n, r, a, o, s) { var l = e.allDay, c = e._id E(j[c], n, r, a), i( 'eventDrop', t, e, n, r, a, function () { E(j[c], -n, -r, l), B(c) }, o, s ), B(c) } function M(t, e, n, r, a, o) { var s = e._id S(j[s], n, r), i( 'eventResize', t, e, n, r, function () { S(j[s], -n, -r), B(s) }, a, o ), B(s) } function E(t, n, r, a) { r = r || 0 for (var o, i = t.length, s = 0; i > s; s++) (o = t[s]), a !== e && (o.allDay = a), u(l(o.start, n, !0), r), o.end && (o.end = u(l(o.end, n, !0), r)), Y(o, V) } function S(t, e, n) { n = n || 0 for (var r, a = t.length, o = 0; a > o; o++) (r = t[o]), (r.end = u(l(g(r), e, !0), n)), Y(r, V) } function T(t) { return 'object' == typeof t && (t = t.getDay()), G[t] } function x() { return U } function k(t, e, n) { for (e = e || 1; G[(t.getDay() + (n ? e : 0) + 7) % 7]; ) l(t, e) } function H() { var t = F.apply(null, arguments), e = R(t), n = N(e) return n } function F(t, e) { var n = _.getColCnt(), r = K ? -1 : 1, a = K ? n - 1 : 0 'object' == typeof t && ((e = t.col), (t = t.row)) var o = t * n + (e * r + a) return o } function R(t) { var e = _.visStart.getDay() return (t += $[e]), 7 * Math.floor(t / U) + Q[((t % U) + U) % U] - e } function N(t) { var e = d(_.visStart) return l(e, t), e } function z(t) { var e = W(t), n = A(e), r = O(n) return r } function W(t) { return h(t, _.visStart) } function A(t) { var e = _.visStart.getDay() return (t += e), Math.floor(t / 7) * U + $[((t % 7) + 7) % 7] - $[e] } function O(t) { var e = _.getColCnt(), n = K ? -1 : 1, r = K ? e - 1 : 0, a = Math.floor(t / e), o = (((t % e) + e) % e) * n + r return { row: a, col: o } } function L(t, e) { for ( var n = _.getRowCnt(), r = _.getColCnt(), a = [], o = W(t), i = W(e), s = A(o), l = A(i) - 1, c = 0; n > c; c++ ) { var u = c * r, f = u + r - 1, d = Math.max(s, u), v = Math.min(l, f) if (v >= d) { var h = O(d), g = O(v), p = [h.col, g.col].sort(), m = R(d) == o, y = R(v) + 1 == i a.push({ row: c, leftCol: p[0], rightCol: p[1], isStart: m, isEnd: y, }) } } return a } var _ = this ;(_.element = n), (_.calendar = r), (_.name = a), (_.opt = o), (_.trigger = i), (_.isEventDraggable = s), (_.isEventResizable = c), (_.setEventData = f), (_.clearEventData = v), (_.eventEnd = g), (_.reportEventElement = p), (_.triggerEventDestroy = m), (_.eventElementHandlers = y), (_.showEvents = w), (_.hideEvents = b), (_.eventDrop = C), (_.eventResize = M) var q = _.defaultEventEnd, Y = r.normalizeEvent, B = r.reportEventChange, j = {}, I = {}, J = [], V = r.options ;(_.isHiddenDay = T), (_.skipHiddenDays = k), (_.getCellsPerWeek = x), (_.dateToCell = z), (_.dateToDayOffset = W), (_.dayOffsetToCellOffset = A), (_.cellOffsetToCell = O), (_.cellToDate = H), (_.cellToCellOffset = F), (_.cellOffsetToDayOffset = R), (_.dayOffsetToDate = N), (_.rangeToSegments = L) var U, Z = o('hiddenDays') || [], G = [], $ = [], Q = [], K = o('isRTL') ;(function () { o('weekends') === !1 && Z.push(0, 6) for (var e = 0, n = 0; 7 > e; e++) ($[e] = n), (G[e] = -1 != t.inArray(e, Z)), G[e] || ((Q[n] = e), n++) if (((U = n), !U)) throw 'invalid hiddenDays' })() } function de() { function e(t, e) { var n = r(t, !1, !0) he(n, function (t, e) { N(t.event, e) }), w(n, e), he(n, function (t, e) { k('eventAfterRender', t.event, t.event, e) }) } function n(t, e, n) { var a = r([t], !0, !1), o = [] return ( he(a, function (t, r) { t.row === e && r.css('top', n), o.push(r[0]) }), o ) } function r(e, n, r) { var o, l, c = Z(), d = n ? t('
') : c, v = a(e) return ( i(v), (o = s(v)), (d[0].innerHTML = o), (l = d.children()), n && c.append(l), u(v, l), he(v, function (t, e) { t.hsides = x(e, !0) }), he(v, function (t, e) { e.width(Math.max(0, t.outerWidth - t.hsides)) }), he(v, function (t, e) { t.outerHeight = e.outerHeight(!0) }), f(v, r), v ) } function a(t) { for (var e = [], n = 0; t.length > n; n++) { var r = o(t[n]) e.push.apply(e, r) } return e } function o(t) { for ( var e = t.start, n = C(t), r = ee(e, n), a = 0; r.length > a; a++ ) r[a].event = t return r } function i(t) { for (var e = T('isRTL'), n = 0; t.length > n; n++) { var r = t[n], a = (e ? r.isEnd : r.isStart) ? V : X, o = (e ? r.isStart : r.isEnd) ? U : J, i = a(r.leftCol), s = o(r.rightCol) ;(r.left = i), (r.outerWidth = s - i) } } function s(t) { for (var e = '', n = 0; t.length > n; n++) e += c(t[n]) return e } function c(t) { var e = '', n = T('isRTL'), r = t.event, a = r.url, o = ['fc-event', 'fc-event-hori'] H(r) && o.push('fc-event-draggable'), t.isStart && o.push('fc-event-start'), t.isEnd && o.push('fc-event-end'), (o = o.concat(r.className)), r.source && (o = o.concat(r.source.className || [])) var i = j(r, T) return ( (e += a ? "' + "
"), !r.allDay && t.isStart && (e += "" + q(G(r.start, r.end, T('timeFormat'))) + ''), (e += "" + q(r.title || '') + '' + '
'), t.isEnd && F(r) && (e += "
" + '   ' + '
'), (e += '') ) } function u(e, n) { for (var r = 0; e.length > r; r++) { var a = e[r], o = a.event, i = n.eq(r), s = k('eventRender', o, o, i) s === !1 ? i.remove() : (s && s !== !0 && ((s = t(s).css({ position: 'absolute', left: a.left, })), i.replaceWith(s), (i = s)), (a.element = i)) } } function f(t, e) { var n = v(t), r = y(), a = [] if (e) for (var o = 0; r.length > o; o++) r[o].height(n[o]) for (var o = 0; r.length > o; o++) a.push(r[o].position().top) he(t, function (t, e) { e.css('top', a[t.row] + t.top) }) } function v(t) { for (var e = P(), n = B(), r = [], a = g(t), o = 0; e > o; o++) { for (var i = a[o], s = [], l = 0; n > l; l++) s.push(0) for (var c = 0; i.length > c; c++) { var u = i[c] u.top = L(s.slice(u.leftCol, u.rightCol + 1)) for (var l = u.leftCol; u.rightCol >= l; l++) s[l] = u.top + u.outerHeight } r.push(L(s)) } return r } function g(t) { var e, n, r, a = P(), o = [] for (e = 0; t.length > e; e++) (n = t[e]), (r = n.row), n.element && (o[r] ? o[r].push(n) : (o[r] = [n])) for (r = 0; a > r; r++) o[r] = p(o[r] || []) return o } function p(t) { for (var e = [], n = m(t), r = 0; n.length > r; r++) e.push.apply(e, n[r]) return e } function m(t) { t.sort(ge) for (var e = [], n = 0; t.length > n; n++) { for (var r = t[n], a = 0; e.length > a && ve(r, e[a]); a++); e[a] ? e[a].push(r) : (e[a] = [r]) } return e } function y() { var t, e = P(), n = [] for (t = 0; e > t; t++) n[t] = I(t).find('div.fc-day-content > div') return n } function w(t, e) { var n = Z() he(t, function (t, n, r) { var a = t.event a._id === e ? b(a, n, t) : (n[0]._fci = r) }), E(n, t, b) } function b(t, e, n) { H(t) && S.draggableDayEvent(t, e, n), n.isEnd && F(t) && S.resizableDayEvent(t, e, n), z(t, e) } function D(t, e) { var n, r = te() e.draggable({ delay: 50, opacity: T('dragOpacity'), revertDuration: T('dragRevertDuration'), start: function (a, o) { k('eventDragStart', e, t, a, o), A(t, e), r.start( function (r, a, o, i) { if ( (e.draggable( 'option', 'revert', !r || (!o && !i) ), Q(), r) ) { var s = ne(a), c = ne(r) ;(n = h(c, s)), $(l(d(t.start), n), l(C(t), n)) } else n = 0 }, a, 'drag' ) }, stop: function (a, o) { r.stop(), Q(), k('eventDragStop', e, t, a, o), n ? O(this, t, n, 0, t.allDay, a, o) : (e.css('filter', ''), W(t, e)) }, }) } function M(e, r, a) { var o = T('isRTL'), i = o ? 'w' : 'e', s = r.find('.ui-resizable-' + i), c = !1 Y(r), r .mousedown(function (t) { t.preventDefault() }) .click(function (t) { c && (t.preventDefault(), t.stopImmediatePropagation()) }), s.mousedown(function (o) { function s(n) { k('eventResizeStop', this, e, n), t('body').css('cursor', ''), u.stop(), Q(), f && _(this, e, f, 0, n), setTimeout(function () { c = !1 }, 0) } if (1 == o.which) { c = !0 var u = te() P(), B() var f, d, v = r.css('top'), h = t.extend({}, e), g = ie(oe(e.start)) K(), t('body') .css('cursor', i + '-resize') .one('mouseup', s), k('eventResizeStart', this, e, o), u.start(function (r, o) { if (r) { var s = re(o), c = re(r) if ( ((c = Math.max(c, g)), (f = ae(c) - ae(s))) ) { h.end = l(R(e), f, !0) var u = d ;(d = n(h, a.row, v)), (d = t(d)), d .find('*') .css('cursor', i + '-resize'), u && u.remove(), A(e) } else d && (W(e), d.remove(), (d = null)) Q(), $(e.start, l(C(e), f)) } }, o) } }) } var S = this ;(S.renderDayEvents = e), (S.draggableDayEvent = D), (S.resizableDayEvent = M) var T = S.opt, k = S.trigger, H = S.isEventDraggable, F = S.isEventResizable, R = S.eventEnd, N = S.reportEventElement, z = S.eventElementHandlers, W = S.showEvents, A = S.hideEvents, O = S.eventDrop, _ = S.eventResize, P = S.getRowCnt, B = S.getColCnt S.getColWidth var I = S.allDayRow, X = S.colLeft, J = S.colRight, V = S.colContentLeft, U = S.colContentRight S.dateToCell var Z = S.getDaySegmentContainer, G = S.calendar.formatDates, $ = S.renderDayOverlay, Q = S.clearOverlays, K = S.clearSelection, te = S.getHoverListener, ee = S.rangeToSegments, ne = S.cellToDate, re = S.cellToCellOffset, ae = S.cellOffsetToDayOffset, oe = S.dateToDayOffset, ie = S.dayOffsetToCellOffset } function ve(t, e) { for (var n = 0; e.length > n; n++) { var r = e[n] if (r.leftCol <= t.rightCol && r.rightCol >= t.leftCol) return !0 } return !1 } function he(t, e) { for (var n = 0; t.length > n; n++) { var r = t[n], a = r.element a && e(r, a, n) } } function ge(t, e) { return ( e.rightCol - e.leftCol - (t.rightCol - t.leftCol) || e.event.allDay - t.event.allDay || t.event.start - e.event.start || (t.event.title || '').localeCompare(e.event.title) ) } function pe() { function e(t, e, a) { n(), e || (e = l(t, a)), c(t, e, a), r(t, e, a) } function n(t) { f && ((f = !1), u(), s('unselect', null, t)) } function r(t, e, n, r) { ;(f = !0), s('select', null, t, e, n, r) } function a(e) { var a = o.cellToDate, s = o.getIsCellAllDay, l = o.getHoverListener(), f = o.reportDayClick if (1 == e.which && i('selectable')) { n(e) var d l.start(function (t, e) { u(), t && s(t) ? ((d = [a(e), a(t)].sort(O)), c(d[0], d[1], !0)) : (d = null) }, e), t(document).one('mouseup', function (t) { l.stop(), d && (+d[0] == +d[1] && f(d[0], !0, t), r(d[0], d[1], !0, t)) }) } } var o = this ;(o.select = e), (o.unselect = n), (o.reportSelection = r), (o.daySelectionMousedown = a) var i = o.opt, s = o.trigger, l = o.defaultSelectionEnd, c = o.renderSelection, u = o.clearSelection, f = !1 i('selectable') && i('unselectAuto') && t(document).mousedown(function (e) { var r = i('unselectCancel') ;(r && t(e.target).parents(r).length) || n(e) }) } function me() { function e(e, n) { var r = o.shift() return ( r || (r = t( "
" )), r[0].parentNode != n[0] && r.appendTo(n), a.push(r.css(e).show()), r ) } function n() { for (var t; (t = a.shift()); ) o.push(t.hide().unbind()) } var r = this ;(r.renderOverlay = e), (r.clearOverlays = n) var a = [], o = [] } function ye(t) { var e, n, r = this ;(r.build = function () { ;(e = []), (n = []), t(e, n) }), (r.cell = function (t, r) { var a, o = e.length, i = n.length, s = -1, l = -1 for (a = 0; o > a; a++) if (r >= e[a][0] && e[a][1] > r) { s = a break } for (a = 0; i > a; a++) if (t >= n[a][0] && n[a][1] > t) { l = a break } return s >= 0 && l >= 0 ? { row: s, col: l } : null }), (r.rect = function (t, r, a, o, i) { var s = i.offset() return { top: e[t][0] - s.top, left: n[r][0] - s.left, width: n[o][1] - n[r][0], height: e[a][1] - e[t][0], } }) } function we(e) { function n(t) { be(t) var n = e.cell(t.pageX, t.pageY) ;(!n != !i || (n && (n.row != i.row || n.col != i.col))) && (n ? (o || (o = n), a(n, o, n.row - o.row, n.col - o.col)) : a(n, o), (i = n)) } var r, a, o, i, s = this ;(s.start = function (s, l, c) { ;(a = s), (o = i = null), e.build(), n(l), (r = c || 'mousemove'), t(document).bind(r, n) }), (s.stop = function () { return t(document).unbind(r, n), i }) } function be(t) { t.pageX === e && ((t.pageX = t.originalEvent.pageX), (t.pageY = t.originalEvent.pageY)) } function De(t) { function n(e) { return (a[e] = a[e] || t(e)) } var r = this, a = {}, o = {}, i = {} ;(r.left = function (t) { return (o[t] = o[t] === e ? n(t).position().left : o[t]) }), (r.right = function (t) { return (i[t] = i[t] === e ? r.left(t) + n(t).width() : i[t]) }), (r.clear = function () { ;(a = {}), (o = {}), (i = {}) }) } var Ce = { defaultView: 'month', aspectRatio: 1.35, header: { left: 'title', center: '', right: 'today prev,next' }, weekends: !0, weekNumbers: !1, weekNumberCalculation: 'iso', weekNumberTitle: 'W', allDayDefault: !0, ignoreTimezone: !0, lazyFetching: !0, startParam: 'start', endParam: 'end', titleFormat: { month: 'MMMM yyyy', week: "MMM d[ yyyy]{ '—'[ MMM] d yyyy}", day: 'dddd, MMM d, yyyy', }, columnFormat: { month: 'ddd', week: 'ddd M/d', day: 'dddd M/d' }, timeFormat: { '': 'h(:mm)t' }, isRTL: !1, firstDay: 0, monthNames: [ 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December', ], monthNamesShort: [ 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec', ], dayNames: [ 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', ], dayNamesShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], buttonText: { prev: "", next: "", prevYear: "«", nextYear: "»", today: 'today', month: 'month', week: 'week', day: 'day', }, theme: !1, buttonIcons: { prev: 'circle-triangle-w', next: 'circle-triangle-e', }, unselectAuto: !0, dropAccept: '*', handleWindowResize: !0, }, Me = { header: { left: 'next,prev today', center: '', right: 'title' }, buttonText: { prev: "", next: "", prevYear: "»", nextYear: "«", }, buttonIcons: { prev: 'circle-triangle-e', next: 'circle-triangle-w', }, }, Ee = (t.fullCalendar = { version: '1.6.4' }), Se = (Ee.views = {}) ;(t.fn.fullCalendar = function (n) { if ('string' == typeof n) { var a, o = Array.prototype.slice.call(arguments, 1) return ( this.each(function () { var r = t.data(this, 'fullCalendar') if (r && t.isFunction(r[n])) { var i = r[n].apply(r, o) a === e && (a = i), 'destroy' == n && t.removeData(this, 'fullCalendar') } }), a !== e ? a : this ) } n = n || {} var i = n.eventSources || [] return ( delete n.eventSources, n.events && (i.push(n.events), delete n.events), (n = t.extend( !0, {}, Ce, n.isRTL || (n.isRTL === e && Ce.isRTL) ? Me : {}, n )), this.each(function (e, a) { var o = t(a), s = new r(o, n, i) o.data('fullCalendar', s), s.render() }), this ) }), (Ee.sourceNormalizers = []), (Ee.sourceFetchers = []) var Te = { dataType: 'json', cache: !1 }, xe = 1 ;(Ee.addDays = l), (Ee.cloneDate = d), (Ee.parseDate = p), (Ee.parseISO8601 = m), (Ee.parseTime = y), (Ee.formatDate = w), (Ee.formatDates = b) var ke = ['sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat'], He = 864e5, Fe = 36e5, Re = 6e4, Ne = { s: function (t) { return t.getSeconds() }, ss: function (t) { return _(t.getSeconds()) }, m: function (t) { return t.getMinutes() }, mm: function (t) { return _(t.getMinutes()) }, h: function (t) { return t.getHours() % 12 || 12 }, hh: function (t) { return _(t.getHours() % 12 || 12) }, H: function (t) { return t.getHours() }, HH: function (t) { return _(t.getHours()) }, d: function (t) { return t.getDate() }, dd: function (t) { return _(t.getDate()) }, ddd: function (t, e) { return e.dayNamesShort[t.getDay()] }, dddd: function (t, e) { return e.dayNames[t.getDay()] }, M: function (t) { return t.getMonth() + 1 }, MM: function (t) { return _(t.getMonth() + 1) }, MMM: function (t, e) { return e.monthNamesShort[t.getMonth()] }, MMMM: function (t, e) { return e.monthNames[t.getMonth()] }, yy: function (t) { return (t.getFullYear() + '').substring(2) }, yyyy: function (t) { return t.getFullYear() }, t: function (t) { return 12 > t.getHours() ? 'a' : 'p' }, tt: function (t) { return 12 > t.getHours() ? 'am' : 'pm' }, T: function (t) { return 12 > t.getHours() ? 'A' : 'P' }, TT: function (t) { return 12 > t.getHours() ? 'AM' : 'PM' }, u: function (t) { return w(t, "yyyy-MM-dd'T'HH:mm:ss'Z'") }, S: function (t) { var e = t.getDate() return e > 10 && 20 > e ? 'th' : ['st', 'nd', 'rd'][(e % 10) - 1] || 'th' }, w: function (t, e) { return e.weekNumberCalculation(t) }, W: function (t) { return D(t) }, } ;(Ee.dateFormatters = Ne), (Ee.applyAll = I), (Se.month = J), (Se.basicWeek = V), (Se.basicDay = U), n({ weekMode: 'fixed' }), (Se.agendaWeek = $), (Se.agendaDay = Q), n({ allDaySlot: !0, allDayText: 'all-day', firstHour: 6, slotMinutes: 30, defaultEventMinutes: 120, axisFormat: 'h(:mm)tt', timeFormat: { agenda: 'h:mm{ - h:mm}' }, dragOpacity: { agenda: 0.5 }, minTime: 0, maxTime: 24, slotEventOverlap: !0, }) })(jQuery)