~smagoun/whoopsie/whoopsie-lp1017637

« back to all changes in this revision

Viewing changes to backend/stats/static/js/yui/api/files/calendar_js_calendar-base.js.html

  • Committer: Evan Dandrea
  • Date: 2012-05-09 05:53:45 UTC
  • Revision ID: evan.dandrea@canonical.com-20120509055345-z2j41tmcbf4as5uf
The backend now lives in lp:daisy and the website (errors.ubuntu.com) now lives in lp:errors.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
<!DOCTYPE html>
2
 
<html lang="en">
3
 
<head>
4
 
    <meta charset="utf-8">
5
 
    <title>calendar&#x2F;js&#x2F;calendar-base.js - YUI 3</title>
6
 
    <link rel="stylesheet" href="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.0pr4&#x2F;build&#x2F;cssgrids&#x2F;cssgrids-min.css">
7
 
    <link rel="stylesheet" href="..&#x2F;assets/vendor/prettify/prettify-min.css">
8
 
    <link rel="stylesheet" href="..&#x2F;assets/css/main.css" id="site_styles">
9
 
    <script src="http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.5.0pr4&#x2F;build&#x2F;yui&#x2F;yui-min.js"></script>
10
 
</head>
11
 
<body class="yui3-skin-sam">
12
 
 
13
 
<div id="doc">
14
 
    <div id="hd" class="yui3-g header">
15
 
        <div class="yui3-u-3-4">
16
 
            
17
 
                <h1><img src="..&#x2F;assets/css/logo.png" title="YUI 3"></h1>
18
 
            
19
 
        </div>
20
 
        <div class="yui3-u-1-4 version">
21
 
            <em>API Docs for: 3.5.0</em>
22
 
        </div>
23
 
    </div>
24
 
    <div id="bd" class="yui3-g">
25
 
 
26
 
        <div class="yui3-u-1-4">
27
 
            <div id="docs-sidebar" class="sidebar apidocs">
28
 
                <div id="api-list">
29
 
    <h2 class="off-left">APIs</h2>
30
 
    <div id="api-tabview" class="tabview">
31
 
        <ul class="tabs">
32
 
            <li><a href="#api-classes">Classes</a></li>
33
 
            <li><a href="#api-modules">Modules</a></li>
34
 
        </ul>
35
 
 
36
 
        <div id="api-tabview-filter">
37
 
            <input type="search" id="api-filter" placeholder="Type to filter APIs">
38
 
        </div>
39
 
 
40
 
        <div id="api-tabview-panel">
41
 
            <ul id="api-classes" class="apis classes">
42
 
            
43
 
                <li><a href="..&#x2F;classes/Anim.html">Anim</a></li>
44
 
            
45
 
                <li><a href="..&#x2F;classes/App.html">App</a></li>
46
 
            
47
 
                <li><a href="..&#x2F;classes/App.Base.html">App.Base</a></li>
48
 
            
49
 
                <li><a href="..&#x2F;classes/App.Transitions.html">App.Transitions</a></li>
50
 
            
51
 
                <li><a href="..&#x2F;classes/App.TransitionsNative.html">App.TransitionsNative</a></li>
52
 
            
53
 
                <li><a href="..&#x2F;classes/AreaSeries.html">AreaSeries</a></li>
54
 
            
55
 
                <li><a href="..&#x2F;classes/AreaSplineSeries.html">AreaSplineSeries</a></li>
56
 
            
57
 
                <li><a href="..&#x2F;classes/Array.html">Array</a></li>
58
 
            
59
 
                <li><a href="..&#x2F;classes/ArrayList.html">ArrayList</a></li>
60
 
            
61
 
                <li><a href="..&#x2F;classes/ArraySort.html">ArraySort</a></li>
62
 
            
63
 
                <li><a href="..&#x2F;classes/AsyncQueue.html">AsyncQueue</a></li>
64
 
            
65
 
                <li><a href="..&#x2F;classes/Attribute.html">Attribute</a></li>
66
 
            
67
 
                <li><a href="..&#x2F;classes/AttributeCore.html">AttributeCore</a></li>
68
 
            
69
 
                <li><a href="..&#x2F;classes/AttributeEvents.html">AttributeEvents</a></li>
70
 
            
71
 
                <li><a href="..&#x2F;classes/AttributeExtras.html">AttributeExtras</a></li>
72
 
            
73
 
                <li><a href="..&#x2F;classes/AttributeLite.html">AttributeLite</a></li>
74
 
            
75
 
                <li><a href="..&#x2F;classes/AutoComplete.html">AutoComplete</a></li>
76
 
            
77
 
                <li><a href="..&#x2F;classes/AutoCompleteBase.html">AutoCompleteBase</a></li>
78
 
            
79
 
                <li><a href="..&#x2F;classes/AutoCompleteFilters.html">AutoCompleteFilters</a></li>
80
 
            
81
 
                <li><a href="..&#x2F;classes/AutoCompleteHighlighters.html">AutoCompleteHighlighters</a></li>
82
 
            
83
 
                <li><a href="..&#x2F;classes/AutoCompleteList.html">AutoCompleteList</a></li>
84
 
            
85
 
                <li><a href="..&#x2F;classes/Axis.html">Axis</a></li>
86
 
            
87
 
                <li><a href="..&#x2F;classes/AxisType.html">AxisType</a></li>
88
 
            
89
 
                <li><a href="..&#x2F;classes/BarSeries.html">BarSeries</a></li>
90
 
            
91
 
                <li><a href="..&#x2F;classes/Base.html">Base</a></li>
92
 
            
93
 
                <li><a href="..&#x2F;classes/BaseCore.html">BaseCore</a></li>
94
 
            
95
 
                <li><a href="..&#x2F;classes/BottomAxisLayout.html">BottomAxisLayout</a></li>
96
 
            
97
 
                <li><a href="..&#x2F;classes/Button.html">Button</a></li>
98
 
            
99
 
                <li><a href="..&#x2F;classes/ButtonCore.html">ButtonCore</a></li>
100
 
            
101
 
                <li><a href="..&#x2F;classes/ButtonGroup.html">ButtonGroup</a></li>
102
 
            
103
 
                <li><a href="..&#x2F;classes/ButtonPlugin.html">ButtonPlugin</a></li>
104
 
            
105
 
                <li><a href="..&#x2F;classes/Cache.html">Cache</a></li>
106
 
            
107
 
                <li><a href="..&#x2F;classes/CacheOffline.html">CacheOffline</a></li>
108
 
            
109
 
                <li><a href="..&#x2F;classes/Calendar.html">Calendar</a></li>
110
 
            
111
 
                <li><a href="..&#x2F;classes/CalendarBase.html">CalendarBase</a></li>
112
 
            
113
 
                <li><a href="..&#x2F;classes/CanvasCircle.html">CanvasCircle</a></li>
114
 
            
115
 
                <li><a href="..&#x2F;classes/CanvasDrawing.html">CanvasDrawing</a></li>
116
 
            
117
 
                <li><a href="..&#x2F;classes/CanvasEllipse.html">CanvasEllipse</a></li>
118
 
            
119
 
                <li><a href="..&#x2F;classes/CanvasGraphic.html">CanvasGraphic</a></li>
120
 
            
121
 
                <li><a href="..&#x2F;classes/CanvasPath.html">CanvasPath</a></li>
122
 
            
123
 
                <li><a href="..&#x2F;classes/CanvasPieSlice.html">CanvasPieSlice</a></li>
124
 
            
125
 
                <li><a href="..&#x2F;classes/CanvasRect.html">CanvasRect</a></li>
126
 
            
127
 
                <li><a href="..&#x2F;classes/CanvasShape.html">CanvasShape</a></li>
128
 
            
129
 
                <li><a href="..&#x2F;classes/CartesianChart.html">CartesianChart</a></li>
130
 
            
131
 
                <li><a href="..&#x2F;classes/CartesianSeries.html">CartesianSeries</a></li>
132
 
            
133
 
                <li><a href="..&#x2F;classes/CategoryAxis.html">CategoryAxis</a></li>
134
 
            
135
 
                <li><a href="..&#x2F;classes/Chart.html">Chart</a></li>
136
 
            
137
 
                <li><a href="..&#x2F;classes/ChartBase.html">ChartBase</a></li>
138
 
            
139
 
                <li><a href="..&#x2F;classes/ChartLegend.html">ChartLegend</a></li>
140
 
            
141
 
                <li><a href="..&#x2F;classes/Circle.html">Circle</a></li>
142
 
            
143
 
                <li><a href="..&#x2F;classes/ClassNameManager.html">ClassNameManager</a></li>
144
 
            
145
 
                <li><a href="..&#x2F;classes/ClickableRail.html">ClickableRail</a></li>
146
 
            
147
 
                <li><a href="..&#x2F;classes/ColumnSeries.html">ColumnSeries</a></li>
148
 
            
149
 
                <li><a href="..&#x2F;classes/ComboSeries.html">ComboSeries</a></li>
150
 
            
151
 
                <li><a href="..&#x2F;classes/ComboSplineSeries.html">ComboSplineSeries</a></li>
152
 
            
153
 
                <li><a href="..&#x2F;classes/config.html">config</a></li>
154
 
            
155
 
                <li><a href="..&#x2F;classes/Console.html">Console</a></li>
156
 
            
157
 
                <li><a href="..&#x2F;classes/Controller.html">Controller</a></li>
158
 
            
159
 
                <li><a href="..&#x2F;classes/Cookie.html">Cookie</a></li>
160
 
            
161
 
                <li><a href="..&#x2F;classes/CurveUtil.html">CurveUtil</a></li>
162
 
            
163
 
                <li><a href="..&#x2F;classes/CustomEvent.html">CustomEvent</a></li>
164
 
            
165
 
                <li><a href="..&#x2F;classes/DataSchema.Array.html">DataSchema.Array</a></li>
166
 
            
167
 
                <li><a href="..&#x2F;classes/DataSchema.Base.html">DataSchema.Base</a></li>
168
 
            
169
 
                <li><a href="..&#x2F;classes/DataSchema.JSON.html">DataSchema.JSON</a></li>
170
 
            
171
 
                <li><a href="..&#x2F;classes/DataSchema.Text.html">DataSchema.Text</a></li>
172
 
            
173
 
                <li><a href="..&#x2F;classes/DataSchema.XML.html">DataSchema.XML</a></li>
174
 
            
175
 
                <li><a href="..&#x2F;classes/DataSource.Function.html">DataSource.Function</a></li>
176
 
            
177
 
                <li><a href="..&#x2F;classes/DataSource.Get.html">DataSource.Get</a></li>
178
 
            
179
 
                <li><a href="..&#x2F;classes/DataSource.IO.html">DataSource.IO</a></li>
180
 
            
181
 
                <li><a href="..&#x2F;classes/DataSource.Local.html">DataSource.Local</a></li>
182
 
            
183
 
                <li><a href="..&#x2F;classes/DataSourceArraySchema.html">DataSourceArraySchema</a></li>
184
 
            
185
 
                <li><a href="..&#x2F;classes/DataSourceCache.html">DataSourceCache</a></li>
186
 
            
187
 
                <li><a href="..&#x2F;classes/DataSourceCacheExtension.html">DataSourceCacheExtension</a></li>
188
 
            
189
 
                <li><a href="..&#x2F;classes/DataSourceJSONSchema.html">DataSourceJSONSchema</a></li>
190
 
            
191
 
                <li><a href="..&#x2F;classes/DataSourceTextSchema.html">DataSourceTextSchema</a></li>
192
 
            
193
 
                <li><a href="..&#x2F;classes/DataSourceXMLSchema.html">DataSourceXMLSchema</a></li>
194
 
            
195
 
                <li><a href="..&#x2F;classes/DataTable.html">DataTable</a></li>
196
 
            
197
 
                <li><a href="..&#x2F;classes/DataTable.Base.html">DataTable.Base</a></li>
198
 
            
199
 
                <li><a href="..&#x2F;classes/DataTable.BodyView.html">DataTable.BodyView</a></li>
200
 
            
201
 
                <li><a href="..&#x2F;classes/DataTable.ColumnWidths.html">DataTable.ColumnWidths</a></li>
202
 
            
203
 
                <li><a href="..&#x2F;classes/DataTable.Core.html">DataTable.Core</a></li>
204
 
            
205
 
                <li><a href="..&#x2F;classes/DataTable.HeaderView.html">DataTable.HeaderView</a></li>
206
 
            
207
 
                <li><a href="..&#x2F;classes/DataTable.Message.html">DataTable.Message</a></li>
208
 
            
209
 
                <li><a href="..&#x2F;classes/DataTable.Mutable.html">DataTable.Mutable</a></li>
210
 
            
211
 
                <li><a href="..&#x2F;classes/DataTable.Scrollable.html">DataTable.Scrollable</a></li>
212
 
            
213
 
                <li><a href="..&#x2F;classes/DataTable.Sortable.html">DataTable.Sortable</a></li>
214
 
            
215
 
                <li><a href="..&#x2F;classes/DataType.Date.html">DataType.Date</a></li>
216
 
            
217
 
                <li><a href="..&#x2F;classes/DataType.Date.Locale.html">DataType.Date.Locale</a></li>
218
 
            
219
 
                <li><a href="..&#x2F;classes/DataType.Number.html">DataType.Number</a></li>
220
 
            
221
 
                <li><a href="..&#x2F;classes/DataType.XML.html">DataType.XML</a></li>
222
 
            
223
 
                <li><a href="..&#x2F;classes/DD.DDM.html">DD.DDM</a></li>
224
 
            
225
 
                <li><a href="..&#x2F;classes/DD.Delegate.html">DD.Delegate</a></li>
226
 
            
227
 
                <li><a href="..&#x2F;classes/DD.Drag.html">DD.Drag</a></li>
228
 
            
229
 
                <li><a href="..&#x2F;classes/DD.Drop.html">DD.Drop</a></li>
230
 
            
231
 
                <li><a href="..&#x2F;classes/DD.Plugin.DDWindowScroll.html">DD.Plugin.DDWindowScroll</a></li>
232
 
            
233
 
                <li><a href="..&#x2F;classes/DD.Scroll.html">DD.Scroll</a></li>
234
 
            
235
 
                <li><a href="..&#x2F;classes/Dial.html">Dial</a></li>
236
 
            
237
 
                <li><a href="..&#x2F;classes/Do.html">Do</a></li>
238
 
            
239
 
                <li><a href="..&#x2F;classes/Do.AlterArgs.html">Do.AlterArgs</a></li>
240
 
            
241
 
                <li><a href="..&#x2F;classes/Do.AlterReturn.html">Do.AlterReturn</a></li>
242
 
            
243
 
                <li><a href="..&#x2F;classes/Do.Error.html">Do.Error</a></li>
244
 
            
245
 
                <li><a href="..&#x2F;classes/Do.Halt.html">Do.Halt</a></li>
246
 
            
247
 
                <li><a href="..&#x2F;classes/Do.Method.html">Do.Method</a></li>
248
 
            
249
 
                <li><a href="..&#x2F;classes/Do.Prevent.html">Do.Prevent</a></li>
250
 
            
251
 
                <li><a href="..&#x2F;classes/DOM.html">DOM</a></li>
252
 
            
253
 
                <li><a href="..&#x2F;classes/DOMEventFacade.html">DOMEventFacade</a></li>
254
 
            
255
 
                <li><a href="..&#x2F;classes/Drawing.html">Drawing</a></li>
256
 
            
257
 
                <li><a href="..&#x2F;classes/Easing.html">Easing</a></li>
258
 
            
259
 
                <li><a href="..&#x2F;classes/EditorBase.html">EditorBase</a></li>
260
 
            
261
 
                <li><a href="..&#x2F;classes/EditorSelection.html">EditorSelection</a></li>
262
 
            
263
 
                <li><a href="..&#x2F;classes/Ellipse.html">Ellipse</a></li>
264
 
            
265
 
                <li><a href="..&#x2F;classes/EllipseGroup.html">EllipseGroup</a></li>
266
 
            
267
 
                <li><a href="..&#x2F;classes/Escape.html">Escape</a></li>
268
 
            
269
 
                <li><a href="..&#x2F;classes/Event.html">Event</a></li>
270
 
            
271
 
                <li><a href="..&#x2F;classes/EventFacade.html">EventFacade</a></li>
272
 
            
273
 
                <li><a href="..&#x2F;classes/EventHandle.html">EventHandle</a></li>
274
 
            
275
 
                <li><a href="..&#x2F;classes/EventTarget.html">EventTarget</a></li>
276
 
            
277
 
                <li><a href="..&#x2F;classes/ExecCommand.html">ExecCommand</a></li>
278
 
            
279
 
                <li><a href="..&#x2F;classes/Features.html">Features</a></li>
280
 
            
281
 
                <li><a href="..&#x2F;classes/File.html">File</a></li>
282
 
            
283
 
                <li><a href="..&#x2F;classes/FileFlash.html">FileFlash</a></li>
284
 
            
285
 
                <li><a href="..&#x2F;classes/FileHTML5.html">FileHTML5</a></li>
286
 
            
287
 
                <li><a href="..&#x2F;classes/Fills.html">Fills</a></li>
288
 
            
289
 
                <li><a href="..&#x2F;classes/Frame.html">Frame</a></li>
290
 
            
291
 
                <li><a href="..&#x2F;classes/Get.html">Get</a></li>
292
 
            
293
 
                <li><a href="..&#x2F;classes/Get.Transaction.html">Get.Transaction</a></li>
294
 
            
295
 
                <li><a href="..&#x2F;classes/GetNodeJS.html">GetNodeJS</a></li>
296
 
            
297
 
                <li><a href="..&#x2F;classes/Graph.html">Graph</a></li>
298
 
            
299
 
                <li><a href="..&#x2F;classes/Graphic.html">Graphic</a></li>
300
 
            
301
 
                <li><a href="..&#x2F;classes/GraphicBase.html">GraphicBase</a></li>
302
 
            
303
 
                <li><a href="..&#x2F;classes/Gridlines.html">Gridlines</a></li>
304
 
            
305
 
                <li><a href="..&#x2F;classes/GroupCircle.html">GroupCircle</a></li>
306
 
            
307
 
                <li><a href="..&#x2F;classes/GroupDiamond.html">GroupDiamond</a></li>
308
 
            
309
 
                <li><a href="..&#x2F;classes/GroupRect.html">GroupRect</a></li>
310
 
            
311
 
                <li><a href="..&#x2F;classes/Handlebars.html">Handlebars</a></li>
312
 
            
313
 
                <li><a href="..&#x2F;classes/Highlight.html">Highlight</a></li>
314
 
            
315
 
                <li><a href="..&#x2F;classes/Histogram.html">Histogram</a></li>
316
 
            
317
 
                <li><a href="..&#x2F;classes/HistoryBase.html">HistoryBase</a></li>
318
 
            
319
 
                <li><a href="..&#x2F;classes/HistoryHash.html">HistoryHash</a></li>
320
 
            
321
 
                <li><a href="..&#x2F;classes/HistoryHTML5.html">HistoryHTML5</a></li>
322
 
            
323
 
                <li><a href="..&#x2F;classes/HorizontalLegendLayout.html">HorizontalLegendLayout</a></li>
324
 
            
325
 
                <li><a href="..&#x2F;classes/ImgLoadGroup.html">ImgLoadGroup</a></li>
326
 
            
327
 
                <li><a href="..&#x2F;classes/ImgLoadImgObj.html">ImgLoadImgObj</a></li>
328
 
            
329
 
                <li><a href="..&#x2F;classes/Intl.html">Intl</a></li>
330
 
            
331
 
                <li><a href="..&#x2F;classes/IO.html">IO</a></li>
332
 
            
333
 
                <li><a href="..&#x2F;classes/json.html">json</a></li>
334
 
            
335
 
                <li><a href="..&#x2F;classes/JSONPRequest.html">JSONPRequest</a></li>
336
 
            
337
 
                <li><a href="..&#x2F;classes/Lang.html">Lang</a></li>
338
 
            
339
 
                <li><a href="..&#x2F;classes/LeftAxisLayout.html">LeftAxisLayout</a></li>
340
 
            
341
 
                <li><a href="..&#x2F;classes/Lines.html">Lines</a></li>
342
 
            
343
 
                <li><a href="..&#x2F;classes/LineSeries.html">LineSeries</a></li>
