/* * FullCalendar v1.4.4 * 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: Wed Feb 3 22:56:20 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,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(ab){D.extend(true,F,ab)};D.fn.fullCalendar=function(ae){if(typeof ae=="string"){var ad=Array.prototype.slice.call(arguments,1),af;this.each(function(){var ag=D.data(this,"fullCalendar")[ae].apply(this,ad);if(af==m){af=ag}});if(af!=m){return af}return this}var ac=ae.eventSources||[];delete ae.eventSources;if(ae.events){ac.push(ae.events);delete ae.events}ac.unshift([]);ae=D.extend(true,{},F,(ae.isRTL||ae.isRTL==m&&F.isRTL)?b:{},ae);var ab=ae.theme?"ui":"fc";this.each(function(){var aw=this,ai=D(aw).addClass("fc"),aJ,aC=D("
").prependTo(aw),ay,aD;if(ae.isRTL){ai.addClass("fc-rtl")}if(ae.theme){ai.addClass("ui-widget")}var aK=new Date(),aA,av,ap={};if(ae.year!=m&&ae.year!=aK.getFullYear()){aK.setDate(1);aK.setMonth(0);aK.setFullYear(ae.year)}if(ae.month!=m&&ae.month!=aK.getMonth()){aK.setDate(1);aK.setMonth(ae.month)}if(ae.date!=m){aK.setDate(ae.date)}function aO(aP){if(aP!=aA){al();if(av){if(av.eventsChanged){aB(av);av.eventsChanged=false}av.element.hide()}if(ap[aP]){(av=ap[aP]).element.show();if(av.shown){av.shown()}}else{av=ap[aP]=D.fullCalendar.views[aP](D("
").appendTo(aC),ae)}if(aF){aF.find("div.fc-button-"+aA).removeClass(ab+"-state-active");aF.find("div.fc-button-"+aP).addClass(ab+"-state-active")}av.name=aA=aP;aN();au()}}function aN(aR,aP){if((aJ=aw.offsetWidth)!==0){if(!aD||aP){ay=aC.width();aD=aM()}if(aR||!av.date||aK=av.end){al();av.render(aK,aR||0,ay,aD,function(aS){if(!aj||av.visStartaG){at(aS)}else{aS(ah)}});au();av.date=Q(aK)}else{if(av.sizeDirty||aP){av.updateSize(ay,aD);av.clearEvents();av.renderEvents(ah)}else{if(av.eventsDirty){av.clearEvents();av.renderEvents(ah)}}}if(aF){aF.find("h2.fc-header-title").html(av.title);var aQ=new Date();if(aQ>=av.start&&aQ").append(D("").append(D("").append(aq(ax.left))).append(D("").append(aq(ax.center))).append(D("").append(aq(ax.right)))).prependTo(ai)}function aq(aP){if(aP){var aQ=D("");D.each(aP.split(" "),function(aS){if(aS>0){aQ.append("")}var aR;D.each(this.split(","),function(aV,aU){if(aU=="title"){aQ.append("

 

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