docs/symbols/src/Roo_util_ClickRepeater.js.html
[roojs1] / docs / symbols / src / Roo_bootstrap_DateField.js.html
1 <html><head><title>../roojs1/Roo/bootstrap/DateField.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  * DateField
5  * 
6  */
7
8 /**
9  * @class Roo.bootstrap.DateField
10  * @extends Roo.bootstrap.Input
11  * Bootstrap DateField class
12  * @cfg {Number} weekStart default 0
13  * @cfg {Number} weekStart default 0
14  * @cfg {Number} viewMode default empty, (months|years)
15  * @cfg {Number} minViewMode default empty, (months|years)
16  * @cfg {Number} startDate default -Infinity
17  * @cfg {Number} endDate default Infinity
18  * @cfg {Boolean} todayHighlight default false
19  * @cfg {Boolean} todayBtn default false
20  * @cfg {Boolean} calendarWeeks default false
21  * @cfg {Object} daysOfWeekDisabled default empty
22  * 
23  * @cfg {Boolean} keyboardNavigation default true
24  * @cfg {String} language default en
25  * 
26  * @constructor
27  * Create a new DateField
28  * @param {Object} config The config object
29  */
30
31 </span><span class="jsdoc-var">Roo.bootstrap.DateField </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">){
32     </span><span class="jsdoc-var">Roo.bootstrap.DateField.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">);
33 };
34
35 </span><span class="jsdoc-var">Roo.extend</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.bootstrap.DateField</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">Roo.bootstrap.Input</span><span class="jsdoc-syntax">,  {
36     
37     </span><span class="jsdoc-comment">/**
38      * @cfg {String} format
39      * The default date format string which can be overriden for localization support.  The format must be
40      * valid according to {@link Date#parseDate} (defaults to 'm/d/y').
41      */
42     </span><span class="jsdoc-var">format </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;m/d/y&quot;</span><span class="jsdoc-syntax">,
43     </span><span class="jsdoc-comment">/**
44      * @cfg {String} altFormats
45      * Multiple date formats separated by &quot;|&quot; to try when parsing a user input value and it doesn't match the defined
46      * format (defaults to 'm/d/Y|m-d-y|m-d-Y|m/d|m-d|d').
47      */
48     </span><span class="jsdoc-var">altFormats </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;m/d/Y|m-d-y|m-d-Y|m/d|m-d|md|mdy|mdY|d&quot;</span><span class="jsdoc-syntax">,
49     
50     </span><span class="jsdoc-var">weekStart </span><span class="jsdoc-syntax">: 0,
51     
52     </span><span class="jsdoc-var">viewMode </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">,
53     
54     </span><span class="jsdoc-var">minViewMode </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">,
55     
56     </span><span class="jsdoc-var">todayHighlight </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
57     
58     </span><span class="jsdoc-var">todayBtn</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
59     
60     </span><span class="jsdoc-var">language</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'en'</span><span class="jsdoc-syntax">,
61     
62     </span><span class="jsdoc-var">keyboardNavigation</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
63     
64     </span><span class="jsdoc-var">calendarWeeks</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
65     
66     </span><span class="jsdoc-var">startDate</span><span class="jsdoc-syntax">: -</span><span class="jsdoc-var">Infinity</span><span class="jsdoc-syntax">,
67     
68     </span><span class="jsdoc-var">endDate</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">Infinity</span><span class="jsdoc-syntax">,
69     
70     </span><span class="jsdoc-var">daysOfWeekDisabled</span><span class="jsdoc-syntax">: [],
71     
72     </span><span class="jsdoc-var">_events</span><span class="jsdoc-syntax">: [],
73     
74     </span><span class="jsdoc-var">UTCDate</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
75     {
76         </span><span class="jsdoc-keyword">return new </span><span class="jsdoc-var">Date</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Date.UTC.apply</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Date</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">arguments</span><span class="jsdoc-syntax">));
77     },
78     
79     </span><span class="jsdoc-var">UTCToday</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
80     {
81         </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">();
82         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.UTCDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">today.getUTCFullYear</span><span class="jsdoc-syntax">(), </span><span class="jsdoc-var">today.getUTCMonth</span><span class="jsdoc-syntax">(), </span><span class="jsdoc-var">today.getUTCDate</span><span class="jsdoc-syntax">());
83     },
84     
85     </span><span class="jsdoc-var">getDate</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">() {
86             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">d </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.getUTCDate</span><span class="jsdoc-syntax">();
87             </span><span class="jsdoc-keyword">return new </span><span class="jsdoc-var">Date</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">d.getTime</span><span class="jsdoc-syntax">() + (</span><span class="jsdoc-var">d.getTimezoneOffset</span><span class="jsdoc-syntax">()*60000));
88     },
89     
90     </span><span class="jsdoc-var">getUTCDate</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">() {
91             </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.date</span><span class="jsdoc-syntax">;
92     },
93     
94     </span><span class="jsdoc-var">setDate</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">) {
95             </span><span class="jsdoc-var">this.setUTCDate</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">d.getTime</span><span class="jsdoc-syntax">() - (</span><span class="jsdoc-var">d.getTimezoneOffset</span><span class="jsdoc-syntax">()*60000)));
96     },
97     
98     </span><span class="jsdoc-var">setUTCDate</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">) {
99             </span><span class="jsdoc-var">this.date </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">d</span><span class="jsdoc-syntax">;
100             </span><span class="jsdoc-var">this.setValue</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.formatDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.date</span><span class="jsdoc-syntax">));
101     },
102         
103     </span><span class="jsdoc-var">onRender</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">ct</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">position</span><span class="jsdoc-syntax">)
104     {
105         
106         </span><span class="jsdoc-var">Roo.bootstrap.DateField.superclass.onRender.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">ct</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">position</span><span class="jsdoc-syntax">);
107         
108         </span><span class="jsdoc-var">this.language </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.language </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-string">'en'</span><span class="jsdoc-syntax">;
109         </span><span class="jsdoc-var">this.language </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.language </span><span class="jsdoc-keyword">in </span><span class="jsdoc-var">Roo.bootstrap.DateField.dates </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">this.language </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.language.split</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'-'</span><span class="jsdoc-syntax">)[0];
110         </span><span class="jsdoc-var">this.language </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.language </span><span class="jsdoc-keyword">in </span><span class="jsdoc-var">Roo.bootstrap.DateField.dates </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">this.language </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;en&quot;</span><span class="jsdoc-syntax">;
111         
112         </span><span class="jsdoc-var">this.isRTL </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.bootstrap.DateField.dates</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">this.language</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.rtl </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
113         </span><span class="jsdoc-var">this.format </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.format </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-string">'m/d/y'</span><span class="jsdoc-syntax">;
114         </span><span class="jsdoc-var">this.isInline </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
115         </span><span class="jsdoc-var">this.isInput </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
116         </span><span class="jsdoc-var">this.component </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.el.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'.add-on'</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-keyword">false</span><span class="jsdoc-syntax">;
117         </span><span class="jsdoc-var">this.component </span><span class="jsdoc-syntax">= (</span><span class="jsdoc-var">this.component </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">this.component.length </span><span class="jsdoc-syntax">=== 0) ? </span><span class="jsdoc-keyword">false </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.component</span><span class="jsdoc-syntax">;
118         </span><span class="jsdoc-var">this.hasInput </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.component </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">this.inputEL</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.length</span><span class="jsdoc-syntax">;
119         
120         </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">typeof</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.minViewMode </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-string">'string'</span><span class="jsdoc-syntax">)) {
121             </span><span class="jsdoc-keyword">switch </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.minViewMode</span><span class="jsdoc-syntax">) {
122                 </span><span class="jsdoc-keyword">case </span><span class="jsdoc-string">'months'</span><span class="jsdoc-syntax">:
123                     </span><span class="jsdoc-var">this.minViewMode </span><span class="jsdoc-syntax">= 1;
124                     </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
125                 </span><span class="jsdoc-keyword">case </span><span class="jsdoc-string">'years'</span><span class="jsdoc-syntax">:
126                     </span><span class="jsdoc-var">this.minViewMode </span><span class="jsdoc-syntax">= 2;
127                     </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
128                 </span><span class="jsdoc-keyword">default</span><span class="jsdoc-syntax">:
129                     </span><span class="jsdoc-var">this.minViewMode </span><span class="jsdoc-syntax">= 0;
130                     </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
131             }
132         }
133         
134         </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">typeof</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.viewMode </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-string">'string'</span><span class="jsdoc-syntax">)) {
135             </span><span class="jsdoc-keyword">switch </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.viewMode</span><span class="jsdoc-syntax">) {
136                 </span><span class="jsdoc-keyword">case </span><span class="jsdoc-string">'months'</span><span class="jsdoc-syntax">:
137                     </span><span class="jsdoc-var">this.viewMode </span><span class="jsdoc-syntax">= 1;
138                     </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
139                 </span><span class="jsdoc-keyword">case </span><span class="jsdoc-string">'years'</span><span class="jsdoc-syntax">:
140                     </span><span class="jsdoc-var">this.viewMode </span><span class="jsdoc-syntax">= 2;
141                     </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
142                 </span><span class="jsdoc-keyword">default</span><span class="jsdoc-syntax">:
143                     </span><span class="jsdoc-var">this.viewMode </span><span class="jsdoc-syntax">= 0;
144                     </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
145             }
146         }
147                 
148         </span><span class="jsdoc-var">this.el.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'&gt;.input-group'</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">.createChild</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.bootstrap.DateField.template</span><span class="jsdoc-syntax">);
149         
150         </span><span class="jsdoc-var">this.picker</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.setVisibilityMode</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.Element.DISPLAY</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.originalDisplay </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">'block'</span><span class="jsdoc-syntax">;
151         
152         </span><span class="jsdoc-var">this.picker</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'mousedown'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onMousedown</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
153         </span><span class="jsdoc-var">this.picker</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.onClick</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
154         
155         </span><span class="jsdoc-var">this.picker</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.addClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'datepicker-dropdown'</span><span class="jsdoc-syntax">);
156         
157         </span><span class="jsdoc-var">this.startViewMode </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.viewMode</span><span class="jsdoc-syntax">;
158         
159         
160         </span><span class="jsdoc-var">Roo.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.picker</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'tfoot th.today'</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">v</span><span class="jsdoc-syntax">){
161             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.calendarWeeks</span><span class="jsdoc-syntax">){
162                 </span><span class="jsdoc-var">v.remove</span><span class="jsdoc-syntax">();
163                 </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
164             };
165             
166             </span><span class="jsdoc-var">v.dom.innerHTML </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.bootstrap.DateField.dates</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">this.language</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.today
167             v.attr</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'colspan'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">val</span><span class="jsdoc-syntax">){
168                 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">parseInt</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">val</span><span class="jsdoc-syntax">) + 1;
169             });
170         })
171                         
172         
173         </span><span class="jsdoc-var">this.weekEnd </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.weekStart </span><span class="jsdoc-syntax">=== 0 ? 6 : </span><span class="jsdoc-var">this.weekStart </span><span class="jsdoc-syntax">- 1;
174         
175         </span><span class="jsdoc-var">this.setStartDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.startDate</span><span class="jsdoc-syntax">);
176         </span><span class="jsdoc-var">this.setEndDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.endDate</span><span class="jsdoc-syntax">);
177         
178         </span><span class="jsdoc-var">this.setDaysOfWeekDisabled</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.daysOfWeekDisabled</span><span class="jsdoc-syntax">);
179         
180         </span><span class="jsdoc-var">this.fillDow</span><span class="jsdoc-syntax">();
181         </span><span class="jsdoc-var">this.fillMonths</span><span class="jsdoc-syntax">();
182         </span><span class="jsdoc-var">this.update</span><span class="jsdoc-syntax">();
183         </span><span class="jsdoc-var">this.showMode</span><span class="jsdoc-syntax">();
184         
185         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.isInline</span><span class="jsdoc-syntax">) {
186             </span><span class="jsdoc-var">this.show</span><span class="jsdoc-syntax">();
187         }
188     },
189     
190     </span><span class="jsdoc-var">picker </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
191     {
192         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.el.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'.datepicker'</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">();
193     },
194     
195     </span><span class="jsdoc-var">fillDow</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
196     {
197         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">dowCnt </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.weekStart</span><span class="jsdoc-syntax">;
198         
199         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">dow </span><span class="jsdoc-syntax">= {
200             </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'tr'</span><span class="jsdoc-syntax">,
201             </span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">: [
202                 
203             ]
204         };
205         
206         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.calendarWeeks</span><span class="jsdoc-syntax">){
207             </span><span class="jsdoc-var">dow.cn.push</span><span class="jsdoc-syntax">({
208                 </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'th'</span><span class="jsdoc-syntax">,
209                 </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'cw'</span><span class="jsdoc-syntax">,
210                 </span><span class="jsdoc-var">html</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'&amp;nbsp;'
211             </span><span class="jsdoc-syntax">})
212         }
213         
214         </span><span class="jsdoc-keyword">while </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">dowCnt </span><span class="jsdoc-syntax">&lt; </span><span class="jsdoc-var">this.weekStart </span><span class="jsdoc-syntax">+ 7) {
215             </span><span class="jsdoc-var">dow.cn.push</span><span class="jsdoc-syntax">({
216                 </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'th'</span><span class="jsdoc-syntax">,
217                 </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'dow'</span><span class="jsdoc-syntax">,
218                 </span><span class="jsdoc-var">html</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">Roo.bootstrap.DateField.dates</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">this.language</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.daysMin</span><span class="jsdoc-syntax">[(</span><span class="jsdoc-var">dowCnt</span><span class="jsdoc-syntax">++)%7]
219             });
220         }
221         
222         </span><span class="jsdoc-var">this.picker</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'&gt;.datepicker-days thead'</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">.createChild</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">dow</span><span class="jsdoc-syntax">);
223     },
224     
225     </span><span class="jsdoc-var">fillMonths</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
226     {    
227         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= 0
228         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">months </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.picker</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'&gt;.datepicker-months td'</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">();
229         
230         </span><span class="jsdoc-var">months.dom.innerHTML </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
231         
232         </span><span class="jsdoc-keyword">while </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">&lt; 12) {
233             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">month </span><span class="jsdoc-syntax">= {
234                 </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'span'</span><span class="jsdoc-syntax">,
235                 </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'month'</span><span class="jsdoc-syntax">,
236                 </span><span class="jsdoc-var">html</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">Roo.bootstrap.DateField.dates</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">this.language</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.monthsShort</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++]
237             }
238             
239             </span><span class="jsdoc-var">months.createChild</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">month</span><span class="jsdoc-syntax">);
240         }
241         
242     },
243     
244     </span><span class="jsdoc-var">update</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
245         
246         </span><span class="jsdoc-var">this.date </span><span class="jsdoc-syntax">= (</span><span class="jsdoc-keyword">typeof</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.date</span><span class="jsdoc-syntax">) === </span><span class="jsdoc-string">'undefined'</span><span class="jsdoc-syntax">) ? </span><span class="jsdoc-var">this.UTCToday</span><span class="jsdoc-syntax">() : (</span><span class="jsdoc-keyword">typeof</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.date</span><span class="jsdoc-syntax">) === </span><span class="jsdoc-string">'string'</span><span class="jsdoc-syntax">) ? </span><span class="jsdoc-var">this.parseDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.date</span><span class="jsdoc-syntax">) : </span><span class="jsdoc-var">this.date</span><span class="jsdoc-syntax">;
247         
248         </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.date </span><span class="jsdoc-syntax">&lt; </span><span class="jsdoc-var">this.startDate</span><span class="jsdoc-syntax">) {
249             </span><span class="jsdoc-var">this.viewDate </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">this.startDate</span><span class="jsdoc-syntax">);
250         } </span><span class="jsdoc-keyword">else if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.date </span><span class="jsdoc-syntax">&gt; </span><span class="jsdoc-var">this.endDate</span><span class="jsdoc-syntax">) {
251             </span><span class="jsdoc-var">this.viewDate </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">this.endDate</span><span class="jsdoc-syntax">);
252         } </span><span class="jsdoc-keyword">else </span><span class="jsdoc-syntax">{
253             </span><span class="jsdoc-var">this.viewDate </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">this.date</span><span class="jsdoc-syntax">);
254         }
255         
256         </span><span class="jsdoc-var">this.fill</span><span class="jsdoc-syntax">();
257     },
258     
259     </span><span class="jsdoc-var">fill</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">() {
260         </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">this.viewDate</span><span class="jsdoc-syntax">),
261                 </span><span class="jsdoc-var">year </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">d.getUTCFullYear</span><span class="jsdoc-syntax">(),
262                 </span><span class="jsdoc-var">month </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">d.getUTCMonth</span><span class="jsdoc-syntax">(),
263                 </span><span class="jsdoc-var">startYear </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.startDate </span><span class="jsdoc-syntax">!== -</span><span class="jsdoc-var">Infinity </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">this.startDate.getUTCFullYear</span><span class="jsdoc-syntax">() : -</span><span class="jsdoc-var">Infinity</span><span class="jsdoc-syntax">,
264                 </span><span class="jsdoc-var">startMonth </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.startDate </span><span class="jsdoc-syntax">!== -</span><span class="jsdoc-var">Infinity </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">this.startDate.getUTCMonth</span><span class="jsdoc-syntax">() : -</span><span class="jsdoc-var">Infinity</span><span class="jsdoc-syntax">,
265                 </span><span class="jsdoc-var">endYear </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.endDate </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-var">Infinity </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">this.endDate.getUTCFullYear</span><span class="jsdoc-syntax">() : </span><span class="jsdoc-var">Infinity</span><span class="jsdoc-syntax">,
266                 </span><span class="jsdoc-var">endMonth </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.endDate </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-var">Infinity </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">this.endDate.getUTCMonth</span><span class="jsdoc-syntax">() : </span><span class="jsdoc-var">Infinity</span><span class="jsdoc-syntax">,
267                 </span><span class="jsdoc-var">currentDate </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.date </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">this.date.valueOf</span><span class="jsdoc-syntax">(),
268                 </span><span class="jsdoc-var">today </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.UTCToday</span><span class="jsdoc-syntax">();
269         
270         </span><span class="jsdoc-var">this.picker</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'&gt;.datepicker-days thead th.switch'</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">.dom.innerHTML </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.bootstrap.DateField.dates</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">this.language</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.months</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">month</span><span class="jsdoc-syntax">]+</span><span class="jsdoc-string">' '</span><span class="jsdoc-syntax">+</span><span class="jsdoc-var">year</span><span class="jsdoc-syntax">;
271         
272 </span><span class="jsdoc-comment">//        this.picker().select('&gt;tfoot th.today', true).first().dom.innerHTML = Roo.bootstrap.DateField.dates[this.language].today;
273         
274 //        this.picker.select('&gt;tfoot th.today').
275 //                                              .text(dates[this.language].today)
276 //                                              .toggle(this.todayBtn !== false);
277     
278         </span><span class="jsdoc-var">this.updateNavArrows</span><span class="jsdoc-syntax">();
279         </span><span class="jsdoc-var">this.fillMonths</span><span class="jsdoc-syntax">();
280                                                 
281         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">prevMonth </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.UTCDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">year</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">month</span><span class="jsdoc-syntax">-1, 28,0,0,0,0),
282         
283         </span><span class="jsdoc-var">day </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">prevMonth.getDaysInMonth</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">prevMonth.getUTCFullYear</span><span class="jsdoc-syntax">(), </span><span class="jsdoc-var">prevMonth.getUTCMonth</span><span class="jsdoc-syntax">());
284          
285         </span><span class="jsdoc-var">prevMonth.setUTCDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">day</span><span class="jsdoc-syntax">);
286         
287         </span><span class="jsdoc-var">prevMonth.setUTCDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">day </span><span class="jsdoc-syntax">- (</span><span class="jsdoc-var">prevMonth.getUTCDay</span><span class="jsdoc-syntax">() - </span><span class="jsdoc-var">this.weekStart </span><span class="jsdoc-syntax">+ 7)%7);
288         
289         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">nextMonth </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">prevMonth</span><span class="jsdoc-syntax">);
290         
291         </span><span class="jsdoc-var">nextMonth.setUTCDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">nextMonth.getUTCDate</span><span class="jsdoc-syntax">() + 42);
292         
293         </span><span class="jsdoc-var">nextMonth </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">nextMonth.valueOf</span><span class="jsdoc-syntax">();
294         
295         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">fillMonths </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
296         
297         </span><span class="jsdoc-var">this.picker</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'&gt;.datepicker-days tbody'</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">.dom.innerHTML </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
298         
299         </span><span class="jsdoc-keyword">while</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">prevMonth.valueOf</span><span class="jsdoc-syntax">() &lt; </span><span class="jsdoc-var">nextMonth</span><span class="jsdoc-syntax">) {
300             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">clsName </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
301             
302             </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">prevMonth.getUTCDay</span><span class="jsdoc-syntax">() === </span><span class="jsdoc-var">this.weekStart</span><span class="jsdoc-syntax">) {
303                 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">fillMonths</span><span class="jsdoc-syntax">){
304                     </span><span class="jsdoc-var">this.picker</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'&gt;.datepicker-days tbody'</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">.createChild</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">fillMonths</span><span class="jsdoc-syntax">);
305                 }
306                     
307                 </span><span class="jsdoc-var">fillMonths </span><span class="jsdoc-syntax">= {
308                     </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'tr'</span><span class="jsdoc-syntax">,
309                     </span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">: []
310                 };
311                 
312                 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.calendarWeeks</span><span class="jsdoc-syntax">){
313                     </span><span class="jsdoc-comment">// ISO 8601: First week contains first thursday.
314                     // ISO also states week starts on Monday, but we can be more abstract here.
315                     </span><span class="jsdoc-keyword">var
316                     </span><span class="jsdoc-comment">// Start of current week: based on weekstart/current date
317                     </span><span class="jsdoc-var">ws </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">prevMonth </span><span class="jsdoc-syntax">+ (</span><span class="jsdoc-var">this.weekStart </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">prevMonth.getUTCDay</span><span class="jsdoc-syntax">() - 7) % 7 * 864</span><span class="jsdoc-var">e5</span><span class="jsdoc-syntax">),
318                     </span><span class="jsdoc-comment">// Thursday of this week
319                     </span><span class="jsdoc-var">th </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">ws </span><span class="jsdoc-syntax">+ (7 + 4 - </span><span class="jsdoc-var">ws.getUTCDay</span><span class="jsdoc-syntax">()) % 7 * 864</span><span class="jsdoc-var">e5</span><span class="jsdoc-syntax">),
320                     </span><span class="jsdoc-comment">// First Thursday of year, year from thursday
321                     </span><span class="jsdoc-var">yth </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">yth </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.UTCDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">th.getUTCFullYear</span><span class="jsdoc-syntax">(), 0, 1)) + (7 + 4 - </span><span class="jsdoc-var">yth.getUTCDay</span><span class="jsdoc-syntax">())%7*864</span><span class="jsdoc-var">e5</span><span class="jsdoc-syntax">),
322                     </span><span class="jsdoc-comment">// Calendar week: ms between thursdays, div ms per day, div 7 days
323                     </span><span class="jsdoc-var">calWeek </span><span class="jsdoc-syntax">=  (</span><span class="jsdoc-var">th </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">yth</span><span class="jsdoc-syntax">) / 864</span><span class="jsdoc-var">e5 </span><span class="jsdoc-syntax">/ 7 + 1;
324                     
325                     </span><span class="jsdoc-var">fillMonths.cn.push</span><span class="jsdoc-syntax">({
326                         </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'td'</span><span class="jsdoc-syntax">,
327                         </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'cw'</span><span class="jsdoc-syntax">,
328                         </span><span class="jsdoc-var">html</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">calWeek
329                     </span><span class="jsdoc-syntax">});
330                 }
331             }
332             
333             </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">prevMonth.getUTCFullYear</span><span class="jsdoc-syntax">() &lt; </span><span class="jsdoc-var">year </span><span class="jsdoc-syntax">|| (</span><span class="jsdoc-var">prevMonth.getUTCFullYear</span><span class="jsdoc-syntax">() == </span><span class="jsdoc-var">year </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">prevMonth.getUTCMonth</span><span class="jsdoc-syntax">() &lt; </span><span class="jsdoc-var">month</span><span class="jsdoc-syntax">)) {
334                 </span><span class="jsdoc-var">clsName </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-string">' old'</span><span class="jsdoc-syntax">;
335             } </span><span class="jsdoc-keyword">else if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">prevMonth.getUTCFullYear</span><span class="jsdoc-syntax">() &gt; </span><span class="jsdoc-var">year </span><span class="jsdoc-syntax">|| (</span><span class="jsdoc-var">prevMonth.getUTCFullYear</span><span class="jsdoc-syntax">() == </span><span class="jsdoc-var">year </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">prevMonth.getUTCMonth</span><span class="jsdoc-syntax">() &gt; </span><span class="jsdoc-var">month</span><span class="jsdoc-syntax">)) {
336                 </span><span class="jsdoc-var">clsName </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-string">' new'</span><span class="jsdoc-syntax">;
337             }
338             </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.todayHighlight </span><span class="jsdoc-syntax">&amp;&amp;
339                 </span><span class="jsdoc-var">prevMonth.getUTCFullYear</span><span class="jsdoc-syntax">() == </span><span class="jsdoc-var">today.getFullYear</span><span class="jsdoc-syntax">() &amp;&amp;
340                 </span><span class="jsdoc-var">prevMonth.getUTCMonth</span><span class="jsdoc-syntax">() == </span><span class="jsdoc-var">today.getMonth</span><span class="jsdoc-syntax">() &amp;&amp;
341                 </span><span class="jsdoc-var">prevMonth.getUTCDate</span><span class="jsdoc-syntax">() == </span><span class="jsdoc-var">today.getDate</span><span class="jsdoc-syntax">()) {
342                 </span><span class="jsdoc-var">clsName </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-string">' today'</span><span class="jsdoc-syntax">;
343             }
344             
345             </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">currentDate </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">prevMonth.valueOf</span><span class="jsdoc-syntax">() === </span><span class="jsdoc-var">currentDate</span><span class="jsdoc-syntax">) {
346                 </span><span class="jsdoc-var">clsName </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-string">' active'</span><span class="jsdoc-syntax">;
347             }
348             
349             </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">prevMonth.valueOf</span><span class="jsdoc-syntax">() &lt; </span><span class="jsdoc-var">this.startDate </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">prevMonth.valueOf</span><span class="jsdoc-syntax">() &gt; </span><span class="jsdoc-var">this.endDate </span><span class="jsdoc-syntax">||
350                     </span><span class="jsdoc-var">this.daysOfWeekDisabled.indexOf</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">prevMonth.getUTCDay</span><span class="jsdoc-syntax">()) !== -1) {
351                     </span><span class="jsdoc-var">clsName </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-string">' disabled'</span><span class="jsdoc-syntax">;
352             }
353             
354             </span><span class="jsdoc-var">fillMonths.cn.push</span><span class="jsdoc-syntax">({
355                 </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'td'</span><span class="jsdoc-syntax">,
356                 </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'day ' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">clsName</span><span class="jsdoc-syntax">,
357                 </span><span class="jsdoc-var">html</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">prevMonth.getDate</span><span class="jsdoc-syntax">()
358             })
359             
360             </span><span class="jsdoc-var">prevMonth.setDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">prevMonth.getDate</span><span class="jsdoc-syntax">()+1);
361         }
362           
363         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">currentYear </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.date </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">this.date.getUTCFullYear</span><span class="jsdoc-syntax">();
364         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">currentMonth </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.date </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">this.date.getUTCMonth</span><span class="jsdoc-syntax">();
365         
366         </span><span class="jsdoc-var">this.picker</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'&gt;.datepicker-months th.switch'</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">.dom.innerHTML </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">year</span><span class="jsdoc-syntax">;
367         
368         </span><span class="jsdoc-var">Roo.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.picker</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'&gt;.datepicker-months tbody span'</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">v</span><span class="jsdoc-syntax">,</span><span class="jsdoc-var">k</span><span class="jsdoc-syntax">){
369             </span><span class="jsdoc-var">v.removeClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'active'</span><span class="jsdoc-syntax">);
370             
371             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">currentYear </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-var">year </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">k </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-var">currentMonth</span><span class="jsdoc-syntax">){
372                 </span><span class="jsdoc-var">v.addClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'active'</span><span class="jsdoc-syntax">);
373             }
374             
375             </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">year </span><span class="jsdoc-syntax">&lt; </span><span class="jsdoc-var">startYear </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">year </span><span class="jsdoc-syntax">&gt; </span><span class="jsdoc-var">endYear </span><span class="jsdoc-syntax">|| (</span><span class="jsdoc-var">year </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">startYear </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">k </span><span class="jsdoc-syntax">&lt; </span><span class="jsdoc-var">startMonth</span><span class="jsdoc-syntax">) || (</span><span class="jsdoc-var">year </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">endYear </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">k </span><span class="jsdoc-syntax">&gt; </span><span class="jsdoc-var">endMonth</span><span class="jsdoc-syntax">)) {
376                 </span><span class="jsdoc-var">v.addClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'disabled'</span><span class="jsdoc-syntax">);
377             }
378             
379         });
380         
381         
382         </span><span class="jsdoc-var">year </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">parseInt</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">year</span><span class="jsdoc-syntax">/10, 10) * 10;
383         
384         </span><span class="jsdoc-var">this.picker</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'&gt;.datepicker-years th.switch'</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">.dom.innerHTML </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">year </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'-' </span><span class="jsdoc-syntax">+ (</span><span class="jsdoc-var">year </span><span class="jsdoc-syntax">+ 9);
385         
386         </span><span class="jsdoc-var">this.picker</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'&gt;.datepicker-years tbody td'</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">.dom.innerHTML </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
387         
388         </span><span class="jsdoc-var">year </span><span class="jsdoc-syntax">-= 1;
389         </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">= -1; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">&lt; 11; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++) {
390             </span><span class="jsdoc-var">this.picker</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'&gt;.datepicker-years tbody td'</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">.createChild</span><span class="jsdoc-syntax">({
391                 </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'span'</span><span class="jsdoc-syntax">,
392                 </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'year' </span><span class="jsdoc-syntax">+ (</span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">=== -1 || </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">=== 10 ? </span><span class="jsdoc-string">' old' </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">) + (</span><span class="jsdoc-var">currentYear </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-var">year </span><span class="jsdoc-syntax">? </span><span class="jsdoc-string">' active' </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">) + (</span><span class="jsdoc-var">year </span><span class="jsdoc-syntax">&lt; </span><span class="jsdoc-var">startYear </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">year </span><span class="jsdoc-syntax">&gt; </span><span class="jsdoc-var">endYear </span><span class="jsdoc-syntax">? </span><span class="jsdoc-string">' disabled' </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">),
393                 </span><span class="jsdoc-var">html</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">year
394             </span><span class="jsdoc-syntax">})
395             
396             </span><span class="jsdoc-var">year </span><span class="jsdoc-syntax">+= 1;
397         }
398     },
399     
400     </span><span class="jsdoc-var">showMode</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">dir</span><span class="jsdoc-syntax">) {
401         </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">dir</span><span class="jsdoc-syntax">) {
402             </span><span class="jsdoc-var">this.viewMode </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Math.max</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.minViewMode</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">Math.min</span><span class="jsdoc-syntax">(2, </span><span class="jsdoc-var">this.viewMode </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">dir</span><span class="jsdoc-syntax">));
403         }
404         </span><span class="jsdoc-var">Roo.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.picker</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'&gt;div'</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">v</span><span class="jsdoc-syntax">){
405             </span><span class="jsdoc-var">v.setVisibilityMode</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.Element.DISPLAY</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.originalDisplay </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">'block'</span><span class="jsdoc-syntax">;
406             </span><span class="jsdoc-var">v.hide</span><span class="jsdoc-syntax">();
407         });
408         </span><span class="jsdoc-var">this.picker</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'&gt;.datepicker-'</span><span class="jsdoc-syntax">+</span><span class="jsdoc-var">Roo.bootstrap.DateField.modes</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">this.viewMode</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.clsName</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">.show</span><span class="jsdoc-syntax">();
409     },
410     
411     </span><span class="jsdoc-var">place</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
412     {
413         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.isInline</span><span class="jsdoc-syntax">) </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
414         
415         </span><span class="jsdoc-var">this.picker</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.removeClass</span><span class="jsdoc-syntax">([</span><span class="jsdoc-string">'bottom'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'top'</span><span class="jsdoc-syntax">]);
416         
417         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">((</span><span class="jsdoc-var">Roo.lib.Dom.getViewHeight</span><span class="jsdoc-syntax">() + </span><span class="jsdoc-var">Roo.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">document.body</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.getScroll</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.top</span><span class="jsdoc-syntax">) - (</span><span class="jsdoc-var">this.inputEl</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.getBottom</span><span class="jsdoc-syntax">() + </span><span class="jsdoc-var">this.picker</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.getHeight</span><span class="jsdoc-syntax">()) &lt; 0){
418             </span><span class="jsdoc-comment">/*
419              * place to the top of element!
420              *
421              */
422             
423             </span><span class="jsdoc-var">this.picker</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.addClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'top'</span><span class="jsdoc-syntax">);
424             </span><span class="jsdoc-var">this.picker</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.setTop</span><span class="jsdoc-syntax">(0 - </span><span class="jsdoc-var">this.picker</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.getHeight</span><span class="jsdoc-syntax">())</span><span class="jsdoc-var">.setLeft</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.inputEl</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.getLeft</span><span class="jsdoc-syntax">() - </span><span class="jsdoc-var">this.el.getLeft</span><span class="jsdoc-syntax">());
425             
426             </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
427         }
428         
429         </span><span class="jsdoc-var">this.picker</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.addClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'bottom'</span><span class="jsdoc-syntax">);
430         
431         </span><span class="jsdoc-var">this.picker</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.setTop</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.inputEl</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.getHeight</span><span class="jsdoc-syntax">())</span><span class="jsdoc-var">.setLeft</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.inputEl</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.getLeft</span><span class="jsdoc-syntax">() - </span><span class="jsdoc-var">this.el.getLeft</span><span class="jsdoc-syntax">());
432     },
433     
434     </span><span class="jsdoc-var">parseDate </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">value</span><span class="jsdoc-syntax">){
435         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">value </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">value </span><span class="jsdoc-keyword">instanceof </span><span class="jsdoc-var">Date</span><span class="jsdoc-syntax">){
436             </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">value</span><span class="jsdoc-syntax">;
437         }
438         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">v </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Date.parseDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">value</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.format</span><span class="jsdoc-syntax">);
439         </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">v </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">this.useIso</span><span class="jsdoc-syntax">) {
440             </span><span class="jsdoc-var">v </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Date.parseDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">value</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'Y-m-d'</span><span class="jsdoc-syntax">);
441         }
442         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">v </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">this.altFormats</span><span class="jsdoc-syntax">){
443             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.altFormatsArray</span><span class="jsdoc-syntax">){
444                 </span><span class="jsdoc-var">this.altFormatsArray </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.altFormats.split</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;|&quot;</span><span class="jsdoc-syntax">);
445             }
446             </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">len </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.altFormatsArray.length</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">&lt; </span><span class="jsdoc-var">len </span><span class="jsdoc-syntax">&amp;&amp; !</span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++){
447                 </span><span class="jsdoc-var">v </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Date.parseDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">value</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.altFormatsArray</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]);
448             }
449         }
450         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">;
451     },
452     
453     </span><span class="jsdoc-var">formatDate </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">, </span><span class="jsdoc-var">fmt</span><span class="jsdoc-syntax">){
454         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">date </span><span class="jsdoc-syntax">|| !(</span><span class="jsdoc-var">date </span><span class="jsdoc-keyword">instanceof </span><span class="jsdoc-var">Date</span><span class="jsdoc-syntax">)) ?
455         </span><span class="jsdoc-var">date </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">date.dateFormat</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">fmt </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">this.format</span><span class="jsdoc-syntax">);
456     },
457     
458     </span><span class="jsdoc-var">onFocus </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
459     {
460         </span><span class="jsdoc-var">Roo.bootstrap.DateField.superclass.onFocus.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
461         </span><span class="jsdoc-var">this.show</span><span class="jsdoc-syntax">();
462     },
463     
464     </span><span class="jsdoc-var">onBlur </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
465     {
466         </span><span class="jsdoc-var">Roo.bootstrap.DateField.superclass.onBlur.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
467         </span><span class="jsdoc-var">this.hide</span><span class="jsdoc-syntax">();
468     },
469     
470     </span><span class="jsdoc-var">show </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
471     {
472         </span><span class="jsdoc-var">this.picker</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.show</span><span class="jsdoc-syntax">();
473         </span><span class="jsdoc-var">this.update</span><span class="jsdoc-syntax">();
474         </span><span class="jsdoc-var">this.place</span><span class="jsdoc-syntax">();
475     },
476     
477     </span><span class="jsdoc-var">hide </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
478     {
479         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.isInline</span><span class="jsdoc-syntax">) </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
480         </span><span class="jsdoc-var">this.picker</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.hide</span><span class="jsdoc-syntax">();
481         </span><span class="jsdoc-var">this.viewMode </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.startViewMode</span><span class="jsdoc-syntax">;
482         </span><span class="jsdoc-var">this.showMode</span><span class="jsdoc-syntax">();
483         
484     },
485     
486     </span><span class="jsdoc-var">onMousedown</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">){
487         </span><span class="jsdoc-var">e.stopPropagation</span><span class="jsdoc-syntax">();
488         </span><span class="jsdoc-var">e.preventDefault</span><span class="jsdoc-syntax">();
489     },
490     
491     </span><span class="jsdoc-var">keyup</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">){
492         </span><span class="jsdoc-var">Roo.bootstrap.DateField.superclass.keyup.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
493         </span><span class="jsdoc-var">this.update</span><span class="jsdoc-syntax">();
494         
495     },
496     
497     </span><span class="jsdoc-var">fireKey</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">){
498         </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.picker</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.isVisible</span><span class="jsdoc-syntax">()){
499             </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e.keyCode </span><span class="jsdoc-syntax">== 27) </span><span class="jsdoc-comment">// allow escape to hide and re-show picker
500                 </span><span class="jsdoc-var">this.show</span><span class="jsdoc-syntax">();
501             </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
502         }
503         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">dateChanged </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
504         </span><span class="jsdoc-var">dir</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">day</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">month</span><span class="jsdoc-syntax">,
505         </span><span class="jsdoc-var">newDate</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">newViewDate</span><span class="jsdoc-syntax">;
506         </span><span class="jsdoc-keyword">switch</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e.keyCode</span><span class="jsdoc-syntax">){
507             </span><span class="jsdoc-keyword">case </span><span class="jsdoc-syntax">27: </span><span class="jsdoc-comment">// escape
508                 </span><span class="jsdoc-var">this.hide</span><span class="jsdoc-syntax">();
509                 </span><span class="jsdoc-var">e.preventDefault</span><span class="jsdoc-syntax">();
510                 </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
511             </span><span class="jsdoc-keyword">case </span><span class="jsdoc-syntax">37: </span><span class="jsdoc-comment">// left
512             </span><span class="jsdoc-keyword">case </span><span class="jsdoc-syntax">39: </span><span class="jsdoc-comment">// right
513                 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.keyboardNavigation</span><span class="jsdoc-syntax">) </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
514                 </span><span class="jsdoc-var">dir </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">e.keyCode </span><span class="jsdoc-syntax">== 37 ? -1 : 1;
515                 
516                 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e.ctrlKey</span><span class="jsdoc-syntax">){
517                     </span><span class="jsdoc-var">newDate </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.moveYear</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.date</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">dir</span><span class="jsdoc-syntax">);
518                     </span><span class="jsdoc-var">newViewDate </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.moveYear</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.viewDate</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">dir</span><span class="jsdoc-syntax">);
519                 } </span><span class="jsdoc-keyword">else if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e.shiftKey</span><span class="jsdoc-syntax">){
520                     </span><span class="jsdoc-var">newDate </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.moveMonth</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.date</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">dir</span><span class="jsdoc-syntax">);
521                     </span><span class="jsdoc-var">newViewDate </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.moveMonth</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.viewDate</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">dir</span><span class="jsdoc-syntax">);
522                 } </span><span class="jsdoc-keyword">else </span><span class="jsdoc-syntax">{
523                     </span><span class="jsdoc-var">newDate </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">this.date</span><span class="jsdoc-syntax">);
524                     </span><span class="jsdoc-var">newDate.setUTCDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.date.getUTCDate</span><span class="jsdoc-syntax">() + </span><span class="jsdoc-var">dir</span><span class="jsdoc-syntax">);
525                     </span><span class="jsdoc-var">newViewDate </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">this.viewDate</span><span class="jsdoc-syntax">);
526                     </span><span class="jsdoc-var">newViewDate.setUTCDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.viewDate.getUTCDate</span><span class="jsdoc-syntax">() + </span><span class="jsdoc-var">dir</span><span class="jsdoc-syntax">);
527                 }
528                 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.dateWithinRange</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">newDate</span><span class="jsdoc-syntax">)){
529                     </span><span class="jsdoc-var">this.date </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">newDate</span><span class="jsdoc-syntax">;
530                     </span><span class="jsdoc-var">this.viewDate </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">newViewDate</span><span class="jsdoc-syntax">;
531                     </span><span class="jsdoc-var">this.setValue</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.formatDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.date</span><span class="jsdoc-syntax">));
532                     </span><span class="jsdoc-var">this.update</span><span class="jsdoc-syntax">();
533                     </span><span class="jsdoc-var">e.preventDefault</span><span class="jsdoc-syntax">();
534                     </span><span class="jsdoc-var">dateChanged </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
535                 }
536                 </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
537             </span><span class="jsdoc-keyword">case </span><span class="jsdoc-syntax">38: </span><span class="jsdoc-comment">// up
538             </span><span class="jsdoc-keyword">case </span><span class="jsdoc-syntax">40: </span><span class="jsdoc-comment">// down
539                 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.keyboardNavigation</span><span class="jsdoc-syntax">) </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
540                 </span><span class="jsdoc-var">dir </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">e.keyCode </span><span class="jsdoc-syntax">== 38 ? -1 : 1;
541                 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e.ctrlKey</span><span class="jsdoc-syntax">){
542                     </span><span class="jsdoc-var">newDate </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.moveYear</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.date</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">dir</span><span class="jsdoc-syntax">);
543                     </span><span class="jsdoc-var">newViewDate </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.moveYear</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.viewDate</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">dir</span><span class="jsdoc-syntax">);
544                 } </span><span class="jsdoc-keyword">else if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e.shiftKey</span><span class="jsdoc-syntax">){
545                     </span><span class="jsdoc-var">newDate </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.moveMonth</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.date</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">dir</span><span class="jsdoc-syntax">);
546                     </span><span class="jsdoc-var">newViewDate </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.moveMonth</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.viewDate</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">dir</span><span class="jsdoc-syntax">);
547                 } </span><span class="jsdoc-keyword">else </span><span class="jsdoc-syntax">{
548                     </span><span class="jsdoc-var">newDate </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">this.date</span><span class="jsdoc-syntax">);
549                     </span><span class="jsdoc-var">newDate.setUTCDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.date.getUTCDate</span><span class="jsdoc-syntax">() + </span><span class="jsdoc-var">dir </span><span class="jsdoc-syntax">* 7);
550                     </span><span class="jsdoc-var">newViewDate </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">this.viewDate</span><span class="jsdoc-syntax">);
551                     </span><span class="jsdoc-var">newViewDate.setUTCDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.viewDate.getUTCDate</span><span class="jsdoc-syntax">() + </span><span class="jsdoc-var">dir </span><span class="jsdoc-syntax">* 7);
552                 }
553                 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.dateWithinRange</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">newDate</span><span class="jsdoc-syntax">)){
554                     </span><span class="jsdoc-var">this.date </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">newDate</span><span class="jsdoc-syntax">;
555                     </span><span class="jsdoc-var">this.viewDate </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">newViewDate</span><span class="jsdoc-syntax">;
556                     </span><span class="jsdoc-var">this.setValue</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.formatDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.date</span><span class="jsdoc-syntax">));
557                     </span><span class="jsdoc-var">this.update</span><span class="jsdoc-syntax">();
558                     </span><span class="jsdoc-var">e.preventDefault</span><span class="jsdoc-syntax">();
559                     </span><span class="jsdoc-var">dateChanged </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
560                 }
561                 </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
562             </span><span class="jsdoc-keyword">case </span><span class="jsdoc-syntax">13: </span><span class="jsdoc-comment">// enter
563                 </span><span class="jsdoc-var">this.setValue</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.formatDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.date</span><span class="jsdoc-syntax">));
564                 </span><span class="jsdoc-var">this.hide</span><span class="jsdoc-syntax">();
565                 </span><span class="jsdoc-var">e.preventDefault</span><span class="jsdoc-syntax">();
566                 </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
567             </span><span class="jsdoc-keyword">case </span><span class="jsdoc-syntax">9: </span><span class="jsdoc-comment">// tab
568                 </span><span class="jsdoc-var">this.setValue</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.formatDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.date</span><span class="jsdoc-syntax">));
569                 </span><span class="jsdoc-var">this.hide</span><span class="jsdoc-syntax">();
570                 </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
571         }
572     },
573     
574     
575     </span><span class="jsdoc-var">onClick</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">) {
576         </span><span class="jsdoc-var">e.stopPropagation</span><span class="jsdoc-syntax">();
577         </span><span class="jsdoc-var">e.preventDefault</span><span class="jsdoc-syntax">();
578         
579         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">target </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">e.getTarget</span><span class="jsdoc-syntax">();
580         
581         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">target.nodeName.toLowerCase</span><span class="jsdoc-syntax">() === </span><span class="jsdoc-string">'i'</span><span class="jsdoc-syntax">){
582             </span><span class="jsdoc-var">target </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">target</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.dom.parentNode</span><span class="jsdoc-syntax">;
583         }
584         
585         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">nodeName </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">target.nodeName</span><span class="jsdoc-syntax">;
586         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">className </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">target.className</span><span class="jsdoc-syntax">;
587         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">html </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">target.innerHTML</span><span class="jsdoc-syntax">;
588         
589         </span><span class="jsdoc-keyword">switch</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">nodeName.toLowerCase</span><span class="jsdoc-syntax">()) {
590             </span><span class="jsdoc-keyword">case </span><span class="jsdoc-string">'th'</span><span class="jsdoc-syntax">:
591                 </span><span class="jsdoc-keyword">switch</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">className</span><span class="jsdoc-syntax">) {
592                     </span><span class="jsdoc-keyword">case </span><span class="jsdoc-string">'switch'</span><span class="jsdoc-syntax">:
593                         </span><span class="jsdoc-var">this.showMode</span><span class="jsdoc-syntax">(1);
594                         </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
595                     </span><span class="jsdoc-keyword">case </span><span class="jsdoc-string">'prev'</span><span class="jsdoc-syntax">:
596                     </span><span class="jsdoc-keyword">case </span><span class="jsdoc-string">'next'</span><span class="jsdoc-syntax">:
597                         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">dir </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.bootstrap.DateField.modes</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">this.viewMode</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.navStep </span><span class="jsdoc-syntax">* (</span><span class="jsdoc-var">className </span><span class="jsdoc-syntax">== </span><span class="jsdoc-string">'prev' </span><span class="jsdoc-syntax">? -1 : 1);
598                         </span><span class="jsdoc-keyword">switch</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.viewMode</span><span class="jsdoc-syntax">){
599                                 </span><span class="jsdoc-keyword">case </span><span class="jsdoc-syntax">0:
600                                         </span><span class="jsdoc-var">this.viewDate </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.moveMonth</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.viewDate</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">dir</span><span class="jsdoc-syntax">);
601                                         </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
602                                 </span><span class="jsdoc-keyword">case </span><span class="jsdoc-syntax">1:
603                                 </span><span class="jsdoc-keyword">case </span><span class="jsdoc-syntax">2:
604                                         </span><span class="jsdoc-var">this.viewDate </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.moveYear</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.viewDate</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">dir</span><span class="jsdoc-syntax">);
605                                         </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
606                         }
607                         </span><span class="jsdoc-var">this.fill</span><span class="jsdoc-syntax">();
608                         </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
609                     </span><span class="jsdoc-keyword">case </span><span class="jsdoc-string">'today'</span><span class="jsdoc-syntax">:
610                         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">date </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Date</span><span class="jsdoc-syntax">();
611                         </span><span class="jsdoc-var">this.date </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.UTCDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">date.getFullYear</span><span class="jsdoc-syntax">(), </span><span class="jsdoc-var">date.getMonth</span><span class="jsdoc-syntax">(), </span><span class="jsdoc-var">date.getDate</span><span class="jsdoc-syntax">(), 0, 0, 0);
612                         </span><span class="jsdoc-var">this.fill</span><span class="jsdoc-syntax">()
613                         </span><span class="jsdoc-var">this.setValue</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.formatDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.date</span><span class="jsdoc-syntax">));
614                         </span><span class="jsdoc-var">this.hide</span><span class="jsdoc-syntax">();
615                         </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
616                 }
617                 </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
618             </span><span class="jsdoc-keyword">case </span><span class="jsdoc-string">'span'</span><span class="jsdoc-syntax">:
619                 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">className.indexOf</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'disabled'</span><span class="jsdoc-syntax">) === -1) {
620                     </span><span class="jsdoc-var">this.viewDate.setUTCDate</span><span class="jsdoc-syntax">(1);
621                     </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">className.indexOf</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'month'</span><span class="jsdoc-syntax">) !== -1) {
622                         </span><span class="jsdoc-var">this.viewDate.setUTCMonth</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.bootstrap.DateField.dates</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">this.language</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.monthsShort.indexOf</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">html</span><span class="jsdoc-syntax">));
623                     } </span><span class="jsdoc-keyword">else </span><span class="jsdoc-syntax">{
624                         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">year </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">parseInt</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">html</span><span class="jsdoc-syntax">, 10) || 0;
625                         </span><span class="jsdoc-var">this.viewDate.setUTCFullYear</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">year</span><span class="jsdoc-syntax">);
626                         
627                     }
628                     </span><span class="jsdoc-var">this.showMode</span><span class="jsdoc-syntax">(-1);
629                     </span><span class="jsdoc-var">this.fill</span><span class="jsdoc-syntax">();
630                 }
631                 </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
632                 
633             </span><span class="jsdoc-keyword">case </span><span class="jsdoc-string">'td'</span><span class="jsdoc-syntax">:
634                 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">className.indexOf</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'day'</span><span class="jsdoc-syntax">) !== -1 &amp;&amp; </span><span class="jsdoc-var">className.indexOf</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'disabled'</span><span class="jsdoc-syntax">) === -1){
635                     </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">day </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">parseInt</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">html</span><span class="jsdoc-syntax">, 10) || 1;
636                     </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">year </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.viewDate.getUTCFullYear</span><span class="jsdoc-syntax">(),
637                         </span><span class="jsdoc-var">month </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.viewDate.getUTCMonth</span><span class="jsdoc-syntax">();
638
639                     </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">className.indexOf</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'old'</span><span class="jsdoc-syntax">) !== -1) {
640                         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">month </span><span class="jsdoc-syntax">=== 0 ){
641                             </span><span class="jsdoc-var">month </span><span class="jsdoc-syntax">= 11;
642                             </span><span class="jsdoc-var">year </span><span class="jsdoc-syntax">-= 1;
643                         }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
644                             </span><span class="jsdoc-var">month </span><span class="jsdoc-syntax">-= 1;
645                         }
646                     } </span><span class="jsdoc-keyword">else if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">className.indexOf</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'new'</span><span class="jsdoc-syntax">) !== -1) {
647                         </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">month </span><span class="jsdoc-syntax">== 11) {
648                             </span><span class="jsdoc-var">month </span><span class="jsdoc-syntax">= 0;
649                             </span><span class="jsdoc-var">year </span><span class="jsdoc-syntax">+= 1;
650                         } </span><span class="jsdoc-keyword">else </span><span class="jsdoc-syntax">{
651                             </span><span class="jsdoc-var">month </span><span class="jsdoc-syntax">+= 1;
652                         }
653                     }
654                     </span><span class="jsdoc-var">this.date </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.UTCDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">year</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">month</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">day</span><span class="jsdoc-syntax">,0,0,0,0);
655                     </span><span class="jsdoc-var">this.viewDate </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.UTCDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">year</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">month</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">Math.min</span><span class="jsdoc-syntax">(28, </span><span class="jsdoc-var">day</span><span class="jsdoc-syntax">),0,0,0,0);
656                     </span><span class="jsdoc-var">this.fill</span><span class="jsdoc-syntax">();
657                     </span><span class="jsdoc-var">this.setValue</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.formatDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.date</span><span class="jsdoc-syntax">));
658                     </span><span class="jsdoc-var">this.hide</span><span class="jsdoc-syntax">();
659                 }
660                 </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
661         }
662     },
663     
664     </span><span class="jsdoc-var">setStartDate</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">startDate</span><span class="jsdoc-syntax">){
665         </span><span class="jsdoc-var">this.startDate </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">startDate </span><span class="jsdoc-syntax">|| -</span><span class="jsdoc-var">Infinity</span><span class="jsdoc-syntax">;
666         </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.startDate </span><span class="jsdoc-syntax">!== -</span><span class="jsdoc-var">Infinity</span><span class="jsdoc-syntax">) {
667             </span><span class="jsdoc-var">this.startDate </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.parseDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.startDate</span><span class="jsdoc-syntax">);
668         }
669         </span><span class="jsdoc-var">this.update</span><span class="jsdoc-syntax">();
670         </span><span class="jsdoc-var">this.updateNavArrows</span><span class="jsdoc-syntax">();
671     },
672
673     </span><span class="jsdoc-var">setEndDate</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">endDate</span><span class="jsdoc-syntax">){
674         </span><span class="jsdoc-var">this.endDate </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">endDate </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">Infinity</span><span class="jsdoc-syntax">;
675         </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.endDate </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-var">Infinity</span><span class="jsdoc-syntax">) {
676             </span><span class="jsdoc-var">this.endDate </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.parseDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.endDate</span><span class="jsdoc-syntax">);
677         }
678         </span><span class="jsdoc-var">this.update</span><span class="jsdoc-syntax">();
679         </span><span class="jsdoc-var">this.updateNavArrows</span><span class="jsdoc-syntax">();
680     },
681     
682     </span><span class="jsdoc-var">setDaysOfWeekDisabled</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">daysOfWeekDisabled</span><span class="jsdoc-syntax">){
683         </span><span class="jsdoc-var">this.daysOfWeekDisabled </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">daysOfWeekDisabled </span><span class="jsdoc-syntax">|| [];
684         </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">typeof</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.daysOfWeekDisabled</span><span class="jsdoc-syntax">) !== </span><span class="jsdoc-string">'object'</span><span class="jsdoc-syntax">) {
685             </span><span class="jsdoc-var">this.daysOfWeekDisabled </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.daysOfWeekDisabled.split</span><span class="jsdoc-syntax">(/,\s*/);
686         }
687         </span><span class="jsdoc-var">this.daysOfWeekDisabled </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.daysOfWeekDisabled.map</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">) {
688             </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">parseInt</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">d</span><span class="jsdoc-syntax">, 10);
689         });
690         </span><span class="jsdoc-var">this.update</span><span class="jsdoc-syntax">();
691         </span><span class="jsdoc-var">this.updateNavArrows</span><span class="jsdoc-syntax">();
692     },
693     
694     </span><span class="jsdoc-var">updateNavArrows</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">() {
695         </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">this.viewDate</span><span class="jsdoc-syntax">),
696         </span><span class="jsdoc-var">year </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">d.getUTCFullYear</span><span class="jsdoc-syntax">(),
697         </span><span class="jsdoc-var">month </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">d.getUTCMonth</span><span class="jsdoc-syntax">();
698         
699         </span><span class="jsdoc-var">Roo.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.picker</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'.prev'</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">v</span><span class="jsdoc-syntax">){
700             </span><span class="jsdoc-var">v.show</span><span class="jsdoc-syntax">();
701             </span><span class="jsdoc-keyword">switch </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.viewMode</span><span class="jsdoc-syntax">) {
702                 </span><span class="jsdoc-keyword">case </span><span class="jsdoc-syntax">0:
703
704                     </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.startDate </span><span class="jsdoc-syntax">!== -</span><span class="jsdoc-var">Infinity </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">year </span><span class="jsdoc-syntax">&lt;= </span><span class="jsdoc-var">this.startDate.getUTCFullYear</span><span class="jsdoc-syntax">() &amp;&amp; </span><span class="jsdoc-var">month </span><span class="jsdoc-syntax">&lt;= </span><span class="jsdoc-var">this.startDate.getUTCMonth</span><span class="jsdoc-syntax">()) {
705                         </span><span class="jsdoc-var">v.hide</span><span class="jsdoc-syntax">();
706                     }
707                     </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
708                 </span><span class="jsdoc-keyword">case </span><span class="jsdoc-syntax">1:
709                 </span><span class="jsdoc-keyword">case </span><span class="jsdoc-syntax">2:
710                     </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.startDate </span><span class="jsdoc-syntax">!== -</span><span class="jsdoc-var">Infinity </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">year </span><span class="jsdoc-syntax">&lt;= </span><span class="jsdoc-var">this.startDate.getUTCFullYear</span><span class="jsdoc-syntax">()) {
711                         </span><span class="jsdoc-var">v.hide</span><span class="jsdoc-syntax">();
712                     }
713                     </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
714             }
715         });
716         
717         </span><span class="jsdoc-var">Roo.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.picker</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'.next'</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">v</span><span class="jsdoc-syntax">){
718             </span><span class="jsdoc-var">v.show</span><span class="jsdoc-syntax">();
719             </span><span class="jsdoc-keyword">switch </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.viewMode</span><span class="jsdoc-syntax">) {
720                 </span><span class="jsdoc-keyword">case </span><span class="jsdoc-syntax">0:
721
722                     </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.endDate </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-var">Infinity </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">year </span><span class="jsdoc-syntax">&gt;= </span><span class="jsdoc-var">this.endDate.getUTCFullYear</span><span class="jsdoc-syntax">() &amp;&amp; </span><span class="jsdoc-var">month </span><span class="jsdoc-syntax">&gt;= </span><span class="jsdoc-var">this.endDate.getUTCMonth</span><span class="jsdoc-syntax">()) {
723                         </span><span class="jsdoc-var">v.hide</span><span class="jsdoc-syntax">();
724                     }
725                     </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
726                 </span><span class="jsdoc-keyword">case </span><span class="jsdoc-syntax">1:
727                 </span><span class="jsdoc-keyword">case </span><span class="jsdoc-syntax">2:
728                     </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.endDate </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-var">Infinity </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">year </span><span class="jsdoc-syntax">&gt;= </span><span class="jsdoc-var">this.endDate.getUTCFullYear</span><span class="jsdoc-syntax">()) {
729                         </span><span class="jsdoc-var">v.hide</span><span class="jsdoc-syntax">();
730                     }
731                     </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
732             }
733         })
734     },
735     
736     </span><span class="jsdoc-var">moveMonth</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">, </span><span class="jsdoc-var">dir</span><span class="jsdoc-syntax">){
737         </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">dir</span><span class="jsdoc-syntax">) </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">date</span><span class="jsdoc-syntax">;
738         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">new_date </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">date.valueOf</span><span class="jsdoc-syntax">()),
739         </span><span class="jsdoc-var">day </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">new_date.getUTCDate</span><span class="jsdoc-syntax">(),
740         </span><span class="jsdoc-var">month </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">new_date.getUTCMonth</span><span class="jsdoc-syntax">(),
741         </span><span class="jsdoc-var">mag </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Math.abs</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">dir</span><span class="jsdoc-syntax">),
742         </span><span class="jsdoc-var">new_month</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">test</span><span class="jsdoc-syntax">;
743         </span><span class="jsdoc-var">dir </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">dir </span><span class="jsdoc-syntax">&gt; 0 ? 1 : -1;
744         </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">mag </span><span class="jsdoc-syntax">== 1){
745             </span><span class="jsdoc-var">test </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">dir </span><span class="jsdoc-syntax">== -1
746             </span><span class="jsdoc-comment">// If going back one month, make sure month is not current month
747             // (eg, Mar 31 -&gt; Feb 31 == Feb 28, not Mar 02)
748             </span><span class="jsdoc-syntax">? </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
749                 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">new_date.getUTCMonth</span><span class="jsdoc-syntax">() == </span><span class="jsdoc-var">month</span><span class="jsdoc-syntax">;
750             }
751             </span><span class="jsdoc-comment">// If going forward one month, make sure month is as expected
752             // (eg, Jan 31 -&gt; Feb 31 == Feb 28, not Mar 02)
753             </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
754                 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">new_date.getUTCMonth</span><span class="jsdoc-syntax">() != </span><span class="jsdoc-var">new_month</span><span class="jsdoc-syntax">;
755             };
756             </span><span class="jsdoc-var">new_month </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">month </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">dir</span><span class="jsdoc-syntax">;
757             </span><span class="jsdoc-var">new_date.setUTCMonth</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">new_month</span><span class="jsdoc-syntax">);
758             </span><span class="jsdoc-comment">// Dec -&gt; Jan (12) or Jan -&gt; Dec (-1) -- limit expected date to 0-11
759             </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">new_month </span><span class="jsdoc-syntax">&lt; 0 || </span><span class="jsdoc-var">new_month </span><span class="jsdoc-syntax">&gt; 11)
760                 </span><span class="jsdoc-var">new_month </span><span class="jsdoc-syntax">= (</span><span class="jsdoc-var">new_month </span><span class="jsdoc-syntax">+ 12) % 12;
761         } </span><span class="jsdoc-keyword">else </span><span class="jsdoc-syntax">{
762             </span><span class="jsdoc-comment">// For magnitudes &gt;1, move one month at a time...
763             </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">mag</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++)
764                 </span><span class="jsdoc-comment">// ...which might decrease the day (eg, Jan 31 to Feb 28, etc)...
765                 </span><span class="jsdoc-var">new_date </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.moveMonth</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">new_date</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">dir</span><span class="jsdoc-syntax">);
766             </span><span class="jsdoc-comment">// ...then reset the day, keeping it in the new month
767             </span><span class="jsdoc-var">new_month </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">new_date.getUTCMonth</span><span class="jsdoc-syntax">();
768             </span><span class="jsdoc-var">new_date.setUTCDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">day</span><span class="jsdoc-syntax">);
769             </span><span class="jsdoc-var">test </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
770                 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">new_month </span><span class="jsdoc-syntax">!= </span><span class="jsdoc-var">new_date.getUTCMonth</span><span class="jsdoc-syntax">();
771             };
772         }
773         </span><span class="jsdoc-comment">// Common date-resetting loop -- if date is beyond end of month, make it
774         // end of month
775         </span><span class="jsdoc-keyword">while </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">test</span><span class="jsdoc-syntax">()){
776             </span><span class="jsdoc-var">new_date.setUTCDate</span><span class="jsdoc-syntax">(--</span><span class="jsdoc-var">day</span><span class="jsdoc-syntax">);
777             </span><span class="jsdoc-var">new_date.setUTCMonth</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">new_month</span><span class="jsdoc-syntax">);
778         }
779         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">new_date</span><span class="jsdoc-syntax">;
780     },
781
782     </span><span class="jsdoc-var">moveYear</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">, </span><span class="jsdoc-var">dir</span><span class="jsdoc-syntax">){
783         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.moveMonth</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">date</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">dir</span><span class="jsdoc-syntax">*12);
784     },
785
786     </span><span class="jsdoc-var">dateWithinRange</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">){
787         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">date </span><span class="jsdoc-syntax">&gt;= </span><span class="jsdoc-var">this.startDate </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">date </span><span class="jsdoc-syntax">&lt;= </span><span class="jsdoc-var">this.endDate</span><span class="jsdoc-syntax">;
788     },
789
790     
791     </span><span class="jsdoc-var">remove</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">() {
792         </span><span class="jsdoc-var">this.picker</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.remove</span><span class="jsdoc-syntax">();
793     }
794    
795 });
796
797 </span><span class="jsdoc-var">Roo.apply</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.bootstrap.DateField</span><span class="jsdoc-syntax">,  {
798     
799     </span><span class="jsdoc-var">head </span><span class="jsdoc-syntax">: {
800         </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'thead'</span><span class="jsdoc-syntax">,
801         </span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">: [
802         {
803             </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'tr'</span><span class="jsdoc-syntax">,
804             </span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">: [
805             {
806                 </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'th'</span><span class="jsdoc-syntax">,
807                 </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'prev'</span><span class="jsdoc-syntax">,
808                 </span><span class="jsdoc-var">html</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'&lt;i class=&quot;icon-arrow-left&quot;/&gt;'
809             </span><span class="jsdoc-syntax">},
810             {
811                 </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'th'</span><span class="jsdoc-syntax">,
812                 </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'switch'</span><span class="jsdoc-syntax">,
813                 </span><span class="jsdoc-var">colspan</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'5'
814             </span><span class="jsdoc-syntax">},
815             {
816                 </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'th'</span><span class="jsdoc-syntax">,
817                 </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'next'</span><span class="jsdoc-syntax">,
818                 </span><span class="jsdoc-var">html</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'&lt;i class=&quot;icon-arrow-right&quot;/&gt;'
819             </span><span class="jsdoc-syntax">}
820
821             ]
822         }
823         ]
824     },
825     
826     </span><span class="jsdoc-var">content </span><span class="jsdoc-syntax">: {
827         </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'tbody'</span><span class="jsdoc-syntax">,
828         </span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">: [
829         {
830             </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'tr'</span><span class="jsdoc-syntax">,
831             </span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">: [
832             {
833                 </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'td'</span><span class="jsdoc-syntax">,
834                 </span><span class="jsdoc-var">colspan</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'7'
835             </span><span class="jsdoc-syntax">}
836             ]
837         }
838         ]
839     },
840     
841     </span><span class="jsdoc-var">footer </span><span class="jsdoc-syntax">: {
842         </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'tfoot'</span><span class="jsdoc-syntax">,
843         </span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">: [
844         {
845             </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'tr'</span><span class="jsdoc-syntax">,
846             </span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">: [
847             {
848                 </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'th'</span><span class="jsdoc-syntax">,
849                 </span><span class="jsdoc-var">colspan</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'7'</span><span class="jsdoc-syntax">,
850                 </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'today'
851             </span><span class="jsdoc-syntax">}
852                     
853             ]
854         }
855         ]
856     },
857     
858     </span><span class="jsdoc-var">dates</span><span class="jsdoc-syntax">:{
859         </span><span class="jsdoc-var">en</span><span class="jsdoc-syntax">: {
860             </span><span class="jsdoc-var">days</span><span class="jsdoc-syntax">: [</span><span class="jsdoc-string">&quot;Sunday&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;Monday&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;Tuesday&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;Wednesday&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;Thursday&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;Friday&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;Saturday&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;Sunday&quot;</span><span class="jsdoc-syntax">],
861             </span><span class="jsdoc-var">daysShort</span><span class="jsdoc-syntax">: [</span><span class="jsdoc-string">&quot;Sun&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;Mon&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;Tue&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;Wed&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;Thu&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;Fri&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;Sat&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;Sun&quot;</span><span class="jsdoc-syntax">],
862             </span><span class="jsdoc-var">daysMin</span><span class="jsdoc-syntax">: [</span><span class="jsdoc-string">&quot;Su&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;Mo&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;Tu&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;We&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;Th&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;Fr&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;Sa&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;Su&quot;</span><span class="jsdoc-syntax">],
863             </span><span class="jsdoc-var">months</span><span class="jsdoc-syntax">: [</span><span class="jsdoc-string">&quot;January&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;February&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;March&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;April&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;May&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;June&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;July&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;August&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;September&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;October&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;November&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;December&quot;</span><span class="jsdoc-syntax">],
864             </span><span class="jsdoc-var">monthsShort</span><span class="jsdoc-syntax">: [</span><span class="jsdoc-string">&quot;Jan&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;Feb&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;Mar&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;Apr&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;May&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;Jun&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;Jul&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;Aug&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;Sep&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;Oct&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;Nov&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;Dec&quot;</span><span class="jsdoc-syntax">],
865             </span><span class="jsdoc-var">today</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;Today&quot;
866         </span><span class="jsdoc-syntax">}
867     },
868     
869     </span><span class="jsdoc-var">modes</span><span class="jsdoc-syntax">: [
870     {
871         </span><span class="jsdoc-var">clsName</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'days'</span><span class="jsdoc-syntax">,
872         </span><span class="jsdoc-var">navFnc</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'Month'</span><span class="jsdoc-syntax">,
873         </span><span class="jsdoc-var">navStep</span><span class="jsdoc-syntax">: 1
874     },
875     {
876         </span><span class="jsdoc-var">clsName</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'months'</span><span class="jsdoc-syntax">,
877         </span><span class="jsdoc-var">navFnc</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'FullYear'</span><span class="jsdoc-syntax">,
878         </span><span class="jsdoc-var">navStep</span><span class="jsdoc-syntax">: 1
879     },
880     {
881         </span><span class="jsdoc-var">clsName</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'years'</span><span class="jsdoc-syntax">,
882         </span><span class="jsdoc-var">navFnc</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'FullYear'</span><span class="jsdoc-syntax">,
883         </span><span class="jsdoc-var">navStep</span><span class="jsdoc-syntax">: 10
884     }]
885 });
886
887 </span><span class="jsdoc-var">Roo.apply</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.bootstrap.DateField</span><span class="jsdoc-syntax">,  {
888   
889     </span><span class="jsdoc-var">template </span><span class="jsdoc-syntax">: {
890         </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'div'</span><span class="jsdoc-syntax">,
891         </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'datepicker dropdown-menu'</span><span class="jsdoc-syntax">,
892         </span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">: [
893         {
894             </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'div'</span><span class="jsdoc-syntax">,
895             </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'datepicker-days'</span><span class="jsdoc-syntax">,
896             </span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">: [
897             {
898                 </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'table'</span><span class="jsdoc-syntax">,
899                 </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'table-condensed'</span><span class="jsdoc-syntax">,
900                 </span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">:[
901                 </span><span class="jsdoc-var">Roo.bootstrap.DateField.head</span><span class="jsdoc-syntax">,
902                 {
903                     </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'tbody'
904                 </span><span class="jsdoc-syntax">},
905                 </span><span class="jsdoc-var">Roo.bootstrap.DateField.footer
906                 </span><span class="jsdoc-syntax">]
907             }
908             ]
909         },
910         {
911             </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'div'</span><span class="jsdoc-syntax">,
912             </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'datepicker-months'</span><span class="jsdoc-syntax">,
913             </span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">: [
914             {
915                 </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'table'</span><span class="jsdoc-syntax">,
916                 </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'table-condensed'</span><span class="jsdoc-syntax">,
917                 </span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">:[
918                 </span><span class="jsdoc-var">Roo.bootstrap.DateField.head</span><span class="jsdoc-syntax">,
919                 </span><span class="jsdoc-var">Roo.bootstrap.DateField.content</span><span class="jsdoc-syntax">,
920                 </span><span class="jsdoc-var">Roo.bootstrap.DateField.footer
921                 </span><span class="jsdoc-syntax">]
922             }
923             ]
924         },
925         {
926             </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'div'</span><span class="jsdoc-syntax">,
927             </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'datepicker-years'</span><span class="jsdoc-syntax">,
928             </span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">: [
929             {
930                 </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'table'</span><span class="jsdoc-syntax">,
931                 </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'table-condensed'</span><span class="jsdoc-syntax">,
932                 </span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">:[
933                 </span><span class="jsdoc-var">Roo.bootstrap.DateField.head</span><span class="jsdoc-syntax">,
934                 </span><span class="jsdoc-var">Roo.bootstrap.DateField.content</span><span class="jsdoc-syntax">,
935                 </span><span class="jsdoc-var">Roo.bootstrap.DateField.footer
936                 </span><span class="jsdoc-syntax">]
937             }
938             ]
939         }
940         ]
941     }
942 });
943
944  
945
946  </span></code></body></html>