imported version 0.9.6 from jscalendar

This commit is contained in:
Ralf Becker 2004-05-06 11:57:41 +00:00
parent 6cba1832b9
commit 9f1a3a4e84
44 changed files with 2822 additions and 344 deletions

View File

@ -0,0 +1,500 @@
2004-02-06 Mihai Bazon <mishoo@localhost.localdomain>
* make-release.pl: ChangeLog included in the distribution (if found)
* calendar.js, doc/reference.tex, index.html: switched to version 0.9.6
* doc/Calendar.setup.tex, doc/reference.tex: updated documentation
* release-notes.html: updated release notes
* calendar.js: Fixed bug: Feb/29 and year change now keeps Feb in view
* calendar.js: fixed the "ESC" problem (call the close handler)
* calendar.js: fixed day of year range (1 to 366 instead of 0 to 365)
* calendar.js: fixed week number calculations
* doc/reference.tex: fixed (date input format)
* calendar.php: removed comment
* calendar-blue.css, calendar-blue2.css, calendar-brown.css, calendar-green.css, calendar-system.css, calendar-tas.css, calendar-win2k-1.css, calendar-win2k-2.css, calendar-win2k-cold-1.css, calendar-win2k-cold-2.css, calendar.js:
workaround for IE bug (you can't normally specify through CSS the style for
an element having two classes or more; we had to change a classname)
* calendar-blue.css, calendar-blue2.css, calendar-brown.css, calendar-green.css, calendar-system.css, calendar-tas.css, calendar-win2k-1.css, calendar-win2k-2.css, calendar-win2k-cold-1.css, calendar-win2k-cold-2.css:
smaller fonts on days that are in neighbor months
2004-02-04 Mihai Bazon <mishoo@localhost.localdomain>
* index.html: first demo shows the "showOtherMonths" capability
* calendar-setup.js: support new parameters in the calendar.
added: firstDay, showOthers, cache.
* calendar-blue.css, calendar-blue2.css, calendar-brown.css, calendar-green.css, calendar-system.css, calendar-win2k-1.css, calendar-win2k-2.css, calendar-win2k-cold-1.css, calendar-win2k-cold-2.css, calendar.js, lang/calendar-en.js, lang/calendar-ro.js:
new parameters: firstDayOfWeek, showsOtherMonths; removed mondayFirst.
This adds support for setting any day to be the first day of week (by just
clicking the day name in the display); also, if showsOtherMonths is enabled
then dates belonging to adjacent months that are in the current view will be
displayed and the calendar will have a fixed height.
all themes updated.
* test.php: test for calendar.php
* calendar.php: fixed bug (pass numeric values as numbers)
2004-02-01 Mihai Bazon <mishoo@localhost.localdomain>
* calendar.php: added PHP wrapper
* img.gif: icon updated
* TODO: updated TODO list
2004-01-27 Mihai Bazon <mishoo@localhost.localdomain>
* calendar.js:
Janusz Piwowarski sent over a patch for IE5 compatibility which is much more
elegant than the atrocities that I had wrote :-D I'm gettin' old.. Thanks Janusz!
* lang/calendar-fi.js: updated
2004-01-15 Mihai Bazon <mishoo@localhost.localdomain>
* TODO: updated TODO list
* calendar-setup.js: default align changed to "Br"
* doc/reference.tex: changed default value for "align"
* calendar-setup.js: calling onchange event handler, if available
* calendar-setup.js: added "position" option
* simple-1.html: demonstrates "step" option
* calendar-setup.js: added "step" option
* calendar.js: added yearStep config parameter
* calendar.js:
fixed parseDate routine (the NaN bug which occurred when there was a space
after the date and no time)
2004-01-14 Mihai Bazon <mishoo@localhost.localdomain>
* lang/calendar-en.js: added "Time:"
* test-position.html: test for the new position algorithm
* index.html: do not destroy() the calendar
avoid bug in parseDate (%p must be separated by non-word characters)
* menuarrow2.gif: for calendar-blue2.css
* calendar-setup.js: honor "date" parameter if passed
* calendar.js: IE5 support is back
performance improvements in IE6 (mouseover combo boxes)
display "Time:" beside the clock area, if defined in the language file
new positioning algorithm (try to keep the calendar in page)
rewrote parseDate a little cleaner
* lang/calendar-el.js:
updated Greek translation (thanks Alexandros Pappas)
2004-01-13 Mihai Bazon <mishoo@localhost.localdomain>
* index.html: added style blue2, using utf-8 instead of iso-8859-2
* calendar.js: performance under IE (which sucks, by the way)
* doc/reference.tex: Sunny added to sponsor list
* doc/Calendar.setup.tex: documenting parameter 'electric'
* calendar-blue.css, calendar-blue2.css, calendar-brown.css, calendar-green.css, calendar-system.css, calendar-win2k-1.css, calendar-win2k-2.css, calendar-win2k-cold-1.css, calendar-win2k-cold-2.css:
fixed IE text size problems
2004-01-08 Mihai Bazon <mishoo@localhost.localdomain>
* lang/calendar-pl.js:
Polish translation updated to UTF-8 (thanks to Artur Filipiak)
2004-01-07 Mihai Bazon <mishoo@localhost.localdomain>
* lang/calendar-si.js: updated (David Milost)
* lang/calendar-si.js: Slovenian translation (thanks to David Milost)
2003-12-21 Mihai Bazon <mishoo@localhost.localdomain>
* TODO: updated TODO list
* lang/calendar-de.js: German translation (thanks to Peter Strotmann)
2003-12-19 Mihai Bazon <mishoo@localhost.localdomain>
* doc/reference.tex: Thank you, Ian Barrak
2003-12-18 Mihai Bazon <mishoo@localhost.localdomain>
* doc/reference.tex: fixed documentation bug (thanks Mike)
2003-12-05 Mihai Bazon <mishoo@localhost.localdomain>
* lang/calendar-ko-utf8.js:
UTF8 version of the Korean language (hopefully correct)
* lang/calendar-pl-utf8.js, lang/calendar-pl.js:
updated Polish translation (thanks to Janusz Piwowarski)
2003-12-04 Mihai Bazon <mishoo@localhost.localdomain>
* lang/calendar-fr.js:
French translation updated (thanks to Angiras Rama)
2003-11-22 Mihai Bazon <mishoo@localhost.localdomain>
* lang/calendar-da.js: updated (thanks to Jesper M. Christensen)
2003-11-20 Mihai Bazon <mishoo@localhost.localdomain>
* calendar-blue2.css, calendar-tas.css:
new styles (thanks to Wendall Mosemann for blue2, Mark Lynch for tas)
* lang/calendar-lt-utf8.js, lang/calendar-lt.js:
Lithuanian translation (thanks to Martynas Majeris)
* lang/calendar-sp.js: updated
2003-11-17 Mihai Bazon <mishoo@localhost.localdomain>
* TODO: added TODO list
2003-11-14 Mihai Bazon <mishoo@localhost.localdomain>
* lang/calendar-ko.js: Korean translation (thanks to Yourim Yi)
2003-11-12 Mihai Bazon <mishoo@localhost.localdomain>
* lang/calendar-jp.js: small bug fixed (thanks to TAHARA Yusei)
2003-11-10 Mihai Bazon <mishoo@localhost.localdomain>
* lang/calendar-fr.js: translation updated, thanks to Florent Ramiere
* calendar-setup.js:
added new parameter: electric (if false then the field will not get updated on each move)
* index.html: fixed DOCTYPE
2003-11-07 Mihai Bazon <mishoo@localhost.localdomain>
* calendar-setup.js:
fixed minor problem (maybe we're passing object reference instead of ID for
the flat calendar parent)
2003-11-06 Mihai Bazon <mishoo@localhost.localdomain>
* lang/calendar-fi.js:
added Finnish translation (thanks to Antti Tuppurainen)
2003-11-05 Mihai Bazon <mishoo@localhost.localdomain>
* release-notes.html: fixed typo
* doc/reference.tex, index.html, calendar.js: 0.9.5
* README: fixed license statement
* release-notes.html: updated release notes (0.9.5)
2003-11-03 Mihai Bazon <mishoo@localhost.localdomain>
* lang/calendar-de.js:
updated German translation (thanks to Gerhard Neiner)
* calendar-setup.js: fixed license statement
* calendar.js: whitespace
* calendar.js: fixed license statement
* calendar.js:
fixed positioning problem when input field is inside scrolled divs
2003-11-01 Mihai Bazon <mishoo@localhost.localdomain>
* lang/calendar-af.js: Afrikaan language (thanks to Derick Olivier)
2003-10-31 Mihai Bazon <mishoo@localhost.localdomain>
* lang/calendar-it.js:
updated IT translation (thanks to Christian Blaser)
* lang/calendar-es.js: updated ES translation, thanks to Raul
2003-10-30 Mihai Bazon <mishoo@localhost.localdomain>
* lang/calendar-hu.js: updated thanks to Istvan Karaszi
* index.html, simple-1.html, simple-2.html, simple-3.html:
switched to utf-8 all encodings
* lang/calendar-sk.js:
added Slovak translation (thanks to Peter Valach)
* lang/calendar-ro.js: switched to utf-8
2003-10-29 Mihai Bazon <mishoo@localhost.localdomain>
* lang/calendar-es.js:
updated translation, thanks to Jose Ma. Martinez Miralles
* doc/reference.tex:
fixed the footnote problem (thanks Dominique de Waleffe for the tip)
* lang/calendar-ro.js: fixed typo
* lang/calendar-sv.js: oops, license should be LGPL
* lang/calendar-sw.js: new swedish translation is calendar-sv.js
* menuarrow.gif, menuarrow.png:
oops, forgot little drop-down menu arrows
* lang/calendar-sv.js: swedish translation thanks to Leonard Norrgard
* index.html: oops, some other minor changes
* index.html, release-notes.html:
latest changes in release-notes and index page for 0.9.4
* doc/reference.tex, calendar.js:
added %s date format (# of seconds since Epoch)
* calendar.js:
A click on TODAY will not close the calendar, even in single-click mode
2003-10-28 Mihai Bazon <mishoo@localhost.localdomain>
* index.html: previous cal.html
* cal.html: moved to index.html
* README, cal.html, doc/reference.tex, lang/calendar-de.js, lang/calendar-en.js, lang/calendar-ro.js, release-notes.html:
LGPL license, forever.
* doc/Calendar.setup.tex, simple-1.html:
doc updated for the onUpdate parameter to Calendar.setup
2003-10-26 Mihai Bazon <mishoo@localhost.localdomain>
* calendar.js: fixed bug (correct display of the dropdown menus)
* doc/Calendar.setup.tex, doc/reference.tex, lang/calendar-de.js, lang/calendar-en.js, lang/calendar-ro.js, README, cal.html, calendar-blue.css, calendar-brown.css, calendar-green.css, calendar-setup.js, calendar-system.css, calendar-win2k-1.css, calendar-win2k-2.css, calendar-win2k-cold-1.css, calendar-win2k-cold-2.css, calendar.js, release-notes.html, simple-1.html, simple-3.html:
lots of changes for the 0.9.4 release (see the release-notes.html)
2003-10-15 Mihai Bazon <mishoo@localhost.localdomain>
* doc/reference.tex:
documentation updated for 0.9.4 (not yet finished though)
2003-10-07 Mihai Bazon <mishoo@localhost.localdomain>
* calendar.js, doc/reference.tex, release-notes.html, README, cal.html, calendar-setup.js:
modified project website
2003-10-06 Mihai Bazon <mishoo@localhost.localdomain>
* calendar-setup.js:
added some properties (onSelect, onClose, date) (thanks altblue)
2003-09-24 Mihai Bazon <mishoo@localhost.localdomain>
* simple-3.html: dateIsSpecial does not need the "date" argument ;-)
2003-09-24 fsoft <fsoft@mishoo>
* calendar.js, simple-3.html:
added year, month, day to getDateStatus() function
2003-09-24 Mihai Bazon <mishoo@localhost.localdomain>
* simple-3.html: example on how to use special dates
* calendar-setup.js, calendar.js, simple-1.html:
support for special dates (thanks fabio)
2003-09-17 Mihai Bazon <mishoo@localhost.localdomain>
* doc/reference.tex: fixed error in section 3.
2003-08-01 Mihai Bazon <mishoo@localhost.localdomain>
* lang/calendar-jp.js: added Japanese translation
2003-07-16 Mihai Bazon <mishoo@localhost.localdomain>
* simple-1.html: fixed problem with first example [IE,Opera]
2003-07-09 Mihai Bazon <mishoo@localhost.localdomain>
* doc/Calendar.setup.tex: fixed typo (closing parenthesis)
* lang/calendar-de.js:
added German translation, thanks to Hartwig Weinkauf
2003-07-08 Mihai Bazon <mishoo@localhost.localdomain>
* cal.html: added link to release-notes
* release-notes.html: 0.9.3 release notes
* make-release.pl:
Script to create distribution archive. It needs some additional packages:
- LaTeX
- tex2page
- jscrunch (JS compressor)
* doc/html/makedoc.sh, doc/html/reference.css, doc/reference.tex, doc/makedoc.sh:
documentation updates...
* calendar.js: added semicolon to make the code "compressible"
2003-07-06 Mihai Bazon <mishoo@localhost.localdomain>
* doc/reference.tex: spell checked
* doc/reference.tex: [minor] changed credits order
* doc/reference.tex: various improvements and additions
* doc/html/reference.css: minor eye-candy tweaks
2003-07-05 Mihai Bazon <mishoo@localhost.localdomain>
* doc/html/Calendar.setup.html.tex, doc/html/makedoc.sh, doc/html/reference.css, doc/html/reference.t2p, doc/hyperref.cfg, doc/makedoc.sh, doc/reference.tex, doc/Calendar.setup.tex, doc/Calendar.setup.pdf.tex:
full documentation in LaTeX, for PDF and HTML formats
* simple-2.html:
added demonstration of flat calendar with Calendar.setup
* simple-1.html:
modified some links, added link to documentation, added demonstration of
disableFunc property
* calendar-setup.js: added the ability to create flat calendar too
* cal.html: added links to documentation and simple-[12].html pages
* README: up-to-date...
* calendar-setup.html: removed: the documentation is unified
2003-07-03 Mihai Bazon <mishoo@localhost.localdomain>
* cal.html: some links to newly added files
* calendar-setup.html, calendar-setup.js, img.gif, simple-1.html:
added some files to simplify calendar creation for non-(JS)-programmers
* lang/calendar-zh.js: added simplified chinese (thanks ATang)
2003-07-02 Mihai Bazon <mishoo@localhost.localdomain>
* calendar.js: * "yy"-related... [small fix]
* calendar.js:
* #721833 fixed (yy format will understand years prior to 29 as 20xx)
* calendar.js: * added refresh() function
* calendar.js: * fixed bug when in single click mode
* added alignment options to "showAtElement" member function
2003-06-25 Mihai Bazon <mishoo@localhost.localdomain>
* lang/calendar-pt.js:
added portugese translation (thanks Nuno Barreto)
2003-06-24 Mihai Bazon <mishoo@localhost.localdomain>
* calendar.js:
call user handler when the date was changed using the keyboard
* bugtest-hidden-selects.html:
file to test bug with hidden select-s (thanks Ying Zhang for reporting and for this test file)
* lang/calendar-hr-utf8.js:
added croatian translation in utf8 (thanks Krunoslav Zubrinic)
2003-06-23 Mihai Bazon <mishoo@localhost.localdomain>
* lang/calendar-hu.js: added hungarian translation
* lang/calendar-hr.js:
added croatian translation (thanks to Krunoslav Zubrinic)
2003-06-22 Mihai Bazon <mishoo@localhost.localdomain>
* calendar.js:
* #723335 fixed (clicking TODAY will not select the today date if the
disabledHandler rejects it)
* cal.html: * new code for to work with fix for bug #703238
* switch to new version
* calendar.js:
* some patches to make code compatible with Opera 7 (well, almost compatible)
* bug #703238 fixed (fix breaks compatibility with older code that uses
calendar in single-click mode)
* bug #703814 fixed
2003-04-09 Mihai Bazon <mishoo@localhost.localdomain>
* lang/calendar-tr.js: added turkish lang file
2003-03-19 Mihai Bazon <mishoo@localhost.localdomain>
* lang/calendar-ru.js: russian translation added
* lang/calendar-no.js: norwegian translation added
2003-03-15 Mihai Bazon <mishoo@localhost.localdomain>
* lang/calendar-no.js: norwegian translation
2003-03-12 Mihai Bazon <mishoo@localhost.localdomain>
* lang/calendar-pl.js: added polish translation
2003-03-11 Mihai Bazon <mishoo@localhost.localdomain>
* calendar.js:
bugfix in parseDate (added base to parseInt, thanks Alan!)
2003-03-05 Mihai Bazon <mishoo@localhost.localdomain>
* calendar.js, lang/calendar-br.js, lang/calendar-ca.js, lang/calendar-cs-win.js, lang/calendar-da.js, lang/calendar-du.js, lang/calendar-el.js, lang/calendar-en.js, lang/calendar-es.js, lang/calendar-fr.js, lang/calendar-it.js, lang/calendar-nl.js, lang/calendar-ro.js, lang/calendar-sp.js, lang/calendar-sw.js:
New file.
* calendar.js, lang/calendar-br.js, lang/calendar-ca.js, lang/calendar-cs-win.js, lang/calendar-da.js, lang/calendar-du.js, lang/calendar-el.js, lang/calendar-en.js, lang/calendar-es.js, lang/calendar-fr.js, lang/calendar-it.js, lang/calendar-nl.js, lang/calendar-ro.js, lang/calendar-sp.js, lang/calendar-sw.js:
moved to CVS at sourceforge.net
release: 0.9.2 + new language packs
* README, cal.html, calendar-blue.css, calendar-brown.css, calendar-green.css, calendar-system.css, calendar-win2k-1.css, calendar-win2k-2.css, calendar-win2k-cold-1.css, calendar-win2k-cold-2.css:
New file.
* README, cal.html, calendar-blue.css, calendar-brown.css, calendar-green.css, calendar-system.css, calendar-win2k-1.css, calendar-win2k-2.css, calendar-win2k-cold-1.css, calendar-win2k-cold-2.css:
moved to CVS at sourceforge.net
release: 0.9.2 + new language packs

View File

@ -20,6 +20,8 @@ Contents
doc/ -- documentation, in PDF and HTML
simple-1.html -- quick setup examples [popup calendars]
simple-2.html -- quick setup example for flat calendar
calendar.php -- PHP wrapper
test.php -- test file for the PHP wrapper
Homepage
---------

View File

@ -1,4 +1,4 @@
This directory contains the (unchanged) Version 0.9.5 of jsCalendar
This directory contains the (unchanged) Version 0.9.6 of jsCalendar
jsCalendar is called by the jscalendar wrapper-class in the phpGW API
@ -9,5 +9,6 @@ translations from the database for the language the user has spec. in his prefs.
RalfBecker@outdoor-training.de
History:
06-May-2004 updated to version 0.9.6
11-Nov-2003 updated to version 0.9.5
17-Aug-2003 inital import of version 0.9.3

View File

