/* * FullCalendar v1.4.5 * http://arshaw.com/fullcalendar/ * * Use fullcalendar.css for basic styling. * For event drag & drop, required jQuery UI draggable. * For event resizing, requires jQuery UI resizable. * * Copyright (c) 2009 Adam Shaw * Dual licensed under the MIT and GPL licenses: * http://www.opensource.org/licenses/mit-license.php * http://www.gnu.org/licenses/gpl.html * * Date: Sun Feb 21 20:30:11 2010 -0800 * */ (function(D){var I=D.fullCalendar={};var f=I.views={};var F={defaultView:"month",aspectRatio:1.35,header:{left:"title",center:"",right:"today prev,next"},weekends:true,allDayDefault:true,lazyFetching:true,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:false,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:false,buttonIcons:{prev:"circle-triangle-w",next:"circle-triangle-e"}};var b={header:{left:"next,prev today",center:"",right:"title"},buttonText:{prev:" ► ",next:" ◄ ",prevYear:" >> ",nextYear:" << "},buttonIcons:{prev:"circle-triangle-e",next:"circle-triangle-w"}};var M=I.setDefaults=function(ac){D.extend(true,F,ac)};D.fn.fullCalendar=function(af){if(typeof af=="string"){var ae=Array.prototype.slice.call(arguments,1),ag;this.each(function(){var ai=D.data(this,"fullCalendar");if(ai){var ah=ai[af].apply(this,ae);if(ag==m){ag=ah}}});if(ag!=m){return ag}return this}var ad=af.eventSources||[];delete af.eventSources;if(af.events){ad.push(af.events);delete af.events}ad.unshift([]);af=D.extend(true,{},F,(af.isRTL||af.isRTL==m&&F.isRTL)?b:{},af);var ac=af.theme?"ui":"fc";this.each(function(){var aI=this,ax=D(aI).addClass("fc"),aB,ar=D("
").prependTo(aI),al,aD=0,aJ=0,aN=new Date(),ap,ai,aQ={},aq;if(af.isRTL){ax.addClass("fc-rtl")}if(af.theme){ax.addClass("ui-widget")}if(af.year!=m&&af.year!=aN.getFullYear()){aN.setDate(1);aN.setMonth(0);aN.setFullYear(af.year)}if(af.month!=m&&af.month!=aN.getMonth()){aN.setDate(1);aN.setMonth(af.month)}if(af.date!=m){aN.setDate(af.date)}function an(aU){if(aU!=ap){aJ++;var aV=ai,aT;if(aV){if(aV.eventsChanged){ah();aV.eventDirty=aV.eventsChanged=false}if(aV.beforeHide){aV.beforeHide()}aa(ar,ar.height());aV.element.hide()}else{aa(ar,1)}ar.css("overflow","hidden");if(aQ[aU]){(ai=aQ[aU]).element.show()}else{ai=aQ[aU]=D.fullCalendar.views[aU](aT=aq=D("
").appendTo(ar),af)}if(aj){aj.find("div.fc-button-"+ap).removeClass(ac+"-state-active");aj.find("div.fc-button-"+aU).addClass(ac+"-state-active")}ai.name=ap=aU;aC();ar.css("overflow","");if(aV){aa(ar,1)}if(!aT&&ai.afterShow){ai.afterShow()}aJ--}}function aC(aU){if(aG()){aJ++;if(al==m){aE()}if(!ai.start||aU||aN=ai.end){ai.render(aN,aU||0);aH(true);if(!aA||!af.lazyFetching||ai.visStartaO){aF()}else{ai.renderEvents(az)}}else{if(ai.sizeDirty||ai.eventsDirty||!af.lazyFetching){ai.clearEvents();if(ai.sizeDirty){aH()}if(af.lazyFetching){ai.renderEvents(az)}else{aF()}}}aB=ax.outerWidth();ai.sizeDirty=false;ai.eventsDirty=false;if(aj){aj.find("h2.fc-header-title").html(ai.title);var aT=new Date();if(aT>=ai.start&&aT").append(D("").append(D("").append(aM(aK.left))).append(D("").append(aM(aK.center))).append(D("").append(aM(aK.right)))).prependTo(ax)}function aM(aT){if(aT){var aU=D("");D.each(aT.split(" "),function(aW){if(aW>0){aU.append("")}var aV;D.each(this.split(","),function(aZ,aY){if(aY=="title"){aU.append("

 

");if(aV){aV.addClass(ac+"-corner-right")}aV=null}else{var aX;if(aL[aY]){aX=aL[aY]}else{if(f[aY]){aX=function(){a0.removeClass(ac+"-state-hover");an(aY)}}}if(aX){if(aV){aV.addClass(ac+"-no-right")}var a0,a1=af.theme?i(af.buttonIcons,aY):null,a2=i(af.buttonText,aY);if(a1){a0=D("
")}else{if(a2){a0=D("")}}if(a0){a0.click(function(){if(!a0.hasClass(ac+"-state-disabled")){aX()}}).mousedown(function(){a0.not("."+ac+"-state-active").not("."+ac+"-state-disabled").addClass(ac+"-state-down")}).mouseup(function(){a0.removeClass(ac+"-state-down")}).hover(function(){a0.not("."+ac+"-state-active").not("."+ac+"-state-disabled").addClass(ac+"-state-hover")},function(){a0.removeClass(ac+"-state-hover").removeClass(ac+"-state-down")}).appendTo(D("").appendTo(aU));if(aV){aV.addClass(ac+"-no-right")}else{a0.addClass(ac+"-corner-left")}aV=a0}}}});if(aV){aV.addClass(ac+"-corner-right")}});return D("").append(aU)}}function aE(){if(af.contentHeight){al=af.contentHeight}else{if(af.height){al=af.height-(aj?aj.height():0)-O(ar[0])}else{al=Math.round(ar.width()/Math.max(af.aspectRatio,0.5))}}}function aH(aT){aJ++;ai.setHeight(al,aT);if(aq){aq.css("position","relative");aq=null}ai.setWidth(ar.width(),aT);aJ--}function at(){if(!aJ){if(ai.start){var aT=++aD;setTimeout(function(){if(aT==aD&&!aJ&&aG()){if(aB!=(aB=ax.outerWidth())){aJ++;ay();ai.trigger("windowResize",aI);aJ--}}},200)}else{am()}}}D(window).resize(at);an(af.defaultView);if(!av()){am()}function am(){setTimeout(function(){if(!ai.start&&av()){aC()}},0)}});return this};var P=0;function C(ad,ac){ad._id=ad._id||(ad.id==m?"_fc"+P++:ad.id+"");if(ad.date){if(!ad.start){ad.start=ad.date}delete ad.date}ad._start=Q(ad.start=g(ad.start));ad.end=g(ad.end);if(ad.end&&ad.end<=ad.start){ad.end=null}ad._end=ad.end?Q(ad.end):null;if(ad.allDay==m){ad.allDay=ac.allDayDefault}if(ad.className){if(typeof ad.className=="string"){ad.className=ad.className.split(/\s+/)}}else{ad.className=[]}}M({weekMode:"fixed"});f.month=function(ad,ac){return new E(ad,ac,{render:function(ag,ak){if(ak){p(ag,ak);ag.setDate(1)}var aj=this.start=Q(ag,true);aj.setDate(1);this.end=p(Q(aj),1);var af=this.visStart=Q(aj),ae=this.visEnd=Q(this.end),ah=ac.weekends?0:1;if(ah){Z(af);Z(ae,-1,true)}y(af,-((af.getDay()-Math.max(ac.firstDay,ah)+7)%7));y(ae,(7-ae.getDay()+Math.max(ac.firstDay,ah))%7);var ai=Math.round((ae-af)/(S*7));if(ac.weekMode=="fixed"){y(ae,(6-ai)*7);ai=6}this.title=N(aj,this.option("titleFormat"),ac);this.renderGrid(ai,ac.weekends?7:5,this.option("columnFormat"),true)}})};f.basicWeek=function(ad,ac){return new E(ad,ac,{render:function(ag,ah){if(ah){y(ag,ah*7)}var af=this.visStart=Q(this.start=y(Q(ag),-((ag.getDay()-ac.firstDay+7)%7))),ae=this.visEnd=Q(this.end=y(Q(af),7));if(!ac.weekends){Z(af);Z(ae,-1,true)}this.title=u(af,y(Q(ae),-1),this.option("titleFormat"),ac);this.renderGrid(1,ac.weekends?7:5,this.option("columnFormat"),false)}})};f.basicDay=function(ad,ac){return new E(ad,ac,{render:function(ae,af){if(af){y(ae,af);if(!ac.weekends){Z(ae,af<0?-1:1)}}this.title=N(ae,this.option("titleFormat"),ac);this.start=this.visStart=Q(ae,true);this.end=this.visEnd=y(Q(this.start),1);this.renderGrid(1,1,this.option("columnFormat"),false)}})};var G;function E(af,aj,aG){var ag,at,ak,am,az,ay,aD,ax,an,aC,aI,aE,ad,ap=[],ai,aw=new J(function(aJ){return ad.find("td:eq("+((aJ-Math.max(at,ak)+aC)%aC)+") div div")}),au=D.extend(this,l,aG,{renderGrid:aB,renderEvents:ah,rerenderEvents:aF,clearEvents:aq,setHeight:ao,setWidth:ae,defaultEventEnd:function(aJ){return Q(aJ.start)}});au.init(af,aj);af.addClass("fc-grid");if(af.disableSelection){af.disableSelection()}function aB(aJ,aP,aM,aR){an=aJ;aC=aP;ag=aj.theme?"ui":"fc";ak=aj.weekends?0:1;at=aj.firstDay;if(am=aj.isRTL){az=-1;ay=aC-1}else{az=1;ay=0}var aN=au.start.getMonth(),aQ=w(new Date()),aU,aL,aK,aO=Q(au.visStart);if(!ad){var aT=D("
").appendTo(af);aU="";for(aL=0;aL"+N(aO,aM,aj)+"";y(aO,1);if(ak){Z(aO)}}aE=D(aU+"").appendTo(aT);aU="";aO=Q(au.visStart);for(aL=0;aL";for(aK=0;aK"+(aR?"
"+aO.getDate()+"
":"")+"
 
";y(aO,1);if(ak){Z(aO)}}aU+=""}ad=D(aU+"
").appendTo(aT);ad.find("td").click(ac);ai=D("
").appendTo(af)}else{aq();var aS=ad.find("tr").length;if(anaS){aU="";for(aL=aS;aL";for(aK=0;aK"+(aR?"
":"")+"
 
";y(aO,1);if(ak){Z(aO)}}aU+=""}ad.append(aU)}}ad.find("td.fc-new").removeClass("fc-new").click(ac);aO=Q(au.visStart);ad.find("td").each(function(){var aV=D(this);if(an>1){if(aO.getMonth()==aN){aV.removeClass("fc-other-month")}else{aV.addClass("fc-other-month")}}if(+aO==+aQ){aV.removeClass("fc-not-today").addClass("fc-today").addClass(ag+"-state-highlight")}else{aV.addClass("fc-not-today").removeClass("fc-today").removeClass(ag+"-state-highlight")}aV.find("div.fc-day-number").text(aO.getDate());y(aO,1);if(ak){Z(aO)}});if(an==1){aO=Q(au.visStart);aE.find("th").each(function(){D(this).text(N(aO,aM,aj));this.className=this.className.replace(/^fc-\w+(?= )/,"fc-"+U[aO.getDay()]);y(aO,1);if(ak){Z(aO)}});aO=Q(au.visStart);ad.find("td").each(function(){this.className=this.className.replace(/^fc-\w+(?= )/,"fc-"+U[aO.getDay()]);y(aO,1);if(ak){Z(aO)}})}}}function ac(aK){var aL=parseInt(this.className.match(/fc\-day(\d+)/)[1]),aJ=y(Q(au.visStart),Math.floor(aL/aC)*7+aL%aC);au.trigger("dayClick",this,aJ,true,aK)}function ao(aJ){ax=aJ;var aK=ad.find("tr td:first-child"),aP=ax-aE.height(),aN,aM;if(aj.weekMode=="variable"){aN=aM=Math.floor(aP/(an==1?2:6))}else{aN=Math.floor(aP/an);aM=aP-aN*(an-1)}if(G==m){var aL=ad.find("tr:first"),aO=aL.find("td:first");aO.height(aN);G=aN!=aO.height()}if(G){aK.slice(0,-1).height(aN);aK.slice(-1).height(aM)}else{h(aK.slice(0,-1),aN);h(aK.slice(-1),aM)}}function ae(aJ){aD=aJ;aw.clear();V(aE.find("th").slice(0,-1),aI=Math.floor(aD/aC))}function ah(aJ){au.reportEvents(ap=aJ);al(ar(aJ))}function aF(aJ){aq();al(ar(ap),aJ)}function aq(){au._clearEvents();ai.empty()}function ar(aS){var aL=Q(au.visStart),aJ=y(Q(aL),aC),aR=D.map(aS,aA),aQ,aT,aP,aK,aN,aO,aM=[];for(aQ=0;aQ"+(!av.allDay&&aB.isStart?""+K(u(av.start,av.end,ao.option("timeFormat"),af))+"":"")+""+K(av.title)+""+((av.editable||av.editable==m&&af.editable)&&!af.disableResizing&&D.fn.resizable?"
":"")+"
";aB.left=ai;aB.outerWidth=aF-ai}ag[0].innerHTML=an;aE=ag.children();for(aw=0;aw div").height(ap+aC)}for(am=0;am
";for(a2=0;a2"+N(a5,a3,aB)+"";y(a5,aW);if(aw){Z(a5,aW)}}a9+="";if(aB.allDaySlot){a9+=""}a9+="
  
"+aB.allDayText+"
 
 
";ar=D(a9).appendTo(at);ar.find("td").click(ac);am=D("
").appendTo(ar);a5=d();var a4=o(Q(a5),ad);o(a5,aG);a9="";for(a2=0;a5";o(a5,aB.slotMinutes)}a9+="
"+((!a7||a1==0)?N(a5,aB.axisFormat):" ")+"
 
";aA=D("
").append(ai=D("
").append(av=D(a9))).appendTo(at);aA.find("td").click(ac);al=D("
").appendTo(ai);a5=Q(a0);a9="
";for(a2=0;a2
 
";y(a5,aW);if(aw){Z(a5,aW)}}a9+="
";aV=D(a9).appendTo(at)}else{aD();ar.find("tr:first th").slice(1,-1).each(function(){D(this).text(N(a5,a3,aB));this.className=this.className.replace(/^fc-\w+(?= )/,"fc-"+U[a5.getDay()]);y(a5,aW);if(aw){Z(a5,aW)}});a5=Q(a0);aV.find("td").each(function(){this.className=this.className.replace(/^fc-\w+(?= )/,"fc-"+U[a5.getDay()]);if(+a5==+a8){D(this).removeClass("fc-not-today").addClass("fc-today").addClass(aZ+"-state-highlight")}else{D(this).addClass("fc-not-today").removeClass("fc-today").removeClass(aZ+"-state-highlight")}y(a5,aW);if(aw){Z(a5,aW)}})}}function ao(){var a3=d(),a1=Q(a3);a1.setHours(aB.firstHour);var a2=an(a3,a1)+1,a0=function(){aA.scrollTop(a2)};a0();setTimeout(a0,0)}function aK(a0,a1){aY=a0;ap={};aA.height(a0-ar.height());ax=aA.find("tr:first div").height()+1;aV.css({top:ar.find("tr").height(),height:a0});if(a1){ao()}}function aQ(a0){aT=a0;aP.clear();aA.width(a0);av.width("");var a3=ar.find("tr:first th"),a1=aV.find("td"),a2=aA[0].clientWidth;av.width(a2);ah=0;V(ar.find("tr:lt(2) th:first").add(aA.find("tr:first th")).width("").each(function(){ah=Math.max(ah,D(this).outerWidth())}),ah);aC=Math.floor((a2-ah)/ak);V(a1.slice(0,-1),aC);V(a3.slice(1,-2),aC);V(a3.slice(-2,-1),a2-ah-aC*(ak-1));aV.css({left:ah,width:a2-ah})}function ac(a4){var a2=Math.floor((a4.pageX-aV.offset().left)/aC),a1=y(Q(af.visStart),aU+aW*a2),a5=this.className.match(/fc-slot(\d+)/);if(a5){var a3=parseInt(a5[1])*aB.slotMinutes,a0=Math.floor(a3/60);a1.setHours(a0);a1.setMinutes(a3%60+aG);af.trigger("dayClick",this,a1,false,a4)}else{af.trigger("dayClick",this,a1,true,a4)}}function aj(a4,a2){af.reportEvents(aJ=a4);var a3,a1=a4.length,a5=[],a0=[];for(a3=0;a3"+K(u(bg.start,bg.end,af.option("timeFormat")))+""+K(bg.title)+""+((bg.editable||bg.editable==m&&aB.editable)&&!aB.disableResizing&&D.fn.resizable?"
=
":"")+"
"}al[0].innerHTML=ba;bm=al.children();for(bi=0;bi=o(Q(a1),ad)){return ai.height()}var a0=aB.slotMinutes,a4=a5.getHours()*60+a5.getMinutes()-aG,a3=Math.floor(a4/a0),a2=ap[a3];if(a2==m){a2=ap[a3]=aA.find("tr:eq("+a3+") td div")[0].offsetTop}return Math.max(0,Math.round(a2-1+ax*((a4%a0)/a0)))}function aR(a0){return((a0-Math.max(az,aw)+ak)%ak)*aW+aU}}function L(ag){var ae,ad,ac,ai,ah,af;for(ae=ag.length-1;ae>0;ae--){ai=ag[ae];for(ad=0;ad