calendariffic 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (107) hide show
  1. data/LICENSE +21 -0
  2. data/README +76 -0
  3. data/Rakefile +175 -0
  4. data/assets/images/calendariffic/calendar.png +0 -0
  5. data/assets/images/calendariffic/date.png +0 -0
  6. data/assets/images/calendariffic/date_add.png +0 -0
  7. data/assets/images/calendariffic/date_delete.png +0 -0
  8. data/assets/images/calendariffic/date_edit.png +0 -0
  9. data/assets/images/calendariffic/date_error.png +0 -0
  10. data/assets/images/calendariffic/date_go.png +0 -0
  11. data/assets/images/calendariffic/date_link.png +0 -0
  12. data/assets/images/calendariffic/date_magnify.png +0 -0
  13. data/assets/images/calendariffic/date_next.png +0 -0
  14. data/assets/images/calendariffic/date_previous.png +0 -0
  15. data/assets/images/calendariffic/img.gif +0 -0
  16. data/assets/images/calendariffic/menuarrow.gif +0 -0
  17. data/assets/images/calendariffic/menuarrow2.gif +0 -0
  18. data/assets/images/calendariffic/skins/aqua/active-bg.gif +0 -0
  19. data/assets/images/calendariffic/skins/aqua/dark-bg.gif +0 -0
  20. data/assets/images/calendariffic/skins/aqua/hover-bg.gif +0 -0
  21. data/assets/images/calendariffic/skins/aqua/menuarrow.gif +0 -0
  22. data/assets/images/calendariffic/skins/aqua/normal-bg.gif +0 -0
  23. data/assets/images/calendariffic/skins/aqua/rowhover-bg.gif +0 -0
  24. data/assets/images/calendariffic/skins/aqua/status-bg.gif +0 -0
  25. data/assets/images/calendariffic/skins/aqua/theme.css +236 -0
  26. data/assets/images/calendariffic/skins/aqua/title-bg.gif +0 -0
  27. data/assets/images/calendariffic/skins/aqua/today-bg.gif +0 -0
  28. data/assets/javascripts/calendariffic/ChangeLog +761 -0
  29. data/assets/javascripts/calendariffic/README +33 -0
  30. data/assets/javascripts/calendariffic/calendar-setup.js +211 -0
  31. data/assets/javascripts/calendariffic/calendar-setup_stripped.js +21 -0
  32. data/assets/javascripts/calendariffic/calendar.js +1799 -0
  33. data/assets/javascripts/calendariffic/calendar_stripped.js +14 -0
  34. data/assets/javascripts/calendariffic/doc/html/field-button.jpg +0 -0
  35. data/assets/javascripts/calendariffic/doc/html/reference-Z-S.css +193 -0
  36. data/assets/javascripts/calendariffic/doc/html/reference.css +34 -0
  37. data/assets/javascripts/calendariffic/doc/html/reference.html +1738 -0
  38. data/assets/javascripts/calendariffic/doc/reference.pdf +0 -0
  39. data/assets/javascripts/calendariffic/lang/calendar-af.js +44 -0
  40. data/assets/javascripts/calendariffic/lang/calendar-al.js +106 -0
  41. data/assets/javascripts/calendariffic/lang/calendar-bg.js +129 -0
  42. data/assets/javascripts/calendariffic/lang/calendar-big5-utf8.js +128 -0
  43. data/assets/javascripts/calendariffic/lang/calendar-big5.js +128 -0
  44. data/assets/javascripts/calendariffic/lang/calendar-br.js +113 -0
  45. data/assets/javascripts/calendariffic/lang/calendar-ca.js +128 -0
  46. data/assets/javascripts/calendariffic/lang/calendar-cs-utf8.js +71 -0
  47. data/assets/javascripts/calendariffic/lang/calendar-cs-win.js +71 -0
  48. data/assets/javascripts/calendariffic/lang/calendar-da.js +128 -0
  49. data/assets/javascripts/calendariffic/lang/calendar-de.js +128 -0
  50. data/assets/javascripts/calendariffic/lang/calendar-du.js +50 -0
  51. data/assets/javascripts/calendariffic/lang/calendar-el.js +94 -0
  52. data/assets/javascripts/calendariffic/lang/calendar-en.js +127 -0
  53. data/assets/javascripts/calendariffic/lang/calendar-es.js +129 -0
  54. data/assets/javascripts/calendariffic/lang/calendar-fi.js +103 -0
  55. data/assets/javascripts/calendariffic/lang/calendar-fr.js +130 -0
  56. data/assets/javascripts/calendariffic/lang/calendar-he-utf8.js +128 -0
  57. data/assets/javascripts/calendariffic/lang/calendar-hr-utf8.js +54 -0
  58. data/assets/javascripts/calendariffic/lang/calendar-hr.js +0 -0
  59. data/assets/javascripts/calendariffic/lang/calendar-hu.js +129 -0
  60. data/assets/javascripts/calendariffic/lang/calendar-it.js +129 -0
  61. data/assets/javascripts/calendariffic/lang/calendar-jp.js +50 -0
  62. data/assets/javascripts/calendariffic/lang/calendar-ko-utf8.js +125 -0
  63. data/assets/javascripts/calendariffic/lang/calendar-ko.js +125 -0
  64. data/assets/javascripts/calendariffic/lang/calendar-lt-utf8.js +119 -0
  65. data/assets/javascripts/calendariffic/lang/calendar-lt.js +119 -0
  66. data/assets/javascripts/calendariffic/lang/calendar-lv.js +128 -0
  67. data/assets/javascripts/calendariffic/lang/calendar-nl.js +79 -0
  68. data/assets/javascripts/calendariffic/lang/calendar-no.js +119 -0
  69. data/assets/javascripts/calendariffic/lang/calendar-pl-utf8.js +100 -0
  70. data/assets/javascripts/calendariffic/lang/calendar-pl.js +61 -0
  71. data/assets/javascripts/calendariffic/lang/calendar-pt.js +128 -0
  72. data/assets/javascripts/calendariffic/lang/calendar-ro.js +71 -0
  73. data/assets/javascripts/calendariffic/lang/calendar-ru.js +128 -0
  74. data/assets/javascripts/calendariffic/lang/calendar-ru_win_.js +128 -0
  75. data/assets/javascripts/calendariffic/lang/calendar-si.js +101 -0
  76. data/assets/javascripts/calendariffic/lang/calendar-sk.js +104 -0
  77. data/assets/javascripts/calendariffic/lang/calendar-sp.js +115 -0
  78. data/assets/javascripts/calendariffic/lang/calendar-sv.js +98 -0
  79. data/assets/javascripts/calendariffic/lang/calendar-tr.js +63 -0
  80. data/assets/javascripts/calendariffic/lang/calendar-zh.js +124 -0
  81. data/assets/javascripts/calendariffic/lang/cn_utf8.js +128 -0
  82. data/assets/stylesheets/calendariffic/calendar-blue.css +232 -0
  83. data/assets/stylesheets/calendariffic/calendar-blue2.css +236 -0
  84. data/assets/stylesheets/calendariffic/calendar-brown.css +225 -0
  85. data/assets/stylesheets/calendariffic/calendar-green.css +229 -0
  86. data/assets/stylesheets/calendariffic/calendar-system.css +251 -0
  87. data/assets/stylesheets/calendariffic/calendar-tas.css +239 -0
  88. data/assets/stylesheets/calendariffic/calendar-win2k-1.css +271 -0
  89. data/assets/stylesheets/calendariffic/calendar-win2k-2.css +271 -0
  90. data/assets/stylesheets/calendariffic/calendar-win2k-cold-1.css +265 -0
  91. data/assets/stylesheets/calendariffic/calendar-win2k-cold-2.css +271 -0
  92. data/calendariffic.gemspec +167 -0
  93. data/doc/created.rid +1 -0
  94. data/doc/files/README.html +263 -0
  95. data/doc/fr_class_index.html +27 -0
  96. data/doc/fr_file_index.html +28 -0
  97. data/doc/fr_method_index.html +27 -0
  98. data/doc/index.html +24 -0
  99. data/doc/rdoc-style.css +208 -0
  100. data/init.rb +2 -0
  101. data/install.rb +6 -0
  102. data/lib/calendariffic.rb +73 -0
  103. data/rails/init.rb +1 -0
  104. data/tasks/calendariffic_tasks.rake +4 -0
  105. data/test/calendariffic_test.rb +8 -0
  106. data/uninstall.rb +1 -0
  107. metadata +181 -0
