damagecontrol 0.5.0 → 0.5.0.1391

Sign up to get free protection for your applications and to get access to all the features.
Files changed (173) hide show
  1. data/README +67 -11
  2. data/Rakefile +15 -6
  3. data/app/controllers/admin_controller.rb +0 -3
  4. data/app/controllers/application.rb +42 -163
  5. data/app/controllers/build_controller.rb +33 -0
  6. data/app/controllers/files_controller.rb +1 -1
  7. data/app/controllers/project_controller.rb +23 -65
  8. data/app/controllers/rails_ext.rb +247 -0
  9. data/app/controllers/rscm_ext.rb +52 -0
  10. data/app/helpers/build_helper.rb +2 -0
  11. data/app/views/build/email.rhtml +18 -0
  12. data/app/views/build/status.rhtml +20 -0
  13. data/app/views/build/tests.rhtml +2 -0
  14. data/app/views/layouts/{rscm.rhtml → default.rhtml} +10 -4
  15. data/app/views/project/_changesets_list.rhtml +2 -2
  16. data/app/views/project/_cvs.rhtml +4 -5
  17. data/app/views/project/_project.rhtml +9 -9
  18. data/app/views/project/_select_pane.rhtml +26 -0
  19. data/app/views/project/_tab_pane.rhtml +23 -0
  20. data/app/views/project/changeset.rhtml +35 -0
  21. data/app/views/project/view.rhtml +18 -32
  22. data/app/views/setup/welcome.rhtml +118 -0
  23. data/config/database.yml +20 -20
  24. data/config/environment.rb +66 -60
  25. data/config/environments/development.rb +3 -2
  26. data/config/environments/production.rb +3 -2
  27. data/config/environments/test.rb +3 -2
  28. data/config/routes.rb +15 -0
  29. data/lib/damagecontrol/app.rb +11 -40
  30. data/lib/damagecontrol/build.rb +50 -8
  31. data/lib/damagecontrol/directories.rb +7 -6
  32. data/lib/damagecontrol/poller.rb +11 -20
  33. data/lib/damagecontrol/project.rb +83 -16
  34. data/lib/damagecontrol/publisher/ambient_orb.rb +16 -0
  35. data/lib/damagecontrol/publisher/archive.rb +16 -0
  36. data/lib/damagecontrol/publisher/base.rb +25 -0
  37. data/lib/damagecontrol/publisher/build_duration.rb +16 -0
  38. data/lib/damagecontrol/publisher/email.rb +59 -0
  39. data/lib/damagecontrol/publisher/execute.rb +49 -0
  40. data/lib/damagecontrol/publisher/ftp.rb +16 -0
  41. data/lib/damagecontrol/publisher/growl.rb +44 -0
  42. data/lib/damagecontrol/publisher/irc.rb +31 -0
  43. data/lib/damagecontrol/publisher/jabber.rb +68 -0
  44. data/lib/damagecontrol/publisher/scp.rb +16 -0
  45. data/lib/damagecontrol/publisher/x10cm11a.rb +17 -0
  46. data/lib/damagecontrol/publisher/x10cm17a.rb +17 -0
  47. data/lib/damagecontrol/publisher/yahoo.rb +16 -0
  48. data/lib/damagecontrol/standard_persister.rb +2 -2
  49. data/lib/damagecontrol/tracker.rb +48 -6
  50. data/lib/damagecontrol/visitor/rss_writer.rb +1 -1
  51. data/lib/damagecontrol/visitor/yaml_persister.rb +10 -1
  52. data/public/404.html +5 -5
  53. data/public/500.html +5 -5
  54. data/public/dispatch.cgi +2 -2
  55. data/public/dispatch.fcgi +1 -1
  56. data/public/dispatch.rb +2 -2
  57. data/public/images/growlicon.png +0 -0
  58. data/public/images/megaphone.png +0 -0
  59. data/public/images/monotone-logo.png +0 -0
  60. data/public/images/publisher/ambient_orb.png +0 -0
  61. data/public/images/publisher/build_duration.png +0 -0
  62. data/public/images/publisher/email.png +0 -0
  63. data/public/images/publisher/execute.png +0 -0
  64. data/public/images/publisher/growl.png +0 -0
  65. data/public/images/publisher/irc.png +0 -0
  66. data/public/images/publisher/jabber.png +0 -0
  67. data/public/images/publisher/x10cm11a.png +0 -0
  68. data/public/images/publisher/x10cm17a.png +0 -0
  69. data/public/images/publisher/yahoo.png +0 -0
  70. data/public/index.html +70 -1
  71. data/public/javascripts/dateFormat.js +283 -0
  72. data/public/javascripts/jscalendar/ChangeLog +500 -0
  73. data/public/javascripts/jscalendar/README +33 -0
  74. data/public/javascripts/jscalendar/bugtest-hidden-selects.html +108 -0
  75. data/public/javascripts/jscalendar/calendar-blue.css +231 -0
  76. data/public/javascripts/jscalendar/calendar-blue2.css +235 -0
  77. data/public/javascripts/jscalendar/calendar-brown.css +224 -0
  78. data/public/javascripts/jscalendar/calendar-green.css +228 -0
  79. data/public/javascripts/jscalendar/calendar-setup.js +181 -0
  80. data/public/javascripts/jscalendar/calendar-setup_stripped.js +21 -0
  81. data/public/javascripts/jscalendar/calendar-system.css +250 -0
  82. data/public/javascripts/jscalendar/calendar-tas.css +238 -0
  83. data/public/javascripts/jscalendar/calendar-win2k-1.css +270 -0
  84. data/public/javascripts/jscalendar/calendar-win2k-2.css +270 -0
  85. data/public/javascripts/jscalendar/calendar-win2k-cold-1.css +264 -0
  86. data/public/javascripts/jscalendar/calendar-win2k-cold-2.css +270 -0
  87. data/public/javascripts/jscalendar/calendar.js +1715 -0
  88. data/public/javascripts/jscalendar/calendar.php +119 -0
  89. data/public/javascripts/jscalendar/calendar_stripped.js +12 -0
  90. data/public/javascripts/jscalendar/doc/html/reference-Z-S.css +0 -0
  91. data/public/javascripts/jscalendar/doc/html/reference.css +34 -0
  92. data/public/javascripts/jscalendar/doc/html/reference.html +1316 -0
  93. data/public/javascripts/jscalendar/doc/reference.pdf +0 -0
  94. data/public/javascripts/jscalendar/img.gif +0 -0
  95. data/public/javascripts/jscalendar/index.html +333 -0
  96. data/public/javascripts/jscalendar/lang/calendar-af.js +39 -0
  97. data/public/javascripts/jscalendar/lang/calendar-br.js +45 -0
  98. data/public/javascripts/jscalendar/lang/calendar-ca.js +45 -0
  99. data/public/javascripts/jscalendar/lang/calendar-cs-win.js +34 -0
  100. data/public/javascripts/jscalendar/lang/calendar-da.js +63 -0
  101. data/public/javascripts/jscalendar/lang/calendar-de.js +100 -0
  102. data/public/javascripts/jscalendar/lang/calendar-du.js +45 -0
  103. data/public/javascripts/jscalendar/lang/calendar-el.js +89 -0
  104. data/public/javascripts/jscalendar/lang/calendar-en.js +123 -0
  105. data/public/javascripts/jscalendar/lang/calendar-es.js +114 -0
  106. data/public/javascripts/jscalendar/lang/calendar-fi.js +98 -0
  107. data/public/javascripts/jscalendar/lang/calendar-fr.js +86 -0
  108. data/public/javascripts/jscalendar/lang/calendar-hr-utf8.js +49 -0
  109. data/public/javascripts/jscalendar/lang/calendar-hr.js +0 -0
  110. data/public/javascripts/jscalendar/lang/calendar-hu.js +45 -0
  111. data/public/javascripts/jscalendar/lang/calendar-it.js +79 -0
  112. data/public/javascripts/jscalendar/lang/calendar-jp.js +45 -0
  113. data/public/javascripts/jscalendar/lang/calendar-ko-utf8.js +120 -0
  114. data/public/javascripts/jscalendar/lang/calendar-ko.js +120 -0
  115. data/public/javascripts/jscalendar/lang/calendar-lt-utf8.js +114 -0
  116. data/public/javascripts/jscalendar/lang/calendar-lt.js +114 -0
  117. data/public/javascripts/jscalendar/lang/calendar-nl.js +45 -0
  118. data/public/javascripts/jscalendar/lang/calendar-no.js +45 -0
  119. data/public/javascripts/jscalendar/lang/calendar-pl-utf8.js +93 -0
  120. data/public/javascripts/jscalendar/lang/calendar-pl.js +56 -0
  121. data/public/javascripts/jscalendar/lang/calendar-pt.js +45 -0
  122. data/public/javascripts/jscalendar/lang/calendar-ro.js +66 -0
  123. data/public/javascripts/jscalendar/lang/calendar-ru.js +45 -0
  124. data/public/javascripts/jscalendar/lang/calendar-si.js +94 -0
  125. data/public/javascripts/jscalendar/lang/calendar-sk.js +99 -0
  126. data/public/javascripts/jscalendar/lang/calendar-sp.js +63 -0
  127. data/public/javascripts/jscalendar/lang/calendar-sv.js +93 -0
  128. data/public/javascripts/jscalendar/lang/calendar-tr.js +58 -0
  129. data/public/javascripts/jscalendar/lang/calendar-zh.js +45 -0
  130. data/public/javascripts/jscalendar/menuarrow.gif +0 -0
  131. data/public/javascripts/jscalendar/menuarrow2.gif +0 -0
  132. data/public/javascripts/jscalendar/release-notes.html +334 -0
  133. data/public/javascripts/jscalendar/simple-1.html +244 -0
  134. data/public/javascripts/jscalendar/simple-2.html +108 -0
  135. data/public/javascripts/jscalendar/simple-3.html +130 -0
  136. data/public/javascripts/jscalendar/test-position.html +40 -0
  137. data/public/javascripts/jscalendar/test.php +116 -0
  138. data/public/javascripts/toggle_div.js +18 -0
  139. data/public/stylesheets/niceones.txt +1 -0
  140. data/public/stylesheets/style.css +8 -1
  141. data/script/breakpointer +4 -5
  142. data/script/console +19 -27
  143. data/script/console_sandbox.rb +7 -0
  144. data/script/destroy +5 -0
  145. data/script/generate +3 -68
  146. data/script/server +6 -16
  147. data/test/damagecontrol/build_test.rb +8 -8
  148. data/test/damagecontrol/poller_test.rb +10 -18
  149. data/test/damagecontrol/project_test.rb +49 -13
  150. data/test/damagecontrol/publisher/base_test.rb +26 -0
  151. data/test/damagecontrol/publisher/build/email.rhtml +0 -0
  152. data/test/damagecontrol/publisher/email_test.rb +26 -0
  153. data/test/damagecontrol/publisher/fixture.rb +34 -0
  154. data/test/damagecontrol/publisher/growl_test.rb +15 -0
  155. data/test/damagecontrol/publisher/jabber_test.rb +15 -0
  156. data/test/damagecontrol/scm_web_test.rb +1 -1
  157. data/test/damagecontrol/visitor/changesets.rss +1 -1
  158. data/test/damagecontrol/visitor/diff_persister_test.rb +4 -4
  159. data/test/functional/build_controller_test.rb +17 -0
  160. data/test/test_helper.rb +13 -13
  161. metadata +185 -24
  162. data/app/views/project/_bugzilla.rhtml +0 -13
  163. data/app/views/project/_jira.rhtml +0 -19
  164. data/app/views/project/_mooky.rhtml +0 -23
  165. data/app/views/project/_rubyforge.rhtml +0 -19
  166. data/app/views/project/_scarab.rhtml +0 -19
  167. data/app/views/project/_scms.rhtml +0 -15
  168. data/app/views/project/_sourceforge.rhtml +0 -19
  169. data/app/views/project/_starteam.rhtml +0 -43
  170. data/app/views/project/_svn.rhtml +0 -22
  171. data/app/views/project/_trac.rhtml +0 -13
  172. data/app/views/project/_trackers.rhtml +0 -18
  173. data/app/views/project/changesets.rhtml +0 -31
