summaryrefslogtreecommitdiff
path: root/frontend/beta/js/Clipperz/PM/Date.js
Unidiff
Diffstat (limited to 'frontend/beta/js/Clipperz/PM/Date.js') (more/less context) (ignore whitespace changes)
-rw-r--r--frontend/beta/js/Clipperz/PM/Date.js15
1 files changed, 6 insertions, 9 deletions
diff --git a/frontend/beta/js/Clipperz/PM/Date.js b/frontend/beta/js/Clipperz/PM/Date.js
index 5e21340..13116e9 100644
--- a/frontend/beta/js/Clipperz/PM/Date.js
+++ b/frontend/beta/js/Clipperz/PM/Date.js
@@ -1,193 +1,190 @@
1/* 1/*
2 2
3Copyright 2008-2011 Clipperz Srl 3Copyright 2008-2011 Clipperz Srl
4 4
5This file is part of Clipperz's Javascript Crypto Library. 5This file is part of Clipperz Community Edition.
6Javascript Crypto Library provides web developers with an extensive 6Clipperz Community Edition is an online password manager.
7and efficient set of cryptographic functions. The library aims to
8obtain maximum execution speed while preserving modularity and
9reusability.
10For further information about its features and functionalities please 7For further information about its features and functionalities please
11refer to http://www.clipperz.com 8refer to http://www.clipperz.com.
12 9
13* Javascript Crypto Library is free software: you can redistribute 10* Clipperz Community Edition is free software: you can redistribute
14 it and/or modify it under the terms of the GNU Affero General Public 11 it and/or modify it under the terms of the GNU Affero General Public
15 License as published by the Free Software Foundation, either version 12 License as published by the Free Software Foundation, either version
16 3 of the License, or (at your option) any later version. 13 3 of the License, or (at your option) any later version.
17 14
18* Javascript Crypto Library is distributed in the hope that it will 15* Clipperz Community Edition is distributed in the hope that it will
19 be useful, but WITHOUT ANY WARRANTY; without even the implied 16 be useful, but WITHOUT ANY WARRANTY; without even the implied
20 warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 17 warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
21 See the GNU Affero General Public License for more details. 18 See the GNU Affero General Public License for more details.
22 19
23* You should have received a copy of the GNU Affero General Public 20* You should have received a copy of the GNU Affero General Public
24 License along with Javascript Crypto Library. If not, see 21 License along with Clipperz Community Edition. If not, see
25 <http://www.gnu.org/licenses/>. 22 <http://www.gnu.org/licenses/>.
26 23
27*/ 24*/
28 25
29if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } 26if (typeof(Clipperz) == 'undefined') { Clipperz = {}; }
30if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; } 27if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; }
31if (typeof(Clipperz.PM.Date) == 'undefined') { Clipperz.PM.Date = {}; } 28if (typeof(Clipperz.PM.Date) == 'undefined') { Clipperz.PM.Date = {}; }
32 29
33Clipperz.PM.Date.VERSION = "0.1"; 30Clipperz.PM.Date.VERSION = "0.1";
34Clipperz.PM.Date.NAME = "Clipperz.PM.Date"; 31Clipperz.PM.Date.NAME = "Clipperz.PM.Date";
35 32
36MochiKit.Base.update(Clipperz.PM.Date, { 33MochiKit.Base.update(Clipperz.PM.Date, {
37 34
38 '__repr__': function () { 35 '__repr__': function () {
39 return "[" + this.NAME + " " + this.VERSION + "]"; 36 return "[" + this.NAME + " " + this.VERSION + "]";
40 }, 37 },
41 38
42 //------------------------------------------------------------------------- 39 //-------------------------------------------------------------------------
43 40
44 'toString': function () { 41 'toString': function () {
45 return this.__repr__(); 42 return this.__repr__();
46 }, 43 },
47 44
48 //------------------------------------------------------------------------- 45 //-------------------------------------------------------------------------
49 46
50 'locale': function() { 47 'locale': function() {
51 return { 48 return {
52 'amDesignation':Clipperz.PM.Strings['calendarStrings']['amDesignation'], 49 'amDesignation':Clipperz.PM.Strings['calendarStrings']['amDesignation'],
53 'pmDesignation':Clipperz.PM.Strings['calendarStrings']['pmDesignation'], 50 'pmDesignation':Clipperz.PM.Strings['calendarStrings']['pmDesignation'],
54 'days': Clipperz.PM.Strings['calendarStrings']['days'], 51 'days': Clipperz.PM.Strings['calendarStrings']['days'],
55 'shortDays': Clipperz.PM.Strings['calendarStrings']['shortDays'], 52 'shortDays': Clipperz.PM.Strings['calendarStrings']['shortDays'],
56 'shortMonths': Clipperz.PM.Strings['calendarStrings']['shortMonths'], 53 'shortMonths': Clipperz.PM.Strings['calendarStrings']['shortMonths'],
57 'months': Clipperz.PM.Strings['calendarStrings']['months'] 54 'months': Clipperz.PM.Strings['calendarStrings']['months']
58 } 55 }
59 }, 56 },
60 57
61 //========================================================================= 58 //=========================================================================
62/* 59/*
63 'formatDateWithPHPLikeTemplate': function(aDate, aTemplate) { 60 'formatDateWithPHPLikeTemplate': function(aDate, aTemplate) {
64 return Clipperz.Date.formatDateWithPHPLikeTemplateAndLocale(aDate, aTemplate, Clipperz.PM.Date.locale()); 61 return Clipperz.Date.formatDateWithPHPLikeTemplateAndLocale(aDate, aTemplate, Clipperz.PM.Date.locale());
65 }, 62 },
66 63
67 'parseDateWithPHPLikeTemplate': function(aDate, aTemplate) { 64 'parseDateWithPHPLikeTemplate': function(aDate, aTemplate) {
68 return Clipperz.Date.parseDateWithPHPTemplateAndLocale(aDate, aTemplate, Clipperz.PM.Date.locale()); 65 return Clipperz.Date.parseDateWithPHPTemplateAndLocale(aDate, aTemplate, Clipperz.PM.Date.locale());
69 }, 66 },
70 67
71 //========================================================================= 68 //=========================================================================
72 69
73 'formatDateWithJavaLikeTemplate': function(aDate, aTemplate) { 70 'formatDateWithJavaLikeTemplate': function(aDate, aTemplate) {
74 return Clipperz.Date.formatDateWithJavaLikeTemplateAndLocale(aDate, aTemplate, Clipperz.PM.Date.locale()); 71 return Clipperz.Date.formatDateWithJavaLikeTemplateAndLocale(aDate, aTemplate, Clipperz.PM.Date.locale());
75 }, 72 },
76 73
77 'parseDateWithJavaLikeTemplate': function(aDate, aTemplate) { 74 'parseDateWithJavaLikeTemplate': function(aDate, aTemplate) {
78 return Clipperz.Date.parseDateWithJavaLikeTemplateAndLocale(aDate, aTemplate, Clipperz.PM.Date.locale()); 75 return Clipperz.Date.parseDateWithJavaLikeTemplateAndLocale(aDate, aTemplate, Clipperz.PM.Date.locale());
79 }, 76 },
80*/ 77*/
81 //========================================================================= 78 //=========================================================================
82 79
83 'formatDateWithTemplate': function(aDate, aTemplate) { 80 'formatDateWithTemplate': function(aDate, aTemplate) {
84 var result; 81 var result;
85 82
86 if (aDate == null) { 83 if (aDate == null) {
87 result = "" 84 result = ""
88 } else { 85 } else {
89 result = Clipperz.Date.formatDateWithPHPLikeTemplateAndLocale(aDate, aTemplate, Clipperz.PM.Date.locale()); 86 result = Clipperz.Date.formatDateWithPHPLikeTemplateAndLocale(aDate, aTemplate, Clipperz.PM.Date.locale());
90 }; 87 };
91 88
92 return result; 89 return result;
93 }, 90 },
94 91
95 'parseDateWithTemplate': function(aValue, aTemplate) { 92 'parseDateWithTemplate': function(aValue, aTemplate) {
96 return Clipperz.Date.parseDateWithPHPTemplateAndLocale(aValue, aTemplate, Clipperz.PM.Date.locale()); 93 return Clipperz.Date.parseDateWithPHPTemplateAndLocale(aValue, aTemplate, Clipperz.PM.Date.locale());
97 }, 94 },
98 95
99 //========================================================================= 96 //=========================================================================
100 97
101 'formatDateWithUTCFormat': function(aDate) { 98 'formatDateWithUTCFormat': function(aDate) {
102 return Clipperz.Date.formatDateWithUTCFormatAndLocale(aDate, Clipperz.PM.Date.locale()); 99 return Clipperz.Date.formatDateWithUTCFormatAndLocale(aDate, Clipperz.PM.Date.locale());
103 }, 100 },
104 101
105 'parseDateWithUTCFormat': function(aValue) { 102 'parseDateWithUTCFormat': function(aValue) {
106 var result; 103 var result;
107 104
108 if (aValue == null) { 105 if (aValue == null) {
109 result = null; 106 result = null;
110 } else { 107 } else {
111 result = Clipperz.Date.parseDateWithUTCFormatAndLocale(aValue, Clipperz.PM.Date.locale()); 108 result = Clipperz.Date.parseDateWithUTCFormatAndLocale(aValue, Clipperz.PM.Date.locale());
112 } 109 }
113 110
114 return result; 111 return result;
115 }, 112 },
116 113
117 //========================================================================= 114 //=========================================================================
118 115
119 'getElapsedTimeDescription': function(aDate) { 116 'getElapsedTimeDescription': function(aDate) {
120 var result; 117 var result;
121 118
122 result = "" 119 result = ""
123 120
124 if (aDate != null) { 121 if (aDate != null) {
125 var now; 122 var now;
126 var elapsedTime; 123 var elapsedTime;
127 124
128 var millisencondsInAMinute; 125 var millisencondsInAMinute;
129 var millisencondsInAnHour; 126 var millisencondsInAnHour;
130 var millisencondsInADay; 127 var millisencondsInADay;
131 var millisencondsInAWeek; 128 var millisencondsInAWeek;
132 var millisencondsInAMonth; 129 var millisencondsInAMonth;
133 130
134 now = new Date(); 131 now = new Date();
135 elapsedTime = now.getTime() - aDate.getTime(); 132 elapsedTime = now.getTime() - aDate.getTime();
136 133
137 millisencondsInAMinute = 60 * 1000; 134 millisencondsInAMinute = 60 * 1000;
138 millisencondsInAnHour = millisencondsInAMinute * 60; 135 millisencondsInAnHour = millisencondsInAMinute * 60;
139 millisencondsInADay = millisencondsInAnHour * 24; 136 millisencondsInADay = millisencondsInAnHour * 24;
140 millisencondsInAWeek = millisencondsInADay * 7; 137 millisencondsInAWeek = millisencondsInADay * 7;
141 millisencondsInAMonth = millisencondsInAWeek * 5; 138 millisencondsInAMonth = millisencondsInAWeek * 5;
142 139
143 if ((elapsedTime / millisencondsInAMonth) > 1) { 140 if ((elapsedTime / millisencondsInAMonth) > 1) {
144 result = Clipperz.PM.Strings['elapsedTimeDescriptions']['MORE_THAN_A_MONTH_AGO']; 141 result = Clipperz.PM.Strings['elapsedTimeDescriptions']['MORE_THAN_A_MONTH_AGO'];
145 } else if ((elapsedTime / millisencondsInAWeek) > 1) { 142 } else if ((elapsedTime / millisencondsInAWeek) > 1) {
146 var elapsedWeeks; 143 var elapsedWeeks;
147 144
148 elapsedWeeks = Math.floor((elapsedTime / millisencondsInAWeek)); 145 elapsedWeeks = Math.floor((elapsedTime / millisencondsInAWeek));
149 if (elapsedWeeks == 1) { 146 if (elapsedWeeks == 1) {
150 result = Clipperz.PM.Strings['elapsedTimeDescriptions']['MORE_THAN_A_WEEK_AGO']; 147 result = Clipperz.PM.Strings['elapsedTimeDescriptions']['MORE_THAN_A_WEEK_AGO'];
151 } else { 148 } else {
152 result = Clipprez.PM.Strings['elapsedTimeDescriptions']['MORE_THAN_*_WEEKS_AGO'].replace(/__elapsed__/, elapsedWeeks); 149 result = Clipprez.PM.Strings['elapsedTimeDescriptions']['MORE_THAN_*_WEEKS_AGO'].replace(/__elapsed__/, elapsedWeeks);
153 } 150 }
154 } else if ((elapsedTime / millisencondsInADay) > 1) { 151 } else if ((elapsedTime / millisencondsInADay) > 1) {
155 var elapsedDays; 152 var elapsedDays;
156 153
157 elapsedDays = Math.floor((elapsedTime / millisencondsInADay)); 154 elapsedDays = Math.floor((elapsedTime / millisencondsInADay));
158 if (elapsedDays == 1) { 155 if (elapsedDays == 1) {
159 result = Clipperz.PM.Strings['elapsedTimeDescriptions']['YESTERDAY']; 156 result = Clipperz.PM.Strings['elapsedTimeDescriptions']['YESTERDAY'];
160 } else { 157 } else {
161 result = Clipperz.PM.Strings['elapsedTimeDescriptions']['*_DAYS_AGO'].replace(/__elapsed__/, elapsedDays); 158 result = Clipperz.PM.Strings['elapsedTimeDescriptions']['*_DAYS_AGO'].replace(/__elapsed__/, elapsedDays);
162 } 159 }
163 } else if ((elapsedTime / millisencondsInAnHour) > 1) { 160 } else if ((elapsedTime / millisencondsInAnHour) > 1) {
164 var elapsedHours; 161 var elapsedHours;
165 162
166 elapsedHours = Math.floor((elapsedTime / millisencondsInAnHour)); 163 elapsedHours = Math.floor((elapsedTime / millisencondsInAnHour));
167 if (elapsedHours == 1) { 164 if (elapsedHours == 1) {
168 result = Clipperz.PM.Strings['elapsedTimeDescriptions']['ABOUT_AN_HOUR_AGO']; 165 result = Clipperz.PM.Strings['elapsedTimeDescriptions']['ABOUT_AN_HOUR_AGO'];
169 } else { 166 } else {
170 result = Clipperz.PM.Strings['elapsedTimeDescriptions']['*_HOURS_AGO'].replace(/__elapsed__/, elapsedHours); 167 result = Clipperz.PM.Strings['elapsedTimeDescriptions']['*_HOURS_AGO'].replace(/__elapsed__/, elapsedHours);
171 } 168 }
172 } else { 169 } else {
173 var elapsed10Minutes; 170 var elapsed10Minutes;
174 171
175 elapsed10Minutes = (Math.floor((elapsedTime / millisencondsInAMinute) / 10)) * 10; 172 elapsed10Minutes = (Math.floor((elapsedTime / millisencondsInAMinute) / 10)) * 10;
176 if (elapsed10Minutes == 0) { 173 if (elapsed10Minutes == 0) {
177 result = Clipperz.PM.Strings['elapsedTimeDescriptions']['JUST_A_FEW_MINUTES_AGO']; 174 result = Clipperz.PM.Strings['elapsedTimeDescriptions']['JUST_A_FEW_MINUTES_AGO'];
178 } else { 175 } else {
179 result = Clipperz.PM.Strings['elapsedTimeDescriptions']['ABOUT_*_MINUTES_AGO'].replace(/__elapsed__/, elapsed10Minutes+""); 176 result = Clipperz.PM.Strings['elapsedTimeDescriptions']['ABOUT_*_MINUTES_AGO'].replace(/__elapsed__/, elapsed10Minutes+"");
180 } 177 }
181 } 178 }
182 } 179 }
183 180
184 return result; 181 return result;
185 }, 182 },
186 183
187 //------------------------------------------------------------------------- 184 //-------------------------------------------------------------------------
188 185
189 //------------------------------------------------------------------------- 186 //-------------------------------------------------------------------------
190 __syntaxFix__: "syntax fix" 187 __syntaxFix__: "syntax fix"
191 188
192}); 189});
193 190