123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244 |
- <html style="background-color: buttonface; color: buttontext;">
-
- <head>
- <meta http-equiv="content-type" content="text/xml; charset=utf-8" />
-
- <title>Simple calendar setups [popup calendar]</title>
-
- <!-- calendar stylesheet -->
- <link rel="stylesheet" type="text/css" media="all" href="calendar-win2k-cold-1.css" title="win2k-cold-1" />
-
- <!-- main calendar program -->
- <script type="text/javascript" src="calendar.js"></script>
-
- <!-- language for the calendar -->
- <script type="text/javascript" src="lang/calendar-en.js"></script>
-
- <!-- the following script defines the Calendar.setup helper function, which makes
- adding a calendar a matter of 1 or 2 lines of code. -->
- <script type="text/javascript" src="calendar-setup.js"></script>
-
- </head>
-
- <body>
-
- <h2>DHTML Calendar — for the impatient</h2>
-
- <blockquote>
- <p>
- This page lists some common setups for the popup calendar. In
- order to see how to do any of them please see the source of this
- page. For each example it's structured like this: there's the
- <form> that contains the input field, and following there is
- the JavaScript snippet that setups that form. An example of
- <em>flat</em> calendar is available in <a
- href="simple-2.html">another page</a>.
- </p>
- <p>
- The code in this page uses a helper function defined in
- "calendar-setup.js". With it you can setup the calendar in
- minutes. If you're not <em>that</em> impatient, ;-) <a
- href="doc/html/reference.html">complete documenation</a> is
- available.
- </p>
- </blockquote>
-
-
-
- <hr />
-
- <p><b>Basic setup: one input per calendar.</b> Clicking in the input field
- activates the calendar. The date format is "%m/%d/%Y %I:%M %p". The
- calendar defaults to "single-click mode".</p>
-
- <p>The example below has been updated to show you how to create "linked"
- fields. Basically, when some field is filled with a date, the other
- is updated so that the difference between them remains one week. The
- property useful here is "onUpdate".</p>
-
- <form action="#" method="get">
- <input type="text" name="date" id="f_date_a" />
- <input type="text" name="date" id="f_calcdate" />
- </form>
-
- <script type="text/javascript">
- function catcalc(cal) {
- var date = cal.date;
- var time = date.getTime()
- // use the _other_ field
- var field = document.getElementById("f_calcdate");
- if (field == cal.params.inputField) {
- field = document.getElementById("f_date_a");
- time -= Date.WEEK; // substract one week
- } else {
- time += Date.WEEK; // add one week
- }
- var date2 = new Date(time);
- field.value = date2.print("%Y-%m-%d %H:%M");
- }
- Calendar.setup({
- inputField : "f_date_a", // id of the input field
- ifFormat : "%Y-%m-%d %H:%M", // format of the input field
- showsTime : true,
- timeFormat : "24",
- onUpdate : catcalc
- });
- Calendar.setup({
- inputField : "f_calcdate",
- ifFormat : "%Y-%m-%d %H:%M",
- showsTime : true,
- timeFormat : "24",
- onUpdate : catcalc
- });
- </script>
-
-
-
- <hr />
-
- <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). 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>
- </form>
-
- <script type="text/javascript">
- Calendar.setup({
- inputField : "f_date_b", // id of the input field
- 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
- step : 1 // show all years in drop-down boxes (instead of every other year as default)
- });
- </script>
-
-
-
- <hr />
-
- <p><b>Input field with a trigger image.</b> Note that the Calendar.setup
- function doesn't care if the trigger is a button, image, or anything else.
- Also in this example we setup a different alignment, just to show how it's
- done. The input field is read-only (that is set from HTML).</p>
-
- <form action="#" method="get">
- <table cellspacing="0" cellpadding="0" style="border-collapse: collapse"><tr>
- <td><input type="text" name="date" id="f_date_c" readonly="1" /></td>
- <td><img src="img.gif" id="f_trigger_c" style="cursor: pointer; border: 1px solid red;" title="Date selector"
- onmouseover="this.style.background='red';" onmouseout="this.style.background=''" /></td>
- </table>
- </form>
-
- <script type="text/javascript">
- Calendar.setup({
- inputField : "f_date_c", // id of the input field
- ifFormat : "%B %e, %Y", // format of the input field
- button : "f_trigger_c", // trigger for the calendar (button ID)
- align : "Tl", // alignment (defaults to "Bl")
- singleClick : true
- });
- </script>
-
-
-
- <hr />
-
- <p><b>Hidden field, display area.</b> The calendar now puts the date into 2
- elements: one is an input field of type "hidden"—so that the user
- can't directly see or modify it— and one is a <span> element in
- which the date is displayed. Note that if the trigger is not specified the
- calendar will use the displayArea (or inputField as in the first example).
- The display area can have it's own format. This is useful if, for instance,
- we need to store one format in the database (thus pass it in the input
- field) but we wanna show a friendlier format to the end-user.</p>
-
- <form action="#" method="get" style="visibility: hidden">
- <input type="hidden" name="date" id="f_date_d" />
- </form>
-
- <p>Your birthday:
- <span style="background-color: #ff8; cursor: default;"
- onmouseover="this.style.backgroundColor='#ff0';"
- onmouseout="this.style.backgroundColor='#ff8';"
- id="show_d"
- >Click to open date selector</span>.</p>
-
- <script type="text/javascript">
- Calendar.setup({
- inputField : "f_date_d", // id of the input field
- ifFormat : "%Y/%d/%m", // format of the input field (even if hidden, this format will be honored)
- displayArea : "show_d", // ID of the span where the date is to be shown
- daFormat : "%A, %B %d, %Y",// format of the displayed date
- align : "Tl", // alignment (defaults to "Bl")
- singleClick : true
- });
- </script>
-
-
-
- <hr />
-
- <p><b>Hidden field, display area, trigger image.</b> Very similar to the
- previous example. The difference is that we also have a trigger image.</p>
-
- <form action="#" method="get" style="visibility: hidden">
- <input type="hidden" name="date" id="f_date_e" />
- </form>
-
- <p>Your birthday: <span id="show_e">-- not entered --</span> <img
- src="img.gif" id="f_trigger_e" style="cursor: pointer; border: 1px solid
- red;" title="Date selector" onmouseover="this.style.background='red';"
- onmouseout="this.style.background=''" />.</p>
-
- <script type="text/javascript">
- Calendar.setup({
- inputField : "f_date_e", // id of the input field
- ifFormat : "%Y/%d/%m", // format of the input field (even if hidden, this format will be honored)
- displayArea : "show_e", // ID of the span where the date is to be shown
- daFormat : "%A, %B %d, %Y",// format of the displayed date
- button : "f_trigger_e", // trigger button (well, IMG in our case)
- align : "Tl", // alignment (defaults to "Bl")
- singleClick : true
- });
- </script>
-
-
-
- <hr />
-
- <p><b>Hidden field, display area.</b> Very much like the previous examples,
- but we now disable some dates (all weekends, that is, Saturdays and
- Sundays).</p>
-
- <form action="#" method="get" style="visibility: hidden">
- <input type="hidden" name="date" id="f_date_f" />
- </form>
-
- <p>Your birthday:
- <span style="background-color: #ff8; cursor: default;"
- onmouseover="this.style.backgroundColor='#ff0';"
- onmouseout="this.style.backgroundColor='#ff8';"
- id="show_f"
- >Click to open date selector</span>.</p>
-
- <script type="text/javascript">
- Calendar.setup({
- inputField : "f_date_f", // id of the input field
- ifFormat : "%Y/%d/%m", // format of the input field (even if hidden, this format will be honored)
- displayArea : "show_f", // ID of the span where the date is to be shown
- daFormat : "%A, %B %d, %Y",// format of the displayed date
- align : "Tl", // alignment (defaults to "Bl")
- dateStatusFunc : function (date) { // disable weekend days (Saturdays == 6 and Subdays == 0)
- return (date.getDay() == 6 || date.getDay() == 0) ? true : false;
- }
- });
- </script>
-
-
- </body>
- </html>
|