344
 
            
345
 
                <li><a href="..&#x2F;classes/Loader.html">Loader</a></li>
346
 
            
347
 
                <li><a href="..&#x2F;classes/MarkerSeries.html">MarkerSeries</a></li>
348
 
            
349
 
                <li><a href="..&#x2F;classes/Matrix.html">Matrix</a></li>
350
 
            
351
 
                <li><a href="..&#x2F;classes/Model.html">Model</a></li>
352
 
            
353
 
                <li><a href="..&#x2F;classes/ModelList.html">ModelList</a></li>
354
 
            
355
 
                <li><a href="..&#x2F;classes/Node.html">Node</a></li>
356
 
            
357
 
                <li><a href="..&#x2F;classes/NodeList.html">NodeList</a></li>
358
 
            
359
 
                <li><a href="..&#x2F;classes/NumericAxis.html">NumericAxis</a></li>
360
 
            
361
 
                <li><a href="..&#x2F;classes/Object.html">Object</a></li>
362
 
            
363
 
                <li><a href="..&#x2F;classes/Overlay.html">Overlay</a></li>
364
 
            
365
 
                <li><a href="..&#x2F;classes/Panel.html">Panel</a></li>
366
 
            
367
 
                <li><a href="..&#x2F;classes/Parallel.html">Parallel</a></li>
368
 
            
369
 
                <li><a href="..&#x2F;classes/Path.html">Path</a></li>
370
 
            
371
 
                <li><a href="..&#x2F;classes/PieChart.html">PieChart</a></li>
372
 
            
373
 
                <li><a href="..&#x2F;classes/PieSeries.html">PieSeries</a></li>
374
 
            
375
 
                <li><a href="..&#x2F;classes/Pjax.html">Pjax</a></li>
376
 
            
377
 
                <li><a href="..&#x2F;classes/PjaxBase.html">PjaxBase</a></li>
378
 
            
379
 
                <li><a href="..&#x2F;classes/Plots.html">Plots</a></li>
380
 
            
381
 
                <li><a href="..&#x2F;classes/Plugin.Align.html">Plugin.Align</a></li>
382
 
            
383
 
                <li><a href="..&#x2F;classes/Plugin.AutoComplete.html">Plugin.AutoComplete</a></li>
384
 
            
385
 
                <li><a href="..&#x2F;classes/Plugin.Base.html">Plugin.Base</a></li>
386
 
            
387
 
                <li><a href="..&#x2F;classes/Plugin.Cache.html">Plugin.Cache</a></li>
388
 
            
389
 
                <li><a href="..&#x2F;classes/Plugin.CalendarNavigator.html">Plugin.CalendarNavigator</a></li>
390
 
            
391
 
                <li><a href="..&#x2F;classes/Plugin.ConsoleFilters.html">Plugin.ConsoleFilters</a></li>
392
 
            
393
 
                <li><a href="..&#x2F;classes/Plugin.CreateLinkBase.html">Plugin.CreateLinkBase</a></li>
394
 
            
395
 
                <li><a href="..&#x2F;classes/Plugin.DataTableDataSource.html">Plugin.DataTableDataSource</a></li>
396
 
            
397
 
                <li><a href="..&#x2F;classes/Plugin.DDConstrained.html">Plugin.DDConstrained</a></li>
398
 
            
399
 
                <li><a href="..&#x2F;classes/Plugin.DDNodeScroll.html">Plugin.DDNodeScroll</a></li>
400
 
            
401
 
                <li><a href="..&#x2F;classes/Plugin.DDProxy.html">Plugin.DDProxy</a></li>
402
 
            
403
 
                <li><a href="..&#x2F;classes/Plugin.Drag.html">Plugin.Drag</a></li>
404
 
            
405
 
                <li><a href="..&#x2F;classes/Plugin.Drop.html">Plugin.Drop</a></li>
406
 
            
407
 
                <li><a href="..&#x2F;classes/Plugin.EditorBidi.html">Plugin.EditorBidi</a></li>
408
 
            
409
 
                <li><a href="..&#x2F;classes/Plugin.EditorBR.html">Plugin.EditorBR</a></li>
410
 
            
411
 
                <li><a href="..&#x2F;classes/Plugin.EditorLists.html">Plugin.EditorLists</a></li>
412
 
            
413
 
                <li><a href="..&#x2F;classes/Plugin.EditorPara.html">Plugin.EditorPara</a></li>
414
 
            
415
 
                <li><a href="..&#x2F;classes/Plugin.EditorParaBase.html">Plugin.EditorParaBase</a></li>
416
 
            
417
 
                <li><a href="..&#x2F;classes/Plugin.EditorParaIE.html">Plugin.EditorParaIE</a></li>
418
 
            
419
 
                <li><a href="..&#x2F;classes/Plugin.EditorTab.html">Plugin.EditorTab</a></li>
420
 
            
421
 
                <li><a href="..&#x2F;classes/Plugin.ExecCommand.html">Plugin.ExecCommand</a></li>
422
 
            
423
 
                <li><a href="..&#x2F;classes/Plugin.Flick.html">Plugin.Flick</a></li>
424
 
            
425
 
                <li><a href="..&#x2F;classes/Plugin.Host.html">Plugin.Host</a></li>
426
 
            
427
 
                <li><a href="..&#x2F;classes/plugin.NodeFocusManager.html">plugin.NodeFocusManager</a></li>
428
 
            
429
 
                <li><a href="..&#x2F;classes/Plugin.NodeFX.html">Plugin.NodeFX</a></li>
430
 
            
431
 
                <li><a href="..&#x2F;classes/plugin.NodeMenuNav.html">plugin.NodeMenuNav</a></li>
432
 
            
433
 
                <li><a href="..&#x2F;classes/Plugin.Pjax.html">Plugin.Pjax</a></li>
434
 
            
435
 
                <li><a href="..&#x2F;classes/Plugin.Resize.html">Plugin.Resize</a></li>
436
 
            
437
 
                <li><a href="..&#x2F;classes/Plugin.ResizeConstrained.html">Plugin.ResizeConstrained</a></li>
438
 
            
439
 
                <li><a href="..&#x2F;classes/Plugin.ResizeProxy.html">Plugin.ResizeProxy</a></li>
440
 
            
441
 
                <li><a href="..&#x2F;classes/Plugin.ScrollViewList.html">Plugin.ScrollViewList</a></li>
442
 
            
443
 
                <li><a href="..&#x2F;classes/Plugin.ScrollViewPaginator.html">Plugin.ScrollViewPaginator</a></li>
444
 
            
445
 
                <li><a href="..&#x2F;classes/Plugin.ScrollViewScrollbars.html">Plugin.ScrollViewScrollbars</a></li>
446
 
            
447
 
                <li><a href="..&#x2F;classes/Plugin.Shim.html">Plugin.Shim</a></li>
448
 
            
449
 
                <li><a href="..&#x2F;classes/Plugin.SortScroll.html">Plugin.SortScroll</a></li>
450
 
            
451
 
                <li><a href="..&#x2F;classes/Plugin.WidgetAnim.html">Plugin.WidgetAnim</a></li>
452
 
            
453
 
                <li><a href="..&#x2F;classes/Pollable.html">Pollable</a></li>
454
 
            
455
 
                <li><a href="..&#x2F;classes/Profiler.html">Profiler</a></li>
456
 
            
457
 
                <li><a href="..&#x2F;classes/QueryString.html">QueryString</a></li>
458
 
            
459
 
                <li><a href="..&#x2F;classes/Queue.html">Queue</a></li>
460
 
            
461
 
                <li><a href="..&#x2F;classes/Record.html">Record</a></li>
462
 
            
463
 
                <li><a href="..&#x2F;classes/Recordset.html">Recordset</a></li>
464
 
            
465
 
                <li><a href="..&#x2F;classes/RecordsetFilter.html">RecordsetFilter</a></li>
466
 
            
467
 
                <li><a href="..&#x2F;classes/RecordsetIndexer.html">RecordsetIndexer</a></li>
468
 
            
469
 
                <li><a href="..&#x2F;classes/RecordsetSort.html">RecordsetSort</a></li>
470
 
            
471
 
                <li><a href="..&#x2F;classes/Rect.html">Rect</a></li>
472
 
            
473
 
                <li><a href="..&#x2F;classes/Renderer.html">Renderer</a></li>
474
 
            
475
 
                <li><a href="..&#x2F;classes/Resize.html">Resize</a></li>
476
 
            
477
 
                <li><a href="..&#x2F;classes/RightAxisLayout.html">RightAxisLayout</a></li>
478
 
            
479
 
                <li><a href="..&#x2F;classes/Router.html">Router</a></li>
480
 
            
481
 
                <li><a href="..&#x2F;classes/ScrollView.html">ScrollView</a></li>
482
 
            
483
 
                <li><a href="..&#x2F;classes/Selector.html">Selector</a></li>
484
 
            
485
 
                <li><a href="..&#x2F;classes/Shape.html">Shape</a></li>
486
 
            
487
 
                <li><a href="..&#x2F;classes/ShapeGroup.html">ShapeGroup</a></li>
488
 
            
489
 
                <li><a href="..&#x2F;classes/Slider.html">Slider</a></li>
490
 
            
491
 
                <li><a href="..&#x2F;classes/SliderBase.html">SliderBase</a></li>
492
 
            
493
 
                <li><a href="..&#x2F;classes/SliderValueRange.html">SliderValueRange</a></li>
494
 
            
495
 
                <li><a href="..&#x2F;classes/Sortable.html">Sortable</a></li>
496
 
            
497
 
                <li><a href="..&#x2F;classes/SplineSeries.html">SplineSeries</a></li>
498
 
            
499
 
                <li><a href="..&#x2F;classes/StackedAreaSeries.html">StackedAreaSeries</a></li>
500
 
            
501
 
                <li><a href="..&#x2F;classes/StackedAreaSplineSeries.html">StackedAreaSplineSeries</a></li>
502
 
            
503
 
                <li><a href="..&#x2F;classes/StackedAxis.html">StackedAxis</a></li>
504
 
            
505
 
                <li><a href="..&#x2F;classes/StackedBarSeries.html">StackedBarSeries</a></li>
506
 
            
507
 
                <li><a href="..&#x2F;classes/StackedColumnSeries.html">StackedColumnSeries</a></li>
508
 
            
509
 
                <li><a href="..&#x2F;classes/StackedComboSeries.html">StackedComboSeries</a></li>
510
 
            
511
 
                <li><a href="..&#x2F;classes/StackedComboSplineSeries.html">StackedComboSplineSeries</a></li>
512
 
            
513
 
                <li><a href="..&#x2F;classes/StackedLineSeries.html">StackedLineSeries</a></li>
514
 
            
515
 
                <li><a href="..&#x2F;classes/StackedMarkerSeries.html">StackedMarkerSeries</a></li>
516
 
            
517
 
                <li><a href="..&#x2F;classes/StackedSplineSeries.html">StackedSplineSeries</a></li>
518
 
            
519
 
                <li><a href="..&#x2F;classes/StackingUtil.html">StackingUtil</a></li>
520
 
            
521
 
                <li><a href="..&#x2F;classes/State.html">State</a></li>
522
 
            
523
 
                <li><a href="..&#x2F;classes/StyleSheet.html">StyleSheet</a></li>
524
 
            
525
 
                <li><a href="..&#x2F;classes/Subscriber.html">Subscriber</a></li>
526
 
            
527
 
                <li><a href="..&#x2F;classes/SVGCircle.html">SVGCircle</a></li>
528
 
            
529
 
                <li><a href="..&#x2F;classes/SVGDrawing.html">SVGDrawing</a></li>
530
 
            
531
 
                <li><a href="..&#x2F;classes/SVGEllipse.html">SVGEllipse</a></li>
532
 
            
533
 
                <li><a href="..&#x2F;classes/SVGGraphic.html">SVGGraphic</a></li>
534
 
            
535
 
                <li><a href="..&#x2F;classes/SVGPath.html">SVGPath</a></li>
536
 
            
537
 
                <li><a href="..&#x2F;classes/SVGPieSlice.html">SVGPieSlice</a></li>
538
 
            
539
 
                <li><a href="..&#x2F;classes/SVGRect.html">SVGRect</a></li>
540
 
            
541
 
                <li><a href="..&#x2F;classes/SVGShape.html">SVGShape</a></li>
542
 
            
543
 
                <li><a href="..&#x2F;classes/SWF.html">SWF</a></li>
544
 
            
545
 
                <li><a href="..&#x2F;classes/SWFDetect.html">SWFDetect</a></li>
546
 
            
547
 
                <li><a href="..&#x2F;classes/SyntheticEvent.html">SyntheticEvent</a></li>
548
 
            
549
 
                <li><a href="..&#x2F;classes/SyntheticEvent.Notifier.html">SyntheticEvent.Notifier</a></li>
550
 
            
551
 
                <li><a href="..&#x2F;classes/SynthRegistry.html">SynthRegistry</a></li>
552
 
            
553
 
                <li><a href="..&#x2F;classes/Tab.html">Tab</a></li>
554
 
            
555
 
                <li><a href="..&#x2F;classes/TabView.html">TabView</a></li>
556
 
            
557
 
                <li><a href="..&#x2F;classes/Test.html">Test</a></li>
558
 
            
559
 
                <li><a href="..&#x2F;classes/Test.ArrayAssert.html">Test.ArrayAssert</a></li>
560
 
            
561
 
                <li><a href="..&#x2F;classes/Test.Assert.html">Test.Assert</a></li>
562
 
            
563
 
                <li><a href="..&#x2F;classes/Test.AssertionError.html">Test.AssertionError</a></li>
564
 
            
565
 
                <li><a href="..&#x2F;classes/Test.ComparisonFailure.html">Test.ComparisonFailure</a></li>
566
 
            
567
 
                <li><a href="..&#x2F;classes/Test.Console.html">Test.Console</a></li>
568
 
            
569
 
                <li><a href="..&#x2F;classes/Test.CoverageFormat.CoverageFormat.html">Test.CoverageFormat.CoverageFormat</a></li>
570
 
            
571
 
                <li><a href="..&#x2F;classes/Test.DateAssert.html">Test.DateAssert</a></li>
572
 
            
573
 
                <li><a href="..&#x2F;classes/Test.EventTarget.html">Test.EventTarget</a></li>
574
 
            
575
 
                <li><a href="..&#x2F;classes/Test.Mock.Mock.html">Test.Mock.Mock</a></li>
576
 
            
577
 
                <li><a href="..&#x2F;classes/Test.Mock.Value.html">Test.Mock.Value</a></li>
578
 
            
579
 
                <li><a href="..&#x2F;classes/Test.ObjectAssert.html">Test.ObjectAssert</a></li>
580
 
            
581
 
                <li><a href="..&#x2F;classes/Test.Reporter.html">Test.Reporter</a></li>
582
 
            
583
 
                <li><a href="..&#x2F;classes/Test.Results.html">Test.Results</a></li>
584
 
            
585
 
                <li><a href="..&#x2F;classes/Test.Runner.html">Test.Runner</a></li>
586
 
            
587
 
                <li><a href="..&#x2F;classes/Test.ShouldError.html">Test.ShouldError</a></li>
588
 
            
589
 
                <li><a href="..&#x2F;classes/Test.ShouldFail.html">Test.ShouldFail</a></li>
590
 
            
591
 
                <li><a href="..&#x2F;classes/Test.TestCase.html">Test.TestCase</a></li>
592
 
            
593
 
                <li><a href="..&#x2F;classes/Test.TestFormat.html">Test.TestFormat</a></li>
594
 
            
595
 
                <li><a href="..&#x2F;classes/Test.TestNode.html">Test.TestNode</a></li>
596
 
            
597
 
                <li><a href="..&#x2F;classes/Test.TestRunner.html">Test.TestRunner</a></li>
598
 
            
599
 
                <li><a href="..&#x2F;classes/Test.TestSuite.html">Test.TestSuite</a></li>
600
 
            
601
 
                <li><a href="..&#x2F;classes/Test.UnexpectedError.html">Test.UnexpectedError</a></li>
602
 
            
603
 
                <li><a href="..&#x2F;classes/Test.UnexpectedValue.html">Test.UnexpectedValue</a></li>
604
 
            
605
 
                <li><a href="..&#x2F;classes/Test.Wait.html">Test.Wait</a></li>
606
 
            
607
 
                <li><a href="..&#x2F;classes/Text.AccentFold.html">Text.AccentFold</a></li>
608
 
            
609
 
                <li><a href="..&#x2F;classes/Text.WordBreak.html">Text.WordBreak</a></li>
610
 
            
611
 
                <li><a href="..&#x2F;classes/TimeAxis.html">TimeAxis</a></li>
612
 
            
613
 
                <li><a href="..&#x2F;classes/ToggleButton.html">ToggleButton</a></li>
614
 
            
615
 
                <li><a href="..&#x2F;classes/TopAxisLayout.html">TopAxisLayout</a></li>
616
 
            
617
 
                <li><a href="..&#x2F;classes/Transition.html">Transition</a></li>
618
 
            
619
 
                <li><a href="..&#x2F;classes/UA.html">UA</a></li>
620
 
            
621
 
                <li><a href="..&#x2F;classes/Uploader.html">Uploader</a></li>
622
 
            
623
 
                <li><a href="..&#x2F;classes/Uploader.Queue.html">Uploader.Queue</a></li>
624
 
            
625
 
                <li><a href="..&#x2F;classes/UploaderFlash.html">UploaderFlash</a></li>
626
 
            
627
 
                <li><a href="..&#x2F;classes/UploaderHTML5.html">UploaderHTML5</a></li>
628
 
            
629
 
                <li><a href="..&#x2F;classes/ValueChange.html">ValueChange</a></li>
630
 
            
631
 
                <li><a href="..&#x2F;classes/VerticalLegendLayout.html">VerticalLegendLayout</a></li>
632
 
            
633
 
                <li><a href="..&#x2F;classes/View.html">View</a></li>
634
 
            
635
 
                <li><a href="..&#x2F;classes/View.NodeMap.html">View.NodeMap</a></li>
636
 
            
637
 
                <li><a href="..&#x2F;classes/VMLCircle.html">VMLCircle</a></li>
638
 
            
639
 
                <li><a href="..&#x2F;classes/VMLDrawing.html">VMLDrawing</a></li>
640
 
            
641
 
                <li><a href="..&#x2F;classes/VMLEllipse.html">VMLEllipse</a></li>
642
 
            
643
 
                <li><a href="..&#x2F;classes/VMLGraphic.html">VMLGraphic</a></li>
644
 
            
645
 
                <li><a href="..&#x2F;classes/VMLPath.html">VMLPath</a></li>
646
 
            
647
 
                <li><a href="..&#x2F;classes/VMLPieSlice.html">VMLPieSlice</a></li>
648
 
            
649
 
                <li><a href="..&#x2F;classes/VMLRect.html">VMLRect</a></li>
650
 
            
651
 
                <li><a href="..&#x2F;classes/VMLShape.html">VMLShape</a></li>
652
 
            
653
 
                <li><a href="..&#x2F;classes/Widget.html">Widget</a></li>
654
 
            
655
 
                <li><a href="..&#x2F;classes/WidgetAutohide.html">WidgetAutohide</a></li>
656
 
            
657
 
                <li><a href="..&#x2F;classes/WidgetButtons.html">WidgetButtons</a></li>
658
 
            
659
 
                <li><a href="..&#x2F;classes/WidgetChild.html">WidgetChild</a></li>
660
 
            
661
 
                <li><a href="..&#x2F;classes/WidgetModality.html">WidgetModality</a></li>
662
 
            
663
 
                <li><a href="..&#x2F;classes/WidgetParent.html">WidgetParent</a></li>
664
 
            
665
 
                <li><a href="..&#x2F;classes/WidgetPosition.html">WidgetPosition</a></li>
666
 
            
667
 
                <li><a href="..&#x2F;classes/WidgetPositionAlign.html">WidgetPositionAlign</a></li>
668
 
            
669
 
                <li><a href="..&#x2F;classes/WidgetPositionConstrain.html">WidgetPositionConstrain</a></li>
670
 
            
671
 
                <li><a href="..&#x2F;classes/WidgetStack.html">WidgetStack</a></li>
