ginkel-calendar_date_select 1.16.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. data/.gitignore +3 -0
  2. data/History.txt +270 -0
  3. data/MIT-LICENSE +20 -0
  4. data/Manifest.txt +42 -0
  5. data/README.txt +16 -0
  6. data/Rakefile +38 -0
  7. data/VERSION +1 -0
  8. data/calendar_date_select.gemspec +99 -0
  9. data/init.rb +1 -0
  10. data/js_test/functional/.tmp_cds_test.html +306 -0
  11. data/js_test/functional/cds_test.html +365 -0
  12. data/js_test/functional/format_iso_date_test.html +52 -0
  13. data/js_test/prototype.js +4184 -0
  14. data/js_test/test.css +40 -0
  15. data/js_test/unit/cds_helper_methods.html +46 -0
  16. data/js_test/unittest.js +564 -0
  17. data/lib/calendar_date_select.rb +33 -0
  18. data/lib/calendar_date_select/calendar_date_select.rb +122 -0
  19. data/lib/calendar_date_select/form_helpers.rb +240 -0
  20. data/lib/calendar_date_select/includes_helper.rb +29 -0
  21. data/public/blank_iframe.html +2 -0
  22. data/public/images/calendar_date_select/calendar.gif +0 -0
  23. data/public/javascripts/calendar_date_select/calendar_date_select.js +448 -0
  24. data/public/javascripts/calendar_date_select/format_american.js +35 -0
  25. data/public/javascripts/calendar_date_select/format_danish.js +31 -0
  26. data/public/javascripts/calendar_date_select/format_db.js +27 -0
  27. data/public/javascripts/calendar_date_select/format_euro_24hr.js +7 -0
  28. data/public/javascripts/calendar_date_select/format_euro_24hr_ymd.js +7 -0
  29. data/public/javascripts/calendar_date_select/format_finnish.js +32 -0
  30. data/public/javascripts/calendar_date_select/format_hyphen_ampm.js +37 -0
  31. data/public/javascripts/calendar_date_select/format_iso_date.js +29 -0
  32. data/public/javascripts/calendar_date_select/format_italian.js +24 -0
  33. data/public/javascripts/calendar_date_select/locale/ar.js +10 -0
  34. data/public/javascripts/calendar_date_select/locale/da.js +11 -0
  35. data/public/javascripts/calendar_date_select/locale/de.js +11 -0
  36. data/public/javascripts/calendar_date_select/locale/es.js +11 -0
  37. data/public/javascripts/calendar_date_select/locale/fi.js +10 -0
  38. data/public/javascripts/calendar_date_select/locale/fr.js +11 -0
  39. data/public/javascripts/calendar_date_select/locale/it.js +9 -0
  40. data/public/javascripts/calendar_date_select/locale/ja.js +11 -0
  41. data/public/javascripts/calendar_date_select/locale/nl.js +11 -0
  42. data/public/javascripts/calendar_date_select/locale/pl.js +11 -0
  43. data/public/javascripts/calendar_date_select/locale/pt.js +11 -0
  44. data/public/javascripts/calendar_date_select/locale/ru.js +10 -0
  45. data/public/javascripts/calendar_date_select/locale/sl.js +11 -0
  46. data/public/javascripts/calendar_date_select/locale/sv.js +9 -0
  47. data/public/stylesheets/calendar_date_select/blue.css +130 -0
  48. data/public/stylesheets/calendar_date_select/default.css +135 -0
  49. data/public/stylesheets/calendar_date_select/green.css +142 -0
  50. data/public/stylesheets/calendar_date_select/plain.css +128 -0
  51. data/public/stylesheets/calendar_date_select/red.css +135 -0
  52. data/public/stylesheets/calendar_date_select/silver.css +133 -0
  53. data/spec/calendar_date_select/calendar_date_select_spec.rb +14 -0
  54. data/spec/calendar_date_select/form_helpers_spec.rb +189 -0
  55. data/spec/calendar_date_select/includes_helper_spec.rb +46 -0
  56. data/spec/spec_helper.rb +26 -0
  57. metadata +130 -0