@ -70,6 +70,13 @@ div.calendar { position: relative; }
text-align: right;
padding: 2px 4px 2px 2px;
}
.calendar tbody .day.othermonth {
font-size: 80%;
color: #bbb;
}
.calendar tbody .day.othermonth.oweekend {
color: #fbb;
}
.calendar table .wn {
padding: 2px 3px 2px 2px;
@ -152,7 +159,7 @@ div.calendar { position: relative; }
/* Combo boxes (menus that display months/years for direct selection) */
.combo {
.calendar .combo {
position: absolute;
display: none;
top: 0px;
@ -162,24 +169,24 @@ div.calendar { position: relative; }
border: 1px solid #655;
background: #def;
color: #000;
font-size: smaller;
font-size: 90%;
}
.combo .label,
.combo .label-IEfix {
.calendar .combo .label,
.calendar .combo .label-IEfix {
text-align: center;
padding: 1px;
}
.combo .label-IEfix {
.calendar .combo .label-IEfix {
width: 4em;
}
.combo .hilite {
.calendar .combo .hilite {
background: #acf;
}
.combo .active {
.calendar .combo .active {
border-top: 1px solid #46a;
border-bottom: 1px solid #46a;
background: #eef;

View File

@ -0,0 +1,235 @@
/* The main calendar widget. DIV containing a table. */
div.calendar { position: relative; }
.calendar, .calendar table {
border: 1px solid #206A9B;
font-size: 11px;
color: #000;
cursor: default;
background: #F1F8FC;
font-family: tahoma,verdana,sans-serif;
}
/* Header part -- contains navigation buttons and day names. */
.calendar .button { /* "<<", "<", ">", ">>" buttons have this class */
text-align: center; /* They are the navigation buttons */
padding: 2px; /* Make the buttons seem like they're pressing */
}
.calendar .nav {
background: #007ED1 url(menuarrow2.gif) no-repeat 100% 100%;
}
.calendar thead .title { /* This holds the current "month, year" */
font-weight: bold; /* Pressing it will take you to the current date */
text-align: center;
background: #000;
color: #fff;
padding: 2px;
}
.calendar thead tr { /* Row <TR> containing navigation buttons */
background: #007ED1;
color: #fff;
}
.calendar thead .daynames { /* Row <TR> containing the day names */
background: #C7E1F3;
}
.calendar thead .name { /* Cells <TD> containing the day names */
border-bottom: 1px solid #206A9B;
padding: 2px;
text-align: center;
color: #000;
}
.calendar thead .weekend { /* How a weekend day name shows in header */
color: #a66;
}
.calendar thead .hilite { /* How do the buttons in header appear when hover */
background-color: #34ABFA;
color: #000;
border: 1px solid #016DC5;
padding: 1px;
}
.calendar thead .active { /* Active (pressed) buttons in header */
background-color: #006AA9;
border: 1px solid #008AFF;
padding: 2px 0px 0px 2px;
}
/* The body part -- contains all the days in month. */
.calendar tbody .day { /* Cells <TD> containing month days dates */
width: 2em;
color: #456;
text-align: right;
padding: 2px 4px 2px 2px;
}
.calendar tbody .day.othermonth {
font-size: 80%;
color: #bbb;
}
.calendar tbody .day.othermonth.oweekend {
color: #fbb;
}
.calendar table .wn {
padding: 2px 3px 2px 2px;
border-right: 1px solid #000;
background: #C7E1F3;
}
.calendar tbody .rowhilite td {
background: #def;
}
.calendar tbody .rowhilite td.wn {
background: #F1F8FC;
}
.calendar tbody td.hilite { /* Hovered cells <TD> */
background: #def;
padding: 1px 3px 1px 1px;
border: 1px solid #8FC4E8;
}
.calendar tbody td.active { /* Active (pressed) cells <TD> */
background: #cde;
padding: 2px 2px 0px 2px;
}
.calendar tbody td.selected { /* Cell showing today date */
font-weight: bold;
border: 1px solid #000;
padding: 1px 3px 1px 1px;
background: #fff;
color: #000;
}
.calendar tbody td.weekend { /* Cells showing weekend days */
color: #a66;
}
.calendar tbody td.today { /* Cell showing selected date */
font-weight: bold;
color: #D50000;
}
.calendar tbody .disabled { color: #999; }
.calendar tbody .emptycell { /* Empty cells (the best is to hide them) */
visibility: hidden;
}
.calendar tbody .emptyrow { /* Empty row (some months need less than 6 rows) */
display: none;
}
/* The footer part -- status bar and "Close" button */
.calendar tfoot .footrow { /* The <TR> in footer (only one right now) */
text-align: center;
background: #206A9B;
color: #fff;
}
.calendar tfoot .ttip { /* Tooltip (status bar) cell <TD> */
background: #000;
color: #fff;
border-top: 1px solid #206A9B;
padding: 1px;
}
.calendar tfoot .hilite { /* Hover style for buttons in footer */
background: #B8DAF0;
border: 1px solid #178AEB;
color: #000;
padding: 1px;
}
.calendar tfoot .active { /* Active (pressed) style for buttons in footer */
background: #006AA9;
padding: 2px 0px 0px 2px;
}
/* Combo boxes (menus that display months/years for direct selection) */
.calendar .combo {
position: absolute;
display: none;
top: 0px;
left: 0px;
width: 4em;
cursor: default;
border: 1px solid #655;
background: #def;
color: #000;
font-size: 90%;
}
.calendar .combo .label,
.calendar .combo .label-IEfix {
text-align: center;
padding: 1px;
}
.calendar .combo .label-IEfix {
width: 4em;
}
.calendar .combo .hilite {
background: #34ABFA;
border-top: 1px solid #46a;
border-bottom: 1px solid #46a;
font-weight: bold;
}
.calendar .combo .active {
border-top: 1px solid #46a;
border-bottom: 1px solid #46a;
background: #F1F8FC;
font-weight: bold;
}
.calendar td.time {
border-top: 1px solid #000;
padding: 1px 0px;
text-align: center;
background-color: #E3F0F9;
}
.calendar td.time .hour,
.calendar td.time .minute,
.calendar td.time .ampm {
padding: 0px 3px 0px 4px;
border: 1px solid #889;
font-weight: bold;
background-color: #F1F8FC;
}
.calendar td.time .ampm {
text-align: center;
}
.calendar td.time .colon {
padding: 0px 2px 0px 3px;
font-weight: bold;
}
.calendar td.time span.hilite {
border-color: #000;
background-color: #267DB7;
color: #fff;
}
.calendar td.time span.active {
border-color: red;
background-color: #000;
color: #A5FF00;
}

View File

@ -69,6 +69,13 @@ div.calendar { position: relative; }
text-align: right;
padding: 2px 4px 2px 2px;
}
.calendar tbody .day.othermonth {
font-size: 80%;
color: #bbb;
}
.calendar tbody .day.othermonth.oweekend {
color: #fbb;
}
.calendar table .wn {
padding: 2px 3px 2px 2px;
@ -145,7 +152,7 @@ div.calendar { position: relative; }
/* Combo boxes (menus that display months/years for direct selection) */
.combo {
.calendar .combo {
position: absolute;
display: none;
top: 0px;
@ -155,24 +162,24 @@ div.calendar { position: relative; }
border: 1px solid #655;
background: #ffe;
color: #000;
font-size: smaller;
font-size: 90%;
}
.combo .label,
.combo .label-IEfix {
.calendar .combo .label,
.calendar .combo .label-IEfix {
text-align: center;
padding: 1px;
}
.combo .label-IEfix {
.calendar .combo .label-IEfix {
width: 4em;
}
.combo .hilite {
.calendar .combo .hilite {
background: #fc8;
}
.combo .active {
.calendar .combo .active {
border-top: 1px solid #a64;
border-bottom: 1px solid #a64;
background: #fee;

View File

@ -71,6 +71,13 @@ div.calendar { position: relative; }
text-align: right;
padding: 2px 4px 2px 2px;
}
.calendar tbody .day.othermonth {
font-size: 80%;
color: #bbb;
}
.calendar tbody .day.othermonth.oweekend {
color: #fbb;
}
.calendar table .wn {
padding: 2px 3px 2px 2px;
@ -149,7 +156,7 @@ div.calendar { position: relative; }
/* Combo boxes (menus that display months/years for direct selection) */
.combo {
.calendar .combo {
position: absolute;
display: none;
top: 0px;
@ -159,24 +166,24 @@ div.calendar { position: relative; }
border: 1px solid #565;
background: #efd;
color: #000;
font-size: smaller;
font-size: 90%;
}
.combo .label,
.combo .label-IEfix {
.calendar .combo .label,
.calendar .combo .label-IEfix {
text-align: center;
padding: 1px;
}
.combo .label-IEfix {
.calendar .combo .label-IEfix {
width: 4em;
}
.combo .hilite {
.calendar .combo .hilite {
background: #af8;
}
.combo .active {
.calendar .combo .active {
border-top: 1px solid #6a4;
border-bottom: 1px solid #6a4;
background: #efe;

View File

@ -36,8 +36,8 @@
* ifFormat | date format that will be stored in the input field
* daFormat | the date format that will be used to display the date in displayArea
* singleClick | (true/false) wether the calendar is in single click mode or not (default: true)
* mondayFirst | (true/false) if true Monday is the first day of week, Sunday otherwise (default: true)
* align | alignment (default: "Bl"); if you don't know what's this see the calendar documentation
* firstDay | numeric: 0 to 6. "0" means display Sunday first, "1" means display Monday first, etc.
* align | alignment (default: "Br"); if you don't know what's this see the calendar documentation
* range | array with 2 elements. Default: [1900, 2999] -- the range of years available
* weekNumbers | (true/false) if it's true (default) the calendar will display week numbers
* flat | null or element ID; if not null the calendar will be a flat calendar having the parent with the given ID
@ -49,6 +49,11 @@
* date | the date that the calendar will be initially displayed to
* showsTime | default: false; if true the calendar will include a time selector
* timeFormat | the time format; can be "12" or "24", default is "12"
* electric | if true (default) then given fields/date areas are updated for each move; otherwise they're updated only on close
* step | configures the step of the years in drop-down boxes; default: 2
* position | configures the calendar absolute position; default: null
* cache | if "true" (but default: "false") it will reuse the same calendar object, where possible
* showOthers | if "true" (but default: "false") it will show days from other months too
*
* None of them is required, they all have default values. However, if you
* pass none of "inputField", "displayArea" or "button" you'll get a warning
@ -66,8 +71,8 @@ Calendar.setup = function (params) {
param_default("singleClick", true);
param_default("disableFunc", null);
param_default("dateStatusFunc", params["disableFunc"]); // takes precedence if both are defined
param_default("mondayFirst", true);
param_default("align", "Bl");
param_default("firstDay", 0); // defaults to "Sunday" first
param_default("align", "Br");
param_default("range", [1900, 2999]);
param_default("weekNumbers", true);
param_default("flat", null);
@ -78,6 +83,11 @@ Calendar.setup = function (params) {
param_default("date", null);
param_default("showsTime", false);
param_default("timeFormat", "24");
param_default("electric", true);
param_default("step", 2);
param_default("position", null);
param_default("cache", false);
param_default("showOthers", false);
var tmp = ["inputField", "displayArea", "button"];
for (var i in tmp) {
@ -91,35 +101,36 @@ Calendar.setup = function (params) {
}
function onSelect(cal) {
if (cal.params.flat) {
if (typeof cal.params.flatCallback == "function") {
cal.params.flatCallback(cal);
} else {
var p = cal.params;
var update = (cal.dateClicked || p.electric);
if (update && p.flat) {
if (typeof p.flatCallback == "function")
p.flatCallback(cal);
else
alert("No flatCallback given -- doing nothing.");
}
return false;
}
if (cal.params.inputField) {
cal.params.inputField.value = cal.date.print(cal.params.ifFormat);
if (update && p.inputField) {
p.inputField.value = cal.date.print(p.ifFormat);
if (typeof p.inputField.onchange == "function")
p.inputField.onchange();
}
if (cal.params.displayArea) {
cal.params.displayArea.innerHTML = cal.date.print(cal.params.daFormat);
}
if (cal.params.singleClick && cal.dateClicked) {
if (update && p.displayArea)
p.displayArea.innerHTML = cal.date.print(p.daFormat);
if (update && p.singleClick && cal.dateClicked)
cal.callCloseHandler();
}
if (typeof cal.params.onUpdate == "function") {
cal.params.onUpdate(cal);
}
if (update && typeof p.onUpdate == "function")
p.onUpdate(cal);
};
if (params.flat != null) {
params.flat = document.getElementById(params.flat);
if (typeof params.flat == "string")
params.flat = document.getElementById(params.flat);
if (!params.flat) {
alert("Calendar.setup:\n Flat specified but can't find parent.");
return false;
}
var cal = new Calendar(params.mondayFirst, params.date, params.onSelect || onSelect);
var cal = new Calendar(params.firstDay, params.date, params.onSelect || onSelect);
cal.showsTime = params.showsTime;
cal.time24 = (params.timeFormat == "24");
cal.params = params;
@ -137,8 +148,8 @@ Calendar.setup = function (params) {
var dateFmt = params.inputField ? params.ifFormat : params.daFormat;
var mustCreate = false;
var cal = window.calendar;
if (!window.calendar) {
window.calendar = cal = new Calendar(params.mondayFirst,
if (!(cal && params.cache)) {
window.calendar = cal = new Calendar(params.firstDay,
params.date,
params.onSelect || onSelect,
params.onClose || function(cal) { cal.hide(); });
@ -147,8 +158,12 @@ Calendar.setup = function (params) {
cal.weekNumbers = params.weekNumbers;
mustCreate = true;
} else {
if (params.date)
cal.setDate(params.date);
cal.hide();
}
cal.showsOtherMonths = params.showOthers;
cal.yearStep = params.step;
cal.setRange(params.range[0], params.range[1]);
cal.params = params;
cal.setDateStatusHandler(params.dateStatusFunc);
@ -157,7 +172,10 @@ Calendar.setup = function (params) {
cal.create();
cal.parseDate(dateEl.value || dateEl.innerHTML);
cal.refresh();
cal.showAtElement(params.displayArea || params.inputField, params.align);
if (!params.position)
cal.showAtElement(params.button || params.displayArea || params.inputField, params.align);
else
cal.showAt(params.position[0], params.position[1]);
return false;
};
};

View File

@ -18,4 +18,4 @@
* modify this code to suit your needs (this is recommended and much better
* than modifying calendar.js itself).
*/
Calendar.setup=function(params){function param_default(pname,def){if(typeof params[pname]=="undefined"){params[pname]=def;}};param_default("inputField",null);param_default("displayArea",null);param_default("button",null);param_default("eventName","click");param_default("ifFormat","%Y/%m/%d");param_default("daFormat","%Y/%m/%d");param_default("singleClick",true);param_default("disableFunc",null);param_default("dateStatusFunc",params["disableFunc"]);param_default("mondayFirst",true);param_default("align","Bl");param_default("range",[1900,2999]);param_default("weekNumbers",true);param_default("flat",null);param_default("flatCallback",null);param_default("onSelect",null);param_default("onClose",null);param_default("onUpdate",null);param_default("date",null);param_default("showsTime",false);param_default("timeFormat","24");var tmp=["inputField","displayArea","button"];for(var i in tmp){if(typeof params[tmp[i]]=="string"){params[tmp[i]]=document.getElementById(params[tmp[i]]);}}if(!(params.flat||params.inputField||params.displayArea||params.button)){alert("Calendar.setup:\n Nothing to setup (no fields found). Please check your code");return false;}function onSelect(cal){if(cal.params.flat){if(typeof cal.params.flatCallback=="function"){cal.params.flatCallback(cal);}else{alert("No flatCallback given -- doing nothing.");}return false;}if(cal.params.inputField){cal.params.inputField.value=cal.date.print(cal.params.ifFormat);}if(cal.params.displayArea){cal.params.displayArea.innerHTML=cal.date.print(cal.params.daFormat);}if(cal.params.singleClick&&cal.dateClicked){cal.callCloseHandler();}if(typeof cal.params.onUpdate=="function"){cal.params.onUpdate(cal);}};if(params.flat!=null){params.flat=document.getElementById(params.flat);if(!params.flat){alert("Calendar.setup:\n Flat specified but can't find parent.");return false;}var cal=new Calendar(params.mondayFirst,params.date,params.onSelect||onSelect);cal.showsTime=params.showsTime;cal.time24=(params.timeFormat=="24");cal.params=params;cal.weekNumbers=params.weekNumbers;cal.setRange(params.range[0],params.range[1]);cal.setDateStatusHandler(params.dateStatusFunc);cal.create(params.flat);cal.show();return false;}var triggerEl=params.button||params.displayArea||params.inputField;triggerEl["on"+params.eventName]=function(){var dateEl=params.inputField||params.displayArea;var dateFmt=params.inputField?params.ifFormat:params.daFormat;var mustCreate=false;var cal=window.calendar;if(!window.calendar){window.calendar=cal=new Calendar(params.mondayFirst,params.date,params.onSelect||onSelect,params.onClose||function(cal){cal.hide();});cal.showsTime=params.showsTime;cal.time24=(params.timeFormat=="24");cal.weekNumbers=params.weekNumbers;mustCreate=true;}else{cal.hide();}cal.setRange(params.range[0],params.range[1]);cal.params=params;cal.setDateStatusHandler(params.dateStatusFunc);cal.setDateFormat(dateFmt);if(mustCreate)cal.create();cal.parseDate(dateEl.value||dateEl.innerHTML);cal.refresh();cal.showAtElement(params.displayArea||params.inputField,params.align);return false;};};
Calendar.setup=function(params){function param_default(pname,def){if(typeof params[pname]=="undefined"){params[pname]=def;}};param_default("inputField",null);param_default("displayArea",null);param_default("button",null);param_default("eventName","click");param_default("ifFormat","%Y/%m/%d");param_default("daFormat","%Y/%m/%d");param_default("singleClick",true);param_default("disableFunc",null);param_default("dateStatusFunc",params["disableFunc"]);param_default("firstDay",0);param_default("align","Br");param_default("range",[1900,2999]);param_default("weekNumbers",true);param_default("flat",null);param_default("flatCallback",null);param_default("onSelect",null);param_default("onClose",null);param_default("onUpdate",null);param_default("date",null);param_default("showsTime",false);param_default("timeFormat","24");param_default("electric",true);param_default("step",2);param_default("position",null);param_default("cache",false);param_default("showOthers",false);var tmp=["inputField","displayArea","button"];for(var i in tmp){if(typeof params[tmp[i]]=="string"){params[tmp[i]]=document.getElementById(params[tmp[i]]);}}if(!(params.flat||params.inputField||params.displayArea||params.button)){alert("Calendar.setup:\n Nothing to setup (no fields found). Please check your code");return false;}function onSelect(cal){var p=cal.params;var update=(cal.dateClicked||p.electric);if(update&&p.flat){if(typeof p.flatCallback=="function")p.flatCallback(cal);else alert("No flatCallback given -- doing nothing.");return false;}if(update&&p.inputField){p.inputField.value=cal.date.print(p.ifFormat);if(typeof p.inputField.onchange=="function")p.inputField.onchange();}if(update&&p.displayArea)p.displayArea.innerHTML=cal.date.print(p.daFormat);if(update&&p.singleClick&&cal.dateClicked)cal.callCloseHandler();if(update&&typeof p.onUpdate=="function")p.onUpdate(cal);};if(params.flat!=null){if(typeof params.flat=="string")params.flat=document.getElementById(params.flat);if(!params.flat){alert("Calendar.setup:\n Flat specified but can't find parent.");return false;}var cal=new Calendar(params.firstDay,params.date,params.onSelect||onSelect);cal.showsTime=params.showsTime;cal.time24=(params.timeFormat=="24");cal.params=params;cal.weekNumbers=params.weekNumbers;cal.setRange(params.range[0],params.range[1]);cal.setDateStatusHandler(params.dateStatusFunc);cal.create(params.flat);cal.show();return false;}var triggerEl=params.button||params.displayArea||params.inputField;triggerEl["on"+params.eventName]=function(){var dateEl=params.inputField||params.displayArea;var dateFmt=params.inputField?params.ifFormat:params.daFormat;var mustCreate=false;var cal=window.calendar;if(!(cal&&params.cache)){window.calendar=cal=new Calendar(params.firstDay,params.date,params.onSelect||onSelect,params.onClose||function(cal){cal.hide();});cal.showsTime=params.showsTime;cal.time24=(params.timeFormat=="24");cal.weekNumbers=params.weekNumbers;mustCreate=true;}else{if(params.date)cal.setDate(params.date);cal.hide();}cal.showsOtherMonths=params.showOthers;cal.yearStep=params.step;cal.setRange(params.range[0],params.range[1]);cal.params=params;cal.setDateStatusHandler(params.dateStatusFunc);cal.setDateFormat(dateFmt);if(mustCreate)cal.create();cal.parseDate(dateEl.value||dateEl.innerHTML);cal.refresh();if(!params.position)cal.showAtElement(params.button||params.displayArea||params.inputField,params.align);else cal.showAt(params.position[0],params.position[1]);return false;};};

View File

@ -82,6 +82,13 @@
text-align: right;
padding: 2px 4px 2px 2px;
}
.calendar tbody .day.othermonth {
font-size: 80%;
color: #aaa;
}
.calendar tbody .day.othermonth.oweekend {
color: #faa;
}
.calendar table .wn {
padding: 2px 3px 2px 2px;
@ -170,7 +177,7 @@
/* Combo boxes (menus that display months/years for direct selection) */
.combo {
.calendar .combo {
position: absolute;
display: none;
width: 4em;
@ -181,26 +188,26 @@
border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight;
background: Menu;
color: MenuText;
font-size: smaller;
font-size: 90%;
padding: 1px;
}
.combo .label,
.combo .label-IEfix {
.calendar .combo .label,
.calendar .combo .label-IEfix {
text-align: center;
padding: 1px;
}
.combo .label-IEfix {
.calendar .combo .label-IEfix {
width: 4em;
}
.combo .active {
.calendar .combo .active {
padding: 0px;
border: 1px solid #000;
}
.combo .hilite {
.calendar .combo .hilite {
background: Highlight;
color: HighlightText;
}

View File

@ -0,0 +1,238 @@
/* The main calendar widget. DIV containing a table. */
div.calendar { position: relative; }
.calendar, .calendar table {
border: 1px solid #655;
font-size: 11px;
color: #000;
cursor: default;
background: #ffd;
font-family: tahoma,verdana,sans-serif;
filter:
progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#DDDCCC,EndColorStr=#FFFFFF);
}
/* Header part -- contains navigation buttons and day names. */
.calendar .button { /* "<<", "<", ">", ">>" buttons have this class */
text-align: center; /* They are the navigation buttons */
padding: 2px; /* Make the buttons seem like they're pressing */
color:#363636;
}
.calendar .nav {
background: #edc url(menuarrow.gif) no-repeat 100% 100%;
}
.calendar thead .title { /* This holds the current "month, year" */
font-weight: bold; /* Pressing it will take you to the current date */
text-align: center;
background: #654;
color: #363636;
padding: 2px;
filter:
progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#ffffff,EndColorStr=#dddccc);
}
.calendar thead .headrow { /* Row <TR> containing navigation buttons */
/*background: #3B86A0;*/
color: #363636;
font-weight: bold;
filter:
progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#ffffff,EndColorStr=#3b86a0);
}
.calendar thead .name { /* Cells <TD> containing the day names */
border-bottom: 1px solid #655;
padding: 2px;
text-align: center;
color: #363636;
filter:
progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#DDDCCC,EndColorStr=#FFFFFF);
}
.calendar thead .weekend { /* How a weekend day name shows in header */
color: #f00;
}
.calendar thead .hilite { /* How do the buttons in header appear when hover */
background-color: #ffcc86;
color: #000;
border: 1px solid #b59345;
padding: 1px;
}
.calendar thead .active { /* Active (pressed) buttons in header */
background-color: #c77;
padding: 2px 0px 0px 2px;
}
.calendar thead .daynames { /* Row <TR> containing the day names */
background: #fed;
}
/* The body part -- contains all the days in month. */
.calendar tbody .day { /* Cells <TD> containing month days dates */
width: 2em;
text-align: right;
padding: 2px 4px 2px 2px;
}
.calendar tbody .day.othermonth {
font-size: 80%;
color: #aaa;
}
.calendar tbody .day.othermonth.oweekend {
color: #faa;
}
.calendar table .wn {
padding: 2px 3px 2px 2px;
border-right: 1px solid #000;
background: #fed;
}
.calendar tbody .rowhilite td {
background: #ddf;
}
.calendar tbody .rowhilite td.wn {
background: #efe;
}
.calendar tbody td.hilite { /* Hovered cells <TD> */
background: #ffe;
padding: 1px 3px 1px 1px;
border: 1px solid #bbb;
}
.calendar tbody td.active { /* Active (pressed) cells <TD> */
background: #ddc;
padding: 2px 2px 0px 2px;
}
.calendar tbody td.selected { /* Cell showing today date */
font-weight: bold;
border: 1px solid #000;
padding: 1px 3px 1px 1px;
background: #fea;
}
.calendar tbody td.weekend { /* Cells showing weekend days */
color: #f00;
}
.calendar tbody td.today { font-weight: bold; }
.calendar tbody .disabled { color: #999; }
.calendar tbody .emptycell { /* Empty cells (the best is to hide them) */
visibility: hidden;
}
.calendar tbody .emptyrow { /* Empty row (some months need less than 6 rows) */
display: none;
}
/* The footer part -- status bar and "Close" button */
.calendar tfoot .footrow { /* The <TR> in footer (only one right now) */
text-align: center;
background: #988;
color: #000;
}
.calendar tfoot .ttip { /* Tooltip (status bar) cell <TD> */
border-top: 1px solid #655;
background: #dcb;
color: #363636;
font-weight: bold;
filter:
progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#FFFFFF,EndColorStr=#DDDCCC);
}
.calendar tfoot .hilite { /* Hover style for buttons in footer */
background: #faa;
border: 1px solid #f40;
padding: 1px;
}
.calendar tfoot .active { /* Active (pressed) style for buttons in footer */
background: #c77;
padding: 2px 0px 0px 2px;
}
/* Combo boxes (menus that display months/years for direct selection) */
.combo {
position: absolute;
display: none;
top: 0px;
left: 0px;
width: 4em;
cursor: default;
border: 1px solid #655;
background: #ffe;
color: #000;
font-size: smaller;
}
.combo .label,
.combo .label-IEfix {
text-align: center;
padding: 1px;
}
.combo .label-IEfix {
width: 4em;
}
.combo .hilite {
background: #fc8;
}
.combo .active {
border-top: 1px solid #a64;
border-bottom: 1px solid #a64;
background: #fee;
font-weight: bold;
}
.calendar td.time {
border-top: 1px solid #a88;
padding: 1px 0px;
text-align: center;
background-color: #fed;
}
.calendar td.time .hour,
.calendar td.time .minute,
.calendar td.time .ampm {
padding: 0px 3px 0px 4px;
border: 1px solid #988;
font-weight: bold;
background-color: #fff;
}
.calendar td.time .ampm {
text-align: center;
}
.calendar td.time .colon {
padding: 0px 2px 0px 3px;
font-weight: bold;
}
.calendar td.time span.hilite {
border-color: #000;
background-color: #866;
color: #fff;
}
.calendar td.time span.active {
border-color: #f00;
background-color: #000;
color: #0f0;
}

View File

@ -92,6 +92,13 @@
text-align: right;
padding: 2px 4px 2px 2px;
}
.calendar tbody .day.othermonth {
font-size: 80%;
color: #aaa;
}
.calendar tbody .day.othermonth.oweekend {
color: #faa;
}
.calendar table .wn {
padding: 2px 3px 2px 2px;
@ -185,7 +192,7 @@
/* Combo boxes (menus that display months/years for direct selection) */
.combo {
.calendar .combo {
position: absolute;
display: none;
width: 4em;
@ -197,21 +204,21 @@
border-bottom: 1px solid #000;
border-left: 1px solid #fff;
background: #e4e0d8;
font-size: smaller;
font-size: 90%;
padding: 1px;
}
.combo .label,
.combo .label-IEfix {
.calendar .combo .label,
.calendar .combo .label-IEfix {
text-align: center;
padding: 1px;
}
.combo .label-IEfix {
.calendar .combo .label-IEfix {
width: 4em;
}
.combo .active {
.calendar .combo .active {
background: #c4c0b8;
padding: 0px;
border-top: 1px solid #000;
@ -220,7 +227,7 @@
border-left: 1px solid #000;
}
.combo .hilite {
.calendar .combo .hilite {
background: #048;
color: #fea;
}

View File

@ -92,6 +92,13 @@
text-align: right;
padding: 2px 4px 2px 2px;
}
.calendar tbody .day.othermonth {
font-size: 80%;
color: #aaa;
}
.calendar tbody .day.othermonth.oweekend {
color: #faa;
}
.calendar table .wn {
padding: 2px 3px 2px 2px;
@ -185,7 +192,7 @@
/* Combo boxes (menus that display months/years for direct selection) */
.combo {
.calendar .combo {
position: absolute;
display: none;
width: 4em;
@ -197,21 +204,21 @@
border-bottom: 1px solid #000;
border-left: 1px solid #fff;
background: #e4d8e0;
font-size: smaller;
font-size: 90%;
padding: 1px;
}
.combo .label,
.combo .label-IEfix {
.calendar .combo .label,
.calendar .combo .label-IEfix {
text-align: center;
padding: 1px;
}
.combo .label-IEfix {
.calendar .combo .label-IEfix {
width: 4em;
}
.combo .active {
.calendar .combo .active {
background: #d4c8d0;
padding: 0px;
border-top: 1px solid #000;
@ -220,7 +227,7 @@
border-left: 1px solid #000;
}
.combo .hilite {
.calendar .combo .hilite {
background: #408;
color: #fea;
}

View File

@ -92,6 +92,13 @@
text-align: right;
padding: 2px 4px 2px 2px;
}
.calendar tbody .day.othermonth {
font-size: 80%;
color: #aaa;
}
.calendar tbody .day.othermonth.oweekend {
color: #faa;
}
.calendar table .wn {
padding: 2px 3px 2px 2px;
@ -179,7 +186,7 @@
/* Combo boxes (menus that display months/years for direct selection) */
.combo {
.calendar .combo {
position: absolute;
display: none;
width: 4em;
@ -191,21 +198,21 @@
border-bottom: 1px solid #000;
border-left: 1px solid #fff;
background: #d8e0e4;
font-size: smaller;
font-size: 90%;
padding: 1px;
}
.combo .label,
.combo .label-IEfix {
.calendar .combo .label,
.calendar .combo .label-IEfix {
text-align: center;
padding: 1px;
}
.combo .label-IEfix {
.calendar .combo .label-IEfix {
width: 4em;
}
.combo .active {
.calendar .combo .active {
background: #c8d0d4;
padding: 0px;
border-top: 1px solid #000;
@ -214,7 +221,7 @@
border-left: 1px solid #000;
}
.combo .hilite {
.calendar .combo .hilite {
background: #048;
color: #aef;
}

View File

@ -92,6 +92,13 @@
text-align: right;
padding: 2px 4px 2px 2px;
}
.calendar tbody .day.othermonth {
font-size: 80%;
color: #aaa;
}
.calendar tbody .day.othermonth.oweekend {
color: #faa;
}
.calendar table .wn {
padding: 2px 3px 2px 2px;
@ -185,7 +192,7 @@
/* Combo boxes (menus that display months/years for direct selection) */
.combo {
.calendar .combo {
position: absolute;
display: none;
width: 4em;
@ -197,21 +204,21 @@
border-bottom: 1px solid #000;
border-left: 1px solid #fff;
background: #d8e4e0;
font-size: smaller;
font-size: 90%;
padding: 1px;
}
.combo .label,
.combo .label-IEfix {
.calendar .combo .label,
.calendar .combo .label-IEfix {
text-align: center;
padding: 1px;
}
.combo .label-IEfix {
.calendar .combo .label-IEfix {
width: 4em;
}
.combo .active {
.calendar .combo .active {
background: #c8d4d0;
padding: 0px;
border-top: 1px solid #000;
@ -220,7 +227,7 @@
border-left: 1px solid #000;
}
.combo .hilite {
.calendar .combo .hilite {
background: #048;
color: #aef;
}

View File

@ -1,7 +1,7 @@
/* Copyright Mihai Bazon, 2002, 2003 | http://dynarch.com/mishoo/
* ------------------------------------------------------------------
*
* The DHTML Calendar, version 0.9.5 "Your favorite time, bis"
* The DHTML Calendar, version 0.9.6 "Keep cool but don't freeze"
*
* Details and latest version at:
* http://dynarch.com/mishoo/calendar.epl
@ -13,7 +13,7 @@
// $Id$
/** The Calendar object constructor. */
Calendar = function (mondayFirst, dateStr, onSelected, onClose) {
Calendar = function (firstDayOfWeek, dateStr, onSelected, onClose) {
// member variables
this.activeDiv = null;
this.currentDateEl = null;
@ -29,11 +29,13 @@ Calendar = function (mondayFirst, dateStr, onSelected, onClose) {
this.ttDateFormat = Calendar._TT["TT_DATE_FORMAT"];
this.isPopup = true;
this.weekNumbers = true;
this.mondayFirst = mondayFirst;
this.firstDayOfWeek = firstDayOfWeek; // 0 for Sunday, 1 for Monday, etc.
this.showsOtherMonths = false;
this.dateStr = dateStr;
this.ar_days = null;
this.showsTime = false;
this.time24 = true;
this.yearStep = 2;
// HTML elements
this.table = null;
this.element = null;
@ -79,6 +81,8 @@ Calendar._C = null;
Calendar.is_ie = ( /msie/i.test(navigator.userAgent) &&
!/opera/i.test(navigator.userAgent) );
Calendar.is_ie5 = ( Calendar.is_ie && /msie 5\.0/i.test(navigator.userAgent) );
/// detect Opera browser
Calendar.is_opera = /opera/i.test(navigator.userAgent);
@ -97,7 +101,7 @@ Calendar.getAbsolutePos = function(el) {
ST = el.scrollTop;
var r = { x: el.offsetLeft - SL, y: el.offsetTop - ST };
if (el.offsetParent) {
var tmp = Calendar.getAbsolutePos(el.offsetParent);
var tmp = this.getAbsolutePos(el.offsetParent);
r.x += tmp.x;
r.y += tmp.y;
}
@ -261,8 +265,13 @@ Calendar.showMonthsCombo = function () {
s.display = "block";
if (cd.navtype < 0)
s.left = cd.offsetLeft + "px";
else
s.left = (cd.offsetLeft + cd.offsetWidth - mc.offsetWidth) + "px";
else {
var mcw = mc.offsetWidth;
if (typeof mcw == "undefined")
// Konqueror brain-dead techniques
mcw = 50;
s.left = (cd.offsetLeft + cd.offsetWidth - mcw) + "px";
}
s.top = (cd.offsetTop + cd.offsetHeight) + "px";
};
@ -294,15 +303,20 @@ Calendar.showYearsCombo = function (fwd) {
yr.style.display = "none";
}
yr = yr.nextSibling;
Y += fwd ? 2 : -2;
Y += fwd ? cal.yearStep : -cal.yearStep;
}
if (show) {
var s = yc.style;
s.display = "block";
if (cd.navtype < 0)
s.left = cd.offsetLeft + "px";
else
s.left = (cd.offsetLeft + cd.offsetWidth - yc.offsetWidth) + "px";
else {
var ycw = yc.offsetWidth;
if (typeof ycw == "undefined")
// Konqueror brain-dead techniques
ycw = 50;
s.left = (cd.offsetLeft + cd.offsetWidth - ycw) + "px";
}
s.top = (cd.offsetTop + cd.offsetHeight) + "px";
}
};
@ -397,9 +411,9 @@ Calendar.tableMouseOver = function (ev) {
break;
while (count-- > 0)
if (decrease) {
if (!(--i in range))
if (--i < 0)
i = range.length - 1;
} else if (!(++i in range))
} else if ( ++i >= range.length )
i = 0;
var newval = range[i];
el.firstChild.data = newval;
@ -474,7 +488,6 @@ Calendar.calDragEnd = function (ev) {
cal.dragging = false;
with (Calendar) {
removeEvent(document, "mousemove", calDragIt);
removeEvent(document, "mouseover", stopEvent);
removeEvent(document, "mouseup", calDragEnd);
tableMouseUp(ev);
}
@ -490,11 +503,12 @@ Calendar.dayMouseDown = function(ev) {
cal.activeDiv = el;
Calendar._C = cal;
if (el.navtype != 300) with (Calendar) {
if (el.navtype == 50)
if (el.navtype == 50) {
el._current = el.firstChild.data;
addEvent(document, "mousemove", tableMouseOver);
} else
addEvent(document, Calendar.is_ie5 ? "mousemove" : "mouseover", tableMouseOver);
addClass(el, "hilite active");
addEvent(document, "mouseover", tableMouseOver);
addEvent(document, "mousemove", tableMouseOver);
addEvent(document, "mouseup", tableMouseUp);
} else if (cal.isPopup) {
cal._dragStart(ev);
@ -525,11 +539,7 @@ Calendar.dayMouseOver = function(ev) {
}
if (el.ttip) {
if (el.ttip.substr(0, 1) == "_") {
var date = null;
with (el.calendar.date) {
date = new Date(getFullYear(), getMonth(), el.caldate);
}
el.ttip = date.print(el.calendar.ttDateFormat) + el.ttip.substr(1);
el.ttip = el.caldate.print(el.calendar.ttDateFormat) + el.ttip.substr(1);
}
el.calendar.tooltips.firstChild.data = el.ttip;
}
@ -573,11 +583,12 @@ Calendar.cellClick = function(el, ev) {
if (!closing) {
cal.currentDateEl = el;
}
cal.date.setDate(el.caldate);
cal.date = new Date(el.caldate);
date = cal.date;
newdate = true;
// a date was clicked
cal.dateClicked = true;
if (!(cal.dateClicked = !el.otherMonth))
cal._init(cal.firstDayOfWeek, date);
} else {
if (el.navtype == 200) {
Calendar.removeClass(el, "hilite");
@ -644,7 +655,7 @@ Calendar.cellClick = function(el, ev) {
}
break;
case 100:
cal.setMondayFirst(!cal.mondayFirst);
cal.setFirstDayOfWeek(el.fdow);
return;
case 50:
var range = el._range;
@ -653,9 +664,9 @@ Calendar.cellClick = function(el, ev) {
if (range[i] == current)
break;
if (ev && ev.shiftKey) {
if (!(--i in range))
if (--i < 0)
i = range.length - 1;
} else if (!(++i in range))
} else if ( ++i >= range.length )
i = 0;
var newval = range[i];
el.firstChild.data = newval;
@ -824,7 +835,7 @@ Calendar.prototype.create = function (_par) {
cell = Calendar.createElement("td", row);
cell.className = "time";
cell.colSpan = 2;
cell.innerHTML = "&nbsp;";
cell.innerHTML = Calendar._TT["TIME"] || "&nbsp;";
cell = Calendar.createElement("td", row);
cell.className = "time";
@ -941,7 +952,7 @@ Calendar.prototype.create = function (_par) {
div.appendChild(yr);
}
this._init(this.mondayFirst, this.date);
this._init(this.firstDayOfWeek, this.date);
parent.appendChild(this.element);
};
@ -975,7 +986,7 @@ Calendar._keyEvent = function(ev) {
Calendar.cellClick(cal._nav_now);
break;
case 27: // KEY esc
act && cal.hide();
act && cal.callCloseHandler();
break;
case 37: // KEY left
case 38: // KEY up
@ -1014,7 +1025,7 @@ Calendar._keyEvent = function(ev) {
}
Calendar.removeClass(el, "selected");
Calendar.addClass(ne, "selected");
cal.date.setDate(ne.caldate);
cal.date = new Date(ne.caldate);
cal.callHandler();
cal.currentDateEl = ne;
}
@ -1032,12 +1043,11 @@ Calendar._keyEvent = function(ev) {
};
/**
* (RE)Initializes the calendar to the given date and style (if mondayFirst is
* true it makes Monday the first day of week, otherwise the weeks start on
* Sunday.
* (RE)Initializes the calendar to the given date and firstDayOfWeek
*/
Calendar.prototype._init = function (mondayFirst, date) {
Calendar.prototype._init = function (firstDayOfWeek, date) {
var today = new Date();
this.table.style.visibility = "hidden";
var year = date.getFullYear();
if (year < this.minYear) {
year = this.minYear;
@ -1046,53 +1056,57 @@ Calendar.prototype._init = function (mondayFirst, date) {
year = this.maxYear;
date.setFullYear(year);
}
this.mondayFirst = mondayFirst;
this.firstDayOfWeek = firstDayOfWeek;
this.date = new Date(date);
var month = date.getMonth();
var mday = date.getDate();
var no_days = date.getMonthDays();
// calendar voodoo for computing the first day that would actually be
// displayed in the calendar, even if it's from the previous month.
// WARNING: this is magic. ;-)
date.setDate(1);
var wday = date.getDay();
var MON = mondayFirst ? 1 : 0;
var SAT = mondayFirst ? 5 : 6;
var SUN = mondayFirst ? 6 : 0;
if (mondayFirst) {
wday = (wday > 0) ? (wday - 1) : 6;
}
var iday = 1;
var day1 = (date.getDay() - this.firstDayOfWeek) % 7;
if (day1 < 0)
day1 += 7;
date.setDate(-day1);
date.setDate(date.getDate() + 1);
var row = this.tbody.firstChild;
var MN = Calendar._SMN[month];
var hasToday = ((today.getFullYear() == year) && (today.getMonth() == month));
var todayDate = today.getDate();
var week_number = date.getWeekNumber();
var ar_days = new Array();
for (var i = 0; i < 6; ++i) {
if (iday > no_days) {
row.className = "emptyrow";
row = row.nextSibling;
continue;
}
var weekend = Calendar._TT["WEEKEND"];
for (var i = 0; i < 6; ++i, row = row.nextSibling) {
var cell = row.firstChild;
if (this.weekNumbers) {
cell.className = "day wn";
cell.firstChild.data = week_number;
cell.firstChild.data = date.getWeekNumber();
cell = cell.nextSibling;
}
++week_number;
row.className = "daysrow";
for (var j = 0; j < 7; ++j) {
var hasdays = false;
for (var j = 0; j < 7; ++j, cell = cell.nextSibling, date.setDate(date.getDate() + 1)) {
var iday = date.getDate();
var wday = date.getDay();
cell.className = "day";
if ((!i && j < wday) || iday > no_days) {
// cell.className = "emptycell";
cell.innerHTML = "&nbsp;";
cell.disabled = true;
cell = cell.nextSibling;
continue;
var current_month = (date.getMonth() == month);
if (!current_month) {
if (this.showsOtherMonths) {
cell.className += " othermonth";
cell.otherMonth = true;
} else {
cell.className = "emptycell";
cell.innerHTML = "&nbsp;";
cell.disabled = true;
continue;
}
} else {
cell.otherMonth = false;
hasdays = true;
}
cell.disabled = false;
cell.firstChild.data = iday;
if (typeof this.getDateStatus == "function") {
date.setDate(iday);
var status = this.getDateStatus(date, year, month, iday);
if (status === true) {
cell.className += " disabled";
@ -1105,29 +1119,30 @@ Calendar.prototype._init = function (mondayFirst, date) {
}
if (!cell.disabled) {
ar_days[ar_days.length] = cell;
cell.caldate = iday;
cell.caldate = new Date(date);
cell.ttip = "_";
if (iday == mday) {
if (current_month && iday == mday) {
cell.className += " selected";
this.currentDateEl = cell;
}
if (hasToday && (iday == todayDate)) {
if (date.getFullYear() == today.getFullYear() &&
date.getMonth() == today.getMonth() &&
iday == today.getDate()) {
cell.className += " today";
cell.ttip += Calendar._TT["PART_TODAY"];
}
if (wday == SAT || wday == SUN) {
cell.className += " weekend";
if (weekend.indexOf(wday.toString()) != -1) {
cell.className += cell.otherMonth ? " oweekend" : " weekend";
}
}
++iday;
((++wday) ^ 7) || (wday = 0);
cell = cell.nextSibling;
}
row = row.nextSibling;
if (!(hasdays || this.showsOtherMonths))
row.className = "emptyrow";
}
this.ar_days = ar_days;
this.title.firstChild.data = Calendar._MN[month] + ", " + year;
this.onSetTime();
this.table.style.visibility = "visible";
// PROFILE
// this.tooltips.firstChild.data = "Generated in " + ((new Date()) - today) + " ms";
};
@ -1138,7 +1153,7 @@ Calendar.prototype._init = function (mondayFirst, date) {
*/
Calendar.prototype.setDate = function (date) {
if (!date.equalsTo(this.date)) {
this._init(this.mondayFirst, date);
this._init(this.firstDayOfWeek, date);
}
};
@ -1149,12 +1164,12 @@ Calendar.prototype.setDate = function (date) {
* should * change.
*/
Calendar.prototype.refresh = function () {
this._init(this.mondayFirst, this.date);
this._init(this.firstDayOfWeek, this.date);
};
/** Modifies the "mondayFirst" parameter (EU/US style). */
Calendar.prototype.setMondayFirst = function (mondayFirst) {
this._init(mondayFirst, this.date);
/** Modifies the "firstDayOfWeek" parameter (pass 0 for Synday, 1 for Monday, etc.). */
Calendar.prototype.setFirstDayOfWeek = function (firstDayOfWeek) {
this._init(firstDayOfWeek, this.date);
this._displayWeekdays();
};
@ -1282,6 +1297,30 @@ Calendar.prototype.showAtElement = function (el, opts) {
this.showAt(p.x, p.y + el.offsetHeight);
return true;
}
function fixPosition(box) {
if (box.x < 0)
box.x = 0;
if (box.y < 0)
box.y = 0;
var cp = document.createElement("div");
var s = cp.style;
s.position = "absolute";
s.right = s.bottom = s.width = s.height = "0px";
document.body.appendChild(cp);
var br = Calendar.getAbsolutePos(cp);
document.body.removeChild(cp);
if (Calendar.is_ie) {
br.y += document.body.scrollTop;
br.x += document.body.scrollLeft;
} else {
br.y += window.scrollY;
br.x += window.scrollX;
}
var tmp = box.x + box.width - br.x;
if (tmp > 0) box.x -= tmp;
tmp = box.y + box.height - br.y;
if (tmp > 0) box.y -= tmp;
};
this.element.style.display = "block";
Calendar.continuation_for_the_fucking_khtml_browser = function() {
var w = self.element.offsetWidth;
@ -1308,6 +1347,10 @@ Calendar.prototype.showAtElement = function (el, opts) {
case "r": p.x += el.offsetWidth - w; break;
case "l": break; // already there
}
p.width = w;
p.height = h + 40;
self.monthsCombo.style.display = "none";
fixPosition(p);
self.showAt(p.x, p.y);
};
if (Calendar.is_khtml)
@ -1338,38 +1381,52 @@ Calendar.prototype.parseDate = function (str, fmt) {
if (!fmt) {
fmt = this.dateFormat;
}
var b = [];
fmt.replace(/(%.)/g, function(str, par) {
return b[b.length] = par;
});
var b = fmt.match(/%./g);
var i = 0, j = 0;
var hr = 0;
var min = 0;
for (i = 0; i < a.length; ++i) {
if (b[i] == "%a" || b[i] == "%A") {
if (!a[i])
continue;
}
if (b[i] == "%d" || b[i] == "%e") {
switch (b[i]) {
case "%d":
case "%e":
d = parseInt(a[i], 10);
}
if (b[i] == "%m") {
break;
case "%m":
m = parseInt(a[i], 10) - 1;
}
if (b[i] == "%Y" || b[i] == "%y") {
break;
case "%Y":
case "%y":
y = parseInt(a[i], 10);
(y < 100) && (y += (y > 29) ? 1900 : 2000);
}
if (b[i] == "%b" || b[i] == "%B") {
break;
case "%b":
case "%B":
for (j = 0; j < 12; ++j) {
if (Calendar._MN[j].substr(0, a[i].length).toLowerCase() == a[i].toLowerCase()) { m = j; break; }
}
} else if (/%[HIkl]/.test(b[i])) {
break;
case "%H":
case "%I":
case "%k":
case "%l":
hr = parseInt(a[i], 10);
} else if (/%[pP]/.test(b[i])) {
break;
case "%P":
case "%p":
if (/pm/i.test(a[i]) && hr < 12)
hr += 12;
} else if (b[i] == "%M") {
break;
case "%M":
min = parseInt(a[i], 10);
break;
}
}
if (y != 0 && m != -1 && d != 0) {
@ -1471,22 +1528,23 @@ Calendar.prototype.hideShowCovered = function () {
/** Internal function; it displays the bar with the names of the weekday. */
Calendar.prototype._displayWeekdays = function () {
var MON = this.mondayFirst ? 0 : 1;
var SUN = this.mondayFirst ? 6 : 0;
var SAT = this.mondayFirst ? 5 : 6;
var fdow = this.firstDayOfWeek;
var cell = this.firstdayname;
var weekend = Calendar._TT["WEEKEND"];
for (var i = 0; i < 7; ++i) {
cell.className = "day name";
if (!i) {
cell.ttip = this.mondayFirst ? Calendar._TT["SUN_FIRST"] : Calendar._TT["MON_FIRST"];
var realday = (i + fdow) % 7;
if (i) {
cell.ttip = Calendar._TT["DAY_FIRST"].replace("%s", Calendar._DN[realday]);
cell.navtype = 100;
cell.calendar = this;
cell.fdow = realday;
Calendar._add_evs(cell);
}
if (i == SUN || i == SAT) {
if (weekend.indexOf(realday.toString()) != -1) {
Calendar.addClass(cell, "weekend");
}
cell.firstChild.data = Calendar._SDN[i + 1 - MON];
cell.firstChild.data = Calendar._SDN[(i + fdow) % 7];
cell = cell.nextSibling;
}
};
@ -1517,7 +1575,6 @@ Calendar.prototype._dragStart = function (ev) {
this.yOffs = posY - parseInt(st.top);
with (Calendar) {
addEvent(document, "mousemove", calDragIt);
addEvent(document, "mouseover", stopEvent);
addEvent(document, "mouseup", calDragEnd);
}
};
@ -1550,20 +1607,20 @@ Date.prototype.getMonthDays = function(month) {
/** Returns the number of day in the year. */
Date.prototype.getDayOfYear = function() {
var now = new Date(this.getFullYear(), this.getMonth(), this.getDate(), 0, 0, 0);
var then = new Date(this.getFullYear(), 0, 1, 0, 0, 0);
var then = new Date(this.getFullYear(), 0, 0, 0, 0, 0);
var time = now - then;
return Math.floor(time / Date.DAY);
};
/** Returns the number of the week in year, as defined in ISO 8601. */
Date.prototype.getWeekNumber = function() {
var now = new Date(this.getFullYear(), this.getMonth(), this.getDate(), 0, 0, 0);
var then = new Date(this.getFullYear(), 0, 1, 0, 0, 0);
var time = now - then;
var day = then.getDay(); // 0 means Sunday
if (day == 0) day = 7;
(day > 4) && (day -= 4) || (day += 3);
return Math.round(((time / Date.DAY) + day) / 7);
var d = new Date(this.getFullYear(), this.getMonth(), this.getDate(), 0, 0, 0);
var DoW = d.getDay();
d.setDate(d.getDate() - (DoW + 6) % 7 + 3); // Nearest Thu
var ms = d.valueOf(); // GMT
d.setMonth(0);
d.setDate(4); // Thu in Week 1
return Math.round((ms - d.valueOf()) / (7 * 864e5)) + 1;
};
/** Checks dates equality (ignores time) */
@ -1625,17 +1682,34 @@ Date.prototype.print = function (str) {
s["%y"] = ('' + y).substr(2, 2); // year without the century (range 00 to 99)
s["%Y"] = y; // year with the century
s["%%"] = "%"; // a literal '%' character
var re = Date._msh_formatRegexp;
if (typeof re == "undefined") {
var tmp = "";
for (var i in s)
tmp += tmp ? ("|" + i) : i;
Date._msh_formatRegexp = re = new RegExp("(" + tmp + ")", 'g');
var re = /%./g;
if (!Calendar.is_ie5)
return str.replace(re, function (par) { return s[par] || par; });
var a = str.match(re);
for (var i = 0; i < a.length; i++) {
var tmp = s[a[i]];
if (tmp) {
re = new RegExp(a[i], 'g');
str = str.replace(re, tmp);
}
}
return str.replace(re, function(match, par) { return s[par]; });
return str;
};
Date.prototype.__msh_oldSetFullYear = Date.prototype.setFullYear;
Date.prototype.setFullYear = function(y) {
var d = new Date(this);
d.__msh_oldSetFullYear(y);
if (d.getMonth() != this.getMonth())
this.setDate(28);
this.__msh_oldSetFullYear(y);
};
// END: DATE OBJECT PATCHES
// global object that remembers the calendar
window.calendar = null;

View File

@ -0,0 +1,119 @@
<?php
/**
* File: calendar.php | (c) dynarch.com 2004
* Distributed as part of "The Coolest DHTML Calendar"
* under the same terms.
* -----------------------------------------------------------------
* This file implements a simple PHP wrapper for the calendar. It
* allows you to easily include all the calendar files and setup the
* calendar by instantiating and calling a PHP object.
*/
define('NEWLINE', "\n");
class DHTML_Calendar {
var $calendar_lib_path;
var $calendar_file;
var $calendar_lang_file;
var $calendar_setup_file;
var $calendar_theme_file;
var $calendar_options;
function DHTML_Calendar($calendar_lib_path = '/calendar/',
$lang = 'en',
$theme = 'calendar-win2k-1',
$stripped = true) {
if ($stripped) {
$this->calendar_file = 'calendar_stripped.js';
$this->calendar_setup_file = 'calendar-setup_stripped.js';
} else {
$this->calendar_file = 'calendar.js';
$this->calendar_setup_file = 'calendar-setup.js';
}
$this->calendar_lang_file = 'lang/calendar-' . $lang . '.js';
$this->calendar_theme_file = $theme.'.css';
$this->calendar_lib_path = preg_replace('/\/+$/', '/', $calendar_lib_path);
$this->calendar_options = array('ifFormat' => '%Y/%m/%d',
'daFormat' => '%Y/%m/%d');
}
function set_option($name, $value) {
$this->calendar_options[$name] = $value;
}
function load_files() {
echo $this->get_load_files_code();
}
function get_load_files_code() {
$code = ( '<link rel="stylesheet" type="text/css" media="all" href="' .
$this->calendar_lib_path . $this->calendar_theme_file .
'" />' . NEWLINE );
$code .= ( '<script type="text/javascript" src="' .
$this->calendar_lib_path . $this->calendar_file .
'"></script>' . NEWLINE );
$code .= ( '<script type="text/javascript" src="' .
$this->calendar_lib_path . $this->calendar_lang_file .
'"></script>' . NEWLINE );
$code .= ( '<script type="text/javascript" src="' .
$this->calendar_lib_path . $this->calendar_setup_file .
'"></script>' );
return $code;
}
function _make_calendar($other_options = array()) {
$js_options = $this->_make_js_hash(array_merge($this->calendar_options, $other_options));
$code = ( '<script type="text/javascript">Calendar.setup({' .
$js_options .
'});</script>' );
return $code;
}
function make_input_field($cal_options = array(), $field_attributes = array()) {
$id = $this->_gen_id();
$attrstr = $this->_make_html_attr(array_merge($field_attributes,
array('id' => $this->_field_id($id),
'type' => 'text')));
echo '<input ' . $attrstr .'/>';
echo '<a href="#" id="'. $this->_trigger_id($id) . '">' .
'<img align="middle" border="0" src="' . $this->calendar_lib_path . 'img.gif" alt="" /></a>';
$options = array_merge($cal_options,
array('inputField' => $this->_field_id($id),
'button' => $this->_trigger_id($id)));
echo $this->_make_calendar($options);
}
/// PRIVATE SECTION
function _field_id($id) { return 'f-calendar-field-' . $id; }
function _trigger_id($id) { return 'f-calendar-trigger-' . $id; }
function _gen_id() { static $id = 0; return ++$id; }
function _make_js_hash($array) {
$jstr = '';
reset($array);
while (list($key, $val) = each($array)) {
if (is_bool($val))
$val = $val ? 'true' : 'false';
else if (!is_numeric($val))
$val = '"'.$val.'"';
if ($jstr) $jstr .= ',';
$jstr .= '"' . $key . '":' . $val;
}
return $jstr;
}
function _make_html_attr($array) {
$attrstr = '';
reset($array);
while (list($key, $val) = each($array)) {
$attrstr .= $key . '="' . $val . '" ';
}
return $attrstr;
}
};
?>

View File

@ -0,0 +1,48 @@
Index: calendar.js
===================================================================
RCS file: /cvsroot/egroupware/phpgwapi/js/jscalendar/calendar.js,v
retrieving revision 1.2
diff -u -r1.2 calendar.js
--- calendar.js 11 Nov 2003 14:50:19 -0000 1.2
+++ calendar.js 6 May 2004 07:38:00 -0000
@@ -601,6 +601,10 @@
date.setMonth(m);
};
switch (el.navtype) {
+// TEST RB
+ case 500:
+ window.location="/egroupware/?menuaction=calendar.uicalendar.week&date="+el.caldate.print('%Y%m%d');
+ return;
case 400:
Calendar.removeClass(el, "hilite");
var text = Calendar._TT["ABOUT"];
@@ -806,8 +810,11 @@
for (i = 6; i > 0; --i) {
row = Calendar.createElement("tr", tbody);
if (this.weekNumbers) {
- cell = Calendar.createElement("td", row);
- cell.appendChild(document.createTextNode(""));
+// cell = Calendar.createElement("td", row);
+// cell.appendChild(document.createTextNode(""));
+// TEST RB
+ cell = hh("",1,500)
+ cell.ttip = "go to week-view";
}
for (var j = 7; j > 0; --j) {
cell = Calendar.createElement("td", row);
@@ -1076,6 +1083,15 @@
if (this.weekNumbers) {
cell.className = "day wn";
cell.firstChild.data = week_number;
+// TEST RB
+ cell.caldate = new Date(date);
+ if (!i && wday != 1) {
+ cell.caldate.setTime(date.getTime()-wday*Date.DAY);
+ }
+ else
+ {
+ cell.caldate.setDate(iday);
+ }
cell = cell.nextSibling;
}
++week_number;

File diff suppressed because one or more lines are too long

View File

@ -48,10 +48,10 @@ DHTML Calendar Widget
<h1 class=title align=center><br><br>DHTML Calendar Widget</h1>
<p></p>
<div align=center>
Mihai Bazon, <tt>&lt;mishoo@infoiasi.ro&gt;</tt><p>November 5, 2003<br></p>
Mihai Bazon, <tt>&lt;mishoo@infoiasi.ro&gt;</tt><p>February 6, 2004<br></p>
<p></p>
<p>
<span class=small>calendar version: 0.9.5 &#8220;Your favorite time, bis&#8221;</span>
<span class=small>calendar version: 0.9.6 &#8220;Keep cool but don&#8217;t freeze&#8221;</span>
</p>
</div>
<p></p>
@ -102,7 +102,7 @@ Mihai Bazon, <tt>&lt;mishoo@infoiasi.ro&gt;</tt><p>November 5, 2003<br></p>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a name="node_toc_node_sec_4.3.10"></a><a href="#node_sec_4.3.10">4.3.10&nbsp;&nbsp;<tt>Calendar.showAt</tt></a><br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a name="node_toc_node_sec_4.3.11"></a><a href="#node_sec_4.3.11">4.3.11&nbsp;&nbsp;<tt>Calendar.showAtElement</tt></a><br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a name="node_toc_node_sec_4.3.12"></a><a href="#node_sec_4.3.12">4.3.12&nbsp;&nbsp;<tt>Calendar.setDate</tt></a><br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a name="node_toc_node_sec_4.3.13"></a><a href="#node_sec_4.3.13">4.3.13&nbsp;&nbsp;<tt>Calendar.setMondayFirst</tt></a><br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a name="node_toc_node_sec_4.3.13"></a><a href="#node_sec_4.3.13">4.3.13&nbsp;&nbsp;<tt>Calendar.setFirstDayOfWeek</tt></a><br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a name="node_toc_node_sec_4.3.14"></a><a href="#node_sec_4.3.14">4.3.14&nbsp;&nbsp;<tt>Calendar.parseDate</tt></a><br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a name="node_toc_node_sec_4.3.15"></a><a href="#node_sec_4.3.15">4.3.15&nbsp;&nbsp;<tt>Calendar.setRange</tt></a><br>
</p>
@ -218,7 +218,7 @@ this in your document&#8217;s <tt>&lt;head&gt;</tt> section, also make sure you
correct paths to the scripts.</p>
<p>
</p>
<pre class=verbatim>&lt;style type=&quot;text/css&quot;&gt;@import url(calendar-win2k-1.css)&lt;/style&gt;
<pre class=verbatim>&lt;style type=&quot;text/css&quot;&gt;@import url(calendar-win2k-1.css);&lt;/style&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;calendar.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;lang/calendar-en.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;calendar-setup.js&quot;&gt;&lt;/script&gt;
@ -244,9 +244,9 @@ insert the following code immediately <em>after</em> the HTML form:</p>
<pre class=verbatim>&lt;script type=&quot;text/javascript&quot;&gt;
Calendar.setup(
{
inputField : &quot;data&quot;, // ID of the input field
ifFormat : &quot;M d, y&quot;, // the date format
button : &quot;trigger&quot; // ID of the button
inputField : &quot;data&quot;, // ID of the input field
ifFormat : &quot;%m %d, %Y&quot;, // the date format
button : &quot;trigger&quot; // ID of the button
}
);
&lt;/script&gt;
@ -373,13 +373,12 @@ as a CSS class and appended to the date element. If this string is
<a href="#node_sec_4.3.8">4.3.8</a>.
</td><td valign=top >null
</td></tr>
<tr><td valign=top ><tt>mondayFirst</tt>
</td><td valign=top >boolean </td><td valign=top >If <tt>true</tt> (default) then the calendar will display with
Monday being the first day of week. If <tt>false</tt> then Sunday will be
the first day of week. This has changed from default <tt>false</tt> to
default <tt>true</tt> because the ISO 8601 defines week as starting Monday
and this definition is used for computing the week number.
</td><td valign=top >true
<tr><td valign=top ><tt>firstDay</tt>
</td><td valign=top >integer </td><td valign=top >Specifies which day is to be displayed as the first day of
week. Possible values are 0 to 6; 0 means Sunday, 1 means Monday, ..., 6
means Saturday. The end user can easily change this too, by clicking on the
day name in the calendar header.
</td><td valign=top >0
</td></tr>
<tr><td valign=top ><tt>weekNumbers</tt>
</td><td valign=top >boolean </td><td valign=top >If &#8220;true&#8221; then the calendar will display week numbers.
@ -444,6 +443,27 @@ allow time selection.
</td><td valign=top >string </td><td valign=top >Set this to &#8220;12&#8221; or &#8220;24&#8221; to configure the way that the
calendar will display time.
</td><td valign=top >&#8220;24&#8221;
</td></tr>
<tr><td valign=top ><tt>electric</tt>
</td><td valign=top >boolean </td><td valign=top >Set this to &#8220;false&#8221; if you want the calendar to update the
field only when closed (by default it updates the field at each date change,
even if the calendar is not closed) </td><td valign=top >true
</td></tr>
<tr><td valign=top ><tt>position</tt>
</td><td valign=top >array </td><td valign=top >Specifies the [x, y] position, relative to page&#8217;s top-left corner,
where the calendar will be displayed. If not passed then the position will
be computed based on the &#8220;align&#8221; parameter. Defaults to &#8220;null&#8221; (not
used). </td><td valign=top >null
</td></tr>
<tr><td valign=top ><tt>cache</tt>
</td><td valign=top >boolean </td><td valign=top >Set this to &#8220;true&#8221; if you want to cache the calendar object.
This means that a single calendar object will be used for all fields that
require a popup calendar </td><td valign=top >false
</td></tr>
<tr><td valign=top ><tt>showOthers</tt>
</td><td valign=top >boolean </td><td valign=top >If set to &#8220;true&#8221; then days belonging to months overlapping
with the currently displayed month will also be displayed in the calendar
(but in a &#8220;faded-out&#8221; color) </td><td valign=top >false
</td></tr></table>
@ -675,7 +695,7 @@ i.e. highlight them differently). Details in section
Synopsis:</p>
<p>
</p>
<pre class=verbatim>var calendar = Calendar(mondayFirst, date, onSelect, onClose);
<pre class=verbatim>var calendar = Calendar(firstDayOfWeek, date, onSelect, onClose);
</pre><p></p>
<p>
Parameters are as follows:</p>
@ -683,8 +703,9 @@ Parameters are as follows:</p>
</p>
<ul><p>
</p>
<li><p><b>mondayFirst</b>&nbsp;&nbsp; &#8212; boolean, if it&#8217;s <tt>true</tt> the calendar will have
Monday as first day of week, if false weeks start on Sunday.</p>
<li><p><b>firstDayOfWeek</b>&nbsp;&nbsp; &#8212; specifies which day is to be displayed as the first
day of week. Possible values are 0 to 6; 0 means Sunday, 1 means Monday,
..., 6 means Saturday.</p>
<p>
</p>
<li><p><b>date</b>&nbsp;&nbsp; &#8212; a JavaScript Date object or <tt>null</tt>. If <tt>null</tt>
@ -791,9 +812,9 @@ variable to <tt>false</tt> <em>before</em> calling <tt>Calendar.create</tt>.</p>
selector will be in 12-hour format. It is in 24-hour format by default.</p>
<p>
</p>
<li><p><tt>mondayFirst</tt> &#8212; if <tt>true</tt> then the calendar uses Monday
as first day of week, otherwise Sunday. This variable is set from constructor,
but you still have a chance to modify it <em>before</em> calling
<li><p><tt>firstDayOfWeek</tt> &#8212; specifies the first day of week (0 to 6, pass
0 for Sunday, 1 for Monday, ..., 6 for Saturday). This variable is set from
constructor, but you still have a chance to modify it <em>before</em> calling
<tt>Calendar.create</tt>.</p>
<p>
</p>
@ -903,7 +924,7 @@ There are more algorithms for computing the week number. All
three specifiers currently implement the same one, as defined by ISO 8601:
&#8220;the week 01 is the week that has the Thursday in the current year, which is
equivalent to the week that contains the fourth day of January. Weeks start on
Monday.</p>
Monday.&#8221;</p>
<p>
</p>
<a name="node_sec_4.3.6"></a>
@ -1126,8 +1147,7 @@ calendar aligned to the right margin of the element).</p>
</p>
<a name="node_sec_Temp_10"></a>
<h4><a href="#node_toc_node_sec_Temp_10">Default values</a></h4><p>If the &#8220;<tt>align</tt>&#8221; parameter is missing the calendar will choose
&#8220;<tt>Bl</tt>&#8221;. This resembles the behavior of older versions (prior to
0.9.3) which did not support custom alignment.</p>
&#8220;<tt>Br</tt>&#8221;.</p>
<p>
</p>
<a name="node_sec_4.3.12"></a>
@ -1142,13 +1162,13 @@ calendar. If the calendar is visible the new date is displayed immediately.</p>
<p>
</p>
<a name="node_sec_4.3.13"></a>
<h3><a href="#node_toc_node_sec_4.3.13">4.3.13&nbsp;&nbsp;<tt>Calendar.setMondayFirst</tt></a></h3><p></p>
<h3><a href="#node_toc_node_sec_4.3.13">4.3.13&nbsp;&nbsp;<tt>Calendar.setFirstDayOfWeek</tt></a></h3><p></p>
<p>
Changes the first day of week. If the parameter is <tt>true</tt> then Monday
will be the first day of week, otherwise Sunday.</p>
Changes the first day of week. The parameter has to be a numeric value ranging
from 0 to 6. Pass 0 for Sunday, 1 for Monday, ..., 6 for Saturday.</p>
<p>
</p>
<pre class=verbatim>calendar.setMondayFirst(false); // use Sunday
<pre class=verbatim>calendar.setFirstDayOfWeek(5); // start weeks on Friday
</pre><p></p>
<p>
</p>
@ -1247,13 +1267,19 @@ feature and pay me for implementing it) or donate some money please
</p>
<ul><p>
</p>
<li><p>Sunny Chowdhury (<a href="http://www.ex3.com">www.ex3.com</a>)</p>
<p>
</p>
<li><p>Ian Barrack (<a href="http://www.simban.com">www.simban.com</a>)</p>
<p>
</p>
<li><p>Himanshukumar Shah</p>
<p>
</p>
<li><p>Seyhan Ersoy (<a href="http://www.oocgi.com">http://www.oocgi.com</a>)</p>
<li><p>Seyhan Ersoy (<a href="http://www.oocgi.com">www.oocgi.com</a>)</p>
<p>
</p>
<li><p>Jon Stokkeland (<a href="http://www.sauen.com">http://www.sauen.com</a>)</p>
<li><p>Jon Stokkeland (<a href="http://www.sauen.com">www.sauen.com</a>)</p>
<p>
</p>
</ul><p></p>
@ -1283,7 +1309,7 @@ in other supported browsers. </p>
<p><a name="footnote_Temp_5"></a><a href="#call_footnote_Temp_5"><sup><small>4</small></sup></a> user interface</p>
</div>
<div align=right class=colophon>
<i>Last modified: Wed, Nov 5, 2003, 7:30 pm<br>
<i>Last modified: Fri, Feb 6, 2004, 8:53 pm<br>
HTML conversion by <a href="http://www.ccs.neu.edu/~dorai/tex2page/tex2page-doc.html">TeX2page 4r8f</a></i>
</div>
</body>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 145 B

After

Width:  |  Height:  |  Size: 223 B

View File

@ -1,12 +1,13 @@
<?xml version="1.0" encoding="iso-8859-2"?>
<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ro" lang="ro">
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<!-- $Id$ -->
<head>
<meta http-equiv="content-type" content="text/xml; charset=utf-8" />
<title>The Coolest DHTML Calendar - Online Demo</title>
<link rel="alternate stylesheet" type="text/css" media="all" href="calendar-blue.css" title="winter" />
<link rel="alternate stylesheet" type="text/css" media="all" href="calendar-blue2.css" title="blue" />
<link rel="alternate stylesheet" type="text/css" media="all" href="calendar-brown.css" title="summer" />
<link rel="alternate stylesheet" type="text/css" media="all" href="calendar-green.css" title="green" />
<link rel="stylesheet" type="text/css" media="all" href="calendar-win2k-1.css" title="win2k-1" />
@ -58,14 +59,14 @@ function selected(cal, date) {
// destroying it.
function closeHandler(cal) {
cal.hide(); // hide the calendar
cal.destroy();
// cal.destroy();
calendar = null;
}
// This function shows the calendar under the element having the given id.
// It takes care of catching "mousedown" signals on document and hiding the
// calendar if the click was outside.
function showCalendar(id, format, showsTime) {
function showCalendar(id, format, showsTime, showsOtherMonths) {
var el = document.getElementById(id);
if (calendar != null) {
// we already have some calendar created
@ -79,6 +80,9 @@ function showCalendar(id, format, showsTime) {
cal.showsTime = true;
cal.time24 = (showsTime == "24");
}
if (showsOtherMonths) {
cal.showsOtherMonths = true;
}
calendar = cal; // remember it in the global var
cal.setRange(1900, 2070); // min/max year allowed.
cal.create();
@ -160,14 +164,16 @@ padding: 0px 5px; cursor: default; font-size: 80%; }
<body onload="showFlatCalendar()">
<h2><a href="http://dynarch.com/mishoo/calendar.epl"
title="Visit the project website">jscalendar</a>-0.9.5
"Your favorite time, bis"</h2>
title="Visit the project website">jscalendar</a>-0.9.6
"Keep cool but don't freeze"</h2>
<p>
<div style="float: right; border: 1px solid #b87; padding: 2px; font-size: 90%; background: #ffb;">
Theme:<br />
<a href="#" onclick="return setActiveStyleSheet(this, 'winter');">winter</a>
|
<a href="#" onclick="return setActiveStyleSheet(this, 'blue');">blue</a>
|
<a href="#" onclick="return setActiveStyleSheet(this, 'summer');">summer</a>
|
<a href="#" onclick="return setActiveStyleSheet(this, 'green');">green</a>
@ -215,12 +221,12 @@ Popup examples
<b>Date #1:</b> <input type="text" name="date1" id="sel1" size="30"
><input type="reset" value=" ... "
onclick="return showCalendar('sel1', '%Y-%m-%d [%W] %H:%M', '24');"> %Y-%m-%d [%W] %H:%M -- single
onclick="return showCalendar('sel1', '%Y-%m-%d [%W] %H:%M', '24', true);"> %Y-%m-%d [%W] %H:%M -- single
click<br />
<b>Date #2:</b> <input type="text" name="date2" id="sel2" size="30"
><input type="reset" value=" ... "
onclick="return showCalendar('sel2', '%a, %b %e, %Y [%I:%M%p]', '12');"> %a, %b %e, %Y [%I:%M%p]
onclick="return showCalendar('sel2', '%a, %b %e, %Y [%I:%M %p]', '12');"> %a, %b %e, %Y [%I:%M %p]
-- double click
<br /><br />
@ -253,8 +259,9 @@ double click
</form>
<p>This is release <b>0.9.5</b>. Works on MSIE/Win 5.0 or better, Opera 7,
Mozilla, Netscape 6.x, 7.0 and all other Gecko-s, Konqueror and Safari.</p>
<p>This is release <b>0.9.6</b>. Works on MSIE/Win 5.0 or better (really),
Opera 7, Mozilla, Netscape 6.x, 7.0 and all other Gecko-s, Konqueror and
Safari.</p>
<p class="help">You can click on "Mo"/"Su" (first day name displayed) to
change the first day of week (Sunday/Monday) (since 0.8 this is also mapped

View File

@ -24,6 +24,24 @@ Calendar._MN = new Array
// tooltips
Calendar._TT = {};
Calendar._TT["INFO"] = "Om Kalenderen";
Calendar._TT["ABOUT"] =
"DHTML Date/Time Selector\n" +
"(c) dynarch.com 2002-2003\n" + // don't translate this this ;-)
"For den seneste version besøg: http://dynarch.com/mishoo/calendar.epl\n" +
"Distribueret under GNU LGPL. Se http://gnu.org/licenses/lgpl.html for detajler." +
"\n\n" +
"Valg af dato:\n" +
"- Brug \xab, \xbb knapperne for at vælge år\n" +
"- Brug " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " knapperne for at vælge måned\n" +
"- Hold knappen på musen nede på knapperne ovenfor for hurtigere valg.";
Calendar._TT["ABOUT_TIME"] = "\n\n" +
"Valg af tid:\n" +
"- Klik på en vilkårlig del for større værdi\n" +
"- eller Shift-klik for for mindre værdi\n" +
"- eller klik og træk for hurtigere valg.";
Calendar._TT["TOGGLE"] = "Skift første ugedag";
Calendar._TT["PREV_YEAR"] = "Ét år tilbage (hold for menu)";
Calendar._TT["PREV_MONTH"] = "Én måned tilbage (hold for menu)";
@ -39,7 +57,7 @@ Calendar._TT["CLOSE"] = "Luk vinduet";
Calendar._TT["TODAY"] = "I dag";
// date formats
Calendar._TT["DEF_DATE_FORMAT"] = "y-mm-dd";
Calendar._TT["TT_DATE_FORMAT"] = "D d. M, y";
Calendar._TT["DEF_DATE_FORMAT"] = "dd-mm-yy";
Calendar._TT["TT_DATE_FORMAT"] = "%d. %b, %Y";
Calendar._TT["WK"] = "wk";

View File

@ -1,5 +1,5 @@
// Author: Hartwig Weinkauf h_weinkauf@gmx.de
// Überarbeitet und fehlende Texte hinzugefügt von Gerhard Neinert (gerhard at neinert punkt de)
// <EFBFBD>erarbeitet und fehlende Texte hinzugefgt von Gerhard Neinert (gerhard at neinert punkt de)
// Feel free to use / redistribute under the GNU LGPL.
// ** I18N
@ -32,7 +32,7 @@ Calendar._SDN_len = 2;
Calendar._MN = new Array
("Januar",
"Februar",
"März",
"M\u00e4rz",
"April",
"Mai",
"Juni",
@ -47,7 +47,7 @@ Calendar._MN = new Array
Calendar._SMN = new Array
("Jan",
"Feb",
"Mär",
"M\u00e4r",
"Apr",
"Mai",
"Jun",
@ -68,33 +68,33 @@ Calendar._TT["ABOUT"] =
"Distributed under GNU LGPL. See http://gnu.org/licenses/lgpl.html for details." +
"\n\n" +
"Datumsauswahl:\n" +
"- Jahr auswählen mit \xab und \xbb\n" +
"- Monat auswählen mit " + String.fromCharCode(0x2039) + " und " + String.fromCharCode(0x203a) + "\n" +
"- Für Auswahl aus Liste Maustaste gedrückt halten.";
"- Jahr ausw\u00e4hlen mit \xab und \xbb\n" +
"- Monat ausw\u00e4hlen mit " + String.fromCharCode(0x2039) + " und " + String.fromCharCode(0x203a) + "\n" +
"- Fr Auswahl aus Liste Maustaste gedr\u00fcckt halten.";
Calendar._TT["ABOUT_TIME"] = "\n\n" +
"Zeit wählen:\n" +
"Zeit w\u00e4hlen:\n" +
"- Stunde/Minute weiter mit Mausklick\n" +
"- Stunde/Minute zurück mit Shift-Mausklick\n" +
"- oder für schnellere Auswahl nach links oder rechts ziehen.";
"- Stunde/Minute zurck mit Shift-Mausklick\n" +
"- oder f\u00fcr schnellere Auswahl nach links oder rechts ziehen.";
Calendar._TT["TOGGLE"] = "Ersten Tag der Woche waehlen";
Calendar._TT["PREV_YEAR"] = "Jahr zurück (halten -> Auswahlmenue)";
Calendar._TT["PREV_MONTH"] = "Monat zurück (halten -> Auswahlmenue)";
Calendar._TT["TOGGLE"] = "Ersten Tag der Woche w\u00e4hlen";
Calendar._TT["PREV_YEAR"] = "Jahr zur\u00fcck (halten -> Auswahlmen\u00fc)";
Calendar._TT["PREV_MONTH"] = "Monat zur\u00fcck (halten -> Auswahlmen\u00fc)";
Calendar._TT["GO_TODAY"] = "Gehe zum heutigen Datum";
Calendar._TT["NEXT_MONTH"] = "Monat vor (halten -> Auswahlmenue)";
Calendar._TT["NEXT_YEAR"] = "Jahr vor (halten -> Auswahlmenue)";
Calendar._TT["SEL_DATE"] = "Datum auswaehlen";
Calendar._TT["NEXT_MONTH"] = "Monat vor (halten -> Auswahlmen\u00fc)";
Calendar._TT["NEXT_YEAR"] = "Jahr vor (halten -> Auswahlmen\u00fc)";
Calendar._TT["SEL_DATE"] = "Datum ausw\u00e4hlen";
Calendar._TT["DRAG_TO_MOVE"] = "Klicken und halten um zu verschieben";
Calendar._TT["PART_TODAY"] = " (heute)";
Calendar._TT["MON_FIRST"] = "Wochenanzeige mit Montag beginnen";
Calendar._TT["SUN_FIRST"] = "Wochenanzeige mit Sonntag beginnen";
Calendar._TT["CLOSE"] = "Schliessen";
Calendar._TT["CLOSE"] = "Schlie\u00dfen";
Calendar._TT["TODAY"] = "Heute";
// date formats
Calendar._TT["DEF_DATE_FORMAT"] = "dd-mm-y";
Calendar._TT["TT_DATE_FORMAT"] = "Datum auswählen";
Calendar._TT["TT_DATE_FORMAT"] = "Datum ausw\u00e4hlen";
Calendar._TT["WK"] = "KW";

View File

@ -1,45 +1,89 @@
// ** I18N
// ** I18N
Calendar._DN = new Array
("Κυριακή",
"Δευτέρα",
"Τρίτη",
"Τετάρτη",
"Πέμπτη",
"Παρασκευή",
"Σάββατο",
"Κυριακή");
("Κυριακή",
"Δευτέρα",
"Τρίτη",
"Τετάρτη",
"Πέμπτη",
"Παρασκευή",
"Σάββατο",
"Κυριακή");
Calendar._SDN = new Array
("Κυ",
"Δε",
"Tρ",
"Τε",
"Πε",
"Πα",
"Σα",
"Κυ");
Calendar._MN = new Array
("Ιανουάριος",
"Φεβρουάριος",
"Μάρτιος",
"Απρίλιος",
"Μάϊος",
"Ιούνιος",
"Ιούλιος",
"Αύγουστος",
"Σεπτέμβριος",
"Οκτώβριος",
"Νοέμβριος",
"Δεκέμβριος");
("Ιανουάριος",
"Φεβρουάριος",
"Μάρτιος",
"Απρίλιος",
"Μάϊος",
"Ιούνιος",
"Ιούλιος",
"Αύγουστος",
"Σεπτέμβριος",
"Οκτώβριος",
"Νοέμβριος",
"Δεκέμβριος");
Calendar._SMN = new Array
("Ιαν",
"Φεβ",
"Μαρ",
"Απρ",
"Μαι",
"Ιουν",
"Ιουλ",
"Αυγ",
"Σεπ",
"Οκτ",
"Νοε",
"Δεκ");
// tooltips
Calendar._TT = {};
Calendar._TT["TOGGLE"] = "Μπάρα πρώτης ημέρας της εβδομάδας";
Calendar._TT["PREV_YEAR"] = "Προηγ. έτος (κρατήστε για το μενού)";
Calendar._TT["PREV_MONTH"] = "Προηγ. μήνας (κρατήστε για το μενού)";
Calendar._TT["GO_TODAY"] = "Σήμερα";
Calendar._TT["NEXT_MONTH"] = "Επόμενος μήνας (κρατήστε για το μενού)";
Calendar._TT["NEXT_YEAR"] = "Επόμενο έτος (κρατήστε για το μενού)";
Calendar._TT["SEL_DATE"] = "Επιλέξτε ημερομηνία";
Calendar._TT["DRAG_TO_MOVE"] = "Σύρτε για να μετακινήσετε";
Calendar._TT["PART_TODAY"] = " (σήμερα)";
Calendar._TT["MON_FIRST"] = "Εμφάνιση Δευτέρας πρώτα";
Calendar._TT["SUN_FIRST"] = "Εμφάνιση Κυριακής πρώτα";
Calendar._TT["CLOSE"] = "Κλείσιμο";
Calendar._TT["TODAY"] = "Σήμερα";
Calendar._TT["INFO"] = "Για το ημερολόγιο";
Calendar._TT["ABOUT"] =
"Επιλογέας ημερομηνίας/ώρας σε DHTML\n" +
"(c) dynarch.com 2002-2003\n" + // don't translate this this ;-)
"Για τελευταία έκδοση: http://dynarch.com/mishoo/calendar.epl\n" +
"Distributed under GNU LGPL. See http://gnu.org/licenses/lgpl.html for details." +
"\n\n" +
"Επιλογή ημερομηνίας:\n" +
"- Χρησιμοποιείστε τα κουμπιά \xab, \xbb για επιλογή έτους\n" +
"- Χρησιμοποιείστε τα κουμπιά " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " για επιλογή μήνα\n" +
"- Κρατήστε κουμπί ποντικού πατημένο στα παραπάνω κουμπιά για πιο γρήγορη επιλογή.";
Calendar._TT["ABOUT_TIME"] = "\n\n" +
"Επιλογή ώρας:\n" +
"- Κάντε κλικ σε ένα από τα μέρη της ώρας για αύξηση\n" +
"- ή Shift-κλικ για μείωση\n" +
"- ή κλικ και μετακίνηση για πιο γρήγορη επιλογή.";
Calendar._TT["TOGGLE"] = "Μπάρα πρώτης ημέρας της εβδομάδας";
Calendar._TT["PREV_YEAR"] = "Προηγ. έτος (κρατήστε για το μενού)";
Calendar._TT["PREV_MONTH"] = "Προηγ. μήνας (κρατήστε για το μενού)";
Calendar._TT["GO_TODAY"] = "Σήμερα";
Calendar._TT["NEXT_MONTH"] = "Επόμενος μήνας (κρατήστε για το μενού)";
Calendar._TT["NEXT_YEAR"] = "Επόμενο έτος (κρατήστε για το μενού)";
Calendar._TT["SEL_DATE"] = "Επιλέξτε ημερομηνία";
Calendar._TT["DRAG_TO_MOVE"] = "Σύρτε για να μετακινήσετε";
Calendar._TT["PART_TODAY"] = " (σήμερα)";
Calendar._TT["MON_FIRST"] = "Εμφάνιση Δευτέρας πρώτα";
Calendar._TT["SUN_FIRST"] = "Εμφάνιση Κυριακής πρώτα";
Calendar._TT["CLOSE"] = "Κλείσιμο";
Calendar._TT["TODAY"] = "Σήμερα";
Calendar._TT["TIME_PART"] = "(Shift-)κλικ ή μετακίνηση για αλλαγή";
// date formats
Calendar._TT["DEF_DATE_FORMAT"] = "dd-mm-y";
Calendar._TT["TT_DATE_FORMAT"] = "D, d M";
Calendar._TT["WK"] = "wk";
Calendar._TT["WK"] = "εβδ";

View File

@ -101,8 +101,16 @@ Calendar._TT["NEXT_YEAR"] = "Next year (hold for menu)";
Calendar._TT["SEL_DATE"] = "Select date";
Calendar._TT["DRAG_TO_MOVE"] = "Drag to move";
Calendar._TT["PART_TODAY"] = " (today)";
Calendar._TT["MON_FIRST"] = "Display Monday first";
Calendar._TT["SUN_FIRST"] = "Display Sunday first";
// the following is to inform that "%s" is to be the first day of week
// %s will be replaced with the day name.
Calendar._TT["DAY_FIRST"] = "Display %s first";
// This may be locale-dependent. It specifies the week-end days, as an array
// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1
// means Monday, etc.
Calendar._TT["WEEKEND"] = "0,6";
Calendar._TT["CLOSE"] = "Close";
Calendar._TT["TODAY"] = "Today";
Calendar._TT["TIME_PART"] = "(Shift-)Click or drag to change value";
@ -112,3 +120,4 @@ Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d";
Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e";
Calendar._TT["WK"] = "wk";
Calendar._TT["TIME"] = "Time:";

View File

@ -0,0 +1,98 @@
// ** I18N
// Calendar FI language (Finnish, Suomi)
// Author: Jarno Käyhkö, <gambler@phnet.fi>
// Encoding: UTF-8
// Distributed under the same terms as the calendar itself.
// full day names
Calendar._DN = new Array
("Sunnuntai",
"Maanantai",
"Tiistai",
"Keskiviikko",
"Torstai",
"Perjantai",
"Lauantai",
"Sunnuntai");
// short day names
Calendar._SDN = new Array
("Su",
"Ma",
"Ti",
"Ke",
"To",
"Pe",
"La",
"Su");
// full month names
Calendar._MN = new Array
("Tammikuu",
"Helmikuu",
"Maaliskuu",
"Huhtikuu",
"Toukokuu",
"Kesäkuu",
"Heinäkuu",
"Elokuu",
"Syyskuu",
"Lokakuu",
"Marraskuu",
"Joulukuu");
// short month names
Calendar._SMN = new Array
("Tam",
"Hel",
"Maa",
"Huh",
"Tou",
"Kes",
"Hei",
"Elo",
"Syy",
"Lok",
"Mar",
"Jou");
// tooltips
Calendar._TT = {};
Calendar._TT["INFO"] = "Tietoja kalenterista";
Calendar._TT["ABOUT"] =
"DHTML Date/Time Selector\n" +
"(c) dynarch.com 2002-2003\n" + // don't translate this this ;-)
"Uusin versio osoitteessa: http://dynarch.com/mishoo/calendar.epl\n" +
"Julkaistu GNU LGPL lisenssin alaisuudessa. Lisätietoja osoitteessa http://gnu.org/licenses/lgpl.html" +
"\n\n" +
"Päivämäärä valinta:\n" +
"- Käytä \xab, \xbb painikkeita valitaksesi vuosi\n" +
"- Käytä " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " painikkeita valitaksesi kuukausi\n" +
"- Pitämällä hiiren painiketta minkä tahansa yllä olevan painikkeen kohdalla, saat näkyviin valikon nopeampaan siirtymiseen.";
Calendar._TT["ABOUT_TIME"] = "\n\n" +
"Ajan valinta:\n" +
"- Klikkaa kellonajan numeroita lisätäksesi aikaa\n" +
"- tai pitämällä Shift-näppäintä pohjassa saat aikaa taaksepäin\n" +
"- tai klikkaa ja pidä hiiren painike pohjassa sekä liikuta hiirtä muuttaaksesi aikaa nopeasti eteen- ja taaksepäin.";
Calendar._TT["PREV_YEAR"] = "Edell. vuosi (paina hetki, näet valikon)";
Calendar._TT["PREV_MONTH"] = "Edell. kuukausi (paina hetki, näet valikon)";
Calendar._TT["GO_TODAY"] = "Siirry tähän päivään";
Calendar._TT["NEXT_MONTH"] = "Seur. kuukausi (paina hetki, näet valikon)";
Calendar._TT["NEXT_YEAR"] = "Seur. vuosi (paina hetki, näet valikon)";
Calendar._TT["SEL_DATE"] = "Valitse päivämäärä";
Calendar._TT["DRAG_TO_MOVE"] = "Siirrä kalenterin paikkaa";
Calendar._TT["PART_TODAY"] = " (tänään)";
Calendar._TT["MON_FIRST"] = "Näytä maanantai ensimmäisenä";
Calendar._TT["SUN_FIRST"] = "Näytä sunnuntai ensimmäisenä";
Calendar._TT["CLOSE"] = "Sulje";
Calendar._TT["TODAY"] = "Tänään";
Calendar._TT["TIME_PART"] = "(Shift-) Klikkaa tai liikuta muuttaaksesi aikaa";
// date formats
Calendar._TT["DEF_DATE_FORMAT"] = "%d.%m.%Y";
Calendar._TT["TT_DATE_FORMAT"] = "%d.%m.%Y";
Calendar._TT["WK"] = "Vko";

View File

@ -21,9 +21,50 @@ Calendar._MN = new Array
"Octobre",
"Novembre",
"Décembre");
Calendar._SDN = new Array
("Lun",
"Mar",
"Mer",
"Jeu",
"Thu",
"Ven",
"Sam",
"Dim");
Calendar._SMN = new Array
("Jan",
"Fev",
"Mar",
"Avr",
"Mai",
"Juin",
"Juil",
"Aout",
"Sep",
"Oct",
"Nov",
"Dec");
// tooltips
Calendar._TT = {};
Calendar._TT["INFO"] = "A propos du calendrier";
Calendar._TT["ABOUT"] =
"DHTML Date/Heure Selecteur\n" +
"(c) dynarch.com 2002-2003\n" + // don't translate this this ;-)
"Pour la derniere version visitez: http://dynarch.com/mishoo/calendar.epl\n" +
"Distribué par GNU LGPL. Voir http://gnu.org/licenses/lgpl.html pour les details." +
"\n\n" +
"Selection de la date :\n" +
"- Utiliser les bouttons \xab, \xbb pour selectionner l\'annee\n" +
"- Utiliser les bouttons " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " pour selectionner les mois\n" +
"- Garder la souris sur n'importe quels boutons pour un selection plus rapide";
Calendar._TT["ABOUT_TIME"] = "\n\n" +
"Selection de l\'heure:\n" +
"- Cliquer sur heures ou minutes pour incrementer\n" +
"- ou Maj-clic pour decrementer\n" +
"- ou clic et glisser deplacer pour un selection plus rapide";
Calendar._TT["TOGGLE"] = "Changer le premier jour de la semaine";
Calendar._TT["PREV_YEAR"] = "Année préc. (maintenir pour menu)";
Calendar._TT["PREV_MONTH"] = "Mois préc. (maintenir pour menu)";
@ -39,7 +80,7 @@ Calendar._TT["CLOSE"] = "Fermer";
Calendar._TT["TODAY"] = "Aujourd'hui";
// date formats
Calendar._TT["DEF_DATE_FORMAT"] = "y-mm-dd";
Calendar._TT["TT_DATE_FORMAT"] = "D, M d";
Calendar._TT["DEF_DATE_FORMAT"] = "%d-%m-%y";
Calendar._TT["TT_DATE_FORMAT"] = " %A %e %B %Y";
Calendar._TT["WK"] = "wk";
Calendar._TT["WK"] = "sem";

View File

@ -40,6 +40,6 @@ Calendar._TT["TODAY"] = "
// date formats
Calendar._TT["DEF_DATE_FORMAT"] = "y-mm-dd";
Calendar._TT["TT_DATE_FORMAT"] = "M d日 (D)";
Calendar._TT["TT_DATE_FORMAT"] = "%m月 %d日 (%a)";
Calendar._TT["WK"] = "<22>T";

View File

@ -0,0 +1,120 @@
// ** I18N
// Calendar EN language
// Author: Mihai Bazon, <mishoo@infoiasi.ro>
// Translation: Yourim Yi <yyi@yourim.net>
// Encoding: EUC-KR
// lang : ko
// Distributed under the same terms as the calendar itself.
// For translators: please use UTF-8 if possible. We strongly believe that
// Unicode is the answer to a real internationalized world. Also please
// include your contact information in the header, as can be seen above.
// full day names
Calendar._DN = new Array
("일요일",
"월요일",
"화요일",
"수요일",
"목요일",
"금요일",
"토요일",
"일요일");
// Please note that the following array of short day names (and the same goes
// for short month names, _SMN) isn't absolutely necessary. We give it here
// for exemplification on how one can customize the short day names, but if
// they are simply the first N letters of the full name you can simply say:
//
// Calendar._SDN_len = N; // short day name length
// Calendar._SMN_len = N; // short month name length
//
// If N = 3 then this is not needed either since we assume a value of 3 if not
// present, to be compatible with translation files that were written before
// this feature.
// short day names
Calendar._SDN = new Array
("일",
"월",
"화",
"수",
"목",
"금",
"토",
"일");
// full month names
Calendar._MN = new Array
("1월",
"2월",
"3월",
"4월",
"5월",
"6월",
"7월",
"8월",
"9월",
"10월",
"11월",
"12월");
// short month names
Calendar._SMN = new Array
("1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9",
"10",
"11",
"12");
// tooltips
Calendar._TT = {};
Calendar._TT["INFO"] = "calendar 에 대해서";
Calendar._TT["ABOUT"] =
"DHTML Date/Time Selector\n" +
"(c) dynarch.com 2002-2003\n" + // don't translate this this ;-)
"\n"+
"최신 버전을 받으시려면 http://dynarch.com/mishoo/calendar.epl 에 방문하세요\n" +
"\n"+
"GNU LGPL 라이센스로 배포됩니다. \n"+
"라이센스에 대한 자세한 내용은 http://gnu.org/licenses/lgpl.html 을 읽으세요." +
"\n\n" +
"날짜 선택:\n" +
"- 연도를 선택하려면 \xab, \xbb 버튼을 사용합니다\n" +
"- 달을 선택하려면 " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " 버튼을 누르세요\n" +
"- 계속 누르고 있으면 위 값들을 빠르게 선택하실 수 있습니다.";
Calendar._TT["ABOUT_TIME"] = "\n\n" +
"시간 선택:\n" +
"- 마우스로 누르면 시간이 증가합니다\n" +
"- Shift 키와 함께 누르면 감소합니다\n" +
"- 누른 상태에서 마우스를 움직이면 좀 더 빠르게 값이 변합니다.\n";
Calendar._TT["PREV_YEAR"] = "지난 해 (길게 누르면 목록)";
Calendar._TT["PREV_MONTH"] = "지난 달 (길게 누르면 목록)";
Calendar._TT["GO_TODAY"] = "오늘 날짜로";
Calendar._TT["NEXT_MONTH"] = "다음 달 (길게 누르면 목록)";
Calendar._TT["NEXT_YEAR"] = "다음 해 (길게 누르면 목록)";
Calendar._TT["SEL_DATE"] = "날짜를 선택하세요";
Calendar._TT["DRAG_TO_MOVE"] = "마우스 드래그로 이동 하세요";
Calendar._TT["PART_TODAY"] = " (오늘)";
Calendar._TT["MON_FIRST"] = "월요일을 한 주의 시작 요일로";
Calendar._TT["SUN_FIRST"] = "일요일을 한 주의 시작 요일로";
Calendar._TT["CLOSE"] = "닫기";
Calendar._TT["TODAY"] = "오늘";
Calendar._TT["TIME_PART"] = "(Shift-)클릭 또는 드래그 하세요";
// date formats
Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d";
Calendar._TT["TT_DATE_FORMAT"] = "%b/%e [%a]";
Calendar._TT["WK"] = "주";

View File

@ -0,0 +1,120 @@
// ** I18N
// Calendar EN language
// Author: Mihai Bazon, <mishoo@infoiasi.ro>
// Translation: Yourim Yi <yyi@yourim.net>
// Encoding: EUC-KR
// lang : ko
// Distributed under the same terms as the calendar itself.
// For translators: please use UTF-8 if possible. We strongly believe that
// Unicode is the answer to a real internationalized world. Also please
// include your contact information in the header, as can be seen above.
// full day names
Calendar._DN = new Array
("일요일",
"월요일",
"화요일",
"수요일",
"목요일",
"금요일",
"토요일",
"일요일");
// Please note that the following array of short day names (and the same goes
// for short month names, _SMN) isn't absolutely necessary. We give it here
// for exemplification on how one can customize the short day names, but if
// they are simply the first N letters of the full name you can simply say:
//
// Calendar._SDN_len = N; // short day name length
// Calendar._SMN_len = N; // short month name length
//
// If N = 3 then this is not needed either since we assume a value of 3 if not
// present, to be compatible with translation files that were written before
// this feature.
// short day names
Calendar._SDN = new Array
("일",
"월",
"화",
"수",
"목",
"금",
"토",
"일");
// full month names
Calendar._MN = new Array
("1월",
"2월",
"3월",
"4월",
"5월",
"6월",
"7월",
"8월",
"9월",
"10월",
"11월",
"12월");
// short month names
Calendar._SMN = new Array
("1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9",
"10",
"11",
"12");
// tooltips
Calendar._TT = {};
Calendar._TT["INFO"] = "calendar 에 대해서";
Calendar._TT["ABOUT"] =
"DHTML Date/Time Selector\n" +
"(c) dynarch.com 2002-2003\n" + // don't translate this this ;-)
"\n"+
"최신 버전을 받으시려면 http://dynarch.com/mishoo/calendar.epl 에 방문하세요\n" +
"\n"+
"GNU LGPL 라이센스로 배포됩니다. \n"+
"라이센스에 대한 자세한 내용은 http://gnu.org/licenses/lgpl.html 을 읽으세요." +
"\n\n" +
"날짜 선택:\n" +
"- 연도를 선택하려면 \xab, \xbb 버튼을 사용합니다\n" +
"- 달을 선택하려면 " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " 버튼을 누르세요\n" +
"- 계속 누르고 있으면 위 값들을 빠르게 선택하실 수 있습니다.";
Calendar._TT["ABOUT_TIME"] = "\n\n" +
"시간 선택:\n" +
"- 마우스로 누르면 시간이 증가합니다\n" +
"- Shift 키와 함께 누르면 감소합니다\n" +
"- 누른 상태에서 마우스를 움직이면 좀 더 빠르게 값이 변합니다.\n";
Calendar._TT["PREV_YEAR"] = "지난 해 (길게 누르면 목록)";
Calendar._TT["PREV_MONTH"] = "지난 달 (길게 누르면 목록)";
Calendar._TT["GO_TODAY"] = "오늘 날짜로";
Calendar._TT["NEXT_MONTH"] = "다음 달 (길게 누르면 목록)";
Calendar._TT["NEXT_YEAR"] = "다음 해 (길게 누르면 목록)";
Calendar._TT["SEL_DATE"] = "날짜를 선택하세요";
Calendar._TT["DRAG_TO_MOVE"] = "마우스 드래그로 이동 하세요";
Calendar._TT["PART_TODAY"] = " (오늘)";
Calendar._TT["MON_FIRST"] = "월요일을 한 주의 시작 요일로";
Calendar._TT["SUN_FIRST"] = "일요일을 한 주의 시작 요일로";
Calendar._TT["CLOSE"] = "닫기";
Calendar._TT["TODAY"] = "오늘";
Calendar._TT["TIME_PART"] = "(Shift-)클릭 또는 드래그 하세요";
// date formats
Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d";
Calendar._TT["TT_DATE_FORMAT"] = "%b/%e [%a]";
Calendar._TT["WK"] = "주";

View File

@ -0,0 +1,114 @@
// ** I18N
// Calendar LT language
// Author: Martynas Majeris, <martynas@solmetra.lt>
// Encoding: UTF-8
// Distributed under the same terms as the calendar itself.
// For translators: please use UTF-8 if possible. We strongly believe that
// Unicode is the answer to a real internationalized world. Also please
// include your contact information in the header, as can be seen above.
// full day names
Calendar._DN = new Array
("Sekmadienis",
"Pirmadienis",
"Antradienis",
"Trečiadienis",
"Ketvirtadienis",
"Pentadienis",
"Šeštadienis",
"Sekmadienis");
// Please note that the following array of short day names (and the same goes
// for short month names, _SMN) isn't absolutely necessary. We give it here
// for exemplification on how one can customize the short day names, but if
// they are simply the first N letters of the full name you can simply say:
//
// Calendar._SDN_len = N; // short day name length
// Calendar._SMN_len = N; // short month name length
//
// If N = 3 then this is not needed either since we assume a value of 3 if not
// present, to be compatible with translation files that were written before
// this feature.
// short day names
Calendar._SDN = new Array
("Sek",
"Pir",
"Ant",
"Tre",
"Ket",
"Pen",
"Šeš",
"Sek");
// full month names
Calendar._MN = new Array
("Sausis",
"Vasaris",
"Kovas",
"Balandis",
"Gegužė",
"Birželis",
"Liepa",
"Rugpjūtis",
"Rugsėjis",
"Spalis",
"Lapkritis",
"Gruodis");
// short month names
Calendar._SMN = new Array
("Sau",
"Vas",
"Kov",
"Bal",
"Geg",
"Bir",
"Lie",
"Rgp",
"Rgs",
"Spa",
"Lap",
"Gru");
// tooltips
Calendar._TT = {};
Calendar._TT["INFO"] = "Apie kalendorių";
Calendar._TT["ABOUT"] =
"DHTML Date/Time Selector\n" +
"(c) dynarch.com 2002-2003\n" + // don't translate this this ;-)
"Naujausią versiją rasite: http://dynarch.com/mishoo/calendar.epl\n" +
"Platinamas pagal GNU LGPL licenciją. Aplankykite http://gnu.org/licenses/lgpl.html" +
"\n\n" +
"Datos pasirinkimas:\n" +
"- Metų pasirinkimas: \xab, \xbb\n" +
"- Mėnesio pasirinkimas: " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + "\n" +
"- Nuspauskite ir laikykite pelės klavišą greitesniam pasirinkimui.";
Calendar._TT["ABOUT_TIME"] = "\n\n" +
"Laiko pasirinkimas:\n" +
"- Spustelkite ant valandų arba minučių - skaičius padidės vienetu.\n" +
"- Jei spausite kartu su Shift, skaičius sumažės.\n" +
"- Greitam pasirinkimui spustelkite ir pajudinkite pelę.";
Calendar._TT["PREV_YEAR"] = "Ankstesni metai (laikykite, jei norite meniu)";
Calendar._TT["PREV_MONTH"] = "Ankstesnis mėnuo (laikykite, jei norite meniu)";
Calendar._TT["GO_TODAY"] = "Pasirinkti šiandieną";
Calendar._TT["NEXT_MONTH"] = "Kitas mėnuo (laikykite, jei norite meniu)";
Calendar._TT["NEXT_YEAR"] = "Kiti metai (laikykite, jei norite meniu)";
Calendar._TT["SEL_DATE"] = "Pasirinkite datą";
Calendar._TT["DRAG_TO_MOVE"] = "Tempkite";
Calendar._TT["PART_TODAY"] = " (šiandien)";
Calendar._TT["MON_FIRST"] = "Pirma savaitės diena - pirmadienis";
Calendar._TT["SUN_FIRST"] = "Pirma savaitės diena - sekmadienis";
Calendar._TT["CLOSE"] = "Uždaryti";
Calendar._TT["TODAY"] = "Šiandien";
Calendar._TT["TIME_PART"] = "Spustelkite arba tempkite jei norite pakeisti";
// date formats
Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d";
Calendar._TT["TT_DATE_FORMAT"] = "%A, %Y-%m-%d";
Calendar._TT["WK"] = "sav";

View File

@ -0,0 +1,114 @@
// ** I18N
// Calendar LT language
// Author: Martynas Majeris, <martynas@solmetra.lt>
// Encoding: Windows-1257
// Distributed under the same terms as the calendar itself.
// For translators: please use UTF-8 if possible. We strongly believe that
// Unicode is the answer to a real internationalized world. Also please
// include your contact information in the header, as can be seen above.
// full day names
Calendar._DN = new Array
("Sekmadienis",
"Pirmadienis",
"Antradienis",
"Treèiadienis",
"Ketvirtadienis",
"Pentadienis",
"Ðeðtadienis",
"Sekmadienis");
// Please note that the following array of short day names (and the same goes
// for short month names, _SMN) isn't absolutely necessary. We give it here
// for exemplification on how one can customize the short day names, but if
// they are simply the first N letters of the full name you can simply say:
//
// Calendar._SDN_len = N; // short day name length
// Calendar._SMN_len = N; // short month name length
//
// If N = 3 then this is not needed either since we assume a value of 3 if not
// present, to be compatible with translation files that were written before
// this feature.
// short day names
Calendar._SDN = new Array
("Sek",
"Pir",
"Ant",
"Tre",
"Ket",
"Pen",
"Ðeð",
"Sek");
// full month names
Calendar._MN = new Array
("Sausis",
"Vasaris",
"Kovas",
"Balandis",
"Geguþë",
"Birþelis",
"Liepa",
"Rugpjûtis",
"Rugsëjis",
"Spalis",
"Lapkritis",
"Gruodis");
// short month names
Calendar._SMN = new Array
("Sau",
"Vas",
"Kov",
"Bal",
"Geg",
"Bir",
"Lie",
"Rgp",
"Rgs",
"Spa",
"Lap",
"Gru");
// tooltips
Calendar._TT = {};
Calendar._TT["INFO"] = "Apie kalendoriø";
Calendar._TT["ABOUT"] =
"DHTML Date/Time Selector\n" +
"(c) dynarch.com 2002-2003\n" + // don't translate this this ;-)
"Naujausià versijà rasite: http://dynarch.com/mishoo/calendar.epl\n" +
"Platinamas pagal GNU LGPL licencijà. Aplankykite http://gnu.org/licenses/lgpl.html" +
"\n\n" +
"Datos pasirinkimas:\n" +
"- Metø pasirinkimas: \xab, \xbb\n" +
"- Mënesio pasirinkimas: " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + "\n" +
"- Nuspauskite ir laikykite pelës klaviðà greitesniam pasirinkimui.";
Calendar._TT["ABOUT_TIME"] = "\n\n" +
"Laiko pasirinkimas:\n" +
"- Spustelkite ant valandø arba minuèiø - skaièus padidës vienetu.\n" +
"- Jei spausite kartu su Shift, skaièius sumaþës.\n" +
"- Greitam pasirinkimui spustelkite ir pajudinkite pelæ.";
Calendar._TT["PREV_YEAR"] = "Ankstesni metai (laikykite, jei norite meniu)";
Calendar._TT["PREV_MONTH"] = "Ankstesnis mënuo (laikykite, jei norite meniu)";
Calendar._TT["GO_TODAY"] = "Pasirinkti ðiandienà";
Calendar._TT["NEXT_MONTH"] = "Kitas mënuo (laikykite, jei norite meniu)";
Calendar._TT["NEXT_YEAR"] = "Kiti metai (laikykite, jei norite meniu)";
Calendar._TT["SEL_DATE"] = "Pasirinkite datà";
Calendar._TT["DRAG_TO_MOVE"] = "Tempkite";
Calendar._TT["PART_TODAY"] = " (ðiandien)";
Calendar._TT["MON_FIRST"] = "Pirma savaitës diena - pirmadienis";
Calendar._TT["SUN_FIRST"] = "Pirma savaitës diena - sekmadienis";
Calendar._TT["CLOSE"] = "Uþdaryti";
Calendar._TT["TODAY"] = "Ðiandien";
Calendar._TT["TIME_PART"] = "Spustelkite arba tempkite jei norite pakeisti";
// date formats
Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d";
Calendar._TT["TT_DATE_FORMAT"] = "%A, %Y-%m-%d";
Calendar._TT["WK"] = "sav";

View File

@ -0,0 +1,93 @@
// ** I18N
// Calendar PL language
// Author: Dariusz Pietrzak, <eyck@ghost.anime.pl>
// Author: Janusz Piwowarski, <jpiw@go2.pl>
// Encoding: utf-8
// Distributed under the same terms as the calendar itself.
Calendar._DN = new Array
("Niedziela",
"Poniedziałek",
"Wtorek",
"Środa",
"Czwartek",
"Piątek",
"Sobota",
"Niedziela");
Calendar._SDN = new Array
("Nie",
"Pn",
"Wt",
"Śr",
"Cz",
"Pt",
"So",
"Nie");
Calendar._MN = new Array
("Styczeń",
"Luty",
"Marzec",
"Kwiecień",
"Maj",
"Czerwiec",
"Lipiec",
"Sierpień",
"Wrzesień",
"Październik",
"Listopad",
"Grudzień");
Calendar._SMN = new Array
("Sty",
"Lut",
"Mar",
"Kwi",
"Maj",
"Cze",
"Lip",
"Sie",
"Wrz",
"Paź",
"Lis",
"Gru");
// tooltips
Calendar._TT = {};
Calendar._TT["INFO"] = "O kalendarzu";
Calendar._TT["ABOUT"] =
"DHTML Date/Time Selector\n" +
"(c) dynarch.com 2002-2003\n" + // don't translate this this ;-)
"Aby pobrać najnowszą wersję, odwiedź: http://dynarch.com/mishoo/calendar.epl\n" +
"Dostępny na licencji GNU LGPL. Zobacz szczegóły na http://gnu.org/licenses/lgpl.html." +
"\n\n" +
"Wybór daty:\n" +
"- Użyj przycisków \xab, \xbb by wybrać rok\n" +
"- Użyj przycisków " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " by wybrać miesiąc\n" +
"- Przytrzymaj klawisz myszy nad jednym z powyższych przycisków dla szybszego wyboru.";
Calendar._TT["ABOUT_TIME"] = "\n\n" +
"Wybór czasu:\n" +
"- Kliknij na jednym z pól czasu by zwiększyć jego wartość\n" +
"- lub kliknij trzymając Shift by zmiejszyć jego wartość\n" +
"- lub kliknij i przeciągnij dla szybszego wyboru.";
//Calendar._TT["TOGGLE"] = "Zmień pierwszy dzień tygodnia";
Calendar._TT["PREV_YEAR"] = "Poprzedni rok (przytrzymaj dla menu)";
Calendar._TT["PREV_MONTH"] = "Poprzedni miesiąc (przytrzymaj dla menu)";
Calendar._TT["GO_TODAY"] = "Idź do dzisiaj";
Calendar._TT["NEXT_MONTH"] = "Następny miesiąc (przytrzymaj dla menu)";
Calendar._TT["NEXT_YEAR"] = "Następny rok (przytrzymaj dla menu)";
Calendar._TT["SEL_DATE"] = "Wybierz datę";
Calendar._TT["DRAG_TO_MOVE"] = "Przeciągnij by przesunąć";
Calendar._TT["PART_TODAY"] = " (dzisiaj)";
Calendar._TT["MON_FIRST"] = "Wyświetl poniedziałek jako pierwszy";
Calendar._TT["SUN_FIRST"] = "Wyświetl niedzielę jako pierwszą";
Calendar._TT["CLOSE"] = "Zamknij";
Calendar._TT["TODAY"] = "Dzisiaj";
Calendar._TT["TIME_PART"] = "(Shift-)Kliknij lub przeciągnij by zmienić wartość";
// date formats
Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d";
Calendar._TT["TT_DATE_FORMAT"] = "%e %B, %A";
Calendar._TT["WK"] = "ty";

View File

@ -1,46 +1,56 @@
// Polish| dariush pietrzak, eyck@ghost.anime.pl
// ** I18N
// Calendar PL language
// Author: Artur Filipiak, <imagen@poczta.fm>
// January, 2004
// Encoding: UTF-8
Calendar._DN = new Array
("Niedziela",
"Poniedziałek",
"Wtorek",
"Środa",
"Czwartek",
"Piątek",
"Sobota",
"Niedziela");
("Niedziela", "Poniedziałek", "Wtorek", "Środa", "Czwartek", "Piątek", "Sobota", "Niedziela");
Calendar._SDN = new Array
("N", "Pn", "Wt", "Śr", "Cz", "Pt", "So", "N");
Calendar._MN = new Array
("Styczeń",
"Luty",
"Marzec",
"Kwiecień",
"Maj",
"Czerwiec",
"Lipiec",
"Sierpień",
"Wrzesień",
"Październik",
"Listopad",
"Grudzień");
("Styczeń", "Luty", "Marzec", "Kwiecień", "Maj", "Czerwiec", "Lipiec", "Sierpień", "Wrzesień", "Październik", "Listopad", "Grudzień");
Calendar._SMN = new Array
("Sty", "Lut", "Mar", "Kwi", "Maj", "Cze", "Lip", "Sie", "Wrz", "Paź", "Lis", "Gru");
// tooltips
Calendar._TT = {};
Calendar._TT["TOGGLE"] = "Zmień pierwszy dzień tygodnia";
Calendar._TT["PREV_YEAR"] = "Poprzedni rok (przytrzymaj dla menu)";
Calendar._TT["PREV_MONTH"] = "Poprzedni miesiąc (przytrzymaj dla menu)";
Calendar._TT["GO_TODAY"] = "Idź do dzisiaj";
Calendar._TT["NEXT_MONTH"] = "Następny miesiąc (przytrzymaj dla menu)";
Calendar._TT["NEXT_YEAR"] = "Następny rok (przytrzymaj dla menu)";
Calendar._TT["SEL_DATE"] = "Wybierz datę";
Calendar._TT["DRAG_TO_MOVE"] = "Przeciągnij by przesunąć";
Calendar._TT["PART_TODAY"] = " (dzisiaj)";
Calendar._TT["MON_FIRST"] = "Wyświetl poniedziałek jako pierwszy";
Calendar._TT["SUN_FIRST"] = "Wyświetl niedzielę jako pierwszą";
Calendar._TT["INFO"] = "O kalendarzu";
Calendar._TT["ABOUT"] =
"DHTML Date/Time Selector\n" +
"(c) dynarch.com 2002-2003\n" + // don't translate this this ;-)
"For latest version visit: http://dynarch.com/mishoo/calendar.epl\n" +
"Distributed under GNU LGPL. See http://gnu.org/licenses/lgpl.html for details." +
"\n\n" +
"Wybór daty:\n" +
"- aby wybrać rok użyj przycisków \xab, \xbb\n" +
"- aby wybrać miesiąc użyj przycisków " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + "\n" +
"- aby przyspieszyć wybór przytrzymaj wciśnięty przycisk myszy nad ww. przyciskami.";
Calendar._TT["ABOUT_TIME"] = "\n\n" +
"Wybór czasu:\n" +
"- aby zwiększyć wartość kliknij na dowolnym elemencie selekcji czasu\n" +
"- aby zmniejszyć wartość użyj dodatkowo klawisza Shift\n" +
"- możesz również poruszać myszkę w lewo i prawo wraz z wciśniętym lewym klawiszem.";
Calendar._TT["PREV_YEAR"] = "Poprz. rok (przytrzymaj dla menu)";
Calendar._TT["PREV_MONTH"] = "Poprz. miesiąc (przytrzymaj dla menu)";
Calendar._TT["GO_TODAY"] = "Pokaż dziś";
Calendar._TT["NEXT_MONTH"] = "Nast. miesiąc (przytrzymaj dla menu)";
Calendar._TT["NEXT_YEAR"] = "Nast. rok (przytrzymaj dla menu)";
Calendar._TT["SEL_DATE"] = "Wybierz datę";
Calendar._TT["DRAG_TO_MOVE"] = "Przesuń okienko";
Calendar._TT["PART_TODAY"] = " (dziś)";
Calendar._TT["MON_FIRST"] = "Pokaż Poniedziałek jako pierwszy";
Calendar._TT["SUN_FIRST"] = "Pokaż Niedzielę jako pierwszą";
Calendar._TT["CLOSE"] = "Zamknij";
Calendar._TT["TODAY"] = "Dzisiaj";
Calendar._TT["TODAY"] = "Dziś";
Calendar._TT["TIME_PART"] = "(Shift-)klik | drag, aby zmienić wartość";
// date formats
Calendar._TT["DEF_DATE_FORMAT"] = "y-mm-dd";
Calendar._TT["TT_DATE_FORMAT"] = "D, M d";
Calendar._TT["DEF_DATE_FORMAT"] = "%Y.%m.%d";
Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e";
Calendar._TT["WK"] = "wk";
Calendar._TT["WK"] = "wk";

View File

@ -52,8 +52,8 @@ Calendar._TT["NEXT_YEAR"] = "Anul următor (lung pt menu)";
Calendar._TT["SEL_DATE"] = "Selectează data";
Calendar._TT["DRAG_TO_MOVE"] = "Trage pentru a mişca";
Calendar._TT["PART_TODAY"] = " (astăzi)";
Calendar._TT["MON_FIRST"] = "Prima zi -> Luni";
Calendar._TT["SUN_FIRST"] = "Prima zi -> Duminică";
Calendar._TT["DAY_FIRST"] = "Afişează %s prima zi";
Calendar._TT["WEEKEND"] = "0,6";
Calendar._TT["CLOSE"] = "Închide";
Calendar._TT["TODAY"] = "Astăzi";
Calendar._TT["TIME_PART"] = "(Shift-)Click sau drag pentru a selecta";
@ -63,3 +63,4 @@ Calendar._TT["DEF_DATE_FORMAT"] = "%d-%m-%Y";
Calendar._TT["TT_DATE_FORMAT"] = "%A, %d %B";
Calendar._TT["WK"] = "spt";
Calendar._TT["TIME"] = "Ora:";

View File

@ -0,0 +1,94 @@
/* Slovenian language file for the DHTML Calendar version 0.9.2
* Author David Milost <mercy@volja.net>, January 2004.
* Feel free to use this script under the terms of the GNU Lesser General
* Public License, as long as you do not remove or alter this notice.
*/
// full day names
Calendar._DN = new Array
("Nedelja",
"Ponedeljek",
"Torek",
"Sreda",
"Četrtek",
"Petek",
"Sobota",
"Nedelja");
// short day names
Calendar._SDN = new Array
("Ned",
"Pon",
"Tor",
"Sre",
"Čet",
"Pet",
"Sob",
"Ned");
// short month names
Calendar._SMN = new Array
("Jan",
"Feb",
"Mar",
"Apr",
"Maj",
"Jun",
"Jul",
"Avg",
"Sep",
"Okt",
"Nov",
"Dec");
// full month names
Calendar._MN = new Array
("Januar",
"Februar",
"Marec",
"April",
"Maj",
"Junij",
"Julij",
"Avgust",
"September",
"Oktober",
"November",
"December");
// tooltips
// tooltips
Calendar._TT = {};
Calendar._TT["INFO"] = "O koledarju";
Calendar._TT["ABOUT"] =
"DHTML Date/Time Selector\n" +
"(c) dynarch.com 2002-2003\n" + // don't translate this this ;-)
"Za zadnjo verzijo pojdine na naslov: http://dynarch.com/mishoo/calendar.epl\n" +
"Distribuirano pod GNU LGPL. Poglejte http://gnu.org/licenses/lgpl.html za podrobnosti." +
"\n\n" +
"Izbor datuma:\n" +
"- Uporabite \xab, \xbb gumbe za izbor leta\n" +
"- Uporabite " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " gumbe za izbor meseca\n" +
"- Zadržite klik na kateremkoli od zgornjih gumbov za hiter izbor.";
Calendar._TT["ABOUT_TIME"] = "\n\n" +
"Izbor ćasa:\n" +
"- Kliknite na katerikoli del ćasa za poveć. le-tega\n" +
"- ali Shift-click za zmanj. le-tega\n" +
"- ali kliknite in povlecite za hiter izbor.";
Calendar._TT["TOGGLE"] = "Spremeni dan s katerim se prićne teden";
Calendar._TT["PREV_YEAR"] = "Predhodnje leto (dolg klik za meni)";
Calendar._TT["PREV_MONTH"] = "Predhodnji mesec (dolg klik za meni)";
Calendar._TT["GO_TODAY"] = "Pojdi na tekoći dan";
Calendar._TT["NEXT_MONTH"] = "Naslednji mesec (dolg klik za meni)";
Calendar._TT["NEXT_YEAR"] = "Naslednje leto (dolg klik za meni)";
Calendar._TT["SEL_DATE"] = "Izberite datum";
Calendar._TT["DRAG_TO_MOVE"] = "Pritisni in povleci za spremembo pozicije";
Calendar._TT["PART_TODAY"] = " (danes)";
Calendar._TT["MON_FIRST"] = "Prikaži ponedeljek kot prvi dan";
Calendar._TT["SUN_FIRST"] = "Prikaži nedeljo kot prvi dan";
Calendar._TT["CLOSE"] = "Zapri";
Calendar._TT["TODAY"] = "Danes";
// date formats
Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d";
Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e";
Calendar._TT["WK"] = "Ted";

View File

@ -16,14 +16,32 @@ Calendar._MN = new Array
"Mayo",
"Junio",
"Julio",
"Augosto",
"Agosto",
"Septiembre",
"Octubrer",
"Octubre",
"Noviembre",
"Diciembre");
// tooltips
Calendar._TT = {};
Calendar._TT["INFO"] = "Información del Calendario";
Calendar._TT["ABOUT"] =
"DHTML Date/Time Selector\n" +
"(c) dynarch.com 2002-2003\n" + // don't translate this this ;-)
"Nuevas versiones en: http://dynarch.com/mishoo/calendar.epl\n" +
"Distribuida bajo licencia GNU LGPL. Para detalles vea http://gnu.org/licenses/lgpl.html ." +
"\n\n" +
"Selección de Fechas:\n" +
"- Use \xab, \xbb para seleccionar el año\n" +
"- Use " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " para seleccionar el mes\n" +
"- Mantenga presionado el botón del ratón en cualquiera de las opciones superiores para un acceso rapido .";
Calendar._TT["ABOUT_TIME"] = "\n\n" +
"Selección del Reloj:\n" +
"- Seleccione la hora para cambiar el reloj\n" +
"- o presione Shift-click para disminuirlo\n" +
"- o presione click y arrastre del ratón para una selección rapida.";
Calendar._TT["TOGGLE"] = "Primer dia de la semana";
Calendar._TT["PREV_YEAR"] = "Año anterior (Presione para menu)";
Calendar._TT["PREV_MONTH"] = "Mes Anterior (Presione para menu)";
@ -40,6 +58,6 @@ Calendar._TT["TODAY"] = "Hoy";
// date formats
Calendar._TT["DEF_DATE_FORMAT"] = "dd-mm-yy";
Calendar._TT["TT_DATE_FORMAT"] = "D, d M";
Calendar._TT["TT_DATE_FORMAT"] = "%A, %e de %B de %Y";
Calendar._TT["WK"] = "Smn";

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 B

View File

@ -13,7 +13,108 @@
<body>
<h1>jscalendar release notes</h1>
<p>This release compiled at Wednesday, 5 Nov 2003 (19:30).</p>
<p>This release compiled at Friday, 6 Feb 2004 (21:40).</p>
<h2>0.9.6</h2>
<ul>
<li>
"Smart" (TM :-) positioning algorithm. The new algorithm will
try to keep the calendar in the browser view, which is helpful
in situations when the input field is near the bottom or the
right edge. This code is only tested with IE and Mozilla, but
it should work with other browsers too. Many thanks to <a
href="http://www.ex3.com">Sunny Chowdhury</a> for sponsoring
this feature!
</li>
<li>
Support for IE5/Win is back. I also want to thank Janusz
Piwowarski for keeping his eye on the CVS ;-) He reviewed my
IE5-related changes and sent me a much cleaner patch.
</li>
<li>
The calendar will now allow any day of week to be "the first
day of week". This was requested long time ago, by someone
whose name I forgot (sorry). The reason was that in certain
countries weeks start on Saturday. So I thought that instead
of having a "mondayFirst" and a "saturdayFirst" parameter,
:-), it's better to have a "firstDayOfWeek" parameter; now
it's present and its meaning is: "0 for Sunday", "1 for
Monday", "2 for Tuesday", etc. The equivalent parameter for
Calendar.setup is "firstDay". The end user can also change
it very easy: click on the day name in the calendar display.
</li>
<li>
The above feature triggered one <b>important change</b>: the
notion of "weekend" is now defined in the language file.
Added parameters:
<pre>
Calendar._TT["WEEKEND"] = "0,6";
Calendar._TT["DAY_FIRST"] = "Display %s first";</pre>
"WEEKEND" specifies a string with comma-separated numbers from
0 to 7; they define what days are marked as "weekend". 5 and
6 mean, of course, "Sunday" and "Saturday". Day first is the
tooltip displayed when a day name is hovered; "%s" will get
replaced with the day name. Updated languages are "en" and
"ro", which I maintain. Please note that languages wich are
not updated <b>will not work</b>. If yours is one of them,
please consider fixing it and sending me the fix so that I can
include it in the distro.
</li>
<li>
The calendar can now display days from the months adjacent to
the currently displayed one. This is optional, of course, and
the parameter name is "showsOtherMonths" (or "showOthers" in
Calendar.setup). All theme files were updated.
</li>
<li>
Displays "Time:" near the time selector, only if defined in
the language file.
</li>
<li>
Some bugs fixed in the date parsing code (which has also been
rewritten a little bit cleaner).
</li>
<li>
Calendar.setup will now configure the calendar to trigger the
input fields' "onchange" event, if specified, when a date is
selected.
</li>
<li>
New parameter in Calendar.setup: "cache" (<b>defaults to
false</b>). If set to true then the popup calendar object
will be "cached", meaning, it will be created only once, no
matter how many input fields are there in the page. Sometimes
this is not desirable, which is why I've added this
parameter. Please note that it defaults to "false" (thus the
default behavior has changed).
</li>
<li>
Added a simple PHP wrapper. It provides code which loads all
the required scripts and theme file, and one function which
creates and configures an input field for date input. It
takes care of creating and assigning unique ID-s for the
calendar fields and it also creates the "Calendar.setup" code.
Functions to create more specialized fields can be added very
easily. This feature was requested by the FreeMED.org project
(thanks for donating!).
</li>
</ul>
<p>Wow, there were quite some changes :-D Enjoy it!</p>
<h2>0.9.5</h2>
@ -36,7 +137,7 @@
correctly when it was configured for an input field inside a
<b>scrolling area</b>. <b>Many thanks</b> to Ian Barrack (<a
href="http://www.simban.com">Simban.com</a>) who pointed it up and
donated quote some money for the Calendar project!
donated quite some money for the Calendar project!
</li>
<li>

View File

@ -98,7 +98,9 @@ property useful here is "onUpdate".</p>
<p><b>Input field with a trigger button.</b> Clicking the button activates
the calendar. Note that this one needs double-click (singleClick parameter
is explicitely set to false).</p>
is explicitely set to false). Also demonstrates the "step" parameter
introduced in 0.9.6 (show all years in drop-down boxes, instead of every
other year as default).</p>
<form action="#" method="get">
<input type="text" name="date" id="f_date_b" /><button type="reset" id="f_trigger_b">...</button>
@ -110,7 +112,8 @@ is explicitely set to false).</p>
ifFormat : "%m/%d/%Y %I:%M %p", // format of the input field
showsTime : true, // will display a time selector
button : "f_trigger_b", // trigger for the calendar (button ID)
singleClick : false // double-click mode
singleClick : false, // double-click mode
step : 1 // show all years in drop-down boxes (instead of every other year as default)
});
</script>

View File

@ -0,0 +1,40 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>JS Calendar (positioning test)</title>
<script type="text/javascript" src="calendar.js"></script>
<script type="text/javascript" src="calendar-setup.js"></script>
<script type="text/javascript" src="lang/calendar-en.js"></script>
<style type="text/css"> @import url("calendar-win2k-cold-1.css"); </style>
</head>
<body style="height: 100%; margin: 0px; padding: 0px;">
<table style="height: 100%; width: 100%;" cellspacing="0" cellpadding="0">
<tr style="height: 100%;">
<td style="vertical-align: top; text-align: left;">
<input type="text" id="cal-field-1" />
<button type="submit" id="cal-button-1">...</button>
<script type="text/javascript">
Calendar.setup({
inputField : "cal-field-1",
button : "cal-button-1",
align : "Tr"
});
</script>
</td>
<td style="vertical-align: bottom; text-align: right;">
<input type="text" id="cal-field-2" />
<button type="submit" id="cal-button-2">...</button>
<script type="text/javascript">
Calendar.setup({
inputField : "cal-field-2",
button : "cal-button-2"
});
</script>
</td>
</tr>
</table>
</body>
</html>

View File

@ -0,0 +1,116 @@
<?php
$lang = $_GET['lang'];
if (!$lang) {
$lang = $_REQUEST['lang'];
}
if (!$lang) {
$lang = 'en';
}
setcookie('lang', $lang);
?>
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<title>
Test for calendar.php
</title>
<?php
// put here the correct path to "calendar.php"; don't move the file
// "calendar.php" -- I think it's best if you leave it inside the
// "/jscalendar/" directory. Just put here the correct path to it, such as
// "../jscalendar/calendar.php" or something.
require_once ('calendar.php');
// parameters to constructor:
// 1. the absolute URL path to the calendar files
// 2. the languate used for the calendar (see the lang/ dir)
// 3. the theme file used for the clanedar, without the ".css" extension
// 4. boolean that specifies if the "_stripped" files are to be loaded
// The stripped files are smaller as they have no whitespace and comments
$calendar = new DHTML_Calendar('/jscalendar/', $lang, 'calendar-win2k-2', false);
// call this in the <head> section; it will "echo" code that loads the calendar
// scripts and theme file.
$calendar->load_files();
?>
</head>
<body>
<?php if ($_REQUEST['submitted']) { ?>
<h1>Form submitted</h1>
<?php foreach ($_REQUEST as $key => $val) {
echo htmlspecialchars($key) . ' = ' . htmlspecialchars($val) . '<br />';
} ?>
<?php } else { ?>
<h1>Calendar.php test</h1>
<form action="test.php" method="get">
Select language: <select name="lang" onchange="this.form.submit()">
<?php
$cwd = getcwd();
chdir('lang');
foreach (glob('*.js') as $filename) {
$l = preg_replace('/(^calendar-|.js$)/', '', $filename);
$selected = '';
if ($l == $lang)
$selected = 'selected="selected" ';
$display = $l;
if ($l == 'en')
$display = 'EN';
echo '<option ' . $selected . 'value="' . $l . '">' . $display . '</option>';
}
?>
</select>
<blockquote style="font-size: 90%">
<b>NOTE</b>: as of this release, 0.9.6, only "EN" and "RO", which I
maintain, function correctly. Other language files do not work
because they need to be updated. If you update some language file,
please consider sending it back to me so that I can include it in the
calendar distribution.
</blockquote>
</form>
<form action="test.php" method="get">
<input type="hidden" name="submitted" value="1" />
<table>
<tr>
<td>
Date 1:
</td>
<td>
<?php $calendar->make_input_field(
// calendar options go here; see the documentation and/or calendar-setup.js
array('firstDay' => 1, // show Monday first
'showsTime' => true,
'showOthers' => true,
'ifFormat' => '%Y-%m-%d %I:%M %P',
'timeFormat' => '12'),
// field attributes go here
array('style' => 'width: 15em; color: #840; background-color: #ff8; border: 1px solid #000; text-align: center',
'name' => 'date1',
'value' => strftime('%Y-%m-%d %I:%M %P', strtotime('now')))); ?>
</td>
</tr>
</table>
<hr />
<button>Submit</button>
</form>
<?php } ?>
</body>
</html>