[2] | 1 | <html style="background-color: buttonface; color: buttontext;"> |
---|
| 2 | |
---|
| 3 | <head> |
---|
| 4 | <meta http-equiv="content-type" content="text/xml; charset=utf-8" /> |
---|
| 5 | |
---|
| 6 | <title>Simple calendar setup [flat calendar]</title> |
---|
| 7 | |
---|
| 8 | <!-- calendar stylesheet --> |
---|
| 9 | <link rel="stylesheet" type="text/css" media="all" href="calendar-win2k-cold-1.css" title="win2k-cold-1" /> |
---|
| 10 | |
---|
| 11 | <!-- main calendar program --> |
---|
| 12 | <script type="text/javascript" src="calendar.js"></script> |
---|
| 13 | |
---|
| 14 | <!-- language for the calendar --> |
---|
| 15 | <script type="text/javascript" src="lang/calendar-en.js"></script> |
---|
| 16 | |
---|
| 17 | <!-- the following script defines the Calendar.setup helper function, which makes |
---|
| 18 | adding a calendar a matter of 1 or 2 lines of code. --> |
---|
| 19 | <script type="text/javascript" src="calendar-setup.js"></script> |
---|
| 20 | |
---|
| 21 | <style type="text/css"> |
---|
| 22 | .special { background-color: #000; color: #fff; } |
---|
| 23 | </style> |
---|
| 24 | |
---|
| 25 | </head> |
---|
| 26 | |
---|
| 27 | <body> |
---|
| 28 | |
---|
| 29 | <h2>DHTML Calendar — for the impatient</h2> |
---|
| 30 | |
---|
| 31 | <blockquote> |
---|
| 32 | <p> |
---|
| 33 | This page demonstrates how to setup a flat calendar. Examples of |
---|
| 34 | <em>popup</em> calendars are available in <a |
---|
| 35 | href="simple-1.html">another page</a>. |
---|
| 36 | </p> |
---|
| 37 | <p> |
---|
| 38 | The code in this page uses a helper function defined in |
---|
| 39 | "calendar-setup.js". With it you can setup the calendar in |
---|
| 40 | minutes. If you're not <em>that</em> impatient, ;-) <a |
---|
| 41 | href="doc/html/reference.html">complete documenation</a> is |
---|
| 42 | available. |
---|
| 43 | </p> |
---|
| 44 | </blockquote> |
---|
| 45 | |
---|
| 46 | |
---|
| 47 | |
---|
| 48 | <hr /> |
---|
| 49 | |
---|
| 50 | <div style="float: right; margin-left: 1em; margin-bottom: 1em;" |
---|
| 51 | id="calendar-container"></div> |
---|
| 52 | |
---|
| 53 | <script type="text/javascript"> |
---|
| 54 | var SPECIAL_DAYS = { |
---|
| 55 | 0 : [ 13, 24 ], // special days in January |
---|
| 56 | 2 : [ 1, 6, 8, 12, 18 ], // special days in March |
---|
| 57 | 8 : [ 21, 11 ] // special days in September |
---|
| 58 | }; |
---|
| 59 | |
---|
| 60 | function dateIsSpecial(year, month, day) { |
---|
| 61 | var m = SPECIAL_DAYS[month]; |
---|
| 62 | if (!m) return false; |
---|
| 63 | for (var i in m) if (m[i] == day) return true; |
---|
| 64 | return false; |
---|
| 65 | }; |
---|
| 66 | |
---|
| 67 | function dateChanged(calendar) { |
---|
| 68 | // Beware that this function is called even if the end-user only |
---|
| 69 | // changed the month/year. In order to determine if a date was |
---|
| 70 | // clicked you can use the dateClicked property of the calendar: |
---|
| 71 | if (calendar.dateClicked) { |
---|
| 72 | // OK, a date was clicked, redirect to /yyyy/mm/dd/index.php |
---|
| 73 | var y = calendar.date.getFullYear(); |
---|
| 74 | var m = calendar.date.getMonth(); // integer, 0..11 |
---|
| 75 | var d = calendar.date.getDate(); // integer, 1..31 |
---|
| 76 | // redirect... |
---|
| 77 | window.location = "/" + y + "/" + m + "/" + d + "/index.php"; |
---|
| 78 | } |
---|
| 79 | }; |
---|
| 80 | |
---|
| 81 | Calendar.setup( |
---|
| 82 | { |
---|
| 83 | flat : "calendar-container", // ID of the parent element |
---|
| 84 | flatCallback : dateChanged, // our callback function |
---|
| 85 | dateStatusFunc : function(date, y, m, d) { |
---|
| 86 | if (dateIsSpecial(y, m, d)) return "special"; |
---|
| 87 | else return false; // other dates are enabled |
---|
| 88 | // return true if you want to disable other dates |
---|
| 89 | } |
---|
| 90 | } |
---|
| 91 | ); |
---|
| 92 | </script> |
---|
| 93 | |
---|
| 94 | <p>The positioning of the DIV that contains the calendar is entirely your |
---|
| 95 | job. For instance, the "calendar-container" DIV from this page has the |
---|
| 96 | following style: "float: right; margin-left: 1em; margin-bottom: 1em".</p> |
---|
| 97 | |
---|
| 98 | <p>Following there is the code that has been used to create this calendar. |
---|
| 99 | You can find the full description of the <tt>Calendar.setup()</tt> function |
---|
| 100 | in the <a href="doc/html/reference.html">calendar documenation</a>.</p> |
---|
| 101 | |
---|
| 102 | <pre |
---|
| 103 | ><div style="float: right; margin-left: 1em; margin-bottom: 1em;" |
---|
| 104 | id="calendar-container"></div> |
---|
| 105 | |
---|
| 106 | <script type="text/javascript"> |
---|
| 107 | function dateChanged(calendar) { |
---|
| 108 | // Beware that this function is called even if the end-user only |
---|
| 109 | // changed the month/year. In order to determine if a date was |
---|
| 110 | // clicked you can use the dateClicked property of the calendar: |
---|
| 111 | if (calendar.dateClicked) { |
---|
| 112 | // OK, a date was clicked, redirect to /yyyy/mm/dd/index.php |
---|
| 113 | var y = calendar.date.getFullYear(); |
---|
| 114 | var m = calendar.date.getMonth(); // integer, 0..11 |
---|
| 115 | var d = calendar.date.getDate(); // integer, 1..31 |
---|
| 116 | // redirect... |
---|
| 117 | window.location = "/" + y + "/" + m + "/" + d + "/index.php"; |
---|
| 118 | } |
---|
| 119 | }; |
---|
| 120 | |
---|
| 121 | Calendar.setup( |
---|
| 122 | { |
---|
| 123 | flat : "calendar-container", // ID of the parent element |
---|
| 124 | flatCallback : dateChanged // our callback function |
---|
| 125 | } |
---|
| 126 | ); |
---|
| 127 | </script></pre> |
---|
| 128 | |
---|
| 129 | </body> |
---|
| 130 | </html> |
---|