--- /dev/null
+<html><head><title>/home/alan/gitlive/roojs1/Roo/DatePicker.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">/*
+ * Based on:
+ * Ext JS Library 1.1.1
+ * Copyright(c) 2006-2007, Ext JS, LLC.
+ *
+ * Originally Released Under LGPL - original licence link has changed is not relivant.
+ *
+ * Fork - LGPL
+ * <script type="text/javascript">
+ */
+
+/**
+ * @class Roo.DatePicker
+ * @extends Roo.Component
+ * Simple date picker class.
+ * @constructor
+ * Create a new DatePicker
+ * @param {Object} config The config object
+ */
+</span><span class="jsdoc-var">Roo.DatePicker </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">){
+ </span><span class="jsdoc-var">Roo.DatePicker.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">);
+
+ </span><span class="jsdoc-var">this.value </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">config </span><span class="jsdoc-syntax">&& </span><span class="jsdoc-var">config.value </span><span class="jsdoc-syntax">?
+ </span><span class="jsdoc-var">config.value.clearTime</span><span class="jsdoc-syntax">() : </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Date</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.clearTime</span><span class="jsdoc-syntax">();
+
+ </span><span class="jsdoc-var">this.addEvents</span><span class="jsdoc-syntax">({
+ </span><span class="jsdoc-comment">/**
+ * @event select
+ * Fires when a date is selected
+ * @param {DatePicker} this
+ * @param {Date} date The selected date
+ */
+ </span><span class="jsdoc-string">'select'</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-comment">/**
+ * @event monthchange
+ * Fires when the displayed month changes
+ * @param {DatePicker} this
+ * @param {Date} date The selected month
+ */
+ </span><span class="jsdoc-string">'monthchange'</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true
+ </span><span class="jsdoc-syntax">});
+
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.handler</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">this.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"select"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.handler</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.scope </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
+ }
+ </span><span class="jsdoc-comment">// build the disabledDatesRE
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.disabledDatesRE </span><span class="jsdoc-syntax">&& </span><span class="jsdoc-var">this.disabledDates</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">dd </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.disabledDates</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">re </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">"(?:"</span><span class="jsdoc-syntax">;
+ </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">< </span><span class="jsdoc-var">dd.length</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++){
+ </span><span class="jsdoc-var">re </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-var">dd</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">];
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">!= </span><span class="jsdoc-var">dd.length</span><span class="jsdoc-syntax">-1) {
+ </span><span class="jsdoc-var">re </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-string">"|"</span><span class="jsdoc-syntax">;
+ }
+ }
+ </span><span class="jsdoc-var">this.disabledDatesRE </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">RegExp</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">re </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">")"</span><span class="jsdoc-syntax">);
+ }
+};
+
+</span><span class="jsdoc-var">Roo.extend</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.DatePicker</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">Roo.Component</span><span class="jsdoc-syntax">, {
+ </span><span class="jsdoc-comment">/**
+ * @cfg {String} todayText
+ * The text to display on the button that selects the current date (defaults to "Today")
+ */
+ </span><span class="jsdoc-var">todayText </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Today"</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-comment">/**
+ * @cfg {String} okText
+ * The text to display on the ok button
+ */
+ </span><span class="jsdoc-var">okText </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"&#160;OK&#160;"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-comment">// &#160; to give the user extra clicking room
+ /**
+ * @cfg {String} cancelText
+ * The text to display on the cancel button
+ */
+ </span><span class="jsdoc-var">cancelText </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Cancel"</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-comment">/**
+ * @cfg {String} todayTip
+ * The tooltip to display for the button that selects the current date (defaults to "{current date} (Spacebar)")
+ */
+ </span><span class="jsdoc-var">todayTip </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"{0} (Spacebar)"</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-comment">/**
+ * @cfg {Date} minDate
+ * Minimum allowable date (JavaScript date object, defaults to null)
+ */
+ </span><span class="jsdoc-var">minDate </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-comment">/**
+ * @cfg {Date} maxDate
+ * Maximum allowable date (JavaScript date object, defaults to null)
+ */
+ </span><span class="jsdoc-var">maxDate </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-comment">/**
+ * @cfg {String} minText
+ * The error text to display if the minDate validation fails (defaults to "This date is before the minimum date")
+ */
+ </span><span class="jsdoc-var">minText </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"This date is before the minimum date"</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-comment">/**
+ * @cfg {String} maxText
+ * The error text to display if the maxDate validation fails (defaults to "This date is after the maximum date")
+ */
+ </span><span class="jsdoc-var">maxText </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"This date is after the maximum date"</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-comment">/**
+ * @cfg {String} format
+ * The default date format string which can be overriden for localization support. The format must be
+ * valid according to {@link Date#parseDate} (defaults to 'm/d/y').
+ */
+ </span><span class="jsdoc-var">format </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"m/d/y"</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-comment">/**
+ * @cfg {Array} disabledDays
+ * An array of days to disable, 0-based. For example, [0, 6] disables Sunday and Saturday (defaults to null).
+ */
+ </span><span class="jsdoc-var">disabledDays </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-comment">/**
+ * @cfg {String} disabledDaysText
+ * The tooltip to display when the date falls on a disabled day (defaults to "")
+ */
+ </span><span class="jsdoc-var">disabledDaysText </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">""</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-comment">/**
+ * @cfg {RegExp} disabledDatesRE
+ * JavaScript regular expression used to disable a pattern of dates (defaults to null)
+ */
+ </span><span class="jsdoc-var">disabledDatesRE </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-comment">/**
+ * @cfg {String} disabledDatesText
+ * The tooltip text to display when the date falls on a disabled date (defaults to "")
+ */
+ </span><span class="jsdoc-var">disabledDatesText </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">""</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-comment">/**
+ * @cfg {Boolean} constrainToViewport
+ * True to constrain the date picker to the viewport (defaults to true)
+ */
+ </span><span class="jsdoc-var">constrainToViewport </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-comment">/**
+ * @cfg {Array} monthNames
+ * An array of textual month names which can be overriden for localization support (defaults to Date.monthNames)
+ */
+ </span><span class="jsdoc-var">monthNames </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">Date.monthNames</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-comment">/**
+ * @cfg {Array} dayNames
+ * An array of textual day names which can be overriden for localization support (defaults to Date.dayNames)
+ */
+ </span><span class="jsdoc-var">dayNames </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">Date.dayNames</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-comment">/**
+ * @cfg {String} nextText
+ * The next month navigation button tooltip (defaults to 'Next Month (Control+Right)')
+ */
+ </span><span class="jsdoc-var">nextText</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'Next Month (Control+Right)'</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-comment">/**
+ * @cfg {String} prevText
+ * The previous month navigation button tooltip (defaults to 'Previous Month (Control+Left)')
+ */
+ </span><span class="jsdoc-var">prevText</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'Previous Month (Control+Left)'</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-comment">/**
+ * @cfg {String} monthYearText
+ * The header month selector tooltip (defaults to 'Choose a month (Control+Up/Down to move years)')
+ */
+ </span><span class="jsdoc-var">monthYearText</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'Choose a month (Control+Up/Down to move years)'</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-comment">/**
+ * @cfg {Number} startDay
+ * Day index at which the week should begin, 0-based (defaults to 0, which is Sunday)
+ */
+ </span><span class="jsdoc-var">startDay </span><span class="jsdoc-syntax">: 0,
+ </span><span class="jsdoc-comment">/**
+ * @cfg {Bool} showClear
+ * Show a clear button (usefull for date form elements that can be blank.)
+ */
+
+ </span><span class="jsdoc-var">showClear</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
+
+ </span><span class="jsdoc-comment">/**
+ * Sets the value of the date field
+ * @param {Date} value The date to set
+ */
+ </span><span class="jsdoc-var">setValue </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">){
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">old </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.value</span><span class="jsdoc-syntax">;
+
+ </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">value</span><span class="jsdoc-syntax">) == </span><span class="jsdoc-string">'string'</span><span class="jsdoc-syntax">) {
+
+ </span><span class="jsdoc-var">value </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">);
+ }
+ </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-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Date</span><span class="jsdoc-syntax">();
+ }
+
+ </span><span class="jsdoc-var">this.value </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">value.clearTime</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.el</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">this.update</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.value</span><span class="jsdoc-syntax">);
+ }
+ },
+
+ </span><span class="jsdoc-comment">/**
+ * Gets the current selected value of the date field
+ * @return {Date} The selected date
+ */
+ </span><span class="jsdoc-var">getValue </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
+ </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.value</span><span class="jsdoc-syntax">;
+ },
+
+ </span><span class="jsdoc-comment">// private
+ </span><span class="jsdoc-var">focus </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.el</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">this.update</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.activeDate</span><span class="jsdoc-syntax">);
+ }
+ },
+
+ </span><span class="jsdoc-comment">// privateval
+ </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">container</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">position</span><span class="jsdoc-syntax">){
+
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">m </span><span class="jsdoc-syntax">= [
+ </span><span class="jsdoc-string">'<table cellspacing="0">'</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-string">'<tr><td class="x-date-left"><a href="#" title="'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.prevText </span><span class="jsdoc-syntax">,</span><span class="jsdoc-string">'">&#160;</a></td><td class="x-date-middle" align="center"></td><td class="x-date-right"><a href="#" title="'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.nextText </span><span class="jsdoc-syntax">,</span><span class="jsdoc-string">'">&#160;</a></td></tr>'</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-string">'<tr><td colspan="3"><table class="x-date-inner" cellspacing="0"><thead><tr>'</span><span class="jsdoc-syntax">];
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">dn </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.dayNames</span><span class="jsdoc-syntax">;
+ </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">< 7; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++){
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">d </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.startDay</span><span class="jsdoc-syntax">+</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">d </span><span class="jsdoc-syntax">> 6){
+ </span><span class="jsdoc-var">d </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">d</span><span class="jsdoc-syntax">-7;
+ }
+ </span><span class="jsdoc-var">m.push</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"<th><span>"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">dn</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">d</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.substr</span><span class="jsdoc-syntax">(0,1), </span><span class="jsdoc-string">"</span></th>"</span><span class="jsdoc-syntax">);
+ }
+ </span><span class="jsdoc-var">m</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">m.length</span><span class="jsdoc-syntax">] = </span><span class="jsdoc-string">"</tr></thead><tbody><tr>"</span><span class="jsdoc-syntax">;
+ </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">< 42; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++) {
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">% 7 == 0 && </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">!= 0){
+ </span><span class="jsdoc-var">m</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">m.length</span><span class="jsdoc-syntax">] = </span><span class="jsdoc-string">"</tr><tr>"</span><span class="jsdoc-syntax">;
+ }
+ </span><span class="jsdoc-var">m</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">m.length</span><span class="jsdoc-syntax">] = </span><span class="jsdoc-string">'<td><a href="#" hidefocus="on" class="x-date-date" tabIndex="1"><em><span></span></em></a></td>'</span><span class="jsdoc-syntax">;
+ }
+ </span><span class="jsdoc-var">m</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">m.length</span><span class="jsdoc-syntax">] = </span><span class="jsdoc-string">'</tr></tbody></table></td></tr><tr>'</span><span class="jsdoc-syntax">+
+ </span><span class="jsdoc-string">'<td colspan="3" class="x-date-bottom" align="center"></td></tr></table><div class="x-date-mp"></div>'</span><span class="jsdoc-syntax">;
+
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">el </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">document.createElement</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"div"</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">el.className </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">"x-date-picker"</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-var">el.innerHTML </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">m.join</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">""</span><span class="jsdoc-syntax">);
+
+ </span><span class="jsdoc-var">container.dom.insertBefore</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">el</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">position</span><span class="jsdoc-syntax">);
+
+ </span><span class="jsdoc-var">this.el </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">el</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.eventEl </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">el.firstChild</span><span class="jsdoc-syntax">);
+
+ </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.util.ClickRepeater</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.el.child</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"td.x-date-left a"</span><span class="jsdoc-syntax">), {
+ </span><span class="jsdoc-var">handler</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.showPrevMonth</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-var">scope</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-var">preventDefault</span><span class="jsdoc-syntax">:</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-var">stopDefault</span><span class="jsdoc-syntax">:</span><span class="jsdoc-keyword">true
+ </span><span class="jsdoc-syntax">});
+
+ </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.util.ClickRepeater</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.el.child</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"td.x-date-right a"</span><span class="jsdoc-syntax">), {
+ </span><span class="jsdoc-var">handler</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.showNextMonth</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-var">scope</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-var">preventDefault</span><span class="jsdoc-syntax">:</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-var">stopDefault</span><span class="jsdoc-syntax">:</span><span class="jsdoc-keyword">true
+ </span><span class="jsdoc-syntax">});
+
+ </span><span class="jsdoc-var">this.eventEl.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"mousewheel"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.handleMouseWheel</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
+
+ </span><span class="jsdoc-var">this.monthPicker </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.el.down</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'div.x-date-mp'</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.monthPicker.enableDisplayMode</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'block'</span><span class="jsdoc-syntax">);
+
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">kn </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.KeyNav</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.eventEl</span><span class="jsdoc-syntax">, {
+ </span><span class="jsdoc-string">"left" </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">e.ctrlKey </span><span class="jsdoc-syntax">?
+ </span><span class="jsdoc-var">this.showPrevMonth</span><span class="jsdoc-syntax">() :
+ </span><span class="jsdoc-var">this.update</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.activeDate.add</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"d"</span><span class="jsdoc-syntax">, -1));
+ },
+
+ </span><span class="jsdoc-string">"right" </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">e.ctrlKey </span><span class="jsdoc-syntax">?
+ </span><span class="jsdoc-var">this.showNextMonth</span><span class="jsdoc-syntax">() :
+ </span><span class="jsdoc-var">this.update</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.activeDate.add</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"d"</span><span class="jsdoc-syntax">, 1));
+ },
+
+ </span><span class="jsdoc-string">"up" </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">e.ctrlKey </span><span class="jsdoc-syntax">?
+ </span><span class="jsdoc-var">this.showNextYear</span><span class="jsdoc-syntax">() :
+ </span><span class="jsdoc-var">this.update</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.activeDate.add</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"d"</span><span class="jsdoc-syntax">, -7));
+ },
+
+ </span><span class="jsdoc-string">"down" </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">e.ctrlKey </span><span class="jsdoc-syntax">?
+ </span><span class="jsdoc-var">this.showPrevYear</span><span class="jsdoc-syntax">() :
+ </span><span class="jsdoc-var">this.update</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.activeDate.add</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"d"</span><span class="jsdoc-syntax">, 7));
+ },
+
+ </span><span class="jsdoc-string">"pageUp" </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">this.showNextMonth</span><span class="jsdoc-syntax">();
+ },
+
+ </span><span class="jsdoc-string">"pageDown" </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">this.showPrevMonth</span><span class="jsdoc-syntax">();
+ },
+
+ </span><span class="jsdoc-string">"enter" </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">e.stopPropagation</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-keyword">return true</span><span class="jsdoc-syntax">;
+ },
+
+ </span><span class="jsdoc-var">scope </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this
+ </span><span class="jsdoc-syntax">});
+
+ </span><span class="jsdoc-var">this.eventEl.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"click"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.handleDateClick</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, {</span><span class="jsdoc-var">delegate</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"a.x-date-date"</span><span class="jsdoc-syntax">});
+
+ </span><span class="jsdoc-var">this.eventEl.addKeyListener</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.EventObject.SPACE</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.selectToday</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
+
+ </span><span class="jsdoc-var">this.el.unselectable</span><span class="jsdoc-syntax">();
+
+ </span><span class="jsdoc-var">this.cells </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.el.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"table.x-date-inner tbody td"</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.textNodes </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.el.query</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"table.x-date-inner tbody span"</span><span class="jsdoc-syntax">);
+
+ </span><span class="jsdoc-var">this.mbtn </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.Button</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.el.child</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"td.x-date-middle"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">), {
+ </span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"&#160;"</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-var">tooltip</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.monthYearText
+ </span><span class="jsdoc-syntax">});
+
+ </span><span class="jsdoc-var">this.mbtn.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'click'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.showMonthPicker</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.mbtn.el.child</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.mbtn.menuClassTarget</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.addClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"x-btn-with-menu"</span><span class="jsdoc-syntax">);
+
+
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">today </span><span class="jsdoc-syntax">= (</span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Date</span><span class="jsdoc-syntax">())</span><span class="jsdoc-var">.dateFormat</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.format</span><span class="jsdoc-syntax">);
+
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">baseTb </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.Toolbar</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.el.child</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"td.x-date-bottom"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">));
+ </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.showClear</span><span class="jsdoc-syntax">) {
+ </span><span class="jsdoc-var">baseTb.add</span><span class="jsdoc-syntax">( </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.Toolbar.Fill</span><span class="jsdoc-syntax">());
+ }
+ </span><span class="jsdoc-var">baseTb.add</span><span class="jsdoc-syntax">({
+ </span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">String.format</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.todayText</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">today</span><span class="jsdoc-syntax">),
+ </span><span class="jsdoc-var">tooltip</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">String.format</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.todayTip</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">today</span><span class="jsdoc-syntax">),
+ </span><span class="jsdoc-var">handler</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.selectToday</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-var">scope</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this
+ </span><span class="jsdoc-syntax">});
+
+ </span><span class="jsdoc-comment">//var todayBtn = new Roo.Button(this.el.child("td.x-date-bottom", true), {
+
+ //});
+ </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.showClear</span><span class="jsdoc-syntax">) {
+
+ </span><span class="jsdoc-var">baseTb.add</span><span class="jsdoc-syntax">( </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.Toolbar.Fill</span><span class="jsdoc-syntax">());
+ </span><span class="jsdoc-var">baseTb.add</span><span class="jsdoc-syntax">({
+ </span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'&#160;'</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'x-btn-icon x-btn-clear'</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-var">handler</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">() {
+ </span><span class="jsdoc-comment">//this.value = '';
+ </span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"select"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">);
+ },
+ </span><span class="jsdoc-var">scope</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this
+ </span><span class="jsdoc-syntax">});
+ }
+
+
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.isIE</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">this.el.repaint</span><span class="jsdoc-syntax">();
+ }
+ </span><span class="jsdoc-var">this.update</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.value</span><span class="jsdoc-syntax">);
+ },
+
+ </span><span class="jsdoc-var">createMonthPicker </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.monthPicker.dom.firstChild</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">buf </span><span class="jsdoc-syntax">= [</span><span class="jsdoc-string">'<table border="0" cellspacing="0">'</span><span class="jsdoc-syntax">];
+ </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">< 6; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++){
+ </span><span class="jsdoc-var">buf.push</span><span class="jsdoc-syntax">(
+ </span><span class="jsdoc-string">'<tr><td class="x-date-mp-month"><a href="#">'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.monthNames</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.substr</span><span class="jsdoc-syntax">(0, 3), </span><span class="jsdoc-string">'</a></td>'</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-string">'<td class="x-date-mp-month x-date-mp-sep"><a href="#">'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.monthNames</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">+6]</span><span class="jsdoc-var">.substr</span><span class="jsdoc-syntax">(0, 3), </span><span class="jsdoc-string">'</a></td>'</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">== 0 ?
+ </span><span class="jsdoc-string">'<td class="x-date-mp-ybtn" align="center"><a class="x-date-mp-prev"></a></td><td class="x-date-mp-ybtn" align="center"><a class="x-date-mp-next"></a></td></tr>' </span><span class="jsdoc-syntax">:
+ </span><span class="jsdoc-string">'<td class="x-date-mp-year"><a href="#"></a></td><td class="x-date-mp-year"><a href="#"></a></td></tr>'
+ </span><span class="jsdoc-syntax">);
+ }
+ </span><span class="jsdoc-var">buf.push</span><span class="jsdoc-syntax">(
+ </span><span class="jsdoc-string">'<tr class="x-date-mp-btns"><td colspan="4"><button type="button" class="x-date-mp-ok">'</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-var">this.okText</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-string">'</button><button type="button" class="x-date-mp-cancel">'</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-var">this.cancelText</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-string">'</button></td></tr>'</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-string">'</table>'
+ </span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.monthPicker.update</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">buf.join</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">));
+ </span><span class="jsdoc-var">this.monthPicker.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'click'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onMonthClick</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.monthPicker.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'dblclick'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onMonthDblClick</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
+
+ </span><span class="jsdoc-var">this.mpMonths </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.monthPicker.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'td.x-date-mp-month'</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.mpYears </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.monthPicker.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'td.x-date-mp-year'</span><span class="jsdoc-syntax">);
+
+ </span><span class="jsdoc-var">this.mpMonths.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">m</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">a</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">+= 1;
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">((</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">%2) == 0){
+ </span><span class="jsdoc-var">m.dom.xmonth </span><span class="jsdoc-syntax">= 5 + </span><span class="jsdoc-var">Math.round</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">* </span><span class="jsdoc-var">.5</span><span class="jsdoc-syntax">);
+ }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
+ </span><span class="jsdoc-var">m.dom.xmonth </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Math.round</span><span class="jsdoc-syntax">((</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">-1) * </span><span class="jsdoc-var">.5</span><span class="jsdoc-syntax">);
+ }
+ });
+ }
+ },
+
+ </span><span class="jsdoc-var">showMonthPicker </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
+ </span><span class="jsdoc-var">this.createMonthPicker</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">size </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.el.getSize</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-var">this.monthPicker.setSize</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">size</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.monthPicker.child</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'table'</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.setSize</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">size</span><span class="jsdoc-syntax">);
+
+ </span><span class="jsdoc-var">this.mpSelMonth </span><span class="jsdoc-syntax">= (</span><span class="jsdoc-var">this.activeDate </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">this.value</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.getMonth</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-var">this.updateMPMonth</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.mpSelMonth</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.mpSelYear </span><span class="jsdoc-syntax">= (</span><span class="jsdoc-var">this.activeDate </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">this.value</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.getFullYear</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-var">this.updateMPYear</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.mpSelYear</span><span class="jsdoc-syntax">);
+
+ </span><span class="jsdoc-var">this.monthPicker.slideIn</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'t'</span><span class="jsdoc-syntax">, {</span><span class="jsdoc-var">duration</span><span class="jsdoc-syntax">:</span><span class="jsdoc-var">.2</span><span class="jsdoc-syntax">});
+ },
+
+ </span><span class="jsdoc-var">updateMPYear </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">y</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">this.mpyear </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">y</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">ys </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.mpYears.elements</span><span class="jsdoc-syntax">;
+ </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"><= 10; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++){
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">td </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">ys</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">-1], </span><span class="jsdoc-var">y2</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">((</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">%2) == 0){
+ </span><span class="jsdoc-var">y2 </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">y </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">Math.round</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">* </span><span class="jsdoc-var">.5</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">td.firstChild.innerHTML </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">y2</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-var">td.xyear </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">y2</span><span class="jsdoc-syntax">;
+ }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
+ </span><span class="jsdoc-var">y2 </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">y </span><span class="jsdoc-syntax">- (5-</span><span class="jsdoc-var">Math.round</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">* </span><span class="jsdoc-var">.5</span><span class="jsdoc-syntax">));
+ </span><span class="jsdoc-var">td.firstChild.innerHTML </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">y2</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-var">td.xyear </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">y2</span><span class="jsdoc-syntax">;
+ }
+ </span><span class="jsdoc-var">this.mpYears.item</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">-1)[</span><span class="jsdoc-var">y2 </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">this.mpSelYear </span><span class="jsdoc-syntax">? </span><span class="jsdoc-string">'addClass' </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'removeClass'</span><span class="jsdoc-syntax">](</span><span class="jsdoc-string">'x-date-mp-sel'</span><span class="jsdoc-syntax">);
+ }
+ },
+
+ </span><span class="jsdoc-var">updateMPMonth </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">sm</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">this.mpMonths.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">m</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">a</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">m</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">m.dom.xmonth </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">sm </span><span class="jsdoc-syntax">? </span><span class="jsdoc-string">'addClass' </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'removeClass'</span><span class="jsdoc-syntax">](</span><span class="jsdoc-string">'x-date-mp-sel'</span><span class="jsdoc-syntax">);
+ });
+ },
+
+ </span><span class="jsdoc-var">selectMPMonth</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">m</span><span class="jsdoc-syntax">){
+
+ },
+
+ </span><span class="jsdoc-var">onMonthClick </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">t</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">e.stopEvent</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">el </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.Element</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">t</span><span class="jsdoc-syntax">), </span><span class="jsdoc-var">pn</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">el.is</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'button.x-date-mp-cancel'</span><span class="jsdoc-syntax">)){
+ </span><span class="jsdoc-var">this.hideMonthPicker</span><span class="jsdoc-syntax">();
+ }
+ </span><span class="jsdoc-keyword">else if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">el.is</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'button.x-date-mp-ok'</span><span class="jsdoc-syntax">)){
+ </span><span class="jsdoc-var">this.update</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Date</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.mpSelYear</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.mpSelMonth</span><span class="jsdoc-syntax">, (</span><span class="jsdoc-var">this.activeDate </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">this.value</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.getDate</span><span class="jsdoc-syntax">()));
+ </span><span class="jsdoc-var">this.hideMonthPicker</span><span class="jsdoc-syntax">();
+ }
+ </span><span class="jsdoc-keyword">else if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">pn </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">el.up</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'td.x-date-mp-month'</span><span class="jsdoc-syntax">, 2)){
+ </span><span class="jsdoc-var">this.mpMonths.removeClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'x-date-mp-sel'</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">pn.addClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'x-date-mp-sel'</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.mpSelMonth </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">pn.dom.xmonth</span><span class="jsdoc-syntax">;
+ }
+ </span><span class="jsdoc-keyword">else if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">pn </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">el.up</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'td.x-date-mp-year'</span><span class="jsdoc-syntax">, 2)){
+ </span><span class="jsdoc-var">this.mpYears.removeClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'x-date-mp-sel'</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">pn.addClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'x-date-mp-sel'</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.mpSelYear </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">pn.dom.xyear</span><span class="jsdoc-syntax">;
+ }
+ </span><span class="jsdoc-keyword">else if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">el.is</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'a.x-date-mp-prev'</span><span class="jsdoc-syntax">)){
+ </span><span class="jsdoc-var">this.updateMPYear</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.mpyear</span><span class="jsdoc-syntax">-10);
+ }
+ </span><span class="jsdoc-keyword">else if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">el.is</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'a.x-date-mp-next'</span><span class="jsdoc-syntax">)){
+ </span><span class="jsdoc-var">this.updateMPYear</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.mpyear</span><span class="jsdoc-syntax">+10);
+ }
+ },
+
+ </span><span class="jsdoc-var">onMonthDblClick </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">t</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">e.stopEvent</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">el </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.Element</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">t</span><span class="jsdoc-syntax">), </span><span class="jsdoc-var">pn</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">pn </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">el.up</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'td.x-date-mp-month'</span><span class="jsdoc-syntax">, 2)){
+ </span><span class="jsdoc-var">this.update</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Date</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.mpSelYear</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">pn.dom.xmonth</span><span class="jsdoc-syntax">, (</span><span class="jsdoc-var">this.activeDate </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">this.value</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.getDate</span><span class="jsdoc-syntax">()));
+ </span><span class="jsdoc-var">this.hideMonthPicker</span><span class="jsdoc-syntax">();
+ }
+ </span><span class="jsdoc-keyword">else if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">pn </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">el.up</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'td.x-date-mp-year'</span><span class="jsdoc-syntax">, 2)){
+ </span><span class="jsdoc-var">this.update</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Date</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">pn.dom.xyear</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.mpSelMonth</span><span class="jsdoc-syntax">, (</span><span class="jsdoc-var">this.activeDate </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">this.value</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.getDate</span><span class="jsdoc-syntax">()));
+ </span><span class="jsdoc-var">this.hideMonthPicker</span><span class="jsdoc-syntax">();
+ }
+ },
+
+ </span><span class="jsdoc-var">hideMonthPicker </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">disableAnim</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.monthPicker</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">disableAnim </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">this.monthPicker.hide</span><span class="jsdoc-syntax">();
+ }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
+ </span><span class="jsdoc-var">this.monthPicker.slideOut</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'t'</span><span class="jsdoc-syntax">, {</span><span class="jsdoc-var">duration</span><span class="jsdoc-syntax">:</span><span class="jsdoc-var">.2</span><span class="jsdoc-syntax">});
+ }
+ }
+ },
+
+ </span><span class="jsdoc-comment">// private
+ </span><span class="jsdoc-var">showPrevMonth </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">this.update</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.activeDate.add</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"mo"</span><span class="jsdoc-syntax">, -1));
+ },
+
+ </span><span class="jsdoc-comment">// private
+ </span><span class="jsdoc-var">showNextMonth </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">this.update</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.activeDate.add</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"mo"</span><span class="jsdoc-syntax">, 1));
+ },
+
+ </span><span class="jsdoc-comment">// private
+ </span><span class="jsdoc-var">showPrevYear </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
+ </span><span class="jsdoc-var">this.update</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.activeDate.add</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"y"</span><span class="jsdoc-syntax">, -1));
+ },
+
+ </span><span class="jsdoc-comment">// private
+ </span><span class="jsdoc-var">showNextYear </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
+ </span><span class="jsdoc-var">this.update</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.activeDate.add</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"y"</span><span class="jsdoc-syntax">, 1));
+ },
+
+ </span><span class="jsdoc-comment">// private
+ </span><span class="jsdoc-var">handleMouseWheel </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">delta </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">e.getWheelDelta</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">delta </span><span class="jsdoc-syntax">> 0){
+ </span><span class="jsdoc-var">this.showPrevMonth</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-var">e.stopEvent</span><span class="jsdoc-syntax">();
+ } </span><span class="jsdoc-keyword">else if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">delta </span><span class="jsdoc-syntax">< 0){
+ </span><span class="jsdoc-var">this.showNextMonth</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-var">e.stopEvent</span><span class="jsdoc-syntax">();
+ }
+ },
+
+ </span><span class="jsdoc-comment">// private
+ </span><span class="jsdoc-var">handleDateClick </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">t</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">e.stopEvent</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">t.dateValue </span><span class="jsdoc-syntax">&& !</span><span class="jsdoc-var">Roo.fly</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">t.parentNode</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.hasClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"x-date-disabled"</span><span class="jsdoc-syntax">)){
+ </span><span class="jsdoc-var">this.setValue</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">t.dateValue</span><span class="jsdoc-syntax">));
+ </span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"select"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.value</span><span class="jsdoc-syntax">);
+ }
+ },
+
+ </span><span class="jsdoc-comment">// private
+ </span><span class="jsdoc-var">selectToday </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
+ </span><span class="jsdoc-var">this.setValue</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Date</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.clearTime</span><span class="jsdoc-syntax">());
+ </span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"select"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.value</span><span class="jsdoc-syntax">);
+ },
+
+ </span><span class="jsdoc-comment">// private
+ </span><span class="jsdoc-var">update </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">date</span><span class="jsdoc-syntax">)
+ {
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">vd </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.activeDate</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-var">this.activeDate </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">date</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">vd </span><span class="jsdoc-syntax">&& </span><span class="jsdoc-var">this.el</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">t </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">date.getTime</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">vd.getMonth</span><span class="jsdoc-syntax">() == </span><span class="jsdoc-var">date.getMonth</span><span class="jsdoc-syntax">() && </span><span class="jsdoc-var">vd.getFullYear</span><span class="jsdoc-syntax">() == </span><span class="jsdoc-var">date.getFullYear</span><span class="jsdoc-syntax">()){
+ </span><span class="jsdoc-var">this.cells.removeClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"x-date-selected"</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.cells.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">c</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">c.dom.firstChild.dateValue </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">t</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">c.addClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"x-date-selected"</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">setTimeout</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
+ </span><span class="jsdoc-keyword">try</span><span class="jsdoc-syntax">{</span><span class="jsdoc-var">c.dom.firstChild.focus</span><span class="jsdoc-syntax">();}</span><span class="jsdoc-keyword">catch</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">){}
+ }, 50);
+ </span><span class="jsdoc-keyword">return false</span><span class="jsdoc-syntax">;
+ }
+ });
+ </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
+ }
+ }
+
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">days </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">date.getDaysInMonth</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">firstOfMonth </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">date.getFirstDateOfMonth</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">startingPos </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">firstOfMonth.getDay</span><span class="jsdoc-syntax">()-</span><span class="jsdoc-var">this.startDay</span><span class="jsdoc-syntax">;
+
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">startingPos </span><span class="jsdoc-syntax"><= </span><span class="jsdoc-var">this.startDay</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">startingPos </span><span class="jsdoc-syntax">+= 7;
+ }
+
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">pm </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">date.add</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"mo"</span><span class="jsdoc-syntax">, -1);
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">prevStart </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">pm.getDaysInMonth</span><span class="jsdoc-syntax">()-</span><span class="jsdoc-var">startingPos</span><span class="jsdoc-syntax">;
+
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cells </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.cells.elements</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">textEls </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.textNodes</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-var">days </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-var">startingPos</span><span class="jsdoc-syntax">;
+
+ </span><span class="jsdoc-comment">// convert everything to numbers so it's fast
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">day </span><span class="jsdoc-syntax">= 86400000;
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">d </span><span class="jsdoc-syntax">= (</span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Date</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">pm.getFullYear</span><span class="jsdoc-syntax">(), </span><span class="jsdoc-var">pm.getMonth</span><span class="jsdoc-syntax">(), </span><span class="jsdoc-var">prevStart</span><span class="jsdoc-syntax">))</span><span class="jsdoc-var">.clearTime</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">today </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Date</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.clearTime</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.getTime</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">sel </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">date.clearTime</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.getTime</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">min </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.minDate </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">this.minDate.clearTime</span><span class="jsdoc-syntax">() : </span><span class="jsdoc-var">Number.NEGATIVE_INFINITY</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">max </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.maxDate </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">this.maxDate.clearTime</span><span class="jsdoc-syntax">() : </span><span class="jsdoc-var">Number.POSITIVE_INFINITY</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">ddMatch </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.disabledDatesRE</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">ddText </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.disabledDatesText</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">ddays </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.disabledDays </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">this.disabledDays.join</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">""</span><span class="jsdoc-syntax">) : </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">ddaysText </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.disabledDaysText</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">format </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.format</span><span class="jsdoc-syntax">;
+
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">setCellClass </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cal</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">cell</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">cell.title </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">""</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">t </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">d.getTime</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-var">cell.firstChild.dateValue </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">t</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">t </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">today</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">cell.className </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-string">" x-date-today"</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-var">cell.title </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cal.todayText</span><span class="jsdoc-syntax">;
+ }
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">t </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">sel</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">cell.className </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-string">" x-date-selected"</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-var">setTimeout</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
+ </span><span class="jsdoc-keyword">try</span><span class="jsdoc-syntax">{</span><span class="jsdoc-var">cell.firstChild.focus</span><span class="jsdoc-syntax">();}</span><span class="jsdoc-keyword">catch</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">){}
+ }, 50);
+ }
+ </span><span class="jsdoc-comment">// disabling
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">t </span><span class="jsdoc-syntax">< </span><span class="jsdoc-var">min</span><span class="jsdoc-syntax">) {
+ </span><span class="jsdoc-var">cell.className </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">" x-date-disabled"</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-var">cell.title </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cal.minText</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
+ }
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">t </span><span class="jsdoc-syntax">> </span><span class="jsdoc-var">max</span><span class="jsdoc-syntax">) {
+ </span><span class="jsdoc-var">cell.className </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">" x-date-disabled"</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-var">cell.title </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cal.maxText</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
+ }
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">ddays</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">ddays.indexOf</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">d.getDay</span><span class="jsdoc-syntax">()) != -1){
+ </span><span class="jsdoc-var">cell.title </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">ddaysText</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-var">cell.className </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">" x-date-disabled"</span><span class="jsdoc-syntax">;
+ }
+ }
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">ddMatch </span><span class="jsdoc-syntax">&& </span><span class="jsdoc-var">format</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">fvalue </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">d.dateFormat</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">format</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">ddMatch.test</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">fvalue</span><span class="jsdoc-syntax">)){
+ </span><span class="jsdoc-var">cell.title </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">ddText.replace</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"%0"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">fvalue</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">cell.className </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">" x-date-disabled"</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-keyword">for</span><span class="jsdoc-syntax">(; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">< </span><span class="jsdoc-var">startingPos</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++) {
+ </span><span class="jsdoc-var">textEls</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.innerHTML </span><span class="jsdoc-syntax">= (++</span><span class="jsdoc-var">prevStart</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">d.setDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">d.getDate</span><span class="jsdoc-syntax">()+1);
+ </span><span class="jsdoc-var">cells</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.className </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">"x-date-prevday"</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-var">setCellClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">cells</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]);
+ }
+ </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">< </span><span class="jsdoc-var">days</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++){
+ </span><span class="jsdoc-var">intDay </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">startingPos </span><span class="jsdoc-syntax">+ 1;
+ </span><span class="jsdoc-var">textEls</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.innerHTML </span><span class="jsdoc-syntax">= (</span><span class="jsdoc-var">intDay</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">d.setDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">d.getDate</span><span class="jsdoc-syntax">()+1);
+ </span><span class="jsdoc-var">cells</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.className </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">"x-date-active"</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-var">setCellClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">cells</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]);
+ }
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">extraDays </span><span class="jsdoc-syntax">= 0;
+ </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">< 42; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++) {
+ </span><span class="jsdoc-var">textEls</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.innerHTML </span><span class="jsdoc-syntax">= (++</span><span class="jsdoc-var">extraDays</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">d.setDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">d.getDate</span><span class="jsdoc-syntax">()+1);
+ </span><span class="jsdoc-var">cells</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.className </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">"x-date-nextday"</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-var">setCellClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">cells</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]);
+ }
+
+ </span><span class="jsdoc-var">this.mbtn.setText</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.monthNames</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">date.getMonth</span><span class="jsdoc-syntax">()] + </span><span class="jsdoc-string">" " </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">date.getFullYear</span><span class="jsdoc-syntax">());
+ </span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'monthchange'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">date</span><span class="jsdoc-syntax">);
+
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.internalRender</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">main </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.el.dom.firstChild</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">w </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">main.offsetWidth</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-var">this.el.setWidth</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">w </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">this.el.getBorderWidth</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"lr"</span><span class="jsdoc-syntax">));
+ </span><span class="jsdoc-var">Roo.fly</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">main</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.setWidth</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">w</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.internalRender </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-comment">// opera does not respect the auto grow header center column
+ // then, after it gets a width opera refuses to recalculate
+ // without a second pass
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.isOpera </span><span class="jsdoc-syntax">&& !</span><span class="jsdoc-var">this.secondPass</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">main.rows</span><span class="jsdoc-syntax">[0]</span><span class="jsdoc-var">.cells</span><span class="jsdoc-syntax">[1]</span><span class="jsdoc-var">.style.width </span><span class="jsdoc-syntax">= (</span><span class="jsdoc-var">w </span><span class="jsdoc-syntax">- (</span><span class="jsdoc-var">main.rows</span><span class="jsdoc-syntax">[0]</span><span class="jsdoc-var">.cells</span><span class="jsdoc-syntax">[0]</span><span class="jsdoc-var">.offsetWidth</span><span class="jsdoc-syntax">+</span><span class="jsdoc-var">main.rows</span><span class="jsdoc-syntax">[0]</span><span class="jsdoc-var">.cells</span><span class="jsdoc-syntax">[2]</span><span class="jsdoc-var">.offsetWidth</span><span class="jsdoc-syntax">)) + </span><span class="jsdoc-string">"px"</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-var">this.secondPass </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-var">this.update.defer</span><span class="jsdoc-syntax">(10, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, [</span><span class="jsdoc-var">date</span><span class="jsdoc-syntax">]);
+ }
+ }
+
+
+ }
+});</span></code></body></html>
\ No newline at end of file