672
 
            
673
 
                <li><a href="..&#x2F;classes/WidgetStdMod.html">WidgetStdMod</a></li>
674
 
            
675
 
                <li><a href="..&#x2F;classes/YQL.html">YQL</a></li>
676
 
            
677
 
                <li><a href="..&#x2F;classes/YQLRequest.html">YQLRequest</a></li>
678
 
            
679
 
                <li><a href="..&#x2F;classes/YUI.html">YUI</a></li>
680
 
            
681
 
                <li><a href="..&#x2F;classes/YUI~substitute.html">YUI~substitute</a></li>
682
 
            
683
 
            </ul>
684
 
 
685
 
            <ul id="api-modules" class="apis modules">
686
 
            
687
 
                <li><a href="..&#x2F;modules/align-plugin.html">align-plugin</a></li>
688
 
            
689
 
                <li><a href="..&#x2F;modules/anim.html">anim</a></li>
690
 
            
691
 
                <li><a href="..&#x2F;modules/anim-base.html">anim-base</a></li>
692
 
            
693
 
                <li><a href="..&#x2F;modules/anim-color.html">anim-color</a></li>
694
 
            
695
 
                <li><a href="..&#x2F;modules/anim-curve.html">anim-curve</a></li>
696
 
            
697
 
                <li><a href="..&#x2F;modules/anim-easing.html">anim-easing</a></li>
698
 
            
699
 
                <li><a href="..&#x2F;modules/anim-node-plugin.html">anim-node-plugin</a></li>
700
 
            
701
 
                <li><a href="..&#x2F;modules/anim-scroll.html">anim-scroll</a></li>
702
 
            
703
 
                <li><a href="..&#x2F;modules/anim-xy.html">anim-xy</a></li>
704
 
            
705
 
                <li><a href="..&#x2F;modules/app.html">app</a></li>
706
 
            
707
 
                <li><a href="..&#x2F;modules/app-base.html">app-base</a></li>
708
 
            
709
 
                <li><a href="..&#x2F;modules/app-transitions.html">app-transitions</a></li>
710
 
            
711
 
                <li><a href="..&#x2F;modules/app-transitions-native.html">app-transitions-native</a></li>
712
 
            
713
 
                <li><a href="..&#x2F;modules/array-extras.html">array-extras</a></li>
714
 
            
715
 
                <li><a href="..&#x2F;modules/array-invoke.html">array-invoke</a></li>
716
 
            
717
 
                <li><a href="..&#x2F;modules/arraylist.html">arraylist</a></li>
718
 
            
719
 
                <li><a href="..&#x2F;modules/arraylist-add.html">arraylist-add</a></li>
720
 
            
721
 
                <li><a href="..&#x2F;modules/arraylist-filter.html">arraylist-filter</a></li>
722
 
            
723
 
                <li><a href="..&#x2F;modules/arraysort.html">arraysort</a></li>
724
 
            
725
 
                <li><a href="..&#x2F;modules/async-queue.html">async-queue</a></li>
726
 
            
727
 
                <li><a href="..&#x2F;modules/attribute.html">attribute</a></li>
728
 
            
729
 
                <li><a href="..&#x2F;modules/attribute-base.html">attribute-base</a></li>
730
 
            
731
 
                <li><a href="..&#x2F;modules/attribute-complex.html">attribute-complex</a></li>
732
 
            
733
 
                <li><a href="..&#x2F;modules/attribute-core.html">attribute-core</a></li>
734
 
            
735
 
                <li><a href="..&#x2F;modules/attribute-events.html">attribute-events</a></li>
736
 
            
737
 
                <li><a href="..&#x2F;modules/attribute-extras.html">attribute-extras</a></li>
738
 
            
739
 
                <li><a href="..&#x2F;modules/autocomplete.html">autocomplete</a></li>
740
 
            
741
 
                <li><a href="..&#x2F;modules/autocomplete-base.html">autocomplete-base</a></li>
742
 
            
743
 
                <li><a href="..&#x2F;modules/autocomplete-filters.html">autocomplete-filters</a></li>
744
 
            
745
 
                <li><a href="..&#x2F;modules/autocomplete-filters-accentfold.html">autocomplete-filters-accentfold</a></li>
746
 
            
747
 
                <li><a href="..&#x2F;modules/autocomplete-highlighters.html">autocomplete-highlighters</a></li>
748
 
            
749
 
                <li><a href="..&#x2F;modules/autocomplete-highlighters-accentfold.html">autocomplete-highlighters-accentfold</a></li>
750
 
            
751
 
                <li><a href="..&#x2F;modules/autocomplete-list.html">autocomplete-list</a></li>
752
 
            
753
 
                <li><a href="..&#x2F;modules/autocomplete-list-keys.html">autocomplete-list-keys</a></li>
754
 
            
755
 
                <li><a href="..&#x2F;modules/autocomplete-plugin.html">autocomplete-plugin</a></li>
756
 
            
757
 
                <li><a href="..&#x2F;modules/autocomplete-sources.html">autocomplete-sources</a></li>
758
 
            
759
 
                <li><a href="..&#x2F;modules/base.html">base</a></li>
760
 
            
761
 
                <li><a href="..&#x2F;modules/base-base.html">base-base</a></li>
762
 
            
763
 
                <li><a href="..&#x2F;modules/base-build.html">base-build</a></li>
764
 
            
765
 
                <li><a href="..&#x2F;modules/base-core.html">base-core</a></li>
766
 
            
767
 
                <li><a href="..&#x2F;modules/base-pluginhost.html">base-pluginhost</a></li>
768
 
            
769
 
                <li><a href="..&#x2F;modules/button.html">button</a></li>
770
 
            
771
 
                <li><a href="..&#x2F;modules/button-core.html">button-core</a></li>
772
 
            
773
 
                <li><a href="..&#x2F;modules/button-group.html">button-group</a></li>
774
 
            
775
 
                <li><a href="..&#x2F;modules/button-plugin.html">button-plugin</a></li>
776
 
            
777
 
                <li><a href="..&#x2F;modules/cache.html">cache</a></li>
778
 
            
779
 
                <li><a href="..&#x2F;modules/cache-base.html">cache-base</a></li>
780
 
            
781
 
                <li><a href="..&#x2F;modules/cache-offline.html">cache-offline</a></li>
782
 
            
783
 
                <li><a href="..&#x2F;modules/cache-plugin.html">cache-plugin</a></li>
784
 
            
785
 
                <li><a href="..&#x2F;modules/calendar.html">calendar</a></li>
786
 
            
787
 
                <li><a href="..&#x2F;modules/calendar-base.html">calendar-base</a></li>
788
 
            
789
 
                <li><a href="..&#x2F;modules/calendarnavigator.html">calendarnavigator</a></li>
790
 
            
791
 
                <li><a href="..&#x2F;modules/charts.html">charts</a></li>
792
 
            
793
 
                <li><a href="..&#x2F;modules/charts-legend.html">charts-legend</a></li>
794
 
            
795
 
                <li><a href="..&#x2F;modules/classnamemanager.html">classnamemanager</a></li>
796
 
            
797
 
                <li><a href="..&#x2F;modules/clickable-rail.html">clickable-rail</a></li>
798
 
            
799
 
                <li><a href="..&#x2F;modules/collection.html">collection</a></li>
800
 
            
801
 
                <li><a href="..&#x2F;modules/console.html">console</a></li>
802
 
            
803
 
                <li><a href="..&#x2F;modules/console-filters.html">console-filters</a></li>
804
 
            
805
 
                <li><a href="..&#x2F;modules/cookie.html">cookie</a></li>
806
 
            
807
 
                <li><a href="..&#x2F;modules/createlink-base.html">createlink-base</a></li>
808
 
            
809
 
                <li><a href="..&#x2F;modules/dataschema.html">dataschema</a></li>
810
 
            
811
 
                <li><a href="..&#x2F;modules/dataschema-array.html">dataschema-array</a></li>
812
 
            
813
 
                <li><a href="..&#x2F;modules/dataschema-base.html">dataschema-base</a></li>
814
 
            
815
 
                <li><a href="..&#x2F;modules/dataschema-json.html">dataschema-json</a></li>
816
 
            
817
 
                <li><a href="..&#x2F;modules/dataschema-text.html">dataschema-text</a></li>
818
 
            
819
 
                <li><a href="..&#x2F;modules/dataschema-xml.html">dataschema-xml</a></li>
820
 
            
821
 
                <li><a href="..&#x2F;modules/datasource.html">datasource</a></li>
822
 
            
823
 
                <li><a href="..&#x2F;modules/datasource-arrayschema.html">datasource-arrayschema</a></li>
824
 
            
825
 
                <li><a href="..&#x2F;modules/datasource-cache.html">datasource-cache</a></li>
826
 
            
827
 
                <li><a href="..&#x2F;modules/datasource-function.html">datasource-function</a></li>
828
 
            
829
 
                <li><a href="..&#x2F;modules/datasource-get.html">datasource-get</a></li>
830
 
            
831
 
                <li><a href="..&#x2F;modules/datasource-io.html">datasource-io</a></li>
832
 
            
833
 
                <li><a href="..&#x2F;modules/datasource-jsonschema.html">datasource-jsonschema</a></li>
834
 
            
835
 
                <li><a href="..&#x2F;modules/datasource-local.html">datasource-local</a></li>
836
 
            
837
 
                <li><a href="..&#x2F;modules/datasource-polling.html">datasource-polling</a></li>
838
 
            
839
 
                <li><a href="..&#x2F;modules/datasource-textschema.html">datasource-textschema</a></li>
840
 
            
841
 
                <li><a href="..&#x2F;modules/datasource-xmlschema.html">datasource-xmlschema</a></li>
842
 
            
843
 
                <li><a href="..&#x2F;modules/datatable.html">datatable</a></li>
844
 
            
845
 
                <li><a href="..&#x2F;modules/datatable-base.html">datatable-base</a></li>
846
 
            
847
 
                <li><a href="..&#x2F;modules/datatable-base-deprecated.html">datatable-base-deprecated</a></li>
848
 
            
849
 
                <li><a href="..&#x2F;modules/datatable-body.html">datatable-body</a></li>
850
 
            
851
 
                <li><a href="..&#x2F;modules/datatable-column-widths.html">datatable-column-widths</a></li>
852
 
            
853
 
                <li><a href="..&#x2F;modules/datatable-core.html">datatable-core</a></li>
854
 
            
855
 
                <li><a href="..&#x2F;modules/datatable-datasource.html">datatable-datasource</a></li>
856
 
            
857
 
                <li><a href="..&#x2F;modules/datatable-datasource-deprecated.html">datatable-datasource-deprecated</a></li>
858
 
            
859
 
                <li><a href="..&#x2F;modules/datatable-deprecated.html">datatable-deprecated</a></li>
860
 
            
861
 
                <li><a href="..&#x2F;modules/datatable-head.html">datatable-head</a></li>
862
 
            
863
 
                <li><a href="..&#x2F;modules/datatable-message.html">datatable-message</a></li>
864
 
            
865
 
                <li><a href="..&#x2F;modules/datatable-mutable.html">datatable-mutable</a></li>
866
 
            
867
 
                <li><a href="..&#x2F;modules/datatable-scroll.html">datatable-scroll</a></li>
868
 
            
869
 
                <li><a href="..&#x2F;modules/datatable-scroll-deprecated.html">datatable-scroll-deprecated</a></li>
870
 
            
871
 
                <li><a href="..&#x2F;modules/datatable-sort.html">datatable-sort</a></li>
872
 
            
873
 
                <li><a href="..&#x2F;modules/datatable-sort-deprecated.html">datatable-sort-deprecated</a></li>
874
 
            
875
 
                <li><a href="..&#x2F;modules/datatype.html">datatype</a></li>
876
 
            
877
 
                <li><a href="..&#x2F;modules/datatype-date.html">datatype-date</a></li>
878
 
            
879
 
                <li><a href="..&#x2F;modules/datatype-date-format.html">datatype-date-format</a></li>
880
 
            
881
 
                <li><a href="..&#x2F;modules/datatype-date-math.html">datatype-date-math</a></li>
882
 
            
883
 
                <li><a href="..&#x2F;modules/datatype-date-parse.html">datatype-date-parse</a></li>
884
 
            
885
 
                <li><a href="..&#x2F;modules/datatype-number.html">datatype-number</a></li>
886
 
            
887
 
                <li><a href="..&#x2F;modules/datatype-number-format.html">datatype-number-format</a></li>
888
 
            
889
 
                <li><a href="..&#x2F;modules/datatype-number-parse.html">datatype-number-parse</a></li>
890
 
            
891
 
                <li><a href="..&#x2F;modules/datatype-xml.html">datatype-xml</a></li>
892
 
            
893
 
                <li><a href="..&#x2F;modules/datatype-xml-format.html">datatype-xml-format</a></li>
894
 
            
895
 
                <li><a href="..&#x2F;modules/datatype-xml-parse.html">datatype-xml-parse</a></li>
896
 
            
897
 
                <li><a href="..&#x2F;modules/dd.html">dd</a></li>
898
 
            
899
 
                <li><a href="..&#x2F;modules/dd-constrain.html">dd-constrain</a></li>
900
 
            
901
 
                <li><a href="..&#x2F;modules/dd-ddm.html">dd-ddm</a></li>
902
 
            
903
 
                <li><a href="..&#x2F;modules/dd-ddm-base.html">dd-ddm-base</a></li>
904
 
            
905
 
                <li><a href="..&#x2F;modules/dd-ddm-drop.html">dd-ddm-drop</a></li>
906
 
            
907
 
                <li><a href="..&#x2F;modules/dd-delegate.html">dd-delegate</a></li>
908
 
            
909
 
                <li><a href="..&#x2F;modules/dd-drag.html">dd-drag</a></li>
910
 
            
911
 
                <li><a href="..&#x2F;modules/dd-drop.html">dd-drop</a></li>
912
 
            
913
 
                <li><a href="..&#x2F;modules/dd-drop-plugin.html">dd-drop-plugin</a></li>
914
 
            
915
 
                <li><a href="..&#x2F;modules/dd-plugin.html">dd-plugin</a></li>
916
 
            
917
 
                <li><a href="..&#x2F;modules/dd-proxy.html">dd-proxy</a></li>
918
 
            
919
 
                <li><a href="..&#x2F;modules/dd-scroll.html">dd-scroll</a></li>
920
 
            
921
 
                <li><a href="..&#x2F;modules/dial.html">dial</a></li>
922
 
            
923
 
                <li><a href="..&#x2F;modules/dom.html">dom</a></li>
924
 
            
925
 
                <li><a href="..&#x2F;modules/dom-base.html">dom-base</a></li>
926
 
            
927
 
                <li><a href="..&#x2F;modules/dom-screen.html">dom-screen</a></li>
928
 
            
929
 
                <li><a href="..&#x2F;modules/dom-style.html">dom-style</a></li>
930
 
            
931
 
                <li><a href="..&#x2F;modules/dump.html">dump</a></li>
932
 
            
933
 
                <li><a href="..&#x2F;modules/editor.html">editor</a></li>
934
 
            
935
 
                <li><a href="..&#x2F;modules/editor-base.html">editor-base</a></li>
936
 
            
937
 
                <li><a href="..&#x2F;modules/editor-bidi.html">editor-bidi</a></li>
938
 
            
939
 
                <li><a href="..&#x2F;modules/editor-br.html">editor-br</a></li>
940
 
            
941
 
                <li><a href="..&#x2F;modules/editor-lists.html">editor-lists</a></li>
942
 
            
943
 
                <li><a href="..&#x2F;modules/editor-para.html">editor-para</a></li>
944
 
            
945
 
                <li><a href="..&#x2F;modules/editor-para-base.html">editor-para-base</a></li>
946
 
            
947
 
                <li><a href="..&#x2F;modules/editor-para-ie.html">editor-para-ie</a></li>
948
 
            
949
 
                <li><a href="..&#x2F;modules/editor-tab.html">editor-tab</a></li>
950
 
            
951
 
                <li><a href="..&#x2F;modules/escape.html">escape</a></li>
952
 
            
953
 
                <li><a href="..&#x2F;modules/event.html">event</a></li>
954
 
            
955
 
                <li><a href="..&#x2F;modules/event-base.html">event-base</a></li>
956
 
            
957
 
                <li><a href="..&#x2F;modules/event-contextmenu.html">event-contextmenu</a></li>
958
 
            
959
 
                <li><a href="..&#x2F;modules/event-custom.html">event-custom</a></li>
960
 
            
961
 
                <li><a href="..&#x2F;modules/event-custom-base.html">event-custom-base</a></li>
962
 
            
963
 
                <li><a href="..&#x2F;modules/event-custom-complex.html">event-custom-complex</a></li>
964
 
            
965
 
                <li><a href="..&#x2F;modules/event-delegate.html">event-delegate</a></li>
966
 
            
967
 
                <li><a href="..&#x2F;modules/event-flick.html">event-flick</a></li>
968
 
            
969
 
                <li><a href="..&#x2F;modules/event-focus.html">event-focus</a></li>
970
 
            
971
 
                <li><a href="..&#x2F;modules/event-gestures.html">event-gestures</a></li>
972
 
            
973
 
                <li><a href="..&#x2F;modules/event-hover.html">event-hover</a></li>
974
 
            
975
 
                <li><a href="..&#x2F;modules/event-key.html">event-key</a></li>
976
 
            
977
 
                <li><a href="..&#x2F;modules/event-mouseenter.html">event-mouseenter</a></li>
978
 
            
979
 
                <li><a href="..&#x2F;modules/event-mousewheel.html">event-mousewheel</a></li>
980
 
            
981
 
                <li><a href="..&#x2F;modules/event-move.html">event-move</a></li>
982
 
            
983
 
                <li><a href="..&#x2F;modules/event-outside.html">event-outside</a></li>
984
 
            
985
 
                <li><a href="..&#x2F;modules/event-resize.html">event-resize</a></li>
986
 
            
987
 
                <li><a href="..&#x2F;modules/event-simulate.html">event-simulate</a></li>
988
 
            
989
 
                <li><a href="..&#x2F;modules/event-synthetic.html">event-synthetic</a></li>
990
 
            
991
 
                <li><a href="..&#x2F;modules/event-touch.html">event-touch</a></li>
992
 
            
993
 
                <li><a href="..&#x2F;modules/event-valuechange.html">event-valuechange</a></li>
994
 
            
995
 
                <li><a href="..&#x2F;modules/exec-command.html">exec-command</a></li>
996
 
            
997
 
                <li><a href="..&#x2F;modules/features.html">features</a></li>
998
 
            
999
 
                <li><a href="..&#x2F;modules/file.html">file</a></li>
1000
 
            
1001
 
                <li><a href="..&#x2F;modules/file-flash.html">file-flash</a></li>
1002
 
            
1003
 
                <li><a href="..&#x2F;modules/file-html5.html">file-html5</a></li>
1004
 
            
1005
 
                <li><a href="..&#x2F;modules/frame.html">frame</a></li>
1006
 
            
1007
 
                <li><a href="..&#x2F;modules/get.html">get</a></li>
1008
 
            
1009
 
                <li><a href="..&#x2F;modules/get-nodejs.html">get-nodejs</a></li>
1010
 
            
1011
 
                <li><a href="..&#x2F;modules/graphics.html">graphics</a></li>
1012
 
            
1013
 
                <li><a href="..&#x2F;modules/handlebars.html">handlebars</a></li>
1014
 
            
1015
 
                <li><a href="..&#x2F;modules/handlebars-base.html">handlebars-base</a></li>
1016
 
            
1017
 
                <li><a href="..&#x2F;modules/handlebars-compiler.html">handlebars-compiler</a></li>
1018
 
            
1019
 
                <li><a href="..&#x2F;modules/highlight.html">highlight</a></li>
1020
 
            
1021
 
                <li><a href="..&#x2F;modules/highlight-accentfold.html">highlight-accentfold</a></li>
1022
 
            
1023
 
                <li><a href="..&#x2F;modules/highlight-base.html">highlight-base</a></li>
1024
 
            
1025
 
                <li><a href="..&#x2F;modules/history.html">history</a></li>
1026
 
            
1027
 
                <li><a href="..&#x2F;modules/history-base.html">history-base</a></li>
1028
 
            
1029
 
                <li><a href="..&#x2F;modules/history-hash.html">history-hash</a></li>
