Fix #5718 - Change the order / layout of tabs. / new master lists
[roojs1] / docs / src / Roo_bootstrap_Calendar.js.html
1 <html><head><title>/home/edward/gitlive/roojs1/Roo/bootstrap/Calendar.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
2  * - LGPL
3  *
4  * based on jquery fullcalendar
5  * 
6  */
7
8 </span><span class="jsdoc-var">Roo.bootstrap </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.bootstrap </span><span class="jsdoc-syntax">|| {};
9 </span><span class="jsdoc-comment">/**
10  * @class Roo.bootstrap.Calendar
11  * @extends Roo.bootstrap.Component
12  * Bootstrap Calendar class
13  * @cfg {Boolean} loadMask (true|false) default false
14  * @cfg {Object} header generate the user specific header of the calendar, default false
15
16  * @constructor
17  * Create a new Container
18  * @param {Object} config The config object
19  */
20
21
22
23 </span><span class="jsdoc-var">Roo.bootstrap.Calendar </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">config</span><span class="jsdoc-syntax">){
24     </span><span class="jsdoc-var">Roo.bootstrap.Calendar.superclass.constructor.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">config</span><span class="jsdoc-syntax">);
25      </span><span class="jsdoc-var">this.addEvents</span><span class="jsdoc-syntax">({
26         </span><span class="jsdoc-comment">/**
27              * @event select
28              * Fires when a date is selected
29              * @param {DatePicker} this
30              * @param {Date} date The selected date
31              */
32         </span><span class="jsdoc-string">'select'</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
33         </span><span class="jsdoc-comment">/**
34              * @event monthchange
35              * Fires when the displayed month changes 
36              * @param {DatePicker} this
37              * @param {Date} date The selected month
38              */
39         </span><span class="jsdoc-string">'monthchange'</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
40         </span><span class="jsdoc-comment">/**
41              * @event evententer
42              * Fires when mouse over an event
43              * @param {Calendar} this
44              * @param {event} Event
45              */
46         </span><span class="jsdoc-string">'evententer'</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
47         </span><span class="jsdoc-comment">/**
48              * @event eventleave
49              * Fires when the mouse leaves an
50              * @param {Calendar} this
51              * @param {event}
52              */
53         </span><span class="jsdoc-string">'eventleave'</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
54         </span><span class="jsdoc-comment">/**
55              * @event eventclick
56              * Fires when the mouse click an
57              * @param {Calendar} this
58              * @param {event}
59              */
60         </span><span class="jsdoc-string">'eventclick'</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true
61
62     </span><span class="jsdoc-syntax">});
63
64 };
65
66 </span><span class="jsdoc-var">Roo.extend</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.bootstrap.Calendar</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">Roo.bootstrap.Component</span><span class="jsdoc-syntax">,  {
67
68      </span><span class="jsdoc-comment">/**
69      * @cfg {Number} startDay
70      * Day index at which the week should begin, 0-based (defaults to 0, which is Sunday)
71      */
72     </span><span class="jsdoc-var">startDay </span><span class="jsdoc-syntax">: 0,
73
74     </span><span class="jsdoc-var">loadMask </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
75
76     </span><span class="jsdoc-var">header </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
77
78     </span><span class="jsdoc-var">getAutoCreate </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
79
80
81         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">fc_button </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">name</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">corner</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">style</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">content </span><span class="jsdoc-syntax">) {
82             </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">Roo.apply</span><span class="jsdoc-syntax">({},{
83                 </span><span class="jsdoc-var">tag </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'span'</span><span class="jsdoc-syntax">,
84                 </span><span class="jsdoc-var">cls </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'fc-button fc-button-'</span><span class="jsdoc-syntax">+</span><span class="jsdoc-var">name</span><span class="jsdoc-syntax">+</span><span class="jsdoc-string">' fc-state-default ' </span><span class="jsdoc-syntax">+
85                          (</span><span class="jsdoc-var">corner.length </span><span class="jsdoc-syntax">?
86                             </span><span class="jsdoc-string">'fc-corner-' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">corner.split</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">' '</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.join</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">' fc-corner-'</span><span class="jsdoc-syntax">) :
87                             </span><span class="jsdoc-string">''
88                         </span><span class="jsdoc-syntax">),
89                 </span><span class="jsdoc-var">html </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'&lt;SPAN class=&quot;fc-text-'</span><span class="jsdoc-syntax">+</span><span class="jsdoc-var">style</span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'&quot;&gt;'</span><span class="jsdoc-syntax">+</span><span class="jsdoc-var">content </span><span class="jsdoc-syntax">+</span><span class="jsdoc-string">'&lt;/SPAN&gt;'</span><span class="jsdoc-syntax">,
90                 </span><span class="jsdoc-var">unselectable</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'on'
91             </span><span class="jsdoc-syntax">});
92         };
93
94         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">header </span><span class="jsdoc-syntax">= {};
95
96         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.header</span><span class="jsdoc-syntax">){
97             </span><span class="jsdoc-var">header </span><span class="jsdoc-syntax">= {
98                 </span><span class="jsdoc-var">tag </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'table'</span><span class="jsdoc-syntax">,
99                 </span><span class="jsdoc-var">cls </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'fc-header'</span><span class="jsdoc-syntax">,
100                 </span><span class="jsdoc-var">style </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'width:100%'</span><span class="jsdoc-syntax">,
101                 </span><span class="jsdoc-var">cn </span><span class="jsdoc-syntax">: [
102                     {
103                         </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'tr'</span><span class="jsdoc-syntax">,
104                         </span><span class="jsdoc-var">cn </span><span class="jsdoc-syntax">: [
105                             {
106                                 </span><span class="jsdoc-var">tag </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'td'</span><span class="jsdoc-syntax">,
107                                 </span><span class="jsdoc-var">cls </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'fc-header-left'</span><span class="jsdoc-syntax">,
108                                 </span><span class="jsdoc-var">cn </span><span class="jsdoc-syntax">: [
109                                     </span><span class="jsdoc-var">fc_button</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'prev'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'left'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'arrow'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'&amp;#8249;' </span><span class="jsdoc-syntax">),
110                                     </span><span class="jsdoc-var">fc_button</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'next'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'right'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'arrow'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'&amp;#8250;' </span><span class="jsdoc-syntax">),
111                                     { </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'span'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'fc-header-space' </span><span class="jsdoc-syntax">},
112                                     </span><span class="jsdoc-var">fc_button</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'today'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'left right'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'today' </span><span class="jsdoc-syntax">)  </span><span class="jsdoc-comment">// neds state disabled..
113
114
115                                 </span><span class="jsdoc-syntax">]
116                             },
117
118                             {
119                                 </span><span class="jsdoc-var">tag </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'td'</span><span class="jsdoc-syntax">,
120                                 </span><span class="jsdoc-var">cls </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'fc-header-center'</span><span class="jsdoc-syntax">,
121                                 </span><span class="jsdoc-var">cn </span><span class="jsdoc-syntax">: [
122                                     {
123                                         </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'span'</span><span class="jsdoc-syntax">,
124                                         </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'fc-header-title'</span><span class="jsdoc-syntax">,
125                                         </span><span class="jsdoc-var">cn </span><span class="jsdoc-syntax">: {
126                                             </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'H2'</span><span class="jsdoc-syntax">,
127                                             </span><span class="jsdoc-var">html </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'month / year'
128                                         </span><span class="jsdoc-syntax">}
129                                     }
130
131                                 ]
132                             },
133                             {
134                                 </span><span class="jsdoc-var">tag </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'td'</span><span class="jsdoc-syntax">,
135                                 </span><span class="jsdoc-var">cls </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'fc-header-right'</span><span class="jsdoc-syntax">,
136                                 </span><span class="jsdoc-var">cn </span><span class="jsdoc-syntax">: [
137                               </span><span class="jsdoc-comment">/*      fc_button('month', 'left', '', 'month' ),
138                                     fc_button('week', '', '', 'week' ),
139                                     fc_button('day', 'right', '', 'day' )
140                                 */
141
142                                 </span><span class="jsdoc-syntax">]
143                             }
144
145                         ]
146                     }
147                 ]
148             };
149         }
150
151         </span><span class="jsdoc-var">header </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.header</span><span class="jsdoc-syntax">;
152
153
154         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cal_heads </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">() {
155             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">ret </span><span class="jsdoc-syntax">= [];
156             </span><span class="jsdoc-comment">// fixme - handle this.
157
158             </span><span class="jsdoc-keyword">for </span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">=0; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">&lt; </span><span class="jsdoc-var">Date.dayNames.length</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++) {
159                 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">d </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Date.dayNames</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">];
160                 </span><span class="jsdoc-var">ret.push</span><span class="jsdoc-syntax">({
161                     </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'th'</span><span class="jsdoc-syntax">,
162                     </span><span class="jsdoc-var">cls </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'fc-day-header fc-' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">d.substring</span><span class="jsdoc-syntax">(0,3)</span><span class="jsdoc-var">.toLowerCase</span><span class="jsdoc-syntax">() + </span><span class="jsdoc-string">' fc-widget-header'</span><span class="jsdoc-syntax">,
163                     </span><span class="jsdoc-var">html </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">d.substring</span><span class="jsdoc-syntax">(0,3)
164                 });
165
166             }
167             </span><span class="jsdoc-var">ret</span><span class="jsdoc-syntax">[0]</span><span class="jsdoc-var">.cls </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-string">' fc-first'</span><span class="jsdoc-syntax">;
168             </span><span class="jsdoc-var">ret</span><span class="jsdoc-syntax">[6]</span><span class="jsdoc-var">.cls </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-string">' fc-last'</span><span class="jsdoc-syntax">;
169             </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">ret</span><span class="jsdoc-syntax">;
170         };
171         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cal_cell </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">n</span><span class="jsdoc-syntax">) {
172             </span><span class="jsdoc-keyword">return  </span><span class="jsdoc-syntax">{
173                 </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'td'</span><span class="jsdoc-syntax">,
174                 </span><span class="jsdoc-var">cls </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'fc-day fc-'</span><span class="jsdoc-syntax">+</span><span class="jsdoc-var">n </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">' fc-widget-content'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-comment">///fc-other-month fc-past
175                 </span><span class="jsdoc-var">cn </span><span class="jsdoc-syntax">: [
176                     {
177                         </span><span class="jsdoc-var">cn </span><span class="jsdoc-syntax">: [
178                             {
179                                 </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'fc-day-number'</span><span class="jsdoc-syntax">,
180                                 </span><span class="jsdoc-var">html</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'D'
181                             </span><span class="jsdoc-syntax">},
182                             {
183                                 </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'fc-day-content'</span><span class="jsdoc-syntax">,
184
185                                 </span><span class="jsdoc-var">cn </span><span class="jsdoc-syntax">: [
186                                      {
187                                         </span><span class="jsdoc-var">style</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'position: relative;' </span><span class="jsdoc-comment">// height: 17px;
188                                     </span><span class="jsdoc-syntax">}
189                                 ]
190                             }
191
192
193                         ]
194                     }
195                 ]
196
197             }
198         };
199         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cal_rows </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">() {
200
201             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">ret </span><span class="jsdoc-syntax">= [];
202             </span><span class="jsdoc-keyword">for </span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">r </span><span class="jsdoc-syntax">= 0; </span><span class="jsdoc-var">r </span><span class="jsdoc-syntax">&lt; 6; </span><span class="jsdoc-var">r</span><span class="jsdoc-syntax">++) {
203                 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">row</span><span class="jsdoc-syntax">= {
204                     </span><span class="jsdoc-var">tag </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'tr'</span><span class="jsdoc-syntax">,
205                     </span><span class="jsdoc-var">cls </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'fc-week'</span><span class="jsdoc-syntax">,
206                     </span><span class="jsdoc-var">cn </span><span class="jsdoc-syntax">: []
207                 };
208
209                 </span><span class="jsdoc-keyword">for </span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">=0; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">&lt; </span><span class="jsdoc-var">Date.dayNames.length</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++) {
210                     </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">d </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Date.dayNames</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">];
211                     </span><span class="jsdoc-var">row.cn.push</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cal_cell</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">d.substring</span><span class="jsdoc-syntax">(0,3)</span><span class="jsdoc-var">.toLowerCase</span><span class="jsdoc-syntax">()));
212
213                 }
214                 </span><span class="jsdoc-var">row.cn</span><span class="jsdoc-syntax">[0]</span><span class="jsdoc-var">.cls</span><span class="jsdoc-syntax">+=</span><span class="jsdoc-string">' fc-first'</span><span class="jsdoc-syntax">;
215                 </span><span class="jsdoc-var">row.cn</span><span class="jsdoc-syntax">[0]</span><span class="jsdoc-var">.cn</span><span class="jsdoc-syntax">[0]</span><span class="jsdoc-var">.style </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">'min-height:90px'</span><span class="jsdoc-syntax">;
216                 </span><span class="jsdoc-var">row.cn</span><span class="jsdoc-syntax">[6]</span><span class="jsdoc-var">.cls</span><span class="jsdoc-syntax">+=</span><span class="jsdoc-string">' fc-last'</span><span class="jsdoc-syntax">;
217                 </span><span class="jsdoc-var">ret.push</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">row</span><span class="jsdoc-syntax">);
218
219             }
220             </span><span class="jsdoc-var">ret</span><span class="jsdoc-syntax">[0]</span><span class="jsdoc-var">.cls </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-string">' fc-first'</span><span class="jsdoc-syntax">;
221             </span><span class="jsdoc-var">ret</span><span class="jsdoc-syntax">[4]</span><span class="jsdoc-var">.cls </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-string">' fc-prev-last'</span><span class="jsdoc-syntax">;
222             </span><span class="jsdoc-var">ret</span><span class="jsdoc-syntax">[5]</span><span class="jsdoc-var">.cls </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-string">' fc-last'</span><span class="jsdoc-syntax">;
223             </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">ret</span><span class="jsdoc-syntax">;
224
225         };
226
227         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cal_table </span><span class="jsdoc-syntax">= {
228             </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'table'</span><span class="jsdoc-syntax">,
229             </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'fc-border-separate'</span><span class="jsdoc-syntax">,
230             </span><span class="jsdoc-var">style </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'width:100%'</span><span class="jsdoc-syntax">,
231             </span><span class="jsdoc-var">cellspacing  </span><span class="jsdoc-syntax">: 0,
232             </span><span class="jsdoc-var">cn </span><span class="jsdoc-syntax">: [
233                 {
234                     </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'thead'</span><span class="jsdoc-syntax">,
235                     </span><span class="jsdoc-var">cn </span><span class="jsdoc-syntax">: [
236                         {
237                             </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'tr'</span><span class="jsdoc-syntax">,
238                             </span><span class="jsdoc-var">cls </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'fc-first fc-last'</span><span class="jsdoc-syntax">,
239                             </span><span class="jsdoc-var">cn </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">cal_heads</span><span class="jsdoc-syntax">()
240                         }
241                     ]
242                 },
243                 {
244                     </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'tbody'</span><span class="jsdoc-syntax">,
245                     </span><span class="jsdoc-var">cn </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">cal_rows</span><span class="jsdoc-syntax">()
246                 }
247
248             ]
249         };
250
251          </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cfg </span><span class="jsdoc-syntax">= {
252             </span><span class="jsdoc-var">cls </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'fc fc-ltr'</span><span class="jsdoc-syntax">,
253             </span><span class="jsdoc-var">cn </span><span class="jsdoc-syntax">: [
254                 </span><span class="jsdoc-var">header</span><span class="jsdoc-syntax">,
255                 {
256                     </span><span class="jsdoc-var">cls </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'fc-content'</span><span class="jsdoc-syntax">,
257                     </span><span class="jsdoc-var">style </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;position: relative;&quot;</span><span class="jsdoc-syntax">,
258                     </span><span class="jsdoc-var">cn </span><span class="jsdoc-syntax">: [
259                         {
260                             </span><span class="jsdoc-var">cls </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'fc-view fc-view-month fc-grid'</span><span class="jsdoc-syntax">,
261                             </span><span class="jsdoc-var">style </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'position: relative'</span><span class="jsdoc-syntax">,
262                             </span><span class="jsdoc-var">unselectable </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'on'</span><span class="jsdoc-syntax">,
263                             </span><span class="jsdoc-var">cn </span><span class="jsdoc-syntax">: [
264                                 {
265                                     </span><span class="jsdoc-var">cls </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'fc-event-container'</span><span class="jsdoc-syntax">,
266                                     </span><span class="jsdoc-var">style </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'position:absolute;z-index:8;top:0;left:0;'
267                                 </span><span class="jsdoc-syntax">},
268                                 </span><span class="jsdoc-var">cal_table
269                             </span><span class="jsdoc-syntax">]
270                         }
271                     ]
272
273                 }
274            ]
275
276         };
277
278
279
280         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">cfg</span><span class="jsdoc-syntax">;
281     },
282
283
284     </span><span class="jsdoc-var">initEvents </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
285     {
286         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.store</span><span class="jsdoc-syntax">){
287             </span><span class="jsdoc-keyword">throw </span><span class="jsdoc-string">&quot;can not find store for calendar&quot;</span><span class="jsdoc-syntax">;
288         }
289
290         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">mark </span><span class="jsdoc-syntax">= {
291             </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;div&quot;</span><span class="jsdoc-syntax">,
292             </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">:</span><span class="jsdoc-string">&quot;x-dlg-mask&quot;</span><span class="jsdoc-syntax">,
293             </span><span class="jsdoc-var">style</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;text-align:center&quot;</span><span class="jsdoc-syntax">,
294             </span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">: [
295                 {
296                     </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;div&quot;</span><span class="jsdoc-syntax">,
297                     </span><span class="jsdoc-var">style</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;background-color:white;width:50%;margin:250 auto&quot;</span><span class="jsdoc-syntax">,
298                     </span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">: [
299                         {
300                             </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;img&quot;</span><span class="jsdoc-syntax">,
301                             </span><span class="jsdoc-var">src</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">Roo.rootURL </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'/images/ux/lightbox/loading.gif'
302                         </span><span class="jsdoc-syntax">},
303                         {
304                             </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;span&quot;</span><span class="jsdoc-syntax">,
305                             </span><span class="jsdoc-var">html</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;Loading&quot;
306                         </span><span class="jsdoc-syntax">}
307
308                     ]
309                 }
310             ]
311         };
312         </span><span class="jsdoc-var">this.maskEl </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.DomHelper.append</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.el.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'.fc-content'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.first</span><span class="jsdoc-syntax">(), </span><span class="jsdoc-var">mark</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
313
314         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">size </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.el.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'.fc-content'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.first</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.getSize</span><span class="jsdoc-syntax">();
315         </span><span class="jsdoc-var">this.maskEl.setSize</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">size.width</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">size.height</span><span class="jsdoc-syntax">);
316         </span><span class="jsdoc-var">this.maskEl.enableDisplayMode</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;block&quot;</span><span class="jsdoc-syntax">);
317         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.loadMask</span><span class="jsdoc-syntax">){
318             </span><span class="jsdoc-var">this.maskEl.hide</span><span class="jsdoc-syntax">();
319         }
320
321         </span><span class="jsdoc-var">this.store </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.factory</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.store</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">Roo.data</span><span class="jsdoc-syntax">);
322         </span><span class="jsdoc-var">this.store.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'load'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onLoad</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
323         </span><span class="jsdoc-var">this.store.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'beforeload'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onBeforeLoad</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
324
325         </span><span class="jsdoc-var">this.resize</span><span class="jsdoc-syntax">();
326
327         </span><span class="jsdoc-var">this.cells </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.el.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'.fc-day'</span><span class="jsdoc-syntax">,</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
328         </span><span class="jsdoc-comment">//Roo.log(this.cells);
329         </span><span class="jsdoc-var">this.textNodes </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.el.query</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'.fc-day-number'</span><span class="jsdoc-syntax">);
330         </span><span class="jsdoc-var">this.cells.addClassOnOver</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'fc-state-hover'</span><span class="jsdoc-syntax">);
331
332         </span><span class="jsdoc-var">this.el.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'.fc-button-prev'</span><span class="jsdoc-syntax">,</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'click'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.showPrevMonth</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
333         </span><span class="jsdoc-var">this.el.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'.fc-button-next'</span><span class="jsdoc-syntax">,</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'click'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.showNextMonth</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
334         </span><span class="jsdoc-var">this.el.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'.fc-button-today'</span><span class="jsdoc-syntax">,</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'click'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.showToday</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
335         </span><span class="jsdoc-var">this.el.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'.fc-button'</span><span class="jsdoc-syntax">,</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.addClassOnOver</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'fc-state-hover'</span><span class="jsdoc-syntax">);
336
337         </span><span class="jsdoc-var">this.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'monthchange'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onMonthChange</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
338
339         </span><span class="jsdoc-var">this.update</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Date</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.clearTime</span><span class="jsdoc-syntax">());
340     },
341
342     </span><span class="jsdoc-var">resize </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">() {
343         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">sz  </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.el.getSize</span><span class="jsdoc-syntax">();
344
345         </span><span class="jsdoc-var">this.el.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'.fc-day-header'</span><span class="jsdoc-syntax">,</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.setWidth</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">sz.width </span><span class="jsdoc-syntax">/ 7);
346         </span><span class="jsdoc-var">this.el.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'.fc-day-content div'</span><span class="jsdoc-syntax">,</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.setHeight</span><span class="jsdoc-syntax">(34);
347     },
348
349
350     </span><span class="jsdoc-comment">// private
351     </span><span class="jsdoc-var">showPrevMonth </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">){
352         </span><span class="jsdoc-var">this.update</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.activeDate.add</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;mo&quot;</span><span class="jsdoc-syntax">, -1));
353     },
354     </span><span class="jsdoc-var">showToday </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">){
355         </span><span class="jsdoc-var">this.update</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Date</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.clearTime</span><span class="jsdoc-syntax">());
356     },
357     </span><span class="jsdoc-comment">// private
358     </span><span class="jsdoc-var">showNextMonth </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">){
359         </span><span class="jsdoc-var">this.update</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.activeDate.add</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;mo&quot;</span><span class="jsdoc-syntax">, 1));
360     },
361
362     </span><span class="jsdoc-comment">// private
363     </span><span class="jsdoc-var">showPrevYear </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
364         </span><span class="jsdoc-var">this.update</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.activeDate.add</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;y&quot;</span><span class="jsdoc-syntax">, -1));
365     },
366
367     </span><span class="jsdoc-comment">// private
368     </span><span class="jsdoc-var">showNextYear </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
369         </span><span class="jsdoc-var">this.update</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.activeDate.add</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;y&quot;</span><span class="jsdoc-syntax">, 1));
370     },
371
372
373    </span><span class="jsdoc-comment">// private
374     </span><span class="jsdoc-var">update </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">date</span><span class="jsdoc-syntax">)
375     {
376         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">vd </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.activeDate</span><span class="jsdoc-syntax">;
377         </span><span class="jsdoc-var">this.activeDate </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">date</span><span class="jsdoc-syntax">;
378 </span><span class="jsdoc-comment">//        if(vd &amp;&amp; this.el){
379 //            var t = date.getTime();
380 //            if(vd.getMonth() == date.getMonth() &amp;&amp; vd.getFullYear() == date.getFullYear()){
381 //                Roo.log('using add remove');
382 //                
383 //                this.fireEvent('monthchange', this, date);
384 //                
385 //                this.cells.removeClass(&quot;fc-state-highlight&quot;);
386 //                this.cells.each(function(c){
387 //                   if(c.dateValue == t){
388 //                       c.addClass(&quot;fc-state-highlight&quot;);
389 //                       setTimeout(function(){
390 //                            try{c.dom.firstChild.focus();}catch(e){}
391 //                       }, 50);
392 //                       return false;
393 //                   }
394 //                   return true;
395 //                });
396 //                return;
397 //            }
398 //        }
399
400         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">days </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">date.getDaysInMonth</span><span class="jsdoc-syntax">();
401
402         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">firstOfMonth </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">date.getFirstDateOfMonth</span><span class="jsdoc-syntax">();
403         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">startingPos </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">firstOfMonth.getDay</span><span class="jsdoc-syntax">()-</span><span class="jsdoc-var">this.startDay</span><span class="jsdoc-syntax">;
404
405         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">startingPos </span><span class="jsdoc-syntax">&lt; </span><span class="jsdoc-var">this.startDay</span><span class="jsdoc-syntax">){
406             </span><span class="jsdoc-var">startingPos </span><span class="jsdoc-syntax">+= 7;
407         }
408
409         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">pm </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">date.add</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Date.MONTH</span><span class="jsdoc-syntax">, -1);
410         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">prevStart </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">pm.getDaysInMonth</span><span class="jsdoc-syntax">()-</span><span class="jsdoc-var">startingPos</span><span class="jsdoc-syntax">;
411 </span><span class="jsdoc-comment">//        
412         </span><span class="jsdoc-var">this.cells </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.el.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'.fc-day'</span><span class="jsdoc-syntax">,</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
413         </span><span class="jsdoc-var">this.textNodes </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.el.query</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'.fc-day-number'</span><span class="jsdoc-syntax">);
414         </span><span class="jsdoc-var">this.cells.addClassOnOver</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'fc-state-hover'</span><span class="jsdoc-syntax">);
415
416         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cells </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.cells.elements</span><span class="jsdoc-syntax">;
417         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">textEls </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.textNodes</span><span class="jsdoc-syntax">;
418
419         </span><span class="jsdoc-var">Roo.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cells</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cell</span><span class="jsdoc-syntax">){
420             </span><span class="jsdoc-var">cell.removeClass</span><span class="jsdoc-syntax">([ </span><span class="jsdoc-string">'fc-past'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'fc-other-month'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'fc-future'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'fc-state-highlight'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'fc-state-disabled'</span><span class="jsdoc-syntax">]);
421         });
422
423         </span><span class="jsdoc-var">days </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-var">startingPos</span><span class="jsdoc-syntax">;
424
425         </span><span class="jsdoc-comment">// convert everything to numbers so it's fast
426         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">day </span><span class="jsdoc-syntax">= 86400000;
427         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">d </span><span class="jsdoc-syntax">= (</span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Date</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">pm.getFullYear</span><span class="jsdoc-syntax">(), </span><span class="jsdoc-var">pm.getMonth</span><span class="jsdoc-syntax">(), </span><span class="jsdoc-var">prevStart</span><span class="jsdoc-syntax">))</span><span class="jsdoc-var">.clearTime</span><span class="jsdoc-syntax">();
428         </span><span class="jsdoc-comment">//Roo.log(d);
429         //Roo.log(pm);
430         //Roo.log(prevStart);
431
432         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">today </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Date</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.clearTime</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.getTime</span><span class="jsdoc-syntax">();
433         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">sel </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">date.clearTime</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.getTime</span><span class="jsdoc-syntax">();
434         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">min </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.minDate </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">this.minDate.clearTime</span><span class="jsdoc-syntax">() : </span><span class="jsdoc-var">Number.NEGATIVE_INFINITY</span><span class="jsdoc-syntax">;
435         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">max </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.maxDate </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">this.maxDate.clearTime</span><span class="jsdoc-syntax">() : </span><span class="jsdoc-var">Number.POSITIVE_INFINITY</span><span class="jsdoc-syntax">;
436         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">ddMatch </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.disabledDatesRE</span><span class="jsdoc-syntax">;
437         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">ddText </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.disabledDatesText</span><span class="jsdoc-syntax">;
438         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">ddays </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.disabledDays </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">this.disabledDays.join</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;&quot;</span><span class="jsdoc-syntax">) : </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
439         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">ddaysText </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.disabledDaysText</span><span class="jsdoc-syntax">;
440         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">format </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.format</span><span class="jsdoc-syntax">;
441
442         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">setCellClass </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cal</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">cell</span><span class="jsdoc-syntax">){
443             </span><span class="jsdoc-var">cell.row </span><span class="jsdoc-syntax">= 0;
444             </span><span class="jsdoc-var">cell.events </span><span class="jsdoc-syntax">= [];
445             </span><span class="jsdoc-var">cell.more </span><span class="jsdoc-syntax">= [];
446             </span><span class="jsdoc-comment">//Roo.log('set Cell Class');
447             </span><span class="jsdoc-var">cell.title </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">&quot;&quot;</span><span class="jsdoc-syntax">;
448             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">t </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">d.getTime</span><span class="jsdoc-syntax">();
449
450             </span><span class="jsdoc-comment">//Roo.log(d);
451
452             </span><span class="jsdoc-var">cell.dateValue </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">t</span><span class="jsdoc-syntax">;
453             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">t </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">today</span><span class="jsdoc-syntax">){
454                 </span><span class="jsdoc-var">cell.className </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-string">&quot; fc-today&quot;</span><span class="jsdoc-syntax">;
455                 </span><span class="jsdoc-var">cell.className </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-string">&quot; fc-state-highlight&quot;</span><span class="jsdoc-syntax">;
456                 </span><span class="jsdoc-var">cell.title </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cal.todayText</span><span class="jsdoc-syntax">;
457             }
458             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">t </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">sel</span><span class="jsdoc-syntax">){
459                 </span><span class="jsdoc-comment">// disable highlight in other month..
460                 //cell.className += &quot; fc-state-highlight&quot;;
461
462             </span><span class="jsdoc-syntax">}
463             </span><span class="jsdoc-comment">// disabling
464             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">t </span><span class="jsdoc-syntax">&lt; </span><span class="jsdoc-var">min</span><span class="jsdoc-syntax">) {
465                 </span><span class="jsdoc-var">cell.className </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">&quot; fc-state-disabled&quot;</span><span class="jsdoc-syntax">;
466                 </span><span class="jsdoc-var">cell.title </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cal.minText</span><span class="jsdoc-syntax">;
467                 </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
468             }
469             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">t </span><span class="jsdoc-syntax">&gt; </span><span class="jsdoc-var">max</span><span class="jsdoc-syntax">) {
470                 </span><span class="jsdoc-var">cell.className </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">&quot; fc-state-disabled&quot;</span><span class="jsdoc-syntax">;
471                 </span><span class="jsdoc-var">cell.title </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cal.maxText</span><span class="jsdoc-syntax">;
472                 </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
473             }
474             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">ddays</span><span class="jsdoc-syntax">){
475                 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">ddays.indexOf</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">d.getDay</span><span class="jsdoc-syntax">()) != -1){
476                     </span><span class="jsdoc-var">cell.title </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">ddaysText</span><span class="jsdoc-syntax">;
477                     </span><span class="jsdoc-var">cell.className </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">&quot; fc-state-disabled&quot;</span><span class="jsdoc-syntax">;
478                 }
479             }
480             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">ddMatch </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">format</span><span class="jsdoc-syntax">){
481                 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">fvalue </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">d.dateFormat</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">format</span><span class="jsdoc-syntax">);
482                 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">ddMatch.test</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">fvalue</span><span class="jsdoc-syntax">)){
483                     </span><span class="jsdoc-var">cell.title </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">ddText.replace</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;%0&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">fvalue</span><span class="jsdoc-syntax">);
484                     </span><span class="jsdoc-var">cell.className </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">&quot; fc-state-disabled&quot;</span><span class="jsdoc-syntax">;
485                 }
486             }
487
488             </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">cell.initialClassName</span><span class="jsdoc-syntax">) {
489                 </span><span class="jsdoc-var">cell.initialClassName </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cell.dom.className</span><span class="jsdoc-syntax">;
490             }
491
492             </span><span class="jsdoc-var">cell.dom.className </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cell.initialClassName  </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">' ' </span><span class="jsdoc-syntax">+  </span><span class="jsdoc-var">cell.className</span><span class="jsdoc-syntax">;
493         };
494
495         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= 0;
496
497         </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">&lt; </span><span class="jsdoc-var">startingPos</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++) {
498             </span><span class="jsdoc-var">textEls</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.innerHTML </span><span class="jsdoc-syntax">= (++</span><span class="jsdoc-var">prevStart</span><span class="jsdoc-syntax">);
499             </span><span class="jsdoc-var">d.setDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">d.getDate</span><span class="jsdoc-syntax">()+1);
500
501             </span><span class="jsdoc-var">cells</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.className </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">&quot;fc-past fc-other-month&quot;</span><span class="jsdoc-syntax">;
502             </span><span class="jsdoc-var">setCellClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">cells</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]);
503         }
504
505         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">intDay </span><span class="jsdoc-syntax">= 0;
506
507         </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">&lt; </span><span class="jsdoc-var">days</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++){
508             </span><span class="jsdoc-var">intDay </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">startingPos </span><span class="jsdoc-syntax">+ 1;
509             </span><span class="jsdoc-var">textEls</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.innerHTML </span><span class="jsdoc-syntax">= (</span><span class="jsdoc-var">intDay</span><span class="jsdoc-syntax">);
510             </span><span class="jsdoc-var">d.setDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">d.getDate</span><span class="jsdoc-syntax">()+1);
511
512             </span><span class="jsdoc-var">cells</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.className </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">; </span><span class="jsdoc-comment">// &quot;x-date-active&quot;;
513             </span><span class="jsdoc-var">setCellClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">cells</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]);
514         }
515         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">extraDays </span><span class="jsdoc-syntax">= 0;
516
517         </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">&lt; 42; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++) {
518             </span><span class="jsdoc-var">textEls</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.innerHTML </span><span class="jsdoc-syntax">= (++</span><span class="jsdoc-var">extraDays</span><span class="jsdoc-syntax">);
519             </span><span class="jsdoc-var">d.setDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">d.getDate</span><span class="jsdoc-syntax">()+1);
520
521             </span><span class="jsdoc-var">cells</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.className </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">&quot;fc-future fc-other-month&quot;</span><span class="jsdoc-syntax">;
522             </span><span class="jsdoc-var">setCellClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">cells</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]);
523         }
524
525         </span><span class="jsdoc-var">this.el.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'.fc-header-title h2'</span><span class="jsdoc-syntax">,</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.update</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Date.monthNames</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">date.getMonth</span><span class="jsdoc-syntax">()] + </span><span class="jsdoc-string">&quot; &quot; </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">date.getFullYear</span><span class="jsdoc-syntax">());
526
527         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">totalRows </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Math.ceil</span><span class="jsdoc-syntax">((</span><span class="jsdoc-var">date.getDaysInMonth</span><span class="jsdoc-syntax">() + </span><span class="jsdoc-var">date.getFirstDateOfMonth</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.getDay</span><span class="jsdoc-syntax">()) / 7);
528
529         </span><span class="jsdoc-var">this.el.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'tr.fc-week.fc-prev-last'</span><span class="jsdoc-syntax">,</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.removeClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'fc-last'</span><span class="jsdoc-syntax">);
530         </span><span class="jsdoc-var">this.el.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'tr.fc-week.fc-next-last'</span><span class="jsdoc-syntax">,</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.addClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'fc-last'</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.show</span><span class="jsdoc-syntax">();
531
532         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">totalRows </span><span class="jsdoc-syntax">!= 6){
533             </span><span class="jsdoc-var">this.el.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'tr.fc-week.fc-last'</span><span class="jsdoc-syntax">,</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.removeClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'fc-last'</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.addClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'fc-next-last'</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.hide</span><span class="jsdoc-syntax">();
534             </span><span class="jsdoc-var">this.el.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'tr.fc-week.fc-prev-last'</span><span class="jsdoc-syntax">,</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.addClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'fc-last'</span><span class="jsdoc-syntax">);
535         }
536
537         </span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'monthchange'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">date</span><span class="jsdoc-syntax">);
538
539
540         </span><span class="jsdoc-comment">/*
541         if(!this.internalRender){
542             var main = this.el.dom.firstChild;
543             var w = main.offsetWidth;
544             this.el.setWidth(w + this.el.getBorderWidth(&quot;lr&quot;));
545             Roo.fly(main).setWidth(w);
546             this.internalRender = true;
547             // opera does not respect the auto grow header center column
548             // then, after it gets a width opera refuses to recalculate
549             // without a second pass
550             if(Roo.isOpera &amp;&amp; !this.secondPass){
551                 main.rows[0].cells[1].style.width = (w - (main.rows[0].cells[0].offsetWidth+main.rows[0].cells[2].offsetWidth)) + &quot;px&quot;;
552                 this.secondPass = true;
553                 this.update.defer(10, this, [date]);
554             }
555         }
556         */
557
558     </span><span class="jsdoc-syntax">},
559
560     </span><span class="jsdoc-var">findCell </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">dt</span><span class="jsdoc-syntax">) {
561         </span><span class="jsdoc-var">dt </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">dt.clearTime</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.getTime</span><span class="jsdoc-syntax">();
562         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">ret </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
563         </span><span class="jsdoc-var">this.cells.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">c</span><span class="jsdoc-syntax">){
564             </span><span class="jsdoc-comment">//Roo.log(&quot;check &quot; +c.dateValue + '?=' + dt);
565             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">c.dateValue </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">dt</span><span class="jsdoc-syntax">){
566                 </span><span class="jsdoc-var">ret </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">c</span><span class="jsdoc-syntax">;
567                 </span><span class="jsdoc-keyword">return false</span><span class="jsdoc-syntax">;
568             }
569             </span><span class="jsdoc-keyword">return true</span><span class="jsdoc-syntax">;
570         });
571
572         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">ret</span><span class="jsdoc-syntax">;
573     },
574
575     </span><span class="jsdoc-var">findCells </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">ev</span><span class="jsdoc-syntax">) {
576         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">s </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">ev.start.clone</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.clearTime</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.getTime</span><span class="jsdoc-syntax">();
577        </span><span class="jsdoc-comment">// Roo.log(s);
578         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">ev.end.clone</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.clearTime</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.getTime</span><span class="jsdoc-syntax">();
579        </span><span class="jsdoc-comment">// Roo.log(e);
580         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">ret </span><span class="jsdoc-syntax">= [];
581         </span><span class="jsdoc-var">this.cells.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">c</span><span class="jsdoc-syntax">){
582              </span><span class="jsdoc-comment">////Roo.log(&quot;check &quot; +c.dateValue + '&lt;' + e + ' &gt; ' + s);
583
584             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">c.dateValue </span><span class="jsdoc-syntax">&gt; </span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">){
585                 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-syntax">;
586             }
587             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">c.dateValue </span><span class="jsdoc-syntax">&lt; </span><span class="jsdoc-var">s</span><span class="jsdoc-syntax">){
588                 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-syntax">;
589             }
590             </span><span class="jsdoc-var">ret.push</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">c</span><span class="jsdoc-syntax">);
591         });
592
593         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">ret</span><span class="jsdoc-syntax">;
594     },
595
596 </span><span class="jsdoc-comment">//    findBestRow: function(cells)
597 //    {
598 //        var ret = 0;
599 //        
600 //        for (var i =0 ; i &lt; cells.length;i++) {
601 //            ret  = Math.max(cells[i].rows || 0,ret);
602 //        }
603 //        return ret;
604 //        
605 //    },
606
607
608     </span><span class="jsdoc-var">addItem </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">ev</span><span class="jsdoc-syntax">)
609     {
610         </span><span class="jsdoc-comment">// look for vertical location slot in
611         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cells </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.findCells</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">ev</span><span class="jsdoc-syntax">);
612
613 </span><span class="jsdoc-comment">//        ev.row = this.findBestRow(cells);
614
615         // work out the location.
616
617         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">crow </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
618         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">rows </span><span class="jsdoc-syntax">= [];
619         </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">=0; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">&lt; </span><span class="jsdoc-var">cells.length</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++) {
620
621             </span><span class="jsdoc-var">cells</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.row </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cells</span><span class="jsdoc-syntax">[0]</span><span class="jsdoc-var">.row</span><span class="jsdoc-syntax">;
622
623             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">== 0){
624                 </span><span class="jsdoc-var">cells</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.row </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cells</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.row </span><span class="jsdoc-syntax">+ 1;
625             }
626
627             </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">crow</span><span class="jsdoc-syntax">) {
628                 </span><span class="jsdoc-var">crow </span><span class="jsdoc-syntax">= {
629                     </span><span class="jsdoc-var">start </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">cells</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">],
630                     </span><span class="jsdoc-var">end </span><span class="jsdoc-syntax">:  </span><span class="jsdoc-var">cells</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]
631                 };
632                 </span><span class="jsdoc-keyword">continue</span><span class="jsdoc-syntax">;
633             }
634             </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">crow.start.getY</span><span class="jsdoc-syntax">() == </span><span class="jsdoc-var">cells</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.getY</span><span class="jsdoc-syntax">()) {
635                 </span><span class="jsdoc-comment">// on same row.
636                 </span><span class="jsdoc-var">crow.end </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cells</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">];
637                 </span><span class="jsdoc-keyword">continue</span><span class="jsdoc-syntax">;
638             }
639             </span><span class="jsdoc-comment">// different row.
640             </span><span class="jsdoc-var">rows.push</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">crow</span><span class="jsdoc-syntax">);
641             </span><span class="jsdoc-var">crow </span><span class="jsdoc-syntax">= {
642                 </span><span class="jsdoc-var">start</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">cells</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">],
643                 </span><span class="jsdoc-var">end </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">cells</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]
644             };
645
646         }
647
648         </span><span class="jsdoc-var">rows.push</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">crow</span><span class="jsdoc-syntax">);
649         </span><span class="jsdoc-var">ev.els </span><span class="jsdoc-syntax">= [];
650         </span><span class="jsdoc-var">ev.rows </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">rows</span><span class="jsdoc-syntax">;
651         </span><span class="jsdoc-var">ev.cells </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cells</span><span class="jsdoc-syntax">;
652
653         </span><span class="jsdoc-var">cells</span><span class="jsdoc-syntax">[0]</span><span class="jsdoc-var">.events.push</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">ev</span><span class="jsdoc-syntax">);
654
655         </span><span class="jsdoc-var">this.calevents.push</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">ev</span><span class="jsdoc-syntax">);
656     },
657
658     </span><span class="jsdoc-var">clearEvents</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">() {
659
660         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.calevents</span><span class="jsdoc-syntax">){
661             </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
662         }
663
664         </span><span class="jsdoc-var">Roo.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.cells.elements</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">c</span><span class="jsdoc-syntax">){
665             </span><span class="jsdoc-var">c.row </span><span class="jsdoc-syntax">= 0;
666             </span><span class="jsdoc-var">c.events </span><span class="jsdoc-syntax">= [];
667             </span><span class="jsdoc-var">c.more </span><span class="jsdoc-syntax">= [];
668         });
669
670         </span><span class="jsdoc-var">Roo.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.calevents</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">) {
671             </span><span class="jsdoc-var">Roo.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e.els</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">el</span><span class="jsdoc-syntax">) {
672                 </span><span class="jsdoc-var">el.un</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'mouseenter' </span><span class="jsdoc-syntax">,</span><span class="jsdoc-var">this.onEventEnter</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
673                 </span><span class="jsdoc-var">el.un</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'mouseleave' </span><span class="jsdoc-syntax">,</span><span class="jsdoc-var">this.onEventLeave</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
674                 </span><span class="jsdoc-var">el.remove</span><span class="jsdoc-syntax">();
675             },</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
676         },</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
677
678         </span><span class="jsdoc-var">Roo.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'.fc-more-event'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.elements</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">){
679             </span><span class="jsdoc-var">e.remove</span><span class="jsdoc-syntax">();
680         });
681
682     },
683
684     </span><span class="jsdoc-var">renderEvents</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
685     {
686         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">_this </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">;
687
688         </span><span class="jsdoc-var">this.cells.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">c</span><span class="jsdoc-syntax">) {
689
690             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">c.row </span><span class="jsdoc-syntax">&lt; 5){
691                 </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
692             }
693
694             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">ev </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">c.events</span><span class="jsdoc-syntax">;
695
696             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">r </span><span class="jsdoc-syntax">= 4;
697             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">c.row </span><span class="jsdoc-syntax">!= </span><span class="jsdoc-var">c.events.length</span><span class="jsdoc-syntax">){
698                 </span><span class="jsdoc-var">r </span><span class="jsdoc-syntax">= 4 - (4 - (</span><span class="jsdoc-var">c.row </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">c.events.length</span><span class="jsdoc-syntax">));
699             }
700
701             </span><span class="jsdoc-var">c.events </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">ev.slice</span><span class="jsdoc-syntax">(0, </span><span class="jsdoc-var">r</span><span class="jsdoc-syntax">);
702             </span><span class="jsdoc-var">c.more </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">ev.slice</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">r</span><span class="jsdoc-syntax">);
703
704             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">c.more.length </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">c.more.length </span><span class="jsdoc-syntax">== 1){
705                 </span><span class="jsdoc-var">c.events.push</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">c.more.pop</span><span class="jsdoc-syntax">());
706             }
707
708             </span><span class="jsdoc-var">c.row </span><span class="jsdoc-syntax">= (</span><span class="jsdoc-var">c.row </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">ev.length</span><span class="jsdoc-syntax">) + </span><span class="jsdoc-var">c.events.length </span><span class="jsdoc-syntax">+ ((</span><span class="jsdoc-var">c.more.length</span><span class="jsdoc-syntax">) ? 1 : 0);
709
710         });
711
712         </span><span class="jsdoc-var">this.cells.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">c</span><span class="jsdoc-syntax">) {
713
714             </span><span class="jsdoc-var">c.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'.fc-day-content div'</span><span class="jsdoc-syntax">,</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.first</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.setHeight</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Math.max</span><span class="jsdoc-syntax">(34, </span><span class="jsdoc-var">c.row </span><span class="jsdoc-syntax">* 20));
715
716
717             </span><span class="jsdoc-keyword">for </span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">e </span><span class="jsdoc-syntax">= 0; </span><span class="jsdoc-var">e </span><span class="jsdoc-syntax">&lt; </span><span class="jsdoc-var">c.events.length</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">++){
718                 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">ev </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">c.events</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">];
719                 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">rows </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">ev.rows</span><span class="jsdoc-syntax">;
720
721                 </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= 0; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">&lt; </span><span class="jsdoc-var">rows.length</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++) {
722
723                     </span><span class="jsdoc-comment">// how many rows should it span..
724
725                     </span><span class="jsdoc-keyword">var  </span><span class="jsdoc-var">cfg </span><span class="jsdoc-syntax">= {
726                         </span><span class="jsdoc-var">cls </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'roo-dynamic fc-event fc-event-hori fc-event-draggable ui-draggable'</span><span class="jsdoc-syntax">,
727                         </span><span class="jsdoc-var">style </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'position: absolute'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-comment">// left: 387px; width: 121px; top: 359px;
728
729                         </span><span class="jsdoc-var">unselectable </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;on&quot;</span><span class="jsdoc-syntax">,
730                         </span><span class="jsdoc-var">cn </span><span class="jsdoc-syntax">: [
731                             {
732                                 </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'fc-event-inner'</span><span class="jsdoc-syntax">,
733                                 </span><span class="jsdoc-var">cn </span><span class="jsdoc-syntax">: [
734     </span><span class="jsdoc-comment">//                                {
735     //                                  tag:'span',
736     //                                  cls: 'fc-event-time',
737     //                                  html : cells.length &gt; 1 ? '' : ev.time
738     //                                },
739                                     </span><span class="jsdoc-syntax">{
740                                       </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">:</span><span class="jsdoc-string">'span'</span><span class="jsdoc-syntax">,
741                                       </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'fc-event-title'</span><span class="jsdoc-syntax">,
742                                       </span><span class="jsdoc-var">html </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">String.format</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'{0}'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">ev.title</span><span class="jsdoc-syntax">)
743                                     }
744
745
746                                 ]
747                             },
748                             {
749                                 </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'ui-resizable-handle ui-resizable-e'</span><span class="jsdoc-syntax">,
750                                 </span><span class="jsdoc-var">html </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'&amp;nbsp;&amp;nbsp;&amp;nbsp'
751                             </span><span class="jsdoc-syntax">}
752
753                         ]
754                     };
755
756                     </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">== 0) {
757                         </span><span class="jsdoc-var">cfg.cls </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-string">' fc-event-start'</span><span class="jsdoc-syntax">;
758                     }
759                     </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">((</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">+1) == </span><span class="jsdoc-var">rows.length</span><span class="jsdoc-syntax">) {
760                         </span><span class="jsdoc-var">cfg.cls </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-string">' fc-event-end'</span><span class="jsdoc-syntax">;
761                     }
762
763                     </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">ctr </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">_this.el.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'.fc-event-container'</span><span class="jsdoc-syntax">,</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.first</span><span class="jsdoc-syntax">();
764                     </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cg </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">ctr.createChild</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cfg</span><span class="jsdoc-syntax">);
765
766                     </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">sbox </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">rows</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.start.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'.fc-day-content'</span><span class="jsdoc-syntax">,</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.first</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.getBox</span><span class="jsdoc-syntax">();
767                     </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">ebox </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">rows</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.end.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'.fc-day-content'</span><span class="jsdoc-syntax">,</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.first</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.getBox</span><span class="jsdoc-syntax">();
768
769                     </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">r </span><span class="jsdoc-syntax">= (</span><span class="jsdoc-var">c.more.length</span><span class="jsdoc-syntax">) ? 1 : 0;
770                     </span><span class="jsdoc-var">cg.setXY</span><span class="jsdoc-syntax">([</span><span class="jsdoc-var">sbox.x </span><span class="jsdoc-syntax">+2, </span><span class="jsdoc-var">sbox.y </span><span class="jsdoc-syntax">+ ((</span><span class="jsdoc-var">c.row </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">c.events.length </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">r </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">) * 20)]);
771                     </span><span class="jsdoc-var">cg.setWidth</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">ebox.right </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">sbox.x </span><span class="jsdoc-syntax">-2);
772
773                     </span><span class="jsdoc-var">cg.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'mouseenter' </span><span class="jsdoc-syntax">,</span><span class="jsdoc-var">_this.onEventEnter</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">_this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">ev</span><span class="jsdoc-syntax">);
774                     </span><span class="jsdoc-var">cg.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'mouseleave' </span><span class="jsdoc-syntax">,</span><span class="jsdoc-var">_this.onEventLeave</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">_this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">ev</span><span class="jsdoc-syntax">);
775                     </span><span class="jsdoc-var">cg.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'click'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">_this.onEventClick</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">_this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">ev</span><span class="jsdoc-syntax">);
776
777                     </span><span class="jsdoc-var">ev.els.push</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cg</span><span class="jsdoc-syntax">);
778
779                 }
780
781             }
782
783
784             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">c.more.length</span><span class="jsdoc-syntax">){
785                 </span><span class="jsdoc-keyword">var  </span><span class="jsdoc-var">cfg </span><span class="jsdoc-syntax">= {
786                     </span><span class="jsdoc-var">cls </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'fc-more-event roo-dynamic fc-event fc-event-hori fc-event-draggable ui-draggable fc-event-start fc-event-end'</span><span class="jsdoc-syntax">,
787                     </span><span class="jsdoc-var">style </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'position: absolute'</span><span class="jsdoc-syntax">,
788                     </span><span class="jsdoc-var">unselectable </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;on&quot;</span><span class="jsdoc-syntax">,
789                     </span><span class="jsdoc-var">cn </span><span class="jsdoc-syntax">: [
790                         {
791                             </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'fc-event-inner'</span><span class="jsdoc-syntax">,
792                             </span><span class="jsdoc-var">cn </span><span class="jsdoc-syntax">: [
793                                 {
794                                   </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">:</span><span class="jsdoc-string">'span'</span><span class="jsdoc-syntax">,
795                                   </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'fc-event-title'</span><span class="jsdoc-syntax">,
796                                   </span><span class="jsdoc-var">html </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'More'
797                                 </span><span class="jsdoc-syntax">}
798
799
800                             ]
801                         },
802                         {
803                             </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'ui-resizable-handle ui-resizable-e'</span><span class="jsdoc-syntax">,
804                             </span><span class="jsdoc-var">html </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'&amp;nbsp;&amp;nbsp;&amp;nbsp'
805                         </span><span class="jsdoc-syntax">}
806
807                     ]
808                 };
809
810                 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">ctr </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">_this.el.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'.fc-event-container'</span><span class="jsdoc-syntax">,</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.first</span><span class="jsdoc-syntax">();
811                 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cg </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">ctr.createChild</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cfg</span><span class="jsdoc-syntax">);
812
813                 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">sbox </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">c.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'.fc-day-content'</span><span class="jsdoc-syntax">,</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.first</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.getBox</span><span class="jsdoc-syntax">();
814                 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">ebox </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">c.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'.fc-day-content'</span><span class="jsdoc-syntax">,</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.first</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.getBox</span><span class="jsdoc-syntax">();
815                 </span><span class="jsdoc-comment">//Roo.log(cg);
816                 </span><span class="jsdoc-var">cg.setXY</span><span class="jsdoc-syntax">([</span><span class="jsdoc-var">sbox.x </span><span class="jsdoc-syntax">+2, </span><span class="jsdoc-var">sbox.y </span><span class="jsdoc-syntax">+((</span><span class="jsdoc-var">c.row </span><span class="jsdoc-syntax">- 1) * 20)]);
817                 </span><span class="jsdoc-var">cg.setWidth</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">ebox.right </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">sbox.x </span><span class="jsdoc-syntax">-2);
818
819                 </span><span class="jsdoc-var">cg.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'click'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">_this.onMoreEventClick</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">_this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">c.more</span><span class="jsdoc-syntax">);
820
821             }
822
823         });
824
825
826
827     },
828
829     </span><span class="jsdoc-var">onEventEnter</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">el</span><span class="jsdoc-syntax">,</span><span class="jsdoc-var">event</span><span class="jsdoc-syntax">,</span><span class="jsdoc-var">d</span><span class="jsdoc-syntax">) {
830         </span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'evententer'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">el</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">event</span><span class="jsdoc-syntax">);
831     },
832
833     </span><span class="jsdoc-var">onEventLeave</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">el</span><span class="jsdoc-syntax">,</span><span class="jsdoc-var">event</span><span class="jsdoc-syntax">,</span><span class="jsdoc-var">d</span><span class="jsdoc-syntax">) {
834         </span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'eventleave'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">el</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">event</span><span class="jsdoc-syntax">);
835     },
836
837     </span><span class="jsdoc-var">onEventClick</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">el</span><span class="jsdoc-syntax">,</span><span class="jsdoc-var">event</span><span class="jsdoc-syntax">,</span><span class="jsdoc-var">d</span><span class="jsdoc-syntax">) {
838         </span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'eventclick'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">el</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">event</span><span class="jsdoc-syntax">);
839     },
840
841     </span><span class="jsdoc-var">onMonthChange</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function </span><span class="jsdoc-syntax">() {
842         </span><span class="jsdoc-var">this.store.load</span><span class="jsdoc-syntax">();
843     },
844
845     </span><span class="jsdoc-var">onMoreEventClick</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">el</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">more</span><span class="jsdoc-syntax">)
846     {
847         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">_this </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">;
848
849         </span><span class="jsdoc-var">this.calpopover.placement </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">'right'</span><span class="jsdoc-syntax">;
850         </span><span class="jsdoc-var">this.calpopover.setTitle</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'More'</span><span class="jsdoc-syntax">);
851
852         </span><span class="jsdoc-var">this.calpopover.setContent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">);
853
854         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">ctr </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.calpopover.el.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'.popover-content'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.first</span><span class="jsdoc-syntax">();
855
856         </span><span class="jsdoc-var">Roo.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">more</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">m</span><span class="jsdoc-syntax">){
857             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cfg </span><span class="jsdoc-syntax">= {
858                 </span><span class="jsdoc-var">cls </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'fc-event-hori fc-event-draggable'</span><span class="jsdoc-syntax">,
859                 </span><span class="jsdoc-var">html </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">m.title
860             </span><span class="jsdoc-syntax">};
861             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cg </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">ctr.createChild</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cfg</span><span class="jsdoc-syntax">);
862
863             </span><span class="jsdoc-var">cg.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'click'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">_this.onEventClick</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">_this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">m</span><span class="jsdoc-syntax">);
864         });
865
866         </span><span class="jsdoc-var">this.calpopover.show</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">el</span><span class="jsdoc-syntax">);
867
868
869     },
870
871     </span><span class="jsdoc-var">onLoad</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function </span><span class="jsdoc-syntax">()
872     {
873         </span><span class="jsdoc-var">this.calevents </span><span class="jsdoc-syntax">= [];
874         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cal </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">;
875
876         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.store.getCount</span><span class="jsdoc-syntax">() &gt; 0){
877             </span><span class="jsdoc-var">this.store.data.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">d</span><span class="jsdoc-syntax">){
878                </span><span class="jsdoc-var">cal.addItem</span><span class="jsdoc-syntax">({
879                     </span><span class="jsdoc-var">id </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">d.data.id</span><span class="jsdoc-syntax">,
880                     </span><span class="jsdoc-var">start</span><span class="jsdoc-syntax">: (</span><span class="jsdoc-keyword">typeof</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">d.data.start_dt</span><span class="jsdoc-syntax">) === </span><span class="jsdoc-string">'string'</span><span class="jsdoc-syntax">) ? </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Date.parseDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">d.data.start_dt</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'Y-m-d H:i:s'</span><span class="jsdoc-syntax">) : </span><span class="jsdoc-var">d.data.start_dt</span><span class="jsdoc-syntax">,
881                     </span><span class="jsdoc-var">end </span><span class="jsdoc-syntax">: (</span><span class="jsdoc-keyword">typeof</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">d.data.end_dt</span><span class="jsdoc-syntax">) === </span><span class="jsdoc-string">'string'</span><span class="jsdoc-syntax">) ? </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Date.parseDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">d.data.end_dt</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'Y-m-d H:i:s'</span><span class="jsdoc-syntax">) : </span><span class="jsdoc-var">d.data.end_dt</span><span class="jsdoc-syntax">,
882                     </span><span class="jsdoc-var">time </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">d.data.start_time</span><span class="jsdoc-syntax">,
883                     </span><span class="jsdoc-var">title </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">d.data.title</span><span class="jsdoc-syntax">,
884                     </span><span class="jsdoc-var">description </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">d.data.description</span><span class="jsdoc-syntax">,
885                     </span><span class="jsdoc-var">venue </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">d.data.venue
886                 </span><span class="jsdoc-syntax">});
887             });
888         }
889
890         </span><span class="jsdoc-var">this.renderEvents</span><span class="jsdoc-syntax">();
891
892         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.calevents.length </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">this.loadMask</span><span class="jsdoc-syntax">){
893             </span><span class="jsdoc-var">this.maskEl.hide</span><span class="jsdoc-syntax">();
894         }
895     },
896
897     </span><span class="jsdoc-var">onBeforeLoad</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
898     {
899         </span><span class="jsdoc-var">this.clearEvents</span><span class="jsdoc-syntax">();
900         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.loadMask</span><span class="jsdoc-syntax">){
901             </span><span class="jsdoc-var">this.maskEl.show</span><span class="jsdoc-syntax">();
902         }
903     }
904 });
905
906
907  </span></code></body></html>