calendar_date_select 1.11.1
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +216 -0
- data/MIT-LICENSE +20 -0
- data/Manifest.txt +39 -0
- data/Rakefile +31 -0
- data/Readme.txt +16 -0
- data/init.rb +1 -0
- data/js_test/functional/cds_test.html +334 -0
- data/js_test/prototype.js +4184 -0
- data/js_test/test.css +40 -0
- data/js_test/unit/cds_helper_methods.html +46 -0
- data/js_test/unittest.js +564 -0
- data/lib/calendar_date_select.rb +19 -0
- data/lib/calendar_date_select/calendar_date_select.rb +223 -0
- data/lib/calendar_date_select/includes_helper.rb +38 -0
- data/public/blank_iframe.html +2 -0
- data/public/images/calendar_date_select/calendar.gif +0 -0
- data/public/javascripts/calendar_date_select/calendar_date_select.js +442 -0
- data/public/javascripts/calendar_date_select/format_american.js +34 -0
- data/public/javascripts/calendar_date_select/format_db.js +27 -0
- data/public/javascripts/calendar_date_select/format_euro_24hr.js +7 -0
- data/public/javascripts/calendar_date_select/format_euro_24hr_ymd.js +7 -0
- data/public/javascripts/calendar_date_select/format_finnish.js +32 -0
- data/public/javascripts/calendar_date_select/format_hyphen_ampm.js +36 -0
- data/public/javascripts/calendar_date_select/format_iso_date.js +46 -0
- data/public/javascripts/calendar_date_select/format_italian.js +24 -0
- data/public/javascripts/calendar_date_select/locale/de.js +10 -0
- data/public/javascripts/calendar_date_select/locale/fi.js +10 -0
- data/public/javascripts/calendar_date_select/locale/fr.js +10 -0
- data/public/javascripts/calendar_date_select/locale/pl.js +10 -0
- data/public/javascripts/calendar_date_select/locale/pt.js +11 -0
- data/public/javascripts/calendar_date_select/locale/ru.js +10 -0
- data/public/stylesheets/calendar_date_select/blue.css +130 -0
- data/public/stylesheets/calendar_date_select/default.css +135 -0
- data/public/stylesheets/calendar_date_select/plain.css +128 -0
- data/public/stylesheets/calendar_date_select/red.css +135 -0
- data/public/stylesheets/calendar_date_select/silver.css +133 -0
- data/test/functional/calendar_date_select_test.rb +157 -0
- data/test/functional/helper_methods_test.rb +15 -0
- data/test/test_helper.rb +19 -0
- metadata +104 -0
@@ -0,0 +1,34 @@
|
|
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
|
+
var d = string.match(new RegExp(regexp, "i"));
|
20
|
+
if (d==null) {
|
21
|
+
return Date.parse(string); // Give javascript a chance to parse it.
|
22
|
+
}
|
23
|
+
|
24
|
+
mdy = d[1].split('/');
|
25
|
+
hrs = 0;
|
26
|
+
mts = 0;
|
27
|
+
if(d[3] != null) {
|
28
|
+
hrs = parseInt(d[3].split('')[0], 10);
|
29
|
+
if(d[5].toLowerCase() == 'pm') { hrs += 12; } // Add 12 more to hrs
|
30
|
+
mts = d[4].split(':')[1];
|
31
|
+
}
|
32
|
+
|
33
|
+
return new Date(mdy[2], parseInt(mdy[0], 10)-1, mdy[1], hrs, mts, 0);
|
34
|
+
}
|
@@ -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,36 @@
|
|
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
|
+
is_pm = (d[9].toLowerCase()=="pm")
|
22
|
+
if (is_pm && hours <= 11) hours+=12;
|
23
|
+
if (!is_pm && hours == 12) hours=0;
|
24
|
+
date.setHours(hours);
|
25
|
+
|
26
|
+
}
|
27
|
+
if (d[8]) { date.setMinutes(d[8]); }
|
28
|
+
if (d[10]) { date.setSeconds(d[10]); }
|
29
|
+
if (d[12]) { date.setMilliseconds(Number("0." + d[12]) * 1000); }
|
30
|
+
if (d[14]) {
|
31
|
+
offset = (Number(d[16]) * 60) + Number(d[17]);
|
32
|
+
offset *= ((d[15] == '-') ? 1 : -1);
|
33
|
+
}
|
34
|
+
|
35
|
+
return date;
|
36
|
+
}
|
@@ -0,0 +1,46 @@
|
|
1
|
+
Date.prototype.toFormattedString = function(include_time) {
|
2
|
+
var hour;
|
3
|
+
var str = this.getFullYear() + "-" + Date.padded2(this.getMonth() + 1) + "-" +Date.padded2(this.getDate());
|
4
|
+
if (include_time) {
|
5
|
+
hour = this.getHours();
|
6
|
+
str += " " + this.getHours() + ":" + this.getPaddedMinutes();
|
7
|
+
}
|
8
|
+
return str;
|
9
|
+
};
|
10
|
+
|
11
|
+
Date.parseFormattedString = function (string) {
|
12
|
+
|
13
|
+
var regexp = "([0-9]{4})(-([0-9]{2})(-([0-9]{2})" +
|
14
|
+
"( ([0-9]{1,2}):([0-9]{2})?" +
|
15
|
+
"?)?)?)?";
|
16
|
+
|
17
|
+
var d = string.match(new RegExp(regexp, "i"));
|
18
|
+
if (d === null) {
|
19
|
+
return Date.parse(string); // at least give javascript a crack at it.
|
20
|
+
}
|
21
|
+
var offset = 0;
|
22
|
+
var date = new Date(d[1], 0, 1);
|
23
|
+
if (d[3]) {
|
24
|
+
date.setMonth(d[3] - 1);
|
25
|
+
}
|
26
|
+
if (d[5]) {
|
27
|
+
date.setDate(d[5]);
|
28
|
+
}
|
29
|
+
if (d[7]) {
|
30
|
+
date.setHours(d[7]);
|
31
|
+
}
|
32
|
+
if (d[8]) {
|
33
|
+
date.setMinutes(d[8]);
|
34
|
+
}
|
35
|
+
if (d[0]) {
|
36
|
+
date.setSeconds(d[0]);
|
37
|
+
}
|
38
|
+
if (d[2]) {
|
39
|
+
date.setMilliseconds(Number("0." + d[2]));
|
40
|
+
}
|
41
|
+
if (d[4]) {
|
42
|
+
offset = (Number(d[6])) + Number(d[8]);
|
43
|
+
offset = ((d[5] == '-') ? 1 : -1);
|
44
|
+
}
|
45
|
+
return date;
|
46
|
+
};
|
@@ -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 = $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,10 @@
|
|
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
|
+
}
|
@@ -0,0 +1,10 @@
|
|
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
|
+
"Today": "Dziś"
|
10
|
+
}
|
@@ -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,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
|
+
}
|
@@ -0,0 +1,135 @@
|
|
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: #aaa;
|
17
|
+
border-top:1px solid #777;
|
18
|
+
border-bottom:1px solid #777;
|
19
|
+
color: white !important;
|
20
|
+
}
|
21
|
+
|
22
|
+
.calendar_date_select .cds_buttons {
|
23
|
+
text-align:center;
|
24
|
+
padding:5px 0px;
|
25
|
+
background-color: #555;
|
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
|
+
.calendar_date_select .cds_header a.next {
|
70
|
+
float:right;
|
71
|
+
}
|
72
|
+
|
73
|
+
.calendar_date_select .cds_header a.close {
|
74
|
+
float:right;
|
75
|
+
display:none;
|
76
|
+
}
|
77
|
+
|
78
|
+
.calendar_date_select .cds_header select.month {
|
79
|
+
width:90px;
|
80
|
+
}
|
81
|
+
|
82
|
+
.calendar_date_select .cds_header select.year {
|
83
|
+
width:61px;
|
84
|
+
}
|
85
|
+
.calendar_date_select .cds_buttons a {
|
86
|
+
color: white;
|
87
|
+
font-size: 9px;
|
88
|
+
}
|
89
|
+
|
90
|
+
.calendar_date_select td {
|
91
|
+
font-size:12px;
|
92
|
+
width: 24px;
|
93
|
+
height: 21px;
|
94
|
+
text-align:center;
|
95
|
+
vertical-align: middle;
|
96
|
+
background-color: #fff;
|
97
|
+
}
|
98
|
+
.calendar_date_select td.weekend {
|
99
|
+
background-color: #eee;
|
100
|
+
border-left:1px solid #ddd;
|
101
|
+
border-right:1px solid #ddd;
|
102
|
+
}
|
103
|
+
|
104
|
+
.calendar_date_select td div {
|
105
|
+
color: #000;
|
106
|
+
}
|
107
|
+
.calendar_date_select td div.other {
|
108
|
+
color: #ccc;
|
109
|
+
}
|
110
|
+
.calendar_date_select td.selected div {
|
111
|
+
color:white;
|
112
|
+
}
|
113
|
+
|
114
|
+
.calendar_date_select tbody td {
|
115
|
+
border-bottom: 1px solid #ddd;
|
116
|
+
}
|
117
|
+
.calendar_date_select td.selected {
|
118
|
+
background-color:#777;
|
119
|
+
}
|
120
|
+
|
121
|
+
.calendar_date_select td:hover {
|
122
|
+
background-color:#ccc;
|
123
|
+
}
|
124
|
+
|
125
|
+
.calendar_date_select td.today {
|
126
|
+
border: 1px dashed #999;
|
127
|
+
}
|
128
|
+
|
129
|
+
.calendar_date_select td.disabled div {
|
130
|
+
color: #e6e6e6;
|
131
|
+
}
|
132
|
+
|
133
|
+
.fieldWithErrors .calendar_date_select {
|
134
|
+
border: 2px solid red;
|
135
|
+
}
|