Editorial Calendar - Version 1.5

Version Description

The post time field in the quick edit dialog is now editable so you can specify any time you want instead of having to pick in 30 minute increments.

The calendar is now translated into German. Thanks to Matthias Nattke who uses the Editorial Calendar on his site Kikamagazin Bloggt.

The calendar is now supporting a special post type "edcal_show_calendar_" to make sure certain custom post types don't show up in the calendar.

Download this release

Release Info

Developer zgrossbart
Plugin Icon wp plugin Editorial Calendar
Version 1.5
Comparing to
See all releases

Code changes from version 1.4 to 1.5

closure.sh CHANGED
@@ -1,3 +1,3 @@
1
- java -jar closure/compiler.jar --js_output_file lib/edcallib.min.js --js lib/humanmsg.js --js lib/sprintf-0.7-beta1.js --js lib/jquery.cookie.js --js lib/jquery.bgiframe.js --js lib/jquery.delegate.js --js lib/jquery.tools.min.js --js lib/jquery.timepicker.js --js lib/json2.js --js lib/tools.scrollable-1.1.2.js --js lib/tools.scrollable.mousewheel-1.0.1.js --js lib/date.extras.js
2
-
3
- java -jar closure/compiler.jar --js_output_file edcal.min.js --js edcal.js
1
+ java -jar closure/compiler.jar --js_output_file lib/edcallib.min.js --js lib/humanmsg.js --js lib/sprintf-0.7-beta1.js --js lib/jquery.cookie.js --js lib/jquery.bgiframe.js --js lib/jquery.delegate.js --js lib/jquery.tools.min.js --js lib/jquery.timepicker.js --js lib/json2.js --js lib/tools.scrollable-1.1.2.js --js lib/tools.scrollable.mousewheel-1.0.1.js --js lib/date.extras.js
2
+
3
+ java -jar closure/compiler.jar --js_output_file edcal.min.js --js edcal.js
edcal.css CHANGED
@@ -476,3 +476,7 @@ TinyMCE Rich Editor and Media buttons are not currently used
476
  #nofeedbacklink {
477
  margin-left: 1em;
478
  }
 
 
 
 
476
  #nofeedbacklink {
477
  margin-left: 1em;
478
  }
479
+
480
+ #screen-meta #show-edcal-settings-link.show-settings {
481
+ background-position: right -1px;
482
+ }
edcal.php CHANGED
@@ -18,8 +18,8 @@
18
  /*
19
  Plugin Name: WordPress Editorial Calendar
20
  Description: The Editorial Calendar makes it possible to see all your posts and drag and drop them to manage your blog.
21
- Version: 1.4
22
- Author: Colin Vernon, Justin Evans, Mary Vogt, and Zack Grossbart
23
  Author URI: http://www.zackgrossbart.com
24
  Plugin URI: http://stresslimitdesign.com/editorial-calendar-plugin
25
  */