1030
 
            
1031
 
                <li><a href="..&#x2F;modules/history-hash-ie.html">history-hash-ie</a></li>
1032
 
            
1033
 
                <li><a href="..&#x2F;modules/history-html5.html">history-html5</a></li>
1034
 
            
1035
 
                <li><a href="..&#x2F;modules/imageloader.html">imageloader</a></li>
1036
 
            
1037
 
                <li><a href="..&#x2F;modules/intl.html">intl</a></li>
1038
 
            
1039
 
                <li><a href="..&#x2F;modules/io.html">io</a></li>
1040
 
            
1041
 
                <li><a href="..&#x2F;modules/io-base.html">io-base</a></li>
1042
 
            
1043
 
                <li><a href="..&#x2F;modules/io-form.html">io-form</a></li>
1044
 
            
1045
 
                <li><a href="..&#x2F;modules/io-queue.html">io-queue</a></li>
1046
 
            
1047
 
                <li><a href="..&#x2F;modules/io-upload-iframe.html">io-upload-iframe</a></li>
1048
 
            
1049
 
                <li><a href="..&#x2F;modules/io-xdr.html">io-xdr</a></li>
1050
 
            
1051
 
                <li><a href="..&#x2F;modules/json.html">json</a></li>
1052
 
            
1053
 
                <li><a href="..&#x2F;modules/json-parse.html">json-parse</a></li>
1054
 
            
1055
 
                <li><a href="..&#x2F;modules/json-stringify.html">json-stringify</a></li>
1056
 
            
1057
 
                <li><a href="..&#x2F;modules/jsonp.html">jsonp</a></li>
1058
 
            
1059
 
                <li><a href="..&#x2F;modules/jsonp-url.html">jsonp-url</a></li>
1060
 
            
1061
 
                <li><a href="..&#x2F;modules/loader.html">loader</a></li>
1062
 
            
1063
 
                <li><a href="..&#x2F;modules/loader-base.html">loader-base</a></li>
1064
 
            
1065
 
                <li><a href="..&#x2F;modules/matrix.html">matrix</a></li>
1066
 
            
1067
 
                <li><a href="..&#x2F;modules/model.html">model</a></li>
1068
 
            
1069
 
                <li><a href="..&#x2F;modules/model-list.html">model-list</a></li>
1070
 
            
1071
 
                <li><a href="..&#x2F;modules/node.html">node</a></li>
1072
 
            
1073
 
                <li><a href="..&#x2F;modules/node-base.html">node-base</a></li>
1074
 
            
1075
 
                <li><a href="..&#x2F;modules/node-core.html">node-core</a></li>
1076
 
            
1077
 
                <li><a href="..&#x2F;modules/node-data.html">node-data</a></li>
1078
 
            
1079
 
                <li><a href="..&#x2F;modules/node-deprecated.html">node-deprecated</a></li>
1080
 
            
1081
 
                <li><a href="..&#x2F;modules/node-event-delegate.html">node-event-delegate</a></li>
1082
 
            
1083
 
                <li><a href="..&#x2F;modules/node-event-html5.html">node-event-html5</a></li>
1084
 
            
1085
 
                <li><a href="..&#x2F;modules/node-event-simulate.html">node-event-simulate</a></li>
1086
 
            
1087
 
                <li><a href="..&#x2F;modules/node-flick.html">node-flick</a></li>
1088
 
            
1089
 
                <li><a href="..&#x2F;modules/node-focusmanager.html">node-focusmanager</a></li>
1090
 
            
1091
 
                <li><a href="..&#x2F;modules/node-load.html">node-load</a></li>
1092
 
            
1093
 
                <li><a href="..&#x2F;modules/node-menunav.html">node-menunav</a></li>
1094
 
            
1095
 
                <li><a href="..&#x2F;modules/node-pluginhost.html">node-pluginhost</a></li>
1096
 
            
1097
 
                <li><a href="..&#x2F;modules/node-screen.html">node-screen</a></li>
1098
 
            
1099
 
                <li><a href="..&#x2F;modules/node-style.html">node-style</a></li>
1100
 
            
1101
 
                <li><a href="..&#x2F;modules/oop.html">oop</a></li>
1102
 
            
1103
 
                <li><a href="..&#x2F;modules/overlay.html">overlay</a></li>
1104
 
            
1105
 
                <li><a href="..&#x2F;modules/panel.html">panel</a></li>
1106
 
            
1107
 
                <li><a href="..&#x2F;modules/parallel.html">parallel</a></li>
1108
 
            
1109
 
                <li><a href="..&#x2F;modules/pjax.html">pjax</a></li>
1110
 
            
1111
 
                <li><a href="..&#x2F;modules/pjax-base.html">pjax-base</a></li>
1112
 
            
1113
 
                <li><a href="..&#x2F;modules/pjax-plugin.html">pjax-plugin</a></li>
1114
 
            
1115
 
                <li><a href="..&#x2F;modules/plugin.html">plugin</a></li>
1116
 
            
1117
 
                <li><a href="..&#x2F;modules/pluginhost.html">pluginhost</a></li>
1118
 
            
1119
 
                <li><a href="..&#x2F;modules/pluginhost-base.html">pluginhost-base</a></li>
1120
 
            
1121
 
                <li><a href="..&#x2F;modules/pluginhost-config.html">pluginhost-config</a></li>
1122
 
            
1123
 
                <li><a href="..&#x2F;modules/profiler.html">profiler</a></li>
1124
 
            
1125
 
                <li><a href="..&#x2F;modules/querystring.html">querystring</a></li>
1126
 
            
1127
 
                <li><a href="..&#x2F;modules/querystring-parse.html">querystring-parse</a></li>
1128
 
            
1129
 
                <li><a href="..&#x2F;modules/querystring-parse-simple.html">querystring-parse-simple</a></li>
1130
 
            
1131
 
                <li><a href="..&#x2F;modules/querystring-stringify.html">querystring-stringify</a></li>
1132
 
            
1133
 
                <li><a href="..&#x2F;modules/querystring-stringify-simple.html">querystring-stringify-simple</a></li>
1134
 
            
1135
 
                <li><a href="..&#x2F;modules/queue-promote.html">queue-promote</a></li>
1136
 
            
1137
 
                <li><a href="..&#x2F;modules/range-slider.html">range-slider</a></li>
1138
 
            
1139
 
                <li><a href="..&#x2F;modules/recordset.html">recordset</a></li>
1140
 
            
1141
 
                <li><a href="..&#x2F;modules/recordset-base.html">recordset-base</a></li>
1142
 
            
1143
 
                <li><a href="..&#x2F;modules/recordset-filter.html">recordset-filter</a></li>
1144
 
            
1145
 
                <li><a href="..&#x2F;modules/recordset-indexer.html">recordset-indexer</a></li>
1146
 
            
1147
 
                <li><a href="..&#x2F;modules/recordset-sort.html">recordset-sort</a></li>
1148
 
            
1149
 
                <li><a href="..&#x2F;modules/resize.html">resize</a></li>
1150
 
            
1151
 
                <li><a href="..&#x2F;modules/resize-contrain.html">resize-contrain</a></li>
1152
 
            
1153
 
                <li><a href="..&#x2F;modules/resize-plugin.html">resize-plugin</a></li>
1154
 
            
1155
 
                <li><a href="..&#x2F;modules/resize-proxy.html">resize-proxy</a></li>
1156
 
            
1157
 
                <li><a href="..&#x2F;modules/rollup.html">rollup</a></li>
1158
 
            
1159
 
                <li><a href="..&#x2F;modules/router.html">router</a></li>
1160
 
            
1161
 
                <li><a href="..&#x2F;modules/scrollview.html">scrollview</a></li>
1162
 
            
1163
 
                <li><a href="..&#x2F;modules/scrollview-base.html">scrollview-base</a></li>
1164
 
            
1165
 
                <li><a href="..&#x2F;modules/scrollview-base-ie.html">scrollview-base-ie</a></li>
1166
 
            
1167
 
                <li><a href="..&#x2F;modules/scrollview-list.html">scrollview-list</a></li>
1168
 
            
1169
 
                <li><a href="..&#x2F;modules/scrollview-paginator.html">scrollview-paginator</a></li>
1170
 
            
1171
 
                <li><a href="..&#x2F;modules/scrollview-scrollbars.html">scrollview-scrollbars</a></li>
1172
 
            
1173
 
                <li><a href="..&#x2F;modules/selection.html">selection</a></li>
1174
 
            
1175
 
                <li><a href="..&#x2F;modules/selector-css2.html">selector-css2</a></li>
1176
 
            
1177
 
                <li><a href="..&#x2F;modules/selector-css3.html">selector-css3</a></li>
1178
 
            
1179
 
                <li><a href="..&#x2F;modules/selector-native.html">selector-native</a></li>
1180
 
            
1181
 
                <li><a href="..&#x2F;modules/shim-plugin.html">shim-plugin</a></li>
1182
 
            
1183
 
                <li><a href="..&#x2F;modules/slider.html">slider</a></li>
1184
 
            
1185
 
                <li><a href="..&#x2F;modules/slider-base.html">slider-base</a></li>
1186
 
            
1187
 
                <li><a href="..&#x2F;modules/slider-value-range.html">slider-value-range</a></li>
1188
 
            
1189
 
                <li><a href="..&#x2F;modules/sortable.html">sortable</a></li>
1190
 
            
1191
 
                <li><a href="..&#x2F;modules/sortable-scroll.html">sortable-scroll</a></li>
1192
 
            
1193
 
                <li><a href="..&#x2F;modules/stylesheet.html">stylesheet</a></li>
1194
 
            
1195
 
                <li><a href="..&#x2F;modules/substitute.html">substitute</a></li>
1196
 
            
1197
 
                <li><a href="..&#x2F;modules/swf.html">swf</a></li>
1198
 
            
1199
 
                <li><a href="..&#x2F;modules/swfdetect.html">swfdetect</a></li>
1200
 
            
1201
 
                <li><a href="..&#x2F;modules/tabview.html">tabview</a></li>
1202
 
            
1203
 
                <li><a href="..&#x2F;modules/test.html">test</a></li>
1204
 
            
1205
 
                <li><a href="..&#x2F;modules/test-console.html">test-console</a></li>
1206
 
            
1207
 
                <li><a href="..&#x2F;modules/text.html">text</a></li>
1208
 
            
1209
 
                <li><a href="..&#x2F;modules/text-accentfold.html">text-accentfold</a></li>
1210
 
            
1211
 
                <li><a href="..&#x2F;modules/text-wordbreak.html">text-wordbreak</a></li>
1212
 
            
1213
 
                <li><a href="..&#x2F;modules/transition.html">transition</a></li>
1214
 
            
1215
 
                <li><a href="..&#x2F;modules/uploader.html">uploader</a></li>
1216
 
            
1217
 
                <li><a href="..&#x2F;modules/uploader-deprecated.html">uploader-deprecated</a></li>
1218
 
            
1219
 
                <li><a href="..&#x2F;modules/uploader-flash.html">uploader-flash</a></li>
1220
 
            
1221
 
                <li><a href="..&#x2F;modules/uploader-html5.html">uploader-html5</a></li>
1222
 
            
1223
 
                <li><a href="..&#x2F;modules/uploader-queue.html">uploader-queue</a></li>
1224
 
            
1225
 
                <li><a href="..&#x2F;modules/view.html">view</a></li>
1226
 
            
1227
 
                <li><a href="..&#x2F;modules/view-node-map.html">view-node-map</a></li>
1228
 
            
1229
 
                <li><a href="..&#x2F;modules/widget.html">widget</a></li>
1230
 
            
1231
 
                <li><a href="..&#x2F;modules/widget-anim.html">widget-anim</a></li>
1232
 
            
1233
 
                <li><a href="..&#x2F;modules/widget-autohide.html">widget-autohide</a></li>
1234
 
            
1235
 
                <li><a href="..&#x2F;modules/widget-base.html">widget-base</a></li>
1236
 
            
1237
 
                <li><a href="..&#x2F;modules/widget-base-ie.html">widget-base-ie</a></li>
1238
 
            
1239
 
                <li><a href="..&#x2F;modules/widget-buttons.html">widget-buttons</a></li>
1240
 
            
1241
 
                <li><a href="..&#x2F;modules/widget-child.html">widget-child</a></li>
1242
 
            
1243
 
                <li><a href="..&#x2F;modules/widget-htmlparser.html">widget-htmlparser</a></li>
1244
 
            
1245
 
                <li><a href="..&#x2F;modules/widget-locale.html">widget-locale</a></li>
1246
 
            
1247
 
                <li><a href="..&#x2F;modules/widget-modality.html">widget-modality</a></li>
1248
 
            
1249
 
                <li><a href="..&#x2F;modules/widget-parent.html">widget-parent</a></li>
1250
 
            
1251
 
                <li><a href="..&#x2F;modules/widget-position.html">widget-position</a></li>
1252
 
            
1253
 
                <li><a href="..&#x2F;modules/widget-position-align.html">widget-position-align</a></li>
1254
 
            
1255
 
                <li><a href="..&#x2F;modules/widget-position-constrain.html">widget-position-constrain</a></li>
1256
 
            
1257
 
                <li><a href="..&#x2F;modules/widget-skin.html">widget-skin</a></li>
1258
 
            
1259
 
                <li><a href="..&#x2F;modules/widget-stack.html">widget-stack</a></li>
1260
 
            
1261
 
                <li><a href="..&#x2F;modules/widget-stdmod.html">widget-stdmod</a></li>
1262
 
            
1263
 
                <li><a href="..&#x2F;modules/widget-uievents.html">widget-uievents</a></li>
1264
 
            
1265
 
                <li><a href="..&#x2F;modules/yql.html">yql</a></li>
1266
 
            
1267
 
                <li><a href="..&#x2F;modules/yui.html">yui</a></li>
1268
 
            
1269
 
                <li><a href="..&#x2F;modules/yui-base.html">yui-base</a></li>
1270
 
            
1271
 
                <li><a href="..&#x2F;modules/yui-later.html">yui-later</a></li>
1272
 
            
1273
 
                <li><a href="..&#x2F;modules/yui-log.html">yui-log</a></li>
1274
 
            
1275
 
                <li><a href="..&#x2F;modules/yui-throttle.html">yui-throttle</a></li>
1276
 
            
1277
 
                <li><a href="..&#x2F;modules/yui3.html">yui3</a></li>
1278
 
            
1279
 
            </ul>
1280
 
        </div>
1281
 
    </div>
1282
 
</div>
1283
 
 
1284
 
            </div>
1285
 
        </div>
1286
 
        <div class="yui3-u-3-4">
1287
 
                <div id="api-options">
1288
 
        Show:
1289
 
        <label for="api-show-inherited">
1290
 
            <input type="checkbox" id="api-show-inherited" checked>
1291
 
            Inherited
1292
 
        </label>
1293
 
 
1294
 
        <label for="api-show-protected">
1295
 
            <input type="checkbox" id="api-show-protected">
1296
 
            Protected
1297
 
        </label>
1298
 
 
1299
 
        <label for="api-show-private">
1300
 
            <input type="checkbox" id="api-show-private">
1301
 
            Private
1302
 
        </label>
1303
 
    </div>
1304
 
 
1305
 
 
1306
 
            <div class="apidocs">
1307
 
                <div id="docs-main">
1308
 
                    <div class="content">
1309
 
                        <h1 class="file-heading">File: calendar&#x2F;js&#x2F;calendar-base.js</h1>
1310
 
 
1311
 
<div class="file">
1312
 
    <pre class="code prettyprint linenums">
1313
 
&#x2F;**
1314
 
 * The CalendarBase submodule is a basic UI calendar view that displays
1315
 
 * a range of dates in a two-dimensional month grid, with one or more
1316
 
 * months visible at a single time. CalendarBase supports custom date
1317
 
 * rendering, multiple calendar panes, and selection. 
1318
 
 * @module calendar
1319
 
 * @submodule calendar-base
1320
 
 *&#x2F;
1321
 
    
1322
 
var getCN                 = Y.ClassNameManager.getClassName,
1323
 
    CALENDAR              = &#x27;calendar&#x27;,
