Upgrade to ExtJS 3.3.1 - Released 11/30/2010
[extjs.git] / examples / calendar / src / Ext.calendar.js
1 /*!
2  * Ext JS Library 3.3.1
3  * Copyright(c) 2006-2010 Sencha Inc.
4  * licensing@sencha.com
5  * http://www.sencha.com/license
6  */
7 Ext.ns('Ext.calendar');
8
9  (function() {
10     Ext.apply(Ext.calendar, {
11         Date: {
12             diffDays: function(start, end) {
13                 day = 1000 * 60 * 60 * 24;
14                 diff = end.clearTime(true).getTime() - start.clearTime(true).getTime();
15                 return Math.ceil(diff / day);
16             },
17
18             copyTime: function(fromDt, toDt) {
19                 var dt = toDt.clone();
20                 dt.setHours(
21                 fromDt.getHours(),
22                 fromDt.getMinutes(),
23                 fromDt.getSeconds(),
24                 fromDt.getMilliseconds());
25
26                 return dt;
27             },
28
29             compare: function(dt1, dt2, precise) {
30                 if (precise !== true) {
31                     dt1 = dt1.clone();
32                     dt1.setMilliseconds(0);
33                     dt2 = dt2.clone();
34                     dt2.setMilliseconds(0);
35                 }
36                 return dt2.getTime() - dt1.getTime();
37             },
38
39             // private helper fn
40             maxOrMin: function(max) {
41                 var dt = (max ? 0: Number.MAX_VALUE),
42                 i = 0,
43                 args = arguments[1],
44                 ln = args.length;
45                 for (; i < ln; i++) {
46                     dt = Math[max ? 'max': 'min'](dt, args[i].getTime());
47                 }
48                 return new Date(dt);
49             },
50
51             max: function() {
52                 return this.maxOrMin.apply(this, [true, arguments]);
53             },
54
55             min: function() {
56                 return this.maxOrMin.apply(this, [false, arguments]);
57             }
58         }
59     });
60 })();