@@ -85,37 +85,39 @@ class EdCal {
85
  /*
86
  * This function adds our calendar page to the admin UI
87
  */
88
- function edcal_list_add_management_page() {
89
- if (function_exists('add_management_page') ) {
90
- $page = add_posts_page( __('Calendar', 'editorial-calendar'), __('Calendar', 'editorial-calendar'), 'edit_posts', 'cal', array(&$this, 'edcal_list_admin'));
91
- add_action( "admin_print_scripts-$page", array(&$this, 'edcal_scripts'));
92
-
93
- if( $this->supports_custom_types ) {
94
-
95
- /*
96
- * We add one calendar for Posts and then we add a separate calendar for each
97
- * custom post type. This calendar will have an URL like this:
98
- * /wp-admin/edit.php?post_type=podcasts&page=cal_podcasts
99
- *
100
- * We can then use the post_type parameter to show the posts of just that custom
101
- * type and update the labels for each post type.
102
- */
103
- $args = array(
104
- 'public' => true,
105
- '_builtin' => false
106
- );
107
- $output = 'names'; // names or objects
108
- $operator = 'and'; // 'and' or 'or'
109
- $post_types = get_post_types($args,$output,$operator);
110
-
111
- foreach ($post_types as $post_type) {
112
- $page = add_submenu_page('edit.php?post_type=' . $post_type, __('Calendar', 'editorial-calendar'), __('Calendar', 'editorial-calendar'), 'edit_posts', 'cal_' . $post_type, array(&$this, 'edcal_list_admin'));
113
- add_action( "admin_print_scripts-$page", array(&$this, 'edcal_scripts'));
114
- }
115
-
116
- }
117
- }
118
- }
 
 
119
 
120
  /*
121
  * This is a utility function to open a file add it to our
@@ -405,7 +407,7 @@ class EdCal {
405
 
406
  <label>
407
  <span class="title"><?php _e('Time', 'editorial-calendar') ?></span>
408
- <span class="input-text-wrap"><input type="text" class="ptitle" id="edcal-time" name="time" value="" size="8" readonly="true" maxlength="8" autocomplete="off" /></span>
409
  </label>
410
 
411
  <label>
18
  /*
19
  Plugin Name: WordPress Editorial Calendar
20
  Description: The Editorial Calendar makes it possible to see all your posts and drag and drop them to manage your blog.
21
+ Version: 1.5
22
+ Author: Colin Vernon, Justin Evans, Joachim Kudish, Mary Vogt, and Zack Grossbart
23
  Author URI: http://www.zackgrossbart.com
24
  Plugin URI: http://stresslimitdesign.com/editorial-calendar-plugin
25
  */
85
  /*
86
  * This function adds our calendar page to the admin UI
87
  */
88
+ function edcal_list_add_management_page() {
89
+ if (function_exists('add_management_page') ) {
90
+ $page = add_posts_page( __('Calendar', 'editorial-calendar'), __('Calendar', 'editorial-calendar'), 'edit_posts', 'cal', array(&$this, 'edcal_list_admin'));
91
+ add_action( "admin_print_scripts-$page", array(&$this, 'edcal_scripts'));
92
+
93
+ if( $this->supports_custom_types ) {
94
+
95
+ /*
96
+ * We add one calendar for Posts and then we add a separate calendar for each
97
+ * custom post type. This calendar will have an URL like this:
98
+ * /wp-admin/edit.php?post_type=podcasts&page=cal_podcasts
99
+ *
100
+ * We can then use the post_type parameter to show the posts of just that custom
101
+ * type and update the labels for each post type.
102
+ */
103
+ $args = array(
104
+ 'public' => true,
105
+ '_builtin' => false
106
+ );
107
+ $output = 'names'; // names or objects
108
+ $operator = 'and'; // 'and' or 'or'
109
+ $post_types = get_post_types($args,$output,$operator);
110
+
111
+ foreach ($post_types as $post_type) {
112
+ $show_this_post_type = apply_filters("edcal_show_calendar_$post_type", true);
113
+ if ($show_this_post_type) {
114
+ $page = add_submenu_page('edit.php?post_type=' . $post_type, __('Calendar', 'editorial-calendar'), __('Calendar', 'editorial-calendar'), 'edit_posts', 'cal_' . $post_type, array(&$this, 'edcal_list_admin'));
115
+ add_action( "admin_print_scripts-$page", array(&$this, 'edcal_scripts'));
116
+ }
117
+ }
118
+ }
119
+ }
120
+ }
121
 
122
  /*
123
  * This is a utility function to open a file add it to our
407
 
408
  <label>
409
  <span class="title"><?php _e('Time', 'editorial-calendar') ?></span>
410
+ <span class="input-text-wrap"><input type="text" class="ptitle" id="edcal-time" name="time" value="" size="8" maxlength="8" autocomplete="off" /></span>
411
  </label>
412
 
413
  <label>
languages/editorial-calendar-de_DE.mo ADDED
Binary file
languages/editorial-calendar-de_DE.po ADDED
@@ -0,0 +1,314 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: WordPress Editorial Calendar v1.4\n"
4
+ "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: \n"
6
+ "PO-Revision-Date: 2011-09-13 11:46-0500\n"
7
+ "Last-Translator: Zack Grossbart <zack@grossbart.com>\n"
8
+ "Language-Team: \n"
9
+ "MIME-Version: 1.0\n"
10
+ "Content-Type: text/plain; charset=UTF-8\n"
11
+ "Content-Transfer-Encoding: 8bit\n"
12
+ "Plural-Forms: nplurals=2; plural=n != 1;\n"
13
+ "X-Poedit-Language: German\n"
14
+ "X-Poedit-Country: GERMANY\n"
15
+ "X-Poedit-SourceCharset: utf-8\n"
16
+ "X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_n:1,2;__ngettext_noop:1,2;_n_noop:1,2;_c,_nc:4c,1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;_nx_noop:4c,1,2\n"
17
+ "X-Poedit-Basepath: ../\n"
18
+ "X-Textdomain-Support: yes\n"
19
+ "X-Poedit-SearchPath-0: .\n"
20
+
21
+ #@ editorial-calendar
22
+ #: edcal.php:90
23
+ #: edcal.php:112
24
+ msgid "Calendar"
25
+ msgstr "Kalender"
26
+
27
+ #@ editorial-calendar
28
+ #: edcal.php:240
29
+ #: edcal.php:464
30
+ msgid "en-US"
31
+ msgstr "de-DE"
32
+
33
+ #@ editorial-calendar
34
+ #: edcal.php:248
35
+ #, php-format
36
+ msgid "%1$s by %2$s"
37
+ msgstr "%1$s von %2$s"
38
+
39
+ #@ editorial-calendar
40
+ #: edcal.php:250
41
+ msgid "New Post"
42
+ msgstr "Neuer Beitrag"
43
+
44
+ #@ editorial-calendar
45
+ #: edcal.php:252
46
+ msgid " [DRAFT]"
47
+ msgstr "[ENTWURF]"
48
+
49
+ #@ editorial-calendar
50
+ #: edcal.php:253
51
+ msgid " [PENDING]"
52
+ msgstr "[AUSSTEHEND]"
53
+
54
+ #@ editorial-calendar
55
+ #: edcal.php:254
56
+ msgid " [STICKY]"
57
+ msgstr "[STICKY]"
58
+
59
+ #@ editorial-calendar
60
+ #: edcal.php:255
61
+ msgid " [DRAFT, STICKY]"
62
+ msgstr "[Entwurf, STICKY]"
63
+
64
+ #@ editorial-calendar
65
+ #: edcal.php:256
66
+ msgid " [PENDING, STICKY]"
67
+ msgstr "[AUSSTEHEND, STICKY]"
68
+
69
+ #@ editorial-calendar
70
+ #: edcal.php:257
71
+ #: edcal.php:261
72
+ msgid "Edit"
73
+ msgstr "Bearbeiten"
74
+
75
+ #@ editorial-calendar
76
+ #: edcal.php:258
77
+ msgid "Quick Edit"
78
+ msgstr "Quick Edit"
79
+
80
+ #@ editorial-calendar
81
+ #: edcal.php:259
82
+ msgid "Delete"
83
+ msgstr "Löschen"
84
+
85
+ #@ editorial-calendar
86
+ #: edcal.php:260
87
+ msgid "View"
88
+ msgstr "anschauen"
89
+
90
+ #@ editorial-calendar
91
+ #: edcal.php:262
92
+ msgid "Status:"
93
+ msgstr "Status:"
94
+
95
+ #@ editorial-calendar
96
+ #: edcal.php:263
97
+ #: edcal.php:433
98
+ msgid "Cancel"
99
+ msgstr "abbrechen"
100
+
101
+ #@ editorial-calendar
102
+ #: edcal.php:264
103
+ #: edcal.php:396
104
+ msgid "Title"
105
+ msgstr "Titel"
106
+
107
+ #@ editorial-calendar
108
+ #: edcal.php:265
109
+ #: edcal.php:401
110
+ msgid "Content"
111
+ msgstr "Inhalt"
112
+
113
+ #@ editorial-calendar
114
+ #: edcal.php:266
115
+ #, php-format
116
+ msgid "Add a new post on %s"
117
+ msgstr "Einen neuen Beitrag am %s hinzufügen"
118
+
119
+ #@ editorial-calendar
120
+ #: edcal.php:267
121
+ #, php-format
122
+ msgid "New %s - "
123
+ msgstr "Neu %s - "
124
+
125
+ #@ editorial-calendar
126
+ #: edcal.php:268
127
+ msgid "Update"
128
+ msgstr "Update"
129
+
130
+ #@ editorial-calendar
131
+ #: edcal.php:269
132
+ #: edcal.php:432
133
+ msgid "Schedule"
134
+ msgstr "planen"
135
+
136
+ #@ editorial-calendar
137
+ #: edcal.php:270
138
+ msgid "Submit for Review"
139
+ msgstr "Fertig"
140
+
141
+ #@ editorial-calendar
142
+ #: edcal.php:271
143
+ msgid "Save"
144
+ msgstr "Speichern"
145
+
146
+ #@ editorial-calendar
147
+ #: edcal.php:272
148
+ #, php-format
149
+ msgid "Edit %1$s - %2$s"
150
+ msgstr "Ändere von %1$s - %2$s"
151
+
152
+ #@ editorial-calendar
153
+ #: edcal.php:273
154
+ #: edcal.php:418
155
+ msgid "Scheduled"
156
+ msgstr "Geplant"
157
+
158
+ #@ editorial-calendar
159
+ #: edcal.php:275
160
+ msgid "You are about to delete the post \""
161
+ msgstr "Wirklich löschen? \""
162
+
163
+ #@ editorial-calendar
164
+ #: edcal.php:276
165
+ msgid "\". Press Cancel to stop, OK to delete."
166
+ msgstr "\" Klicke abbrechen oder okay um fortzufahren"
167
+
168
+ #@ editorial-calendar
169
+ #: edcal.php:278
170
+ msgid "Looks like someone else already moved this post."
171
+ msgstr "Jemand hat den Artikel verschoben"
172
+
173
+ #@ editorial-calendar
174
+ #: edcal.php:279
175
+ msgid "You do not have permission to edit posts."
176
+ msgstr "Du hast nicht die Rechte, um Artikel zu editieren"
177
+
178
+ #@ editorial-calendar
179
+ #: edcal.php:280
180
+ msgid "Invalid checksum for post. This is commonly a cross-site scripting error."
181
+ msgstr "Falsche Checksumme. Möglicherweise ein cross-site-Fehler"
182
+
183
+ #@ editorial-calendar
184
+ #: edcal.php:281
185
+ msgid "There was an error contacting your blog."
186
+ msgstr "Verbindungsfehler"
187
+
188
+ #@ editorial-calendar
189
+ #: edcal.php:283
190
+ msgid "Screen Options"
191
+ msgstr "Ansichtsoptionen"
192
+
193
+ #@ editorial-calendar
194
+ #: edcal.php:284
195
+ msgid "Colors"
196
+ msgstr "Farben"
197
+
198
+ #@ editorial-calendar
199
+ #: edcal.php:285
200
+ msgid "Drafts: "
201
+ msgstr "Entwürfe:"
202
+
203
+ #@ editorial-calendar
204
+ #: edcal.php:286
205
+ msgid "Apply"
206
+ msgstr "Anwenden"
207
+
208
+ #@ editorial-calendar
209
+ #: edcal.php:287
210
+ msgid "Show on screen"
211
+ msgstr "Auf dem Bildschirm anzeigen"
212
+
213
+ #@ editorial-calendar
214
+ #: edcal.php:288
215
+ msgid " weeks at a time"
216
+ msgstr "Wochen"
217
+
218
+ #@ editorial-calendar
219
+ #: edcal.php:289
220
+ msgid "Show in Calendar Cell"
221
+ msgstr "In Kalenderbox anzeigen"
222
+
223
+ #@ editorial-calendar
224
+ #: edcal.php:290
225
+ msgid "Author"
226
+ msgstr "Autor"
227
+
228
+ #@ editorial-calendar
229
+ #: edcal.php:291
230
+ #: edcal.php:412
231
+ msgid "Status"
232
+ msgstr "Status"
233
+
234
+ #@ editorial-calendar
235
+ #: edcal.php:292
236
+ msgid "Time of day"
237
+ msgstr "Uhrzeit"
238
+
239
+ #@ editorial-calendar
240
+ #: edcal.php:293
241
+ msgid "An error occurred while loading the calendar: "
242
+ msgstr "Ein Fehler beim Laden des Kalenders:"
243
+
244
+ #@ editorial-calendar
245
+ #: edcal.php:295
246
+ msgid "The calendar can only show between 1 and 5 weeks at a time."
247
+ msgstr "Der Kalender zeigt zwischen einer und fünf Wochen an."
248
+
249
+ #@ editorial-calendar
250
+ #: edcal.php:296
251
+ msgid "Select the number of weeks for the calendar to show."
252
+ msgstr "Wochen"
253
+
254
+ #@ editorial-calendar
255
+ #: edcal.php:302
256
+ msgid "<div id=\"feedbacksection\"><h2>Help us Make the Editorial Calendar Better</h2>We are always trying to improve the Editorial Calendar and you can help. May we collect some data about your blog and browser settings to help us improve this plugin? We'll only do it once and your blog will show up on our <a target=\"_blank\" href=\"http://www.zackgrossbart.com/edcal/mint/\">Editorial Calendar Statistics page</a>.<br /><br /><button class=\"button-secondary\" onclick=\"edcal.doFeedback();\">Collect Anonymous Data</button> <a href=\"#\" id=\"nofeedbacklink\" onclick=\"edcal.noFeedback(); return false;\">No thank you</a></div>"
257
+ msgstr "<div id=\"feedbacksection\"><h2>Hilf uns Editorial Calendar zu verbessern</h2>Wir sind bestrebt, Editoral Calender zu verbessern. Dabei kannst du uns helfen. Sende uns einige Daten über deinen Blog und deinen Browser. Das passiert einmalig und du stehst auf unserer <a target=\"_blank\" href=\"http://www.zackgrossbart.com/edcal/mint/\">Editorial Calendar Statistics Seite</a>.<br /><br /><button class=\"button-secondary\" onclick=\"edcal.doFeedback();\">Daten anonym senden</button> <a href=\"#\" id=\"nofeedbacklink\" onclick=\"edcal.noFeedback(); return false;\">Nein, lieber nicht.</a></div>"
258
+
259
+ #@ editorial-calendar
260
+ #: edcal.php:304
261
+ msgid "<h2>We're done</h2>We've finished collecting data. Thank you for helping us make the calendar better."
262
+ msgstr "<h2>Erledigt!</h2>Die Daten wurden übertragen. Vielen Dank für deine Hilfe. "
263
+
264
+ #@ editorial-calendar
265
+ #: edcal.php:345
266
+ msgid " Calendar"
267
+ msgstr "Kalender"
268
+
269
+ #@ editorial-calendar
270
+ #: edcal.php:354
271
+ msgid "Jump back"
272
+ msgstr "Zurück"
273
+
274
+ #@ editorial-calendar
275
+ #: edcal.php:356
276
+ msgid "Skip ahead"
277
+ msgstr "Vor"
278
+
279
+ #@ editorial-calendar
280
+ #: edcal.php:361
281
+ msgid "Scroll the calendar and make the today visible"
282
+ msgstr "Zum heutigen Tag springen"
283
+
284
+ #@ editorial-calendar
285
+ #: edcal.php:361
286
+ msgid "Show Today"
287
+ msgstr "Heute"
288
+
289
+ #@ editorial-calendar
290
+ #: edcal.php:387
291
+ msgid "Edit Post"
292
+ msgstr "Edit Post"
293
+
294
+ #@ editorial-calendar
295
+ #: edcal.php:407
296
+ msgid "Time"
297
+ msgstr "Zeit"
298
+
299
+ #@ editorial-calendar
300
+ #: edcal.php:415
301
+ msgid "Draft"
302
+ msgstr "Entwurf"
303
+
304
+ #@ editorial-calendar
305
+ #: edcal.php:416
306
+ msgid "Pending Review"
307
+ msgstr "fertig"
308
+
309
+ #@ default
310
+ #: edcal.php:735
311
+ #: edcal.php:738
312
+ msgid "Error in deleting..."
313
+ msgstr "Fehler beim Löschen ..."
314
+
lib/edcallib.min.js CHANGED
@@ -4,55 +4,55 @@ jQuery("#humanMsgClose").show()}else{humanMsg.setLogHeight();jQuery(this).siblin
4
  200,function(){k&&humanMsg.log(b)});humanMsg.t1&&clearTimeout(humanMsg.t1);humanMsg.t2&&clearTimeout(humanMsg.t2);humanMsg.t1=setTimeout(function(){humanMsg.bindEvents()},3000);humanMsg.t2=setTimeout(function(){humanMsg.removeMsg()},5000)}},log:function(b){jQuery("#"+humanMsg.logID).show().children("ul").prepend("<li>"+b+"</li>").children("li:first").slideDown(200);jQuery("#"+humanMsg.logID+" ul").css("display")=="none"?jQuery("#"+humanMsg.logID+" p").animate({bottom:40},200,"linear",function(){jQuery(this).animate({bottom:0},
5
  300,"swing",function(){jQuery(this).css({bottom:0})})}):humanMsg.setLogHeight();jQuery("#humanMsgClose").show();jQuery("#"+humanMsg.logID+" p").removeClass("minimized")},activateLog:function(){jQuery("#"+humanMsg.logID+" p").removeClass("faded");clearTimeout(humanMsg.t3);humanMsg.t3=setTimeout(humanMsg.fadeLog,15000)},setLogHeight:function(){if(navigator.appName==="Microsoft Internet Explorer"){var b=Math.min(jQuery("#"+humanMsg.logID+" ul").children("li").length*48,112);jQuery("#"+humanMsg.logID+
6
  " ul").css("height",b+10+"px");jQuery("#"+humanMsg.logID).css("top","-"+(b+56+humanMsg.logTop)+"px")}else{b=Math.min(jQuery("#"+humanMsg.logID+" ul").children("li").length*14,56);jQuery("#"+humanMsg.logID+" ul").css("height",b+10+"px");jQuery("#"+humanMsg.logID).css("top","-"+(b+112+humanMsg.logTop)+"px")}},bindEvents:function(){jQuery(window).mousemove(humanMsg.removeMsg).click(humanMsg.removeMsg).keypress(humanMsg.removeMsg)},removeMsg:function(){jQuery(window).unbind("mousemove",humanMsg.removeMsg).unbind("click",
7
- humanMsg.removeMsg).unbind("keypress",humanMsg.removeMsg);jQuery("#"+humanMsg.msgID).fadeOut()},fadeLog:function(){jQuery("#"+humanMsg.logID+" ul").css("display")==="none"&&jQuery("#"+humanMsg.logID+" p").addClass("faded")}};jQuery(document).ready(function(){humanMsg.setup()});var sprintf=function(){function b(h){return Object.prototype.toString.call(h).slice(8,-1).toLowerCase()}function k(h,a){for(var c=[];a>0;c[--a]=h);return c.join("")}function j(){j.cache.hasOwnProperty(arguments[0])||(j.cache[arguments[0]]=j.parse(arguments[0]));return j.format.call(null,j.cache[arguments[0]],arguments)}j.format=function(h,a){var c=1,n=h.length,g="",f=[],i,m,l,s;for(i=0;i<n;i++){g=b(h[i]);if(g==="string")f.push(h[i]);else if(g==="array"){l=h[i];if(l[2]){g=a[c];for(m=0;m<l[2].length;m++){if(!g.hasOwnProperty(l[2][m]))throw sprintf('[sprintf] property "%s" does not exist',
8
  l[2][m]);g=g[l[2][m]]}}else g=l[1]?a[l[1]]:a[c++];if(/[^s]/.test(l[8])&&b(g)!="number")throw sprintf("[sprintf] expecting number but found %s",b(g));switch(l[8]){case "b":g=g.toString(2);break;case "c":g=String.fromCharCode(g);break;case "d":g=parseInt(g,10);break;case "e":g=l[7]?g.toExponential(l[7]):g.toExponential();break;case "f":g=l[7]?parseFloat(g).toFixed(l[7]):parseFloat(g);break;case "o":g=g.toString(8);break;case "s":g=(g=String(g))&&l[7]?g.substring(0,l[7]):g;break;case "u":g=Math.abs(g);
9
- break;case "x":g=g.toString(16);break;case "X":g=g.toString(16).toUpperCase();break}g=/[def]/.test(l[8])&&l[3]&&g>=0?"+"+g:g;m=l[4]?l[4]=="0"?"0":l[4].charAt(1):" ";s=l[6]-String(g).length;m=l[6]?k(m,s):"";f.push(l[5]?g+m:m+g)}}return f.join("")};j.cache={};j.parse=function(h){var a=h;h=[];for(var c=[],n=0;a;){if((h=/^[^\x25]+/.exec(a))!==null)c.push(h[0]);else if((h=/^\x25{2}/.exec(a))!==null)c.push("%");else if((h=/^\x25(?:([1-9]\d*)\$|\(([^\)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-fosuxX])/.exec(a))!==
10
- null){if(h[2]){n|=1;var g=[],f=h[2],i=[];if((i=/^([a-z_][a-z_\d]*)/i.exec(f))!==null)for(g.push(i[1]);(f=f.substring(i[0].length))!=="";)if((i=/^\.([a-z_][a-z_\d]*)/i.exec(f))!==null)g.push(i[1]);else if((i=/^\[(\d+)\]/.exec(f))!==null)g.push(i[1]);else throw"[sprintf] huh?";else throw"[sprintf] huh?";h[2]=g}else n|=2;if(n===3)throw"[sprintf] mixing positional and named placeholders is not (yet) supported";c.push(h)}else throw"[sprintf] huh?";a=a.substring(h[0].length)}return c};return j}();
11
- function vsprintf(b,k){k.unshift(b);return sprintf.apply(null,k)};jQuery.cookie=function(b,k,j){if(typeof k!="undefined"){j=j||{};if(k===null){k="";j.expires=-1}var h="";if(j.expires&&(typeof j.expires=="number"||j.expires.toUTCString)){if(typeof j.expires=="number"){h=new Date;h.setTime(h.getTime()+j.expires*24*60*60*1000)}else h=j.expires;h="; expires="+h.toUTCString()}var a=j.path?"; path="+j.path:"",c=j.domain?"; domain="+j.domain:"";j=j.secure?"; secure":"";document.cookie=[b,"=",encodeURIComponent(k),h,a,c,j].join("")}else{k=null;if(document.cookie&&document.cookie!=
12
- ""){j=document.cookie.split(";");for(h=0;h<j.length;h++){a=jQuery.trim(j[h]);if(a.substring(0,b.length+1)==b+"="){k=decodeURIComponent(a.substring(b.length+1));break}}}return k}};(function(b){b.fn.bgIframe=b.fn.bgiframe=function(k){if(b.browser.msie&&parseInt(b.browser.version)<=6){k=b.extend({top:"auto",left:"auto",width:"auto",height:"auto",opacity:true,src:"javascript:false;"},k||{});var j=function(a){return a&&a.constructor==Number?a+"px":a},h='<iframe class="bgiframe"frameborder="0"tabindex="-1"src="'+k.src+'"style="display:block;position:absolute;z-index:-1;'+(k.opacity!==false?"filter:Alpha(Opacity='0');":"")+"top:"+(k.top=="auto"?"expression(((parseInt(this.parentNode.currentStyle.borderTopWidth)||0)*-1)+'px')":
13
- j(k.top))+";left:"+(k.left=="auto"?"expression(((parseInt(this.parentNode.currentStyle.borderLeftWidth)||0)*-1)+'px')":j(k.left))+";width:"+(k.width=="auto"?"expression(this.parentNode.offsetWidth+'px')":j(k.width))+";height:"+(k.height=="auto"?"expression(this.parentNode.offsetHeight+'px')":j(k.height))+';"/>';return this.each(function(){b("> iframe.bgiframe",this).length==0&&this.insertBefore(document.createElement(h),this.firstChild)})}return this};if(!b.browser.version)b.browser.version=navigator.userAgent.toLowerCase().match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)[1]})(jQuery);(function(b){b.each({focus:"focusin",blur:"focusout"},function(k,j){b.event.special[j]={setup:function(){if(b.browser.msie)return false;this.addEventListener(k,b.event.special[j].handler,true)},teardown:function(){if(b.browser.msie)return false;this.removeEventListener(k,b.event.special[j].handler,true)},handler:function(h){arguments[0]=b.event.fix(h);arguments[0].type=j;return b.event.handle.apply(this,arguments)}}});b.extend(b.fn,{delegate:function(k,j,h){return this.bind(k,function(a){var c=b(a.target);
14
- if(c.is(j))return h.apply(c,arguments)})},triggerEvent:function(k,j){return this.triggerHandler(k,[b.event.fix({type:k,target:j})])}})})(jQuery);(function(b){b.tools=b.tools||{};b.tools.scrollable={version:"1.1.2",conf:{size:5,vertical:false,speed:400,keyboard:true,keyboardSteps:null,disabledClass:"disabled",hoverClass:null,clickable:true,activeClass:"active",easing:"swing",loop:false,items:".items",item:null,prev:".prev",next:".next",prevPage:".prevPage",nextPage:".nextPage",api:false}};var k;function j(h,a){var c=this,n=b(this),g=!a.vertical,f=h.children(),i=0,m;k||(k=c);b.each(a,function(d,e){b.isFunction(e)&&n.bind(d,e)});if(f.length>
15
- 1)f=b(a.items,h);function l(d){var e=b(d);return a.globalNav?e:h.parent().find(d)}h.data("finder",l);var s=l(a.prev),u=l(a.next),q=l(a.prevPage),p=l(a.nextPage);b.extend(c,{getIndex:function(){return i},getClickIndex:function(){var d=c.getItems();return d.index(d.filter("."+a.activeClass))},getConf:function(){return a},getSize:function(){return c.getItems().size()},getPageAmount:function(){return Math.ceil(this.getSize()/a.size)},getPageIndex:function(){return Math.ceil(i/a.size)},getNaviButtons:function(){return s.add(u).add(q).add(p)},
16
- getRoot:function(){return h},getItemWrap:function(){return f},getItems:function(){return f.children(a.item)},getVisibleItems:function(){return c.getItems().slice(i,i+a.size)},seekTo:function(d,e,o){if(d<0)d=0;if(i===d)return c;if(b.isFunction(e))o=e;if(d>c.getSize()-a.size)return a.loop?c.begin():this.end();var t=c.getItems().eq(d);if(!t.length)return c;var v=b.Event("onBeforeSeek");n.trigger(v,[d]);if(v.isDefaultPrevented())return c;if(e===undefined||b.isFunction(e))e=a.speed;function x(){o&&o.call(c,
17
- d);n.trigger("onSeek",[d])}g?f.animate({left:-t.position().left},e,a.easing,x):f.animate({top:-t.position().top},e,a.easing,x);k=c;i=d;v=b.Event("onStart");n.trigger(v,[d]);if(v.isDefaultPrevented())return c;s.add(q).toggleClass(a.disabledClass,d===0);u.add(p).toggleClass(a.disabledClass,d>=c.getSize()-a.size);return c},move:function(d,e,o){m=d>0;return this.seekTo(i+d,e,o)},next:function(d,e){return this.move(1,d,e)},prev:function(d,e){return this.move(-1,d,e)},movePage:function(d,e,o){m=d>0;var t=
18
- a.size*d,v=i%a.size;if(v>0)t+=d>0?-v:a.size-v;return this.move(t,e,o)},prevPage:function(d,e){return this.movePage(-1,d,e)},nextPage:function(d,e){return this.movePage(1,d,e)},setPage:function(d,e,o){return this.seekTo(d*a.size,e,o)},begin:function(d,e){m=false;return this.seekTo(0,d,e)},end:function(d,e){m=true;var o=this.getSize()-a.size;return o>0?this.seekTo(o,d,e):c},reload:function(){n.trigger("onReload");return c},focus:function(){return k=c},click:function(d){var e=c.getItems().eq(d),o=a.activeClass,
19
- t=a.size;if(d<0||d>=c.getSize())return c;if(t==1){if(a.loop)return c.next();if(d===0||d==c.getSize()-1)m=m===undefined?true:!m;return m===false?c.prev():c.next()}if(t==2){d==i&&d--;c.getItems().removeClass(o);e.addClass(o);return c.seekTo(d,time,fn)}if(!e.hasClass(o)){c.getItems().removeClass(o);e.addClass(o);e=Math.floor(t/2);e=d-e;if(e>c.getSize()-t)e=c.getSize()-t;if(e!==d)return c.seekTo(e)}return c},bind:function(d,e){n.bind(d,e);return c},unbind:function(d){n.unbind(d);return c}});b.each("onBeforeSeek,onStart,onSeek,onReload".split(","),
20
- function(d,e){c[e]=function(o){return c.bind(e,o)}});s.addClass(a.disabledClass).click(function(){c.prev()});u.click(function(){c.next()});p.click(function(){c.nextPage()});c.getSize()<a.size&&u.add(p).addClass(a.disabledClass);q.addClass(a.disabledClass).click(function(){c.prevPage()});var r=a.hoverClass,w="keydown."+Math.random().toString().substring(10);c.onReload(function(){r&&c.getItems().hover(function(){b(this).addClass(r)},function(){b(this).removeClass(r)});a.clickable&&c.getItems().each(function(d){b(this).unbind("click.scrollable").bind("click.scrollable",
21
- function(e){if(!b(e.target).is("a"))return c.click(d)})});a.keyboard?b(document).unbind(w).bind(w,function(d){if(!(d.altKey||d.ctrlKey))if(!(a.keyboard!="static"&&k!=c)){var e=a.keyboardSteps;if(g&&(d.keyCode==37||d.keyCode==39)){c.move(d.keyCode==37?-e:e);return d.preventDefault()}if(!g&&(d.keyCode==38||d.keyCode==40)){c.move(d.keyCode==38?-e:e);return d.preventDefault()}return true}}):b(document).unbind(w)});c.reload()}b.fn.scrollable=function(h){var a=this.eq(typeof h=="number"?h:0).data("scrollable");
22
- if(a)return a;var c=b.extend({},b.tools.scrollable.conf);h=b.extend(c,h);h.keyboardSteps=h.keyboardSteps||h.size;this.each(function(){a=new j(b(this),h);b(this).data("scrollable",a)});return h.api?a:this}})(jQuery);
23
- (function(b){var k=b.tools.scrollable;k.plugins=k.plugins||{};k.plugins.autoscroll={version:"1.0.1",conf:{autoplay:true,interval:3000,autopause:true,steps:1,api:false}};b.fn.autoscroll=function(j){if(typeof j=="number")j={interval:j};var h=b.extend({},k.plugins.autoscroll.conf),a;b.extend(h,j);this.each(function(){var c=b(this).scrollable();if(c)a=c;var n,g,f=true;c.play=function(){if(!n){f=false;n=setInterval(function(){c.move(h.steps)},h.interval);c.move(h.steps)}};c.pause=function(){n=clearInterval(n)};
24
- c.stop=function(){c.pause();f=true};h.autopause&&c.getRoot().add(c.getNaviButtons()).hover(function(){c.pause();clearInterval(g)},function(){f||(g=setTimeout(c.play,h.interval))});h.autoplay&&setTimeout(c.play,h.interval)});return h.api?a:this}})(jQuery);
25
- (function(b){var k=b.tools.scrollable;k.plugins=k.plugins||{};k.plugins.navigator={version:"1.0.2",conf:{navi:".navi",naviItem:null,activeClass:"active",indexed:false,api:false,idPrefix:null}};b.fn.navigator=function(j){var h=b.extend({},k.plugins.navigator.conf),a;if(typeof j=="string")j={navi:j};j=b.extend(h,j);this.each(function(){var c=b(this).scrollable(),n=c.getRoot(),g=n.data("finder").call(null,j.navi),f=null,i=c.getNaviButtons();if(c)a=c;c.getNaviButtons=function(){return i.add(g)};function m(){if(!g.children().length||
26
- g.data("navi")==c){g.empty();g.data("navi",c);for(var l=0;l<c.getPageAmount();l++)g.append(b("<"+(j.naviItem||"a")+"/>"));f=g.children().each(function(s){var u=b(this);u.click(function(q){c.setPage(s);return q.preventDefault()});j.indexed&&u.text(s);j.idPrefix&&u.attr("id",j.idPrefix+s)})}else{f=j.naviItem?g.find(j.naviItem):g.children();f.each(function(s){var u=b(this);u.click(function(q){c.setPage(s);return q.preventDefault()})})}f.eq(0).addClass(j.activeClass)}c.onStart(function(){var l=j.activeClass;
27
  f.removeClass(l).eq(c.getPageIndex()).addClass(l)});c.onReload(function(){m()});m();n=f.filter("[href="+location.hash+"]");n.length&&c.move(f.index(n))});return j.api?a:this}})(jQuery);
28
  (function(b){b.fn.wheel=function(a){return this[a?"bind":"trigger"]("wheel",a)};b.event.special.wheel={setup:function(){b.event.add(this,k,j,{})},teardown:function(){b.event.remove(this,k,j)}};var k=!b.browser.mozilla?"mousewheel":"DOMMouseScroll"+(b.browser.version<"1.9"?" mousemove":"");function j(a){switch(a.type){case "mousemove":return b.extend(a.data,{clientX:a.clientX,clientY:a.clientY,pageX:a.pageX,pageY:a.pageY});case "DOMMouseScroll":b.extend(a,a.data);a.delta=-a.detail/3;break;case "mousewheel":a.delta=
29
- a.wheelDelta/120;break}a.type="wheel";return b.event.handle.call(this,a,a.delta)}var h=b.tools.scrollable;h.plugins=h.plugins||{};h.plugins.mousewheel={version:"1.0.1",conf:{api:false,speed:50}};b.fn.mousewheel=function(a){var c=b.extend({},h.plugins.mousewheel.conf),n;if(typeof a=="number")a={speed:a};a=b.extend(c,a);this.each(function(){var g=b(this).scrollable();if(g)n=g;g.getRoot().wheel(function(f,i){g.move(i<0?1:-1,a.speed||50);return false})});return a.api?n:this}})(jQuery);(function(b){b.fn.timePicker=function(f){var i=b.extend({},b.fn.timePicker.defaults,f);return this.each(function(){b.timePicker(this,i)})};b.timePicker=function(f,i){f=b(f)[0];return f.timePicker||(f.timePicker=new jQuery._timePicker(f,i))};b._timePicker=function(f,i){var m=false,l=false,s=c(i.startTime,i),u=c(i.endTime,i);b(f).attr("autocomplete","OFF");for(var q=[],p=new Date(s);p<=u;){q[q.length]=j(p,i);p=new Date(p.setMinutes(p.getMinutes()+i.step))}var r=b("<div "+(i.tpDivId?'id="'+i.tpDivId+
30
- '" ':"")+'class="time-picker'+(i.show24Hours?"":" time-picker-12hours")+'"></div>'),w=b("<ul></ul>");for(p=0;p<q.length;p++)w.append("<li>"+q[p]+"</li>");r.append(w);q=b(f).offset();r.appendTo("body").css({top:q.top-48+"px",left:q.left,width:b(f).width()+5+"px"}).hide();r.mouseover(function(){m=true}).mouseout(function(){m=false});b("li",w).mouseover(function(){if(!l){b("li.selected",r).removeClass("selected");b(this).addClass("selected")}}).mousedown(function(){m=true}).click(function(){k(f,this,
31
- r,i);m=false});function d(){if(r.is(":visible"))return false;b("li",r).removeClass("selected");var e=b(f).offset();r.css({top:e.top-48+"px",left:e.left,width:b(f).width()+5+"px"});r.show();var o=f.value?n(f.value,i):s;e=s.getHours()*60+s.getMinutes();o=o.getHours()*60+o.getMinutes()-e;o=Math.round(o/i.step);e=g(new Date(0,0,0,0,o*i.step+e,0));e=s<e&&e<=u?e:s;e=b("li:contains("+j(e,i)+")",r);if(e.length){e.addClass("selected");r[0].scrollTop=e[0].offsetTop}return true}b(f).focus(d).click(d);b(f).blur(function(){m||
32
- r.hide()});q=b.browser.opera||b.browser.mozilla?"keypress":"keydown";b(f)[q](function(e){l=true;var o=r[0].scrollTop;switch(e.keyCode){case 38:if(d())return false;e=b("li.selected",w);var t=e.prev().addClass("selected")[0];if(t){e.removeClass("selected");if(t.offsetTop<o)r[0].scrollTop=o-t.offsetHeight}else{e.removeClass("selected");t=b("li:last",w).addClass("selected")[0];r[0].scrollTop=t.offsetTop-t.offsetHeight}return false;case 40:if(d())return false;e=b("li.selected",w);if(t=e.next().addClass("selected")[0]){e.removeClass("selected");
33
- if(t.offsetTop+t.offsetHeight>o+r[0].offsetHeight)r[0].scrollTop=o+t.offsetHeight}else{e.removeClass("selected");b("li:first",w).addClass("selected");r[0].scrollTop=0}return false;case 13:if(r.is(":visible")){o=b("li.selected",w)[0];k(f,o,r,i)}return false;case 27:r.hide();return false}return true});b(f).keyup(function(){l=false});this.getTime=function(){return n(f.value,i)};this.setTime=function(e){f.value=j(g(e),i);b(f).change()}};b.fn.timePicker.defaults={step:30,startTime:new Date(0,0,0,0,0,0),
34
- endTime:new Date(0,0,0,23,30,0),separator:":",show24Hours:true};function k(f,i,m){f.value=b(i).text();b(f).change();b.browser.msie||f.focus();m.hide()}function j(f,i){var m=f.getHours(),l=i.show24Hours?m:(m+11)%12+1;l=a(l,i);f=f.getMinutes();return l+i.separator+h(f)+(i.show24Hours?"":m<12?" AM":" PM")}function h(f){return(f<10?"0":"")+f}function a(f,i){return i.show24Hours?(f<10?"0":"")+f:f}function c(f,i){return typeof f=="object"?g(f):n(f,i)}function n(f,i){if(f){var m=f.split(i.separator),l=parseFloat(m[0]);
35
- m=parseFloat(m[1]);if(!i.show24Hours)if(l===12&&f.substr("AM")!==-1)l=0;else if(l!==12&&f.indexOf("PM")!==-1)l+=12;f=new Date(0,0,0,l,m,0);return g(f)}return null}function g(f){f.setFullYear(2001);f.setMonth(0);f.setDate(0);return f}})(jQuery);if(!this.JSON)this.JSON={};
36
- (function(){function b(i){return i<10?"0"+i:i}if(typeof Date.prototype.toJSON!=="function"){Date.prototype.toJSON=function(){return isFinite(this.valueOf())?this.getUTCFullYear()+"-"+b(this.getUTCMonth()+1)+"-"+b(this.getUTCDate())+"T"+b(this.getUTCHours())+":"+b(this.getUTCMinutes())+":"+b(this.getUTCSeconds())+"Z":null};String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(){return this.valueOf()}}var k=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,j=
37
- /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,h,a,c={"\u0008":"\\b","\t":"\\t","\n":"\\n","\u000c":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},n;function g(i){j.lastIndex=0;return j.test(i)?'"'+i.replace(j,function(m){var l=c[m];return typeof l==="string"?l:"\\u"+("0000"+m.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+i+'"'}function f(i,m){var l,s,u=h,q,p=m[i];if(p&&typeof p==="object"&&typeof p.toJSON==="function")p=p.toJSON(i);
38
- if(typeof n==="function")p=n.call(m,i,p);switch(typeof p){case "string":return g(p);case "number":return isFinite(p)?String(p):"null";case "boolean":case "null":return String(p);case "object":if(!p)return"null";h+=a;q=[];if(Object.prototype.toString.apply(p)==="[object Array]"){s=p.length;for(i=0;i<s;i+=1)q[i]=f(i,p)||"null";m=q.length===0?"[]":h?"[\n"+h+q.join(",\n"+h)+"\n"+u+"]":"["+q.join(",")+"]";h=u;return m}if(n&&typeof n==="object"){s=n.length;for(i=0;i<s;i+=1){l=n[i];if(typeof l==="string")if(m=
39
- f(l,p))q.push(g(l)+(h?": ":":")+m)}}else for(l in p)if(Object.hasOwnProperty.call(p,l))if(m=f(l,p))q.push(g(l)+(h?": ":":")+m);m=q.length===0?"{}":h?"{\n"+h+q.join(",\n"+h)+"\n"+u+"}":"{"+q.join(",")+"}";h=u;return m}}if(typeof JSON.stringify!=="function")JSON.stringify=function(i,m,l){var s;a=h="";if(typeof l==="number")for(s=0;s<l;s+=1)a+=" ";else if(typeof l==="string")a=l;if((n=m)&&typeof m!=="function"&&(typeof m!=="object"||typeof m.length!=="number"))throw new Error("JSON.stringify");return f("",
40
- {"":i})};if(typeof JSON.parseIt!=="function")JSON.parseIt=function(i,m){function l(s,u){var q,p,r=s[u];if(r&&typeof r==="object")for(q in r)if(Object.hasOwnProperty.call(r,q)){p=l(r,q);if(p!==undefined)r[q]=p;else delete r[q]}return m.call(s,u,r)}k.lastIndex=0;if(k.test(i))i=i.replace(k,function(s){return"\\u"+("0000"+s.charCodeAt(0).toString(16)).slice(-4)});if(/^[\],:{}\s]*$/.test(i.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,
41
- "]").replace(/(?:^|:|,)(?:\s*\[)+/g,""))){i=eval("("+i+")");return typeof m==="function"?l({"":i},""):i}throw new SyntaxError("JSON.parseIt");}})();(function(b){b.tools=b.tools||{};b.tools.scrollable={version:"1.1.2",conf:{size:5,vertical:false,speed:400,keyboard:true,keyboardSteps:null,disabledClass:"disabled",hoverClass:null,clickable:true,activeClass:"active",easing:"swing",loop:false,items:".items",item:null,prev:".prev",next:".next",prevPage:".prevPage",nextPage:".nextPage",api:false}};var k;function j(h,a){var c=this,n=b(this),g=!a.vertical,f=h.children(),i=0,m;k||(k=c);b.each(a,function(d,e){b.isFunction(e)&&n.bind(d,e)});if(f.length>
42
- 1)f=b(a.items,h);function l(d){var e=b(d);return a.globalNav?e:h.parent().find(d)}h.data("finder",l);var s=l(a.prev),u=l(a.next),q=l(a.prevPage),p=l(a.nextPage);b.extend(c,{getIndex:function(){return i},getClickIndex:function(){var d=c.getItems();return d.index(d.filter("."+a.activeClass))},getConf:function(){return a},getSize:function(){return c.getItems().size()},getPageAmount:function(){return Math.ceil(this.getSize()/a.size)},getPageIndex:function(){return Math.ceil(i/a.size)},getNaviButtons:function(){return s.add(u).add(q).add(p)},
43
- getRoot:function(){return h},getItemWrap:function(){return f},getItems:function(){return f.children(a.item)},getVisibleItems:function(){return c.getItems().slice(i,i+a.size)},seekTo:function(d,e,o){if(d<0)d=0;if(i===d)return c;if(b.isFunction(e))o=e;if(d>c.getSize()-a.size)return a.loop?c.begin():this.end();var t=c.getItems().eq(d);if(!t.length)return c;var v=b.Event("onBeforeSeek");n.trigger(v,d>i);if(v.isDefaultPrevented())return c;if(e===undefined||b.isFunction(e))e=a.speed;function x(){o&&o.call(c,
44
- d);n.trigger("onSeek",[d])}g?f.animate({left:-t.position().left},e,a.easing,x):f.animate({top:-t.position().top},e,a.easing,x);k=c;i=d;v=b.Event("onStart");n.trigger(v,[d]);if(v.isDefaultPrevented())return c;s.add(q).toggleClass(a.disabledClass,d===0);u.add(p).toggleClass(a.disabledClass,d>=c.getSize()-a.size);return c},move:function(d,e,o){m=d>0;return this.seekTo(i+d,e,o)},next:function(d,e){return this.move(1,d,e)},prev:function(d,e){return this.move(-1,d,e)},movePage:function(d,e,o){m=d>0;var t=
45
- a.size*d,v=i%a.size;if(v>0)t+=d>0?-v:a.size-v;return this.move(t,e,o)},prevPage:function(d,e){return this.movePage(-1,d,e)},nextPage:function(d,e){return this.movePage(1,d,e)},setPage:function(d,e,o){return this.seekTo(d*a.size,e,o)},begin:function(d,e){m=false;return this.seekTo(0,d,e)},end:function(d,e){m=true;var o=this.getSize()-a.size;return o>0?this.seekTo(o,d,e):c},reload:function(){n.trigger("onReload");return c},focus:function(){return k=c},click:function(d){var e=c.getItems().eq(d),o=a.activeClass,
46
- t=a.size;if(d<0||d>=c.getSize())return c;if(t==1){if(a.loop)return c.next();if(d===0||d==c.getSize()-1)m=m===undefined?true:!m;return m===false?c.prev():c.next()}if(t==2){d==i&&d--;c.getItems().removeClass(o);e.addClass(o);return c.seekTo(d,time,fn)}if(!e.hasClass(o)){c.getItems().removeClass(o);e.addClass(o);e=Math.floor(t/2);e=d-e;if(e>c.getSize()-t)e=c.getSize()-t;if(e!==d)return c.seekTo(e)}return c},bind:function(d,e){n.bind(d,e);return c},unbind:function(d){n.unbind(d);return c}});b.each("onBeforeSeek,onStart,onSeek,onReload".split(","),
47
- function(d,e){c[e]=function(o){return c.bind(e,o)}});s.addClass(a.disabledClass).click(function(){c.prev()});u.click(function(){c.next()});p.click(function(){c.nextPage()});c.getSize()<a.size&&u.add(p).addClass(a.disabledClass);q.addClass(a.disabledClass).click(function(){c.prevPage()});var r=a.hoverClass,w="keydown."+Math.random().toString().substring(10);c.onReload(function(){r&&c.getItems().hover(function(){b(this).addClass(r)},function(){b(this).removeClass(r)});a.clickable&&c.getItems().each(function(d){b(this).unbind("click.scrollable").bind("click.scrollable",
48
- function(e){if(!b(e.target).is("a"))return c.click(d)})});a.keyboard?b(document).unbind(w).bind(w,function(d){if(!(d.altKey||d.ctrlKey))if(!(a.keyboard!="static"&&k!=c)){var e=a.keyboardSteps;if(g&&(d.keyCode==37||d.keyCode==39)){c.move(d.keyCode==37?-e:e);return d.preventDefault()}if(!g&&(d.keyCode==38||d.keyCode==40)){c.move(d.keyCode==38?-e:e);return d.preventDefault()}return true}}):b(document).unbind(w)});c.reload()}b.fn.scrollable=function(h){var a=this.eq(typeof h=="number"?h:0).data("scrollable");
49
- if(a)return a;var c=b.extend({},b.tools.scrollable.conf);h=b.extend(c,h);h.keyboardSteps=h.keyboardSteps||h.size;this.each(function(){a=new j(b(this),h);b(this).data("scrollable",a)});return h.api?a:this}})(jQuery);(function(b){b.fn.wheel=function(a){return this[a?"bind":"trigger"]("wheel",a)};b.event.special.wheel={setup:function(){b.event.add(this,k,j,{})},teardown:function(){b.event.remove(this,k,j)}};var k=!b.browser.mozilla?"mousewheel":"DOMMouseScroll"+(b.browser.version<"1.9"?" mousemove":"");function j(a){switch(a.type){case "mousemove":return b.extend(a.data,{clientX:a.clientX,clientY:a.clientY,pageX:a.pageX,pageY:a.pageY});case "DOMMouseScroll":b.extend(a,a.data);a.delta=-a.detail/3;break;case "mousewheel":a.delta=
50
- a.wheelDelta/120;break}a.type="wheel";return b.event.handle.call(this,a,a.delta)}var h=b.tools.scrollable;h.plugins=h.plugins||{};h.plugins.mousewheel={version:"1.0.1",conf:{api:false,speed:50}};b.fn.mousewheel=function(a){var c=b.extend({},h.plugins.mousewheel.conf),n;if(typeof a=="number")a={speed:a};a=b.extend(c,a);this.each(function(){var g=b(this).scrollable();if(g)n=g;g.getRoot().wheel(function(f,i){g.move(i<0?1:-1,a.speed||50);return false})});return a.api?n:this}})(jQuery);/*
51
  : Licensed under The MIT License. See license.txt and http://www.datejs.com/license/.
52
  */
53
- (function(){var b=Date,k=b.prototype,j=[];function h(a,c){c||(c=2);return("000"+a).slice(c*-1)}b.normalizeFormat=function(a){j=[];(new Date).$format(a);return j.join("")};b.strftime=function(a,c){return(new Date(c*1000)).$format(a)};b.strtotime=function(a){a=b.parse(a);a.addMinutes(a.getTimezoneOffset()*-1);return Math.round(b.UTC(a.getUTCFullYear(),a.getUTCMonth(),a.getUTCDate(),a.getUTCHours(),a.getUTCMinutes(),a.getUTCSeconds(),a.getUTCMilliseconds())/1000)};k.$format=function(a){var c=this,n;
54
- function g(f){j.push(f);return c.toString(f)}return a?a.replace(/(%|\\)?.|%%/g,function(f){if(f.charAt(0)==="\\"||f.substring(0,2)==="%%")return f.replace("\\","").replace("%%","%");switch(f){case "d":case "%d":return g("dd");case "D":case "%a":return g("ddd");case "j":case "%e":return g("d");case "l":case "%A":return g("dddd");case "N":case "%u":return c.getDay()+1;case "S":return g("S");case "w":case "%w":return c.getDay();case "z":return c.getOrdinalNumber();case "%j":return h(c.getOrdinalNumber(),
55
- 3);case "%U":f=c.clone().set({month:0,day:1}).addDays(-1).moveToDayOfWeek(0);var i=c.clone().addDays(1).moveToDayOfWeek(0,-1);return i<f?"00":h((i.getOrdinalNumber()-f.getOrdinalNumber())/7+1);case "W":case "%V":return c.getISOWeek();case "%W":return h(c.getWeek());case "F":case "%B":return g("MMMM");case "m":case "%m":return g("MM");case "M":case "%b":case "%h":return g("MMM");case "n":return g("M");case "t":return b.getDaysInMonth(c.getFullYear(),c.getMonth());case "L":return b.isLeapYear(c.getFullYear())?
56
- 1:0;case "o":case "%G":return c.setWeek(c.getISOWeek()).toString("yyyy");case "%g":return c.$format("%G").slice(-2);case "Y":case "%Y":return g("yyyy");case "y":case "%y":return g("yy");case "a":case "%p":return g("tt").toLowerCase();case "A":return g("tt").toUpperCase();case "g":case "%I":return g("h");case "G":return g("H");case "h":return g("hh");case "H":case "%H":return g("HH");case "i":case "%M":return g("mm");case "s":case "%S":return g("ss");case "u":return h(c.getMilliseconds(),3);case "I":return c.isDaylightSavingTime()?
57
  1:0;case "O":return c.getUTCOffset();case "P":n=c.getUTCOffset();return n.substring(0,n.length-2)+":"+n.substring(n.length-2);case "e":case "T":case "%z":case "%Z":return c.getTimezone();case "Z":return c.getTimezoneOffset()*-60;case "B":f=new Date;return Math.floor((f.getHours()*3600+f.getMinutes()*60+f.getSeconds()+(f.getTimezoneOffset()+60)*60)/86.4);case "c":return c.toISOString().replace(/\"/g,"");case "U":return b.strtotime("now");case "%c":return g("d")+" "+g("t");case "%C":return Math.floor(c.getFullYear()/
58
  100+1);case "%D":return g("MM/dd/yy");case "%n":return"\\n";case "%t":return"\\t";case "%r":return g("hh:mm tt");case "%R":return g("H:mm");case "%T":return g("H:mm:ss");case "%x":return g("d");case "%X":return g("t");default:j.push(f);return f}}):this._toString()};if(!k.format)k.format=k.$format})();
4
  200,function(){k&&humanMsg.log(b)});humanMsg.t1&&clearTimeout(humanMsg.t1);humanMsg.t2&&clearTimeout(humanMsg.t2);humanMsg.t1=setTimeout(function(){humanMsg.bindEvents()},3000);humanMsg.t2=setTimeout(function(){humanMsg.removeMsg()},5000)}},log:function(b){jQuery("#"+humanMsg.logID).show().children("ul").prepend("<li>"+b+"</li>").children("li:first").slideDown(200);jQuery("#"+humanMsg.logID+" ul").css("display")=="none"?jQuery("#"+humanMsg.logID+" p").animate({bottom:40},200,"linear",function(){jQuery(this).animate({bottom:0},
5
  300,"swing",function(){jQuery(this).css({bottom:0})})}):humanMsg.setLogHeight();jQuery("#humanMsgClose").show();jQuery("#"+humanMsg.logID+" p").removeClass("minimized")},activateLog:function(){jQuery("#"+humanMsg.logID+" p").removeClass("faded");clearTimeout(humanMsg.t3);humanMsg.t3=setTimeout(humanMsg.fadeLog,15000)},setLogHeight:function(){if(navigator.appName==="Microsoft Internet Explorer"){var b=Math.min(jQuery("#"+humanMsg.logID+" ul").children("li").length*48,112);jQuery("#"+humanMsg.logID+
6
  " ul").css("height",b+10+"px");jQuery("#"+humanMsg.logID).css("top","-"+(b+56+humanMsg.logTop)+"px")}else{b=Math.min(jQuery("#"+humanMsg.logID+" ul").children("li").length*14,56);jQuery("#"+humanMsg.logID+" ul").css("height",b+10+"px");jQuery("#"+humanMsg.logID).css("top","-"+(b+112+humanMsg.logTop)+"px")}},bindEvents:function(){jQuery(window).mousemove(humanMsg.removeMsg).click(humanMsg.removeMsg).keypress(humanMsg.removeMsg)},removeMsg:function(){jQuery(window).unbind("mousemove",humanMsg.removeMsg).unbind("click",
7
+ humanMsg.removeMsg).unbind("keypress",humanMsg.removeMsg);jQuery("#"+humanMsg.msgID).fadeOut()},fadeLog:function(){jQuery("#"+humanMsg.logID+" ul").css("display")==="none"&&jQuery("#"+humanMsg.logID+" p").addClass("faded")}};jQuery(document).ready(function(){humanMsg.setup()});var sprintf=function(){function b(i){return Object.prototype.toString.call(i).slice(8,-1).toLowerCase()}function k(i,a){for(var c=[];a>0;c[--a]=i);return c.join("")}function j(){j.cache.hasOwnProperty(arguments[0])||(j.cache[arguments[0]]=j.parse(arguments[0]));return j.format.call(null,j.cache[arguments[0]],arguments)}j.format=function(i,a){var c=1,n=i.length,g="",f=[],h,m,l,q;for(h=0;h<n;h++){g=b(i[h]);if(g==="string")f.push(i[h]);else if(g==="array"){l=i[h];if(l[2]){g=a[c];for(m=0;m<l[2].length;m++){if(!g.hasOwnProperty(l[2][m]))throw sprintf('[sprintf] property "%s" does not exist',
8
  l[2][m]);g=g[l[2][m]]}}else g=l[1]?a[l[1]]:a[c++];if(/[^s]/.test(l[8])&&b(g)!="number")throw sprintf("[sprintf] expecting number but found %s",b(g));switch(l[8]){case "b":g=g.toString(2);break;case "c":g=String.fromCharCode(g);break;case "d":g=parseInt(g,10);break;case "e":g=l[7]?g.toExponential(l[7]):g.toExponential();break;case "f":g=l[7]?parseFloat(g).toFixed(l[7]):parseFloat(g);break;case "o":g=g.toString(8);break;case "s":g=(g=String(g))&&l[7]?g.substring(0,l[7]):g;break;case "u":g=Math.abs(g);
9
+ break;case "x":g=g.toString(16);break;case "X":g=g.toString(16).toUpperCase();break}g=/[def]/.test(l[8])&&l[3]&&g>=0?"+"+g:g;m=l[4]?l[4]=="0"?"0":l[4].charAt(1):" ";q=l[6]-String(g).length;m=l[6]?k(m,q):"";f.push(l[5]?g+m:m+g)}}return f.join("")};j.cache={};j.parse=function(i){var a=i;i=[];for(var c=[],n=0;a;){if((i=/^[^\x25]+/.exec(a))!==null)c.push(i[0]);else if((i=/^\x25{2}/.exec(a))!==null)c.push("%");else if((i=/^\x25(?:([1-9]\d*)\$|\(([^\)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-fosuxX])/.exec(a))!==
10
+ null){if(i[2]){n|=1;var g=[],f=i[2],h=[];if((h=/^([a-z_][a-z_\d]*)/i.exec(f))!==null)for(g.push(h[1]);(f=f.substring(h[0].length))!=="";)if((h=/^\.([a-z_][a-z_\d]*)/i.exec(f))!==null)g.push(h[1]);else if((h=/^\[(\d+)\]/.exec(f))!==null)g.push(h[1]);else throw"[sprintf] huh?";else throw"[sprintf] huh?";i[2]=g}else n|=2;if(n===3)throw"[sprintf] mixing positional and named placeholders is not (yet) supported";c.push(i)}else throw"[sprintf] huh?";a=a.substring(i[0].length)}return c};return j}();
11
+ function vsprintf(b,k){k.unshift(b);return sprintf.apply(null,k)};jQuery.cookie=function(b,k,j){if(typeof k!="undefined"){j=j||{};if(k===null){k="";j.expires=-1}var i="";if(j.expires&&(typeof j.expires=="number"||j.expires.toUTCString)){if(typeof j.expires=="number"){i=new Date;i.setTime(i.getTime()+j.expires*24*60*60*1000)}else i=j.expires;i="; expires="+i.toUTCString()}var a=j.path?"; path="+j.path:"",c=j.domain?"; domain="+j.domain:"";j=j.secure?"; secure":"";document.cookie=[b,"=",encodeURIComponent(k),i,a,c,j].join("")}else{k=null;if(document.cookie&&document.cookie!=
12
+ ""){j=document.cookie.split(";");for(i=0;i<j.length;i++){a=jQuery.trim(j[i]);if(a.substring(0,b.length+1)==b+"="){k=decodeURIComponent(a.substring(b.length+1));break}}}return k}};(function(b){b.fn.bgIframe=b.fn.bgiframe=function(k){if(b.browser.msie&&parseInt(b.browser.version)<=6){k=b.extend({top:"auto",left:"auto",width:"auto",height:"auto",opacity:true,src:"javascript:false;"},k||{});var j=function(a){return a&&a.constructor==Number?a+"px":a},i='<iframe class="bgiframe"frameborder="0"tabindex="-1"src="'+k.src+'"style="display:block;position:absolute;z-index:-1;'+(k.opacity!==false?"filter:Alpha(Opacity='0');":"")+"top:"+(k.top=="auto"?"expression(((parseInt(this.parentNode.currentStyle.borderTopWidth)||0)*-1)+'px')":
13
+ j(k.top))+";left:"+(k.left=="auto"?"expression(((parseInt(this.parentNode.currentStyle.borderLeftWidth)||0)*-1)+'px')":j(k.left))+";width:"+(k.width=="auto"?"expression(this.parentNode.offsetWidth+'px')":j(k.width))+";height:"+(k.height=="auto"?"expression(this.parentNode.offsetHeight+'px')":j(k.height))+';"/>';return this.each(function(){b("> iframe.bgiframe",this).length==0&&this.insertBefore(document.createElement(i),this.firstChild)})}return this};if(!b.browser.version)b.browser.version=navigator.userAgent.toLowerCase().match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)[1]})(jQuery);(function(b){b.each({focus:"focusin",blur:"focusout"},function(k,j){b.event.special[j]={setup:function(){if(b.browser.msie)return false;this.addEventListener(k,b.event.special[j].handler,true)},teardown:function(){if(b.browser.msie)return false;this.removeEventListener(k,b.event.special[j].handler,true)},handler:function(i){arguments[0]=b.event.fix(i);arguments[0].type=j;return b.event.handle.apply(this,arguments)}}});b.extend(b.fn,{delegate:function(k,j,i){return this.bind(k,function(a){var c=b(a.target);
14
+ if(c.is(j))return i.apply(c,arguments)})},triggerEvent:function(k,j){return this.triggerHandler(k,[b.event.fix({type:k,target:j})])}})})(jQuery);(function(b){b.tools=b.tools||{};b.tools.scrollable={version:"1.1.2",conf:{size:5,vertical:false,speed:400,keyboard:true,keyboardSteps:null,disabledClass:"disabled",hoverClass:null,clickable:true,activeClass:"active",easing:"swing",loop:false,items:".items",item:null,prev:".prev",next:".next",prevPage:".prevPage",nextPage:".nextPage",api:false}};var k;function j(i,a){var c=this,n=b(this),g=!a.vertical,f=i.children(),h=0,m;k||(k=c);b.each(a,function(d,e){b.isFunction(e)&&n.bind(d,e)});if(f.length>
15
+ 1)f=b(a.items,i);function l(d){var e=b(d);return a.globalNav?e:i.parent().find(d)}i.data("finder",l);var q=l(a.prev),u=l(a.next),r=l(a.prevPage),p=l(a.nextPage);b.extend(c,{getIndex:function(){return h},getClickIndex:function(){var d=c.getItems();return d.index(d.filter("."+a.activeClass))},getConf:function(){return a},getSize:function(){return c.getItems().size()},getPageAmount:function(){return Math.ceil(this.getSize()/a.size)},getPageIndex:function(){return Math.ceil(h/a.size)},getNaviButtons:function(){return q.add(u).add(r).add(p)},
16
+ getRoot:function(){return i},getItemWrap:function(){return f},getItems:function(){return f.children(a.item)},getVisibleItems:function(){return c.getItems().slice(h,h+a.size)},seekTo:function(d,e,o){if(d<0)d=0;if(h===d)return c;if(b.isFunction(e))o=e;if(d>c.getSize()-a.size)return a.loop?c.begin():this.end();var t=c.getItems().eq(d);if(!t.length)return c;var v=b.Event("onBeforeSeek");n.trigger(v,[d]);if(v.isDefaultPrevented())return c;if(e===undefined||b.isFunction(e))e=a.speed;function x(){o&&o.call(c,
17
+ d);n.trigger("onSeek",[d])}g?f.animate({left:-t.position().left},e,a.easing,x):f.animate({top:-t.position().top},e,a.easing,x);k=c;h=d;v=b.Event("onStart");n.trigger(v,[d]);if(v.isDefaultPrevented())return c;q.add(r).toggleClass(a.disabledClass,d===0);u.add(p).toggleClass(a.disabledClass,d>=c.getSize()-a.size);return c},move:function(d,e,o){m=d>0;return this.seekTo(h+d,e,o)},next:function(d,e){return this.move(1,d,e)},prev:function(d,e){return this.move(-1,d,e)},movePage:function(d,e,o){m=d>0;var t=
18
+ a.size*d,v=h%a.size;if(v>0)t+=d>0?-v:a.size-v;return this.move(t,e,o)},prevPage:function(d,e){return this.movePage(-1,d,e)},nextPage:function(d,e){return this.movePage(1,d,e)},setPage:function(d,e,o){return this.seekTo(d*a.size,e,o)},begin:function(d,e){m=false;return this.seekTo(0,d,e)},end:function(d,e){m=true;var o=this.getSize()-a.size;return o>0?this.seekTo(o,d,e):c},reload:function(){n.trigger("onReload");return c},focus:function(){return k=c},click:function(d){var e=c.getItems().eq(d),o=a.activeClass,
19
+ t=a.size;if(d<0||d>=c.getSize())return c;if(t==1){if(a.loop)return c.next();if(d===0||d==c.getSize()-1)m=m===undefined?true:!m;return m===false?c.prev():c.next()}if(t==2){d==h&&d--;c.getItems().removeClass(o);e.addClass(o);return c.seekTo(d,time,fn)}if(!e.hasClass(o)){c.getItems().removeClass(o);e.addClass(o);e=Math.floor(t/2);e=d-e;if(e>c.getSize()-t)e=c.getSize()-t;if(e!==d)return c.seekTo(e)}return c},bind:function(d,e){n.bind(d,e);return c},unbind:function(d){n.unbind(d);return c}});b.each("onBeforeSeek,onStart,onSeek,onReload".split(","),
20
+ function(d,e){c[e]=function(o){return c.bind(e,o)}});q.addClass(a.disabledClass).click(function(){c.prev()});u.click(function(){c.next()});p.click(function(){c.nextPage()});c.getSize()<a.size&&u.add(p).addClass(a.disabledClass);r.addClass(a.disabledClass).click(function(){c.prevPage()});var s=a.hoverClass,w="keydown."+Math.random().toString().substring(10);c.onReload(function(){s&&c.getItems().hover(function(){b(this).addClass(s)},function(){b(this).removeClass(s)});a.clickable&&c.getItems().each(function(d){b(this).unbind("click.scrollable").bind("click.scrollable",
21
+ function(e){if(!b(e.target).is("a"))return c.click(d)})});a.keyboard?b(document).unbind(w).bind(w,function(d){if(!(d.altKey||d.ctrlKey))if(!(a.keyboard!="static"&&k!=c)){var e=a.keyboardSteps;if(g&&(d.keyCode==37||d.keyCode==39)){c.move(d.keyCode==37?-e:e);return d.preventDefault()}if(!g&&(d.keyCode==38||d.keyCode==40)){c.move(d.keyCode==38?-e:e);return d.preventDefault()}return true}}):b(document).unbind(w)});c.reload()}b.fn.scrollable=function(i){var a=this.eq(typeof i=="number"?i:0).data("scrollable");
22
+ if(a)return a;var c=b.extend({},b.tools.scrollable.conf);i=b.extend(c,i);i.keyboardSteps=i.keyboardSteps||i.size;this.each(function(){a=new j(b(this),i);b(this).data("scrollable",a)});return i.api?a:this}})(jQuery);
23
+ (function(b){var k=b.tools.scrollable;k.plugins=k.plugins||{};k.plugins.autoscroll={version:"1.0.1",conf:{autoplay:true,interval:3000,autopause:true,steps:1,api:false}};b.fn.autoscroll=function(j){if(typeof j=="number")j={interval:j};var i=b.extend({},k.plugins.autoscroll.conf),a;b.extend(i,j);this.each(function(){var c=b(this).scrollable();if(c)a=c;var n,g,f=true;c.play=function(){if(!n){f=false;n=setInterval(function(){c.move(i.steps)},i.interval);c.move(i.steps)}};c.pause=function(){n=clearInterval(n)};
24
+ c.stop=function(){c.pause();f=true};i.autopause&&c.getRoot().add(c.getNaviButtons()).hover(function(){c.pause();clearInterval(g)},function(){f||(g=setTimeout(c.play,i.interval))});i.autoplay&&setTimeout(c.play,i.interval)});return i.api?a:this}})(jQuery);
25
+ (function(b){var k=b.tools.scrollable;k.plugins=k.plugins||{};k.plugins.navigator={version:"1.0.2",conf:{navi:".navi",naviItem:null,activeClass:"active",indexed:false,api:false,idPrefix:null}};b.fn.navigator=function(j){var i=b.extend({},k.plugins.navigator.conf),a;if(typeof j=="string")j={navi:j};j=b.extend(i,j);this.each(function(){var c=b(this).scrollable(),n=c.getRoot(),g=n.data("finder").call(null,j.navi),f=null,h=c.getNaviButtons();if(c)a=c;c.getNaviButtons=function(){return h.add(g)};function m(){if(!g.children().length||
26
+ g.data("navi")==c){g.empty();g.data("navi",c);for(var l=0;l<c.getPageAmount();l++)g.append(b("<"+(j.naviItem||"a")+"/>"));f=g.children().each(function(q){var u=b(this);u.click(function(r){c.setPage(q);return r.preventDefault()});j.indexed&&u.text(q);j.idPrefix&&u.attr("id",j.idPrefix+q)})}else{f=j.naviItem?g.find(j.naviItem):g.children();f.each(function(q){var u=b(this);u.click(function(r){c.setPage(q);return r.preventDefault()})})}f.eq(0).addClass(j.activeClass)}c.onStart(function(){var l=j.activeClass;
27
  f.removeClass(l).eq(c.getPageIndex()).addClass(l)});c.onReload(function(){m()});m();n=f.filter("[href="+location.hash+"]");n.length&&c.move(f.index(n))});return j.api?a:this}})(jQuery);
