hobo 0.5.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (125) hide show
  1. data/LICENSE.txt +22 -0
  2. data/README.txt +18 -0
  3. data/bin/hobo +81 -0
  4. data/hobo_files/plugin/CHANGES.txt +963 -0
  5. data/hobo_files/plugin/LICENSE.txt +22 -0
  6. data/hobo_files/plugin/README +4 -0
  7. data/hobo_files/plugin/Rakefile +11 -0
  8. data/hobo_files/plugin/generators/hobo/hobo_generator.rb +37 -0
  9. data/hobo_files/plugin/generators/hobo/templates/application.dryml +2 -0
  10. data/hobo_files/plugin/generators/hobo/templates/guest.rb +31 -0
  11. data/hobo_files/plugin/generators/hobo_front_controller/USAGE +11 -0
  12. data/hobo_files/plugin/generators/hobo_front_controller/hobo_front_controller_generator.rb +90 -0
  13. data/hobo_files/plugin/generators/hobo_front_controller/templates/controller.rb +51 -0
  14. data/hobo_files/plugin/generators/hobo_front_controller/templates/functional_test.rb +18 -0
  15. data/hobo_files/plugin/generators/hobo_front_controller/templates/helper.rb +2 -0
  16. data/hobo_files/plugin/generators/hobo_front_controller/templates/index.dryml +43 -0
  17. data/hobo_files/plugin/generators/hobo_front_controller/templates/login.dryml +44 -0
  18. data/hobo_files/plugin/generators/hobo_front_controller/templates/search.dryml +18 -0
  19. data/hobo_files/plugin/generators/hobo_front_controller/templates/signup.dryml +45 -0
  20. data/hobo_files/plugin/generators/hobo_model/USAGE +26 -0
  21. data/hobo_files/plugin/generators/hobo_model/hobo_model_generator.rb +38 -0
  22. data/hobo_files/plugin/generators/hobo_model/templates/fixtures.yml +11 -0
  23. data/hobo_files/plugin/generators/hobo_model/templates/migration.rb +13 -0
  24. data/hobo_files/plugin/generators/hobo_model/templates/model.rb +24 -0
  25. data/hobo_files/plugin/generators/hobo_model/templates/unit_test.rb +10 -0
  26. data/hobo_files/plugin/generators/hobo_model_controller/USAGE +30 -0
  27. data/hobo_files/plugin/generators/hobo_model_controller/hobo_model_controller_generator.rb +43 -0
  28. data/hobo_files/plugin/generators/hobo_model_controller/templates/controller.rb +5 -0
  29. data/hobo_files/plugin/generators/hobo_model_controller/templates/functional_test.rb +18 -0
  30. data/hobo_files/plugin/generators/hobo_model_controller/templates/helper.rb +2 -0
  31. data/hobo_files/plugin/generators/hobo_model_controller/templates/view.rhtml +2 -0
  32. data/hobo_files/plugin/generators/hobo_rapid/hobo_rapid_generator.rb +51 -0
  33. data/hobo_files/plugin/generators/hobo_rapid/templates/hobo_rapid.js +436 -0
  34. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/default_mapping.rb +11 -0
  35. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/banner.gif +0 -0
  36. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/bkg_bodytop.gif +0 -0
  37. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/bkg_corner_01.gif +0 -0
  38. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/bkg_corner_02.gif +0 -0
  39. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/bkg_corner_03.gif +0 -0
  40. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/bkg_corner_04.gif +0 -0
  41. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/bkg_shadow_bottom.gif +0 -0
  42. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/bkg_shadow_left.gif +0 -0
  43. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/bkg_shadow_right.gif +0 -0
  44. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/bkg_shadow_top.gif +0 -0
  45. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/header_blue.gif +0 -0
  46. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/header_dblue.gif +0 -0
  47. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/header_green.gif +0 -0
  48. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/header_purple.gif +0 -0
  49. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/header_red.gif +0 -0
  50. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/logo.gif +0 -0
  51. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/spinner.gif +0 -0
  52. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/txt_list_img_dblue.gif +0 -0
  53. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/txt_list_img_green.gif +0 -0
  54. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/txt_list_img_purple.gif +0 -0
  55. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/txt_list_img_red.gif +0 -0
  56. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/window_corner_01.gif +0 -0
  57. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/window_corner_02.gif +0 -0
  58. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/window_corner_03.gif +0 -0
  59. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/window_corner_04.gif +0 -0
  60. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/window_shadow_bottom.gif +0 -0
  61. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/window_shadow_left.gif +0 -0
  62. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/window_shadow_right.gif +0 -0
  63. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/window_shadow_top.gif +0 -0
  64. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/stylesheets/application.css +390 -0
  65. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/views/application.dryml +104 -0
  66. data/hobo_files/plugin/generators/hobo_user_model/USAGE +26 -0
  67. data/hobo_files/plugin/generators/hobo_user_model/hobo_user_model_generator.rb +38 -0
  68. data/hobo_files/plugin/generators/hobo_user_model/templates/fixtures.yml +11 -0
  69. data/hobo_files/plugin/generators/hobo_user_model/templates/migration.rb +15 -0
  70. data/hobo_files/plugin/generators/hobo_user_model/templates/model.rb +58 -0
  71. data/hobo_files/plugin/generators/hobo_user_model/templates/unit_test.rb +10 -0
  72. data/hobo_files/plugin/init.rb +44 -0
  73. data/hobo_files/plugin/lib/action_view_extensions/base.rb +14 -0
  74. data/hobo_files/plugin/lib/active_record/has_many_association.rb +54 -0
  75. data/hobo_files/plugin/lib/active_record/has_many_through_association.rb +22 -0
  76. data/hobo_files/plugin/lib/active_record/table_definition.rb +34 -0
  77. data/hobo_files/plugin/lib/extensions.rb +245 -0
  78. data/hobo_files/plugin/lib/extensions/test_case.rb +130 -0
  79. data/hobo_files/plugin/lib/hobo.rb +353 -0
  80. data/hobo_files/plugin/lib/hobo/HtmlString +3 -0
  81. data/hobo_files/plugin/lib/hobo/authenticated_user.rb +106 -0
  82. data/hobo_files/plugin/lib/hobo/authentication_support.rb +108 -0
  83. data/hobo_files/plugin/lib/hobo/composite_model.rb +66 -0
  84. data/hobo_files/plugin/lib/hobo/controller.rb +134 -0
  85. data/hobo_files/plugin/lib/hobo/controller_helpers.rb +135 -0
  86. data/hobo_files/plugin/lib/hobo/core.rb +475 -0
  87. data/hobo_files/plugin/lib/hobo/define_tags.rb +56 -0
  88. data/hobo_files/plugin/lib/hobo/dryml.rb +161 -0
  89. data/hobo_files/plugin/lib/hobo/dryml/dryml_builder.rb +126 -0
  90. data/hobo_files/plugin/lib/hobo/dryml/tag_module.rb +9 -0
  91. data/hobo_files/plugin/lib/hobo/dryml/taglib.rb +57 -0
  92. data/hobo_files/plugin/lib/hobo/dryml/template.rb +586 -0
  93. data/hobo_files/plugin/lib/hobo/dryml/template_environment.rb +302 -0
  94. data/hobo_files/plugin/lib/hobo/dryml/template_handler.rb +19 -0
  95. data/hobo_files/plugin/lib/hobo/generator.rb +25 -0
  96. data/hobo_files/plugin/lib/hobo/html_string.rb +3 -0
  97. data/hobo_files/plugin/lib/hobo/lazy_hash.rb +28 -0
  98. data/hobo_files/plugin/lib/hobo/mapping_tags.rb +262 -0
  99. data/hobo_files/plugin/lib/hobo/markdown_string.rb +7 -0
  100. data/hobo_files/plugin/lib/hobo/model.rb +391 -0
  101. data/hobo_files/plugin/lib/hobo/model_controller.rb +676 -0
  102. data/hobo_files/plugin/lib/hobo/model_queries.rb +92 -0
  103. data/hobo_files/plugin/lib/hobo/model_support.rb +44 -0
  104. data/hobo_files/plugin/lib/hobo/password_string.rb +3 -0
  105. data/hobo_files/plugin/lib/hobo/predicate_dispatch.rb +78 -0
  106. data/hobo_files/plugin/lib/hobo/proc_binding.rb +32 -0
  107. data/hobo_files/plugin/lib/hobo/rapid.rb +447 -0
  108. data/hobo_files/plugin/lib/hobo/static_tags +92 -0
  109. data/hobo_files/plugin/lib/hobo/text.rb +3 -0
  110. data/hobo_files/plugin/lib/hobo/textile_string.rb +13 -0
  111. data/hobo_files/plugin/lib/hobo/undefined.rb +41 -0
  112. data/hobo_files/plugin/lib/hobo/undefined_access_error.rb +5 -0
  113. data/hobo_files/plugin/lib/hobo/where_fragment.rb +23 -0
  114. data/hobo_files/plugin/lib/rexml.rb +345 -0
  115. data/hobo_files/plugin/tags/core.dryml +6 -0
  116. data/hobo_files/plugin/tags/rapid.dryml +177 -0
  117. data/hobo_files/plugin/tags/rapid_editing.dryml +168 -0
  118. data/hobo_files/plugin/tags/rapid_navigation.dryml +95 -0
  119. data/hobo_files/plugin/tags/rapid_pages.dryml +175 -0
  120. data/hobo_files/plugin/tasks/environments.rake +19 -0
  121. data/hobo_files/plugin/tasks/hobo_tasks.rake +4 -0
  122. data/hobo_files/plugin/test/hobo_dryml_template_test.rb +7 -0
  123. data/hobo_files/plugin/test/hobo_test.rb +7 -0
  124. data/hobo_files/plugin/uninstall.rb +1 -0
  125. metadata +206 -0