data/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License
2
+
3
+ Copyright (c) Tom Preston-Werner
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
data/README ADDED
@@ -0,0 +1,76 @@
1
+ == Calendariffic.
2
+ May 2007 by Paul N. Danese. email bugs &c. to: pdanese@yahoo.com
3
+ =============
4
+
5
+ === WHAT THIS PLUGIN DOES:
6
+ Allows the user to create a DHTML pop-up calendar and an associated text-box that
7
+ displays the selected date using 1 Rails function from within a .rhtml file.
8
+
9
+ === INSPIRATION:
10
+ Like all the other good calendar plugins, Calendariffic relies on the heavy-lifting performed by the Dynarch DHTML calendar
11
+ (http://www.Dynarch.com/projects/calendar/).
12
+
13
+ === LICENSE:
14
+ As Calendariffic is simply a rails extension of the Dynarch calendar, it is released under the same license
15
+ as that of the Dynarch calendar (i.e. the GNU General Lesser Public License, http://www.gnu.org/licenses/lgpl.html).
16
+
17
+ === BACKGROUND:
18
+ The Rails community needs another Ajax Calendar plugin like I need another hole in my head.
19
+ Fortunately for all of us, my Colt .45 single-action Peacemaker just arrived from Ebay, complete with bullets.
20
+ Okay okay, there were a handful of questionable reasons for building this plugin.
21
+ 1. To see if I could do it.
22
+ 2. I tried the Datetime Toolbocks plugin, which is beautiful and slick and does everything but perform surgery and it worked like a champ--unless I wanted to modify its look and feel, in which case I needed a PhD in Ajaxology, which I don't have.
23
+ 3. I tried another Calendar plugin which (in theory) possessed a configurable look and feel, but the documentation was so lacking that I (again) had to plumb the depths of someone else's ruby, rails and javascript and, well, I'm just a little too ADHD for that.
24
+
25
+ === PLEDGE:
26
+ So Here's my Plugin Pledge.
27
+
28
+ * Calendariffic won't do as much as Datetime Toolbocks (e.g. you can't type in 'tomorrow' and have it guess the correct date), however it will do the basics just fine (i.e. pick a date from a calendar) and it'll still be easier to alter w/ respect to look and feel.
29
+ * The documentation won't [completely] suck.
30
+
31
+ === HOW TO INSTALL THE PLUGIN:
32
+ 1. YOU MUST HAVE A FUNCTIONAL COPY OF RAILS INSTALLED ON YOUR SYSTEM
33
+ 2. YOU MUST HAVE A FUNCTIONAL RAILS PROJECT INSTALLED ON YOUR SYSTEM (let's say the project is called *myrailsapplication* and is located in the linux directory <b>/myrailsapplication/</b>.
34
+ 3. Navigate to the <b>/myrailsapplication/</b> directory and type *script*/*plugin* *install* *http*://*opensvn*.*csie*.*org*/*calendariffic*/*calendariffic*/
35
+ 4. Press the *enter* *key* and wait for all files to be downloaded into your rails application (files will be located in <b>/myrailsapplication/vendor/plugins/calendariffic/</b>)
36
+ 5. You're done.
37
+
38
+ === HOW TO USE THE PLUGIN:
39
+ 1. Identify the .rhtml file that will display the Calendariffic calendar. Let's say this file is called *myrailsview*.*rhtml*.
40
+
41
+ 2. You then need to include links to 3 Dynarch calendar javascript files which the plugin has installed in your <b>PUBLIC/javascripts/calendariffic directory</b>. These 3 files are called <b>'calendar.js', 'calendar-setup.js',</b> and <b>'calendar-en.js'</b>. The easiest way to do this is to use the rails function *javascript_include_tag*.
42
+ e.g. your myrailsview.rhtml file might have this in the <head> section:
43
+ <%= javascript_include_tag 'calendariffic/calendar.js', 'calendariffic/calendar-setup.js', 'calendariffic/lang/calendar-en.js' %>
44
+
45
+ Some things to note:
46
+ The Calendariffic file, calendar-setup.js, is a slightly modified version of Dynarch's calendar-setup.js file.
47
+ Specifically, it has 1 more function (called set_cal()) that is used to facilitate calendar creation.
48
+ So don't try replacing Calendariffic's calendar-setup.js file with the equivalently-named Dynarch file.
49
+
50
+ The calendar-en.js file is located in a subdirectory named 'lang'.
51
+ The calendar-en.js file sets the language associated with the calendar to ENGLISH.
52
+ There are MANY different language-specific javascript files located in the lang directory, so you can choose whichever is suitable for you.
53
+
54
+ You MUST include the relative path to each of the 3 javascript files in your javascript_include_tag function
55
+ (i.e. don't just write
56
+ javascript_include_tag 'calendar.js'
57
+ instead, write
58
+ javascript_include_tag 'calendariffic/calendar.js'
59
+ 3. To specify the look-and-feel of your calendar pop-up, you now need to include a link to your favorite Dynarch calendar css file.
60
+
61
+ There are 10 different looks-and-feels to the standard Dynarch pop-up calendar and they are located within the rails directory public/stylesheets/calendariffic
62
+
63
+ The standard method to reference 1 of these .css files in your .rhtml file is to add something like this to your <head> tag:
64
+ <%= stylesheet_link_tag 'calendariffic/calendar-win2k-cold-1.css' %>
65
+ 4. Here's where you add the DHTML calendar. Add this (or something similar) to the <body> portion of your .rhtml file
66
+ at the point where you want your pop-up calendar to appear:
67
+ for example
68
+ <%= calendariffic_input(false, 'start_date', 'calendariffic/date.png', 'start_cal', '%m/%d/%y', nil, {:class => 'myfavoriteclass', :readonly => 'true'}, {:class => 'borderless'}) %>
69
+ will yield the following HTML
70
+ <input type="text" name="start_date" id="start_date", value="" readonly="true" class="myfavoriteclass" /><img src="calendariffic/date.png" name="start_cal" id="start_cal" class="borderless" /><script language="javascript">set_cal('start_date', 'start_cal', '%m/%d/%y');</script>
71
+ Details of the syntax for the calendariffic_input function are given in the rdoc.
72
+ <b>Note that you MUST supply a value for text_name and a different value for image_name for the pop-up calendar to work</b>
73
+
74
+ 5. Once you've added your calendariffic_input function to your .rhtml file, you're done.
75
+ You now have a calendar icon that can be clicked on to pop-up a calendar widget.
76
+ Once you select a date from the calendar widget, it will be displayed in your custom build text-box.
data/Rakefile ADDED
@@ -0,0 +1,175 @@
1
+ require 'rubygems'
2
+ require 'rake'
3
+ require 'date'
4
+
5
+ # Calendariffic
6
+ require 'rake'
7
+ require 'rake/testtask'
8
+ require 'rake/rdoctask'
9
+
10
+ desc 'Default: run unit tests.'
11
+ task :default => :test
12
+
13
+ desc 'Test the calendariffic plugin.'
14
+ Rake::TestTask.new(:test) do |t|
15
+ t.libs << 'lib'
16
+ t.pattern = 'test/**/*_test.rb'
17
+ t.verbose = true
18
+ end
19
+
20
+ desc 'Generate documentation for the calendariffic plugin.'
21
+ Rake::RDocTask.new(:rdoc) do |rdoc|
22
+ rdoc.rdoc_dir = 'rdoc'
23
+ rdoc.title = 'Calendariffic'
24
+ rdoc.options << '--line-numbers' << '--inline-source'
25
+ rdoc.rdoc_files.include('README')
26
+ rdoc.rdoc_files.include('lib/**/*.rb')
27
+ end
28
+ # Calendariffic END
29
+
30
+ #############################################################################
31
+ #
32
+ # Helper functions
33
+ #
34
+ #############################################################################
35
+
36
+ def name
37
+ @name ||= Dir['*.gemspec'].first.split('.').first
38
+ end
39
+
40
+ def version
41
+ line = File.read("lib/#{name}.rb")[/^\s*VERSION\s*=\s*.*/]
42
+ line.match(/.*VERSION\s*=\s*['"](.*)['"]/)[1]
43
+ end
44
+
45
+ def date
46
+ Date.today.to_s
47
+ end
48
+
49
+ def rubyforge_project
50
+ name
51
+ end
52
+
53
+ def gemspec_file
54
+ "#{name}.gemspec"
55
+ end
56
+
57
+ def gem_file
58
+ "#{name}-#{version}.gem"
59
+ end
60
+
61
+ def replace_header(head, header_name)
62
+ head.sub!(/(\.#{header_name}\s*= ').*'/) { "#{$1}#{send(header_name)}'"}
63
+ end
64
+
65
+ #############################################################################
66
+ #
67
+ # Standard tasks
68
+ #
69
+ #############################################################################
70
+
71
+ task :default => :test
72
+
73
+ require 'rake/testtask'
74
+ Rake::TestTask.new(:test) do |test|
75
+ test.libs << 'lib' << 'test'
76
+ test.pattern = 'test/**/test_*.rb'
77
+ test.verbose = true
78
+ end
79
+
80
+ desc "Generate RCov test coverage and open in your browser"
81
+ task :coverage do
82
+ require 'rcov'
83
+ sh "rm -fr coverage"
84
+ sh "rcov test/test_*.rb"
85
+ sh "open coverage/index.html"
86
+ end
87
+
88
+ require 'rake/rdoctask'
89
+ Rake::RDocTask.new do |rdoc|
90
+ rdoc.rdoc_dir = 'rdoc'
91
+ rdoc.title = "#{name} #{version}"
92
+ rdoc.rdoc_files.include('README*')
93
+ rdoc.rdoc_files.include('lib/**/*.rb')
94
+ end
95
+
96
+ desc "Open an irb session preloaded with this library"
97
+ task :console do
98
+ sh "irb -rubygems -r ./lib/#{name}.rb"
99
+ end
100
+
101
+ #############################################################################
102
+ #
103
+ # Custom tasks (add your own tasks here)
104
+ #
105
+ #############################################################################
106
+
107
+
108
+
109
+ #############################################################################
110
+ #
111
+ # Packaging tasks
112
+ #
113
+ #############################################################################
114
+
115
+ desc "Create tag v#{version} and build and push #{gem_file} to Rubygems"
116
+ task :release => :build do
117
+ unless `git branch` =~ /^\* master$/
118
+ puts "You must be on the master branch to release!"
119
+ exit!
120
+ end
121
+ sh "git commit --allow-empty -a -m 'Release #{version}'"
122
+ sh "git tag v#{version}"
123
+ sh "git push origin master"
124
+ sh "git push origin v#{version}"
125
+ sh "gem push pkg/#{name}-#{version}.gem"
126
+ end
127
+
128
+ desc "Build #{gem_file} into the pkg directory"
129
+ task :build => :gemspec do
130
+ sh "mkdir -p pkg"
131
+ sh "gem build #{gemspec_file}"
132
+ sh "mv #{gem_file} pkg"
133
+ end
134
+
135
+ desc "Generate #{gemspec_file}"
136
+ task :gemspec => :validate do
137
+ # read spec file and split out manifest section
138
+ spec = File.read(gemspec_file)
139
+ head, manifest, tail = spec.split(" # = MANIFEST =\n")
140
+
141
+ # replace name version and date
142
+ replace_header(head, :name)
143
+ replace_header(head, :version)
144
+ replace_header(head, :date)
145
+ #comment this out if your rubyforge_project has a different name
146
+ replace_header(head, :rubyforge_project)
147
+
148
+ # determine file list from git ls-files
149
+ files = `git ls-files`.
150
+ split("\n").
151
+ sort.
152
+ reject { |file| file =~ /^\./ }.
153
+ reject { |file| file =~ /^(rdoc|pkg)/ }.
154
+ map { |file| " #{file}" }.
155
+ join("\n")
156
+
157
+ # piece file back together and write
158
+ manifest = " s.files = %w[\n#{files}\n ]\n"
159
+ spec = [head, manifest, tail].join(" # = MANIFEST =\n")
160
+ File.open(gemspec_file, 'w') { |io| io.write(spec) }
161
+ puts "Updated #{gemspec_file}"
162
+ end
163
+
164
+ desc "Validate #{gemspec_file}"
165
+ task :validate do
166
+ libfiles = Dir['lib/*'] - ["lib/#{name}.rb", "lib/#{name}"]
167
+ unless libfiles.empty?
168
+ puts "Directory `lib` should only contain a `#{name}.rb` file and `#{name}` dir."
169
+ exit!
170
+ end
171
+ unless Dir['VERSION*'].empty?
172
+ puts "A `VERSION` file at root level violates Gem best practices."
173
+ exit!
174
+ end
175
+ end
Binary file
@@ -0,0 +1,236 @@
1
+ /* Distributed as part of The Coolest DHTML Calendar
2
+ Author: Mihai Bazon, www.bazon.net/mishoo
3
+ Copyright Dynarch.com 2005, www.dynarch.com
4
+ */
5
+
6
+ /* The main calendar widget. DIV containing a table. */
7
+
8
+ div.calendar { position: relative; }
9
+
10
+ .calendar, .calendar table {
11
+ border: 1px solid #bdb2bf;
12
+ font-size: 11px;
13
+ color: #000;
14
+ cursor: default;
15
+ background: url("normal-bg.gif");
16
+ font-family: "trebuchet ms",verdana,tahoma,sans-serif;
17
+ }
18
+
19
+ .calendar {
20
+ border-color: #797979;
21
+ }
22
+
23
+ /* Header part -- contains navigation buttons and day names. */
24
+
25
+ .calendar .button { /* "<<", "<", ">", ">>" buttons have this class */
26
+ text-align: center; /* They are the navigation buttons */
27
+ padding: 2px; /* Make the buttons seem like they're pressing */
28
+ background: url("title-bg.gif") repeat-x 0 100%; color: #000;
29
+ font-weight: bold;
30
+ }
31
+
32
+ .calendar .nav {
33
+ font-family: verdana,tahoma,sans-serif;
34
+ }
35
+
36
+ .calendar .nav div {
37
+ background: transparent url("menuarrow.gif") no-repeat 100% 100%;
38
+ }
39
+
40
+ .calendar thead tr { background: url("title-bg.gif") repeat-x 0 100%; color: #000; }
41
+
42
+ .calendar thead .title { /* This holds the current "month, year" */
43
+ font-weight: bold; /* Pressing it will take you to the current date */
44
+ text-align: center;
45
+ padding: 2px;
46
+ background: url("title-bg.gif") repeat-x 0 100%; color: #000;
47
+ }
48
+
49
+ .calendar thead .headrow { /* Row <TR> containing navigation buttons */
50
+ }
51
+
52
+ .calendar thead .name { /* Cells <TD> containing the day names */
53
+ border-bottom: 1px solid #797979;
54
+ padding: 2px;
55
+ text-align: center;
56
+ color: #000;
57
+ }
58
+
59
+ .calendar thead .weekend { /* How a weekend day name shows in header */
60
+ color: #c44;
61
+ }
62
+
63
+ .calendar thead .hilite { /* How do the buttons in header appear when hover */
64
+ background: url("hover-bg.gif");
65
+ border-bottom: 1px solid #797979;
66
+ padding: 2px 2px 1px 2px;
67
+ }
68
+
69
+ .calendar thead .active { /* Active (pressed) buttons in header */
70
+ background: url("active-bg.gif"); color: #fff;
71
+ padding: 3px 1px 0px 3px;
72
+ border-bottom: 1px solid #797979;
73
+ }
74
+
75
+ .calendar thead .daynames { /* Row <TR> containing the day names */
76
+ background: url("dark-bg.gif");
77
+ }
78
+
79
+ /* The body part -- contains all the days in month. */
80
+
81
+ .calendar tbody .day { /* Cells <TD> containing month days dates */
82
+ font-family: verdana,tahoma,sans-serif;
83
+ width: 2em;
84
+ color: #000;
85
+ text-align: right;
86
+ padding: 2px 4px 2px 2px;
87
+ }
88
+ .calendar tbody .day.othermonth {
89
+ font-size: 80%;
90
+ color: #999;
91
+ }
92
+ .calendar tbody .day.othermonth.oweekend {
93
+ color: #f99;
94
+ }
95
+
96
+ .calendar table .wn {
97
+ padding: 2px 3px 2px 2px;
98
+ border-right: 1px solid #797979;
99
+ background: url("dark-bg.gif");
100
+ }
101
+
102
+ .calendar tbody .rowhilite td,
103
+ .calendar tbody .rowhilite td.wn {
104
+ background: url("rowhover-bg.gif");
105
+ }
106
+
107
+ .calendar tbody td.today { font-weight: bold; /* background: url("today-bg.gif") no-repeat 70% 50%; */ }
108
+
109
+ .calendar tbody td.hilite { /* Hovered cells <TD> */
110
+ background: url("hover-bg.gif");
111
+ padding: 1px 3px 1px 1px;
112
+ border: 1px solid #bbb;
113
+ }
114
+
115
+ .calendar tbody td.active { /* Active (pressed) cells <TD> */
116
+ padding: 2px 2px 0px 2px;
117
+ }
118
+
119
+ .calendar tbody td.weekend { /* Cells showing weekend days */
120
+ color: #c44;
121
+ }
122
+
123
+ .calendar tbody td.selected { /* Cell showing selected date */
124
+ font-weight: bold;
125
+ border: 1px solid #797979;
126
+ padding: 1px 3px 1px 1px;
127
+ background: url("active-bg.gif"); color: #fff;
128
+ }
129
+
130
+ .calendar tbody .disabled { color: #999; }
131
+
132
+ .calendar tbody .emptycell { /* Empty cells (the best is to hide them) */
133
+ visibility: hidden;
134
+ }
135
+
136
+ .calendar tbody .emptyrow { /* Empty row (some months need less than 6 rows) */
137
+ display: none;
138
+ }
139
+
140
+ /* The footer part -- status bar and "Close" button */
141
+
142
+ .calendar tfoot .footrow { /* The <TR> in footer (only one right now) */
143
+ text-align: center;
144
+ background: #565;
145
+ color: #fff;
146
+ }
147
+
148
+ .calendar tfoot .ttip { /* Tooltip (status bar) cell <TD> */
149
+ padding: 2px;
150
+ background: url("status-bg.gif") repeat-x 0 0; color: #000;
151
+ }
152
+
153
+ .calendar tfoot .hilite { /* Hover style for buttons in footer */
154
+ background: #afa;
155
+ border: 1px solid #084;
156
+ color: #000;
157
+ padding: 1px;
158
+ }
159
+
160
+ .calendar tfoot .active { /* Active (pressed) style for buttons in footer */
161
+ background: #7c7;
162
+ padding: 2px 0px 0px 2px;
163
+ }
164
+
165
+ /* Combo boxes (menus that display months/years for direct selection) */
166
+
167
+ .calendar .combo {
168
+ position: absolute;
169
+ display: none;
170
+ top: 0px;
171
+ left: 0px;
172
+ width: 4em;
173
+ cursor: default;
174
+ border-width: 0 1px 1px 1px;
175
+ border-style: solid;
176
+ border-color: #797979;
177
+ background: url("normal-bg.gif"); color: #000;
178
+ z-index: 100;
179
+ font-size: 90%;
180
+ }
181
+
182
+ .calendar .combo .label,
183
+ .calendar .combo .label-IEfix {
184
+ text-align: center;
185
+ padding: 1px;
186
+ }
187
+
188
+ .calendar .combo .label-IEfix {
189
+ width: 4em;
190
+ }
191
+
192
+ .calendar .combo .hilite {
193
+ background: url("hover-bg.gif"); color: #000;
194
+ }
195
+
196
+ .calendar .combo .active {
197
+ background: url("active-bg.gif"); color: #fff;
198
+ font-weight: bold;
199
+ }
200
+
201
+ .calendar td.time {
202
+ border-top: 1px solid #797979;
203
+ padding: 1px 0px;
204
+ text-align: center;
205
+ background: url("dark-bg.gif");
206
+ }
207
+
208
+ .calendar td.time .hour,
209
+ .calendar td.time .minute,
210
+ .calendar td.time .ampm {
211
+ padding: 0px 5px 0px 6px;
212
+ font-weight: bold;
213
+ background: url("normal-bg.gif"); color: #000;
214
+ }
215
+
216
+ .calendar td.time .hour,
217
+ .calendar td.time .minute {
218
+ font-family: monospace;
219
+ }
220
+
221
+ .calendar td.time .ampm {
222
+ text-align: center;
223
+ }
224
+
225
+ .calendar td.time .colon {
226
+ padding: 0px 2px 0px 3px;
227
+ font-weight: bold;
228
+ }
229
+
230
+ .calendar td.time span.hilite {
231
+ background: url("hover-bg.gif"); color: #000;
232
+ }
233
+
234
+ .calendar td.time span.active {
235
+ background: url("active-bg.gif"); color: #fff;
236
+ }