28
  (function(b){b.fn.wheel=function(a){return this[a?"bind":"trigger"]("wheel",a)};b.event.special.wheel={setup:function(){b.event.add(this,k,j,{})},teardown:function(){b.event.remove(this,k,j)}};var k=!b.browser.mozilla?"mousewheel":"DOMMouseScroll"+(b.browser.version<"1.9"?" mousemove":"");function j(a){switch(a.type){case "mousemove":return b.extend(a.data,{clientX:a.clientX,clientY:a.clientY,pageX:a.pageX,pageY:a.pageY});case "DOMMouseScroll":b.extend(a,a.data);a.delta=-a.detail/3;break;case "mousewheel":a.delta=
29
+ a.wheelDelta/120;break}a.type="wheel";return b.event.handle.call(this,a,a.delta)}var i=b.tools.scrollable;i.plugins=i.plugins||{};i.plugins.mousewheel={version:"1.0.1",conf:{api:false,speed:50}};b.fn.mousewheel=function(a){var c=b.extend({},i.plugins.mousewheel.conf),n;if(typeof a=="number")a={speed:a};a=b.extend(c,a);this.each(function(){var g=b(this).scrollable();if(g)n=g;g.getRoot().wheel(function(f,h){g.move(h<0?1:-1,a.speed||50);return false})});return a.api?n:this}})(jQuery);(function(b){b.fn.timePicker=function(f){var h=b.extend({},b.fn.timePicker.defaults,f);return this.each(function(){b.timePicker(this,h)})};b.timePicker=function(f,h){f=b(f)[0];return f.timePicker||(f.timePicker=new jQuery._timePicker(f,h))};b._timePicker=function(f,h){var m=false,l=false,q=c(h.startTime,h),u=c(h.endTime,h);b(f).attr("autocomplete","OFF");for(var r=[],p=new Date(q);p<=u;){r[r.length]=j(p,h);p=new Date(p.setMinutes(p.getMinutes()+h.step))}var s=b("<div "+(h.tpDivId?'id="'+h.tpDivId+
30
+ '" ':"")+'class="time-picker'+(h.show24Hours?"":" time-picker-12hours")+'"></div>'),w=b("<ul></ul>");for(p=0;p<r.length;p++)w.append("<li>"+r[p]+"</li>");s.append(w);r=b(f).offset();s.appendTo("body").css({top:r.top-48+"px",left:r.left,width:b(f).width()+5+"px"}).hide();s.mouseover(function(){m=true}).mouseout(function(){m=false});b("li",w).mouseover(function(){if(!l){b("li.selected",s).removeClass("selected");b(this).addClass("selected")}}).mousedown(function(){m=true}).click(function(){k(f,this,
31
+ s,h);m=false});function d(){if(s.is(":visible"))return false;b("li",s).removeClass("selected");var e=b(f).offset();s.css({top:e.top+b(f).height()+10+"px",left:e.left,width:b(f).width()+5+"px"});s.show();var o=f.value?n(f.value,h):q;e=q.getHours()*60+q.getMinutes();o=o.getHours()*60+o.getMinutes()-e;o=Math.round(o/h.step);e=g(new Date(0,0,0,0,o*h.step+e,0));e=q<e&&e<=u?e:q;e=b("li:contains("+j(e,h)+")",s);if(e.length){e.addClass("selected");s[0].scrollTop=e[0].offsetTop}return true}b(f).focus(d).click(d);
32
+ b(f).blur(function(){m||s.hide()});r=b.browser.opera||b.browser.mozilla?"keypress":"keydown";b(f)[r](function(e){l=true;var o=s[0].scrollTop;switch(e.keyCode){case 38:if(d())return false;e=b("li.selected",w);var t=e.prev().addClass("selected")[0];if(t){e.removeClass("selected");if(t.offsetTop<o)s[0].scrollTop=o-t.offsetHeight}else{e.removeClass("selected");t=b("li:last",w).addClass("selected")[0];s[0].scrollTop=t.offsetTop-t.offsetHeight}return false;case 40:if(d())return false;e=b("li.selected",
33
+ w);if(t=e.next().addClass("selected")[0]){e.removeClass("selected");if(t.offsetTop+t.offsetHeight>o+s[0].offsetHeight)s[0].scrollTop=o+t.offsetHeight}else{e.removeClass("selected");b("li:first",w).addClass("selected");s[0].scrollTop=0}return false;case 13:if(s.is(":visible")){o=b("li.selected",w)[0];k(f,o,s,h)}return false;case 27:s.hide();return false}return true});b(f).keyup(function(){l=false});this.getTime=function(){return n(f.value,h)};this.setTime=function(e){f.value=j(g(e),h);b(f).change()}};
34
+ b.fn.timePicker.defaults={step:30,startTime:new Date(0,0,0,0,0,0),endTime:new Date(0,0,0,23,30,0),separator:":",show24Hours:true,timeFormat:"hh:mm tt",amDesignator:"AM",pmDesignator:"PM"};function k(f,h,m){f.value=b(h).text();b(f).change();b.browser.msie||f.focus();m.hide()}function j(f,h){var m=f.getHours(),l=h.show24Hours?m:(m+11)%12+1;l=a(l,h);var q=f.getMinutes();f=h.timeFormat;f=f.replace("hh",l);f=f.replace("h",l);f=f.replace("mm",i(q));return f=f.replace("tt",m<12?h.amDesignator:h.pmDesignator)}
35
+ function i(f){return(f<10?"0":"")+f}function a(f,h){return h.show24Hours?(f<10?"0":"")+f:f}function c(f,h){return typeof f=="object"?g(f):n(f,h)}function n(f,h){if(f){var m=f.split(h.separator),l=parseFloat(m[0]);m=parseFloat(m[1]);if(!h.show24Hours)if(l===12&&f.substr(h.amDesignator)!==-1)l=0;else if(l!==12&&f.indexOf(h.pmDesignator)!==-1)l+=12;f=new Date(0,0,0,l,m,0);return g(f)}return null}function g(f){f.setFullYear(2001);f.setMonth(0);f.setDate(0);return f}})(jQuery);if(!this.JSON)this.JSON={};
36
+ (function(){function b(h){return h<10?"0"+h:h}if(typeof Date.prototype.toJSON!=="function"){Date.prototype.toJSON=function(){return isFinite(this.valueOf())?this.getUTCFullYear()+"-"+b(this.getUTCMonth()+1)+"-"+b(this.getUTCDate())+"T"+b(this.getUTCHours())+":"+b(this.getUTCMinutes())+":"+b(this.getUTCSeconds())+"Z":null};String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(){return this.valueOf()}}var k=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,j=
37
+ /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,i,a,c={"\u0008":"\\b","\t":"\\t","\n":"\\n","\u000c":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},n;function g(h){j.lastIndex=0;return j.test(h)?'"'+h.replace(j,function(m){var l=c[m];return typeof l==="string"?l:"\\u"+("0000"+m.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+h+'"'}function f(h,m){var l,q,u=i,r,p=m[h];if(p&&typeof p==="object"&&typeof p.toJSON==="function")p=p.toJSON(h);
38
+ if(typeof n==="function")p=n.call(m,h,p);switch(typeof p){case "string":return g(p);case "number":return isFinite(p)?String(p):"null";case "boolean":case "null":return String(p);case "object":if(!p)return"null";i+=a;r=[];if(Object.prototype.toString.apply(p)==="[object Array]"){q=p.length;for(h=0;h<q;h+=1)r[h]=f(h,p)||"null";m=r.length===0?"[]":i?"[\n"+i+r.join(",\n"+i)+"\n"+u+"]":"["+r.join(",")+"]";i=u;return m}if(n&&typeof n==="object"){q=n.length;for(h=0;h<q;h+=1){l=n[h];if(typeof l==="string")if(m=
39
+ f(l,p))r.push(g(l)+(i?": ":":")+m)}}else for(l in p)if(Object.hasOwnProperty.call(p,l))if(m=f(l,p))r.push(g(l)+(i?": ":":")+m);m=r.length===0?"{}":i?"{\n"+i+r.join(",\n"+i)+"\n"+u+"}":"{"+r.join(",")+"}";i=u;return m}}if(typeof JSON.stringify!=="function")JSON.stringify=function(h,m,l){var q;a=i="";if(typeof l==="number")for(q=0;q<l;q+=1)a+=" ";else if(typeof l==="string")a=l;if((n=m)&&typeof m!=="function"&&(typeof m!=="object"||typeof m.length!=="number"))throw new Error("JSON.stringify");return f("",
40
+ {"":h})};if(typeof JSON.parseIt!=="function")JSON.parseIt=function(h,m){function l(q,u){var r,p,s=q[u];if(s&&typeof s==="object")for(r in s)if(Object.hasOwnProperty.call(s,r)){p=l(s,r);if(p!==undefined)s[r]=p;else delete s[r]}return m.call(q,u,s)}k.lastIndex=0;if(k.test(h))h=h.replace(k,function(q){return"\\u"+("0000"+q.charCodeAt(0).toString(16)).slice(-4)});if(/^[\],:{}\s]*$/.test(h.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,
41
+ "]").replace(/(?:^|:|,)(?:\s*\[)+/g,""))){h=eval("("+h+")");return typeof m==="function"?l({"":h},""):h}throw new SyntaxError("JSON.parseIt");}})();(function(b){b.tools=b.tools||{};b.tools.scrollable={version:"1.1.2",conf:{size:5,vertical:false,speed:400,keyboard:true,keyboardSteps:null,disabledClass:"disabled",hoverClass:null,clickable:true,activeClass:"active",easing:"swing",loop:false,items:".items",item:null,prev:".prev",next:".next",prevPage:".prevPage",nextPage:".nextPage",api:false}};var k;function j(i,a){var c=this,n=b(this),g=!a.vertical,f=i.children(),h=0,m;k||(k=c);b.each(a,function(d,e){b.isFunction(e)&&n.bind(d,e)});if(f.length>
42
+ 1)f=b(a.items,i);function l(d){var e=b(d);return a.globalNav?e:i.parent().find(d)}i.data("finder",l);var q=l(a.prev),u=l(a.next),r=l(a.prevPage),p=l(a.nextPage);b.extend(c,{getIndex:function(){return h},getClickIndex:function(){var d=c.getItems();return d.index(d.filter("."+a.activeClass))},getConf:function(){return a},getSize:function(){return c.getItems().size()},getPageAmount:function(){return Math.ceil(this.getSize()/a.size)},getPageIndex:function(){return Math.ceil(h/a.size)},getNaviButtons:function(){return q.add(u).add(r).add(p)},
43
+ getRoot:function(){return i},getItemWrap:function(){return f},getItems:function(){return f.children(a.item)},getVisibleItems:function(){return c.getItems().slice(h,h+a.size)},seekTo:function(d,e,o){if(d<0)d=0;if(h===d)return c;if(b.isFunction(e))o=e;if(d>c.getSize()-a.size)return a.loop?c.begin():this.end();var t=c.getItems().eq(d);if(!t.length)return c;var v=b.Event("onBeforeSeek");n.trigger(v,d>h);if(v.isDefaultPrevented())return c;if(e===undefined||b.isFunction(e))e=a.speed;function x(){o&&o.call(c,
44
+ d);n.trigger("onSeek",[d])}g?f.animate({left:-t.position().left},e,a.easing,x):f.animate({top:-t.position().top},e,a.easing,x);k=c;h=d;v=b.Event("onStart");n.trigger(v,[d]);if(v.isDefaultPrevented())return c;q.add(r).toggleClass(a.disabledClass,d===0);u.add(p).toggleClass(a.disabledClass,d>=c.getSize()-a.size);return c},move:function(d,e,o){m=d>0;return this.seekTo(h+d,e,o)},next:function(d,e){return this.move(1,d,e)},prev:function(d,e){return this.move(-1,d,e)},movePage:function(d,e,o){m=d>0;var t=
45
+ a.size*d,v=h%a.size;if(v>0)t+=d>0?-v:a.size-v;return this.move(t,e,o)},prevPage:function(d,e){return this.movePage(-1,d,e)},nextPage:function(d,e){return this.movePage(1,d,e)},setPage:function(d,e,o){return this.seekTo(d*a.size,e,o)},begin:function(d,e){m=false;return this.seekTo(0,d,e)},end:function(d,e){m=true;var o=this.getSize()-a.size;return o>0?this.seekTo(o,d,e):c},reload:function(){n.trigger("onReload");return c},focus:function(){return k=c},click:function(d){var e=c.getItems().eq(d),o=a.activeClass,
46
+ t=a.size;if(d<0||d>=c.getSize())return c;if(t==1){if(a.loop)return c.next();if(d===0||d==c.getSize()-1)m=m===undefined?true:!m;return m===false?c.prev():c.next()}if(t==2){d==h&&d--;c.getItems().removeClass(o);e.addClass(o);return c.seekTo(d,time,fn)}if(!e.hasClass(o)){c.getItems().removeClass(o);e.addClass(o);e=Math.floor(t/2);e=d-e;if(e>c.getSize()-t)e=c.getSize()-t;if(e!==d)return c.seekTo(e)}return c},bind:function(d,e){n.bind(d,e);return c},unbind:function(d){n.unbind(d);return c}});b.each("onBeforeSeek,onStart,onSeek,onReload".split(","),
47
+ function(d,e){c[e]=function(o){return c.bind(e,o)}});q.addClass(a.disabledClass).click(function(){c.prev()});u.click(function(){c.next()});p.click(function(){c.nextPage()});c.getSize()<a.size&&u.add(p).addClass(a.disabledClass);r.addClass(a.disabledClass).click(function(){c.prevPage()});var s=a.hoverClass,w="keydown."+Math.random().toString().substring(10);c.onReload(function(){s&&c.getItems().hover(function(){b(this).addClass(s)},function(){b(this).removeClass(s)});a.clickable&&c.getItems().each(function(d){b(this).unbind("click.scrollable").bind("click.scrollable",
48
+ function(e){if(!b(e.target).is("a"))return c.click(d)})});a.keyboard?b(document).unbind(w).bind(w,function(d){if(!(d.altKey||d.ctrlKey))if(!(a.keyboard!="static"&&k!=c)){var e=a.keyboardSteps;if(g&&(d.keyCode==37||d.keyCode==39)){c.move(d.keyCode==37?-e:e);return d.preventDefault()}if(!g&&(d.keyCode==38||d.keyCode==40)){c.move(d.keyCode==38?-e:e);return d.preventDefault()}return true}}):b(document).unbind(w)});c.reload()}b.fn.scrollable=function(i){var a=this.eq(typeof i=="number"?i:0).data("scrollable");
49
+ if(a)return a;var c=b.extend({},b.tools.scrollable.conf);i=b.extend(c,i);i.keyboardSteps=i.keyboardSteps||i.size;this.each(function(){a=new j(b(this),i);b(this).data("scrollable",a)});return i.api?a:this}})(jQuery);(function(b){b.fn.wheel=function(a){return this[a?"bind":"trigger"]("wheel",a)};b.event.special.wheel={setup:function(){b.event.add(this,k,j,{})},teardown:function(){b.event.remove(this,k,j)}};var k=!b.browser.mozilla?"mousewheel":"DOMMouseScroll"+(b.browser.version<"1.9"?" mousemove":"");function j(a){switch(a.type){case "mousemove":return b.extend(a.data,{clientX:a.clientX,clientY:a.clientY,pageX:a.pageX,pageY:a.pageY});case "DOMMouseScroll":b.extend(a,a.data);a.delta=-a.detail/3;break;case "mousewheel":a.delta=
50
+ a.wheelDelta/120;break}a.type="wheel";return b.event.handle.call(this,a,a.delta)}var i=b.tools.scrollable;i.plugins=i.plugins||{};i.plugins.mousewheel={version:"1.0.1",conf:{api:false,speed:50}};b.fn.mousewheel=function(a){var c=b.extend({},i.plugins.mousewheel.conf),n;if(typeof a=="number")a={speed:a};a=b.extend(c,a);this.each(function(){var g=b(this).scrollable();if(g)n=g;g.getRoot().wheel(function(f,h){g.move(h<0?1:-1,a.speed||50);return false})});return a.api?n:this}})(jQuery);/*
51
  : Licensed under The MIT License. See license.txt and http://www.datejs.com/license/.
52
  */
53
+ (function(){var b=Date,k=b.prototype,j=[];function i(a,c){c||(c=2);return("000"+a).slice(c*-1)}b.normalizeFormat=function(a){j=[];(new Date).$format(a);return j.join("")};b.strftime=function(a,c){return(new Date(c*1000)).$format(a)};b.strtotime=function(a){a=b.parse(a);a.addMinutes(a.getTimezoneOffset()*-1);return Math.round(b.UTC(a.getUTCFullYear(),a.getUTCMonth(),a.getUTCDate(),a.getUTCHours(),a.getUTCMinutes(),a.getUTCSeconds(),a.getUTCMilliseconds())/1000)};k.$format=function(a){var c=this,n;
54
+ function g(f){j.push(f);return c.toString(f)}return a?a.replace(/(%|\\)?.|%%/g,function(f){if(f.charAt(0)==="\\"||f.substring(0,2)==="%%")return f.replace("\\","").replace("%%","%");switch(f){case "d":case "%d":return g("dd");case "D":case "%a":return g("ddd");case "j":case "%e":return g("d");case "l":case "%A":return g("dddd");case "N":case "%u":return c.getDay()+1;case "S":return g("S");case "w":case "%w":return c.getDay();case "z":return c.getOrdinalNumber();case "%j":return i(c.getOrdinalNumber(),
55
+ 3);case "%U":f=c.clone().set({month:0,day:1}).addDays(-1).moveToDayOfWeek(0);var h=c.clone().addDays(1).moveToDayOfWeek(0,-1);return h<f?"00":i((h.getOrdinalNumber()-f.getOrdinalNumber())/7+1);case "W":case "%V":return c.getISOWeek();case "%W":return i(c.getWeek());case "F":case "%B":return g("MMMM");case "m":case "%m":return g("MM");case "M":case "%b":case "%h":return g("MMM");case "n":return g("M");case "t":return b.getDaysInMonth(c.getFullYear(),c.getMonth());case "L":return b.isLeapYear(c.getFullYear())?
56
+ 1:0;case "o":case "%G":return c.setWeek(c.getISOWeek()).toString("yyyy");case "%g":return c.$format("%G").slice(-2);case "Y":case "%Y":return g("yyyy");case "y":case "%y":return g("yy");case "a":case "%p":return g("tt").toLowerCase();case "A":return g("tt").toUpperCase();case "g":case "%I":return g("h");case "G":return g("H");case "h":return g("hh");case "H":case "%H":return g("HH");case "i":case "%M":return g("mm");case "s":case "%S":return g("ss");case "u":return i(c.getMilliseconds(),3);case "I":return c.isDaylightSavingTime()?
57
  1:0;case "O":return c.getUTCOffset();case "P":n=c.getUTCOffset();return n.substring(0,n.length-2)+":"+n.substring(n.length-2);case "e":case "T":case "%z":case "%Z":return c.getTimezone();case "Z":return c.getTimezoneOffset()*-60;case "B":f=new Date;return Math.floor((f.getHours()*3600+f.getMinutes()*60+f.getSeconds()+(f.getTimezoneOffset()+60)*60)/86.4);case "c":return c.toISOString().replace(/\"/g,"");case "U":return b.strtotime("now");case "%c":return g("d")+" "+g("t");case "%C":return Math.floor(c.getFullYear()/
58
  100+1);case "%D":return g("MM/dd/yy");case "%n":return"\\n";case "%t":return"\\t";case "%r":return g("hh:mm tt");case "%R":return g("H:mm");case "%T":return g("H:mm:ss");case "%x":return g("d");case "%X":return g("t");default:j.push(f);return f}}):this._toString()};if(!k.format)k.format=k.$format})();
lib/jquery.timepicker.js CHANGED
@@ -57,6 +57,7 @@
57
  $tpDiv.append($tpList);
58
  // Append the timPicker to the body and position it.
59
  var elmOffset = $(elm).offset();
 
60
  $tpDiv.appendTo('body').css({
61
  'top':(elmOffset.top - 48) + "px",
62
  'left':elmOffset.left,
@@ -92,8 +93,9 @@
92
  //Reposition the picker in case the page has changed (other things hidden or shown)
93
  //and the textbox element is no longer where it was when the tpDiv was first appended to the DOM body.
94
  var elmOffset = $(elm).offset();
 
95
  $tpDiv.css({
96
- 'top':(elmOffset.top - 48) + "px",
97
  'left':elmOffset.left,
98
  'width': ($(elm).width() + 5) + "px"
99
  });
@@ -216,7 +218,10 @@
216
  startTime: new Date(0, 0, 0, 0, 0, 0),
217
  endTime: new Date(0, 0, 0, 23, 30, 0),
218
  separator: ':',
219
- show24Hours: true
 
 
 
220
  };
221
 
222
  // Private functions.
@@ -239,7 +244,16 @@
239
  var hours = settings.show24Hours ? h : (((h + 11) % 12) + 1);
240
  hours = formatHour(hours, settings);
241
  var minutes = time.getMinutes();
242
- return hours + settings.separator + formatNumber(minutes) + (settings.show24Hours ? '' : ((h < 12) ? ' AM' : ' PM'));
 
 
 
 
 
 
 
 
 
243
  }
244
 
245
  function formatNumber(value) {
@@ -266,10 +280,10 @@
266
 
267
  // Convert AM/PM hour to 24-hour format.
268
  if (!settings.show24Hours) {
269
- if (hours === 12 && input.substr('AM') !== -1) {
270
  hours = 0;
271
  }
272
- else if (hours !== 12 && input.indexOf('PM') !== -1) {
273
  hours += 12;
274
  }
275
  }
57
  $tpDiv.append($tpList);
58
  // Append the timPicker to the body and position it.
59
  var elmOffset = $(elm).offset();
60
+
61
  $tpDiv.appendTo('body').css({
62
  'top':(elmOffset.top - 48) + "px",
63
  'left':elmOffset.left,
93
  //Reposition the picker in case the page has changed (other things hidden or shown)
94
  //and the textbox element is no longer where it was when the tpDiv was first appended to the DOM body.
95
  var elmOffset = $(elm).offset();
96
+
97
  $tpDiv.css({
98
+ 'top':(elmOffset.top + $(elm).height() + 10) + "px",
99
  'left':elmOffset.left,
100
  'width': ($(elm).width() + 5) + "px"
101
  });
218
  startTime: new Date(0, 0, 0, 0, 0, 0),
219
  endTime: new Date(0, 0, 0, 23, 30, 0),
220
  separator: ':',
221
+ show24Hours: true,
222
+ timeFormat: 'hh:mm tt',
223
+ amDesignator: 'AM',
224
+ pmDesignator: 'PM'
225
  };
226
 
227
  // Private functions.
244
  var hours = settings.show24Hours ? h : (((h + 11) % 12) + 1);
245
  hours = formatHour(hours, settings);
246
  var minutes = time.getMinutes();
247
+
248
+ // Now that we have the current time we take the time format
249
+ // and replace the time values into that string.
250
+ var time = settings.timeFormat;
251
+ time = time.replace('hh', hours);
252
+ time = time.replace('h', hours);
253
+ time = time.replace('mm', formatNumber(minutes));
254
+ time = time.replace('tt', (h < 12) ? settings.amDesignator : settings.pmDesignator);
255
+
256
+ return time;
257
  }
258
 
259
  function formatNumber(value) {
280
 
281
  // Convert AM/PM hour to 24-hour format.
282
  if (!settings.show24Hours) {
283
+ if (hours === 12 && input.substr(settings.amDesignator) !== -1) {
284
  hours = 0;
285
  }
286
+ else if (hours !== 12 && input.indexOf(settings.pmDesignator) !== -1) {
287
  hours += 12;
288
  }
289
  }
lib/languages/date-de-DE.js ADDED
@@ -0,0 +1,104 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Version: 1.0 Alpha-1
3
+ * Build Date: 13-Nov-2007
4
+ * Copyright (c) 2006-2007, Coolite Inc. (http://www.coolite.com/). All rights reserved.
5
+ * License: Licensed under The MIT License. See license.txt and http://www.datejs.com/license/.
6
+ * Website: http://www.datejs.com/ or http://www.coolite.com/datejs/
7
+ */
8
+ Date.CultureInfo={name:"de-DE",englishName:"German (Germany)",nativeName:"Deutsch (Deutschland)",dayNames:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],abbreviatedDayNames:["So","Mo","Di","Mi","Do","Fr","Sa"],shortestDayNames:["So","Mo","Di","Mi","Do","Fr","Sa"],firstLetterDayNames:["S","M","D","M","D","F","S"],monthNames:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],abbreviatedMonthNames:["Jan","Feb","Mrz","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],amDesignator:"",pmDesignator:"",firstDayOfWeek:1,twoDigitYearMax:2029,dateElementOrder:"dmy",formatPatterns:{shortDate:"dd.MM.yyyy",longDate:"dddd, d. MMMM yyyy",shortTime:"HH:mm",longTime:"HH:mm:ss",fullDateTime:"dddd, d. MMMM yyyy HH:mm:ss",sortableDateTime:"yyyy-MM-ddTHH:mm:ss",universalSortableDateTime:"yyyy-MM-dd HH:mm:ssZ",rfc1123:"ddd, dd MMM yyyy HH:mm:ss GMT",monthDay:"dd MMMM",yearMonth:"MMMM yyyy"},regexPatterns:{jan:/^jan(uar)?/i,feb:/^feb(ruar)?/i,mar:/^märz/i,apr:/^apr(il)?/i,may:/^mai/i,jun:/^jun(i)?/i,jul:/^jul(i)?/i,aug:/^aug(ust)?/i,sep:/^sep(t(ember)?)?/i,oct:/^okt(ober)?/i,nov:/^nov(ember)?/i,dec:/^dez(ember)?/i,sun:/^sonntag/i,mon:/^montag/i,tue:/^dienstag/i,wed:/^mittwoch/i,thu:/^donnerstag/i,fri:/^freitag/i,sat:/^samstag/i,future:/^next/i,past:/^last|past|prev(ious)?/i,add:/^(\+|after|from)/i,subtract:/^(\-|before|ago)/i,yesterday:/^yesterday/i,today:/^t(oday)?/i,tomorrow:/^tomorrow/i,now:/^n(ow)?/i,millisecond:/^ms|milli(second)?s?/i,second:/^sec(ond)?s?/i,minute:/^min(ute)?s?/i,hour:/^h(ou)?rs?/i,week:/^w(ee)?k/i,month:/^m(o(nth)?s?)?/i,day:/^d(ays?)?/i,year:/^y((ea)?rs?)?/i,shortMeridian:/^(a|p)/i,longMeridian:/^(a\.?m?\.?|p\.?m?\.?)/i,timezone:/^((e(s|d)t|c(s|d)t|m(s|d)t|p(s|d)t)|((gmt)?\s*(\+|\-)\s*\d\d\d\d?)|gmt)/i,ordinalSuffix:/^\s*(st|nd|rd|th)/i,timeContext:/^\s*(\:|a|p)/i},abbreviatedTimeZoneStandard:{GMT:"-000",EST:"-0400",CST:"-0500",MST:"-0600",PST:"-0700"},abbreviatedTimeZoneDST:{GMT:"-000",EDT:"-0500",CDT:"-0600",MDT:"-0700",PDT:"-0800"}};
9
+ Date.getMonthNumberFromName=function(name){var n=Date.CultureInfo.monthNames,m=Date.CultureInfo.abbreviatedMonthNames,s=name.toLowerCase();for(var i=0;i<n.length;i++){if(n[i].toLowerCase()==s||m[i].toLowerCase()==s){return i;}}
10
+ return-1;};Date.getDayNumberFromName=function(name){var n=Date.CultureInfo.dayNames,m=Date.CultureInfo.abbreviatedDayNames,o=Date.CultureInfo.shortestDayNames,s=name.toLowerCase();for(var i=0;i<n.length;i++){if(n[i].toLowerCase()==s||m[i].toLowerCase()==s){return i;}}
11
+ return-1;};Date.isLeapYear=function(year){return(((year%4===0)&&(year%100!==0))||(year%400===0));};Date.getDaysInMonth=function(year,month){return[31,(Date.isLeapYear(year)?29:28),31,30,31,30,31,31,30,31,30,31][month];};Date.getTimezoneOffset=function(s,dst){return(dst||false)?Date.CultureInfo.abbreviatedTimeZoneDST[s.toUpperCase()]:Date.CultureInfo.abbreviatedTimeZoneStandard[s.toUpperCase()];};Date.getTimezoneAbbreviation=function(offset,dst){var n=(dst||false)?Date.CultureInfo.abbreviatedTimeZoneDST:Date.CultureInfo.abbreviatedTimeZoneStandard,p;for(p in n){if(n[p]===offset){return p;}}
12
+ return null;};Date.prototype.clone=function(){return new Date(this.getTime());};Date.prototype.compareTo=function(date){if(isNaN(this)){throw new Error(this);}
13
+ if(date instanceof Date&&!isNaN(date)){return(this>date)?1:(this<date)?-1:0;}else{throw new TypeError(date);}};Date.prototype.equals=function(date){return(this.compareTo(date)===0);};Date.prototype.between=function(start,end){var t=this.getTime();return t>=start.getTime()&&t<=end.getTime();};Date.prototype.addMilliseconds=function(value){this.setMilliseconds(this.getMilliseconds()+value);return this;};Date.prototype.addSeconds=function(value){return this.addMilliseconds(value*1000);};Date.prototype.addMinutes=function(value){return this.addMilliseconds(value*60000);};Date.prototype.addHours=function(value){return this.addMilliseconds(value*3600000);};Date.prototype.addDays=function(value){return this.addMilliseconds(value*86400000);};Date.prototype.addWeeks=function(value){return this.addMilliseconds(value*604800000);};Date.prototype.addMonths=function(value){var n=this.getDate();this.setDate(1);this.setMonth(this.getMonth()+value);this.setDate(Math.min(n,this.getDaysInMonth()));return this;};Date.prototype.addYears=function(value){return this.addMonths(value*12);};Date.prototype.add=function(config){if(typeof config=="number"){this._orient=config;return this;}
14
+ var x=config;if(x.millisecond||x.milliseconds){this.addMilliseconds(x.millisecond||x.milliseconds);}
15
+ if(x.second||x.seconds){this.addSeconds(x.second||x.seconds);}
16
+ if(x.minute||x.minutes){this.addMinutes(x.minute||x.minutes);}
17
+ if(x.hour||x.hours){this.addHours(x.hour||x.hours);}
18
+ if(x.month||x.months){this.addMonths(x.month||x.months);}
19
+ if(x.year||x.years){this.addYears(x.year||x.years);}
20
+ if(x.day||x.days){this.addDays(x.day||x.days);}
21
+ return this;};Date._validate=function(value,min,max,name){if(typeof value!="number"){throw new TypeError(value+" is not a Number.");}else if(value<min||value>max){throw new RangeError(value+" is not a valid value for "+name+".");}
22
+ return true;};Date.validateMillisecond=function(n){return Date._validate(n,0,999,"milliseconds");};Date.validateSecond=function(n){return Date._validate(n,0,59,"seconds");};Date.validateMinute=function(n){return Date._validate(n,0,59,"minutes");};Date.validateHour=function(n){return Date._validate(n,0,23,"hours");};Date.validateDay=function(n,year,month){return Date._validate(n,1,Date.getDaysInMonth(year,month),"days");};Date.validateMonth=function(n){return Date._validate(n,0,11,"months");};Date.validateYear=function(n){return Date._validate(n,1,9999,"seconds");};Date.prototype.set=function(config){var x=config;if(!x.millisecond&&x.millisecond!==0){x.millisecond=-1;}
23
+ if(!x.second&&x.second!==0){x.second=-1;}
24
+ if(!x.minute&&x.minute!==0){x.minute=-1;}
25
+ if(!x.hour&&x.hour!==0){x.hour=-1;}
26
+ if(!x.day&&x.day!==0){x.day=-1;}
27
+ if(!x.month&&x.month!==0){x.month=-1;}
28
+ if(!x.year&&x.year!==0){x.year=-1;}
29
+ if(x.millisecond!=-1&&Date.validateMillisecond(x.millisecond)){this.addMilliseconds(x.millisecond-this.getMilliseconds());}
30
+ if(x.second!=-1&&Date.validateSecond(x.second)){this.addSeconds(x.second-this.getSeconds());}
31
+ if(x.minute!=-1&&Date.validateMinute(x.minute)){this.addMinutes(x.minute-this.getMinutes());}
32
+ if(x.hour!=-1&&Date.validateHour(x.hour)){this.addHours(x.hour-this.getHours());}
33
+ if(x.month!==-1&&Date.validateMonth(x.month)){this.addMonths(x.month-this.getMonth());}
34
+ if(x.year!=-1&&Date.validateYear(x.year)){this.addYears(x.year-this.getFullYear());}
35
+ if(x.day!=-1&&Date.validateDay(x.day,this.getFullYear(),this.getMonth())){this.addDays(x.day-this.getDate());}
36
+ if(x.timezone){this.setTimezone(x.timezone);}
37
+ if(x.timezoneOffset){this.setTimezoneOffset(x.timezoneOffset);}
38
+ return this;};Date.prototype.clearTime=function(){this.setHours(0);this.setMinutes(0);this.setSeconds(0);this.setMilliseconds(0);return this;};Date.prototype.isLeapYear=function(){var y=this.getFullYear();return(((y%4===0)&&(y%100!==0))||(y%400===0));};Date.prototype.isWeekday=function(){return!(this.is().sat()||this.is().sun());};Date.prototype.getDaysInMonth=function(){return Date.getDaysInMonth(this.getFullYear(),this.getMonth());};Date.prototype.moveToFirstDayOfMonth=function(){return this.set({day:1});};Date.prototype.moveToLastDayOfMonth=function(){return this.set({day:this.getDaysInMonth()});};Date.prototype.moveToDayOfWeek=function(day,orient){var diff=(day-this.getDay()+7*(orient||+1))%7;return this.addDays((diff===0)?diff+=7*(orient||+1):diff);};Date.prototype.moveToMonth=function(month,orient){var diff=(month-this.getMonth()+12*(orient||+1))%12;return this.addMonths((diff===0)?diff+=12*(orient||+1):diff);};Date.prototype.getDayOfYear=function(){return Math.floor((this-new Date(this.getFullYear(),0,1))/86400000);};Date.prototype.getWeekOfYear=function(firstDayOfWeek){var y=this.getFullYear(),m=this.getMonth(),d=this.getDate();var dow=firstDayOfWeek||Date.CultureInfo.firstDayOfWeek;var offset=7+1-new Date(y,0,1).getDay();if(offset==8){offset=1;}
39
+ var daynum=((Date.UTC(y,m,d,0,0,0)-Date.UTC(y,0,1,0,0,0))/86400000)+1;var w=Math.floor((daynum-offset+7)/7);if(w===dow){y--;var prevOffset=7+1-new Date(y,0,1).getDay();if(prevOffset==2||prevOffset==8){w=53;}else{w=52;}}
40
+ return w;};Date.prototype.isDST=function(){console.log('isDST');return this.toString().match(/(E|C|M|P)(S|D)T/)[2]=="D";};Date.prototype.getTimezone=function(){return Date.getTimezoneAbbreviation(this.getUTCOffset,this.isDST());};Date.prototype.setTimezoneOffset=function(s){var here=this.getTimezoneOffset(),there=Number(s)*-6/10;this.addMinutes(there-here);return this;};Date.prototype.setTimezone=function(s){return this.setTimezoneOffset(Date.getTimezoneOffset(s));};Date.prototype.getUTCOffset=function(){var n=this.getTimezoneOffset()*-10/6,r;if(n<0){r=(n-10000).toString();return r[0]+r.substr(2);}else{r=(n+10000).toString();return"+"+r.substr(1);}};Date.prototype.getDayName=function(abbrev){return abbrev?Date.CultureInfo.abbreviatedDayNames[this.getDay()]:Date.CultureInfo.dayNames[this.getDay()];};Date.prototype.getMonthName=function(abbrev){return abbrev?Date.CultureInfo.abbreviatedMonthNames[this.getMonth()]:Date.CultureInfo.monthNames[this.getMonth()];};Date.prototype._toString=Date.prototype.toString;Date.prototype.toString=function(format){var self=this;var p=function p(s){return(s.toString().length==1)?"0"+s:s;};return format?format.replace(/dd?d?d?|MM?M?M?|yy?y?y?|hh?|HH?|mm?|ss?|tt?|zz?z?/g,function(format){switch(format){case"hh":return p(self.getHours()<13?self.getHours():(self.getHours()-12));case"h":return self.getHours()<13?self.getHours():(self.getHours()-12);case"HH":return p(self.getHours());case"H":return self.getHours();case"mm":return p(self.getMinutes());case"m":return self.getMinutes();case"ss":return p(self.getSeconds());case"s":return self.getSeconds();case"yyyy":return self.getFullYear();case"yy":return self.getFullYear().toString().substring(2,4);case"dddd":return self.getDayName();case"ddd":return self.getDayName(true);case"dd":return p(self.getDate());case"d":return self.getDate().toString();case"MMMM":return self.getMonthName();case"MMM":return self.getMonthName(true);case"MM":return p((self.getMonth()+1));case"M":return self.getMonth()+1;case"t":return self.getHours()<12?Date.CultureInfo.amDesignator.substring(0,1):Date.CultureInfo.pmDesignator.substring(0,1);case"tt":return self.getHours()<12?Date.CultureInfo.amDesignator:Date.CultureInfo.pmDesignator;case"zzz":case"zz":case"z":return"";}}):this._toString();};
41
+ Date.now=function(){return new Date();};Date.today=function(){return Date.now().clearTime();};Date.prototype._orient=+1;Date.prototype.next=function(){this._orient=+1;return this;};Date.prototype.last=Date.prototype.prev=Date.prototype.previous=function(){this._orient=-1;return this;};Date.prototype._is=false;Date.prototype.is=function(){this._is=true;return this;};Number.prototype._dateElement="day";Number.prototype.fromNow=function(){var c={};c[this._dateElement]=this;return Date.now().add(c);};Number.prototype.ago=function(){var c={};c[this._dateElement]=this*-1;return Date.now().add(c);};(function(){var $D=Date.prototype,$N=Number.prototype;var dx=("sunday monday tuesday wednesday thursday friday saturday").split(/\s/),mx=("january february march april may june july august september october november december").split(/\s/),px=("Millisecond Second Minute Hour Day Week Month Year").split(/\s/),de;var df=function(n){return function(){if(this._is){this._is=false;return this.getDay()==n;}
42
+ return this.moveToDayOfWeek(n,this._orient);};};for(var i=0;i<dx.length;i++){$D[dx[i]]=$D[dx[i].substring(0,3)]=df(i);}
43
+ var mf=function(n){return function(){if(this._is){this._is=false;return this.getMonth()===n;}
44
+ return this.moveToMonth(n,this._orient);};};for(var j=0;j<mx.length;j++){$D[mx[j]]=$D[mx[j].substring(0,3)]=mf(j);}
45
+ var ef=function(j){return function(){if(j.substring(j.length-1)!="s"){j+="s";}
46
+ return this["add"+j](this._orient);};};var nf=function(n){return function(){this._dateElement=n;return this;};};for(var k=0;k<px.length;k++){de=px[k].toLowerCase();$D[de]=$D[de+"s"]=ef(px[k]);$N[de]=$N[de+"s"]=nf(de);}}());Date.prototype.toJSONString=function(){return this.toString("yyyy-MM-ddThh:mm:ssZ");};Date.prototype.toShortDateString=function(){return this.toString(Date.CultureInfo.formatPatterns.shortDatePattern);};Date.prototype.toLongDateString=function(){return this.toString(Date.CultureInfo.formatPatterns.longDatePattern);};Date.prototype.toShortTimeString=function(){return this.toString(Date.CultureInfo.formatPatterns.shortTimePattern);};Date.prototype.toLongTimeString=function(){return this.toString(Date.CultureInfo.formatPatterns.longTimePattern);};Date.prototype.getOrdinal=function(){switch(this.getDate()){case 1:case 21:case 31:return"st";case 2:case 22:return"nd";case 3:case 23:return"rd";default:return"th";}};
47
+ (function(){Date.Parsing={Exception:function(s){this.message="Parse error at '"+s.substring(0,10)+" ...'";}};var $P=Date.Parsing;var _=$P.Operators={rtoken:function(r){return function(s){var mx=s.match(r);if(mx){return([mx[0],s.substring(mx[0].length)]);}else{throw new $P.Exception(s);}};},token:function(s){return function(s){return _.rtoken(new RegExp("^\s*"+s+"\s*"))(s);};},stoken:function(s){return _.rtoken(new RegExp("^"+s));},until:function(p){return function(s){var qx=[],rx=null;while(s.length){try{rx=p.call(this,s);}catch(e){qx.push(rx[0]);s=rx[1];continue;}
48
+ break;}
49
+ return[qx,s];};},many:function(p){return function(s){var rx=[],r=null;while(s.length){try{r=p.call(this,s);}catch(e){return[rx,s];}
50
+ rx.push(r[0]);s=r[1];}
51
+ return[rx,s];};},optional:function(p){return function(s){var r=null;try{r=p.call(this,s);}catch(e){return[null,s];}
52
+ return[r[0],r[1]];};},not:function(p){return function(s){try{p.call(this,s);}catch(e){return[null,s];}
53
+ throw new $P.Exception(s);};},ignore:function(p){return p?function(s){var r=null;r=p.call(this,s);return[null,r[1]];}:null;},product:function(){var px=arguments[0],qx=Array.prototype.slice.call(arguments,1),rx=[];for(var i=0;i<px.length;i++){rx.push(_.each(px[i],qx));}
54
+ return rx;},cache:function(rule){var cache={},r=null;return function(s){try{r=cache[s]=(cache[s]||rule.call(this,s));}catch(e){r=cache[s]=e;}
55
+ if(r instanceof $P.Exception){throw r;}else{return r;}};},any:function(){var px=arguments;return function(s){var r=null;for(var i=0;i<px.length;i++){if(px[i]==null){continue;}
56
+ try{r=(px[i].call(this,s));}catch(e){r=null;}
57
+ if(r){return r;}}
58
+ throw new $P.Exception(s);};},each:function(){var px=arguments;return function(s){var rx=[],r=null;for(var i=0;i<px.length;i++){if(px[i]==null){continue;}
59
+ try{r=(px[i].call(this,s));}catch(e){throw new $P.Exception(s);}
60
+ rx.push(r[0]);s=r[1];}
61
+ return[rx,s];};},all:function(){var px=arguments,_=_;return _.each(_.optional(px));},sequence:function(px,d,c){d=d||_.rtoken(/^\s*/);c=c||null;if(px.length==1){return px[0];}
62
+ return function(s){var r=null,q=null;var rx=[];for(var i=0;i<px.length;i++){try{r=px[i].call(this,s);}catch(e){break;}
63
+ rx.push(r[0]);try{q=d.call(this,r[1]);}catch(ex){q=null;break;}
64
+ s=q[1];}
65
+ if(!r){throw new $P.Exception(s);}
66
+ if(q){throw new $P.Exception(q[1]);}
67
+ if(c){try{r=c.call(this,r[1]);}catch(ey){throw new $P.Exception(r[1]);}}
68
+ return[rx,(r?r[1]:s)];};},between:function(d1,p,d2){d2=d2||d1;var _fn=_.each(_.ignore(d1),p,_.ignore(d2));return function(s){var rx=_fn.call(this,s);return[[rx[0][0],r[0][2]],rx[1]];};},list:function(p,d,c){d=d||_.rtoken(/^\s*/);c=c||null;return(p instanceof Array?_.each(_.product(p.slice(0,-1),_.ignore(d)),p.slice(-1),_.ignore(c)):_.each(_.many(_.each(p,_.ignore(d))),px,_.ignore(c)));},set:function(px,d,c){d=d||_.rtoken(/^\s*/);c=c||null;return function(s){var r=null,p=null,q=null,rx=null,best=[[],s],last=false;for(var i=0;i<px.length;i++){q=null;p=null;r=null;last=(px.length==1);try{r=px[i].call(this,s);}catch(e){continue;}
69
+ rx=[[r[0]],r[1]];if(r[1].length>0&&!last){try{q=d.call(this,r[1]);}catch(ex){last=true;}}else{last=true;}
70
+ if(!last&&q[1].length===0){last=true;}
71
+ if(!last){var qx=[];for(var j=0;j<px.length;j++){if(i!=j){qx.push(px[j]);}}
72
+ p=_.set(qx,d).call(this,q[1]);if(p[0].length>0){rx[0]=rx[0].concat(p[0]);rx[1]=p[1];}}
73
+ if(rx[1].length<best[1].length){best=rx;}
74
+ if(best[1].length===0){break;}}
75
+ if(best[0].length===0){return best;}
76
+ if(c){try{q=c.call(this,best[1]);}catch(ey){throw new $P.Exception(best[1]);}
77
+ best[1]=q[1];}
78
+ return best;};},forward:function(gr,fname){return function(s){return gr[fname].call(this,s);};},replace:function(rule,repl){return function(s){var r=rule.call(this,s);return[repl,r[1]];};},process:function(rule,fn){return function(s){var r=rule.call(this,s);return[fn.call(this,r[0]),r[1]];};},min:function(min,rule){return function(s){var rx=rule.call(this,s);if(rx[0].length<min){throw new $P.Exception(s);}
79
+ return rx;};}};var _generator=function(op){return function(){var args=null,rx=[];if(arguments.length>1){args=Array.prototype.slice.call(arguments);}else if(arguments[0]instanceof Array){args=arguments[0];}
80
+ if(args){for(var i=0,px=args.shift();i<px.length;i++){args.unshift(px[i]);rx.push(op.apply(null,args));args.shift();return rx;}}else{return op.apply(null,arguments);}};};var gx="optional not ignore cache".split(/\s/);for(var i=0;i<gx.length;i++){_[gx[i]]=_generator(_[gx[i]]);}
81
+ var _vector=function(op){return function(){if(arguments[0]instanceof Array){return op.apply(null,arguments[0]);}else{return op.apply(null,arguments);}};};var vx="each any all".split(/\s/);for(var j=0;j<vx.length;j++){_[vx[j]]=_vector(_[vx[j]]);}}());(function(){var flattenAndCompact=function(ax){var rx=[];for(var i=0;i<ax.length;i++){if(ax[i]instanceof Array){rx=rx.concat(flattenAndCompact(ax[i]));}else{if(ax[i]){rx.push(ax[i]);}}}
82
+ return rx;};Date.Grammar={};Date.Translator={hour:function(s){return function(){this.hour=Number(s);};},minute:function(s){return function(){this.minute=Number(s);};},second:function(s){return function(){this.second=Number(s);};},meridian:function(s){return function(){this.meridian=s.slice(0,1).toLowerCase();};},timezone:function(s){return function(){var n=s.replace(/[^\d\+\-]/g,"");if(n.length){this.timezoneOffset=Number(n);}else{this.timezone=s.toLowerCase();}};},day:function(x){var s=x[0];return function(){this.day=Number(s.match(/\d+/)[0]);};},month:function(s){return function(){this.month=((s.length==3)?Date.getMonthNumberFromName(s):(Number(s)-1));};},year:function(s){return function(){var n=Number(s);this.year=((s.length>2)?n:(n+(((n+2000)<Date.CultureInfo.twoDigitYearMax)?2000:1900)));};},rday:function(s){return function(){switch(s){case"yesterday":this.days=-1;break;case"tomorrow":this.days=1;break;case"today":this.days=0;break;case"now":this.days=0;this.now=true;break;}};},finishExact:function(x){x=(x instanceof Array)?x:[x];var now=new Date();this.year=now.getFullYear();this.month=now.getMonth();this.day=1;this.hour=0;this.minute=0;this.second=0;for(var i=0;i<x.length;i++){if(x[i]){x[i].call(this);}}
83
+ this.hour=(this.meridian=="p"&&this.hour<13)?this.hour+12:this.hour;if(this.day>Date.getDaysInMonth(this.year,this.month)){throw new RangeError(this.day+" is not a valid value for days.");}
84
+ var r=new Date(this.year,this.month,this.day,this.hour,this.minute,this.second);if(this.timezone){r.set({timezone:this.timezone});}else if(this.timezoneOffset){r.set({timezoneOffset:this.timezoneOffset});}
85
+ return r;},finish:function(x){x=(x instanceof Array)?flattenAndCompact(x):[x];if(x.length===0){return null;}
86
+ for(var i=0;i<x.length;i++){if(typeof x[i]=="function"){x[i].call(this);}}
87
+ if(this.now){return new Date();}
88
+ var today=Date.today();var method=null;var expression=!!(this.days!=null||this.orient||this.operator);if(expression){var gap,mod,orient;orient=((this.orient=="past"||this.operator=="subtract")?-1:1);if(this.weekday){this.unit="day";gap=(Date.getDayNumberFromName(this.weekday)-today.getDay());mod=7;this.days=gap?((gap+(orient*mod))%mod):(orient*mod);}
89
+ if(this.month){this.unit="month";gap=(this.month-today.getMonth());mod=12;this.months=gap?((gap+(orient*mod))%mod):(orient*mod);this.month=null;}
90
+ if(!this.unit){this.unit="day";}
91
+ if(this[this.unit+"s"]==null||this.operator!=null){if(!this.value){this.value=1;}
92
+ if(this.unit=="week"){this.unit="day";this.value=this.value*7;}
93
+ this[this.unit+"s"]=this.value*orient;}
94
+ return today.add(this);}else{if(this.meridian&&this.hour){this.hour=(this.hour<13&&this.meridian=="p")?this.hour+12:this.hour;}
95
+ if(this.weekday&&!this.day){this.day=(today.addDays((Date.getDayNumberFromName(this.weekday)-today.getDay()))).getDate();}
96
+ if(this.month&&!this.day){this.day=1;}
97
+ return today.set(this);}}};var _=Date.Parsing.Operators,g=Date.Grammar,t=Date.Translator,_fn;g.datePartDelimiter=_.rtoken(/^([\s\-\.\,\/\x27]+)/);g.timePartDelimiter=_.stoken(":");g.whiteSpace=_.rtoken(/^\s*/);g.generalDelimiter=_.rtoken(/^(([\s\,]|at|on)+)/);var _C={};g.ctoken=function(keys){var fn=_C[keys];if(!fn){var c=Date.CultureInfo.regexPatterns;var kx=keys.split(/\s+/),px=[];for(var i=0;i<kx.length;i++){px.push(_.replace(_.rtoken(c[kx[i]]),kx[i]));}
98
+ fn=_C[keys]=_.any.apply(null,px);}
99
+ return fn;};g.ctoken2=function(key){return _.rtoken(Date.CultureInfo.regexPatterns[key]);};g.h=_.cache(_.process(_.rtoken(/^(0[0-9]|1[0-2]|[1-9])/),t.hour));g.hh=_.cache(_.process(_.rtoken(/^(0[0-9]|1[0-2])/),t.hour));g.H=_.cache(_.process(_.rtoken(/^([0-1][0-9]|2[0-3]|[0-9])/),t.hour));g.HH=_.cache(_.process(_.rtoken(/^([0-1][0-9]|2[0-3])/),t.hour));g.m=_.cache(_.process(_.rtoken(/^([0-5][0-9]|[0-9])/),t.minute));g.mm=_.cache(_.process(_.rtoken(/^[0-5][0-9]/),t.minute));g.s=_.cache(_.process(_.rtoken(/^([0-5][0-9]|[0-9])/),t.second));g.ss=_.cache(_.process(_.rtoken(/^[0-5][0-9]/),t.second));g.hms=_.cache(_.sequence([g.H,g.mm,g.ss],g.timePartDelimiter));g.t=_.cache(_.process(g.ctoken2("shortMeridian"),t.meridian));g.tt=_.cache(_.process(g.ctoken2("longMeridian"),t.meridian));g.z=_.cache(_.process(_.rtoken(/^(\+|\-)?\s*\d\d\d\d?/),t.timezone));g.zz=_.cache(_.process(_.rtoken(/^(\+|\-)\s*\d\d\d\d/),t.timezone));g.zzz=_.cache(_.process(g.ctoken2("timezone"),t.timezone));g.timeSuffix=_.each(_.ignore(g.whiteSpace),_.set([g.tt,g.zzz]));g.time=_.each(_.optional(_.ignore(_.stoken("T"))),g.hms,g.timeSuffix);g.d=_.cache(_.process(_.each(_.rtoken(/^([0-2]\d|3[0-1]|\d)/),_.optional(g.ctoken2("ordinalSuffix"))),t.day));g.dd=_.cache(_.process(_.each(_.rtoken(/^([0-2]\d|3[0-1])/),_.optional(g.ctoken2("ordinalSuffix"))),t.day));g.ddd=g.dddd=_.cache(_.process(g.ctoken("sun mon tue wed thu fri sat"),function(s){return function(){this.weekday=s;};}));g.M=_.cache(_.process(_.rtoken(/^(1[0-2]|0\d|\d)/),t.month));g.MM=_.cache(_.process(_.rtoken(/^(1[0-2]|0\d)/),t.month));g.MMM=g.MMMM=_.cache(_.process(g.ctoken("jan feb mar apr may jun jul aug sep oct nov dec"),t.month));g.y=_.cache(_.process(_.rtoken(/^(\d\d?)/),t.year));g.yy=_.cache(_.process(_.rtoken(/^(\d\d)/),t.year));g.yyy=_.cache(_.process(_.rtoken(/^(\d\d?\d?\d?)/),t.year));g.yyyy=_.cache(_.process(_.rtoken(/^(\d\d\d\d)/),t.year));_fn=function(){return _.each(_.any.apply(null,arguments),_.not(g.ctoken2("timeContext")));};g.day=_fn(g.d,g.dd);g.month=_fn(g.M,g.MMM);g.year=_fn(g.yyyy,g.yy);g.orientation=_.process(g.ctoken("past future"),function(s){return function(){this.orient=s;};});g.operator=_.process(g.ctoken("add subtract"),function(s){return function(){this.operator=s;};});g.rday=_.process(g.ctoken("yesterday tomorrow today now"),t.rday);g.unit=_.process(g.ctoken("minute hour day week month year"),function(s){return function(){this.unit=s;};});g.value=_.process(_.rtoken(/^\d\d?(st|nd|rd|th)?/),function(s){return function(){this.value=s.replace(/\D/g,"");};});g.expression=_.set([g.rday,g.operator,g.value,g.unit,g.orientation,g.ddd,g.MMM]);_fn=function(){return _.set(arguments,g.datePartDelimiter);};g.mdy=_fn(g.ddd,g.month,g.day,g.year);g.ymd=_fn(g.ddd,g.year,g.month,g.day);g.dmy=_fn(g.ddd,g.day,g.month,g.year);g.date=function(s){return((g[Date.CultureInfo.dateElementOrder]||g.mdy).call(this,s));};g.format=_.process(_.many(_.any(_.process(_.rtoken(/^(dd?d?d?|MM?M?M?|yy?y?y?|hh?|HH?|mm?|ss?|tt?|zz?z?)/),function(fmt){if(g[fmt]){return g[fmt];}else{throw Date.Parsing.Exception(fmt);}}),_.process(_.rtoken(/^[^dMyhHmstz]+/),function(s){return _.ignore(_.stoken(s));}))),function(rules){return _.process(_.each.apply(null,rules),t.finishExact);});var _F={};var _get=function(f){return _F[f]=(_F[f]||g.format(f)[0]);};g.formats=function(fx){if(fx instanceof Array){var rx=[];for(var i=0;i<fx.length;i++){rx.push(_get(fx[i]));}
100
+ return _.any.apply(null,rx);}else{return _get(fx);}};g._formats=g.formats(["yyyy-MM-ddTHH:mm:ss","ddd, MMM dd, yyyy H:mm:ss tt","ddd MMM d yyyy HH:mm:ss zzz","d"]);g._start=_.process(_.set([g.date,g.time,g.expression],g.generalDelimiter,g.whiteSpace),t.finish);g.start=function(s){try{var r=g._formats.call({},s);if(r[1].length===0){return r;}}catch(e){}
101
+ return g._start.call({},s);};}());Date._parse=Date.parse;Date.parse=function(s){var r=null;if(!s){return null;}
102
+ try{r=Date.Grammar.start.call({},s);}catch(e){return null;}
103
+ return((r[1].length===0)?r[0]:null);};Date.getParseFunction=function(fx){var fn=Date.Grammar.formats(fx);return function(s){var r=null;try{r=fn.call({},s);}catch(e){return null;}
104
+ return((r[1].length===0)?r[0]:null);};};Date.parseExact=function(s,fx){return Date.getParseFunction(fx)(s);};
readme.txt CHANGED
@@ -1,9 +1,9 @@
1
  === Editorial Calendar ===
2
- Contributors: cvernon, justinstresslimit, MaryVogt, zgrossbart
3
  Tags: posts, post, calendar, AJAX, admin, administration
4
  Requires at least: 2.8.5
5
- Tested up to: 3.2
6
- Stable tag: 1.4
7
 
8
  The Editorial Calendar makes it possible to see all your posts and drag and drop them to manage your blog.
9
 
@@ -120,7 +120,21 @@ The collected data is all available to the public. Check out the <a href="http:
120
 
121
  = What users can use the calendar? =
122
 
123
- The editorial calendar works differently based on your permissions. Administrators and Editors can use every feature available in the calendar. Authors can use the calendar to edit and move their own posts, but other people's posts are read-only. Contributors and Subscribers can't see the calendar.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
124
 
125
  = Can I use the editorial calendar with pages? =
126
 
@@ -151,6 +165,14 @@ Moving published posts can cause problems with some RSS feeds and is generally n
151
 
152
  == Changelog ==
153
 
 
 
 
 
 
 
 
 
154
  = 1.4 =
155
 
156
  * We now have a new look and feel for the quick edit dialog and a few other elements to match WordPress 3.2.
1
  === Editorial Calendar ===
2
+ Contributors: cvernon, justinstresslimit, jkudish, MaryVogt, zgrossbart
3
  Tags: posts, post, calendar, AJAX, admin, administration
4
  Requires at least: 2.8.5
5
+ Tested up to: 3.2.1
6
+ Stable tag: 1.5
7
 
8
  The Editorial Calendar makes it possible to see all your posts and drag and drop them to manage your blog.
9
 
120
 
121
  = What users can use the calendar? =
122
 
123
+ The editorial calendar works differently based on your permissions.
124
+
125
+ * Administrators and Editors can use every feature available in the calendar.
126
+ * Authors can use the calendar to edit, move, and publish their own posts, but other people's posts are read-only.
127
+ * Contributors see everyone's posts and move their own posts, but can only save drafts.
128
+ * Subscribers can't see the calendar.
129
+
130
+ You can see how it looks for different usres on our <a href="http://www.zackgrossbart.com/extras/sandbox/wp-admin/edit.php?page=cal">Zack's WordPress Sandbox</a> with the following users:
131
+
132
+ * edgar the Editor
133
+ * alice the Author
134
+ * conrad the Contributor
135
+ * sam the Subscriber
136
+
137
+ Each of theses users has the password test.
138
 
139
  = Can I use the editorial calendar with pages? =
140
 
165
 
166
  == Changelog ==
167
 
168
+ = 1.5 =
169
+
170
+ The post time field in the quick edit dialog is now editable so you can specify any time you want instead of having to pick in 30 minute increments.
171
+
172
+ The calendar is now translated into German. Thanks to Matthias Nattke who uses the Editorial Calendar on his site <a href="http://www.kikamagazin.de">Kikamagazin Bloggt</a>.
173
+
174
+ The calendar is now supporting a special post type "edcal_show_calendar_" to make sure certain custom post types don't show up in the calendar.
175
+
176
  = 1.4 =
177
 
178
  * We now have a new look and feel for the quick edit dialog and a few other elements to match WordPress 3.2.