@@ -0,0 +1,11 @@
1
+ module DefaultMapping
2
+
3
+ include Hobo::DefineTags
4
+
5
+ mapping_tags do
6
+
7
+ panel.advert >> panel.green
8
+
9
+ end
10
+
11
+ end
@@ -0,0 +1,390 @@
1
+ form.button-to { margin: 0; padding: 0; }
2
+
3
+ .object_card { padding: 5px; margin: 5px; border: 1px dashed #ddd; background: #fbfbfb; }
4
+
5
+ /* Todo: Big cleanup of this stylesheet */
6
+
7
+ /* Global Styles */
8
+
9
+ body, td {
10
+ font-family: Arial, Helvetica, sans-serif;
11
+ font-size: 12px;
12
+ color: #677077;
13
+ }
14
+
15
+ a img { border: none; }
16
+
17
+ .clearer { clear:both; font-size: 1px; }
18
+
19
+ body { margin: 10px 0 25px 0; background-color: #d2d2d2; }
20
+
21
+ a { color: #677077; text-decoration: underline; padding:1px; cursor:pointer; }
22
+ a:visited { color: #677077; }
23
+ a:hover, a:active { color: #FFFFFF; text-decoration: none; background: #4b5257; }
24
+ a:hover.no_hover { background: transparent; }
25
+
26
+ .front_page_title {
27
+ margin: 20px 0 15px 6px;
28
+ background:url(../images/banner.gif) no-repeat top left;
29
+ text-align: left;
30
+ padding-left: 20px;
31
+ height: 32px;
32
+ font-size: 28pt;
33
+ padding: 65px 0 15px 20px;
34
+ color: white;
35
+ font-family: "Trebuchet MS", Verdana, "Sans Serif";
36
+ }
37
+
38
+ /* Main Page Body Window */
39
+
40
+ #header .logo { margin: 20px 10px 5px 20px; float: left; }
41
+ #header .logo a { background: transparent; }
42
+
43
+ .nav_bars { margin: 20px 12px 5px 10px; float: right; padding: 0; }
44
+ .nav a { font-size: 110%; }
45
+ .nav_bars a { text-decoration: none; }
46
+
47
+ .nav_item { display: inline; padding: 0 4px; margin: 0; }
48
+
49
+ .account_nav { margin-top: 5px; text-align: right; font-size: 95%; }
50
+
51
+ .flash { margin: 10px 30px; background: white; border: 2px solid #aaf; padding: 10px; text-align: center; }
52
+
53
+ #page {
54
+ width:800px;
55
+ background-color:#FFFFFF;
56
+ margin-left:auto;
57
+ margin-right:auto;
58
+ }
59
+
60
+ h2 { margin: 0 0 20px 20px; font-size: 110%; } /* Main page heading (i.e. not in a panel) */
61
+ h1 { margin: 20px 0 20px 20px; font-size: 150%; } /* Main page heading (i.e. not in a panel) */
62
+
63
+ p { margin-left: 10px; }
64
+
65
+ #page_top { background:url(../images/bkg_shadow_top.gif) repeat-x top; }
66
+ #page_right { background:url(../images/bkg_shadow_right.gif) repeat-y right; }
67
+ #page_bottom { background:url(../images/bkg_shadow_bottom.gif) repeat-x bottom; }
68
+ #page_left { background:url(../images/bkg_shadow_left.gif) repeat-y left; }
69
+ #page_corner04 { background:url(../images/bkg_corner_04.gif) no-repeat bottom right; }
70
+ #page_corner03 { background:url(../images/bkg_corner_03.gif) no-repeat bottom left; }
71
+ #page_corner02 { background:url(../images/bkg_corner_02.gif) no-repeat top right; }
72
+ #page_corner01 { background:url(../images/bkg_corner_01.gif) no-repeat top left; padding: 5px 0 10px 0; }
73
+ #page_inner_top { background:url(../images/bkg_bodytop.gif) no-repeat top center;
74
+ margin: 22px 14px 10px; padding: 1px 10px; }
75
+
76
+
77
+ /* Panel Styles */
78
+
79
+ .panel_top { background:url(../images/window_shadow_top.gif) repeat-x top; height:100%; }
80
+ .panel_right { background:url(../images/window_shadow_right.gif) repeat-y right; height:100%; }
81
+ .panel_bottom { background:url(../images/window_shadow_bottom.gif) repeat-x bottom; height:100%; }
82
+ .panel_left { background:url(../images/window_shadow_left.gif) repeat-y left; height:100%; }
83
+ .panel_corner04 { background:url(../images/window_corner_04.gif) no-repeat bottom right; height:100%; }
84
+ .panel_corner03 { background:url(../images/window_corner_03.gif) no-repeat bottom left; height:100%; }
85
+ .panel_corner02 { background:url(../images/window_corner_02.gif) no-repeat top right; height:100%; }
86
+ .panel_corner01 { background:url(../images/window_corner_01.gif) no-repeat top left; padding:12px; height:100%; }
87
+
88
+ .panel { margin: 4px 0; }
89
+
90
+ .panel h2 {
91
+ margin: 0px; padding: 8px 0 4px 4px; height: 16px;
92
+ font-size: 120%; }
93
+ .panel h3 {
94
+ font-size: 110%; line-height:14px; font-weight:bold;
95
+ margin: 0; padding: 6px 0;}
96
+ .panel h4 { line-height:13px; font-weight:bold; color:#666; margin: 8px 0 2px 0; font-size: 100%; }
97
+
98
+ .panel.green { background-color:#edf4e3; } /* light grey + green */
99
+ .panel.green h2 { background:url(../images/header_green.gif) repeat-x top; background-color:#87b841; color:#ffffff; }
100
+ .panel.green h3 { color:#87b841; }
101
+
102
+ .panel.purple { background-color:#f1f0f1; } /* very light grey */
103
+ .panel.purple h2 { background:url(../images/header_purple.gif) repeat-x top; background-color:#883b67; color:#ffffff; }
104
+ .panel.purple h3 { color:#883b67; }
105
+
106
+ .panel.red { background-color:#fdf3f3; } /* very light red */
107
+ .panel.red h2 { background:url(../images/header_red.gif) repeat-x top; background-color:#d93a40; color:#ffffff; }
108
+ .panel.red h3 { color:#d93a40; }
109
+
110
+ .panel.blue { background-color:#e1f5fd; } /* light blue */
111
+ .panel.blue h2 { background:url(../images/header_blue.gif) repeat-x top; background-color:#5ac6ef; color:#ffffff; }
112
+ .panel.blue h3 { color:#5ac6ef; }
113
+
114
+ .panel.dblue { background-color:#f1f4fa; } /* very light blue */
115
+ .panel.dblue h2 { background:url(../images/header_dblue.gif) repeat-x top; background-color:#3873e2; color:#ffffff; }
116
+ .panel.dblue h3 { color:#3873e2; }
117
+
118
+ .panel.blank h2 { background-color:#f2f2f2; padding:40px 30px 25px 30px;}
119
+
120
+ .panel.banner h2 { padding:40px 30px 25px 30px; font-size:36px; color:white; } /* Project Banners */
121
+
122
+ /* panel with no colour-class defaults to red */
123
+ .panel { background-color:#fdf3f3; } /* very light red */
124
+ .panel h2 { background:url(../images/header_red.gif) repeat-x top; background-color:#d93a40; color:#ffffff; }
125
+ .panel h3 { color:#d93a40; }
126
+
127
+
128
+ .panel p { padding: 4px; margin: 0; }
129
+
130
+ .panel li { margin: 6pt 0; }
131
+
132
+ .section { border-top: 6px solid white; padding: 5px 20px 5px 6px; }
133
+
134
+ ul.purple li { background-image: url(../images/txt_list_img_purple.gif); }
135
+ ul.green li { background-image: url(../images/txt_list_img_green.gif); }
136
+ ul.red li { background-image: url(../images/txt_list_img_red.gif); }
137
+ ul.dblue li { background-image: url(../images/txt_list_img_dblue.gif); }
138
+
139
+ /* main section and sidebar */
140
+
141
+ .maincol { float: left; width: 488px; }
142
+ .maincol .panel { width: 100%; }
143
+ .sidecol { float: right; width: 260px; margin-right: 0px;}
144
+ .sidecol .panel { width: 100%; }
145
+
146
+ /* Nav Styles */
147
+
148
+ .nav_menu a { margin: 4px 0 0 8px; }
149
+ .more { text-align:right; margin-top:6px; margin-right: -6px;} /* more button */
150
+ img.nav_main { padding: 1px 0 2px 0; border-top: 1px solid transparent; border-bottom: 1px solid transparent; }
151
+ img.nav_main.current { border-top: 1px solid grey; border-bottom: 1px solid grey; }
152
+
153
+ /* Footer */
154
+
155
+ #footer {
156
+ width:100%;
157
+ font-size: 10px;
158
+ text-align:center;
159
+ margin:21px;
160
+ }
161
+
162
+
163
+ #ajax_progress {
164
+ color: grey;
165
+ float: right;
166
+ margin: 20px;
167
+ position: fixed;
168
+ background: white;
169
+ font-family: Tahoma "sans serif";
170
+ display: none;
171
+ }
172
+
173
+ #ajax_progress div {
174
+ border: 1px dashed grey;
175
+ margin: 10px;
176
+ padding: 3px;
177
+ padding-top: -15px;
178
+ }
179
+
180
+ #ajax_progress img {
181
+ padding-left: 6px;
182
+ vertical-align: middle;
183
+ }
184
+
185
+
186
+ /* Scriptaculous Autocompleter ---*/
187
+
188
+ div.completions_popup {
189
+ position:absolute;
190
+ width:250px;
191
+ background-color:white;
192
+ border:1px solid #888;
193
+ margin:0px;
194
+ padding:0px;
195
+ }
196
+ div.completions_popup ul {
197
+ list-style-type:none;
198
+ margin:0px;
199
+ padding:0px;
200
+ }
201
+ div.completions_popup ul li.selected { background-color: #ffb;}
202
+ div.completions_popup ul li {
203
+ list-style-type:none;
204
+ display:block;
205
+ margin:0;
206
+ padding:2px;
207
+ cursor:pointer;
208
+ }
209
+
210
+ th { text-align: left; padding: 5px; }
211
+
212
+ .object_table { width:95%; }
213
+ .object_table td { padding: 5px; vertical-align: middle; }
214
+ .object_table td.field_label {
215
+ text-align: left; width: 1px; white-space: nowrap; vertical-align: top;
216
+ padding-top: 10px; padding-bottom: 10px;
217
+ }
218
+ .object_table input[type=text] { width: 100%; }
219
+ .object_table input, .object_table textarea { margin: -2px 0 0 0; }
220
+ .object_table textarea { width: 100%; margin: 0; }
221
+
222
+ td span.in_place_textfield_bhv, td span.in_place_textarea_bhv, td span.in_place_html_textarea_bhv {
223
+ display: block; border: 1px solid #ddd;
224
+ padding: 4px; background: #fafafa;
225
+ }
226
+
227
+ .login_table td.field_label { vertical-align: middle; }
228
+
229
+ input[type=text].wide { width: 100%; }
230
+ textarea { height: 200px; }
231
+ textarea.wide { width: 100%; }
232
+ textarea.tall { height: 350px; }
233
+
234
+ .inplaceeditor-form input { margin-top: 1px; padding: 5px; font-size: 13px; }
235
+
236
+ /* MESSY LOAD OF JUNK BELOW HERE---------------------------------------- */
237
+
238
+ input.button_input {
239
+ border: 1px solid black;
240
+ border-top-color: #fff;
241
+ border-left-color: #fff;
242
+ border-bottom-color: #ccc;
243
+ border-right-color: #ccc;
244
+ background-color: #e5e5e5;
245
+ padding: 2px;
246
+ }
247
+
248
+ input.button_input.text {
249
+ background: transparent; border: none;
250
+ padding: 0 0 0 0; margin: -2px 0 0 0;
251
+ color: #677077; text-decoration: underline; cursor:pointer;
252
+ }
253
+
254
+ input.image_button_input {
255
+ border: none;
256
+ background: transparent;
257
+ padding: 0; margin: 0;
258
+ }
259
+
260
+ input.create_button {
261
+ padding-left: 20px;
262
+ background:url(../../../images/plus.png) no-repeat center left;
263
+ background-color: #e5e5e5;
264
+ }
265
+
266
+
267
+ .search_result { border: 1px dashed grey; margin: 15px 10px; padding: 5px; background: white; }
268
+
269
+ .inplaceeditor-form { display: inline; margin: 0; padding: 0; }
270
+
271
+ td { vertical-align: top; padding: 5px; }
272
+
273
+ .edit_box { border-top: 1px dashed black; border-bottom: 1px dashed black; margin: 10px; }
274
+
275
+
276
+ /* CALENDAR */
277
+
278
+ table.calendar { width:100%; margin-top: 20px; border-collapse: collapse;}
279
+ table.calendar th { text-align: right; font-size:10pt;}
280
+ table.calendar td { padding: 4px; height: 35px; width: 50px; text-align:right; vertical-align: top;
281
+ font-weight: bold; font-size:8pt;}
282
+ table.calendar td.odd { background: #eaeaea; }
283
+ table.calendar td.even { background: #e0e0e0; }
284
+
285
+ table.calendar td.other_month { color: white; }
286
+
287
+ /* ADD/REMOVE BOX */
288
+
289
+ table.add_remove_box { width: 100%; border: 1px solid black; margin-top: 10px;}
290
+ table.add_remove_box.spinner { background-image: url(../images/spinner.gif);
291
+ background-repeat: no-repeat;
292
+ background-position: top right; }
293
+ table.add_remove_box table { width: 100%;}
294
+ table.add_remove_box td { vertical-align: top; width: 50%;}
295
+
296
+ /* NAME-BOXES */
297
+
298
+ a.name-box, a.name-box-left, a.name-box-right { text-decoration: none; }
299
+
300
+ a.name-box { color: white; margin-left: -2px; }
301
+
302
+ a.name-box, a:hover.name-box { background: url(../images/name-box-main.gif) repeat-x bottom; }
303
+
304
+ a.name-box-left, a:hover.name-box-left { text-decoration: none; background: url(../images/name-box-remove.gif) no-repeat bottom; }
305
+ a.name-box-right, a:hover.name-box-right { background: url(../images/name-box-right.gif) no-repeat bottom; margin-left: -2px;}
306
+
307
+ a:link.name-box-left { text-decoration: none; }
308
+ a:visited.name-box-left { text-decoration: none; }
309
+ a:active.name-box-left { text-decoration: none; }
310
+
311
+ /* BELOW ARE STYLES FROM THE OLD STYLESHEET BEING MERGED INTO STYLES ABOVE */
312
+
313
+ input, textarea {
314
+ border: 1px dashed #666;
315
+ background: white;
316
+ padding: 4px;
317
+ margin: 3px;
318
+ }
319
+
320
+ input.hoverable, textarea.hoverable { border: 1px solid #fbfbfb; background: #fbfbfb; }
321
+
322
+ input.hoverable.hover, textarea.hoverable.hover { border: 1px dashed grey; background: white; }
323
+
324
+ textarea[disabled] { color:black; background: inherit; border: 1px solid transparent; }
325
+ input[disabled] { color:black; background: inherit; border: 1px solid transparent; }
326
+
327
+ table.form th { vertical-align: top; padding-top: 7px;}
328
+
329
+ .box {
330
+ padding: 6px;
331
+ margin: 20px 10px;
332
+ background: white;
333
+ }
334
+
335
+ .box h3 {
336
+ margin-top: 0;
337
+ }
338
+
339
+ .indent {
340
+ margin-left: 12pt;
341
+ }
342
+
343
+ .hidden {
344
+ display: None;
345
+ }
346
+
347
+ .box p {
348
+ margin-top: 6pt;
349
+ }
350
+
351
+ p.no-results {
352
+ text-align: center;
353
+ }
354
+
355
+ .person {
356
+ margin: 6pt 0;
357
+ }
358
+
359
+ .person .name {
360
+ font-weight: bold;
361
+ }
362
+
363
+ .spinner, .hoverable.spinner { background: url(../images/spinner.gif) no-repeat center center; }
364
+
365
+ .box-menu-item {
366
+ float: left;
367
+ margin: 5px;
368
+ padding: 0;
369
+ }
370
+
371
+ .hilight {
372
+ margin: 3px;
373
+ background: lightblue;
374
+ padding: 6px;
375
+ }
376
+
377
+ h4 {
378
+ margin: 3pt;
379
+ }
380
+
381
+
382
+ textarea.big {
383
+ width: 618px;
384
+ }
385
+
386
+ form { margin: 0; padding: 0; }
387
+
388
+ .bubbles { line-height: 18px; }
389
+
390
+ img.spinner { margin-left: 6px; }