1324
 
    CAL_GRID              = getCN(CALENDAR, &#x27;grid&#x27;),
1325
 
    CAL_LEFT_GRID         = getCN(CALENDAR, &#x27;left-grid&#x27;),
1326
 
    CAL_RIGHT_GRID        = getCN(CALENDAR, &#x27;right-grid&#x27;),
1327
 
    CAL_BODY              = getCN(CALENDAR, &#x27;body&#x27;),
1328
 
    CAL_HD                = getCN(CALENDAR, &#x27;header&#x27;),
1329
 
    CAL_HD_LABEL          = getCN(CALENDAR, &#x27;header-label&#x27;),
1330
 
    CAL_WDAYROW           = getCN(CALENDAR, &#x27;weekdayrow&#x27;),
1331
 
    CAL_WDAY              = getCN(CALENDAR, &#x27;weekday&#x27;),
1332
 
    CAL_COL_HIDDEN        = getCN(CALENDAR, &#x27;column-hidden&#x27;),
1333
 
    CAL_DAY_SELECTED      = getCN(CALENDAR, &#x27;day-selected&#x27;),
1334
 
    SELECTION_DISABLED    = getCN(CALENDAR, &#x27;selection-disabled&#x27;),
1335
 
    CAL_ROW               = getCN(CALENDAR, &#x27;row&#x27;),
1336
 
    CAL_DAY               = getCN(CALENDAR, &#x27;day&#x27;),
1337
 
    CAL_PREVMONTH_DAY     = getCN(CALENDAR, &#x27;prevmonth-day&#x27;),
1338
 
    CAL_NEXTMONTH_DAY     = getCN(CALENDAR, &#x27;nextmonth-day&#x27;),
1339
 
    CAL_ANCHOR            = getCN(CALENDAR, &#x27;anchor&#x27;),
1340
 
    CAL_PANE              = getCN(CALENDAR, &#x27;pane&#x27;),
1341
 
    CAL_STATUS            = getCN(CALENDAR, &#x27;status&#x27;),
1342
 
    L           = Y.Lang,
1343
 
    node        = Y.Node,
1344
 
    create      = node.create,
1345
 
    substitute  = Y.substitute,
1346
 
    each        = Y.each,
1347
 
    hasVal      = Y.Array.hasValue,
1348
 
    iOf         = Y.Array.indexOf,
1349
 
    hasKey      = Y.Object.hasKey,
1350
 
    setVal      = Y.Object.setValue,
1351
 
    owns        = Y.Object.owns,
1352
 
    isEmpty     = Y.Object.isEmpty,
1353
 
    ydate       = Y.DataType.Date;
1354
 
 
1355
 
&#x2F;** Create a calendar view to represent a single or multiple
1356
 
  * month range of dates, rendered as a grid with date and
1357
 
  * weekday labels.
1358
 
  * 
1359
 
  * @class CalendarBase
1360
 
  * @extends Widget
1361
 
  * @param config {Object} Configuration object (see Configuration 
1362
 
  * attributes)
1363
 
  * @constructor
1364
 
  *&#x2F;
1365
 
function CalendarBase(config) {
1366
 
  CalendarBase.superclass.constructor.apply ( this, arguments );
1367
 
}
1368
 
 
1369
 
 
1370
 
 
1371
 
Y.CalendarBase = Y.extend( CalendarBase, Y.Widget, {
1372
 
 
1373
 
  &#x2F;**
1374
 
   * A storage for various properties of individual month
1375
 
   * panes.
1376
 
   *
1377
 
   * @property _paneProperties
1378
 
   * @type Object
1379
 
   * @private
1380
 
   *&#x2F;
1381
 
  _paneProperties : {},
1382
 
 
1383
 
  &#x2F;**
1384
 
   * The number of month panes in the calendar, deduced
1385
 
   * from the CONTENT_TEMPLATE&#x27;s number of {calendar_grid}
1386
 
   * tokens.
1387
 
   *
1388
 
   * @property _paneNumber
1389
 
   * @type Number
1390
 
   * @private
1391
 
   *&#x2F;
1392
 
  _paneNumber : 1,
1393
 
 
1394
 
  &#x2F;**
1395
 
   * The unique id used to prefix various elements of this
1396
 
   * calendar instance.
1397
 
   *
1398
 
   * @property _calendarId
1399
 
   * @type String
1400
 
   * @private
1401
 
   *&#x2F;
1402
 
  _calendarId : null,
1403
 
 
1404
 
  &#x2F;**
1405
 
   * The hash map of selected dates, populated with
1406
 
   * selectDates() and deselectDates() methods 
1407
 
   *
1408
 
   * @property _selectedDates
1409
 
   * @type Object
1410
 
   * @private
1411
 
   *&#x2F;
1412
 
  _selectedDates : {},
1413
 
 
1414
 
  &#x2F;**
1415
 
   * A private copy of the rules object, populated
1416
 
   * by setting the customRenderer attribute.
1417
 
   *
1418
 
   * @property _rules
1419
 
   * @type Object
1420
 
   * @private
1421
 
   *&#x2F;
1422
 
  _rules : {},
1423
 
 
1424
 
  &#x2F;**
1425
 
   * A private copy of the filterFunction, populated
1426
 
   * by setting the customRenderer attribute.
1427
 
   *
1428
 
   * @property _filterFunction
1429
 
   * @type Function
1430
 
   * @private
1431
 
   *&#x2F;
1432
 
  _filterFunction : null,
1433
 
 
1434
 
  &#x2F;**
1435
 
   * Storage for calendar cells modified by any custom
1436
 
   * formatting. The storage is cleared, used to restore
1437
 
   * cells to the original state, and repopulated accordingly
1438
 
   * when the calendar is rerendered. 
1439
 
   *
1440
 
   * @property _storedDateCells
1441
 
   * @type Object
1442
 
   * @private
1443
 
   *&#x2F;
1444
 
  _storedDateCells : {},
1445
 
 
1446
 
  &#x2F;**
1447
 
   * Designated initializer
1448
 
   * Initializes instance-level properties of
1449
 
   * calendar.
1450
 
   *
1451
 
   * @method initializer
1452
 
   *&#x2F;  
1453
 
  initializer : function () {
1454
 
    this._paneProperties = {};
1455
 
    this._calendarId = Y.guid(&#x27;calendar&#x27;);
1456
 
    this._selectedDates = {};
1457
 
    this._rules = {};
1458
 
    this._storedDateCells = {};
1459
 
  },
1460
 
 
1461
 
  &#x2F;**
1462
 
   * renderUI implementation
1463
 
   *
1464
 
   * Creates a visual representation of the calendar based on existing parameters. 
1465
 
   * @method renderUI
1466
 
   *&#x2F;  
1467
 
  renderUI : function () {
1468
 
 
1469
 
      var contentBox = this.get(&#x27;contentBox&#x27;);
1470
 
      contentBox.appendChild(this._initCalendarHTML(this.get(&#x27;date&#x27;)));
1471
 
        if (this.get(&#x27;showPrevMonth&#x27;)) {
1472
 
            this._afterShowPrevMonthChange();
1473
 
        }
1474
 
        if (this.get(&#x27;showNextMonth&#x27;)) {
1475
 
            this._afterShowNextMonthChange();
1476
 
        }
1477
 
      this._renderCustomRules();
1478
 
      this._renderSelectedDates();
1479
 
 
1480
 
    this.get(&quot;boundingBox&quot;).setAttribute(&quot;aria-labelledby&quot;, this._calendarId + &quot;_header&quot;);
1481
 
 
1482
 
  },
1483
 
  &#x2F;**
1484
 
   * bindUI implementation
1485
 
   *
1486
 
   * Assigns listeners to relevant events that change the state
1487
 
   * of the calendar.
1488
 
   * @method bindUI
1489
 
   *&#x2F; 
1490
 
  bindUI : function () {
1491
 
    this.after(&#x27;dateChange&#x27;, this._afterDateChange);
1492
 
    this.after(&#x27;showPrevMonthChange&#x27;, this._afterShowPrevMonthChange);
1493
 
    this.after(&#x27;showNextMonthChange&#x27;, this._afterShowNextMonthChange);
1494
 
    this.after(&#x27;headerRendererChange&#x27;, this._afterHeaderRendererChange);
1495
 
    this.after(&#x27;customRendererChange&#x27;, this._afterCustomRendererChange);
1496
 
    this.after(&#x27;enabledDatesRuleChange&#x27;, this._afterCustomRendererChange);
1497
 
    this.after(&#x27;disabledDatesRuleChange&#x27;, this._afterCustomRendererChange);
1498
 
    this.after(&#x27;focusedChange&#x27;, this._afterFocusedChange);
1499
 
    this._bindCalendarEvents();
1500
 
  },
1501
 
 
1502
 
  &#x2F;**
1503
 
    * syncUI implementation
1504
 
    *
1505
 
    * Update the scroll position, based on the current value of scrollY
1506
 
    * @method syncUI
1507
 
    *&#x2F;  
1508
 
  syncUI : function () {
1509
 
      if (this.get(&#x27;showPrevMonth&#x27;)) {
1510
 
           this._afterShowPrevMonthChange();
1511
 
 
1512
 
      }
1513
 
 
1514
 
      if (this.get(&#x27;showNextMonth&#x27;)) {
1515
 
           this._afterShowNextMonthChange();
1516
 
      }
1517
 
  },
1518
 
 
1519
 
    &#x2F;**
1520
 
     * An internal utility method that generates a list of selected dates 
1521
 
     * from the hash storage.
1522
 
     *
1523
 
     * @method _getSelectedDatesList
1524
 
     * @protected
1525
 
     * @return {Array} The array of &#x60;Date&#x60;s that are currently selected.
1526
 
     *&#x2F;
1527
 
    _getSelectedDatesList : function () {
1528
 
      var output = [];
1529
 
      each (this._selectedDates, function (year) {
1530
 
        each (year, function (month) {
1531
 
          each (month, function (day) {
1532
 
           output.push (day);
1533
 
           }, this);
1534
 
        }, this);
1535
 
      }, this);
1536
 
      return output;
1537
 
    },
1538
 
 
1539
 
    &#x2F;**
1540
 
     * A utility method that returns all dates selected in a specific month.
1541
 
     *
1542
 
     * @method _getSelectedDatesInMonth
1543
 
     * @param {Date} oDate corresponding to the month for which selected dates
1544
 
     * are requested.
1545
 
     * @protected
1546
 
     * @return {Array} The array of &#x60;Date&#x60;s in a given month that are currently selected.
1547
 
     *&#x2F;
1548
 
    _getSelectedDatesInMonth : function (oDate) {
1549
 
      var year = oDate.getFullYear(),
1550
 
          month = oDate.getMonth();
1551
 
      
1552
 
        if (hasKey(this._selectedDates, year) &amp;&amp; hasKey(this._selectedDates[year], month)) {
1553
 
           return Y.Object.values(this._selectedDates[year][month]); 
1554
 
        }
1555
 
        else {
1556
 
           return [];
1557
 
        }
1558
 
      },
1559
 
 
1560
 
    &#x2F;**
1561
 
     * An internal rendering method that modifies a date cell to have the
1562
 
     * selected CSS class if the date cell is visible.
1563
 
     *
1564
 
     * @method _renderSelectedDate
1565
 
     * @param {Date} oDate The date corresponding to a specific date cell.
1566
 
     * @private
1567
 
     *&#x2F;
1568
 
    _renderSelectedDate : function (oDate) {
1569
 
        if (this._isDateVisible(oDate)) {
1570
 
            this._dateToNode(oDate).addClass(CAL_DAY_SELECTED).setAttribute(&quot;aria-selected&quot;, true);
1571
 
        }
1572
 
    },
1573
 
 
1574
 
    &#x2F;**
1575
 
     * An internal rendering method that modifies a date cell to remove the
1576
 
     * selected CSS class if the date cell is visible.
1577
 
     *
1578
 
     * @method _renderUnelectedDate
1579
 
     * @param {Date} oDate The date corresponding to a specific date cell.
1580
 
     * @private
1581
 
     *&#x2F;
1582
 
    _renderUnselectedDate : function (oDate) {
1583
 
        if (this._isDateVisible(oDate)) {
1584
 
            this._dateToNode(oDate).removeClass(CAL_DAY_SELECTED).setAttribute(&quot;aria-selected&quot;, false);
1585
 
        }
1586
 
    },
1587
 
 
1588
 
    &#x2F;**
1589
 
     * An internal utility method that checks whether a particular date
1590
 
     * is in the current view of the calendar.
1591
 
     *
1592
 
     * @method _isDateVisible
1593
 
     * @param {Date} oDate The date corresponding to a specific date cell.
1594
 
     * @private
1595
 
     * @return {boolean} Returns true if the given date is in the current 
1596
 
     * view of the calendar.
1597
 
     *&#x2F;
1598
 
    _isDateVisible : function (oDate) {
1599
 
      var minDate = this.get(&quot;date&quot;),
1600
 
          maxDate = ydate.addMonths(minDate, this._paneNumber - 1),
1601
 
          oDateTime = this._normalizeDate(oDate).getTime();
1602
 
          
1603
 
      if (minDate.getTime() &lt;= oDateTime &amp;&amp; oDateTime &lt;= maxDate) {
1604
 
          return true;
1605
 
      }
1606
 
      else {
1607
 
          return false;
1608
 
      }
1609
 
    },
1610
 
 
1611
 
    &#x2F;**
1612
 
     * An internal parsing method that receives a String list of numbers
1613
 
     * and number ranges (of the form &quot;1,2,3,4-6,7-9,10,11&quot; etc.) and checks
1614
 
     * whether a specific number is included in this list. Used for looking
1615
 
     * up dates in the customRenderer rule set.
1616
 
     *
1617
 
     * @method _isNumInList
1618
 
     * @param {Number} num The number to look for in a list.
1619
 
     * @param {String} strList The list of numbers of the form &quot;1,2,3,4-6,7-8,9&quot;, etc.
1620
 
     * @private
1621
 
     * @return {boolean} Returns true if the given number is in the given list.
1622
 
     *&#x2F;
1623
 
    _isNumInList : function (num, strList) {
1624
 
        if (strList == &quot;all&quot;) {
1625
 
            return true;
1626
 
        }
1627
 
        else {
1628
 
            var elements = strList.split(&quot;,&quot;),
1629
 
                i = elements.length;
1630
 
 
1631
 
            while (i--) {
1632
 
                var range = elements[i].split(&quot;-&quot;);
1633
 
                if (range.length == 2 &amp;&amp; num &gt;= parseInt(range[0], 10) &amp;&amp; num &lt;= parseInt(range[1], 10)) {
1634
 
                    return true;
1635
 
                }
1636
 
                else if (range.length == 1 &amp;&amp; (parseInt(elements[i], 10) == num)) {
1637
 
                    return true;
1638
 
                }
1639
 
            }
1640
 
            return false;   
1641
 
        }
1642
 
    },
1643
 
 
1644
 
    &#x2F;**
1645
 
     * Given a specific date, returns an array of rules (from the customRenderer rule set)
1646
 
     * that the given date matches.
1647
 
     *
1648
 
     * @method _getRulesForDate
1649
 
     * @param {Date} oDate The date for which an array of rules is needed
1650
 
     * @private
1651
 
     * @return {Array} Returns an array of &#x60;String&#x60;s, each containg the name of
1652
 
     * a rule that the given date matches.
1653
 
     *&#x2F;
1654
 
    _getRulesForDate : function (oDate) {
1655
 
      var year = oDate.getFullYear(),
1656
 
          month = oDate.getMonth(),
1657
 
          date = oDate.getDate(),
1658
 
          wday = oDate.getDay(),
1659
 
          rules = this._rules, 
1660
 
          outputRules = [],
1661
 
          years, months, dates, days;
1662
 
 
1663
 
      for (years in rules) {
1664
 
          if (this._isNumInList(year, years)) {
1665
 
              if (L.isString(rules[years])) {
1666
 
                  outputRules.push(rules[years]);
1667
 
              }
1668
 
              else {
1669
 
                  for (months in rules[years]) {
1670
 
                      if (this._isNumInList(month, months)) {
1671
 
                          if (L.isString(rules[years][months])) {
1672
 
                              outputRules.push(rules[years][months]);
1673
 
                          }
1674
 
                          else {
1675
 
                              for (dates in rules[years][months]) {
1676
 
                                  if (this._isNumInList(date, dates)) {
1677
 
                                      if (L.isString(rules[years][months][dates])) {
1678
 
                                          outputRules.push(rules[years][months][dates]);
1679
 
                                      }
1680
 
                                      else {
1681
 
                                          for (days in rules[years][months][dates]) {
1682
 
                                              if (this._isNumInList(wday, days)) {
1683
 
                                                  if (L.isString(rules[years][months][dates][days])) {
1684
 
                                                     outputRules.push(rules[years][months][dates][days]);
1685
 
                                                  }
1686
 
                                              }
1687
 
                                          }
1688
 
                                      }
1689
 
                                  }
1690
 
                              }
1691
 
                          }
1692
 
                      }
1693
 
                  } 
1694
 
              }
1695
 
          }
1696
 
      }
1697
 
      return outputRules;
1698
 
    },
1699
 
 
1700
 
    &#x2F;**
1701
 
     * A utility method which, given a specific date and a name of the rule,
1702
 
     * checks whether the date matches the given rule.
1703
 
     *
1704
 
     * @method _matchesRule
1705
 
     * @param {Date} oDate The date to check
1706
 
     * @param {String} rule The name of the rule that the date should match.
1707
 
     * @private
1708
 
     * @return {boolean} Returns true if the date matches the given rule.
1709
 
     *
1710
 
     *&#x2F;
1711
 
    _matchesRule : function (oDate, rule) {
1712
 
        return (iOf(this._getRulesForDate(oDate), rule) &gt;= 0);
1713
 
    },
1714
 
 
1715
 
    &#x2F;**
1716
 
     * A utility method which checks whether a given date matches the &#x60;enabledDatesRule&#x60;
1717
 
     * or does not match the &#x60;disabledDatesRule&#x60; and therefore whether it can be selected.
1718
 
     * @method _canBeSelected
1719
 
     * @param {Date} oDate The date to check
1720
 
     * @private
1721
 
     * @return {boolean} Returns true if the date can be selected; false otherwise.
1722
 
     *&#x2F;
1723
 
    _canBeSelected : function (oDate) {
1724
 
       
1725
 
       var enabledDatesRule = this.get(&quot;enabledDatesRule&quot;),
1726
 
           disabledDatesRule = this.get(&quot;disabledDatesRule&quot;);
1727
 
 
1728
 
       if (enabledDatesRule) {
1729
 
           return this._matchesRule(oDate, enabledDatesRule);
1730
 
       }
1731
 
       else if (disabledDatesRule) {
1732
 
           return !this._matchesRule(oDate, disabledDatesRule);
1733
 
       }
1734
 
       else {
1735
 
           return true;
1736
 
       }
1737
 
    },
1738
 
 
1739
 
    &#x2F;**
1740
 
     * Selects a given date or array of dates.
1741
 
     * @method selectDates
1742
 
     * @param {Date|Array} dates A &#x60;Date&#x60; or &#x60;Array&#x60; of &#x60;Date&#x60;s.
1743
 
     *&#x2F;
1744
 
    selectDates : function (dates) {
1745
 
      if (ydate.isValidDate(dates)) {
1746
 
         this._addDateToSelection(dates);
1747
 
      }
1748
 
      else if (L.isArray(dates)) {
1749
 
         this._addDatesToSelection(dates);
1750
 
      }
1751
 
    },
1752
 
 
1753
 
    &#x2F;**
1754
 
     * Deselects a given date or array of dates, or deselects
1755
 
     * all dates if no argument is specified.
1756
 
     * @method deselectDates
1757
 
     * @param {Date|Array} [dates] A &#x60;Date&#x60; or &#x60;Array&#x60; of &#x60;Date&#x60;s, or no
1758
 
     * argument if all dates should be deselected.
1759
 
     *&#x2F;
1760
 
    deselectDates : function (dates) {
1761
 
      if (!dates) {
1762
 
         this._clearSelection();
1763
 
      }
1764
 
      else if (ydate.isValidDate(dates)) {
1765
 
         this._removeDateFromSelection(dates);
1766
 
      }
1767
 
      else if (L.isArray(dates)) {
1768
 
         this._removeDatesFromSelection(dates);
1769
 
      }
1770
 
    },
1771
 
 
1772
 
    &#x2F;**
1773
 
     * A utility method that adds a given date to selection..
1774
 
     * @method _addDateToSelection
1775
 
     * @param {Date} oDate The date to add to selection.
1776
 
     * @param {Number} [index] An optional parameter that is used
1777
 
     * to differentiate between individual date selections and multiple
1778
 
     * date selections.
1779
 
     * @private
1780
 
     *&#x2F;
1781
 
    _addDateToSelection : function (oDate, index) {
1782
 
 
1783
 
      if (this._canBeSelected(oDate)) {
1784
 
 
1785
 
        var year = oDate.getFullYear(),
1786
 
            month = oDate.getMonth(),
1787
 
            day = oDate.getDate();
1788
 
        
1789
 
        if (hasKey(this._selectedDates, year)) {
1790
 
            if (hasKey(this._selectedDates[year], month)) {
1791
 
                this._selectedDates[year][month][day] = oDate;
1792
 
            }
1793
 
            else {
1794
 
                this._selectedDates[year][month] = {};
1795
 
                this._selectedDates[year][month][day] = oDate;
1796
 
            }
1797
 
        }
1798
 
        else {
1799
 
            this._selectedDates[year] = {};
1800
 
            this._selectedDates[year][month] = {};
1801
 
            this._selectedDates[year][month][day] = oDate;
1802
 
        }
1803
 
 
1804
 
        this._selectedDates = setVal(this._selectedDates, [year, month, day], oDate);
1805
 
        this._renderSelectedDate(oDate);
1806
 
 
1807
 
        if (!index) {
1808
 
        this._fireSelectionChange();
1809
 
        }
1810
 
      }
1811
 
    },
1812
 
 
1813
 
    &#x2F;**
1814
 
     * A utility method that adds a given list of dates to selection.
1815
 
     * @method _addDatesToSelection
1816
 
     * @param {Array} datesArray The list of dates to add to selection.
1817
 
     * @private
1818
 
     *&#x2F;
1819
 
    _addDatesToSelection : function (datesArray) {
1820
 
        each(datesArray, this._addDateToSelection, this);
1821
 
        this._fireSelectionChange();
1822
 
    },
1823
 
 
1824
 
    &#x2F;**
1825
 
     * A utility method that adds a given range of dates to selection.
1826
 
     * @method _addDateRangeToSelection
1827
 
     * @param {Date} startDate The first date of the given range.
1828
 
     * @param {Date} endDate The last date of the given range.
1829
 
     * @private
1830
 
     *&#x2F;
1831
 
    _addDateRangeToSelection : function (startDate, endDate) {
1832
 
        var timezoneDifference = (endDate.getTimezoneOffset() - startDate.getTimezoneOffset())*60000,
1833
 
            startTime = startDate.getTime(),
1834
 
            endTime   = endDate.getTime();
1835
 
            
1836
 
            if (startTime &gt; endTime) {
1837
 
                var tempTime = startTime;
1838
 
                startTime = endTime;
1839
 
                endTime = tempTime + timezoneDifference;
1840
 
            }
1841
 
            else {
1842
 
                endTime = endTime - timezoneDifference;
1843
 
            }
1844
 
 
1845
 
 
1846
 
        for (var time = startTime; time &lt;= endTime; time += 86400000) {
1847
 
            var addedDate = new Date(time);
1848
 
                addedDate.setHours(12);
1849
 
            this._addDateToSelection(addedDate, time);
1850
 
        }
1851
 
        this._fireSelectionChange();
1852
 
    },
1853
 
 
1854
 
    &#x2F;**
1855
 
     * A utility method that removes a given date from selection..
1856
 
     * @method _removeDateFromSelection
1857
 
     * @param {Date} oDate The date to remove from selection.
1858
 
     * @param {Number} [index] An optional parameter that is used
1859
 
     * to differentiate between individual date selections and multiple
1860
 
     * date selections.
1861
 
     * @private
1862
 
     *&#x2F;
1863
 
    _removeDateFromSelection : function (oDate, index) {
1864
 
        var year = oDate.getFullYear(),
1865
 
            month = oDate.getMonth(),
1866
 
            day = oDate.getDate();
1867
 
        if (hasKey(this._selectedDates, year) &amp;&amp; 
1868
 
            hasKey(this._selectedDates[year], month) &amp;&amp; 
1869
 
            hasKey(this._selectedDates[year][month], day)) {
1870
 
               delete this._selectedDates[year][month][day];
1871
 
               this._renderUnselectedDate(oDate);
1872
 
               if (!index) {
1873
 
                 this._fireSelectionChange();
1874
 
               }
1875
 
        }
1876
 
    },
1877
 
 
1878
 
    &#x2F;**
1879
 
     * A utility method that removes a given list of dates from selection.
1880
 
     * @method _removeDatesFromSelection
1881
 
     * @param {Array} datesArray The list of dates to remove from selection.
1882
 
     * @private
1883
 
     *&#x2F;
1884
 
    _removeDatesFromSelection : function (datesArray) {
1885
 
        each(datesArray, this._removeDateDromSelection);
1886
 
        this._fireSelectionChange();
1887
 
    },
1888
 
 
1889
 
    &#x2F;**
1890
 
     * A utility method that removes a given range of dates from selection.
1891
 
     * @method _removeDateRangeFromSelection
1892
 
     * @param {Date} startDate The first date of the given range.
1893
 
     * @param {Date} endDate The last date of the given range.
1894
 
     * @private
1895
 
     *&#x2F;
1896
 
    _removeDateRangeFromSelection : function (startDate, endDate) {
1897
 
        var startTime = startDate.getTime(),
1898
 
            endTime   = endDate.getTime();
1899
 
        
1900
 
        for (var time = startTime; time &lt;= endTime; time += 86400000) {
1901
 
            this._removeDateFromSelection(new Date(time), time);
1902
 
        }
1903
 
 
1904
 
        this._fireSelectionChange();    
1905
 
    },
1906
 
 
1907
 
    &#x2F;**
1908
 
     * A utility method that removes all dates from selection.
1909
 
     * @method _clearSelection
1910
 
     * @param {boolean} noevent A Boolean specifying whether a selectionChange
1911
 
     * event should be fired.
1912
 
     * @private
1913
 
     *&#x2F;
1914
 
    _clearSelection : function (noevent) {
1915
 
        this._selectedDates = {};
1916
 
        this.get(&quot;contentBox&quot;).all(&quot;.&quot; + CAL_DAY_SELECTED).removeClass(CAL_DAY_SELECTED).setAttribute(&quot;aria-selected&quot;, false);
1917
 
        if (!noevent) {
1918
 
          this._fireSelectionChange();
1919
 
        }
1920
 
    },
1921
 
 
1922
 
    &#x2F;**
1923
 
     * A utility method that fires a selectionChange event.
1924
 
     * @method _fireSelectionChange
1925
 
     * @private
1926
 
     *&#x2F;
1927
 
    _fireSelectionChange : function () {
1928
 
 
1929
 
   &#x2F;**
1930
 
     * Fired when the set of selected dates changes. Contains a payload with
1931
 
     * a &#x60;newSelection&#x60; property with an array of selected dates.
1932
 
     *
1933
 
     * @event selectionChange
1934
 
     *&#x2F;
1935
 
      this.fire(&quot;selectionChange&quot;, {newSelection: this._getSelectedDatesList()});
1936
 
    },
1937
 
 
1938
 
    &#x2F;**
1939
 
     * A utility method that restores cells modified by custom formatting.
1940
 
     * @method _restoreModifiedCells
1941
 
     * @private
1942
 
     *&#x2F;
1943
 
    _restoreModifiedCells : function () {
1944
 
      var contentbox = this.get(&quot;contentBox&quot;),
1945
 
          id;
1946
 
      for (id in this._storedDateCells) {
1947
 
          contentbox.one(&quot;#&quot; + id).replace(this._storedDateCells[id]);
1948
 
          delete this._storedDateCells[id];
1949
 
      }
1950
 
    },
1951
 
 
1952
 
    &#x2F;**
1953
 
     * A rendering assist method that renders all cells modified by the customRenderer
1954
 
     * rules, as well as the enabledDatesRule and disabledDatesRule.
1955
 
     * @method _renderCustomRules
1956
 
     * @private
1957
 
     *&#x2F;
1958
 
    _renderCustomRules : function () {
1959
 
 
1960
 
        this.get(&quot;contentBox&quot;).all(&quot;.&quot; + CAL_DAY + &quot;,.&quot; + CAL_NEXTMONTH_DAY).removeClass(SELECTION_DISABLED).setAttribute(&quot;aria-disabled&quot;, false);
1961
 
        
1962
 
        if (!isEmpty(this._rules)) {
1963
 
        var enRule = this.get(&quot;enabledDatesRule&quot;),
1964
 
            disRule = this.get(&quot;disabledDatesRule&quot;);
1965
 
 
1966
 
           for (var paneNum = 0; paneNum &lt; this._paneNumber; paneNum++) {
1967
 
             var paneDate = ydate.addMonths(this.get(&quot;date&quot;), paneNum);
1968
 
             var dateArray = ydate.listOfDatesInMonth(paneDate);
1969
 
             each(dateArray, function (date) {
1970
 
                var matchingRules = this._getRulesForDate(date);
1971
 
                if (matchingRules.length &gt; 0) {
1972
 
                    var dateNode = this._dateToNode(date);
1973
 
                    if ((enRule &amp;&amp; iOf(matchingRules, enRule) &lt; 0) || (!enRule &amp;&amp; disRule &amp;&amp; iOf(matchingRules, disRule) &gt;= 0)) {
1974
 
                            dateNode.addClass(SELECTION_DISABLED).setAttribute(&quot;aria-disabled&quot;, true);
1975
 
                        }
1976
 
                        
1977
 
                    if (L.isFunction(this._filterFunction)) {
1978
 
                        this._storedDateCells[dateNode.get(&quot;id&quot;)] = dateNode.cloneNode(true);
1979
 
                        this._filterFunction (date, dateNode, matchingRules);
1980
 
                    }
1981
 
                }
1982
 
                else if (enRule) {
1983
 
                   var dateNode = this._dateToNode(date);
1984
 
                   dateNode.addClass(SELECTION_DISABLED).setAttribute(&quot;aria-disabled&quot;, true);
1985
 
                }
1986
 
                },
1987
 
             this);
1988
 
          }
1989
 
       }         
1990
 
    },
1991
 
 
1992
 
    &#x2F;**
1993
 
     * A rendering assist method that renders all cells that are currently selected.
1994
 
     * @method _renderSelectedDates
1995
 
     * @private
1996
 
     *&#x2F;
1997
 
  _renderSelectedDates : function () {
1998
 
    this.get(&quot;contentBox&quot;).all(&quot;.&quot; + CAL_DAY_SELECTED).removeClass(CAL_DAY_SELECTED).setAttribute(&quot;aria-selected&quot;, false);
1999
 
    
2000
 
        for (var paneNum = 0; paneNum &lt; this._paneNumber; paneNum++) {
2001
 
        var paneDate = ydate.addMonths(this.get(&quot;date&quot;), paneNum);
2002
 
        var dateArray = this._getSelectedDatesInMonth(paneDate);
2003
 
        each(dateArray, function (date) {
2004
 
            this._dateToNode(date).addClass(CAL_DAY_SELECTED).setAttribute(&quot;ari-selected&quot;, true);
2005
 
                        },
2006
 
             this);
2007
 
      }
2008
 
  },
2009
 
 
2010
 
    &#x2F;**
2011
 
     * A utility method that converts a date to the node wrapping the calendar cell
2012
 
     * the date corresponds to..
2013
 
     * @method _dateToNode
2014
 
     * @param {Date} oDate The date to convert to Node
2015
 
     * @protected
2016
 
     * @return {Node} The node wrapping the DOM element of the cell the date 
2017
 
     * corresponds to.
2018
 
     *&#x2F;
2019
 
  _dateToNode : function (oDate) {
2020
 
    var day = oDate.getDate(),
2021
 
            col = 0,
2022
 
            daymod = day%7,
2023
 
            paneNum = (12 + oDate.getMonth() - this.get(&quot;date&quot;).getMonth()) % 12,
2024
 
            paneId = this._calendarId + &quot;_pane_&quot; + paneNum,
2025
 
            cutoffCol = this._paneProperties[paneId].cutoffCol;
2026
 
 
2027
 
        switch (daymod) {
2028
 
          case (0):
2029
 
             if (cutoffCol &gt;= 6) {
2030
 
               col = 12;
2031
 
             }
2032
 
             else {
2033
 
               col = 5;
2034
 
             }
2035
 
             break;
2036
 
          case (1):
2037
 
               col = 6;
2038
 
             break;
2039
 
          case (2):
2040
 
             if (cutoffCol &gt; 0) {
2041
 
               col = 7;
2042
 
             }
2043
 
             else {
2044
 
               col = 0;
2045
 
             }
2046
 
             break;
2047
 
          case (3):
2048
 
             if (cutoffCol &gt; 1) {
2049
 
               col = 8;
2050
 
             }
2051
 
             else {
2052
 
               col = 1;
2053
 
             }
2054
 
             break;
2055
 
          case (4):
2056
 
             if (cutoffCol &gt; 2) {
2057
 
               col = 9;
2058
 
             }
2059
 
             else {
2060
 
               col = 2;
2061
 
             }
2062
 
             break;
2063
 
          case (5):
2064
 
             if (cutoffCol &gt; 3) {
2065
 
               col = 10;
2066
 
             }
2067
 
             else {
2068
 
               col = 3;
2069
 
             }
2070
 
             break;
2071
 
          case (6):
2072
 
             if (cutoffCol &gt; 4) {
2073
 
               col = 11;
2074
 
             }
2075
 
             else {
2076
 
               col = 4;
2077
 
             }
2078
 
             break;
2079
 
        }
2080
 
        return(this.get(&quot;contentBox&quot;).one(&quot;#&quot; + this._calendarId + &quot;_pane_&quot; + paneNum + &quot;_&quot; + col + &quot;_&quot; + day));  
2081
 
 
2082
 
  },
2083
 
 
2084
 
    &#x2F;**
2085
 
     * A utility method that converts a node corresponding to the DOM element of
2086
 
     * the cell for a particular date to that date.
2087
 
     * @method _nodeToDate
2088
 
     * @param {Node} oNode The Node wrapping the DOM element of a particular date cell.
2089
 
     * @protected
2090
 
     * @return {Date} The date corresponding to the DOM element that the given node wraps.
2091
 
     *&#x2F;
2092
 
  _nodeToDate : function (oNode) {
2093
 
    
2094
 
        var idParts = oNode.get(&quot;id&quot;).split(&quot;_&quot;).reverse(),
2095
 
            paneNum = parseInt(idParts[2], 10),
2096
 
            day  = parseInt(idParts[0], 10);
2097
 
 
2098
 
        var shiftedDate = ydate.addMonths(this.get(&quot;date&quot;), paneNum),
2099
 
            year = shiftedDate.getFullYear(),
2100
 
            month = shiftedDate.getMonth();
2101
 
 
2102
 
    return new Date(year, month, day, 12, 0, 0, 0);
2103
 
  },
2104
 
 
2105
 
    &#x2F;**
2106
 
     * A placeholder method, called from bindUI, to bind the Calendar events.
2107
 
     * @method _bindCalendarEvents
2108
 
     * @protected
2109
 
     *&#x2F;
2110
 
  _bindCalendarEvents : function () {
2111
 
    
2112
 
  },
2113
 
 
2114
 
    &#x2F;**
2115
 
     * A utility method that normalizes a given date by converting it to the 1st
2116
 
     * day of the month the date is in, with the time set to noon.
2117
 
     * @method _normalizeDate
2118
 
     * @param {Date} oDate The date to normalize
2119
 
     * @protected
2120
 
     * @return {Date} The normalized date, set to the first of the month, with time
2121
 
     * set to noon.
2122
 
     *&#x2F;
2123
 
    _normalizeDate : function (date) {
2124
 
      if (date) {
2125
 
       return new Date(date.getFullYear(), date.getMonth(), 1, 12, 0, 0, 0);
2126
 
      }
2127
 
      else {
2128
 
       return null;
2129
 
      }  
2130
 
    },
2131
 
 
2132
 
 
2133
 
    &#x2F;**
2134
 
     * A render assist utility method that computes the cutoff column for the calendar 
2135
 
     * rendering mask.
2136
 
     * @method _getCutoffColumn
2137
 
     * @param {Date} date The date of the month grid to compute the cutoff column for.
2138
 
     * @param {Number} firstday The first day of the week (modified by internationalized calendars)
2139
 
     * @private
2140
 
     * @return {Number} The number of the cutoff column.
2141
 
     *&#x2F;
2142
 
    _getCutoffColumn : function (date, firstday) {
2143
 
 
2144
 
   var distance = this._normalizeDate(date).getDay() - firstday;
2145
 
   var cutOffColumn = 6 - (distance + 7)%7;
2146
 
   return cutOffColumn;
2147
 
 
2148
 
    },
2149
 
 
2150
 
    &#x2F;**
2151
 
     * A render assist method that turns on the view of the previous month&#x27;s dates 
2152
 
     * in a given calendar pane.
2153
 
     * @method _turnPrevMonthOn
2154
 
     * @param {Node} pane The calendar pane that needs its previous month&#x27;s dates view
2155
 
     * modified.
2156
 
     * @protected
2157
 
     *&#x2F;
2158
 
    _turnPrevMonthOn : function (pane) {
2159
 
        
2160
 
        var pane_id = pane.get(&quot;id&quot;),
2161
 
            pane_date = this._paneProperties[pane_id].paneDate,
2162
 
            daysInPrevMonth = ydate.daysInMonth(ydate.addMonths(pane_date, -1));
2163
 
 
2164
 
        if (!this._paneProperties[pane_id].hasOwnProperty(&quot;daysInPrevMonth&quot;)) {
2165
 
          this._paneProperties[pane_id].daysInPrevMonth = 0;
2166
 
        }
2167
 
 
2168
 
        if (daysInPrevMonth != this._paneProperties[pane_id].daysInPrevMonth) {
2169
 
        
2170
 
        this._paneProperties[pane_id].daysInPrevMonth = daysInPrevMonth;
2171
 
 
2172
 
        for (var cell = 5; cell &gt;= 0; cell--) 
2173
 
           {
2174
 
            pane.one(&quot;#&quot; + pane_id + &quot;_&quot; + cell + &quot;_&quot; + (cell-5)).set(&#x27;text&#x27;, daysInPrevMonth--);
2175
 
           }
2176
 
 
2177
 
        }
2178
 
 
2179
 
 
2180
 
    },
2181
 
 
2182
 
    &#x2F;**
2183
 
     * A render assist method that turns off the view of the previous month&#x27;s dates 
2184
 
     * in a given calendar pane.
2185
 
     * @method _turnPrevMonthOff
2186
 
     * @param {Node} pane The calendar pane that needs its previous month&#x27;s dates view
2187
 
     * modified.
2188
 
     * @protected
2189
 
     *&#x2F;
2190
 
    _turnPrevMonthOff : function (pane) {
2191
 
          var pane_id = pane.get(&quot;id&quot;);
2192
 
        this._paneProperties[pane_id].daysInPrevMonth = 0;
2193
 
 
2194
 
        for (var cell = 5; cell &gt;= 0; cell--) 
2195
 
           {
2196
 
            pane.one(&quot;#&quot; + pane_id + &quot;_&quot; + cell + &quot;_&quot; + (cell-5)).setContent(&quot;&amp;nbsp;&quot;);
2197
 
           }      
2198
 
    },
2199
 
 
2200
 
    &#x2F;**
2201
 
     * A render assist method that cleans up the last few cells in the month grid
2202
 
     * when the number of days in the month changes.
2203
 
     * @method _cleanUpNextMonthCells
2204
 
     * @param {Node} pane The calendar pane that needs the last date cells cleaned up.
2205
 
     * @private
2206
 
     *&#x2F;
2207
 
    _cleanUpNextMonthCells : function (pane) {
2208
 
      var pane_id = pane.get(&quot;id&quot;);
2209
 
        pane.one(&quot;#&quot; + pane_id + &quot;_6_29&quot;).removeClass(CAL_NEXTMONTH_DAY);
2210
 
        pane.one(&quot;#&quot; + pane_id + &quot;_7_30&quot;).removeClass(CAL_NEXTMONTH_DAY);
2211
 
        pane.one(&quot;#&quot; + pane_id + &quot;_8_31&quot;).removeClass(CAL_NEXTMONTH_DAY);
2212
 
        pane.one(&quot;#&quot; + pane_id + &quot;_0_30&quot;).removeClass(CAL_NEXTMONTH_DAY);
2213
 
        pane.one(&quot;#&quot; + pane_id + &quot;_1_31&quot;).removeClass(CAL_NEXTMONTH_DAY);     
2214
 
    },
2215
 
 
2216
 
    &#x2F;**
2217
 
     * A render assist method that turns on the view of the next month&#x27;s dates 
2218
 
     * in a given calendar pane.
2219
 
     * @method _turnNextMonthOn
2220
 
     * @param {Node} pane The calendar pane that needs its next month&#x27;s dates view
2221
 
     * modified.
2222
 
     * @protected
2223
 
     *&#x2F;
2224
 
    _turnNextMonthOn : function (pane) {       
2225
 
          var dayCounter = 1,
2226
 
              pane_id = pane.get(&quot;id&quot;),
2227
 
              daysInMonth = this._paneProperties[pane_id].daysInMonth,
2228
 
              cutoffCol = this._paneProperties[pane_id].cutoffCol;
2229
 
 
2230
 
        for (var cell = daysInMonth - 22; cell &lt; cutoffCol + 7; cell++) 
2231
 
           {
2232
 
            pane.one(&quot;#&quot; + pane_id + &quot;_&quot; + cell + &quot;_&quot; + (cell+23)).set(&quot;text&quot;, dayCounter++).addClass(CAL_NEXTMONTH_DAY);
2233
 
           }
2234
 
 
2235
 
        var startingCell = cutoffCol;
2236
 
        if (daysInMonth == 31 &amp;&amp; (cutoffCol &lt;= 1)) {
2237
 
          startingCell = 2;
2238
 
        }
2239
 
        else if (daysInMonth == 30 &amp;&amp; cutoffCol === 0) {
2240
 
          startingCell = 1;
2241
 
        }
2242
 
  
2243
 
        for (var cell = startingCell ; cell &lt; cutoffCol + 7; cell++) {
2244
 
            pane.one(&quot;#&quot; + pane_id + &quot;_&quot; + cell + &quot;_&quot; + (cell+30)).set(&quot;text&quot;, dayCounter++).addClass(CAL_NEXTMONTH_DAY);    
2245
 
        }
2246
 
    },
2247
 
 
2248
 
    &#x2F;**
2249
 
     * A render assist method that turns off the view of the next month&#x27;s dates 
2250
 
     * in a given calendar pane.
2251
 
     * @method _turnNextMonthOff
2252
 
     * @param {Node} pane The calendar pane that needs its next month&#x27;s dates view
2253
 
     * modified.
2254
 
     * @protected
2255
 
     *&#x2F;
2256
 
    _turnNextMonthOff : function (pane) {
2257
 
          var pane_id = pane.get(&quot;id&quot;),
2258
 
              daysInMonth = this._paneProperties[pane_id].daysInMonth,
2259
 
              cutoffCol = this._paneProperties[pane_id].cutoffCol;
2260
 
 
2261
 
        for (var cell = daysInMonth - 22; cell &lt;= 12; cell++) 
2262
 
           {
2263
 
            pane.one(&quot;#&quot; + pane_id + &quot;_&quot; + cell + &quot;_&quot; + (cell+23)).setContent(&quot;&amp;nbsp;&quot;).addClass(CAL_NEXTMONTH_DAY);
2264
 
           }
2265
 
 
2266
 
        var startingCell = 0;
2267
 
        if (daysInMonth == 31 &amp;&amp; (cutoffCol &lt;= 1)) {
2268
 
          startingCell = 2;
2269
 
        }
2270
 
        else if (daysInMonth == 30 &amp;&amp; cutoffCol === 0) {
2271
 
          startingCell = 1;
2272
 
        }
2273
 
  
2274
 
        for (var cell = startingCell ; cell &lt;= 12; cell++) {
2275
 
            pane.one(&quot;#&quot; + pane_id + &quot;_&quot; + cell + &quot;_&quot; + (cell+30)).setContent(&quot;&amp;nbsp;&quot;).addClass(CAL_NEXTMONTH_DAY);   
2276
 
        }   
2277
 
    },
2278
 
 
2279
 
    &#x2F;**
2280
 
     * The handler for the change in the showNextMonth attribute.
2281
 
     * @method _afterShowNextMonthChange
2282
 
     * @private
2283
 
     *&#x2F;
2284
 
    _afterShowNextMonthChange : function () {
2285
 
      
2286
 
      var contentBox = this.get(&#x27;contentBox&#x27;),
2287
 
          lastPane = contentBox.one(&quot;#&quot; + this._calendarId + &quot;_pane_&quot; + (this._paneNumber - 1));
2288
 
          this._cleanUpNextMonthCells(lastPane);  
2289
 
 
2290
 
 
2291
 
      if (this.get(&#x27;showNextMonth&#x27;)) {
2292
 
          this._turnNextMonthOn(lastPane);
2293
 
        }
2294
 
 
2295
 
        else {
2296
 
          this._turnNextMonthOff(lastPane);
2297
 
        }
2298
 
 
2299
 
    },
2300
 
 
2301
 
    &#x2F;**
2302
 
     * The handler for the change in the showPrevMonth attribute.
2303
 
     * @method _afterShowPrevMonthChange
2304
 
     * @private
2305
 
     *&#x2F;
2306
 
    _afterShowPrevMonthChange : function () {
2307
 
      var contentBox = this.get(&#x27;contentBox&#x27;),
2308
 
          firstPane = contentBox.one(&quot;#&quot; + this._calendarId + &quot;_pane_&quot; + 0);
2309
 
 
2310
 
      if (this.get(&#x27;showPrevMonth&#x27;)) {
2311
 
         this._turnPrevMonthOn(firstPane);
2312
 
      }
2313
 
 
2314
 
      else {
2315
 
         this._turnPrevMonthOff(firstPane);
2316
 
      }
2317
 
      
2318
 
    },
2319
 
 
2320
 
     &#x2F;**
2321
 
     * The handler for the change in the headerRenderer attribute.
2322
 
     * @method _afterHeaderRendererChange
2323
 
     * @private
2324
 
     *&#x2F; 
2325
 
  _afterHeaderRendererChange : function () {
2326
 
    var headerCell = this.get(&quot;contentBox&quot;).one(&quot;.&quot; + CAL_HD_LABEL);
2327
 
    headerCell.setContent(this._updateCalendarHeader(this.get(&#x27;date&#x27;)));
2328
 
  },
2329
 
 
2330
 
     &#x2F;**
2331
 
     * The handler for the change in the customRenderer attribute.
2332
 
     * @method _afterCustomRendererChange
2333
 
     * @private
2334
 
     *&#x2F; 
2335
 
    _afterCustomRendererChange : function () {
2336
 
        this._restoreModifiedCells();
2337
 
        this._renderCustomRules();
2338
 
    },
2339
 
 
2340
 
     &#x2F;**
2341
 
     * The handler for the change in the date attribute. Modifies the calendar
2342
 
     * view by shifting the calendar grid mask and running custom rendering and
2343
 
     * selection rendering as necessary.
2344
 
     * @method _afterDateChange
2345
 
     * @private
2346
 
     *&#x2F; 
2347
 
  _afterDateChange : function () {
2348
 
    
2349
 
    var contentBox = this.get(&#x27;contentBox&#x27;),
2350
 
        headerCell = contentBox.one(&quot;.&quot; + CAL_HD).one(&quot;.&quot; + CAL_HD_LABEL),
2351
 
        calendarPanes = contentBox.all(&quot;.&quot; + CAL_GRID),
2352
 
        currentDate = this.get(&quot;date&quot;),
2353
 
        counter = 0;
2354
 
 
2355
 
  contentBox.setStyle(&quot;visibility&quot;, &quot;hidden&quot;);
2356
 
  headerCell.setContent(this._updateCalendarHeader(currentDate));
2357
 
  
2358
 
    this._restoreModifiedCells();
2359
 
 
2360
 
    calendarPanes.each(function (curNode) {
2361
 
                      this._rerenderCalendarPane(ydate.addMonths(currentDate, counter++), 
2362
 
                                            curNode);
2363
 
                                        }, this);
2364
 
 
2365
 
     this._afterShowPrevMonthChange();
2366
 
     this._afterShowNextMonthChange();
2367
 
 
2368
 
    this._renderCustomRules();
2369
 
    this._renderSelectedDates();
2370
 
      
2371
 
  contentBox.setStyle(&quot;visibility&quot;, &quot;visible&quot;);
2372
 
  },
2373
 
 
2374
 
 
2375
 
     &#x2F;**
2376
 
     * A rendering assist method that initializes the HTML for a single
2377
 
     * calendar pane.
2378
 
     * @method _initCalendarPane
2379
 
     * @param {Date} baseDate The date corresponding to the month of the given
2380
 
     * calendar pane.
2381
 
     * @param {String} pane_id The id of the pane, to be used as a prefix for
2382
 
     * element ids in the given pane.
2383
 
     * @private
2384
 
     *&#x2F; 
2385
 
  _initCalendarPane : function (baseDate, pane_id) {
2386
 
        &#x2F;&#x2F; Initialize final output HTML string
2387
 
    var calString = &#x27;&#x27;,
2388
 
        &#x2F;&#x2F; Get a list of short weekdays from the internationalization package, or else use default English ones.
2389
 
        weekdays = this.get(&#x27;strings.very_short_weekdays&#x27;) || [&quot;Su&quot;, &quot;Mo&quot;, &quot;Tu&quot;, &quot;We&quot;, &quot;Th&quot;, &quot;Fr&quot;, &quot;Sa&quot;],
2390
 
        fullweekdays = this.get(&#x27;strings.weekdays&#x27;) || [&quot;Sunday&quot;, &quot;Monday&quot;, &quot;Tuesday&quot;, &quot;Wednesday&quot;, &quot;Thursday&quot;, &quot;Friday&quot;, &quot;Saturday&quot;],
2391
 
        &#x2F;&#x2F; Get the first day of the week from the internationalization package, or else use Sunday as default.
2392
 
        firstday = this.get(&#x27;strings.first_weekday&#x27;) || 0,
2393
 
        &#x2F;&#x2F; Compute the cutoff column of the masked calendar table, based on the start date and the first day of week.
2394
 
        cutoffCol = this._getCutoffColumn(baseDate, firstday),
2395
 
        &#x2F;&#x2F; Compute the number of days in the month based on starting date
2396
 
        daysInMonth = ydate.daysInMonth(baseDate),
2397
 
        &#x2F;&#x2F; Initialize the array of individual row HTML strings
2398
 
        row_array = [&#x27;&#x27;,&#x27;&#x27;,&#x27;&#x27;,&#x27;&#x27;,&#x27;&#x27;,&#x27;&#x27;],
2399
 
        &#x2F;&#x2F; Initialize the partial templates object
2400
 
        partials = {};
2401
 
        
2402
 
            &#x2F;&#x2F; Initialize the partial template for the weekday row cells.
2403
 
        partials[&quot;weekday_row&quot;] = &#x27;&#x27;;
2404
 
      
2405
 
      &#x2F;&#x2F; Populate the partial template for the weekday row cells with weekday names
2406
 
      for (var day = firstday; day &lt;= firstday + 6; day++) {
2407
 
               partials[&quot;weekday_row&quot;] += 
2408
 
                  substitute(CalendarBase.WEEKDAY_TEMPLATE,
2409
 
                       {weekdayname: weekdays[day%7],
2410
 
                        full_weekdayname: fullweekdays[day%7]});
2411
 
      }
2412
 
        
2413
 
        &#x2F;&#x2F; Populate the partial template for the weekday row container with the weekday row cells
2414
 
      partials[&quot;weekday_row_template&quot;] = substitute(CalendarBase.WEEKDAY_ROW_TEMPLATE, partials);
2415
 
 
2416
 
      &#x2F;&#x2F; Populate the array of individual row HTML strings
2417
 
          for (var row = 0; row &lt;= 5; row++) {
2418
 
          
2419
 
              for (var column = 0; column &lt;= 12; column++) {  
2420
 
             
2421
 
             &#x2F;&#x2F; Compute the value of the date that needs to populate the cell
2422
 
             var date = 7*row - 5 + column;
2423
 
 
2424
 
             &#x2F;&#x2F; Compose the value of the unique id of the current calendar cell
2425
 
             var id_date = pane_id + &quot;_&quot; + column + &quot;_&quot; + date;
2426
 
 
2427
 
             &#x2F;&#x2F; Set the calendar day class to one of three possible values
2428
 
             var calendar_day_class = CAL_DAY;
2429
 
 
2430
 
             if (date &lt; 1) {
2431
 
              calendar_day_class = CAL_PREVMONTH_DAY;
2432
 
             }
2433
 
                 else if (date &gt; daysInMonth) {
2434
 
                  calendar_day_class = CAL_NEXTMONTH_DAY;
2435
 
                 }
2436
 
 
2437
 
                 &#x2F;&#x2F; Cut off dates that fall before the first and after the last date of the month
2438
 
             if (date &lt; 1 || date &gt; daysInMonth) {
2439
 
               date = &quot;&amp;nbsp;&quot;;
2440
 
             }
2441
 
             
2442
 
             &#x2F;&#x2F; Decide on whether a column in the masked table is visible or not based on the value of the cutoff column.
2443
 
             var column_visibility = (column &gt;= cutoffCol &amp;&amp; column &lt; (cutoffCol + 7)) ? &#x27;&#x27; : CAL_COL_HIDDEN;
2444
 
 
2445
 
             &#x2F;&#x2F; Substitute the values into the partial calendar day template and add it to the current row HTML string
2446
 
             row_array[row] += substitute (CalendarBase.CALDAY_TEMPLATE, 
2447
 
                                         {day_content: date,
2448
 
                                        calendar_col_class: &quot;calendar_col&quot; + column,
2449
 
                                        calendar_col_visibility_class: column_visibility,
2450
 
                                        calendar_day_class: calendar_day_class,
2451
 
                                        calendar_day_id: id_date});
2452
 
             }
2453
 
            }
2454
 
      
2455
 
      &#x2F;&#x2F; Instantiate the partial calendar pane body template
2456
 
      partials[&quot;body_template&quot;] = &#x27;&#x27;;
2457
 
      
2458
 
      &#x2F;&#x2F; Populate the body template with the rows templates
2459
 
      each (row_array, function (v) {
2460
 
         partials[&quot;body_template&quot;] += substitute(CalendarBase.CALDAY_ROW_TEMPLATE, 
2461
 
                                                       {calday_row: v});
2462
 
      });
2463
 
 
2464
 
      &#x2F;&#x2F; Populate the calendar grid id
2465
 
      partials[&quot;calendar_pane_id&quot;] = pane_id;
2466
 
 
2467
 
      &#x2F;&#x2F; Populate the calendar pane tabindex
2468
 
      partials[&quot;calendar_pane_tabindex&quot;] = this.get(&quot;tabIndex&quot;);
2469
 
      partials[&quot;pane_arialabel&quot;] = ydate.format(baseDate, {format:&quot;%B %Y&quot;});
2470
 
 
2471
 
 
2472
 
      &#x2F;&#x2F; Generate final output by substituting class names.
2473
 
          var output = substitute(substitute (CalendarBase.CALENDAR_GRID_TEMPLATE, partials),
2474
 
                              CalendarBase.CALENDAR_STRINGS);
2475
 
 
2476
 
        &#x2F;&#x2F; Store the initialized pane information
2477
 
 
2478
 
        this._paneProperties[pane_id] = {cutoffCol: cutoffCol, daysInMonth: daysInMonth, paneDate: baseDate};
2479
 
 
2480
 
      return output;
2481
 
  },
2482
 
 
2483
 
     &#x2F;**
2484
 
     * A rendering assist method that rerenders a specified calendar pane, based
2485
 
     * on a new Date. 
2486
 
     * @method _rerenderCalendarPane
2487
 
     * @param {Date} newDate The date corresponding to the month of the given
2488
 
     * calendar pane.
2489
 
     * @param {Node} pane The node corresponding to the calendar pane to be rerenders.
2490
 
     * @private
2491
 
     *&#x2F; 
2492
 
  _rerenderCalendarPane : function (newDate, pane) {
2493
 
 
2494
 
       &#x2F;&#x2F; Get the first day of the week from the internationalization package, or else use Sunday as default.
2495
 
     var firstday = this.get(&#x27;strings.first_weekday&#x27;) || 0,
2496
 
         &#x2F;&#x2F; Compute the cutoff column of the masked calendar table, based on the start date and the first day of week.
2497
 
         cutoffCol = this._getCutoffColumn(newDate, firstday),
2498
 
         &#x2F;&#x2F; Compute the number of days in the month based on starting date
2499
 
         daysInMonth = ydate.daysInMonth(newDate),
2500
 
         &#x2F;&#x2F; Get pane id for easier reference
2501
 
         paneId = pane.get(&quot;id&quot;);
2502
 
  
2503
 
       &#x2F;&#x2F; Hide the pane before making DOM changes to speed them up
2504
 
         pane.setStyle(&quot;visibility&quot;, &quot;hidden&quot;);
2505
 
         pane.setAttribute(&quot;aria-label&quot;, ydate.format(newDate, {format:&quot;%B %Y&quot;}));
2506
 
  
2507
 
       &#x2F;&#x2F; Go through all columns, and flip their visibility setting based on whether they are within the unmasked range.
2508
 
         for (var column = 0; column &lt;= 12; column++) {
2509
 
        var currentColumn = pane.all(&quot;.&quot; + &quot;calendar_col&quot; + column);
2510
 
        currentColumn.removeClass(CAL_COL_HIDDEN);
2511
 
      
2512
 
        if (column &lt; cutoffCol || column &gt;= (cutoffCol + 7)) {
2513
 
            currentColumn.addClass(CAL_COL_HIDDEN);
2514
 
        }
2515
 
        else {
2516
 
          &#x2F;&#x2F; Clean up dates in visible columns to account for the correct number of days in a month
2517
 
          switch(column)
2518
 
          {
2519
 
         case 0:
2520
 
          var curCell = pane.one(&quot;#&quot; + paneId + &quot;_0_30&quot;);
2521
 
          if (daysInMonth &gt;= 30) {
2522
 
            curCell.set(&quot;text&quot;, &quot;30&quot;);
2523
 
            curCell.removeClass(CAL_NEXTMONTH_DAY).addClass(CAL_DAY);
2524
 
          }
2525
 
          else {
2526
 
            curCell.setContent(&quot;&amp;nbsp;&quot;);
2527
 
            curCell.addClass(CAL_NEXTMONTH_DAY).addClass(CAL_DAY);
2528
 
          }
2529
 
          break;
2530
 
         case 1:
2531
 
          var curCell = pane.one(&quot;#&quot; + paneId + &quot;_1_31&quot;);
2532
 
          if (daysInMonth &gt;= 31) {
2533
 
            curCell.set(&quot;text&quot;, &quot;31&quot;);
2534
 
            curCell.removeClass(CAL_NEXTMONTH_DAY).addClass(CAL_DAY);
2535
 
          }
2536
 
          else {
2537
 
            curCell.setContent(&quot;&amp;nbsp;&quot;);
2538
 
            curCell.removeClass(CAL_DAY).addClass(CAL_NEXTMONTH_DAY);
2539
 
          }
2540
 
          break;
2541
 
         case 6:
2542
 
          var curCell = pane.one(&quot;#&quot; + paneId + &quot;_6_29&quot;);
2543
 
          if (daysInMonth &gt;= 29) {
2544
 
            curCell.set(&quot;text&quot;, &quot;29&quot;);
2545
 
            curCell.removeClass(CAL_NEXTMONTH_DAY).addClass(CAL_DAY);
2546
 
          }
2547
 
          else {
2548
 
            curCell.setContent(&quot;&amp;nbsp;&quot;);
2549
 
            curCell.removeClass(CAL_DAY).addClass(CAL_NEXTMONTH_DAY);
2550
 
          }
2551
 
          break;
2552
 
         case 7:
2553
 
          var curCell = pane.one(&quot;#&quot; + paneId + &quot;_7_30&quot;);
2554
 
          if (daysInMonth &gt;= 30) {
2555
 
            curCell.set(&quot;text&quot;, &quot;30&quot;);
2556
 
            curCell.removeClass(CAL_NEXTMONTH_DAY).addClass(CAL_DAY);
2557
 
          }
2558
 
          else {
2559
 
            curCell.setContent(&quot;&amp;nbsp;&quot;);
2560
 
            curCell.removeClass(CAL_DAY).addClass(CAL_NEXTMONTH_DAY);
2561
 
          }
2562
 
          break;
2563
 
         case 8:
2564
 
          var curCell = pane.one(&quot;#&quot; + paneId + &quot;_8_31&quot;);
2565
 
          if (daysInMonth &gt;= 31) {
2566
 
            curCell.set(&quot;text&quot;, &quot;31&quot;);
2567
 
            curCell.removeClass(CAL_NEXTMONTH_DAY).addClass(CAL_DAY);
2568
 
          }
2569
 
          else {
2570
 
            curCell.setContent(&quot;&amp;nbsp;&quot;);
2571
 
            curCell.removeClass(CAL_DAY).addClass(CAL_NEXTMONTH_DAY);
2572
 
          }
2573
 
          break;
2574
 
          } 
2575
 
        }
2576
 
        }
2577
 
    &#x2F;&#x2F; Update stored pane properties
2578
 
    this._paneProperties[paneId].cutoffCol = cutoffCol;
2579
 
    this._paneProperties[paneId].daysInMonth = daysInMonth;
2580
 
    this._paneProperties[paneId].paneDate = newDate;
2581
 
  
2582
 
  &#x2F;&#x2F; Bring the pane visibility back after all DOM changes are done    
2583
 
  pane.setStyle(&quot;visibility&quot;, &quot;visible&quot;);
2584
 
 
2585
 
  },
2586
 
 
2587
 
     &#x2F;**
2588
 
     * A rendering assist method that updates the calendar header based
2589
 
     * on a given date and potentially the provided headerRenderer.
2590
 
     * @method _updateCalendarHeader
2591
 
     * @param {Date} baseDate The date with which to update the calendar header.
2592
 
     * @private
2593
 
     *&#x2F; 
2594
 
    _updateCalendarHeader : function (baseDate) {
2595
 
      var headerString = &quot;&quot;,
2596
 
      headerRenderer = this.get(&quot;headerRenderer&quot;);
2597
 
      
2598
 
      if (Y.Lang.isString(headerRenderer)) {
2599
 
        headerString = ydate.format(baseDate, {format:headerRenderer});
2600
 
      }
2601
 
      else if (headerRenderer instanceof Function) {
2602
 
        headerString = headerRenderer.call(this, baseDate);
2603
 
      }
2604
 
      
2605
 
      return headerString;  
2606
 
    },
2607
 
 
2608
 
     &#x2F;**
2609
 
     * A rendering assist method that initializes the calendar header HTML 
2610
 
     * based on a given date and potentially the provided headerRenderer.
2611
 
     * @method _updateCalendarHeader
2612
 
     * @param {Date} baseDate The date with which to initialize the calendar header.
2613
 
     * @private
2614
 
     *&#x2F; 
2615
 
    _initCalendarHeader : function (baseDate) {
2616
 
      return substitute(substitute(CalendarBase.HEADER_TEMPLATE, 
2617
 
                                 {calheader: this._updateCalendarHeader(baseDate),
2618
 
                                  calendar_id: this._calendarId}), 
2619
 
                      CalendarBase.CALENDAR_STRINGS);
2620
 
    },
2621
 
 
2622
 
     &#x2F;**
2623
 
     * A rendering assist method that initializes the calendar HTML 
2624
 
     * based on a given date.
2625
 
     * @method _initCalendarHTML
2626
 
     * @param {Date} baseDate The date with which to initialize the calendar.
2627
 
     * @private
2628
 
     *&#x2F;          
2629
 
  _initCalendarHTML : function (baseDate) {
2630
 
        &#x2F;&#x2F; Instantiate the partials holder
2631
 
        var partials = {},
2632
 
            &#x2F;&#x2F; Counter for iterative template replacement.
2633
 
            counter = 0;
2634
 
        
2635
 
        &#x2F;&#x2F; Generate the template for the header   
2636
 
        partials[&quot;header_template&quot;] =  this._initCalendarHeader(baseDate);
2637
 
        partials[&quot;calendar_id&quot;] = this._calendarId;
2638
 
 
2639
 
          partials[&quot;body_template&quot;] = substitute(substitute (CalendarBase.CONTENT_TEMPLATE, partials),
2640
 
                                             CalendarBase.CALENDAR_STRINGS);
2641
 
 
2642
 
        &#x2F;&#x2F; Instantiate the iterative template replacer function        
2643
 
        function paneReplacer () {
2644
 
          var singlePane = this._initCalendarPane(ydate.addMonths(baseDate, counter), partials[&quot;calendar_id&quot;]+&quot;_pane_&quot;+counter);
2645
 
          counter++;
2646
 
          return singlePane;
2647
 
        }
2648
 
        &#x2F;&#x2F; Go through all occurrences of the calendar_grid_template token and replace it with an appropriate calendar grid.
2649
 
        var output = partials[&quot;body_template&quot;].replace(&#x2F;\{calendar_grid_template\}&#x2F;g, Y.bind(paneReplacer, this));
2650
 
 
2651
 
        &#x2F;&#x2F; Update the paneNumber count
2652
 
        this._paneNumber = counter;
2653
 
 
2654
 
    return output;
2655
 
  }
2656
 
}, {
2657
 
  
2658
 
   &#x2F;**
2659
 
    * The CSS classnames for the calendar templates.
2660
 
    * @property CALENDAR_STRINGS
2661
 
    * @type Object
2662
 
    * @readOnly
2663
 
    * @protected
2664
 
    * @static
2665
 
    *&#x2F;  
2666
 
  CALENDAR_STRINGS: {
2667
 
    calendar_grid_class       : CAL_GRID,
2668
 
    calendar_body_class       : CAL_BODY,
2669
 
    calendar_hd_class         : CAL_HD,
2670
 
    calendar_hd_label_class   : CAL_HD_LABEL,
2671
 
    calendar_weekdayrow_class : CAL_WDAYROW,
2672
 
    calendar_weekday_class    : CAL_WDAY,
2673
 
    calendar_row_class        : CAL_ROW,
2674
 
    calendar_day_class        : CAL_DAY,
2675
 
    calendar_dayanchor_class  : CAL_ANCHOR,
2676
 
    calendar_pane_class       : CAL_PANE,
2677
 
    calendar_right_grid_class : CAL_RIGHT_GRID,
2678
 
    calendar_left_grid_class  : CAL_LEFT_GRID,
2679
 
    calendar_status_class     : CAL_STATUS
2680
 
  },
2681
 
 
2682
 
  &#x2F;*
2683
 
 
2684
 
  ARIA_STATUS_TEMPLATE: &#x27;&lt;div role=&quot;status&quot; aria-atomic=&quot;true&quot; class=&quot;{calendar_status_class}&quot;&gt;&lt;&#x2F;div&gt;&#x27;,
2685
 
 
2686
 
  AriaStatus : null,
2687
 
 
2688
 
  updateStatus : function (statusString) {
2689
 
 
2690
 
    if (!CalendarBase.AriaStatus) {
2691
 
      CalendarBase.AriaStatus = create(
2692
 
                             substitute (CalendarBase.ARIA_STATUS_TEMPLATE, 
2693
 
                                         CalendarBase.CALENDAR_STRINGS));
2694
 
      Y.one(&quot;body&quot;).append(CalendarBase.AriaStatus);
2695
 
    }
2696
 
 
2697
 
      CalendarBase.AriaStatus.set(&quot;text&quot;, statusString);
2698
 
  },
2699
 
 
2700
 
  *&#x2F;
2701
 
 
2702
 
   &#x2F;**
2703
 
    * The main content template for calendar.
2704
 
    * @property CONTENT_TEMPLATE
2705
 
    * @type String
2706
 
    * @protected
2707
 
    * @static
2708
 
    *&#x2F;  
2709
 
  CONTENT_TEMPLATE:  &#x27;&lt;div class=&quot;yui3-g {calendar_pane_class}&quot; id=&quot;{calendar_id}&quot;&gt;&#x27; +  
2710
 
                              &#x27;{header_template}&#x27; +
2711
 
                            &#x27;&lt;div class=&quot;yui3-u-1&quot;&gt;&#x27; +
2712
 
                              &#x27;{calendar_grid_template}&#x27; +
2713
 
                            &#x27;&lt;&#x2F;div&gt;&#x27; +
2714
 
                 &#x27;&lt;&#x2F;div&gt;&#x27;,
2715
 
 
2716
 
   &#x2F;**
2717
 
    * A single pane template for calendar (same as default CONTENT_TEMPLATE)
2718
 
    * @property ONE_PANE_TEMPLATE
2719
 
    * @type String
2720
 
    * @protected
2721
 
    * @readOnly
2722
 
    * @static
2723
 
    *&#x2F;  
2724
 
  ONE_PANE_TEMPLATE: &#x27;&lt;div class=&quot;yui3-g {calendar_pane_class}&quot; id=&quot;{calendar_id}&quot;&gt;&#x27; +  
2725
 
                              &#x27;{header_template}&#x27; +
2726
 
                            &#x27;&lt;div class=&quot;yui3-u-1&quot;&gt;&#x27; +
2727
 
                              &#x27;{calendar_grid_template}&#x27; +
2728
 
                            &#x27;&lt;&#x2F;div&gt;&#x27; +
2729
 
                 &#x27;&lt;&#x2F;div&gt;&#x27;,
2730
 
 
2731
 
   &#x2F;**
2732
 
    * A two pane template for calendar.
2733
 
    * @property TWO_PANE_TEMPLATE
2734
 
    * @type String
2735
 
    * @protected
2736
 
    * @readOnly
2737
 
    * @static
2738
 
    *&#x2F;  
2739
 
  TWO_PANE_TEMPLATE: &#x27;&lt;div class=&quot;yui3-g {calendar_pane_class}&quot; id=&quot;{calendar_id}&quot;&gt;&#x27; +  
2740
 
                              &#x27;{header_template}&#x27; +
2741
 
                            &#x27;&lt;div class=&quot;yui3-u-1-2&quot;&gt;&#x27;+
2742
 
                                    &#x27;&lt;div class = &quot;{calendar_left_grid_class}&quot;&gt;&#x27; +                                  
2743
 
                                 &#x27;{calendar_grid_template}&#x27; +
2744
 
                                    &#x27;&lt;&#x2F;div&gt;&#x27; +
2745
 
                            &#x27;&lt;&#x2F;div&gt;&#x27; +
2746
 
                            &#x27;&lt;div class=&quot;yui3-u-1-2&quot;&gt;&#x27; +
2747
 
                                    &#x27;&lt;div class = &quot;{calendar_right_grid_class}&quot;&gt;&#x27; +
2748
 
                                 &#x27;{calendar_grid_template}&#x27; +
2749
 
                                    &#x27;&lt;&#x2F;div&gt;&#x27; +
2750
 
                            &#x27;&lt;&#x2F;div&gt;&#x27; +                   
2751
 
                 &#x27;&lt;&#x2F;div&gt;&#x27;,
2752
 
   &#x2F;**
2753
 
    * A three pane template for calendar.
2754
 
    * @property THREE_PANE_TEMPLATE
2755
 
    * @type String
2756
 
    * @protected
2757
 
    * @readOnly
2758
 
    * @static
2759
 
    *&#x2F;  
2760
 
  THREE_PANE_TEMPLATE: &#x27;&lt;div class=&quot;yui3-g {calendar_pane_class}&quot; id=&quot;{calendar_id}&quot;&gt;&#x27; +  
2761
 
                              &#x27;{header_template}&#x27; +
2762
 
                            &#x27;&lt;div class=&quot;yui3-u-1-3&quot;&gt;&#x27; +
2763
 
                                    &#x27;&lt;div class = &quot;{calendar_left_grid_class}&quot;&gt;&#x27; +
2764
 
                                 &#x27;{calendar_grid_template}&#x27; +
2765
 
                                    &#x27;&lt;&#x2F;div&gt;&#x27; + 
2766
 
                            &#x27;&lt;&#x2F;div&gt;&#x27; +
2767
 
                            &#x27;&lt;div class=&quot;yui3-u-1-3&quot;&gt;&#x27; +
2768
 
                                 &#x27;{calendar_grid_template}&#x27; +
2769
 
                            &#x27;&lt;&#x2F;div&gt;&#x27; +      
2770
 
                            &#x27;&lt;div class=&quot;yui3-u-1-3&quot;&gt;&#x27; +
2771
 
                                    &#x27;&lt;div class = &quot;{calendar_right_grid_class}&quot;&gt;&#x27; +
2772
 
                                 &#x27;{calendar_grid_template}&#x27; +
2773
 
                                    &#x27;&lt;&#x2F;div&gt;&#x27; + 
2774
 
                            &#x27;&lt;&#x2F;div&gt;&#x27; +                                             
2775
 
                 &#x27;&lt;&#x2F;div&gt;&#x27;,
2776
 
   &#x2F;**
2777
 
    * A template for the calendar grid.
2778
 
    * @property CALENDAR_GRID_TEMPLATE
2779
 
    * @type String
2780
 
    * @protected
2781
 
    * @static
2782
 
    *&#x2F;    
2783
 
  CALENDAR_GRID_TEMPLATE: &#x27;&lt;table class=&quot;{calendar_grid_class}&quot; id=&quot;{calendar_pane_id}&quot; role=&quot;grid&quot; aria-readonly=&quot;true&quot; aria-label=&quot;{pane_arialabel}&quot; tabindex=&quot;{calendar_pane_tabindex}&quot;&gt;&#x27; + 
2784
 
                           &#x27;&lt;thead&gt;&#x27; +
2785
 
                        &#x27;{weekday_row_template}&#x27; +
2786
 
                           &#x27;&lt;&#x2F;thead&gt;&#x27; +
2787
 
                           &#x27;&lt;tbody&gt;&#x27; + 
2788
 
                            &#x27;{body_template}&#x27; +
2789
 
                           &#x27;&lt;&#x2F;tbody&gt;&#x27; +
2790
 
                          &#x27;&lt;&#x2F;table&gt;&#x27;,
2791
 
 
2792
 
   &#x2F;**
2793
 
    * A template for the calendar header.
2794
 
    * @property HEADER_TEMPLATE
2795
 
    * @type String
2796
 
    * @protected
2797
 
    * @static
2798
 
    *&#x2F;   
2799
 
  HEADER_TEMPLATE: &#x27;&lt;div class=&quot;yui3-g {calendar_hd_class}&quot;&gt;&#x27; + 
2800
 
                         &#x27;&lt;div class=&quot;yui3-u {calendar_hd_label_class}&quot; id=&quot;{calendar_id}_header&quot; aria-role=&quot;heading&quot;&gt;&#x27; + 
2801
 
                              &#x27;{calheader}&#x27; +
2802
 
                         &#x27;&lt;&#x2F;div&gt;&#x27; +
2803
 
                   &#x27;&lt;&#x2F;div&gt;&#x27;,
2804
 
 
2805
 
   &#x2F;**
2806
 
    * A template for the row of weekday names.
2807
 
    * @property WEEKDAY_ROW_TEMPLATE
2808
 
    * @type String
2809
 
    * @protected
2810
 
    * @static
2811
 
    *&#x2F; 
2812
 
  WEEKDAY_ROW_TEMPLATE: &#x27;&lt;tr class=&quot;{calendar_weekdayrow_class}&quot; role=&quot;row&quot;&gt;&#x27; + 
2813
 
                           &#x27;{weekday_row}&#x27; +
2814
 
              &#x27;&lt;&#x2F;tr&gt;&#x27;,
2815
 
 
2816
 
   &#x2F;**
2817
 
    * A template for a single row of calendar days.
2818
 
    * @property CALDAY_ROW_TEMPLATE
2819
 
    * @type String
2820
 
    * @protected
2821
 
    * @static
2822
 
    *&#x2F; 
2823
 
  CALDAY_ROW_TEMPLATE: &#x27;&lt;tr class=&quot;{calendar_row_class}&quot; role=&quot;row&quot;&gt;&#x27; + 
2824
 
                 &#x27;{calday_row}&#x27; + 
2825
 
              &#x27;&lt;&#x2F;tr&gt;&#x27;,
2826
 
 
2827
 
   &#x2F;**
2828
 
    * A template for a single cell with a weekday name.
2829
 
    * @property CALDAY_ROW_TEMPLATE
2830
 
    * @type String
2831
 
    * @protected
2832
 
    * @static
2833
 
    *&#x2F; 
2834
 
  WEEKDAY_TEMPLATE: &#x27;&lt;th class=&quot;{calendar_weekday_class}&quot; role=&quot;columnheader&quot; aria-label=&quot;{full_weekdayname}&quot;&gt;{weekdayname}&lt;&#x2F;th&gt;&#x27;,
2835
 
 
2836
 
   &#x2F;**
2837
 
    * A template for a single cell with a calendar day.
2838
 
    * @property CALDAY_TEMPLATE
2839
 
    * @type String
2840
 
    * @protected
2841
 
    * @static
2842
 
    *&#x2F; 
2843
 
  CALDAY_TEMPLATE: &#x27;&lt;td class=&quot;{calendar_col_class} {calendar_day_class} {calendar_col_visibility_class}&quot; id=&quot;{calendar_day_id}&quot; role=&quot;gridcell&quot; tabindex=&quot;-1&quot;&gt;&#x27; +
2844
 
                       &#x27;{day_content}&#x27; + 
2845
 
                   &#x27;&lt;&#x2F;td&gt;&#x27;,
2846
 
 
2847
 
   &#x2F;**
2848
 
    * The identity of the widget.
2849
 
    *
2850
 
    * @property NAME
2851
 
    * @type String
2852
 
    * @default &#x27;calendarBase&#x27;
2853
 
    * @readOnly
2854
 
    * @protected
2855
 
    * @static
2856
 
    *&#x2F;  
2857
 
  NAME: &#x27;calendarBase&#x27;,
2858
 
 
2859
 
   &#x2F;**
2860
 
    * Static property used to define the default attribute configuration of
2861
 
    * the Widget.
2862
 
    *
2863
 
    * @property ATTRS
2864
 
    * @type {Object}
2865
 
    * @protected
2866
 
    * @static
2867
 
    *&#x2F;  
2868
 
  ATTRS: {
2869
 
    tabIndex: {
2870
 
      value: 1
2871
 
    },
2872
 
    &#x2F;**
2873
 
     * The date corresponding to the current calendar view. Always
2874
 
     * normalized to the first of the month that contains the date
2875
 
     * at assignment time. Used as the first date visible in the
2876
 
     * calendar.
2877
 
     *
2878
 
     * @attribute date
2879
 
     * @type Date
2880
 
     * @default The first of the month containing today&#x27;s date, as
2881
 
     * set on the end user&#x27;s system.
2882
 
     *&#x2F;
2883
 
    date: {
2884
 
      value: new Date(),
2885
 
      setter: function (val) {
2886
 
        var newDate = this._normalizeDate(val);
2887
 
        if (ydate.areEqual(newDate, this.get(&#x27;date&#x27;))) {
2888
 
            return this.get(&#x27;date&#x27;);
2889
 
        }
2890
 
        else {
2891
 
            return newDate;
2892
 
        }
2893
 
      }
2894
 
      },
2895
 
 
2896
 
    &#x2F;**
2897
 
     * A setting specifying whether to shows days from the previous
2898
 
     * month in the visible month&#x27;s grid, if there are empty preceding
2899
 
     * cells available.
2900
 
     *
2901
 
     * @attribute showPrevMonth
2902
 
     * @type boolean
2903
 
     * @default false
2904
 
     *&#x2F;
2905
 
    showPrevMonth: {
2906
 
      value: false
2907
 
    },
2908
 
 
2909
 
    &#x2F;**
2910
 
     * A setting specifying whether to shows days from the next
2911
 
     * month in the visible month&#x27;s grid, if there are empty
2912
 
     * cells available at the end.
2913
 
     *
2914
 
     * @attribute showNextMonth
2915
 
     * @type boolean
2916
 
     * @default false
2917
 
     *&#x2F;
2918
 
    showNextMonth: {
2919
 
      value: false
2920
 
    },
2921
 
 
2922
 
    &#x2F;**
2923
 
     * Strings and properties derived from the internationalization packages
2924
 
     * for the calendar.
2925
 
     *
2926
 
     * @attribute strings
2927
 
     * @type Object
2928
 
     * @protected
2929
 
     *&#x2F;
2930
 
    strings : {
2931
 
            valueFn: function() { return Y.Intl.get(&quot;calendar-base&quot;); }
2932
 
        },
2933
 
 
2934
 
    &#x2F;**
2935
 
     * Custom header renderer for the calendar.
2936
 
     *
2937
 
     * @attribute headerRenderer
2938
 
     * @type String | Function
2939
 
     *&#x2F;
2940
 
        headerRenderer: {
2941
 
            value: &quot;%B %Y&quot;
2942
 
        },
2943
 
 
2944
 
    &#x2F;**
2945
 
     * The name of the rule which all enabled dates should match.
2946
 
     * Either disabledDatesRule or enabledDatesRule should be specified,
2947
 
     * or neither, but not both.
2948
 
     *
2949
 
     * @attribute enabledDatesRule
2950
 
     * @type String
2951
 
     * @default null
2952
 
     *&#x2F;
2953
 
        enabledDatesRule: {
2954
 
            value: null
2955
 
        },
2956
 
 
2957
 
    &#x2F;**
2958
 
     * The name of the rule which all disabled dates should match.
2959
 
     * Either disabledDatesRule or enabledDatesRule should be specified,
2960
 
     * or neither, but not both.
2961
 
     *
2962
 
     * @attribute disabledDatesRule
2963
 
     * @type String
2964
 
     * @default null
2965
 
     *&#x2F;
2966
 
        disabledDatesRule: {
2967
 
            value: null
2968
 
        },
2969
 
 
2970
 
    &#x2F;**
2971
 
     * A read-only attribute providing a list of currently selected dates.
2972
 
     *
2973
 
     * @attribute selectedDates
2974
 
     * @readOnly
2975
 
     * @type Array
2976
 
     *&#x2F;
2977
 
        selectedDates : {
2978
 
          readOnly: true,
2979
 
          getter: function (val) {
2980
 
            return (this._getSelectedDatesList());
2981
 
          }
2982
 
        },
2983
 
 
2984
 
    &#x2F;**
2985
 
     * An object of the form {rules:Object, filterFunction:Function},
2986
 
     * providing  set of rules and a custom rendering function for 
2987
 
     * customizing specific calendar cells.
2988
 
     *
2989
 
     * @attribute customRenderer
2990
 
     * @readOnly
2991
 
     * @type Object
2992
 
     * @default {}
2993
 
     *&#x2F;
2994
 
        customRenderer : {
2995
 
            value: {},
2996
 
            setter: function (val) {
2997
 
                this._rules = val.rules;
2998
 
                this._filterFunction = val.filterFunction;
2999
 
            }
3000
 
        }
3001
 
  }
3002
 
  
3003
 
});
3004
 
 
3005
 
    </pre>
3006
 
</div>
3007
 
 
3008
 
                    </div>
3009
 
                </div>
3010
 
            </div>
3011
 
        </div>
3012
 
    </div>
3013
 
</div>
3014
 
<script src="..&#x2F;assets/vendor/prettify/prettify-min.js"></script>
3015
 
<script>prettyPrint();</script>
3016
 
<script src="..&#x2F;assets/js/yui-prettify.js"></script>
3017
 
<script src="..&#x2F;assets/../api.js"></script>
3018
 
<script src="..&#x2F;assets/js/api-filter.js"></script>
3019
 
<script src="..&#x2F;assets/js/api-list.js"></script>
3020
 
<script src="..&#x2F;assets/js/api-search.js"></script>
3021
 
<script src="..&#x2F;assets/js/apidocs.js"></script>
3022
 
</body>
3023
 
</html>