1 line
46 KiB
JavaScript
1 line
46 KiB
JavaScript
/* FullCalendar v1.5.4 http://arshaw.com/fullcalendar/ Use fullcalendar.css for basic styling. For event drag & drop, requires jQuery UI draggable. For event resizing, requires jQuery UI resizable. Copyright (c) 2011 Adam Shaw Dual licensed under the MIT and GPL licenses, located in MIT-LICENSE.txt and GPL-LICENSE.txt respectively. Date: Tue Sep 4 23:38:33 2012 -0700 */ (function(h,w){function lb(a,c,b){function e(){setTimeout(function(){!s.start&&0!==h("body")[0].offsetWidth&&f()},0)}function d(a){if(!s||a!=s.name){F++;p();var c=s,b;c?((c.beforeHide||Pa)(),ta(z,z.height()),c.element.hide()):ta(z,1);z.css("overflow","hidden");(s=J[a])?s.element.show():s=J[a]=new ca[a](b=N=h("<div class='fc-view fc-view-"+a+"' style='position:absolute'/>").appendTo(z),v);c&&C.deactivateButton(c.name);C.activateButton(a);f();z.css("overflow","");c&&ta(z,1);b||(s.afterShow||Pa)();F--}} function f(b){if(0!==x.offsetWidth){F++;p();fa===w&&m();var d=!1;!s.start||b||u<s.start||u>=s.end?(s.render(u,b||0),l(!0),d=!0):s.sizeDirty?(s.clearEvents(),l(),d=!0):s.eventsDirty&&(s.clearEvents(),d=!0);s.sizeDirty=!1;s.eventsDirty=!1;b=d;!c.lazyFetching||k(s.visStart,s.visEnd)?j():b&&t();V=a.outerWidth();C.updateTitle(s.title);b=new Date;b>=s.start&&b<s.end?C.disableButton("today"):C.enableButton("today");F--;s.trigger("viewDisplay",x)}}function i(){r();0!==x.offsetWidth&&(m(),l(),p(),s.clearEvents(), s.renderEvents(A),s.sizeDirty=!1)}function r(){h.each(J,function(a,c){c.sizeDirty=!0})}function m(){fa=c.contentHeight?c.contentHeight:c.height?c.height-(H?H.height():0)-pa(z):Math.round(z.width()/Math.max(c.aspectRatio,0.5))}function l(a){F++;s.setHeight(fa,a);N&&(N.css("position","relative"),N=null);s.setWidth(z.width(),a);F--}function g(){if(!F)if(s.start){var c=++R;setTimeout(function(){if(c==R&&(!F&&0!==x.offsetWidth)&&V!=(V=a.outerWidth()))F++,i(),s.trigger("windowResize",x),F--},200)}else e()} function j(){n(s.visStart,s.visEnd)}function t(a){P();0!==x.offsetWidth&&(s.clearEvents(),s.renderEvents(A,a),s.eventsDirty=!1)}function P(){h.each(J,function(a,c){c.eventsDirty=!0})}function p(){s&&s.unselect()}var v=this;v.options=c;v.render=function(b){z?(m(),r(),P(),f(b)):(a.addClass("fc"),c.isRTL&&a.addClass("fc-rtl"),c.theme&&a.addClass("ui-widget"),z=h("<div class='fc-content' style='position:relative'/>").prependTo(a),C=new mb(v,c),(H=C.render())&&a.prepend(H),d(c.defaultView),h(window).resize(g), 0!==h("body")[0].offsetWidth||e())};v.destroy=function(){h(window).unbind("resize",g);C.destroy();z.remove();a.removeClass("fc fc-rtl ui-widget")};v.refetchEvents=j;v.reportEvents=function(a){A=a;t()};v.reportEventChange=function(a){t(a)};v.rerenderEvents=t;v.changeView=d;v.select=function(a,c,b){s.select(a,c,b===w?!0:b)};v.unselect=p;v.prev=function(){f(-1)};v.next=function(){f(1)};v.prevYear=function(){xa(u,-1);f()};v.nextYear=function(){xa(u,1);f()};v.today=function(){u=new Date;f()};v.gotoDate= function(a,c,b){a instanceof Date?u=o(a):Qa(u,a,c,b);f()};v.incrementDate=function(a,c,b){a!==w&&xa(u,a);c!==w&&ya(u,c);b!==w&&q(u,b);f()};v.formatDate=function(a,b){return da(a,b,c)};v.formatDates=function(a,b,d){return za(a,b,d,c)};v.getDate=function(){return o(u)};v.getView=function(){return s};v.option=function(a,b){if(b===w)return c[a];if("height"==a||"contentHeight"==a||"aspectRatio"==a)c[a]=b,i()};v.trigger=function(a,b){if(c[a])return c[a].apply(b||x,Array.prototype.slice.call(arguments,2))}; nb.call(v,c,b);var k=v.isFetchNeeded,n=v.fetchEvents,x=a[0],C,H,z,s,J={},V,fa,N,R=0,F=0,u=new Date,A=[],D;Qa(u,c.year,c.month,c.date);c.droppable&&h(document).bind("dragstart",function(a,b){var d=a.target,C=h(d);if(!C.parents(".fc").length){var e=c.dropAccept;if(h.isFunction(e)?e.call(d,C):C.is(e))D=d,s.dragStart(D,a,b)}}).bind("dragstop",function(a,c){D&&(s.dragStop(D,a,c),D=null)})}function mb(a,c){function b(b){var e=h("<div class='fc-header-"+b+"'/>");(b=c.header[b])&&h.each(b.split(" "),function(b){0< b&&e.append("<span class='fc-header-space'/>");var f;h.each(this.split(","),function(b,g){if("title"==g)e.append("<span class='fc-header-title'><h2> </h2></span>"),f&&f.addClass(d+"-corner-right"),f=null;else{var r;a[g]?r=a[g]:ca[g]&&(r=function(){p.removeClass(d+"-state-hover");a.changeView(g)});if(r){var o=c.theme?Aa(c.buttonIcons,g):null,q=Aa(c.buttonText,g),p=h("<span class='fc-btn fc-button-"+g+"'>"+(o?"<span class='fc-icon-wrap'><span class='ui-icon ui-icon-"+o+"'/></span>":q)+"</span>"); p&&(p.click(function(){p.hasClass(d+"-state-disabled")||r()}).mousedown(function(){p.not("."+d+"-state-active").not("."+d+"-state-disabled").addClass(d+"-state-down")}).mouseup(function(){p.removeClass(d+"-state-down")}).hover(function(){p.not("."+d+"-state-active").not("."+d+"-state-disabled").addClass(d+"-state-hover")},function(){p.removeClass(d+"-state-hover").removeClass(d+"-state-down")}).appendTo(e),f||p.addClass(d+"-corner-left"),f=p)}}});f&&f.addClass(d+"-corner-right")});return e}this.render= function(){d=c.theme?"ui":"fc";if(c.header)return e=h("<div class='fc-header' style='width:100%'/>").append(h("<div/>").append(b("left")).append(b("center")).append(b("right")))};this.destroy=function(){e.remove()};this.updateTitle=function(a){e.find("h2").html(a)};this.activateButton=function(a){e.find("span.fc-button-"+a).addClass(d+"-state-active")};this.deactivateButton=function(a){e.find("span.fc-button-"+a).removeClass(d+"-state-active")};this.disableButton=function(a){e.find("span.fc-button-"+ a).addClass(d+"-state-disabled")};this.enableButton=function(a){e.find("span.fc-button-"+a).removeClass(d+"-state-disabled")};var e=h([]),d}function nb(a,c){function b(a,c){e(a,function(b){if(c==p){if(b){for(var d=0;d<b.length;d++)b[d].source=a,f(b[d]);n=n.concat(b)}v--;v||l(n)}})}function e(b,c){var d,f=I.sourceFetchers,g;for(d=0;d<f.length;d++){g=f[d](b,q,P,c);if(!0===g)return;if("object"==typeof g){e(g,c);return}}if(d=b.events)h.isFunction(d)?(k++||r("loading",null,!0),d(o(q),o(P),function(a){c(a); --k||r("loading",null,!1)})):h.isArray(d)?c(d):c();else if(b.url){var i=b.success,m=b.error,l=b.complete;d=h.extend({},b.data||{});f=ga(b.startParam,a.startParam);g=ga(b.endParam,a.endParam);f&&(d[f]=Math.round(+q/1E3));g&&(d[g]=Math.round(+P/1E3));k++||r("loading",null,!0);h.ajax(h.extend({},ob,b,{data:d,success:function(a){var a=a||[],b=ua(i,this,arguments);h.isArray(b)&&(a=b);c(a)},error:function(){ua(m,this,arguments);c()},complete:function(){ua(l,this,arguments);--k||r("loading",null,!1)}}))}else c()} function d(a){h.isFunction(a)||h.isArray(a)?a={events:a}:"string"==typeof a&&(a={url:a});if("object"==typeof a){var b=a;b.className?"string"==typeof b.className&&(b.className=b.className.split(/\s+/)):b.className=[];for(var c=I.sourceNormalizers,d=0;d<c.length;d++)c[d](b);j.push(a);return a}}function f(b){var c=b.source||{},d=ga(c.ignoreTimezone,a.ignoreTimezone);b._id=b._id||(b.id===w?"_fc"+pb++:b.id+"");b.date&&(b.start||(b.start=b.date),delete b.date);b._start=o(b.start=Ba(b.start,d));b.end=Ba(b.end, d);b.end&&b.end<=b.start&&(b.end=null);b._end=b.end?o(b.end):null;b.allDay===w&&(b.allDay=ga(c.allDayDefault,a.allDayDefault));b.className?"string"==typeof b.className&&(b.className=b.className.split(/\s+/)):b.className=[]}function i(a){return("object"==typeof a?a.events||a.url:"")||a}this.isFetchNeeded=function(a,b){return!q||a<q||b>P};this.fetchEvents=function(a,c){q=a;P=c;n=[];var d=++p,e=j.length;v=e;for(var f=0;f<e;f++)b(j[f],d)};this.addEventSource=function(a){if(a=d(a))v++,b(a,p)};this.removeEventSource= function(a){j=h.grep(j,function(b){return!(b&&a&&i(b)==i(a))});n=h.grep(n,function(b){return!(b.source&&a&&i(b.source)==i(a))});l(n)};this.updateEvent=function(a){var b,c=n.length,d,e=m().defaultEventEnd,g=a.start-a._start,i=a.end?a.end-(a._end||e(a)):0;for(b=0;b<c;b++)d=n[b],d._id==a._id&&d!=a&&(d.start=new Date(+d.start+g),d.end=a.end?d.end?new Date(+d.end+i):new Date(+e(d)+i):null,d.title=a.title,d.url=a.url,d.allDay=a.allDay,d.className=a.className,d.editable=a.editable,d.color=a.color,d.backgroudColor= a.backgroudColor,d.borderColor=a.borderColor,d.textColor=a.textColor,f(d));f(a);l(n)};this.renderEvent=function(a,b){f(a);a.source||(b&&(g.events.push(a),a.source=g),n.push(a));l(n)};this.removeEvents=function(a){if(a){if(!h.isFunction(a))var b=a+"",a=function(a){return a._id==b};n=h.grep(n,a,!0);for(c=0;c<j.length;c++)h.isArray(j[c].events)&&(j[c].events=h.grep(j[c].events,a,!0))}else{n=[];for(var c=0;c<j.length;c++)h.isArray(j[c].events)&&(j[c].events=[])}l(n)};this.clientEvents=function(a){return h.isFunction(a)? h.grep(n,a):a?(a+="",h.grep(n,function(b){return b._id==a})):n};this.normalizeEvent=f;for(var r=this.trigger,m=this.getView,l=this.reportEvents,g={events:[]},j=[g],q,P,p=0,v=0,k=0,n=[],x=0;x<c.length;x++)d(c[x])}function xa(a,c,b){a.setFullYear(a.getFullYear()+c);b||ja(a);return a}function ya(a,c,b){if(+a){var c=a.getMonth()+c,e=o(a);e.setDate(1);e.setMonth(c);a.setMonth(c);for(b||ja(a);a.getMonth()!=e.getMonth();)a.setDate(a.getDate()+(a<e?1:-1))}return a}function q(a,c,b){if(+a){var c=a.getDate()+ c,e=o(a);e.setHours(9);e.setDate(c);a.setDate(c);b||ja(a);Ca(a,e)}return a}function Ca(a,c){if(+a)for(;a.getDate()!=c.getDate();)a.setTime(+a+(a<c?1:-1)*qb)}function E(a,c){a.setMinutes(a.getMinutes()+c);return a}function ja(a){a.setHours(0);a.setMinutes(0);a.setSeconds(0);a.setMilliseconds(0);return a}function o(a,c){return c?ja(new Date(+a)):new Date(+a)}function Ra(){var a=0,c;do c=new Date(1970,a++,1);while(c.getHours());return c}function Q(a,c,b){for(c=c||1;!a.getDay()||b&&1==a.getDay()||!b&& 6==a.getDay();)q(a,c);return a}function $(a,c){return Math.round((o(a,!0)-o(c,!0))/Sa)}function Qa(a,c,b,e){c!==w&&c!=a.getFullYear()&&(a.setDate(1),a.setMonth(0),a.setFullYear(c));b!==w&&b!=a.getMonth()&&(a.setDate(1),a.setMonth(b));e!==w&&a.setDate(e)}function Ba(a,c){if("object"==typeof a)return a;if("number"==typeof a)return new Date(1E3*a);if("string"==typeof a){if(a.match(/^\d+(\.\d+)?$/))return new Date(1E3*parseFloat(a));c===w&&(c=!0);return Ta(a,c)||(a?new Date(a):null)}return null}function Ta(a, c){var b=a.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(!b)return null;var e=new Date(b[1],0,1);if(c||!b[13]){var d=new Date(b[1],0,1,9,0);b[3]&&(e.setMonth(b[3]-1),d.setMonth(b[3]-1));b[5]&&(e.setDate(b[5]),d.setDate(b[5]));Ca(e,d);b[7]&&e.setHours(b[7]);b[8]&&e.setMinutes(b[8]);b[10]&&e.setSeconds(b[10]);b[12]&&e.setMilliseconds(1E3*Number("0."+b[12]));Ca(e,d)}else e.setUTCFullYear(b[1],b[3]?b[3]- 1:0,b[5]||1),e.setUTCHours(b[7]||0,b[8]||0,b[10]||0,b[12]?1E3*Number("0."+b[12]):0),b[14]&&(d=60*Number(b[16])+(b[18]?Number(b[18]):0),d*="-"==b[15]?1:-1,e=new Date(+e+6E4*d));return e}function Da(a){if("number"==typeof a)return 60*a;if("object"==typeof a)return 60*a.getHours()+a.getMinutes();if(a=a.match(/(\d+)(?::(\d+))?\s*(\w+)?/)){var c=parseInt(a[1],10);a[3]&&(c%=12,"p"==a[3].toLowerCase().charAt(0)&&(c+=12));return 60*c+(a[2]?parseInt(a[2],10):0)}}function da(a,c,b){return za(a,null,c,b)}function za(a, c,b,e){var e=e||qa,d=a,f=c,i,h=b.length,m,l,g,j="";for(i=0;i<h;i++)if(m=b.charAt(i),"'"==m)for(l=i+1;l<h;l++){if("'"==b.charAt(l)){d&&(j=l==i+1?j+"'":j+b.substring(i+1,l),i=l);break}}else if("("==m)for(l=i+1;l<h;l++){if(")"==b.charAt(l)){i=da(d,b.substring(i+1,l),e);parseInt(i.replace(/\D/,""),10)&&(j+=i);i=l;break}}else if("["==m)for(l=i+1;l<h;l++){if("]"==b.charAt(l)){m=b.substring(i+1,l);i=da(d,m,e);i!=da(f,m,e)&&(j+=i);i=l;break}}else if("{"==m)d=c,f=a;else if("}"==m)d=a,f=c;else{for(l=h;l>i;l--)if(g= rb[b.substring(i,l)]){d&&(j+=g(d,e));i=l-1;break}l==i&&d&&(j+=m)}return j}function ra(a){if(a.end){var c=a.end,a=a.allDay,c=o(c);return a||c.getHours()||c.getMinutes()?q(c,1):ja(c)}return q(o(a.start),1)}function sb(a,c){return 100*(c.msLength-a.msLength)+(a.event.start-c.event.start)}function Ea(a,c,b,e){var d=[],f,i=a.length,h,m,l,g,j;for(f=0;f<i;f++)if(h=a[f],m=h.start,l=c[f],l>b&&m<e)m<b?(m=o(b),g=!1):g=!0,l>e?(l=o(e),j=!1):j=!0,d.push({event:h,start:m,end:l,isStart:g,isEnd:j,msLength:l-m});return d.sort(sb)} function Fa(a){var c=[],b,e=a.length,d,f,i,h;for(b=0;b<e;b++){d=a[b];for(f=0;;){i=!1;if(c[f])for(h=0;h<c[f].length;h++)if(c[f][h].end>d.start&&c[f][h].start<d.end){i=!0;break}if(i)f++;else break}c[f]?c[f].push(d):c[f]=[d]}return c}function Ua(a,c,b){a.unbind("mouseover").mouseover(function(a){for(var d=a.target,f;d!=this;)f=d,d=d.parentNode;if((d=f._fci)!==w)f._fci=w,f=c[d],b(f.event,f.element,f),h(a.target).trigger(a);a.stopPropagation()})}function sa(a,c,b){for(var e=0,d;e<a.length;e++)d=h(a[e]), d.width(Math.max(0,c-(Ga(d)+Ha(d)+(b?Ia(d):0))))}function Va(a,c,b){for(var e=0,d;e<a.length;e++)d=h(a[e]),d.height(Math.max(0,c-pa(d,b)))}function Ga(a){return(parseFloat(h.css(a[0],"paddingLeft",!0))||0)+(parseFloat(h.css(a[0],"paddingRight",!0))||0)}function Ia(a){return(parseFloat(h.css(a[0],"marginLeft",!0))||0)+(parseFloat(h.css(a[0],"marginRight",!0))||0)}function Ha(a){return(parseFloat(h.css(a[0],"borderLeftWidth",!0))||0)+(parseFloat(h.css(a[0],"borderRightWidth",!0))||0)}function pa(a, c){return(parseFloat(h.css(a[0],"paddingTop",!0))||0)+(parseFloat(h.css(a[0],"paddingBottom",!0))||0)+((parseFloat(h.css(a[0],"borderTopWidth",!0))||0)+(parseFloat(h.css(a[0],"borderBottomWidth",!0))||0))+(c?Wa(a):0)}function Wa(a){return(parseFloat(h.css(a[0],"marginTop",!0))||0)+(parseFloat(h.css(a[0],"marginBottom",!0))||0)}function ta(a,c){c="number"==typeof c?c+"px":c;a.each(function(a,e){e.style.cssText+=";min-height:"+c+";_height:"+c})}function Pa(){}function Xa(a,c){return a-c}function ea(a){return(10> a?"0":"")+a}function Aa(a,c){if(a[c]!==w)return a[c];for(var b=c.split(/(?=[A-Z])/),e=b.length-1,d;0<=e;e--)if(d=a[b[e].toLowerCase()],d!==w)return d;return a[""]}function W(a){return a.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/'/g,"'").replace(/"/g,""").replace(/\n/g,"<br />")}function Ya(a){return a.id+"/"+a.className+"/"+a.style.cssText.replace(/(^|;)\s*(top|left|width|height)\s*:[^;]*/ig,"")}function Ja(a){a.attr("unselectable","on").css("MozUserSelect", "none").bind("selectstart.ui",function(){return!1})}function va(a){a.children().removeClass("fc-first fc-last").filter(":first-child").addClass("fc-first").end().filter(":last-child").addClass("fc-last")}function Ka(a,c){a.each(function(a,e){e.className=e.className.replace(/^fc-\w*/,"fc-"+tb[c.getDay()])})}function Za(a,c){var b=a.source||{},e=a.color,d=b.color,f=c("eventColor"),i=a.backgroundColor||e||b.backgroundColor||d||c("eventBackgroundColor")||f,e=a.borderColor||e||b.borderColor||d||c("eventBorderColor")|| f,b=a.textColor||b.textColor||c("eventTextColor"),d=[];i&&d.push("background-color:"+i);e&&d.push("border-color:"+e);b&&d.push("color:"+b);return d.join(";")}function ua(a,c,b){h.isFunction(a)&&(a=[a]);if(a){var e,d;for(e=0;e<a.length;e++)d=a[e].apply(c,b)||d;return d}}function ga(){for(var a=0;a<arguments.length;a++)if(arguments[a]!==w)return arguments[a]}function La(a,c,b){function e(a){if(!j("selectable")){var b=parseInt(this.className.match(/fc\-day(\d+)/)[1]),b=m(b);t("dayClick",this,b,!0,a)}} function d(a,b,c){c&&D.build();for(var c=o(g.visStart),d=q(o(c),A),i=0;i<u;i++){var h=new Date(Math.max(c,a)),U=new Date(Math.min(d,b));if(h<U){var O;G?(O=$(U,c)*y+S+1,h=$(h,c)*y+S+1):(O=$(h,c),h=$(U,c));f(i,O,i,h-1).click(e).mousedown(k)}q(c,7);q(d,7)}}function f(b,c,d,e){b=D.rect(b,c,d,e,a);return p(b,a)}function i(a){return{row:Math.floor($(a,g.visStart)/7),col:l(a.getDay())}}function r(a){return q(o(g.visStart),7*a.row+a.col*y+S)}function m(a){return q(o(g.visStart),7*Math.floor(a/A)+a%A*y+S)} function l(a){return(a-Math.max(L,U)+A)%A*y+S}var g=this;g.renderBasic=function(b,c,d,f){u=c;A=d;(G=j("isRTL"))?(y=-1,S=A-1):(y=1,S=0);L=j("firstDay");U=j("weekends")?0:1;O=j("theme")?"ui":"fc";aa=j("columnFormat");if(c=!H){var i=O+"-widget-header",l=O+"-widget-content",r,d="<table class='fc-border-separate' style='width:100%' cellspacing='0'><thead><tr>";for(r=0;r<A;r++)d+="<th class='fc- "+i+"'/>";d+="</tr></thead><tbody>";for(r=0;r<b;r++){d+="<tr class='fc-week"+r+"'>";for(i=0;i<A;i++)d+="<td class='fc- "+ l+" fc-day"+(r*A+i)+"'><div>"+(f?"<div class='fc-day-number'/>":"")+"<div class='fc-day-content'><div style='position:relative'> </div></div></div></td>";d+="</tr>"}b=h(d+"</tbody></table>").appendTo(a);x=b.find("thead");C=x.find("th");H=b.find("tbody");z=H.find("tr");s=H.find("td");J=s.filter(":first-child");V=z.eq(0).find("div.fc-day-content div");va(x.add(x.find("tr")));va(z);z.eq(0).addClass("fc-first");s.click(e).mousedown(k);fa=h("<div style='position:absolute;z-index:8;top:0;left:0'/>").appendTo(a)}else w(); var o=c||1==u,M=g.start.getMonth(),v=ja(new Date),q,p,t;o&&C.each(function(a,b){q=h(b);p=m(a);q.html(n(p,aa));Ka(q,p)});s.each(function(a,b){q=h(b);p=m(a);p.getMonth()==M?q.removeClass("fc-other-month"):q.addClass("fc-other-month");+p==+v?q.addClass(O+"-state-highlight fc-today"):q.removeClass(O+"-state-highlight fc-today");q.find("div.fc-day-number").text(p.getDate());o&&Ka(q,p)});z.each(function(a,b){t=h(b);if(a<u){t.show();a==u-1?t.addClass("fc-last"):t.removeClass("fc-last")}else t.hide()})}; g.setHeight=function(a){R=a;var a=R-x.height(),b,c,d;"variable"==j("weekMode")?b=c=Math.floor(a/(1==u?2:6)):(b=Math.floor(a/u),c=a-b*(u-1));J.each(function(a,e){if(a<u){d=h(e);ta(d.find("> div"),(a==u-1?c:b)-pa(d))}})};g.setWidth=function(a){N=a;M.clear();F=Math.floor(N/A);sa(C.slice(0,-1),F)};g.renderDayOverlay=d;g.defaultSelectionEnd=function(a){return o(a)};g.renderSelection=function(a,b){d(a,q(o(b),1),!0)};g.clearSelection=function(){v()};g.reportDayClick=function(a,b,c){var d=i(a);t("dayClick", s[d.row*A+d.col],a,b,c)};g.dragStart=function(a,b){E.start(function(a){v();a&&f(a.row,a.col,a.row,a.col)},b)};g.dragStop=function(a,b,c){var d=E.stop();v();d&&(d=r(d),t("drop",a,d,!0,b,c))};g.defaultEventEnd=function(a){return o(a.start)};g.getHoverListener=function(){return E};g.colContentLeft=function(a){return M.left(a)};g.colContentRight=function(a){return M.right(a)};g.dayOfWeekCol=l;g.dateCell=i;g.cellDate=r;g.cellIsAllDay=function(){return!0};g.allDayRow=function(a){return z.eq(a)};g.allDayBounds= function(){return{left:0,right:N}};g.getRowCnt=function(){return u};g.getColCnt=function(){return A};g.getColWidth=function(){return F};g.getDaySegmentContainer=function(){return fa};db.call(g,a,c,b);eb.call(g);fb.call(g);ub.call(g);var j=g.opt,t=g.trigger,w=g.clearEvents,p=g.renderOverlay,v=g.clearOverlays,k=g.daySelectionMousedown,n=c.formatDate,x,C,H,z,s,J,V,fa,N,R,F,u,A,D,E,M,G,y,S,L,U,O,aa;Ja(a.addClass("fc-grid"));D=new gb(function(a,b){var c,d,e;C.each(function(a,f){c=h(f);d=c.offset().left; a&&(e[1]=d);e=[d];b[a]=e});e[1]=d+c.outerWidth();z.each(function(b,f){b<u&&(c=h(f),d=c.offset().top,b&&(e[1]=d),e=[d],a[b]=e)});e[1]=d+c.outerHeight()});E=new hb(D);M=new ib(function(a){return V.eq(a)})}function ub(){function a(a){var b=k(),d=n(),e=o(c.visStart),d=q(o(e),d),f=h.map(a,ra),i,g,m,l,r,j,x=[];for(i=0;i<b;i++){g=Fa(Ea(a,f,e,d));for(m=0;m<g.length;m++){l=g[m];for(r=0;r<l.length;r++)j=l[r],j.row=i,j.level=m,x.push(j)}q(e,7);q(d,7)}return x}var c=this;c.renderEvents=function(b,c){i(b);x(a(b), c)};c.compileDaySegs=a;c.clearEvents=function(){r();t().empty()};c.bindDaySeg=function(a,c,i){if(d(a)){var h=w(),r;c.draggable({zIndex:9,delay:50,opacity:b("dragOpacity"),revertDuration:b("dragRevertDuration"),start:function(d,f){e("eventDragStart",c,a,d,f);g(a,c);h.start(function(d,e,f,i){c.draggable("option","revert",!d||!f&&!i);v();d?(r=7*f+i*(b("isRTL")?-1:1),p(q(o(a.start),r),q(ra(a),r))):r=0},d,"drag")},stop:function(b,d){h.stop();v();e("eventDragStop",c,a,b,d);r?j(this,a,r,0,a.allDay,b,d): (c.css("filter",""),l(a,c))}})}i.isEnd&&f(a)&&C(a,c,i);m(a,c)};jb.call(c);var b=c.opt,e=c.trigger,d=c.isEventDraggable,f=c.isEventResizable,i=c.reportEvents,r=c.reportEventClear,m=c.eventElementHandlers,l=c.showEvents,g=c.hideEvents,j=c.eventDrop,t=c.getDaySegmentContainer,w=c.getHoverListener,p=c.renderDayOverlay,v=c.clearOverlays,k=c.getRowCnt,n=c.getColCnt,x=c.renderDaySegs,C=c.resizableDayEvent}function kb(a,c,b){function e(a){if(!n("selectable")){var b=Math.min(K-1,Math.floor((a.pageX-R.offset().left- X)/wa)),c=m(b),d=this.parentNode.className.match(/fc-slot(\d+)/);d?(d=parseInt(d[1])*n("slotMinutes"),c.setHours(Math.floor(d/60)),c.setMinutes(d%60+la),x("dayClick",D[b],c,!1,a)):x("dayClick",D[b],c,!0,a)}}function d(a,b,c){c&&Y.build();var d=o(k.visStart);ea?(c=$(b,d)*ha+ia+1,a=$(a,d)*ha+ia+1):(c=$(a,d),a=$(b,d));c=Math.max(0,c);a=Math.min(K,a);c<a&&f(0,c,0,a-1).click(e).mousedown(V)}function f(a,b,c,d){a=Y.rect(a,b,c,d,y);return H(a,y)}function i(a,b){for(var c=o(k.visStart),d=q(o(c),1),f=0;f< K;f++){var i=new Date(Math.max(c,a)),g=new Date(Math.min(d,b));if(i<g){var h=f*ha+ia,h=Y.rect(0,h,0,h,aa),i=j(c,i),g=j(c,g);h.top=i;h.height=g-i;H(h,aa).click(e).mousedown(p)}q(c,1);q(d,1)}}function r(a){var b=m(a.col),a=a.row;n("allDaySlot")&&a--;0<=a&&E(b,la+a*n("slotMinutes"));return b}function m(a){return q(o(k.visStart),a*ha+ia)}function l(a){return n("allDaySlot")&&!a.row}function g(a){return(a-Math.max(ca,da)+K)%K*ha+ia}function j(a,b){a=o(a,!0);if(b<E(o(a),la))return 0;if(b>=E(o(a),W))return ka.height(); var c=n("slotMinutes"),d=60*b.getHours()+b.getMinutes()-la,e=Math.floor(d/c),f=Oa[e];f===w&&(f=Oa[e]=ka.find("tr:eq("+e+") td div")[0].offsetTop);return Math.max(0,Math.round(f-1+T*(d%c/c)))}function t(a,b){var c=n("selectHelper");Y.build();if(c){var d=$(a,k.visStart)*ha+ia;if(0<=d&&d<K){var d=Y.rect(0,d,0,d,aa),f=j(a,a),g=j(a,b);if(g>f){d.top=f;d.height=g-f;d.left+=2;d.width-=5;if(h.isFunction(c)){if(c=c(a,b))d.position="absolute",d.zIndex=8,ba=h(c).css(d).appendTo(aa)}else d.isStart=!0,d.isEnd= !0,ba=h(fa({title:"",start:a,end:b,className:["fc-select-helper"],editable:!1},d)),ba.css("opacity",n("dragOpacity"));ba&&(ba.click(e).mousedown(p),aa.append(ba),sa(ba,d.width,!0),Va(ba,d.height,!0))}}}else i(a,b)}function P(){z();ba&&(ba.remove(),ba=null)}function p(a){if(1==a.which&&n("selectable")){J(a);var b;oa.start(function(a,c){P();if(a&&a.col==c.col&&!l(a)){var d=r(c),e=r(a);b=[d,E(o(d),n("slotMinutes")),e,E(o(e),n("slotMinutes"))].sort(Xa);t(b[0],b[3])}else b=null},a);h(document).one("mouseup", function(a){oa.stop();b&&(+b[0]==+b[1]&&v(b[0],!1,a),s(b[0],b[3],!1,a))})}}function v(a,b,c){x("dayClick",D[g(a.getDay())],a,b,c)}var k=this;k.renderAgenda=function(b){K=b;Q=n("theme")?"ui":"fc";da=n("weekends")?0:1;ca=n("firstDay");(ea=n("isRTL"))?(ha=-1,ia=K-1):(ha=1,ia=0);la=Da(n("minTime"));W=Da(n("maxTime"));ga=n("columnFormat");if(R)C();else{var b=Q+"-widget-header",c=Q+"-widget-content",d,f,i,g,l,r=0==n("slotMinutes")%15;d="<table style='width:100%' class='fc-agenda-days fc-border-separate' cellspacing='0'><thead><tr><th class='fc-agenda-axis "+ b+"'> </th>";for(f=0;f<K;f++)d+="<th class='fc- fc-col"+f+" "+b+"'/>";d+="<th class='fc-agenda-gutter "+b+"'> </th></tr></thead><tbody><tr><th class='fc-agenda-axis "+b+"'> </th>";for(f=0;f<K;f++)d+="<td class='fc- fc-col"+f+" "+c+"'><div><div class='fc-day-content'><div style='position:relative'> </div></div></div></td>";R=h(d+("<td class='fc-agenda-gutter "+c+"'> </td></tr></tbody></table>")).appendTo(a);F=R.find("thead");u=F.find("th").slice(1,-1);A=R.find("tbody");D=A.find("td").slice(0, -1);I=D.find("div.fc-day-content div");M=D.eq(0);G=M.find("> div");va(F.add(F.find("tr")));va(A.add(A.find("tr")));ma=F.find("th:first");na=R.find(".fc-agenda-gutter");y=h("<div style='position:absolute;z-index:2;left:0;width:100%'/>").appendTo(a);n("allDaySlot")?(S=h("<div style='position:absolute;z-index:8;top:0;left:0'/>").appendTo(y),d="<table style='width:100%' class='fc-agenda-allday' cellspacing='0'><tr><th class='"+b+" fc-agenda-axis'>"+n("allDayText")+"</th><td><div class='fc-day-content'><div style='position:relative'/></div></td><th class='"+ b+" fc-agenda-gutter'> </th></tr></table>",L=h(d).appendTo(y),U=L.find("tr"),U.find("td").click(e).mousedown(V),ma=ma.add(L.find("th:first")),na=na.add(L.find("th.fc-agenda-gutter")),y.append("<div class='fc-agenda-divider "+b+"'><div class='fc-agenda-divider-inner'/></div>")):S=h([]);O=h("<div style='position:absolute;width:100%;overflow-x:hidden;overflow-y:auto'/>").appendTo(y);aa=h("<div style='position:relative;width:100%;overflow:hidden'/>").appendTo(O);$a=h("<div style='position:absolute;z-index:8;top:0;left:0'/>").appendTo(aa); d="<table class='fc-agenda-slots' style='width:100%' cellspacing='0'><tbody>";i=Ra();g=E(o(i),W);E(i,la);for(f=Na=0;i<g;f++)l=i.getMinutes(),d+="<tr class='fc-slot"+f+" "+(!l?"":"fc-minor")+"'><th class='fc-agenda-axis "+b+"'>"+(!r||!l?N(i,n("axisFormat")):" ")+"</th><td class='"+c+"'><div style='position:relative'> </div></td></tr>",E(i,n("slotMinutes")),Na++;ka=h(d+"</tbody></table>").appendTo(aa);ab=ka.find("div:first");ka.find("td").click(e).mousedown(p);ma=ma.add(ka.find("th:first"))}i= ja(new Date);for(b=0;b<K;b++)f=m(b),c=u.eq(b),c.html(N(f,ga)),d=D.eq(b),+f==+i?d.addClass(Q+"-state-highlight fc-today"):d.removeClass(Q+"-state-highlight fc-today"),Ka(c.add(d),f)};k.setWidth=function(a){bb=a;Z.clear();X=0;sa(ma.width("").each(function(a,b){X=Math.max(X,h(b).outerWidth())}),X);a=O[0].clientWidth;(Ma=O.width()-a)?(sa(na,Ma),na.show().prev().removeClass("fc-last")):na.hide().prev().addClass("fc-last");wa=Math.floor((a-X)/K);sa(u.slice(0,-1),wa)};k.setHeight=function(a,b){a===w&&(a= B);B=a;Oa={};var c=A.position().top,d=O.position().top,e=Math.min(a-c,ka.height()+d+1);G.height(e-pa(M));y.css("top",c);O.height(e-d-1);T=ab.height()+1;if(b){c=function(){O.scrollTop(f)};d=Ra();e=o(d);e.setHours(n("firstHour"));var f=j(d,e)+1;c();setTimeout(c,0)}};k.beforeHide=function(){cb=O.scrollTop()};k.afterShow=function(){O.scrollTop(cb)};k.defaultEventEnd=function(a){var b=o(a.start);return a.allDay?b:E(b,n("defaultEventMinutes"))};k.timePosition=j;k.dayOfWeekCol=g;k.dateCell=function(a){return{row:Math.floor($(a, k.visStart)/7),col:g(a.getDay())}};k.cellDate=r;k.cellIsAllDay=l;k.allDayRow=function(){return U};k.allDayBounds=function(){return{left:X,right:bb-Ma}};k.getHoverListener=function(){return oa};k.colContentLeft=function(a){return Z.left(a)};k.colContentRight=function(a){return Z.right(a)};k.getDaySegmentContainer=function(){return S};k.getSlotSegmentContainer=function(){return $a};k.getMinMinute=function(){return la};k.getMaxMinute=function(){return W};k.getBodyContent=function(){return aa};k.getRowCnt= function(){return 1};k.getColCnt=function(){return K};k.getColWidth=function(){return wa};k.getSlotHeight=function(){return T};k.defaultSelectionEnd=function(a,b){return b?o(a):E(o(a),n("slotMinutes"))};k.renderDayOverlay=d;k.renderSelection=function(a,b,c){c?n("allDaySlot")&&d(a,q(o(b),1),!0):t(a,b)};k.clearSelection=P;k.reportDayClick=v;k.dragStart=function(a,b){oa.start(function(a){z();if(a)if(l(a))f(a.row,a.col,a.row,a.col);else{var a=r(a),b=E(o(a),n("defaultEventMinutes"));i(a,b)}},b)};k.dragStop= function(a,b,c){var d=oa.stop();z();d&&x("drop",a,r(d),l(d),b,c)};db.call(k,a,c,b);eb.call(k);fb.call(k);vb.call(k);var n=k.opt,x=k.trigger,C=k.clearEvents,H=k.renderOverlay,z=k.clearOverlays,s=k.reportSelection,J=k.unselect,V=k.daySelectionMousedown,fa=k.slotSegHtml,N=c.formatDate,R,F,u,A,D,I,M,G,y,S,L,U,O,aa,$a,ka,ab,ma,na,ba,bb,B,X,wa,Ma,T,cb,K,Na,Y,oa,Z,Oa={},Q,ca,da,ea,ha,ia,la,W,ga;Ja(a.addClass("fc-agenda"));Y=new gb(function(a,b){var c,d,e;u.each(function(a,f){c=h(f);d=c.offset().left;a&& (e[1]=d);e=[d];b[a]=e});e[1]=d+c.outerWidth();n("allDaySlot")&&(c=U,d=c.offset().top,a[0]=[d,d+c.outerHeight()]);for(var f=aa.offset().top,i=O.offset().top,g=i+O.outerHeight(),l=0;l<Na;l++)a.push([Math.max(i,Math.min(g,f+T*l)),Math.max(i,Math.min(g,f+T*(l+1)))])});oa=new hb(Y);Z=new ib(function(a){return I.eq(a)})}function vb(){function a(a){var a=Fa(Ea(a,h.map(a,ra),d.visStart,d.visEnd)),b,c=a.length,e,f,i,g=[];for(b=0;b<c;b++){e=a[b];for(f=0;f<e.length;f++)i=e[f],i.row=0,i.level=b,g.push(i)}return g} function c(a){return a.end?o(a.end):E(o(a.start),f("defaultEventMinutes"))}function b(a,b){var c="<",d=a.url,e=Za(a,f),i=e?" style='"+e+"'":"",g=["fc-event","fc-event-skin","fc-event-vert"];r(a)&&g.push("fc-event-draggable");b.isStart&&g.push("fc-corner-top");b.isEnd&&g.push("fc-corner-bottom");g=g.concat(a.className);a.source&&(g=g.concat(a.source.className||[]));c=d?c+("a href='"+W(a.url)+"'"):c+"div";c+=" class='"+g.join(" ")+"' style='position:absolute;z-index:8;top:"+b.top+"px;left:"+b.left+ "px;"+e+"'><div class='fc-event-inner fc-event-skin'"+i+"><div class='fc-event-head fc-event-skin'"+i+"><div class='fc-event-time'>"+W(L(a.start,a.end,f("timeFormat")))+"</div></div><div class='fc-event-content'><div class='fc-event-title'>"+W(a.title)+"</div></div><div class='fc-event-bg'></div></div>";b.isEnd&&m(a)&&(c+="<div class='ui-resizable-handle ui-resizable-s'>=</div>");return c+("</"+(d?"a":"div")+">")}function e(a,b,c){var d=b.find("div.fc-event-time");if(r(a)){var e=function(b){var c= E(o(a.start),b),e;a.end&&(e=E(o(a.end),b));d.text(L(c,e,f("timeFormat")))},g=function(){j&&(d.css("display",""),b.draggable("option","grid",[z,y]),j=!1)},h,j=!1,x,s,C,n=f("isRTL")?-1:1,p=k(),v=V(),z=I(),y=N();b.draggable({zIndex:9,scroll:!1,grid:[z,y],axis:1==v?"y":!1,opacity:f("dragOpacity"),revertDuration:f("dragRevertDuration"),start:function(c,e){i("eventDragStart",b,a,c,e);A(a,b);h=b.position();s=C=0;p.start(function(c,e,i,h){b.draggable("option","revert",!c);G();c&&(x=h*n,f("allDaySlot")&&!c.row? (j||(j=!0,d.hide(),b.draggable("option","grid",null)),M(q(o(a.start),x),q(ra(a),x))):g())},c,"drag")},drag:function(a,b){s=Math.round((b.position.top-h.top)/y)*f("slotMinutes");s!=C&&(j||e(s),C=s)},stop:function(c,d){var f=p.stop();G();i("eventDragStop",b,a,c,d);f&&(x||s||j)?D(this,a,x,j?0:s,j,c,d):(g(),b.css("filter",""),b.css(h),e(0),u(a,b))}})}if(c.isEnd&&m(a)){var H,S,w=N();b.resizable({handles:{s:"div.ui-resizable-s"},grid:w,start:function(c,d){H=S=0;A(a,b);b.css("z-index",9);i("eventResizeStart", this,a,c,d)},resize:function(c,e){H=Math.round((Math.max(w,b.height())-e.originalSize.height)/w);H!=S&&(d.text(L(a.start,!H&&!a.end?null:E(l(a),f("slotMinutes")*H),f("timeFormat"))),S=H)},stop:function(c,d){i("eventResizeStop",this,a,c,d);H?Q(this,a,0,f("slotMinutes")*H,c,d):(b.css("z-index",8),u(a,b))}})}t(a,b)}var d=this;d.renderEvents=function(l,m){g(l);var r,j=l.length,k=[],L=[];for(r=0;r<j;r++)l[r].allDay?k.push(l[r]):L.push(l[r]);f("allDaySlot")&&(s(a(k),m),P());var j=V(),k=x(),M=n(),p=E(o(d.visStart), k),y=h.map(L,c),G,B,t,u,A,T;r=[];for(G=0;G<j;G++){t=B=Fa(Ea(L,y,p,E(o(p),M-k)));var J=T=A=u=void 0,K=void 0,D=void 0;for(u=t.length-1;0<u;u--){J=t[u];for(A=0;A<J.length;A++){K=J[A];for(T=0;T<t[u-1].length;T++)D=t[u-1][T],K.end>D.start&&K.start<D.end&&(D.forward=Math.max(D.forward||0,(K.forward||0)+1))}}for(t=0;t<B.length;t++){u=B[t];for(A=0;A<u.length;A++)T=u[A],T.col=G,T.level=t,r.push(T)}q(p,1,!0)}var L=r.length,Y,N,Z;B="";M={};p={};G=v();j=V();(t=f("isRTL"))?(u=-1,J=j-1):(u=1,J=0);for(j=0;j<L;j++)k= r[j],y=k.event,A=C(k.start,k.start),T=C(k.start,k.end),Y=k.col,K=k.level,D=k.forward||0,N=H(Y*u+J),Z=z(Y*u+J)-N,Z=Math.min(Z-6,0.95*Z),Y=K?Z/(K+D+1):D?2*(Z/(D+1)-6):Z,K=N+Z/(K+D+1)*K*u+(t?Z-Y:0),k.top=A,k.left=K,k.outerWidth=Y,k.outerHeight=T-A,B+=b(y,k);G[0].innerHTML=B;t=G.children();for(j=0;j<L;j++)k=r[j],y=k.event,B=h(t[j]),u=i("eventRender",y,y,B),!1===u?B.remove():(u&&!0!==u&&(B.remove(),B=h(u).css({position:"absolute",top:k.top,left:k.left}).appendTo(G)),k.element=B,y._id===m?e(y,B,k):B[0]._fci= j,F(y,B));Ua(G,r,e);for(j=0;j<L;j++)if(k=r[j],B=k.element)G=M[y=k.key=Ya(B[0])],k.vsides=G===w?M[y]=pa(B,!0):G,G=p[y],k.hsides=G===w?p[y]=Ga(B)+Ha(B)+Ia(B):G,y=B.find("div.fc-event-content"),y.length&&(k.contentTop=y[0].offsetTop);for(j=0;j<L;j++)if(k=r[j],B=k.element)B[0].style.width=Math.max(0,k.outerWidth-k.hsides)+"px",M=Math.max(0,k.outerHeight-k.vsides),B[0].style.height=M+"px",y=k.event,k.contentTop!==w&&10>M-k.contentTop&&(B.find("div.fc-event-time").text(S(y.start,f("timeFormat"))+" - "+ y.title),B.find("div.fc-event-title").remove()),i("eventAfterRender",y,y,B)};d.compileDaySegs=a;d.clearEvents=function(){j();p().empty();v().empty()};d.slotSegHtml=b;d.bindDaySeg=function(a,b,c){if(r(a)){var d=c.isStart,e=function(){j||(b.width(g).height("").draggable("option","grid",null),j=!0)},g,h,j=!0,l,y=f("isRTL")?-1:1,s=k(),L=I(),p=N(),C=x();b.draggable({zIndex:9,opacity:f("dragOpacity","month"),revertDuration:f("dragRevertDuration"),start:function(c,k){i("eventDragStart",b,a,c,k);A(a,b);g= b.width();s.start(function(c,i,g,k){G();c?(h=!1,l=k*y,c.row?d?j&&(b.width(L-10),Va(b,p*Math.round((a.end?(a.end-a.start)/wb:f("defaultEventMinutes"))/f("slotMinutes"))),b.draggable("option","grid",[L,1]),j=!1):h=!0:(M(q(o(a.start),l),q(ra(a),l)),e()),h=h||j&&!l):(e(),h=!0);b.draggable("option","revert",h)},c,"drag")},stop:function(c,d){s.stop();G();i("eventDragStop",b,a,c,d);if(h)e(),b.css("filter",""),u(a,b);else{var g=0;j||(g=Math.round((b.offset().top-R().offset().top)/p)*f("slotMinutes")+C-(60* a.start.getHours()+a.start.getMinutes()));D(this,a,l,g,j,c,d)}}})}c.isEnd&&m(a)&&J(a,b,c);t(a,b)};jb.call(d);var f=d.opt,i=d.trigger,r=d.isEventDraggable,m=d.isEventResizable,l=d.eventEnd,g=d.reportEvents,j=d.reportEventClear,t=d.eventElementHandlers,P=d.setHeight,p=d.getDaySegmentContainer,v=d.getSlotSegmentContainer,k=d.getHoverListener,n=d.getMaxMinute,x=d.getMinMinute,C=d.timePosition,H=d.colContentLeft,z=d.colContentRight,s=d.renderDaySegs,J=d.resizableDayEvent,V=d.getColCnt,I=d.getColWidth, N=d.getSlotHeight,R=d.getBodyContent,F=d.reportEventElement,u=d.showEvents,A=d.hideEvents,D=d.eventDrop,Q=d.eventResize,M=d.renderDayOverlay,G=d.clearOverlays,y=d.calendar,S=y.formatDate,L=y.formatDates}function db(a,c,b){function e(a,c){var d=n[a];return"object"==typeof d?Aa(d,c||b):d}function d(a,b){return c.trigger.apply(c,[a,b||g].concat(Array.prototype.slice.call(arguments,2),[g]))}function f(a){return ga(a.editable,(a.source||{}).editable,e("editable"))}function i(a){return a.end?o(a.end):j(a)} function h(a,b,c){var a=k[a._id],d,e=a.length;for(d=0;d<e;d++)if(!b||a[d][0]!=b[0])a[d][c]()}function m(a,b,c,d){for(var c=c||0,e,f=a.length,i=0;i<f;i++)e=a[i],d!==w&&(e.allDay=d),E(q(e.start,b,!0),c),e.end&&(e.end=E(q(e.end,b,!0),c)),t(e,n)}function l(a,b,c){for(var c=c||0,d,e=a.length,f=0;f<e;f++)d=a[f],d.end=E(q(i(d),b,!0),c),t(d,n)}var g=this;g.element=a;g.calendar=c;g.name=b;g.opt=e;g.trigger=d;g.isEventDraggable=function(a){return f(a)&&!e("disableDragging")};g.isEventResizable=function(a){return f(a)&& !e("disableResizing")};g.reportEvents=function(a){p={};var b,c=a.length,d;for(b=0;b<c;b++)d=a[b],p[d._id]?p[d._id].push(d):p[d._id]=[d]};g.eventEnd=i;g.reportEventElement=function(a,b){v.push(b);k[a._id]?k[a._id].push(b):k[a._id]=[b]};g.reportEventClear=function(){v=[];k={}};g.eventElementHandlers=function(a,b){b.click(function(c){if(!b.hasClass("ui-draggable-dragging")&&!b.hasClass("ui-resizable-resizing"))return d("eventClick",this,a,c)}).hover(function(b){d("eventMouseover",this,a,b)},function(b){d("eventMouseout", this,a,b)})};g.showEvents=function(a,b){h(a,b,"show")};g.hideEvents=function(a,b){h(a,b,"hide")};g.eventDrop=function(a,b,c,e,f,i,g){var h=b.allDay,j=b._id;m(p[j],c,e,f);d("eventDrop",a,b,c,e,f,function(){m(p[j],-c,-e,h);P(j)},i,g);P(j)};g.eventResize=function(a,b,c,e,f,i){var g=b._id;l(p[g],c,e);d("eventResize",a,b,c,e,function(){l(p[g],-c,-e);P(g)},f,i);P(g)};var j=g.defaultEventEnd,t=c.normalizeEvent,P=c.reportEventChange,p={},v=[],k={},n=c.options}function jb(){function a(a){var b=l("isRTL"), c,d=a.length,e,f,i,g;c=z();var h=c.left,k=c.right,r,m,o,p,q,n="";for(c=0;c<d;c++)e=a[c],f=e.event,g=["fc-event","fc-event-skin","fc-event-hori"],j(f)&&g.push("fc-event-draggable"),b?(e.isStart&&g.push("fc-corner-right"),e.isEnd&&g.push("fc-corner-left"),r=I(e.end.getDay()-1),m=I(e.start.getDay()),o=e.isEnd?s(r):h,p=e.isStart?J(m):k):(e.isStart&&g.push("fc-corner-left"),e.isEnd&&g.push("fc-corner-right"),r=I(e.start.getDay()),m=I(e.end.getDay()-1),o=e.isStart?s(r):h,p=e.isEnd?J(m):k),g=g.concat(f.className), f.source&&(g=g.concat(f.source.className||[])),i=f.url,q=Za(f,l),n=i?n+("<a href='"+W(i)+"'"):n+"<div",n+=" class='"+g.join(" ")+"' style='position:absolute;z-index:8;left:"+o+"px;"+q+"'><div class='fc-event-inner fc-event-skin'"+(q?" style='"+q+"'":"")+">",!f.allDay&&e.isStart&&(n+="<span class='fc-event-time'>"+W(u(f.start,f.end,l("timeFormat")))+"</span>"),n+="<span class='fc-event-title'>"+W(f.title)+"</span></div>",e.isEnd&&t(f)&&(n+="<div class='ui-resizable-handle ui-resizable-"+(b?"w":"e")+ "'> </div>"),n+="</"+(i?"a":"div")+">",e.left=o,e.outerWidth=p-o,e.startCol=r,e.endCol=m+1;return n}function c(a,b){var c,d=a.length,e,f,i;for(c=0;c<d;c++)e=a[c],f=e.event,i=h(b[c]),f=g("eventRender",f,f,i),!1===f?i.remove():(f&&!0!==f&&(f=h(f).css({position:"absolute",left:e.left}),i.replaceWith(f),i=f),e.element=i)}function b(a){var b,c=a.length,d,e,f,i,g={};for(b=0;b<c;b++)if(d=a[b],e=d.element)f=d.key=Ya(e[0]),i=g[f],i===w&&(i=g[f]=Ga(e)+Ha(e)+Ia(e)),d.hsides=i}function e(a){var b, c=a.length,d,e;for(b=0;b<c;b++)if(d=a[b],e=d.element)e[0].style.width=Math.max(0,d.outerWidth-d.hsides)+"px"}function d(a){var b,c=a.length,d,e,f,i,g={};for(b=0;b<c;b++)if(d=a[b],e=d.element)f=d.key,i=g[f],i===w&&(i=g[f]=Wa(e)),d.outerHeight=e[0].offsetHeight+i}function f(){var a,b=x(),c=[];for(a=0;a<b;a++)c[a]=E(a).find("td:first div.fc-day-content > div");return c}function i(a){var b,c=a.length,d=[];for(b=0;b<c;b++)d[b]=a[b][0].offsetTop;return d}function r(a,b){var c,d=a.length,e,f;for(c=0;c<d;c++)if(e= a[c],f=e.element)f[0].style.top=b[e.row]+(e.top||0)+"px",e=e.event,g("eventAfterRender",e,e,f)}var m=this;m.renderDaySegs=function(g,h){var j=R(),k=x(),l=C(),m=0,o,n,q,s=g.length,v,t;j[0].innerHTML=a(g);c(g,j.children());n=g.length;for(o=0;o<n;o++)q=g[o],(t=q.element)&&p(q.event,t);n=g.length;var u;for(o=0;o<n;o++)if(q=g[o],t=q.element)u=q.event,u._id===h?F(u,t,q):t[0]._fci=o;Ua(j,g,F);b(g);e(g);d(g);j=f();for(o=0;o<k;o++){n=[];for(q=0;q<l;q++)n[q]=0;for(;m<s&&(v=g[m]).row==o;){q=n.slice(v.startCol, v.endCol);q=Math.max.apply(Math,q);v.top=q;q+=v.outerHeight;for(t=v.startCol;t<v.endCol;t++)n[t]=q;m++}j[o].height(Math.max.apply(Math,n))}r(g,i(j))};m.resizableDayEvent=function(j,p,t){var s=l("isRTL"),u=s?"w":"e",w=p.find("div.ui-resizable-"+u),z=!1;Ja(p);p.mousedown(function(a){a.preventDefault()}).click(function(a){z&&(a.preventDefault(),a.stopImmediatePropagation())});w.mousedown(function(l){function w(a){g("eventResizeStop",this,j,a);h("body").css("cursor","");E.stop();D();B&&n(this,j,B,0,a); setTimeout(function(){z=!1},0)}if(1==l.which){z=!0;var E=m.getHoverListener(),F=x(),I=C(),H=s?-1:1,J=s?I-1:0,V=p.css("top"),B,X,W=h.extend({},j),U=Q(j.start);$();h("body").css("cursor",u+"-resize").one("mouseup",w);g("eventResizeStart",this,j,l);E.start(function(g,l){if(g){var m=Math.max(U.row,g.row),n=g.col;1==F&&(m=0);m==U.row&&(n=s?Math.min(U.col,n):Math.max(U.col,n));B=7*m+n*H+J-(7*l.row+l.col*H+J);m=q(P(j),B,!0);if(B){W.end=m;var n=X,p=N([W]),w=t.row,x=h("<div/>"),z=R(),C=p.length,E;x[0].innerHTML= a(p);x=x.children();z.append(x);c(p,x);b(p);e(p);d(p);r(p,i(f()));x=[];for(z=0;z<C;z++)if(E=p[z].element)p[z].row===w&&E.css("top",V),x.push(E[0]);X=h(x);X.find("*").css("cursor",u+"-resize");n&&n.remove();k(j)}else X&&(v(j),X.remove(),X=null);D();A(j.start,q(o(m),1))}},l)}})};var l=m.opt,g=m.trigger,j=m.isEventDraggable,t=m.isEventResizable,P=m.eventEnd,p=m.reportEventElement,v=m.showEvents,k=m.hideEvents,n=m.eventResize,x=m.getRowCnt,C=m.getColCnt,E=m.allDayRow,z=m.allDayBounds,s=m.colContentLeft, J=m.colContentRight,I=m.dayOfWeekCol,Q=m.dateCell,N=m.compileDaySegs,R=m.getDaySegmentContainer,F=m.bindDaySeg,u=m.calendar.formatDates,A=m.renderDayOverlay,D=m.clearOverlays,$=m.clearSelection}function fb(){function a(a){m&&(m=!1,r(),d("unselect",null,a))}function c(a,b,c,e){m=!0;d("select",null,a,b,c,e)}var b=this;b.select=function(b,d,e){a();d||(d=f(b,e));i(b,d,e);c(b,d,e)};b.unselect=a;b.reportSelection=c;b.daySelectionMousedown=function(d){var f=b.cellDate,j=b.cellIsAllDay,m=b.getHoverListener(), o=b.reportDayClick;if(1==d.which&&e("selectable")){a(d);var p;m.start(function(a,b){r();a&&j(a)?(p=[f(b),f(a)].sort(Xa),i(p[0],p[1],!0)):p=null},d);h(document).one("mouseup",function(a){m.stop();p&&(+p[0]==+p[1]&&o(p[0],!0,a),c(p[0],p[1],!0,a))})}};var e=b.opt,d=b.trigger,f=b.defaultSelectionEnd,i=b.renderSelection,r=b.clearSelection,m=!1;e("selectable")&&e("unselectAuto")&&h(document).mousedown(function(b){var c=e("unselectCancel");(!c||!h(b.target).parents(c).length)&&a(b)})}function eb(){this.renderOverlay= function(b,e){var d=c.shift();d||(d=h("<div class='fc-cell-overlay' style='position:absolute;z-index:3'/>"));d[0].parentNode!=e[0]&&d.appendTo(e);a.push(d.css(b).show());return d};this.clearOverlays=function(){for(var b;b=a.shift();)c.push(b.hide().unbind())};var a=[],c=[]}function gb(a){var c,b;this.build=function(){c=[];b=[];a(c,b)};this.cell=function(a,d){var f=c.length,i=b.length,h,m=-1,l=-1;for(h=0;h<f;h++)if(d>=c[h][0]&&d<c[h][1]){m=h;break}for(h=0;h<i;h++)if(a>=b[h][0]&&a<b[h][1]){l=h;break}return 0<= m&&0<=l?{row:m,col:l}:null};this.rect=function(a,d,f,i,h){h=h.offset();return{top:c[a][0]-h.top,left:b[d][0]-h.left,width:b[i][1]-b[d][0],height:c[f][1]-c[a][0]}}}function hb(a){function c(b){b.pageX===w&&(b.pageX=b.originalEvent.pageX,b.pageY=b.originalEvent.pageY);b=a.cell(b.pageX,b.pageY);if(!b!=!f||b&&(b.row!=f.row||b.col!=f.col))b?(d||(d=b),e(b,d,b.row-d.row,b.col-d.col)):e(b,d),f=b}var b,e,d,f;this.start=function(i,r,m){e=i;d=f=null;a.build();c(r);b=m||"mousemove";h(document).bind(b,c)};this.stop= function(){h(document).unbind(b,c);return f}}function ib(a){var c=this,b={},e={},d={};c.left=function(c){return e[c]=e[c]===w?(b[c]=b[c]||a(c)).position().left:e[c]};c.right=function(e){return d[e]=d[e]===w?c.left(e)+(b[e]=b[e]||a(e)).width():d[e]};c.clear=function(){b={};e={};d={}}}var qa={defaultView:"month",aspectRatio:1.35,header:{left:"title",center:"",right:"today prev,next"},weekends:!0,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".split(" "),monthNamesShort:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),dayNames:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),dayNamesShort:"Sun Mon Tue Wed Thu Fri Sat".split(" "),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:"*"},xb={header:{left:"next,prev today",center:"",right:"title"},buttonText:{prev:" ► ",next:" ◄ ",prevYear:" >> ",nextYear:" << "},buttonIcons:{prev:"circle-triangle-e",next:"circle-triangle-w"}}, I=h.fullCalendar={version:"1.5.4"},ca=I.views={};h.fn.fullCalendar=function(a){if("string"==typeof a){var c=Array.prototype.slice.call(arguments,1),b;this.each(function(){var d=h.data(this,"fullCalendar");d&&h.isFunction(d[a])&&(d=d[a].apply(d,c),b===w&&(b=d),"destroy"==a&&h.removeData(this,"fullCalendar"))});return b!==w?b:this}var e=a.eventSources||[];delete a.eventSources;a.events&&(e.push(a.events),delete a.events);a=h.extend(!0,{},qa,a.isRTL||a.isRTL===w&&qa.isRTL?xb:{},a);this.each(function(b, c){var i=h(c),r=new lb(i,a,e);i.data("fullCalendar",r);r.render()});return this};I.sourceNormalizers=[];I.sourceFetchers=[];var ob={dataType:"json",cache:!1},pb=1;I.addDays=q;I.cloneDate=o;I.parseDate=Ba;I.parseISO8601=Ta;I.parseTime=Da;I.formatDate=da;I.formatDates=za;var tb="sun mon tue wed thu fri sat".split(" "),Sa=864E5,qb=36E5,wb=6E4,rb={s:function(a){return a.getSeconds()},ss:function(a){return ea(a.getSeconds())},m:function(a){return a.getMinutes()},mm:function(a){return ea(a.getMinutes())}, h:function(a){return a.getHours()%12||12},hh:function(a){return ea(a.getHours()%12||12)},H:function(a){return a.getHours()},HH:function(a){return ea(a.getHours())},d:function(a){return a.getDate()},dd:function(a){return ea(a.getDate())},ddd:function(a,c){return c.dayNamesShort[a.getDay()]},dddd:function(a,c){return c.dayNames[a.getDay()]},M:function(a){return a.getMonth()+1},MM:function(a){return ea(a.getMonth()+1)},MMM:function(a,c){return c.monthNamesShort[a.getMonth()]},MMMM:function(a,c){return c.monthNames[a.getMonth()]}, yy:function(a){return(a.getFullYear()+"").substring(2)},yyyy:function(a){return a.getFullYear()},t:function(a){return 12>a.getHours()?"a":"p"},tt:function(a){return 12>a.getHours()?"am":"pm"},T:function(a){return 12>a.getHours()?"A":"P"},TT:function(a){return 12>a.getHours()?"AM":"PM"},u:function(a){return da(a,"yyyy-MM-dd'T'HH:mm:ss'Z'")},S:function(a){a=a.getDate();return 10<a&&20>a?"th":["st","nd","rd"][a%10-1]||"th"}};I.applyAll=ua;ca.month=function(a,c){var b=this;b.render=function(a,c){c&&(ya(a, c),a.setDate(1));var h=o(a,!0);h.setDate(1);var l=ya(o(h),1),g=o(h),j=o(l),t=e("firstDay"),w=e("weekends")?0:1;w&&(Q(g),Q(j,-1,!0));q(g,-((g.getDay()-Math.max(t,w)+7)%7));q(j,(7-j.getDay()+Math.max(t,w))%7);t=Math.round((j-g)/(7*Sa));"fixed"==e("weekMode")&&(q(j,7*(6-t)),t=6);b.title=f(h,e("titleFormat"));b.start=h;b.end=l;b.visStart=g;b.visEnd=j;d(6,t,w?5:7,!0)};La.call(b,a,c,"month");var e=b.opt,d=b.renderBasic,f=c.formatDate};ca.basicWeek=function(a,c){var b=this;b.render=function(a,c){c&&q(a, 7*c);var h=q(o(a),-((a.getDay()-e("firstDay")+7)%7)),l=q(o(h),7),g=o(h),j=o(l),t=e("weekends");t||(Q(g),Q(j,-1,!0));b.title=f(g,q(o(j),-1),e("titleFormat"));b.start=h;b.end=l;b.visStart=g;b.visEnd=j;d(1,1,t?7:5,!1)};La.call(b,a,c,"basicWeek");var e=b.opt,d=b.renderBasic,f=c.formatDates};ca.basicDay=function(a,c){var b=this;b.render=function(a,c){c&&(q(a,c),e("weekends")||Q(a,0>c?-1:1));b.title=f(a,e("titleFormat"));b.start=b.visStart=o(a,!0);b.end=b.visEnd=q(o(b.start),1);d(1,1,1,!1)};La.call(b,a, c,"basicDay");var e=b.opt,d=b.renderBasic,f=c.formatDate};h.extend(!0,qa,{weekMode:"fixed"});ca.agendaWeek=function(a,c){var b=this;b.render=function(a,c){c&&q(a,7*c);var h=q(o(a),-((a.getDay()-e("firstDay")+7)%7)),l=q(o(h),7),g=o(h),j=o(l),t=e("weekends");t||(Q(g),Q(j,-1,!0));b.title=f(g,q(o(j),-1),e("titleFormat"));b.start=h;b.end=l;b.visStart=g;b.visEnd=j;d(t?7:5)};kb.call(b,a,c,"agendaWeek");var e=b.opt,d=b.renderAgenda,f=c.formatDates};ca.agendaDay=function(a,c){var b=this;b.render=function(a, c){c&&(q(a,c),e("weekends")||Q(a,0>c?-1:1));var h=o(a,!0),l=q(o(h),1);b.title=f(a,e("titleFormat"));b.start=b.visStart=h;b.end=b.visEnd=l;d(1)};kb.call(b,a,c,"agendaDay");var e=b.opt,d=b.renderAgenda,f=c.formatDate};h.extend(!0,qa,{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})})(jQuery); |