//>>built define("dojo/_base/declare dojo/_base/sniff dojo/_base/event dojo/_base/lang dojo/_base/array dojo/cldr/supplemental dojo/dom dojo/dom-class dojo/dom-style dojo/dom-construct dojo/dom-geometry dojo/date dojo/date/locale dojo/_base/fx dojo/fx dojo/on dijit/_WidgetBase dijit/_TemplatedMixin dijit/_WidgetsInTemplateMixin ./StoreMixin ./StoreManager dojox/widget/_Invalidating dojox/widget/Selection ./time dojo/i18n!./nls/buttons".split(" "),function(v,k,G,f,p,H,I,r,g,w,x,t,y,q,z,h,A,B,C,D,u,E,F,l,m){return v("dojox.calendar.CalendarBase", [A,B,C,D,E,F],{baseClass:"dojoxCalendar",datePackage:t,startDate:null,endDate:null,date:null,minDate:null,maxDate:null,dateInterval:"week",dateIntervalSteps:1,viewContainer:null,firstDayOfWeek:-1,formatItemTimeFunc:null,editable:!0,moveEnabled:!0,resizeEnabled:!0,columnView:null,matrixView:null,columnViewProps:null,matrixViewProps:null,createOnGridClick:!1,createItemFunc:null,currentView:null,_currentViewIndex:-1,views:null,_calendar:"gregorian",constructor:function(a){this.views=[];this.invalidatingProperties= "store items startDate endDate views date minDate maxDate dateInterval dateIntervalSteps firstDayOfWeek".split(" ");a=a||{};this._calendar=a.datePackage?a.datePackage.substr(a.datePackage.lastIndexOf(".")+1):this._calendar;this.dateModule=a.datePackage?f.getObject(a.datePackage,!1):t;this.dateClassObj=this.dateModule.Date||Date;this.dateLocaleModule=a.datePackage?f.getObject(a.datePackage+".locale",!1):y;this.invalidateRendering();this.storeManager=new u({owner:this,_ownerItemsProperty:"items"}); this.storeManager.on("layoutInvalidated",f.hitch(this,this._refreshItemsRendering));this.storeManager.on("renderersInvalidated",f.hitch(this,this._updateRenderers));this.storeManager.on("dataLoaded",f.hitch(this,function(a){this.set("items",a)}));this.decorationStoreManager=new u({owner:this,_ownerItemsProperty:"decorationItems"});this.decorationStoreManager.on("layoutInvalidated",f.hitch(this,this._refreshDecorationItemsRendering));this.decorationStoreManager.on("dataLoaded",f.hitch(this,function(a){this.set("decorationItems", a)}))},buildRendering:function(){this.inherited(arguments);null!=this.views&&0!=this.views.length||this.set("views",this._createDefaultViews())},_applyAttributes:function(){this._applyAttr=!0;this.inherited(arguments);delete this._applyAttr},_setStartDateAttr:function(a){this._set("startDate",a);this._startDateChanged=this._timeRangeInvalidated=!0},_setEndDateAttr:function(a){this._set("endDate",a);this._endDateChanged=this._timeRangeInvalidated=!0},_setDateAttr:function(a){this._set("date",a);this._dateChanged= this._timeRangeInvalidated=!0},_setDateIntervalAttr:function(a){this._set("dateInterval",a);this._timeRangeInvalidated=!0},_setDateIntervalStepsAttr:function(a){this._set("dateIntervalSteps",a);this._timeRangeInvalidated=!0},_setFirstDayOfWeekAttr:function(a){this._set("firstDayOfWeek",a);null!=this.get("date")&&"week"==this.get("dateInterval")&&(this._timeRangeInvalidated=!0)},_setTextDirAttr:function(a){p.forEach(this.views,function(b){b.set("textDir",a)})},refreshRendering:function(){this.inherited(arguments); this._validateProperties()},_refreshItemsRendering:function(){this.currentView&&this.currentView._refreshItemsRendering()},_updateRenderers:function(a){this.currentView&&this.currentView.updateRenderers(a)},_refreshDecorationItemsRendering:function(){this.currentView&&this.currentView._refreshDecorationItemsRendering()},resize:function(a){a&&x.setMarginBox(this.domNode,a);this.currentView&&this.currentView.resize()},_validateProperties:function(){var a=this.dateModule,b=this.get("startDate"),c=this.get("endDate"), d=this.get("date");(-1>this.firstDayOfWeek||6=b&&(this.set("dateIntervalSteps",1),this._timeRangeInvalidated=!0)):(null==b&&(b=new this.dateClassObj,this._set("startDate",b),this._timeRangeInvalidated=!0),null==c&&(c=new this.dateClassObj,this._set("endDate",c),this._timeRangeInvalidated=!0),0d.compare(c,e)&&(e=c,a=d.add(e,"day",-f));0d.compare(c[1],a[1])&&(a=c));return a},_computeTimeIntervalImpl:function(a){var b=this.dateModule;a=this.floorToDay(a);var c=this.get("dateInterval"),d=this.get("dateIntervalSteps");switch(c){case "day":b=b.add(a,"day",d);break;case "week":a=this.floorToWeek(a);b=b.add(a,"week",d);break;case "month":a.setDate(1);b=b.add(a,"month",d);break;default:b= b.add(a,"day",1)}return[a,b]},onTimeIntervalChange:function(a){},views:null,_setViewsAttr:function(a){if(!this._applyAttr)for(var b=0;b=b||b>this.views.length)b=this.views.length;this.views.splice(b,a);this._onViewAdded(a)},removeView:function(a){0> index||index>=this.views.length||(this._onViewRemoved(this.views[index]),this.views.splice(index,1))},_onViewAdded:function(a){a.owner=this;a.buttonContainer=this.buttonContainer;a._calendar=this._calendar;a.datePackage=this.datePackage;a.dateModule=this.dateModule;a.dateClassObj=this.dateClassObj;a.dateLocaleModule=this.dateLocaleModule;g.set(a.domNode,"display","none");r.add(a.domNode,"view");w.place(a.domNode,this.viewContainer);this.onViewAdded(a)},onViewAdded:function(a){},_onViewRemoved:function(a){a.owner= null;a.buttonContainer=null;r.remove(a.domNode,"view");this.viewContainer.removeChild(a.domNode);this.onViewRemoved(a)},onViewRemoved:function(a){},_setCurrentViewAttr:function(a){var b=p.indexOf(this.views,a);if(-1!=b){var c=this.get("currentView");this._currentViewIndex=b;this._set("currentView",a);this._showView(c,a);this.onCurrentViewChange({oldView:c,newView:a})}},_getCurrentViewAttr:function(){return this.views[this._currentViewIndex]},onCurrentViewChange:function(a){},_configureView:function(a, b,c,d){b=this.dateModule;if("columns"==a.viewKind)a.set("startDate",c[0]),a.set("columnCount",d);else if("matrix"==a.viewKind)if(7=c?this.columnView:this.matrixView},matrixViewRowHeaderClick:function(a){var b=this.matrixView.getExpandedRowIndex();if(b==a.index)this.matrixView.collapseRow();else if(-1==b)this.matrixView.expandRow(a.index);else{var c=this.matrixView.on("expandAnimationEnd",f.hitch(this,function(){c.remove();this.matrixView.expandRow(a.index)}));this.matrixView.collapseRow()}},columnViewColumnHeaderClick:function(a){0==this.dateModule.compare(a.date, this._timeInterval[0])&&"day"==this.dateInterval&&1==this.dateIntervalSteps?this.set("dateInterval","week"):(this.set("date",a.date),this.set("dateInterval","day"),this.set("dateIntervalSteps",1))},viewChangeDuration:0,_showView:function(a,b){null!=a&&g.set(a.domNode,"display","none");null!=b&&(g.set(b.domNode,"display","block"),b.resize(),(!k("ie")||7