@@ -0,0 +1,224 @@
1
+ /* The main calendar widget. DIV containing a table. */
2
+
3
+ div.calendar { position: relative; }
4
+
5
+ .calendar, .calendar table {
6
+ border: 1px solid #655;
7
+ font-size: 11px;
8
+ color: #000;
9
+ cursor: default;
10
+ background: #ffd;
11
+ font-family: tahoma,verdana,sans-serif;
12
+ }
13
+
14
+ /* Header part -- contains navigation buttons and day names. */
15
+
16
+ .calendar .button { /* "<<", "<", ">", ">>" buttons have this class */
17
+ text-align: center; /* They are the navigation buttons */
18
+ padding: 2px; /* Make the buttons seem like they're pressing */
19
+ }
20
+
21
+ .calendar .nav {
22
+ background: #edc url(menuarrow.gif) no-repeat 100% 100%;
23
+ }
24
+
25
+ .calendar thead .title { /* This holds the current "month, year" */
26
+ font-weight: bold; /* Pressing it will take you to the current date */
27
+ text-align: center;
28
+ background: #654;
29
+ color: #fed;
30
+ padding: 2px;
31
+ }
32
+
33
+ .calendar thead .headrow { /* Row <TR> containing navigation buttons */
34
+ background: #edc;
35
+ color: #000;
36
+ }
37
+
38
+ .calendar thead .name { /* Cells <TD> containing the day names */
39
+ border-bottom: 1px solid #655;
40
+ padding: 2px;
41
+ text-align: center;
42
+ color: #000;
43
+ }
44
+
45
+ .calendar thead .weekend { /* How a weekend day name shows in header */
46
+ color: #f00;
47
+ }
48
+
49
+ .calendar thead .hilite { /* How do the buttons in header appear when hover */
50
+ background-color: #faa;
51
+ color: #000;
52
+ border: 1px solid #f40;
53
+ padding: 1px;
54
+ }
55
+
56
+ .calendar thead .active { /* Active (pressed) buttons in header */
57
+ background-color: #c77;
58
+ padding: 2px 0px 0px 2px;
59
+ }
60
+
61
+ .calendar thead .daynames { /* Row <TR> containing the day names */
62
+ background: #fed;
63
+ }
64
+
65
+ /* The body part -- contains all the days in month. */
66
+
67
+ .calendar tbody .day { /* Cells <TD> containing month days dates */
68
+ width: 2em;
69
+ text-align: right;
70
+ padding: 2px 4px 2px 2px;
71
+ }
72
+ .calendar tbody .day.othermonth {
73
+ font-size: 80%;
74
+ color: #bbb;
75
+ }
76
+ .calendar tbody .day.othermonth.oweekend {
77
+ color: #fbb;
78
+ }
79
+
80
+ .calendar table .wn {
81
+ padding: 2px 3px 2px 2px;
82
+ border-right: 1px solid #000;
83
+ background: #fed;
84
+ }
85
+
86
+ .calendar tbody .rowhilite td {
87
+ background: #ddf;
88
+ }
89
+
90
+ .calendar tbody .rowhilite td.wn {
91
+ background: #efe;
92
+ }
93
+
94
+ .calendar tbody td.hilite { /* Hovered cells <TD> */
95
+ background: #ffe;
96
+ padding: 1px 3px 1px 1px;
97
+ border: 1px solid #bbb;
98
+ }
99
+
100
+ .calendar tbody td.active { /* Active (pressed) cells <TD> */
101
+ background: #ddc;
102
+ padding: 2px 2px 0px 2px;
103
+ }
104
+
105
+ .calendar tbody td.selected { /* Cell showing today date */
106
+ font-weight: bold;
107
+ border: 1px solid #000;
108
+ padding: 1px 3px 1px 1px;
109
+ background: #fea;
110
+ }
111
+
112
+ .calendar tbody td.weekend { /* Cells showing weekend days */
113
+ color: #f00;
114
+ }
115
+
116
+ .calendar tbody td.today { font-weight: bold; }
117
+
118
+ .calendar tbody .disabled { color: #999; }
119
+
120
+ .calendar tbody .emptycell { /* Empty cells (the best is to hide them) */
121
+ visibility: hidden;
122
+ }
123
+
124
+ .calendar tbody .emptyrow { /* Empty row (some months need less than 6 rows) */
125
+ display: none;
126
+ }
127
+
128
+ /* The footer part -- status bar and "Close" button */
129
+
130
+ .calendar tfoot .footrow { /* The <TR> in footer (only one right now) */
131
+ text-align: center;
132
+ background: #988;
133
+ color: #000;
134
+ }
135
+
136
+ .calendar tfoot .ttip { /* Tooltip (status bar) cell <TD> */
137
+ border-top: 1px solid #655;
138
+ background: #dcb;
139
+ color: #840;
140
+ }
141
+
142
+ .calendar tfoot .hilite { /* Hover style for buttons in footer */
143
+ background: #faa;
144
+ border: 1px solid #f40;
145
+ padding: 1px;
146
+ }
147
+
148
+ .calendar tfoot .active { /* Active (pressed) style for buttons in footer */
149
+ background: #c77;
150
+ padding: 2px 0px 0px 2px;
151
+ }
152
+
153
+ /* Combo boxes (menus that display months/years for direct selection) */
154
+
155
+ .calendar .combo {
156
+ position: absolute;
157
+ display: none;
158
+ top: 0px;
159
+ left: 0px;
160
+ width: 4em;
161
+ cursor: default;
162
+ border: 1px solid #655;
163
+ background: #ffe;
164
+ color: #000;
165
+ font-size: 90%;
166
+ }
167
+
168
+ .calendar .combo .label,
169
+ .calendar .combo .label-IEfix {
170
+ text-align: center;
171
+ padding: 1px;
172
+ }
173
+
174
+ .calendar .combo .label-IEfix {
175
+ width: 4em;
176
+ }
177
+
178
+ .calendar .combo .hilite {
179
+ background: #fc8;
180
+ }
181
+
182
+ .calendar .combo .active {
183
+ border-top: 1px solid #a64;
184
+ border-bottom: 1px solid #a64;
185
+ background: #fee;
186
+ font-weight: bold;
187
+ }
188
+
189
+ .calendar td.time {
190
+ border-top: 1px solid #a88;
191
+ padding: 1px 0px;
192
+ text-align: center;
193
+ background-color: #fed;
194
+ }
195
+
196
+ .calendar td.time .hour,
197
+ .calendar td.time .minute,
198
+ .calendar td.time .ampm {
199
+ padding: 0px 3px 0px 4px;
200
+ border: 1px solid #988;
201
+ font-weight: bold;
202
+ background-color: #fff;
203
+ }
204
+
205
+ .calendar td.time .ampm {
206
+ text-align: center;
207
+ }
208
+
209
+ .calendar td.time .colon {
210
+ padding: 0px 2px 0px 3px;
211
+ font-weight: bold;
212
+ }
213
+
214
+ .calendar td.time span.hilite {
215
+ border-color: #000;
216
+ background-color: #866;
217
+ color: #fff;
218
+ }
219
+
220
+ .calendar td.time span.active {
221
+ border-color: #f00;
222
+ background-color: #000;
223
+ color: #0f0;
224
+ }
@@ -0,0 +1,228 @@
1
+ /* The main calendar widget. DIV containing a table. */
2
+
3
+ div.calendar { position: relative; }
4
+
5
+ .calendar, .calendar table {
6
+ border: 1px solid #565;
7
+ font-size: 11px;
8
+ color: #000;
9
+ cursor: default;
10
+ background: #efe;
11
+ font-family: tahoma,verdana,sans-serif;
12
+ }
13
+
14
+ /* Header part -- contains navigation buttons and day names. */
15
+
16
+ .calendar .button { /* "<<", "<", ">", ">>" buttons have this class */
17
+ text-align: center; /* They are the navigation buttons */
18
+ padding: 2px; /* Make the buttons seem like they're pressing */
19
+ background: #676;
20
+ color: #fff;
21
+ font-size: 90%;
22
+ }
23
+
24
+ .calendar .nav {
25
+ background: #676 url(menuarrow.gif) no-repeat 100% 100%;
26
+ }
27
+
28
+ .calendar thead .title { /* This holds the current "month, year" */
29
+ font-weight: bold; /* Pressing it will take you to the current date */
30
+ text-align: center;
31
+ padding: 2px;
32
+ background: #250;
33
+ color: #efa;
34
+ }
35
+
36
+ .calendar thead .headrow { /* Row <TR> containing navigation buttons */
37
+ }
38
+
39
+ .calendar thead .name { /* Cells <TD> containing the day names */
40
+ border-bottom: 1px solid #565;
41
+ padding: 2px;
42
+ text-align: center;
43
+ color: #000;
44
+ }
45
+
46
+ .calendar thead .weekend { /* How a weekend day name shows in header */
47
+ color: #a66;
48
+ }
49
+
50
+ .calendar thead .hilite { /* How do the buttons in header appear when hover */
51
+ background-color: #afa;
52
+ color: #000;
53
+ border: 1px solid #084;
54
+ padding: 1px;
55
+ }
56
+
57
+ .calendar thead .active { /* Active (pressed) buttons in header */
58
+ background-color: #7c7;
59
+ padding: 2px 0px 0px 2px;
60
+ }
61
+
62
+ .calendar thead .daynames { /* Row <TR> containing the day names */
63
+ background: #dfb;
64
+ }
65
+
66
+ /* The body part -- contains all the days in month. */
67
+
68
+ .calendar tbody .day { /* Cells <TD> containing month days dates */
69
+ width: 2em;
70
+ color: #564;
71
+ text-align: right;
72
+ padding: 2px 4px 2px 2px;
73
+ }
74
+ .calendar tbody .day.othermonth {
75
+ font-size: 80%;
76
+ color: #bbb;
77
+ }
78
+ .calendar tbody .day.othermonth.oweekend {
79
+ color: #fbb;
80
+ }
81
+
82
+ .calendar table .wn {
83
+ padding: 2px 3px 2px 2px;
84
+ border-right: 1px solid #8a8;
85
+ background: #dfb;
86
+ }
87
+
88
+ .calendar tbody .rowhilite td {
89
+ background: #dfd;
90
+ }
91
+
92
+ .calendar tbody .rowhilite td.wn {
93
+ background: #efe;
94
+ }
95
+
96
+ .calendar tbody td.hilite { /* Hovered cells <TD> */
97
+ background: #efd;
98
+ padding: 1px 3px 1px 1px;
99
+ border: 1px solid #bbb;
100
+ }
101
+
102
+ .calendar tbody td.active { /* Active (pressed) cells <TD> */
103
+ background: #dec;
104
+ padding: 2px 2px 0px 2px;
105
+ }
106
+
107
+ .calendar tbody td.selected { /* Cell showing today date */
108
+ font-weight: bold;
109
+ border: 1px solid #000;
110
+ padding: 1px 3px 1px 1px;
111
+ background: #f8fff8;
112
+ color: #000;
113
+ }
114
+
115
+ .calendar tbody td.weekend { /* Cells showing weekend days */
116
+ color: #a66;
117
+ }
118
+
119
+ .calendar tbody td.today { font-weight: bold; color: #0a0; }
120
+
121
+ .calendar tbody .disabled { color: #999; }
122
+
123
+ .calendar tbody .emptycell { /* Empty cells (the best is to hide them) */
124
+ visibility: hidden;
125
+ }
126
+
127
+ .calendar tbody .emptyrow { /* Empty row (some months need less than 6 rows) */
128
+ display: none;
129
+ }
130
+
131
+ /* The footer part -- status bar and "Close" button */
132
+
133
+ .calendar tfoot .footrow { /* The <TR> in footer (only one right now) */
134
+ text-align: center;
135
+ background: #565;
136
+ color: #fff;
137
+ }
138
+
139
+ .calendar tfoot .ttip { /* Tooltip (status bar) cell <TD> */
140
+ padding: 2px;
141
+ background: #250;
142
+ color: #efa;
143
+ }
144
+
145
+ .calendar tfoot .hilite { /* Hover style for buttons in footer */
146
+ background: #afa;
147
+ border: 1px solid #084;
148
+ color: #000;
149
+ padding: 1px;
150
+ }
151
+
152
+ .calendar tfoot .active { /* Active (pressed) style for buttons in footer */
153
+ background: #7c7;
154
+ padding: 2px 0px 0px 2px;
155
+ }
156
+
157
+ /* Combo boxes (menus that display months/years for direct selection) */
158
+
159
+ .calendar .combo {
160
+ position: absolute;
161
+ display: none;
162
+ top: 0px;
163
+ left: 0px;
164
+ width: 4em;
165
+ cursor: default;
166
+ border: 1px solid #565;
167
+ background: #efd;
168
+ color: #000;
169
+ font-size: 90%;
170
+ }
171
+
172
+ .calendar .combo .label,
173
+ .calendar .combo .label-IEfix {
174
+ text-align: center;
175
+ padding: 1px;
176
+ }
177
+
178
+ .calendar .combo .label-IEfix {
179
+ width: 4em;
180
+ }
181
+
182
+ .calendar .combo .hilite {
183
+ background: #af8;
184
+ }
185
+
186
+ .calendar .combo .active {
187
+ border-top: 1px solid #6a4;
188
+ border-bottom: 1px solid #6a4;
189
+ background: #efe;
190
+ font-weight: bold;
191
+ }
192
+
193
+ .calendar td.time {
194
+ border-top: 1px solid #8a8;
195
+ padding: 1px 0px;
196
+ text-align: center;
197
+ background-color: #dfb;
198
+ }
199
+
200
+ .calendar td.time .hour,
201
+ .calendar td.time .minute,
202
+ .calendar td.time .ampm {
203
+ padding: 0px 3px 0px 4px;
204
+ border: 1px solid #898;
205
+ font-weight: bold;
206
+ background-color: #fff;
207
+ }
208
+
209
+ .calendar td.time .ampm {
210
+ text-align: center;
211
+ }
212
+
213
+ .calendar td.time .colon {
214
+ padding: 0px 2px 0px 3px;
215
+ font-weight: bold;
216
+ }
217
+
218
+ .calendar td.time span.hilite {
219
+ border-color: #000;
220
+ background-color: #686;
221
+ color: #fff;
222
+ }
223
+
224
+ .calendar td.time span.active {
225
+ border-color: #f00;
226
+ background-color: #000;
227
+ color: #0f0;
228
+ }