@@ -0,0 +1,35 @@
1
+ // American Format: 12/31/2000 5:00 pm
2
+ // Thanks, Wes Hays
3
+ Date.prototype.toFormattedString = function(include_time){
4
+ str = Date.padded2(this.getMonth() + 1) + '/' +Date.padded2(this.getDate()) + '/' + this.getFullYear();
5
+
6
+ if (include_time) { hour=this.getHours(); str += " " + this.getAMPMHour() + ":" + this.getPaddedMinutes() + " " + this.getAMPM() }
7
+ return str;
8
+ }
9
+
10
+ Date.parseFormattedString = function (string) {
11
+ // Test these with and without the time
12
+ // 11/11/1111 12pm
13
+ // 11/11/1111 1pm
14
+ // 1/11/1111 10:10pm
15
+ // 11/1/1111 01pm
16
+ // 1/1/1111 01:11pm
17
+ // 1/1/1111 1:11pm
18
+ var regexp = "(([0-1]?[0-9])\/[0-3]?[0-9]\/[0-9]{4}) *([0-9]{1,2}(:[0-9]{2})? *(am|pm))?";
19
+ string = string.strip();
20
+ var d = string.match(new RegExp(regexp, "i"));
21
+ if (d==null) {
22
+ return Date.parse(string); // Give javascript a chance to parse it.
23
+ }
24
+
25
+ mdy = d[1].split('/');
26
+ hrs = 0;
27
+ mts = 0;
28
+ if(d[3] != null && d[3].strip() != "") {
29
+ hrs = parseInt(d[3].split('')[0], 10);
30
+ if(d[5].toLowerCase() == 'pm') { hrs += 12; } // Add 12 more to hrs
31
+ mts = d[4].split(':')[1];
32
+ }
33
+
34
+ return new Date(mdy[2], parseInt(mdy[0], 10)-1, mdy[1], hrs, mts, 0);
35
+ }
@@ -0,0 +1,31 @@
1
+ // Formats date and time as "2000/01/20 17:00"
2
+ Date.prototype.toFormattedString = function(include_time){
3
+ str = Date.padded2(this.getDate()) + "/" + Date.padded2(this.getMonth() + 1) + "/" + this.getFullYear();
4
+
5
+ if (include_time) {
6
+ str += " " + this.getHours() + ":" + this.getPaddedMinutes();
7
+ }
8
+ return str;
9
+ }
10
+
11
+ // Parses date and time as "2000/01/20 17:00"
12
+ Date.parseFormattedString = function(string) {
13
+ var regexp = "([0-9]{2})/([0-9]{2})/([0-9]{4})" +
14
+ "( ([0-9]{1,2}):([0-9]{2})(:([0-9]{2})(.([0-9]{3}))?)?" +
15
+ ")?";
16
+ var d = string.match(new RegExp(regexp, "i"));
17
+ if (d==null) return Date.parse(string); // at least give javascript a crack at it.
18
+ var offset = 0;
19
+ var date = new Date(d[3], 0, 1);
20
+ if (d[2]) { date.setMonth(d[2] - 1); }
21
+ if (d[1]) { date.setDate(d[1]); }
22
+ if (d[4]) {
23
+ hours = parseInt(d[5], 10);
24
+ date.setHours(hours);
25
+ }
26
+ if (d[6]) { date.setMinutes(d[6]); }
27
+ //if (d[8]) { date.setSeconds(d[7]); }
28
+ //if (d[9]) { date.setMiliseconds(Number("0." + d[8]) * 1000); }
29
+
30
+ return date;
31
+ }
@@ -0,0 +1,27 @@
1
+ // DB No Seconds Format: 2007-12-05 12:00
2
+
3
+ Date.padded2 = function(hour) { padded2 = hour.toString(); if ((parseInt(hour) < 10) || (parseInt(hour) == null)) padded2="0" + padded2; return padded2; }
4
+ Date.prototype.getAMPMHour = function() { hour=Date.padded2(this.getHours()); return (hour == null) ? 00 : (hour > 24 ? hour - 24 : hour ) }
5
+ Date.prototype.getAMPM = function() { return (this.getHours() < 12) ? "" : ""; }
6
+
7
+ Date.prototype.toFormattedString = function(include_time){
8
+ str = this.getFullYear() + "-" + (this.getMonth() + 1) + "-" + Date.padded2(this.getDate());
9
+ if (include_time) { hour=this.getHours(); str += " " + this.getAMPMHour() + ":" + this.getPaddedMinutes() }
10
+ return str;
11
+ }
12
+
13
+ Date.parseFormattedString = function (string) {
14
+ var regexp = '([0-9]{4})-(([0-9]{1,2})-(([0-9]{1,2})( ([0-9]{1,2}):([0-9]{2})? *)?)?)?';
15
+ var d = string.match(new RegExp(regexp, "i"));
16
+ if (d==null) return Date.parse(string); // at least give javascript a crack at it.
17
+ var offset = 0;
18
+ var date = new Date(d[1], 0, 1);
19
+ if (d[3]) { date.setMonth(d[3] - 1); }
20
+ if (d[5]) { date.setDate(d[5]); }
21
+ if (d[7]) {
22
+ date.setHours(parseInt(d[7], 10));
23
+ }
24
+ if (d[8]) { date.setMinutes(d[8]); }
25
+ if (d[10]) { date.setSeconds(d[10]); }
26
+ return date;
27
+ }
@@ -0,0 +1,7 @@
1
+ // Formats date and time as "01 January 2000 17:00"
2
+ Date.prototype.toFormattedString = function(include_time)
3
+ {
4
+ str = Date.padded2(this.getDate()) + " " + Date.months[this.getMonth()] + " " + this.getFullYear();
5
+ if (include_time) { str += " " + this.getHours() + ":" + this.getPaddedMinutes() }
6
+ return str;
7
+ }
@@ -0,0 +1,7 @@
1
+ // Formats date and time as "2000.01.20 17:00"
2
+ Date.prototype.toFormattedString = function(include_time)
3
+ {
4
+ str = this.getFullYear() + "." + Date.padded2(this.getMonth()+1) + "." + Date.padded2(this.getDate());
5
+ if (include_time) { str += " " + this.getHours() + ":" + this.getPaddedMinutes() }
6
+ return str;
7
+ }
@@ -0,0 +1,32 @@
1
+ Date.padded2 = function(hour) { padded2 = hour.toString(); if ((parseInt(hour) < 10) || (parseInt(hour) == null)) padded2="0" + padded2; return padded2; }
2
+ Date.prototype.getAMPMHour = function() { hour=Date.padded2(this.getHours()); return (hour == null) ? 00 : (hour > 24 ? hour - 24 : hour ) }
3
+ Date.prototype.getAMPM = function() { return (this.getHours() < 12) ? "" : ""; }
4
+
5
+ Date.prototype.toFormattedString = function(include_time){
6
+ str = this.getDate() + "." + (this.getMonth() + 1) + "." + this.getFullYear();
7
+ if (include_time) { hour=this.getHours(); str += " " + this.getAMPMHour() + ":" + this.getPaddedMinutes() }
8
+ return str;
9
+ }
10
+ Date.parseFormattedString = function (string) {
11
+ var regexp = '([0-9]{1,2})\.(([0-9]{1,2})\.(([0-9]{2,4})( ([0-9]{1,2}):([0-9]{2})? *)?)?)?';
12
+ var d = string.match(new RegExp(regexp, "i"));
13
+ if (d==null) return Date.parse(string); // at least give javascript a crack at it.
14
+ var offset = 0;
15
+ if (d[5] && d[5].length == 2) {
16
+ // we got only two digits for the year...
17
+ d[5] = Number(d[5]);
18
+ if (d[5] > 30)
19
+ d[5] += 1900;
20
+ else
21
+ d[5] += 2000;
22
+ }
23
+ var date = new Date(d[5], 0, 1);
24
+ if (d[3]) { date.setMonth(d[3] - 1); }
25
+ if (d[5]) { date.setDate(d[1]); }
26
+ if (d[7]) {
27
+ date.setHours(parseInt(d[7], 10));
28
+ }
29
+ if (d[8]) { date.setMinutes(d[8]); }
30
+ if (d[10]) { date.setSeconds(d[10]); }
31
+ return date;
32
+ }
@@ -0,0 +1,37 @@
1
+ Date.prototype.toFormattedString = function(include_time){
2
+ str = this.getFullYear() + "-" + Date.padded2(this.getMonth() + 1) + "-" +Date.padded2(this.getDate());
3
+
4
+ if (include_time) { hour=this.getHours(); str += " " + this.getAMPMHour() + ":" + this.getPaddedMinutes() + " " + this.getAMPM() }
5
+ return str;
6
+ }
7
+
8
+ Date.parseFormattedString = function (string) {
9
+ var regexp = "([0-9]{4})(-([0-9]{2})(-([0-9]{2})" +
10
+ "( ([0-9]{1,2}):([0-9]{2})? *(pm|am)" +
11
+ "?)?)?)?";
12
+ var d = string.match(new RegExp(regexp, "i"));
13
+ if (d==null) return Date.parse(string); // at least give javascript a crack at it.
14
+ var offset = 0;
15
+ var date = new Date(d[1], 0, 1);
16
+ if (d[3]) { date.setMonth(d[3] - 1); }
17
+ if (d[5]) { date.setDate(d[5]); }
18
+ if (d[7]) {
19
+ hours = parseInt(d[7], 10);
20
+ offset=0;
21
+ if (d[9]) {
22
+ is_pm = (d[9].toLowerCase()=="pm");
23
+ if (is_pm && hours <= 11) hours+=12;
24
+ if (!is_pm && hours == 12) hours=0;
25
+ }
26
+ date.setHours(hours);
27
+ }
28
+ if (d[8]) { date.setMinutes(d[8]); }
29
+ if (d[10]) { date.setSeconds(d[10]); }
30
+ if (d[12]) { date.setMilliseconds(Number("0." + d[12]) * 1000); }
31
+ if (d[14]) {
32
+ offset = (Number(d[16]) * 60) + Number(d[17]);
33
+ offset *= ((d[15] == '-') ? 1 : -1);
34
+ }
35
+
36
+ return date;
37
+ }
@@ -0,0 +1,29 @@
1
+ // International date format (ISO 8601): yyyy-mm-dd
2
+ // Including time (no seconds): yyyy-mm-dd HH:MM
3
+ Date.prototype.toFormattedString = function(include_time) {
4
+ var hour;
5
+ var str = this.getFullYear() + "-" + Date.padded2(this.getMonth() + 1) + "-" +Date.padded2(this.getDate());
6
+ if (include_time) {
7
+ hour = Date.padded2(this.getHours());
8
+ str += " " + hour + ":" + this.getPaddedMinutes();
9
+ }
10
+ return str;
11
+ };
12
+
13
+ // TODO: take care of timezone offsets
14
+ // as the timezone is not displayed in the input,
15
+ // this could be tricky (or just unnessesary)
16
+ Date.parseFormattedString = function (string) {
17
+ var regexp = "([0-9]{4})(-([0-9]{2})(-([0-9]{2})" +
18
+ "([T| ]([0-9]{2}):([0-9]{2})(:([0-9]{2})(\.([0-9]+))?)?" +
19
+ "(Z|(([-+])([0-9]{2}):([0-9]{2})))?)?)?)?";
20
+ var d = string.match(new RegExp(regexp));
21
+
22
+ var date = new Date(d[1], 0, 1);
23
+
24
+ if (d[3]) { date.setMonth(d[3] - 1); }
25
+ if (d[5]) { date.setDate(d[5]); }
26
+ if (d[7]) { date.setHours(d[7]); }
27
+ if (d[8]) { date.setMinutes(d[8]); }
28
+ return date;
29
+ };
@@ -0,0 +1,24 @@
1
+ // Italian Format: 31/12/2000 23:00
2
+ // Thanks, Bigonazzi!
3
+
4
+ Date.prototype.toFormattedString = function(include_time){
5
+ str = this.getDate() + "/" + (this.getMonth() + 1) + "/" + this.getFullYear();
6
+ if (include_time) { str += " " + this.getHours() + ":" + this.getPaddedMinutes() }
7
+ return str;
8
+ }
9
+
10
+ Date.parseFormattedString = function (string) {
11
+ var regexp = '([0-9]{1,2})/(([0-9]{1,2})/(([0-9]{4})( ([0-9]{1,2}):([0-9]{2})? *)?)?)?';
12
+ var d = string.match(new RegExp(regexp, "i"));
13
+ if (d==null) return Date.parse(string); // at least give javascript a crack at it.
14
+ var offset = 0;
15
+ var date = new Date(d[5], 0, 1);
16
+ if (d[3]) { date.setMonth(d[3] - 1); }
17
+ if (d[5]) { date.setDate(d[1]); }
18
+ if (d[7]) {
19
+ date.setHours(parseInt(d[7], 10));
20
+ }
21
+ if (d[8]) { date.setMinutes(d[8]); }
22
+ if (d[10]) { date.setSeconds(d[10]); }
23
+ return date;
24
+ }
@@ -0,0 +1,10 @@
1
+ Date.weekdays = ['سبت', 'أحد', 'إثنين', 'ثلاثاء', 'أربعاء', 'خميس', 'جمعة'];
2
+ Date.months = ['كانون ثاني', 'شباط', 'آذار', 'نيسان', 'أيار', 'حزيران', 'تموز', 'آب', 'أيلول', 'تشرين أول', 'تشرين ثاني', 'كانون أول'];
3
+ Date.first_day_of_week = 6;
4
+
5
+ _translations = {
6
+ "OK": "نفذ",
7
+ "Now": "الآن",
8
+ "Today": "اليوم",
9
+ "Clear": "إلغاء"
10
+ }
@@ -0,0 +1,11 @@
1
+ Date.weekdays = $w('Ma Ti On To Fr Lø Sø');
2
+ Date.months = $w('Januar Februar Marts April Maj Juni Juli August September Oktober November December');
3
+
4
+ Date.first_day_of_week = 1;
5
+
6
+ _translations = {
7
+ "OK": "Vælg",
8
+ "Now": "Nu",
9
+ "Today": "I dag",
10
+ "Clear": "Slet"
11
+ }
@@ -0,0 +1,11 @@
1
+ Date.weekdays = $w('Mo Di Mi Do Fr Sa So');
2
+ Date.months = $w('Januar Februar März April Mai Juni Juli August September Oktober November Dezember');
3
+
4
+ Date.first_day_of_week = 1;
5
+
6
+ _translations = {
7
+ "OK": "OK",
8
+ "Now": "Jetzt",
9
+ "Today": "Heute",
10
+ "Clear": "Löschen"
11
+ }
@@ -0,0 +1,11 @@
1
+ Date.weekdays = $w("L M X J V S D");
2
+ Date.months = $w("Enero Febrero Marzo Abril Mayo Junio Julio Agosto Septiembre Octubre Noviembre Diciembre" );
3
+
4
+ Date.first_day_of_week = 1;
5
+
6
+ _translations = {
7
+ "OK": "Cancelar",
8
+ "Now": "Ahora",
9
+ "Clear": "Limpiar",
10
+ "Today": "Hoy"
11
+ }
@@ -0,0 +1,10 @@
1
+ Date.weekdays = $w("Ma Ti Ke To Pe La Su");
2
+ Date.months = $w("Tammikuu Helmikuu Maaliskuu Huhtikuu Toukokuu Kes�kuu Hein�kuu Elokuu Syyskuu Lokakuu Marraskuu Joulukuu" );
3
+
4
+ Date.first_day_of_week = 1
5
+
6
+ _translations = {
7
+ "OK": "OK",
8
+ "Now": "Nyt",
9
+ "Today": "T�n��n"
10
+ }
@@ -0,0 +1,11 @@
1
+ Date.weekdays = $w('L Ma Me J V S D');
2
+ Date.months = $w('Janvier Février Mars Avril Mai Juin Juillet Août Septembre Octobre Novembre Décembre');
3
+
4
+ Date.first_day_of_week = 1;
5
+
6
+ _translations = {
7
+ "OK": "OK",
8
+ "Now": "Maintenant",
9
+ "Today": "Aujourd'hui",
10
+ "Clear": "Effacer",
11
+ }
@@ -0,0 +1,9 @@
1
+ Date.weekdays = $w('Lu Ma Me Gi Ve Sa Do');
2
+ Date.months = $w('Gennaio Febbraio Marzo Aprile Maggio Giugno Luglio Agosto Settembre Ottobre Novembre Dicembre');
3
+ Date.first_day_of_week = 1;
4
+ _translations = {
5
+ "OK": "OK",
6
+ "Now": "Ora",
7
+ "Today": "Oggi",
8
+ "Clear": "Cancella"
9
+ }
@@ -0,0 +1,11 @@
1
+ Date.weekdays = $w('日 月 火 水 木 金 土');
2
+ Date.months = $w('1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月');
3
+
4
+ Date.first_day_of_week = 0
5
+
6
+ _translations = {
7
+ "OK": "OK",
8
+ "Now": "現在",
9
+ "Today": "今日",
10
+ "Clear": "クリア"
11
+ }
@@ -0,0 +1,11 @@
1
+ Date.weekdays = $w('Ma Di Wo Do Vr Za Zo');
2
+ Date.months = $w('januari februari maart april mei juni juli augustus september oktober november december');
3
+
4
+ Date.first_day_of_week = 1;
5
+
6
+ _translations = {
7
+ "OK": "OK",
8
+ "Now": "Nu",
9
+ "Today": "Vandaag",
10
+ "Clear": "Wissen"
11
+ }
@@ -0,0 +1,11 @@
1
+ Date.weekdays = $w('P W Ś C P S N');
2
+ Date.months = $w('Styczeń Luty Marzec Kwiecień Maj Czerwiec Lipiec Sierpień Wrzesień Październik Listopad Grudzień');
3
+
4
+ Date.first_day_of_week = 1
5
+
6
+ _translations = {
7
+ "OK": "OK",
8
+ "Now": "Teraz",
9
+ "Clear": "Wyczyść",
10
+ "Today": "Dziś"
11
+ }
@@ -0,0 +1,11 @@
1
+ Date.weekdays = $w('D S T Q Q S S');
2
+ Date.months = $w('Janeiro Fevereiro Março Abril Maio Junho Julho Agosto Setembro Outubro Novembro Dezembro');
3
+
4
+ Date.first_day_of_week = 0
5
+
6
+ _translations = {
7
+ "OK": "OK",
8
+ "Now": "Agora",
9
+ "Today": "Hoje",
10
+ "Clear": "Limpar"
11
+ }
@@ -0,0 +1,10 @@
1
+ Date.weekdays = $w('Пн Вт Ср Чт Пт Сб Вс');
2
+ Date.months = $w('Январь Февраль Март Апрель Май Июнь Июль Август Сентябрь Октябрь Ноябрь Декабрь');
3
+
4
+ Date.first_day_of_week = 1
5
+
6
+ _translations = {
7
+ "OK": "OK",
8
+ "Now": "Сейчас",
9
+ "Today": "Сегодня"
10
+ }
@@ -0,0 +1,11 @@
1
+ Date.weekdays = $w('Po To Sr Če Pe So Ne');
2
+ Date.months = $w('Januar Februar Marec April Maj Junij Julij Avgust September Oktober November December');
3
+
4
+ Date.first_day_of_week = 1;
5
+
6
+ _translations = {
7
+ "OK": "OK",
8
+ "Now": "Trenutno",
9
+ "Today": "Danes",
10
+ "Clear": "Pobriši"
11
+ }
@@ -0,0 +1,9 @@
1
+ Date.weekdays = $w('Må Ti On To Fr Lö Sö');
2
+ Date.months = $w('Januari Februari Mars April Maj Juni Juli Augusti September Oktober November December');
3
+ Date.first_day_of_week = 1;
4
+ _translations = {
5
+ "OK": "OK",
6
+ "Now": "Nu",
7
+ "Today": "Idag",
8
+ "Clear": "Avbryt"
9
+ }
@@ -0,0 +1,130 @@
1
+ .calendar_date_select {
2
+ color:white;
3
+ border:#777 1px solid;
4
+ display:block;
5
+ width:195px;
6
+ z-index: 1000;
7
+ }
8
+ /* this is a fun ie6 hack to get drop downs to stay behind the popup window. This should always be just underneath .calendar_date_select */
9
+ iframe.ie6_blocker {
10
+ position: absolute;
11
+ z-index: 999;
12
+ }
13
+
14
+ .calendar_date_select thead th {
15
+ font-weight:bold;
16
+ background-color: #000;
17
+ border-top:1px solid #777;
18
+ border-bottom:2px solid #334;
19
+ color: white !important;
20
+ }
21
+
22
+ .calendar_date_select .cds_buttons {
23
+ text-align:center;
24
+ padding:5px 0px;
25
+ background-color: #000055;
26
+ }
27
+
28
+ .calendar_date_select .cds_footer {
29
+ background-color: black;
30
+ padding:3px;
31
+ font-size:12px;
32
+ text-align:center;
33
+ }
34
+
35
+ .calendar_date_select table {
36
+ margin: 0px;
37
+ padding: 0px;
38
+ }
39
+
40
+
41
+ .calendar_date_select .cds_header {
42
+ background-color: #ccc;
43
+ border-bottom: 2px solid #aaa;
44
+ text-align:center;
45
+ }
46
+
47
+ .calendar_date_select .cds_header span {
48
+ font-size:15px;
49
+ color: black;
50
+ font-weight: bold;
51
+ }
52
+
53
+ .calendar_date_select select { font-size:11px;}
54
+
55
+ .calendar_date_select .cds_header a:hover {
56
+ color: white;
57
+ }
58
+ .calendar_date_select .cds_header a {
59
+ width:22px;
60
+ height:20px;
61
+ text-decoration: none;
62
+ font-size:14px;
63
+ color:black !important;
64
+ }
65
+
66
+ .calendar_date_select .cds_header a.prev {
67
+ float:left;
68
+ }
69
+
70
+ .calendar_date_select .cds_header a.next {
71
+ float:right;
72
+ }
73
+
74
+ .calendar_date_select .cds_header a.close {
75
+ float:right;
76
+ display:none;
77
+ }
78
+
79
+
80
+ .calendar_date_select .cds_header select.month {
81
+ width:90px;
82
+ }
83
+
84
+ .calendar_date_select .cds_header select.year {
85
+ width:61px;
86
+ }
87
+
88
+ .calendar_date_select .cds_buttons a {
89
+ color: white;
90
+ font-size: 9px;
91
+ }
92
+
93
+ .calendar_date_select td {
94
+ background-color: #000066;
95
+ font-size:12px;
96
+ width: 24px;
97
+ height: 21px;
98
+ text-align:center;
99
+ vertical-align: middle;
100
+ }
101
+ .calendar_date_select td.weekend {
102
+ background-color: #00005a;
103
+ }
104
+
105
+ .calendar_date_select td div.other {
106
+ color: #4C5593;
107
+ }
108
+
109
+ .calendar_date_select tbody td {
110
+ border-bottom: 1px solid #000044;
111
+ }
112
+ .calendar_date_select td.selected {
113
+ background-color:white;
114
+ color:black;
115
+ }
116
+
117
+ .calendar_date_select td:hover {
118
+ background-color:#ccc;
119
+ }
120
+
121
+ .calendar_date_select td.disabled div {
122
+ color: #000044;
123
+ }
124
+ .calendar_date_select td.today {
125
+ border: 1px dashed blue;
126
+ }
127
+
128
+ .fieldWithErrors .calendar_date_select {
129
+ border: 2px solid red;
130
+ }