Commit fdfba74cbce61340e0e7a8c4fcf1dae6fd92d72c
1 parent
8c1389e0
incorporate the LGPL js-calendar
git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@4576 c91229c3-7414-0410-bfa2-8a42b809f60b
Showing
76 changed files
with
11862 additions
and
0 deletions
thirdpartyjs/calendar/calendar-setup.js
0 โ 100644
| 1 | +/* Copyright Mihai Bazon, 2002, 2003 | http://dynarch.com/mishoo/ | |
| 2 | + * --------------------------------------------------------------------------- | |
| 3 | + * | |
| 4 | + * The DHTML Calendar | |
| 5 | + * | |
| 6 | + * Details and latest version at: | |
| 7 | + * http://dynarch.com/mishoo/calendar.epl | |
| 8 | + * | |
| 9 | + * This script is distributed under the GNU Lesser General Public License. | |
| 10 | + * Read the entire license text here: http://www.gnu.org/licenses/lgpl.html | |
| 11 | + * | |
| 12 | + * This file defines helper functions for setting up the calendar. They are | |
| 13 | + * intended to help non-programmers get a working calendar on their site | |
| 14 | + * quickly. This script should not be seen as part of the calendar. It just | |
| 15 | + * shows you what one can do with the calendar, while in the same time | |
| 16 | + * providing a quick and simple method for setting it up. If you need | |
| 17 | + * exhaustive customization of the calendar creation process feel free to | |
| 18 | + * modify this code to suit your needs (this is recommended and much better | |
| 19 | + * than modifying calendar.js itself). | |
| 20 | + */ | |
| 21 | + | |
| 22 | +// $Id$ | |
| 23 | + | |
| 24 | +/** | |
| 25 | + * This function "patches" an input field (or other element) to use a calendar | |
| 26 | + * widget for date selection. | |
| 27 | + * | |
| 28 | + * The "params" is a single object that can have the following properties: | |
| 29 | + * | |
| 30 | + * prop. name | description | |
| 31 | + * ------------------------------------------------------------------------------------------------- | |
| 32 | + * inputField | the ID of an input field to store the date | |
| 33 | + * displayArea | the ID of a DIV or other element to show the date | |
| 34 | + * button | ID of a button or other element that will trigger the calendar | |
| 35 | + * eventName | event that will trigger the calendar, without the "on" prefix (default: "click") | |
| 36 | + * ifFormat | date format that will be stored in the input field | |
| 37 | + * daFormat | the date format that will be used to display the date in displayArea | |
| 38 | + * singleClick | (true/false) wether the calendar is in single click mode or not (default: true) | |
| 39 | + * mondayFirst | (true/false) if true Monday is the first day of week, Sunday otherwise (default: true) | |
| 40 | + * align | alignment (default: "Bl"); if you don't know what's this see the calendar documentation | |
| 41 | + * range | array with 2 elements. Default: [1900, 2999] -- the range of years available | |
| 42 | + * weekNumbers | (true/false) if it's true (default) the calendar will display week numbers | |
| 43 | + * flat | null or element ID; if not null the calendar will be a flat calendar having the parent with the given ID | |
| 44 | + * flatCallback | function that receives a JS Date object and returns an URL to point the browser to (for flat calendar) | |
| 45 | + * disableFunc | function that receives a JS Date object and should return true if that date has to be disabled in the calendar | |
| 46 | + * onSelect | function that gets called when a date is selected. You don't _have_ to supply this (the default is generally okay) | |
| 47 | + * onClose | function that gets called when the calendar is closed. [default] | |
| 48 | + * onUpdate | function that gets called after the date is updated in the input field. Receives a reference to the calendar. | |
| 49 | + * date | the date that the calendar will be initially displayed to | |
| 50 | + * showsTime | default: false; if true the calendar will include a time selector | |
| 51 | + * timeFormat | the time format; can be "12" or "24", default is "12" | |
| 52 | + * | |
| 53 | + * None of them is required, they all have default values. However, if you | |
| 54 | + * pass none of "inputField", "displayArea" or "button" you'll get a warning | |
| 55 | + * saying "nothing to setup". | |
| 56 | + */ | |
| 57 | +Calendar.setup = function (params) { | |
| 58 | + function param_default(pname, def) { if (typeof params[pname] == "undefined") { params[pname] = def; } }; | |
| 59 | + | |
| 60 | + param_default("inputField", null); | |
| 61 | + param_default("displayArea", null); | |
| 62 | + param_default("button", null); | |
| 63 | + param_default("eventName", "click"); | |
| 64 | + param_default("ifFormat", "%Y/%m/%d"); | |
| 65 | + param_default("daFormat", "%Y/%m/%d"); | |
| 66 | + param_default("singleClick", true); | |
| 67 | + param_default("disableFunc", null); | |
| 68 | + param_default("dateStatusFunc", params["disableFunc"]); // takes precedence if both are defined | |
| 69 | + param_default("mondayFirst", true); | |
| 70 | + param_default("align", "Bl"); | |
| 71 | + param_default("range", [1900, 2999]); | |
| 72 | + param_default("weekNumbers", true); | |
| 73 | + param_default("flat", null); | |
| 74 | + param_default("flatCallback", null); | |
| 75 | + param_default("onSelect", null); | |
| 76 | + param_default("onClose", null); | |
| 77 | + param_default("onUpdate", null); | |
| 78 | + param_default("date", null); | |
| 79 | + param_default("showsTime", false); | |
| 80 | + param_default("timeFormat", "24"); | |
| 81 | + | |
| 82 | + var tmp = ["inputField", "displayArea", "button"]; | |
| 83 | + for (var i in tmp) { | |
| 84 | + if (typeof params[tmp[i]] == "string") { | |
| 85 | + params[tmp[i]] = document.getElementById(params[tmp[i]]); | |
| 86 | + } | |
| 87 | + } | |
| 88 | + if (!(params.flat || params.inputField || params.displayArea || params.button)) { | |
| 89 | + alert("Calendar.setup:\n Nothing to setup (no fields found). Please check your code"); | |
| 90 | + return false; | |
| 91 | + } | |
| 92 | + | |
| 93 | + function onSelect(cal) { | |
| 94 | + if (cal.params.flat) { | |
| 95 | + if (typeof cal.params.flatCallback == "function") { | |
| 96 | + cal.params.flatCallback(cal); | |
| 97 | + } else { | |
| 98 | + alert("No flatCallback given -- doing nothing."); | |
| 99 | + } | |
| 100 | + return false; | |
| 101 | + } | |
| 102 | + if (cal.params.inputField) { | |
| 103 | + cal.params.inputField.value = cal.date.print(cal.params.ifFormat); | |
| 104 | + } | |
| 105 | + if (cal.params.displayArea) { | |
| 106 | + cal.params.displayArea.innerHTML = cal.date.print(cal.params.daFormat); | |
| 107 | + } | |
| 108 | + if (cal.params.singleClick && cal.dateClicked) { | |
| 109 | + cal.callCloseHandler(); | |
| 110 | + } | |
| 111 | + if (typeof cal.params.onUpdate == "function") { | |
| 112 | + cal.params.onUpdate(cal); | |
| 113 | + } | |
| 114 | + }; | |
| 115 | + | |
| 116 | + if (params.flat != null) { | |
| 117 | + params.flat = document.getElementById(params.flat); | |
| 118 | + if (!params.flat) { | |
| 119 | + alert("Calendar.setup:\n Flat specified but can't find parent."); | |
| 120 | + return false; | |
| 121 | + } | |
| 122 | + var cal = new Calendar(params.mondayFirst, params.date, params.onSelect || onSelect); | |
| 123 | + cal.showsTime = params.showsTime; | |
| 124 | + cal.time24 = (params.timeFormat == "24"); | |
| 125 | + cal.params = params; | |
| 126 | + cal.weekNumbers = params.weekNumbers; | |
| 127 | + cal.setRange(params.range[0], params.range[1]); | |
| 128 | + cal.setDateStatusHandler(params.dateStatusFunc); | |
| 129 | + cal.create(params.flat); | |
| 130 | + cal.show(); | |
| 131 | + return false; | |
| 132 | + } | |
| 133 | + | |
| 134 | + var triggerEl = params.button || params.displayArea || params.inputField; | |
| 135 | + triggerEl["on" + params.eventName] = function() { | |
| 136 | + var dateEl = params.inputField || params.displayArea; | |
| 137 | + var dateFmt = params.inputField ? params.ifFormat : params.daFormat; | |
| 138 | + var mustCreate = false; | |
| 139 | + var cal = window.calendar; | |
| 140 | + if (!window.calendar) { | |
| 141 | + window.calendar = cal = new Calendar(params.mondayFirst, | |
| 142 | + params.date, | |
| 143 | + params.onSelect || onSelect, | |
| 144 | + params.onClose || function(cal) { cal.hide(); }); | |
| 145 | + cal.showsTime = params.showsTime; | |
| 146 | + cal.time24 = (params.timeFormat == "24"); | |
| 147 | + cal.weekNumbers = params.weekNumbers; | |
| 148 | + mustCreate = true; | |
| 149 | + } else { | |
| 150 | + cal.hide(); | |
| 151 | + } | |
| 152 | + cal.setRange(params.range[0], params.range[1]); | |
| 153 | + cal.params = params; | |
| 154 | + cal.setDateStatusHandler(params.dateStatusFunc); | |
| 155 | + cal.setDateFormat(dateFmt); | |
| 156 | + if (mustCreate) | |
| 157 | + cal.create(); | |
| 158 | + cal.parseDate(dateEl.value || dateEl.innerHTML); | |
| 159 | + cal.refresh(); | |
| 160 | + cal.showAtElement(params.displayArea || params.inputField, params.align); | |
| 161 | + return false; | |
| 162 | + }; | |
| 163 | +}; | ... | ... |
thirdpartyjs/calendar/calendar-system.css
0 โ 100644
| 1 | +/* The main calendar widget. DIV containing a table. */ | |
| 2 | + | |
| 3 | +.calendar { | |
| 4 | + position: relative; | |
| 5 | + display: none; | |
| 6 | + border: 1px solid; | |
| 7 | + border-color: #fff #000 #000 #fff; | |
| 8 | + font-size: 11px; | |
| 9 | + cursor: default; | |
| 10 | + background: Window; | |
| 11 | + color: WindowText; | |
| 12 | + font-family: tahoma,verdana,sans-serif; | |
| 13 | +} | |
| 14 | + | |
| 15 | +.calendar table { | |
| 16 | + border: 1px solid; | |
| 17 | + border-color: #fff #000 #000 #fff; | |
| 18 | + font-size: 11px; | |
| 19 | + cursor: default; | |
| 20 | + background: Window; | |
| 21 | + color: WindowText; | |
| 22 | + font-family: tahoma,verdana,sans-serif; | |
| 23 | +} | |
| 24 | + | |
| 25 | +/* Header part -- contains navigation buttons and day names. */ | |
| 26 | + | |
| 27 | +.calendar .button { /* "<<", "<", ">", ">>" buttons have this class */ | |
| 28 | + text-align: center; | |
| 29 | + padding: 1px; | |
| 30 | + border: 1px solid; | |
| 31 | + border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight; | |
| 32 | + background: ButtonFace; | |
| 33 | +} | |
| 34 | + | |
| 35 | +.calendar .nav { | |
| 36 | + background: ButtonFace url(menuarrow.gif) no-repeat 100% 100%; | |
| 37 | +} | |
| 38 | + | |
| 39 | +.calendar thead .title { /* This holds the current "month, year" */ | |
| 40 | + font-weight: bold; | |
| 41 | + padding: 1px; | |
| 42 | + border: 1px solid #000; | |
| 43 | + background: ActiveCaption; | |
| 44 | + color: CaptionText; | |
| 45 | + text-align: center; | |
| 46 | +} | |
| 47 | + | |
| 48 | +.calendar thead .headrow { /* Row <TR> containing navigation buttons */ | |
| 49 | +} | |
| 50 | + | |
| 51 | +.calendar thead .daynames { /* Row <TR> containing the day names */ | |
| 52 | +} | |
| 53 | + | |
| 54 | +.calendar thead .name { /* Cells <TD> containing the day names */ | |
| 55 | + border-bottom: 1px solid ButtonShadow; | |
| 56 | + padding: 2px; | |
| 57 | + text-align: center; | |
| 58 | + background: ButtonFace; | |
| 59 | + color: ButtonText; | |
| 60 | +} | |
| 61 | + | |
| 62 | +.calendar thead .weekend { /* How a weekend day name shows in header */ | |
| 63 | + color: #f00; | |
| 64 | +} | |
| 65 | + | |
| 66 | +.calendar thead .hilite { /* How do the buttons in header appear when hover */ | |
| 67 | + border: 2px solid; | |
| 68 | + padding: 0px; | |
| 69 | + border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight; | |
| 70 | +} | |
| 71 | + | |
| 72 | +.calendar thead .active { /* Active (pressed) buttons in header */ | |
| 73 | + border-width: 1px; | |
| 74 | + padding: 2px 0px 0px 2px; | |
| 75 | + border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow; | |
| 76 | +} | |
| 77 | + | |
| 78 | +/* The body part -- contains all the days in month. */ | |
| 79 | + | |
| 80 | +.calendar tbody .day { /* Cells <TD> containing month days dates */ | |
| 81 | + width: 2em; | |
| 82 | + text-align: right; | |
| 83 | + padding: 2px 4px 2px 2px; | |
| 84 | +} | |
| 85 | + | |
| 86 | +.calendar table .wn { | |
| 87 | + padding: 2px 3px 2px 2px; | |
| 88 | + border-right: 1px solid ButtonShadow; | |
| 89 | + background: ButtonFace; | |
| 90 | + color: ButtonText; | |
| 91 | +} | |
| 92 | + | |
| 93 | +.calendar tbody .rowhilite td { | |
| 94 | + background: Highlight; | |
| 95 | + color: HighlightText; | |
| 96 | +} | |
| 97 | + | |
| 98 | +.calendar tbody td.hilite { /* Hovered cells <TD> */ | |
| 99 | + padding: 1px 3px 1px 1px; | |
| 100 | + border-top: 1px solid #fff; | |
| 101 | + border-right: 1px solid #000; | |
| 102 | + border-bottom: 1px solid #000; | |
| 103 | + border-left: 1px solid #fff; | |
| 104 | +} | |
| 105 | + | |
| 106 | +.calendar tbody td.active { /* Active (pressed) cells <TD> */ | |
| 107 | + padding: 2px 2px 0px 2px; | |
| 108 | + border: 1px solid; | |
| 109 | + border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow; | |
| 110 | +} | |
| 111 | + | |
| 112 | +.calendar tbody td.selected { /* Cell showing selected date */ | |
| 113 | + font-weight: bold; | |
| 114 | + border: 1px solid; | |
| 115 | + border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow; | |
| 116 | + padding: 2px 2px 0px 2px; | |
| 117 | + background: ButtonFace; | |
| 118 | + color: ButtonText; | |
| 119 | +} | |
| 120 | + | |
| 121 | +.calendar tbody td.weekend { /* Cells showing weekend days */ | |
| 122 | + color: #f00; | |
| 123 | +} | |
| 124 | + | |
| 125 | +.calendar tbody td.today { /* Cell showing today date */ | |
| 126 | + font-weight: bold; | |
| 127 | + color: #00f; | |
| 128 | +} | |
| 129 | + | |
| 130 | +.calendar tbody td.disabled { color: GrayText; } | |
| 131 | + | |
| 132 | +.calendar tbody .emptycell { /* Empty cells (the best is to hide them) */ | |
| 133 | + visibility: hidden; | |
| 134 | +} | |
| 135 | + | |
| 136 | +.calendar tbody .emptyrow { /* Empty row (some months need less than 6 rows) */ | |
| 137 | + display: none; | |
| 138 | +} | |
| 139 | + | |
| 140 | +/* The footer part -- status bar and "Close" button */ | |
| 141 | + | |
| 142 | +.calendar tfoot .footrow { /* The <TR> in footer (only one right now) */ | |
| 143 | +} | |
| 144 | + | |
| 145 | +.calendar tfoot .ttip { /* Tooltip (status bar) cell <TD> */ | |
| 146 | + background: ButtonFace; | |
| 147 | + padding: 1px; | |
| 148 | + border: 1px solid; | |
| 149 | + border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow; | |
| 150 | + color: ButtonText; | |
| 151 | + text-align: center; | |
| 152 | +} | |
| 153 | + | |
| 154 | +.calendar tfoot .hilite { /* Hover style for buttons in footer */ | |
| 155 | + border-top: 1px solid #fff; | |
| 156 | + border-right: 1px solid #000; | |
| 157 | + border-bottom: 1px solid #000; | |
| 158 | + border-left: 1px solid #fff; | |
| 159 | + padding: 1px; | |
| 160 | + background: #e4e0d8; | |
| 161 | +} | |
| 162 | + | |
| 163 | +.calendar tfoot .active { /* Active (pressed) style for buttons in footer */ | |
| 164 | + padding: 2px 0px 0px 2px; | |
| 165 | + border-top: 1px solid #000; | |
| 166 | + border-right: 1px solid #fff; | |
| 167 | + border-bottom: 1px solid #fff; | |
| 168 | + border-left: 1px solid #000; | |
| 169 | +} | |
| 170 | + | |
| 171 | +/* Combo boxes (menus that display months/years for direct selection) */ | |
| 172 | + | |
| 173 | +.combo { | |
| 174 | + position: absolute; | |
| 175 | + display: none; | |
| 176 | + width: 4em; | |
| 177 | + top: 0px; | |
| 178 | + left: 0px; | |
| 179 | + cursor: default; | |
| 180 | + border: 1px solid; | |
| 181 | + border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight; | |
| 182 | + background: Menu; | |
| 183 | + color: MenuText; | |
| 184 | + font-size: smaller; | |
| 185 | + padding: 1px; | |
| 186 | +} | |
| 187 | + | |
| 188 | +.combo .label, | |
| 189 | +.combo .label-IEfix { | |
| 190 | + text-align: center; | |
| 191 | + padding: 1px; | |
| 192 | +} | |
| 193 | + | |
| 194 | +.combo .label-IEfix { | |
| 195 | + width: 4em; | |
| 196 | +} | |
| 197 | + | |
| 198 | +.combo .active { | |
| 199 | + padding: 0px; | |
| 200 | + border: 1px solid #000; | |
| 201 | +} | |
| 202 | + | |
| 203 | +.combo .hilite { | |
| 204 | + background: Highlight; | |
| 205 | + color: HighlightText; | |
| 206 | +} | |
| 207 | + | |
| 208 | +.calendar td.time { | |
| 209 | + border-top: 1px solid ButtonShadow; | |
| 210 | + padding: 1px 0px; | |
| 211 | + text-align: center; | |
| 212 | + background-color: ButtonFace; | |
| 213 | +} | |
| 214 | + | |
| 215 | +.calendar td.time .hour, | |
| 216 | +.calendar td.time .minute, | |
| 217 | +.calendar td.time .ampm { | |
| 218 | + padding: 0px 3px 0px 4px; | |
| 219 | + border: 1px solid #889; | |
| 220 | + font-weight: bold; | |
| 221 | + background-color: Menu; | |
| 222 | +} | |
| 223 | + | |
| 224 | +.calendar td.time .ampm { | |
| 225 | + text-align: center; | |
| 226 | +} | |
| 227 | + | |
| 228 | +.calendar td.time .colon { | |
| 229 | + padding: 0px 2px 0px 3px; | |
| 230 | + font-weight: bold; | |
| 231 | +} | |
| 232 | + | |
| 233 | +.calendar td.time span.hilite { | |
| 234 | + border-color: #000; | |
| 235 | + background-color: Highlight; | |
| 236 | + color: HighlightText; | |
| 237 | +} | |
| 238 | + | |
| 239 | +.calendar td.time span.active { | |
| 240 | + border-color: #f00; | |
| 241 | + background-color: #000; | |
| 242 | + color: #0f0; | |
| 243 | +} | ... | ... |
thirdpartyjs/calendar/calendar.js
0 โ 100644
| 1 | +/* Copyright Mihai Bazon, 2002, 2003 | http://dynarch.com/mishoo/ | |
| 2 | + * ------------------------------------------------------------------ | |
| 3 | + * | |
| 4 | + * The DHTML Calendar, version 0.9.5 "Your favorite time, bis" | |
| 5 | + * | |
| 6 | + * Details and latest version at: | |
| 7 | + * http://dynarch.com/mishoo/calendar.epl | |
| 8 | + * | |
| 9 | + * This script is distributed under the GNU Lesser General Public License. | |
| 10 | + * Read the entire license text here: http://www.gnu.org/licenses/lgpl.html | |
| 11 | + */ | |
| 12 | + | |
| 13 | +// $Id$ | |
| 14 | + | |
| 15 | +/** The Calendar object constructor. */ | |
| 16 | +Calendar = function (mondayFirst, dateStr, onSelected, onClose) { | |
| 17 | + // member variables | |
| 18 | + this.activeDiv = null; | |
| 19 | + this.currentDateEl = null; | |
| 20 | + this.getDateStatus = null; | |
| 21 | + this.timeout = null; | |
| 22 | + this.onSelected = onSelected || null; | |
| 23 | + this.onClose = onClose || null; | |
| 24 | + this.dragging = false; | |
| 25 | + this.hidden = false; | |
| 26 | + this.minYear = 1970; | |
| 27 | + this.maxYear = 2050; | |
| 28 | + this.dateFormat = Calendar._TT["DEF_DATE_FORMAT"]; | |
| 29 | + this.ttDateFormat = Calendar._TT["TT_DATE_FORMAT"]; | |
| 30 | + this.isPopup = true; | |
| 31 | + this.weekNumbers = true; | |
| 32 | + this.mondayFirst = mondayFirst; | |
| 33 | + this.dateStr = dateStr; | |
| 34 | + this.ar_days = null; | |
| 35 | + this.showsTime = false; | |
| 36 | + this.time24 = true; | |
| 37 | + // HTML elements | |
| 38 | + this.table = null; | |
| 39 | + this.element = null; | |
| 40 | + this.tbody = null; | |
| 41 | + this.firstdayname = null; | |
| 42 | + // Combo boxes | |
| 43 | + this.monthsCombo = null; | |
| 44 | + this.yearsCombo = null; | |
| 45 | + this.hilitedMonth = null; | |
| 46 | + this.activeMonth = null; | |
| 47 | + this.hilitedYear = null; | |
| 48 | + this.activeYear = null; | |
| 49 | + // Information | |
| 50 | + this.dateClicked = false; | |
| 51 | + | |
| 52 | + // one-time initializations | |
| 53 | + if (typeof Calendar._SDN == "undefined") { | |
| 54 | + // table of short day names | |
| 55 | + if (typeof Calendar._SDN_len == "undefined") | |
| 56 | + Calendar._SDN_len = 3; | |
| 57 | + var ar = new Array(); | |
| 58 | + for (var i = 8; i > 0;) { | |
| 59 | + ar[--i] = Calendar._DN[i].substr(0, Calendar._SDN_len); | |
| 60 | + } | |
| 61 | + Calendar._SDN = ar; | |
| 62 | + // table of short month names | |
| 63 | + if (typeof Calendar._SMN_len == "undefined") | |
| 64 | + Calendar._SMN_len = 3; | |
| 65 | + ar = new Array(); | |
| 66 | + for (var i = 12; i > 0;) { | |
| 67 | + ar[--i] = Calendar._MN[i].substr(0, Calendar._SMN_len); | |
| 68 | + } | |
| 69 | + Calendar._SMN = ar; | |
| 70 | + } | |
| 71 | +}; | |
| 72 | + | |
| 73 | +// ** constants | |
| 74 | + | |
| 75 | +/// "static", needed for event handlers. | |
| 76 | +Calendar._C = null; | |
| 77 | + | |
| 78 | +/// detect a special case of "web browser" | |
| 79 | +Calendar.is_ie = ( /msie/i.test(navigator.userAgent) && | |
| 80 | + !/opera/i.test(navigator.userAgent) ); | |
| 81 | + | |
| 82 | +/// detect Opera browser | |
| 83 | +Calendar.is_opera = /opera/i.test(navigator.userAgent); | |
| 84 | + | |
| 85 | +/// detect KHTML-based browsers | |
| 86 | +Calendar.is_khtml = /Konqueror|Safari|KHTML/i.test(navigator.userAgent); | |
| 87 | + | |
| 88 | +// BEGIN: UTILITY FUNCTIONS; beware that these might be moved into a separate | |
| 89 | +// library, at some point. | |
| 90 | + | |
| 91 | +Calendar.getAbsolutePos = function(el) { | |
| 92 | + var SL = 0, ST = 0; | |
| 93 | + var is_div = /^div$/i.test(el.tagName); | |
| 94 | + if (is_div && el.scrollLeft) | |
| 95 | + SL = el.scrollLeft; | |
| 96 | + if (is_div && el.scrollTop) | |
| 97 | + ST = el.scrollTop; | |
| 98 | + var r = { x: el.offsetLeft - SL, y: el.offsetTop - ST }; | |
| 99 | + if (el.offsetParent) { | |
| 100 | + var tmp = Calendar.getAbsolutePos(el.offsetParent); | |
| 101 | + r.x += tmp.x; | |
| 102 | + r.y += tmp.y; | |
| 103 | + } | |
| 104 | + return r; | |
| 105 | +}; | |
| 106 | + | |
| 107 | +Calendar.isRelated = function (el, evt) { | |
| 108 | + var related = evt.relatedTarget; | |
| 109 | + if (!related) { | |
| 110 | + var type = evt.type; | |
| 111 | + if (type == "mouseover") { | |
| 112 | + related = evt.fromElement; | |
| 113 | + } else if (type == "mouseout") { | |
| 114 | + related = evt.toElement; | |
| 115 | + } | |
| 116 | + } | |
| 117 | + while (related) { | |
| 118 | + if (related == el) { | |
| 119 | + return true; | |
| 120 | + } | |
| 121 | + related = related.parentNode; | |
| 122 | + } | |
| 123 | + return false; | |
| 124 | +}; | |
| 125 | + | |
| 126 | +Calendar.removeClass = function(el, className) { | |
| 127 | + if (!(el && el.className)) { | |
| 128 | + return; | |
| 129 | + } | |
| 130 | + var cls = el.className.split(" "); | |
| 131 | + var ar = new Array(); | |
| 132 | + for (var i = cls.length; i > 0;) { | |
| 133 | + if (cls[--i] != className) { | |
| 134 | + ar[ar.length] = cls[i]; | |
| 135 | + } | |
| 136 | + } | |
| 137 | + el.className = ar.join(" "); | |
| 138 | +}; | |
| 139 | + | |
| 140 | +Calendar.addClass = function(el, className) { | |
| 141 | + Calendar.removeClass(el, className); | |
| 142 | + el.className += " " + className; | |
| 143 | +}; | |
| 144 | + | |
| 145 | +Calendar.getElement = function(ev) { | |
| 146 | + if (Calendar.is_ie) { | |
| 147 | + return window.event.srcElement; | |
| 148 | + } else { | |
| 149 | + return ev.currentTarget; | |
| 150 | + } | |
| 151 | +}; | |
| 152 | + | |
| 153 | +Calendar.getTargetElement = function(ev) { | |
| 154 | + if (Calendar.is_ie) { | |
| 155 | + return window.event.srcElement; | |
| 156 | + } else { | |
| 157 | + return ev.target; | |
| 158 | + } | |
| 159 | +}; | |
| 160 | + | |
| 161 | +Calendar.stopEvent = function(ev) { | |
| 162 | + ev || (ev = window.event); | |
| 163 | + if (Calendar.is_ie) { | |
| 164 | + ev.cancelBubble = true; | |
| 165 | + ev.returnValue = false; | |
| 166 | + } else { | |
| 167 | + ev.preventDefault(); | |
| 168 | + ev.stopPropagation(); | |
| 169 | + } | |
| 170 | + return false; | |
| 171 | +}; | |
| 172 | + | |
| 173 | +Calendar.addEvent = function(el, evname, func) { | |
| 174 | + if (el.attachEvent) { // IE | |
| 175 | + el.attachEvent("on" + evname, func); | |
| 176 | + } else if (el.addEventListener) { // Gecko / W3C | |
| 177 | + el.addEventListener(evname, func, true); | |
| 178 | + } else { | |
| 179 | + el["on" + evname] = func; | |
| 180 | + } | |
| 181 | +}; | |
| 182 | + | |
| 183 | +Calendar.removeEvent = function(el, evname, func) { | |
| 184 | + if (el.detachEvent) { // IE | |
| 185 | + el.detachEvent("on" + evname, func); | |
| 186 | + } else if (el.removeEventListener) { // Gecko / W3C | |
| 187 | + el.removeEventListener(evname, func, true); | |
| 188 | + } else { | |
| 189 | + el["on" + evname] = null; | |
| 190 | + } | |
| 191 | +}; | |
| 192 | + | |
| 193 | +Calendar.createElement = function(type, parent) { | |
| 194 | + var el = null; | |
| 195 | + if (document.createElementNS) { | |
| 196 | + // use the XHTML namespace; IE won't normally get here unless | |
| 197 | + // _they_ "fix" the DOM2 implementation. | |
| 198 | + el = document.createElementNS("http://www.w3.org/1999/xhtml", type); | |
| 199 | + } else { | |
| 200 | + el = document.createElement(type); | |
| 201 | + } | |
| 202 | + if (typeof parent != "undefined") { | |
| 203 | + parent.appendChild(el); | |
| 204 | + } | |
| 205 | + return el; | |
| 206 | +}; | |
| 207 | + | |
| 208 | +// END: UTILITY FUNCTIONS | |
| 209 | + | |
| 210 | +// BEGIN: CALENDAR STATIC FUNCTIONS | |
| 211 | + | |
| 212 | +/** Internal -- adds a set of events to make some element behave like a button. */ | |
| 213 | +Calendar._add_evs = function(el) { | |
| 214 | + with (Calendar) { | |
| 215 | + addEvent(el, "mouseover", dayMouseOver); | |
| 216 | + addEvent(el, "mousedown", dayMouseDown); | |
| 217 | + addEvent(el, "mouseout", dayMouseOut); | |
| 218 | + if (is_ie) { | |
| 219 | + addEvent(el, "dblclick", dayMouseDblClick); | |
| 220 | + el.setAttribute("unselectable", true); | |
| 221 | + } | |
| 222 | + } | |
| 223 | +}; | |
| 224 | + | |
| 225 | +Calendar.findMonth = function(el) { | |
| 226 | + if (typeof el.month != "undefined") { | |
| 227 | + return el; | |
| 228 | + } else if (typeof el.parentNode.month != "undefined") { | |
| 229 | + return el.parentNode; | |
| 230 | + } | |
| 231 | + return null; | |
| 232 | +}; | |
| 233 | + | |
| 234 | +Calendar.findYear = function(el) { | |
| 235 | + if (typeof el.year != "undefined") { | |
| 236 | + return el; | |
| 237 | + } else if (typeof el.parentNode.year != "undefined") { | |
| 238 | + return el.parentNode; | |
| 239 | + } | |
| 240 | + return null; | |
| 241 | +}; | |
| 242 | + | |
| 243 | +Calendar.showMonthsCombo = function () { | |
| 244 | + var cal = Calendar._C; | |
| 245 | + if (!cal) { | |
| 246 | + return false; | |
| 247 | + } | |
| 248 | + var cal = cal; | |
| 249 | + var cd = cal.activeDiv; | |
| 250 | + var mc = cal.monthsCombo; | |
| 251 | + if (cal.hilitedMonth) { | |
| 252 | + Calendar.removeClass(cal.hilitedMonth, "hilite"); | |
| 253 | + } | |
| 254 | + if (cal.activeMonth) { | |
| 255 | + Calendar.removeClass(cal.activeMonth, "active"); | |
| 256 | + } | |
| 257 | + var mon = cal.monthsCombo.getElementsByTagName("div")[cal.date.getMonth()]; | |
| 258 | + Calendar.addClass(mon, "active"); | |
| 259 | + cal.activeMonth = mon; | |
| 260 | + var s = mc.style; | |
| 261 | + s.display = "block"; | |
| 262 | + if (cd.navtype < 0) | |
| 263 | + s.left = cd.offsetLeft + "px"; | |
| 264 | + else | |
| 265 | + s.left = (cd.offsetLeft + cd.offsetWidth - mc.offsetWidth) + "px"; | |
| 266 | + s.top = (cd.offsetTop + cd.offsetHeight) + "px"; | |
| 267 | +}; | |
| 268 | + | |
| 269 | +Calendar.showYearsCombo = function (fwd) { | |
| 270 | + var cal = Calendar._C; | |
| 271 | + if (!cal) { | |
| 272 | + return false; | |
| 273 | + } | |
| 274 | + var cal = cal; | |
| 275 | + var cd = cal.activeDiv; | |
| 276 | + var yc = cal.yearsCombo; | |
| 277 | + if (cal.hilitedYear) { | |
| 278 | + Calendar.removeClass(cal.hilitedYear, "hilite"); | |
| 279 | + } | |
| 280 | + if (cal.activeYear) { | |
| 281 | + Calendar.removeClass(cal.activeYear, "active"); | |
| 282 | + } | |
| 283 | + cal.activeYear = null; | |
| 284 | + var Y = cal.date.getFullYear() + (fwd ? 1 : -1); | |
| 285 | + var yr = yc.firstChild; | |
| 286 | + var show = false; | |
| 287 | + for (var i = 12; i > 0; --i) { | |
| 288 | + if (Y >= cal.minYear && Y <= cal.maxYear) { | |
| 289 | + yr.firstChild.data = Y; | |
| 290 | + yr.year = Y; | |
| 291 | + yr.style.display = "block"; | |
| 292 | + show = true; | |
| 293 | + } else { | |
| 294 | + yr.style.display = "none"; | |
| 295 | + } | |
| 296 | + yr = yr.nextSibling; | |
| 297 | + Y += fwd ? 2 : -2; | |
| 298 | + } | |
| 299 | + if (show) { | |
| 300 | + var s = yc.style; | |
| 301 | + s.display = "block"; | |
| 302 | + if (cd.navtype < 0) | |
| 303 | + s.left = cd.offsetLeft + "px"; | |
| 304 | + else | |
| 305 | + s.left = (cd.offsetLeft + cd.offsetWidth - yc.offsetWidth) + "px"; | |
| 306 | + s.top = (cd.offsetTop + cd.offsetHeight) + "px"; | |
| 307 | + } | |
| 308 | +}; | |
| 309 | + | |
| 310 | +// event handlers | |
| 311 | + | |
| 312 | +Calendar.tableMouseUp = function(ev) { | |
| 313 | + var cal = Calendar._C; | |
| 314 | + if (!cal) { | |
| 315 | + return false; | |
| 316 | + } | |
| 317 | + if (cal.timeout) { | |
| 318 | + clearTimeout(cal.timeout); | |
| 319 | + } | |
| 320 | + var el = cal.activeDiv; | |
| 321 | + if (!el) { | |
| 322 | + return false; | |
| 323 | + } | |
| 324 | + var target = Calendar.getTargetElement(ev); | |
| 325 | + ev || (ev = window.event); | |
| 326 | + Calendar.removeClass(el, "active"); | |
| 327 | + if (target == el || target.parentNode == el) { | |
| 328 | + Calendar.cellClick(el, ev); | |
| 329 | + } | |
| 330 | + var mon = Calendar.findMonth(target); | |
| 331 | + var date = null; | |
| 332 | + if (mon) { | |
| 333 | + date = new Date(cal.date); | |
| 334 | + if (mon.month != date.getMonth()) { | |
| 335 | + date.setMonth(mon.month); | |
| 336 | + cal.setDate(date); | |
| 337 | + cal.dateClicked = false; | |
| 338 | + cal.callHandler(); | |
| 339 | + } | |
| 340 | + } else { | |
| 341 | + var year = Calendar.findYear(target); | |
| 342 | + if (year) { | |
| 343 | + date = new Date(cal.date); | |
| 344 | + if (year.year != date.getFullYear()) { | |
| 345 | + date.setFullYear(year.year); | |
| 346 | + cal.setDate(date); | |
| 347 | + cal.dateClicked = false; | |
| 348 | + cal.callHandler(); | |
| 349 | + } | |
| 350 | + } | |
| 351 | + } | |
| 352 | + with (Calendar) { | |
| 353 | + removeEvent(document, "mouseup", tableMouseUp); | |
| 354 | + removeEvent(document, "mouseover", tableMouseOver); | |
| 355 | + removeEvent(document, "mousemove", tableMouseOver); | |
| 356 | + cal._hideCombos(); | |
| 357 | + _C = null; | |
| 358 | + return stopEvent(ev); | |
| 359 | + } | |
| 360 | +}; | |
| 361 | + | |
| 362 | +Calendar.tableMouseOver = function (ev) { | |
| 363 | + var cal = Calendar._C; | |
| 364 | + if (!cal) { | |
| 365 | + return; | |
| 366 | + } | |
| 367 | + var el = cal.activeDiv; | |
| 368 | + var target = Calendar.getTargetElement(ev); | |
| 369 | + if (target == el || target.parentNode == el) { | |
| 370 | + Calendar.addClass(el, "hilite active"); | |
| 371 | + Calendar.addClass(el.parentNode, "rowhilite"); | |
| 372 | + } else { | |
| 373 | + if (typeof el.navtype == "undefined" || (el.navtype != 50 && (el.navtype == 0 || Math.abs(el.navtype) > 2))) | |
| 374 | + Calendar.removeClass(el, "active"); | |
| 375 | + Calendar.removeClass(el, "hilite"); | |
| 376 | + Calendar.removeClass(el.parentNode, "rowhilite"); | |
| 377 | + } | |
| 378 | + ev || (ev = window.event); | |
| 379 | + if (el.navtype == 50 && target != el) { | |
| 380 | + var pos = Calendar.getAbsolutePos(el); | |
| 381 | + var w = el.offsetWidth; | |
| 382 | + var x = ev.clientX; | |
| 383 | + var dx; | |
| 384 | + var decrease = true; | |
| 385 | + if (x > pos.x + w) { | |
| 386 | + dx = x - pos.x - w; | |
| 387 | + decrease = false; | |
| 388 | + } else | |
| 389 | + dx = pos.x - x; | |
| 390 | + | |
| 391 | + if (dx < 0) dx = 0; | |
| 392 | + var range = el._range; | |
| 393 | + var current = el._current; | |
| 394 | + var count = Math.floor(dx / 10) % range.length; | |
| 395 | + for (var i = range.length; --i >= 0;) | |
| 396 | + if (range[i] == current) | |
| 397 | + break; | |
| 398 | + while (count-- > 0) | |
| 399 | + if (decrease) { | |
| 400 | + if (!(--i in range)) | |
| 401 | + i = range.length - 1; | |
| 402 | + } else if (!(++i in range)) | |
| 403 | + i = 0; | |
| 404 | + var newval = range[i]; | |
| 405 | + el.firstChild.data = newval; | |
| 406 | + | |
| 407 | + cal.onUpdateTime(); | |
| 408 | + } | |
| 409 | + var mon = Calendar.findMonth(target); | |
| 410 | + if (mon) { | |
| 411 | + if (mon.month != cal.date.getMonth()) { | |
| 412 | + if (cal.hilitedMonth) { | |
| 413 | + Calendar.removeClass(cal.hilitedMonth, "hilite"); | |
| 414 | + } | |
| 415 | + Calendar.addClass(mon, "hilite"); | |
| 416 | + cal.hilitedMonth = mon; | |
| 417 | + } else if (cal.hilitedMonth) { | |
| 418 | + Calendar.removeClass(cal.hilitedMonth, "hilite"); | |
| 419 | + } | |
| 420 | + } else { | |
| 421 | + if (cal.hilitedMonth) { | |
| 422 | + Calendar.removeClass(cal.hilitedMonth, "hilite"); | |
| 423 | + } | |
| 424 | + var year = Calendar.findYear(target); | |
| 425 | + if (year) { | |
| 426 | + if (year.year != cal.date.getFullYear()) { | |
| 427 | + if (cal.hilitedYear) { | |
| 428 | + Calendar.removeClass(cal.hilitedYear, "hilite"); | |
| 429 | + } | |
| 430 | + Calendar.addClass(year, "hilite"); | |
| 431 | + cal.hilitedYear = year; | |
| 432 | + } else if (cal.hilitedYear) { | |
| 433 | + Calendar.removeClass(cal.hilitedYear, "hilite"); | |
| 434 | + } | |
| 435 | + } else if (cal.hilitedYear) { | |
| 436 | + Calendar.removeClass(cal.hilitedYear, "hilite"); | |
| 437 | + } | |
| 438 | + } | |
| 439 | + return Calendar.stopEvent(ev); | |
| 440 | +}; | |
| 441 | + | |
| 442 | +Calendar.tableMouseDown = function (ev) { | |
| 443 | + if (Calendar.getTargetElement(ev) == Calendar.getElement(ev)) { | |
| 444 | + return Calendar.stopEvent(ev); | |
| 445 | + } | |
| 446 | +}; | |
| 447 | + | |
| 448 | +Calendar.calDragIt = function (ev) { | |
| 449 | + var cal = Calendar._C; | |
| 450 | + if (!(cal && cal.dragging)) { | |
| 451 | + return false; | |
| 452 | + } | |
| 453 | + var posX; | |
| 454 | + var posY; | |
| 455 | + if (Calendar.is_ie) { | |
| 456 | + posY = window.event.clientY + document.body.scrollTop; | |
| 457 | + posX = window.event.clientX + document.body.scrollLeft; | |
| 458 | + } else { | |
| 459 | + posX = ev.pageX; | |
| 460 | + posY = ev.pageY; | |
| 461 | + } | |
| 462 | + cal.hideShowCovered(); | |
| 463 | + var st = cal.element.style; | |
| 464 | + st.left = (posX - cal.xOffs) + "px"; | |
| 465 | + st.top = (posY - cal.yOffs) + "px"; | |
| 466 | + return Calendar.stopEvent(ev); | |
| 467 | +}; | |
| 468 | + | |
| 469 | +Calendar.calDragEnd = function (ev) { | |
| 470 | + var cal = Calendar._C; | |
| 471 | + if (!cal) { | |
| 472 | + return false; | |
| 473 | + } | |
| 474 | + cal.dragging = false; | |
| 475 | + with (Calendar) { | |
| 476 | + removeEvent(document, "mousemove", calDragIt); | |
| 477 | + removeEvent(document, "mouseover", stopEvent); | |
| 478 | + removeEvent(document, "mouseup", calDragEnd); | |
| 479 | + tableMouseUp(ev); | |
| 480 | + } | |
| 481 | + cal.hideShowCovered(); | |
| 482 | +}; | |
| 483 | + | |
| 484 | +Calendar.dayMouseDown = function(ev) { | |
| 485 | + var el = Calendar.getElement(ev); | |
| 486 | + if (el.disabled) { | |
| 487 | + return false; | |
| 488 | + } | |
| 489 | + var cal = el.calendar; | |
| 490 | + cal.activeDiv = el; | |
| 491 | + Calendar._C = cal; | |
| 492 | + if (el.navtype != 300) with (Calendar) { | |
| 493 | + if (el.navtype == 50) | |
| 494 | + el._current = el.firstChild.data; | |
| 495 | + addClass(el, "hilite active"); | |
| 496 | + addEvent(document, "mouseover", tableMouseOver); | |
| 497 | + addEvent(document, "mousemove", tableMouseOver); | |
| 498 | + addEvent(document, "mouseup", tableMouseUp); | |
| 499 | + } else if (cal.isPopup) { | |
| 500 | + cal._dragStart(ev); | |
| 501 | + } | |
| 502 | + if (el.navtype == -1 || el.navtype == 1) { | |
| 503 | + if (cal.timeout) clearTimeout(cal.timeout); | |
| 504 | + cal.timeout = setTimeout("Calendar.showMonthsCombo()", 250); | |
| 505 | + } else if (el.navtype == -2 || el.navtype == 2) { | |
| 506 | + if (cal.timeout) clearTimeout(cal.timeout); | |
| 507 | + cal.timeout = setTimeout((el.navtype > 0) ? "Calendar.showYearsCombo(true)" : "Calendar.showYearsCombo(false)", 250); | |
| 508 | + } else { | |
| 509 | + cal.timeout = null; | |
| 510 | + } | |
| 511 | + return Calendar.stopEvent(ev); | |
| 512 | +}; | |
| 513 | + | |
| 514 | +Calendar.dayMouseDblClick = function(ev) { | |
| 515 | + Calendar.cellClick(Calendar.getElement(ev), ev || window.event); | |
| 516 | + if (Calendar.is_ie) { | |
| 517 | + document.selection.empty(); | |
| 518 | + } | |
| 519 | +}; | |
| 520 | + | |
| 521 | +Calendar.dayMouseOver = function(ev) { | |
| 522 | + var el = Calendar.getElement(ev); | |
| 523 | + if (Calendar.isRelated(el, ev) || Calendar._C || el.disabled) { | |
| 524 | + return false; | |
| 525 | + } | |
| 526 | + if (el.ttip) { | |
| 527 | + if (el.ttip.substr(0, 1) == "_") { | |
| 528 | + var date = null; | |
| 529 | + with (el.calendar.date) { | |
| 530 | + date = new Date(getFullYear(), getMonth(), el.caldate); | |
| 531 | + } | |
| 532 | + el.ttip = date.print(el.calendar.ttDateFormat) + el.ttip.substr(1); | |
| 533 | + } | |
| 534 | + el.calendar.tooltips.firstChild.data = el.ttip; | |
| 535 | + } | |
| 536 | + if (el.navtype != 300) { | |
| 537 | + Calendar.addClass(el, "hilite"); | |
| 538 | + if (el.caldate) { | |
| 539 | + Calendar.addClass(el.parentNode, "rowhilite"); | |
| 540 | + } | |
| 541 | + } | |
| 542 | + return Calendar.stopEvent(ev); | |
| 543 | +}; | |
| 544 | + | |
| 545 | +Calendar.dayMouseOut = function(ev) { | |
| 546 | + with (Calendar) { | |
| 547 | + var el = getElement(ev); | |
| 548 | + if (isRelated(el, ev) || _C || el.disabled) { | |
| 549 | + return false; | |
| 550 | + } | |
| 551 | + removeClass(el, "hilite"); | |
| 552 | + if (el.caldate) { | |
| 553 | + removeClass(el.parentNode, "rowhilite"); | |
| 554 | + } | |
| 555 | + el.calendar.tooltips.firstChild.data = _TT["SEL_DATE"]; | |
| 556 | + return stopEvent(ev); | |
| 557 | + } | |
| 558 | +}; | |
| 559 | + | |
| 560 | +/** | |
| 561 | + * A generic "click" handler :) handles all types of buttons defined in this | |
| 562 | + * calendar. | |
| 563 | + */ | |
| 564 | +Calendar.cellClick = function(el, ev) { | |
| 565 | + var cal = el.calendar; | |
| 566 | + var closing = false; | |
| 567 | + var newdate = false; | |
| 568 | + var date = null; | |
| 569 | + if (typeof el.navtype == "undefined") { | |
| 570 | + Calendar.removeClass(cal.currentDateEl, "selected"); | |
| 571 | + Calendar.addClass(el, "selected"); | |
| 572 | + closing = (cal.currentDateEl == el); | |
| 573 | + if (!closing) { | |
| 574 | + cal.currentDateEl = el; | |
| 575 | + } | |
| 576 | + cal.date.setDate(el.caldate); | |
| 577 | + date = cal.date; | |
| 578 | + newdate = true; | |
| 579 | + // a date was clicked | |
| 580 | + cal.dateClicked = true; | |
| 581 | + } else { | |
| 582 | + if (el.navtype == 200) { | |
| 583 | + Calendar.removeClass(el, "hilite"); | |
| 584 | + cal.callCloseHandler(); | |
| 585 | + return; | |
| 586 | + } | |
| 587 | + date = (el.navtype == 0) ? new Date() : new Date(cal.date); | |
| 588 | + // unless "today" was clicked, we assume no date was clicked so | |
| 589 | + // the selected handler will know not to close the calenar when | |
| 590 | + // in single-click mode. | |
| 591 | + // cal.dateClicked = (el.navtype == 0); | |
| 592 | + cal.dateClicked = false; | |
| 593 | + var year = date.getFullYear(); | |
| 594 | + var mon = date.getMonth(); | |
| 595 | + function setMonth(m) { | |
| 596 | + var day = date.getDate(); | |
| 597 | + var max = date.getMonthDays(m); | |
| 598 | + if (day > max) { | |
| 599 | + date.setDate(max); | |
| 600 | + } | |
| 601 | + date.setMonth(m); | |
| 602 | + }; | |
| 603 | + switch (el.navtype) { | |
| 604 | + case 400: | |
| 605 | + Calendar.removeClass(el, "hilite"); | |
| 606 | + var text = Calendar._TT["ABOUT"]; | |
| 607 | + if (typeof text != "undefined") { | |
| 608 | + text += cal.showsTime ? Calendar._TT["ABOUT_TIME"] : ""; | |
| 609 | + } else { | |
| 610 | + // FIXME: this should be removed as soon as lang files get updated! | |
| 611 | + text = "Help and about box text is not translated into this language.\n" + | |
| 612 | + "If you know this language and you feel generous please update\n" + | |
| 613 | + "the corresponding file in \"lang\" subdir to match calendar-en.js\n" + | |
| 614 | + "and send it back to <mishoo@infoiasi.ro> to get it into the distribution ;-)\n\n" + | |
| 615 | + "Thank you!\n" + | |
| 616 | + "http://dynarch.com/mishoo/calendar.epl\n"; | |
| 617 | + } | |
| 618 | + alert(text); | |
| 619 | + return; | |
| 620 | + case -2: | |
| 621 | + if (year > cal.minYear) { | |
| 622 | + date.setFullYear(year - 1); | |
| 623 | + } | |
| 624 | + break; | |
| 625 | + case -1: | |
| 626 | + if (mon > 0) { | |
| 627 | + setMonth(mon - 1); | |
| 628 | + } else if (year-- > cal.minYear) { | |
| 629 | + date.setFullYear(year); | |
| 630 | + setMonth(11); | |
| 631 | + } | |
| 632 | + break; | |
| 633 | + case 1: | |
| 634 | + if (mon < 11) { | |
| 635 | + setMonth(mon + 1); | |
| 636 | + } else if (year < cal.maxYear) { | |
| 637 | + date.setFullYear(year + 1); | |
| 638 | + setMonth(0); | |
| 639 | + } | |
| 640 | + break; | |
| 641 | + case 2: | |
| 642 | + if (year < cal.maxYear) { | |
| 643 | + date.setFullYear(year + 1); | |
| 644 | + } | |
| 645 | + break; | |
| 646 | + case 100: | |
| 647 | + cal.setMondayFirst(!cal.mondayFirst); | |
| 648 | + return; | |
| 649 | + case 50: | |
| 650 | + var range = el._range; | |
| 651 | + var current = el.firstChild.data; | |
| 652 | + for (var i = range.length; --i >= 0;) | |
| 653 | + if (range[i] == current) | |
| 654 | + break; | |
| 655 | + if (ev && ev.shiftKey) { | |
| 656 | + if (!(--i in range)) | |
| 657 | + i = range.length - 1; | |
| 658 | + } else if (!(++i in range)) | |
| 659 | + i = 0; | |
| 660 | + var newval = range[i]; | |
| 661 | + el.firstChild.data = newval; | |
| 662 | + cal.onUpdateTime(); | |
| 663 | + return; | |
| 664 | + case 0: | |
| 665 | + // TODAY will bring us here | |
| 666 | + if ((typeof cal.getDateStatus == "function") && cal.getDateStatus(date, date.getFullYear(), date.getMonth(), date.getDate())) { | |
| 667 | + // remember, "date" was previously set to new | |
| 668 | + // Date() if TODAY was clicked; thus, it | |
| 669 | + // contains today date. | |
| 670 | + return false; | |
| 671 | + } | |
| 672 | + break; | |
| 673 | + } | |
| 674 | + if (!date.equalsTo(cal.date)) { | |
| 675 | + cal.setDate(date); | |
| 676 | + newdate = true; | |
| 677 | + } | |
| 678 | + } | |
| 679 | + if (newdate) { | |
| 680 | + cal.callHandler(); | |
| 681 | + } | |
| 682 | + if (closing) { | |
| 683 | + Calendar.removeClass(el, "hilite"); | |
| 684 | + cal.callCloseHandler(); | |
| 685 | + } | |
| 686 | +}; | |
| 687 | + | |
| 688 | +// END: CALENDAR STATIC FUNCTIONS | |
| 689 | + | |
| 690 | +// BEGIN: CALENDAR OBJECT FUNCTIONS | |
| 691 | + | |
| 692 | +/** | |
| 693 | + * This function creates the calendar inside the given parent. If _par is | |
| 694 | + * null than it creates a popup calendar inside the BODY element. If _par is | |
| 695 | + * an element, be it BODY, then it creates a non-popup calendar (still | |
| 696 | + * hidden). Some properties need to be set before calling this function. | |
| 697 | + */ | |
| 698 | +Calendar.prototype.create = function (_par) { | |
| 699 | + var parent = null; | |
| 700 | + if (! _par) { | |
| 701 | + // default parent is the document body, in which case we create | |
| 702 | + // a popup calendar. | |
| 703 | + parent = document.getElementsByTagName("body")[0]; | |
| 704 | + this.isPopup = true; | |
| 705 | + } else { | |
| 706 | + parent = _par; | |
| 707 | + this.isPopup = false; | |
| 708 | + } | |
| 709 | + this.date = this.dateStr ? new Date(this.dateStr) : new Date(); | |
| 710 | + | |
| 711 | + var table = Calendar.createElement("table"); | |
| 712 | + this.table = table; | |
| 713 | + table.cellSpacing = 0; | |
| 714 | + table.cellPadding = 0; | |
| 715 | + table.calendar = this; | |
| 716 | + Calendar.addEvent(table, "mousedown", Calendar.tableMouseDown); | |
| 717 | + | |
| 718 | + var div = Calendar.createElement("div"); | |
| 719 | + this.element = div; | |
| 720 | + div.className = "calendar"; | |
| 721 | + if (this.isPopup) { | |
| 722 | + div.style.position = "absolute"; | |
| 723 | + div.style.display = "none"; | |
| 724 | + } | |
| 725 | + div.appendChild(table); | |
| 726 | + | |
| 727 | + var thead = Calendar.createElement("thead", table); | |
| 728 | + var cell = null; | |
| 729 | + var row = null; | |
| 730 | + | |
| 731 | + var cal = this; | |
| 732 | + var hh = function (text, cs, navtype) { | |
| 733 | + cell = Calendar.createElement("td", row); | |
| 734 | + cell.colSpan = cs; | |
| 735 | + cell.className = "button"; | |
| 736 | + if (navtype != 0 && Math.abs(navtype) <= 2) | |
| 737 | + cell.className += " nav"; | |
| 738 | + Calendar._add_evs(cell); | |
| 739 | + cell.calendar = cal; | |
| 740 | + cell.navtype = navtype; | |
| 741 | + if (text.substr(0, 1) != "&") { | |
| 742 | + cell.appendChild(document.createTextNode(text)); | |
| 743 | + } | |
| 744 | + else { | |
| 745 | + // FIXME: dirty hack for entities | |
| 746 | + cell.innerHTML = text; | |
| 747 | + } | |
| 748 | + return cell; | |
| 749 | + }; | |
| 750 | + | |
| 751 | + row = Calendar.createElement("tr", thead); | |
| 752 | + var title_length = 6; | |
| 753 | + (this.isPopup) && --title_length; | |
| 754 | + (this.weekNumbers) && ++title_length; | |
| 755 | + | |
| 756 | + hh("?", 1, 400).ttip = Calendar._TT["INFO"]; | |
| 757 | + this.title = hh("", title_length, 300); | |
| 758 | + this.title.className = "title"; | |
| 759 | + if (this.isPopup) { | |
| 760 | + this.title.ttip = Calendar._TT["DRAG_TO_MOVE"]; | |
| 761 | + this.title.style.cursor = "move"; | |
| 762 | + hh("×", 1, 200).ttip = Calendar._TT["CLOSE"]; | |
| 763 | + } | |
| 764 | + | |
| 765 | + row = Calendar.createElement("tr", thead); | |
| 766 | + row.className = "headrow"; | |
| 767 | + | |
| 768 | + this._nav_py = hh("«", 1, -2); | |
| 769 | + this._nav_py.ttip = Calendar._TT["PREV_YEAR"]; | |
| 770 | + | |
| 771 | + this._nav_pm = hh("‹", 1, -1); | |
| 772 | + this._nav_pm.ttip = Calendar._TT["PREV_MONTH"]; | |
| 773 | + | |
| 774 | + this._nav_now = hh(Calendar._TT["TODAY"], this.weekNumbers ? 4 : 3, 0); | |
| 775 | + this._nav_now.ttip = Calendar._TT["GO_TODAY"]; | |
| 776 | + | |
| 777 | + this._nav_nm = hh("›", 1, 1); | |
| 778 | + this._nav_nm.ttip = Calendar._TT["NEXT_MONTH"]; | |
| 779 | + | |
| 780 | + this._nav_ny = hh("»", 1, 2); | |
| 781 | + this._nav_ny.ttip = Calendar._TT["NEXT_YEAR"]; | |
| 782 | + | |
| 783 | + // day names | |
| 784 | + row = Calendar.createElement("tr", thead); | |
| 785 | + row.className = "daynames"; | |
| 786 | + if (this.weekNumbers) { | |
| 787 | + cell = Calendar.createElement("td", row); | |
| 788 | + cell.className = "name wn"; | |
| 789 | + cell.appendChild(document.createTextNode(Calendar._TT["WK"])); | |
| 790 | + } | |
| 791 | + for (var i = 7; i > 0; --i) { | |
| 792 | + cell = Calendar.createElement("td", row); | |
| 793 | + cell.appendChild(document.createTextNode("")); | |
| 794 | + if (!i) { | |
| 795 | + cell.navtype = 100; | |
| 796 | + cell.calendar = this; | |
| 797 | + Calendar._add_evs(cell); | |
| 798 | + } | |
| 799 | + } | |
| 800 | + this.firstdayname = (this.weekNumbers) ? row.firstChild.nextSibling : row.firstChild; | |
| 801 | + this._displayWeekdays(); | |
| 802 | + | |
| 803 | + var tbody = Calendar.createElement("tbody", table); | |
| 804 | + this.tbody = tbody; | |
| 805 | + | |
| 806 | + for (i = 6; i > 0; --i) { | |
| 807 | + row = Calendar.createElement("tr", tbody); | |
| 808 | + if (this.weekNumbers) { | |
| 809 | + cell = Calendar.createElement("td", row); | |
| 810 | + cell.appendChild(document.createTextNode("")); | |
| 811 | + } | |
| 812 | + for (var j = 7; j > 0; --j) { | |
| 813 | + cell = Calendar.createElement("td", row); | |
| 814 | + cell.appendChild(document.createTextNode("")); | |
| 815 | + cell.calendar = this; | |
| 816 | + Calendar._add_evs(cell); | |
| 817 | + } | |
| 818 | + } | |
| 819 | + | |
| 820 | + if (this.showsTime) { | |
| 821 | + row = Calendar.createElement("tr", tbody); | |
| 822 | + row.className = "time"; | |
| 823 | + | |
| 824 | + cell = Calendar.createElement("td", row); | |
| 825 | + cell.className = "time"; | |
| 826 | + cell.colSpan = 2; | |
| 827 | + cell.innerHTML = " "; | |
| 828 | + | |
| 829 | + cell = Calendar.createElement("td", row); | |
| 830 | + cell.className = "time"; | |
| 831 | + cell.colSpan = this.weekNumbers ? 4 : 3; | |
| 832 | + | |
| 833 | + (function(){ | |
| 834 | + function makeTimePart(className, init, range_start, range_end) { | |
| 835 | + var part = Calendar.createElement("span", cell); | |
| 836 | + part.className = className; | |
| 837 | + part.appendChild(document.createTextNode(init)); | |
| 838 | + part.calendar = cal; | |
| 839 | + part.ttip = Calendar._TT["TIME_PART"]; | |
| 840 | + part.navtype = 50; | |
| 841 | + part._range = []; | |
| 842 | + if (typeof range_start != "number") | |
| 843 | + part._range = range_start; | |
| 844 | + else { | |
| 845 | + for (var i = range_start; i <= range_end; ++i) { | |
| 846 | + var txt; | |
| 847 | + if (i < 10 && range_end >= 10) txt = '0' + i; | |
| 848 | + else txt = '' + i; | |
| 849 | + part._range[part._range.length] = txt; | |
| 850 | + } | |
| 851 | + } | |
| 852 | + Calendar._add_evs(part); | |
| 853 | + return part; | |
| 854 | + }; | |
| 855 | + var hrs = cal.date.getHours(); | |
| 856 | + var mins = cal.date.getMinutes(); | |
| 857 | + var t12 = !cal.time24; | |
| 858 | + var pm = (hrs > 12); | |
| 859 | + if (t12 && pm) hrs -= 12; | |
| 860 | + var H = makeTimePart("hour", hrs, t12 ? 1 : 0, t12 ? 12 : 23); | |
| 861 | + var span = Calendar.createElement("span", cell); | |
| 862 | + span.appendChild(document.createTextNode(":")); | |
| 863 | + span.className = "colon"; | |
| 864 | + var M = makeTimePart("minute", mins, 0, 59); | |
| 865 | + var AP = null; | |
| 866 | + cell = Calendar.createElement("td", row); | |
| 867 | + cell.className = "time"; | |
| 868 | + cell.colSpan = 2; | |
| 869 | + if (t12) | |
| 870 | + AP = makeTimePart("ampm", pm ? "pm" : "am", ["am", "pm"]); | |
| 871 | + else | |
| 872 | + cell.innerHTML = " "; | |
| 873 | + | |
| 874 | + cal.onSetTime = function() { | |
| 875 | + var hrs = this.date.getHours(); | |
| 876 | + var mins = this.date.getMinutes(); | |
| 877 | + var pm = (hrs > 12); | |
| 878 | + if (pm && t12) hrs -= 12; | |
| 879 | + H.firstChild.data = (hrs < 10) ? ("0" + hrs) : hrs; | |
| 880 | + M.firstChild.data = (mins < 10) ? ("0" + mins) : mins; | |
| 881 | + if (t12) | |
| 882 | + AP.firstChild.data = pm ? "pm" : "am"; | |
| 883 | + }; | |
| 884 | + | |
| 885 | + cal.onUpdateTime = function() { | |
| 886 | + var date = this.date; | |
| 887 | + var h = parseInt(H.firstChild.data, 10); | |
| 888 | + if (t12) { | |
| 889 | + if (/pm/i.test(AP.firstChild.data) && h < 12) | |
| 890 | + h += 12; | |
| 891 | + else if (/am/i.test(AP.firstChild.data) && h == 12) | |
| 892 | + h = 0; | |
| 893 | + } | |
| 894 | + var d = date.getDate(); | |
| 895 | + var m = date.getMonth(); | |
| 896 | + var y = date.getFullYear(); | |
| 897 | + date.setHours(h); | |
| 898 | + date.setMinutes(parseInt(M.firstChild.data, 10)); | |
| 899 | + date.setFullYear(y); | |
| 900 | + date.setMonth(m); | |
| 901 | + date.setDate(d); | |
| 902 | + this.dateClicked = false; | |
| 903 | + this.callHandler(); | |
| 904 | + }; | |
| 905 | + })(); | |
| 906 | + } else { | |
| 907 | + this.onSetTime = this.onUpdateTime = function() {}; | |
| 908 | + } | |
| 909 | + | |
| 910 | + var tfoot = Calendar.createElement("tfoot", table); | |
| 911 | + | |
| 912 | + row = Calendar.createElement("tr", tfoot); | |
| 913 | + row.className = "footrow"; | |
| 914 | + | |
| 915 | + cell = hh(Calendar._TT["SEL_DATE"], this.weekNumbers ? 8 : 7, 300); | |
| 916 | + cell.className = "ttip"; | |
| 917 | + if (this.isPopup) { | |
| 918 | + cell.ttip = Calendar._TT["DRAG_TO_MOVE"]; | |
| 919 | + cell.style.cursor = "move"; | |
| 920 | + } | |
| 921 | + this.tooltips = cell; | |
| 922 | + | |
| 923 | + div = Calendar.createElement("div", this.element); | |
| 924 | + this.monthsCombo = div; | |
| 925 | + div.className = "combo"; | |
| 926 | + for (i = 0; i < Calendar._MN.length; ++i) { | |
| 927 | + var mn = Calendar.createElement("div"); | |
| 928 | + mn.className = Calendar.is_ie ? "label-IEfix" : "label"; | |
| 929 | + mn.month = i; | |
| 930 | + mn.appendChild(document.createTextNode(Calendar._SMN[i])); | |
| 931 | + div.appendChild(mn); | |
| 932 | + } | |
| 933 | + | |
| 934 | + div = Calendar.createElement("div", this.element); | |
| 935 | + this.yearsCombo = div; | |
| 936 | + div.className = "combo"; | |
| 937 | + for (i = 12; i > 0; --i) { | |
| 938 | + var yr = Calendar.createElement("div"); | |
| 939 | + yr.className = Calendar.is_ie ? "label-IEfix" : "label"; | |
| 940 | + yr.appendChild(document.createTextNode("")); | |
| 941 | + div.appendChild(yr); | |
| 942 | + } | |
| 943 | + | |
| 944 | + this._init(this.mondayFirst, this.date); | |
| 945 | + parent.appendChild(this.element); | |
| 946 | +}; | |
| 947 | + | |
| 948 | +/** keyboard navigation, only for popup calendars */ | |
| 949 | +Calendar._keyEvent = function(ev) { | |
| 950 | + if (!window.calendar) { | |
| 951 | + return false; | |
| 952 | + } | |
| 953 | + (Calendar.is_ie) && (ev = window.event); | |
| 954 | + var cal = window.calendar; | |
| 955 | + var act = (Calendar.is_ie || ev.type == "keypress"); | |
| 956 | + if (ev.ctrlKey) { | |
| 957 | + switch (ev.keyCode) { | |
| 958 | + case 37: // KEY left | |
| 959 | + act && Calendar.cellClick(cal._nav_pm); | |
| 960 | + break; | |
| 961 | + case 38: // KEY up | |
| 962 | + act && Calendar.cellClick(cal._nav_py); | |
| 963 | + break; | |
| 964 | + case 39: // KEY right | |
| 965 | + act && Calendar.cellClick(cal._nav_nm); | |
| 966 | + break; | |
| 967 | + case 40: // KEY down | |
| 968 | + act && Calendar.cellClick(cal._nav_ny); | |
| 969 | + break; | |
| 970 | + default: | |
| 971 | + return false; | |
| 972 | + } | |
| 973 | + } else switch (ev.keyCode) { | |
| 974 | + case 32: // KEY space (now) | |
| 975 | + Calendar.cellClick(cal._nav_now); | |
| 976 | + break; | |
| 977 | + case 27: // KEY esc | |
| 978 | + act && cal.hide(); | |
| 979 | + break; | |
| 980 | + case 37: // KEY left | |
| 981 | + case 38: // KEY up | |
| 982 | + case 39: // KEY right | |
| 983 | + case 40: // KEY down | |
| 984 | + if (act) { | |
| 985 | + var date = cal.date.getDate() - 1; | |
| 986 | + var el = cal.currentDateEl; | |
| 987 | + var ne = null; | |
| 988 | + var prev = (ev.keyCode == 37) || (ev.keyCode == 38); | |
| 989 | + switch (ev.keyCode) { | |
| 990 | + case 37: // KEY left | |
| 991 | + (--date >= 0) && (ne = cal.ar_days[date]); | |
| 992 | + break; | |
| 993 | + case 38: // KEY up | |
| 994 | + date -= 7; | |
| 995 | + (date >= 0) && (ne = cal.ar_days[date]); | |
| 996 | + break; | |
| 997 | + case 39: // KEY right | |
| 998 | + (++date < cal.ar_days.length) && (ne = cal.ar_days[date]); | |
| 999 | + break; | |
| 1000 | + case 40: // KEY down | |
| 1001 | + date += 7; | |
| 1002 | + (date < cal.ar_days.length) && (ne = cal.ar_days[date]); | |
| 1003 | + break; | |
| 1004 | + } | |
| 1005 | + if (!ne) { | |
| 1006 | + if (prev) { | |
| 1007 | + Calendar.cellClick(cal._nav_pm); | |
| 1008 | + } else { | |
| 1009 | + Calendar.cellClick(cal._nav_nm); | |
| 1010 | + } | |
| 1011 | + date = (prev) ? cal.date.getMonthDays() : 1; | |
| 1012 | + el = cal.currentDateEl; | |
| 1013 | + ne = cal.ar_days[date - 1]; | |
| 1014 | + } | |
| 1015 | + Calendar.removeClass(el, "selected"); | |
| 1016 | + Calendar.addClass(ne, "selected"); | |
| 1017 | + cal.date.setDate(ne.caldate); | |
| 1018 | + cal.callHandler(); | |
| 1019 | + cal.currentDateEl = ne; | |
| 1020 | + } | |
| 1021 | + break; | |
| 1022 | + case 13: // KEY enter | |
| 1023 | + if (act) { | |
| 1024 | + cal.callHandler(); | |
| 1025 | + cal.hide(); | |
| 1026 | + } | |
| 1027 | + break; | |
| 1028 | + default: | |
| 1029 | + return false; | |
| 1030 | + } | |
| 1031 | + return Calendar.stopEvent(ev); | |
| 1032 | +}; | |
| 1033 | + | |
| 1034 | +/** | |
| 1035 | + * (RE)Initializes the calendar to the given date and style (if mondayFirst is | |
| 1036 | + * true it makes Monday the first day of week, otherwise the weeks start on | |
| 1037 | + * Sunday. | |
| 1038 | + */ | |
| 1039 | +Calendar.prototype._init = function (mondayFirst, date) { | |
| 1040 | + var today = new Date(); | |
| 1041 | + var year = date.getFullYear(); | |
| 1042 | + if (year < this.minYear) { | |
| 1043 | + year = this.minYear; | |
| 1044 | + date.setFullYear(year); | |
| 1045 | + } else if (year > this.maxYear) { | |
| 1046 | + year = this.maxYear; | |
| 1047 | + date.setFullYear(year); | |
| 1048 | + } | |
| 1049 | + this.mondayFirst = mondayFirst; | |
| 1050 | + this.date = new Date(date); | |
| 1051 | + var month = date.getMonth(); | |
| 1052 | + var mday = date.getDate(); | |
| 1053 | + var no_days = date.getMonthDays(); | |
| 1054 | + date.setDate(1); | |
| 1055 | + var wday = date.getDay(); | |
| 1056 | + var MON = mondayFirst ? 1 : 0; | |
| 1057 | + var SAT = mondayFirst ? 5 : 6; | |
| 1058 | + var SUN = mondayFirst ? 6 : 0; | |
| 1059 | + if (mondayFirst) { | |
| 1060 | + wday = (wday > 0) ? (wday - 1) : 6; | |
| 1061 | + } | |
| 1062 | + var iday = 1; | |
| 1063 | + var row = this.tbody.firstChild; | |
| 1064 | + var MN = Calendar._SMN[month]; | |
| 1065 | + var hasToday = ((today.getFullYear() == year) && (today.getMonth() == month)); | |
| 1066 | + var todayDate = today.getDate(); | |
| 1067 | + var week_number = date.getWeekNumber(); | |
| 1068 | + var ar_days = new Array(); | |
| 1069 | + for (var i = 0; i < 6; ++i) { | |
| 1070 | + if (iday > no_days) { | |
| 1071 | + row.className = "emptyrow"; | |
| 1072 | + row = row.nextSibling; | |
| 1073 | + continue; | |
| 1074 | + } | |
| 1075 | + var cell = row.firstChild; | |
| 1076 | + if (this.weekNumbers) { | |
| 1077 | + cell.className = "day wn"; | |
| 1078 | + cell.firstChild.data = week_number; | |
| 1079 | + cell = cell.nextSibling; | |
| 1080 | + } | |
| 1081 | + ++week_number; | |
| 1082 | + row.className = "daysrow"; | |
| 1083 | + for (var j = 0; j < 7; ++j) { | |
| 1084 | + cell.className = "day"; | |
| 1085 | + if ((!i && j < wday) || iday > no_days) { | |
| 1086 | + // cell.className = "emptycell"; | |
| 1087 | + cell.innerHTML = " "; | |
| 1088 | + cell.disabled = true; | |
| 1089 | + cell = cell.nextSibling; | |
| 1090 | + continue; | |
| 1091 | + } | |
| 1092 | + cell.disabled = false; | |
| 1093 | + cell.firstChild.data = iday; | |
| 1094 | + if (typeof this.getDateStatus == "function") { | |
| 1095 | + date.setDate(iday); | |
| 1096 | + var status = this.getDateStatus(date, year, month, iday); | |
| 1097 | + if (status === true) { | |
| 1098 | + cell.className += " disabled"; | |
| 1099 | + cell.disabled = true; | |
| 1100 | + } else { | |
| 1101 | + if (/disabled/i.test(status)) | |
| 1102 | + cell.disabled = true; | |
| 1103 | + cell.className += " " + status; | |
| 1104 | + } | |
| 1105 | + } | |
| 1106 | + if (!cell.disabled) { | |
| 1107 | + ar_days[ar_days.length] = cell; | |
| 1108 | + cell.caldate = iday; | |
| 1109 | + cell.ttip = "_"; | |
| 1110 | + if (iday == mday) { | |
| 1111 | + cell.className += " selected"; | |
| 1112 | + this.currentDateEl = cell; | |
| 1113 | + } | |
| 1114 | + if (hasToday && (iday == todayDate)) { | |
| 1115 | + cell.className += " today"; | |
| 1116 | + cell.ttip += Calendar._TT["PART_TODAY"]; | |
| 1117 | + } | |
| 1118 | + if (wday == SAT || wday == SUN) { | |
| 1119 | + cell.className += " weekend"; | |
| 1120 | + } | |
| 1121 | + } | |
| 1122 | + ++iday; | |
| 1123 | + ((++wday) ^ 7) || (wday = 0); | |
| 1124 | + cell = cell.nextSibling; | |
| 1125 | + } | |
| 1126 | + row = row.nextSibling; | |
| 1127 | + } | |
| 1128 | + this.ar_days = ar_days; | |
| 1129 | + this.title.firstChild.data = Calendar._MN[month] + ", " + year; | |
| 1130 | + this.onSetTime(); | |
| 1131 | + // PROFILE | |
| 1132 | + // this.tooltips.firstChild.data = "Generated in " + ((new Date()) - today) + " ms"; | |
| 1133 | +}; | |
| 1134 | + | |
| 1135 | +/** | |
| 1136 | + * Calls _init function above for going to a certain date (but only if the | |
| 1137 | + * date is different than the currently selected one). | |
| 1138 | + */ | |
| 1139 | +Calendar.prototype.setDate = function (date) { | |
| 1140 | + if (!date.equalsTo(this.date)) { | |
| 1141 | + this._init(this.mondayFirst, date); | |
| 1142 | + } | |
| 1143 | +}; | |
| 1144 | + | |
| 1145 | +/** | |
| 1146 | + * Refreshes the calendar. Useful if the "disabledHandler" function is | |
| 1147 | + * dynamic, meaning that the list of disabled date can change at runtime. | |
| 1148 | + * Just * call this function if you think that the list of disabled dates | |
| 1149 | + * should * change. | |
| 1150 | + */ | |
| 1151 | +Calendar.prototype.refresh = function () { | |
| 1152 | + this._init(this.mondayFirst, this.date); | |
| 1153 | +}; | |
| 1154 | + | |
| 1155 | +/** Modifies the "mondayFirst" parameter (EU/US style). */ | |
| 1156 | +Calendar.prototype.setMondayFirst = function (mondayFirst) { | |
| 1157 | + this._init(mondayFirst, this.date); | |
| 1158 | + this._displayWeekdays(); | |
| 1159 | +}; | |
| 1160 | + | |
| 1161 | +/** | |
| 1162 | + * Allows customization of what dates are enabled. The "unaryFunction" | |
| 1163 | + * parameter must be a function object that receives the date (as a JS Date | |
| 1164 | + * object) and returns a boolean value. If the returned value is true then | |
| 1165 | + * the passed date will be marked as disabled. | |
| 1166 | + */ | |
| 1167 | +Calendar.prototype.setDateStatusHandler = Calendar.prototype.setDisabledHandler = function (unaryFunction) { | |
| 1168 | + this.getDateStatus = unaryFunction; | |
| 1169 | +}; | |
| 1170 | + | |
| 1171 | +/** Customization of allowed year range for the calendar. */ | |
| 1172 | +Calendar.prototype.setRange = function (a, z) { | |
| 1173 | + this.minYear = a; | |
| 1174 | + this.maxYear = z; | |
| 1175 | +}; | |
| 1176 | + | |
| 1177 | +/** Calls the first user handler (selectedHandler). */ | |
| 1178 | +Calendar.prototype.callHandler = function () { | |
| 1179 | + if (this.onSelected) { | |
| 1180 | + this.onSelected(this, this.date.print(this.dateFormat)); | |
| 1181 | + } | |
| 1182 | +}; | |
| 1183 | + | |
| 1184 | +/** Calls the second user handler (closeHandler). */ | |
| 1185 | +Calendar.prototype.callCloseHandler = function () { | |
| 1186 | + if (this.onClose) { | |
| 1187 | + this.onClose(this); | |
| 1188 | + } | |
| 1189 | + this.hideShowCovered(); | |
| 1190 | +}; | |
| 1191 | + | |
| 1192 | +/** Removes the calendar object from the DOM tree and destroys it. */ | |
| 1193 | +Calendar.prototype.destroy = function () { | |
| 1194 | + var el = this.element.parentNode; | |
| 1195 | + el.removeChild(this.element); | |
| 1196 | + Calendar._C = null; | |
| 1197 | + window.calendar = null; | |
| 1198 | +}; | |
| 1199 | + | |
| 1200 | +/** | |
| 1201 | + * Moves the calendar element to a different section in the DOM tree (changes | |
| 1202 | + * its parent). | |
| 1203 | + */ | |
| 1204 | +Calendar.prototype.reparent = function (new_parent) { | |
| 1205 | + var el = this.element; | |
| 1206 | + el.parentNode.removeChild(el); | |
| 1207 | + new_parent.appendChild(el); | |
| 1208 | +}; | |
| 1209 | + | |
| 1210 | +// This gets called when the user presses a mouse button anywhere in the | |
| 1211 | +// document, if the calendar is shown. If the click was outside the open | |
| 1212 | +// calendar this function closes it. | |
| 1213 | +Calendar._checkCalendar = function(ev) { | |
| 1214 | + if (!window.calendar) { | |
| 1215 | + return false; | |
| 1216 | + } | |
| 1217 | + var el = Calendar.is_ie ? Calendar.getElement(ev) : Calendar.getTargetElement(ev); | |
| 1218 | + for (; el != null && el != calendar.element; el = el.parentNode); | |
| 1219 | + if (el == null) { | |
| 1220 | + // calls closeHandler which should hide the calendar. | |
| 1221 | + window.calendar.callCloseHandler(); | |
| 1222 | + return Calendar.stopEvent(ev); | |
| 1223 | + } | |
| 1224 | +}; | |
| 1225 | + | |
| 1226 | +/** Shows the calendar. */ | |
| 1227 | +Calendar.prototype.show = function () { | |
| 1228 | + var rows = this.table.getElementsByTagName("tr"); | |
| 1229 | + for (var i = rows.length; i > 0;) { | |
| 1230 | + var row = rows[--i]; | |
| 1231 | + Calendar.removeClass(row, "rowhilite"); | |
| 1232 | + var cells = row.getElementsByTagName("td"); | |
| 1233 | + for (var j = cells.length; j > 0;) { | |
| 1234 | + var cell = cells[--j]; | |
| 1235 | + Calendar.removeClass(cell, "hilite"); | |
| 1236 | + Calendar.removeClass(cell, "active"); | |
| 1237 | + } | |
| 1238 | + } | |
| 1239 | + this.element.style.display = "block"; | |
| 1240 | + this.hidden = false; | |
| 1241 | + if (this.isPopup) { | |
| 1242 | + window.calendar = this; | |
| 1243 | + Calendar.addEvent(document, "keydown", Calendar._keyEvent); | |
| 1244 | + Calendar.addEvent(document, "keypress", Calendar._keyEvent); | |
| 1245 | + Calendar.addEvent(document, "mousedown", Calendar._checkCalendar); | |
| 1246 | + } | |
| 1247 | + this.hideShowCovered(); | |
| 1248 | +}; | |
| 1249 | + | |
| 1250 | +/** | |
| 1251 | + * Hides the calendar. Also removes any "hilite" from the class of any TD | |
| 1252 | + * element. | |
| 1253 | + */ | |
| 1254 | +Calendar.prototype.hide = function () { | |
| 1255 | + if (this.isPopup) { | |
| 1256 | + Calendar.removeEvent(document, "keydown", Calendar._keyEvent); | |
| 1257 | + Calendar.removeEvent(document, "keypress", Calendar._keyEvent); | |
| 1258 | + Calendar.removeEvent(document, "mousedown", Calendar._checkCalendar); | |
| 1259 | + } | |
| 1260 | + this.element.style.display = "none"; | |
| 1261 | + this.hidden = true; | |
| 1262 | + this.hideShowCovered(); | |
| 1263 | +}; | |
| 1264 | + | |
| 1265 | +/** | |
| 1266 | + * Shows the calendar at a given absolute position (beware that, depending on | |
| 1267 | + * the calendar element style -- position property -- this might be relative | |
| 1268 | + * to the parent's containing rectangle). | |
| 1269 | + */ | |
| 1270 | +Calendar.prototype.showAt = function (x, y) { | |
| 1271 | + var s = this.element.style; | |
| 1272 | + s.left = x + "px"; | |
| 1273 | + s.top = y + "px"; | |
| 1274 | + this.show(); | |
| 1275 | +}; | |
| 1276 | + | |
| 1277 | +/** Shows the calendar near a given element. */ | |
| 1278 | +Calendar.prototype.showAtElement = function (el, opts) { | |
| 1279 | + var self = this; | |
| 1280 | + var p = Calendar.getAbsolutePos(el); | |
| 1281 | + if (!opts || typeof opts != "string") { | |
| 1282 | + this.showAt(p.x, p.y + el.offsetHeight); | |
| 1283 | + return true; | |
| 1284 | + } | |
| 1285 | + this.element.style.display = "block"; | |
| 1286 | + Calendar.continuation_for_the_fucking_khtml_browser = function() { | |
| 1287 | + var w = self.element.offsetWidth; | |
| 1288 | + var h = self.element.offsetHeight; | |
| 1289 | + self.element.style.display = "none"; | |
| 1290 | + var valign = opts.substr(0, 1); | |
| 1291 | + var halign = "l"; | |
| 1292 | + if (opts.length > 1) { | |
| 1293 | + halign = opts.substr(1, 1); | |
| 1294 | + } | |
| 1295 | + // vertical alignment | |
| 1296 | + switch (valign) { | |
| 1297 | + case "T": p.y -= h; break; | |
| 1298 | + case "B": p.y += el.offsetHeight; break; | |
| 1299 | + case "C": p.y += (el.offsetHeight - h) / 2; break; | |
| 1300 | + case "t": p.y += el.offsetHeight - h; break; | |
| 1301 | + case "b": break; // already there | |
| 1302 | + } | |
| 1303 | + // horizontal alignment | |
| 1304 | + switch (halign) { | |
| 1305 | + case "L": p.x -= w; break; | |
| 1306 | + case "R": p.x += el.offsetWidth; break; | |
| 1307 | + case "C": p.x += (el.offsetWidth - w) / 2; break; | |
| 1308 | + case "r": p.x += el.offsetWidth - w; break; | |
| 1309 | + case "l": break; // already there | |
| 1310 | + } | |
| 1311 | + self.showAt(p.x, p.y); | |
| 1312 | + }; | |
| 1313 | + if (Calendar.is_khtml) | |
| 1314 | + setTimeout("Calendar.continuation_for_the_fucking_khtml_browser()", 10); | |
| 1315 | + else | |
| 1316 | + Calendar.continuation_for_the_fucking_khtml_browser(); | |
| 1317 | +}; | |
| 1318 | + | |
| 1319 | +/** Customizes the date format. */ | |
| 1320 | +Calendar.prototype.setDateFormat = function (str) { | |
| 1321 | + this.dateFormat = str; | |
| 1322 | +}; | |
| 1323 | + | |
| 1324 | +/** Customizes the tooltip date format. */ | |
| 1325 | +Calendar.prototype.setTtDateFormat = function (str) { | |
| 1326 | + this.ttDateFormat = str; | |
| 1327 | +}; | |
| 1328 | + | |
| 1329 | +/** | |
| 1330 | + * Tries to identify the date represented in a string. If successful it also | |
| 1331 | + * calls this.setDate which moves the calendar to the given date. | |
| 1332 | + */ | |
| 1333 | +Calendar.prototype.parseDate = function (str, fmt) { | |
| 1334 | + var y = 0; | |
| 1335 | + var m = -1; | |
| 1336 | + var d = 0; | |
| 1337 | + var a = str.split(/\W+/); | |
| 1338 | + if (!fmt) { | |
| 1339 | + fmt = this.dateFormat; | |
| 1340 | + } | |
| 1341 | + var b = []; | |
| 1342 | + fmt.replace(/(%.)/g, function(str, par) { | |
| 1343 | + return b[b.length] = par; | |
| 1344 | + }); | |
| 1345 | + var i = 0, j = 0; | |
| 1346 | + var hr = 0; | |
| 1347 | + var min = 0; | |
| 1348 | + for (i = 0; i < a.length; ++i) { | |
| 1349 | + if (b[i] == "%a" || b[i] == "%A") { | |
| 1350 | + continue; | |
| 1351 | + } | |
| 1352 | + if (b[i] == "%d" || b[i] == "%e") { | |
| 1353 | + d = parseInt(a[i], 10); | |
| 1354 | + } | |
| 1355 | + if (b[i] == "%m") { | |
| 1356 | + m = parseInt(a[i], 10) - 1; | |
| 1357 | + } | |
| 1358 | + if (b[i] == "%Y" || b[i] == "%y") { | |
| 1359 | + y = parseInt(a[i], 10); | |
| 1360 | + (y < 100) && (y += (y > 29) ? 1900 : 2000); | |
| 1361 | + } | |
| 1362 | + if (b[i] == "%b" || b[i] == "%B") { | |
| 1363 | + for (j = 0; j < 12; ++j) { | |
| 1364 | + if (Calendar._MN[j].substr(0, a[i].length).toLowerCase() == a[i].toLowerCase()) { m = j; break; } | |
| 1365 | + } | |
| 1366 | + } else if (/%[HIkl]/.test(b[i])) { | |
| 1367 | + hr = parseInt(a[i], 10); | |
| 1368 | + } else if (/%[pP]/.test(b[i])) { | |
| 1369 | + if (/pm/i.test(a[i]) && hr < 12) | |
| 1370 | + hr += 12; | |
| 1371 | + } else if (b[i] == "%M") { | |
| 1372 | + min = parseInt(a[i], 10); | |
| 1373 | + } | |
| 1374 | + } | |
| 1375 | + if (y != 0 && m != -1 && d != 0) { | |
| 1376 | + this.setDate(new Date(y, m, d, hr, min, 0)); | |
| 1377 | + return; | |
| 1378 | + } | |
| 1379 | + y = 0; m = -1; d = 0; | |
| 1380 | + for (i = 0; i < a.length; ++i) { | |
| 1381 | + if (a[i].search(/[a-zA-Z]+/) != -1) { | |
| 1382 | + var t = -1; | |
| 1383 | + for (j = 0; j < 12; ++j) { | |
| 1384 | + if (Calendar._MN[j].substr(0, a[i].length).toLowerCase() == a[i].toLowerCase()) { t = j; break; } | |
| 1385 | + } | |
| 1386 | + if (t != -1) { | |
| 1387 | + if (m != -1) { | |
| 1388 | + d = m+1; | |
| 1389 | + } | |
| 1390 | + m = t; | |
| 1391 | + } | |
| 1392 | + } else if (parseInt(a[i], 10) <= 12 && m == -1) { | |
| 1393 | + m = a[i]-1; | |
| 1394 | + } else if (parseInt(a[i], 10) > 31 && y == 0) { | |
| 1395 | + y = parseInt(a[i], 10); | |
| 1396 | + (y < 100) && (y += (y > 29) ? 1900 : 2000); | |
| 1397 | + } else if (d == 0) { | |
| 1398 | + d = a[i]; | |
| 1399 | + } | |
| 1400 | + } | |
| 1401 | + if (y == 0) { | |
| 1402 | + var today = new Date(); | |
| 1403 | + y = today.getFullYear(); | |
| 1404 | + } | |
| 1405 | + if (m != -1 && d != 0) { | |
| 1406 | + this.setDate(new Date(y, m, d, hr, min, 0)); | |
| 1407 | + } | |
| 1408 | +}; | |
| 1409 | + | |
| 1410 | +Calendar.prototype.hideShowCovered = function () { | |
| 1411 | + var self = this; | |
| 1412 | + Calendar.continuation_for_the_fucking_khtml_browser = function() { | |
| 1413 | + function getVisib(obj){ | |
| 1414 | + var value = obj.style.visibility; | |
| 1415 | + if (!value) { | |
| 1416 | + if (document.defaultView && typeof (document.defaultView.getComputedStyle) == "function") { // Gecko, W3C | |
| 1417 | + if (!Calendar.is_khtml) | |
| 1418 | + value = document.defaultView. | |
| 1419 | + getComputedStyle(obj, "").getPropertyValue("visibility"); | |
| 1420 | + else | |
| 1421 | + value = ''; | |
| 1422 | + } else if (obj.currentStyle) { // IE | |
| 1423 | + value = obj.currentStyle.visibility; | |
| 1424 | + } else | |
| 1425 | + value = ''; | |
| 1426 | + } | |
| 1427 | + return value; | |
| 1428 | + }; | |
| 1429 | + | |
| 1430 | + var tags = new Array("applet", "iframe", "select"); | |
| 1431 | + var el = self.element; | |
| 1432 | + | |
| 1433 | + var p = Calendar.getAbsolutePos(el); | |
| 1434 | + var EX1 = p.x; | |
| 1435 | + var EX2 = el.offsetWidth + EX1; | |
| 1436 | + var EY1 = p.y; | |
| 1437 | + var EY2 = el.offsetHeight + EY1; | |
| 1438 | + | |
| 1439 | + for (var k = tags.length; k > 0; ) { | |
| 1440 | + var ar = document.getElementsByTagName(tags[--k]); | |
| 1441 | + var cc = null; | |
| 1442 | + | |
| 1443 | + for (var i = ar.length; i > 0;) { | |
| 1444 | + cc = ar[--i]; | |
| 1445 | + | |
| 1446 | + p = Calendar.getAbsolutePos(cc); | |
| 1447 | + var CX1 = p.x; | |
| 1448 | + var CX2 = cc.offsetWidth + CX1; | |
| 1449 | + var CY1 = p.y; | |
| 1450 | + var CY2 = cc.offsetHeight + CY1; | |
| 1451 | + | |
| 1452 | + if (self.hidden || (CX1 > EX2) || (CX2 < EX1) || (CY1 > EY2) || (CY2 < EY1)) { | |
| 1453 | + if (!cc.__msh_save_visibility) { | |
| 1454 | + cc.__msh_save_visibility = getVisib(cc); | |
| 1455 | + } | |
| 1456 | + cc.style.visibility = cc.__msh_save_visibility; | |
| 1457 | + } else { | |
| 1458 | + if (!cc.__msh_save_visibility) { | |
| 1459 | + cc.__msh_save_visibility = getVisib(cc); | |
| 1460 | + } | |
| 1461 | + cc.style.visibility = "hidden"; | |
| 1462 | + } | |
| 1463 | + } | |
| 1464 | + } | |
| 1465 | + }; | |
| 1466 | + if (Calendar.is_khtml) | |
| 1467 | + setTimeout("Calendar.continuation_for_the_fucking_khtml_browser()", 10); | |
| 1468 | + else | |
| 1469 | + Calendar.continuation_for_the_fucking_khtml_browser(); | |
| 1470 | +}; | |
| 1471 | + | |
| 1472 | +/** Internal function; it displays the bar with the names of the weekday. */ | |
| 1473 | +Calendar.prototype._displayWeekdays = function () { | |
| 1474 | + var MON = this.mondayFirst ? 0 : 1; | |
| 1475 | + var SUN = this.mondayFirst ? 6 : 0; | |
| 1476 | + var SAT = this.mondayFirst ? 5 : 6; | |
| 1477 | + var cell = this.firstdayname; | |
| 1478 | + for (var i = 0; i < 7; ++i) { | |
| 1479 | + cell.className = "day name"; | |
| 1480 | + if (!i) { | |
| 1481 | + cell.ttip = this.mondayFirst ? Calendar._TT["SUN_FIRST"] : Calendar._TT["MON_FIRST"]; | |
| 1482 | + cell.navtype = 100; | |
| 1483 | + cell.calendar = this; | |
| 1484 | + Calendar._add_evs(cell); | |
| 1485 | + } | |
| 1486 | + if (i == SUN || i == SAT) { | |
| 1487 | + Calendar.addClass(cell, "weekend"); | |
| 1488 | + } | |
| 1489 | + cell.firstChild.data = Calendar._SDN[i + 1 - MON]; | |
| 1490 | + cell = cell.nextSibling; | |
| 1491 | + } | |
| 1492 | +}; | |
| 1493 | + | |
| 1494 | +/** Internal function. Hides all combo boxes that might be displayed. */ | |
| 1495 | +Calendar.prototype._hideCombos = function () { | |
| 1496 | + this.monthsCombo.style.display = "none"; | |
| 1497 | + this.yearsCombo.style.display = "none"; | |
| 1498 | +}; | |
| 1499 | + | |
| 1500 | +/** Internal function. Starts dragging the element. */ | |
| 1501 | +Calendar.prototype._dragStart = function (ev) { | |
| 1502 | + if (this.dragging) { | |
| 1503 | + return; | |
| 1504 | + } | |
| 1505 | + this.dragging = true; | |
| 1506 | + var posX; | |
| 1507 | + var posY; | |
| 1508 | + if (Calendar.is_ie) { | |
| 1509 | + posY = window.event.clientY + document.body.scrollTop; | |
| 1510 | + posX = window.event.clientX + document.body.scrollLeft; | |
| 1511 | + } else { | |
| 1512 | + posY = ev.clientY + window.scrollY; | |
| 1513 | + posX = ev.clientX + window.scrollX; | |
| 1514 | + } | |
| 1515 | + var st = this.element.style; | |
| 1516 | + this.xOffs = posX - parseInt(st.left); | |
| 1517 | + this.yOffs = posY - parseInt(st.top); | |
| 1518 | + with (Calendar) { | |
| 1519 | + addEvent(document, "mousemove", calDragIt); | |
| 1520 | + addEvent(document, "mouseover", stopEvent); | |
| 1521 | + addEvent(document, "mouseup", calDragEnd); | |
| 1522 | + } | |
| 1523 | +}; | |
| 1524 | + | |
| 1525 | +// BEGIN: DATE OBJECT PATCHES | |
| 1526 | + | |
| 1527 | +/** Adds the number of days array to the Date object. */ | |
| 1528 | +Date._MD = new Array(31,28,31,30,31,30,31,31,30,31,30,31); | |
| 1529 | + | |
| 1530 | +/** Constants used for time computations */ | |
| 1531 | +Date.SECOND = 1000 /* milliseconds */; | |
| 1532 | +Date.MINUTE = 60 * Date.SECOND; | |
| 1533 | +Date.HOUR = 60 * Date.MINUTE; | |
| 1534 | +Date.DAY = 24 * Date.HOUR; | |
| 1535 | +Date.WEEK = 7 * Date.DAY; | |
| 1536 | + | |
| 1537 | +/** Returns the number of days in the current month */ | |
| 1538 | +Date.prototype.getMonthDays = function(month) { | |
| 1539 | + var year = this.getFullYear(); | |
| 1540 | + if (typeof month == "undefined") { | |
| 1541 | + month = this.getMonth(); | |
| 1542 | + } | |
| 1543 | + if (((0 == (year%4)) && ( (0 != (year%100)) || (0 == (year%400)))) && month == 1) { | |
| 1544 | + return 29; | |
| 1545 | + } else { | |
| 1546 | + return Date._MD[month]; | |
| 1547 | + } | |
| 1548 | +}; | |
| 1549 | + | |
| 1550 | +/** Returns the number of day in the year. */ | |
| 1551 | +Date.prototype.getDayOfYear = function() { | |
| 1552 | + var now = new Date(this.getFullYear(), this.getMonth(), this.getDate(), 0, 0, 0); | |
| 1553 | + var then = new Date(this.getFullYear(), 0, 1, 0, 0, 0); | |
| 1554 | + var time = now - then; | |
| 1555 | + return Math.floor(time / Date.DAY); | |
| 1556 | +}; | |
| 1557 | + | |
| 1558 | +/** Returns the number of the week in year, as defined in ISO 8601. */ | |
| 1559 | +Date.prototype.getWeekNumber = function() { | |
| 1560 | + var now = new Date(this.getFullYear(), this.getMonth(), this.getDate(), 0, 0, 0); | |
| 1561 | + var then = new Date(this.getFullYear(), 0, 1, 0, 0, 0); | |
| 1562 | + var time = now - then; | |
| 1563 | + var day = then.getDay(); // 0 means Sunday | |
| 1564 | + if (day == 0) day = 7; | |
| 1565 | + (day > 4) && (day -= 4) || (day += 3); | |
| 1566 | + return Math.round(((time / Date.DAY) + day) / 7); | |
| 1567 | +}; | |
| 1568 | + | |
| 1569 | +/** Checks dates equality (ignores time) */ | |
| 1570 | +Date.prototype.equalsTo = function(date) { | |
| 1571 | + return ((this.getFullYear() == date.getFullYear()) && | |
| 1572 | + (this.getMonth() == date.getMonth()) && | |
| 1573 | + (this.getDate() == date.getDate()) && | |
| 1574 | + (this.getHours() == date.getHours()) && | |
| 1575 | + (this.getMinutes() == date.getMinutes())); | |
| 1576 | +}; | |
| 1577 | + | |
| 1578 | +/** Prints the date in a string according to the given format. */ | |
| 1579 | +Date.prototype.print = function (str) { | |
| 1580 | + var m = this.getMonth(); | |
| 1581 | + var d = this.getDate(); | |
| 1582 | + var y = this.getFullYear(); | |
| 1583 | + var wn = this.getWeekNumber(); | |
| 1584 | + var w = this.getDay(); | |
| 1585 | + var s = {}; | |
| 1586 | + var hr = this.getHours(); | |
| 1587 | + var pm = (hr >= 12); | |
| 1588 | + var ir = (pm) ? (hr - 12) : hr; | |
| 1589 | + var dy = this.getDayOfYear(); | |
| 1590 | + if (ir == 0) | |
| 1591 | + ir = 12; | |
| 1592 | + var min = this.getMinutes(); | |
| 1593 | + var sec = this.getSeconds(); | |
| 1594 | + s["%a"] = Calendar._SDN[w]; // abbreviated weekday name [FIXME: I18N] | |
| 1595 | + s["%A"] = Calendar._DN[w]; // full weekday name | |
| 1596 | + s["%b"] = Calendar._SMN[m]; // abbreviated month name [FIXME: I18N] | |
| 1597 | + s["%B"] = Calendar._MN[m]; // full month name | |
| 1598 | + // FIXME: %c : preferred date and time representation for the current locale | |
| 1599 | + s["%C"] = 1 + Math.floor(y / 100); // the century number | |
| 1600 | + s["%d"] = (d < 10) ? ("0" + d) : d; // the day of the month (range 01 to 31) | |
| 1601 | + s["%e"] = d; // the day of the month (range 1 to 31) | |
| 1602 | + // FIXME: %D : american date style: %m/%d/%y | |
| 1603 | + // FIXME: %E, %F, %G, %g, %h (man strftime) | |
| 1604 | + s["%H"] = (hr < 10) ? ("0" + hr) : hr; // hour, range 00 to 23 (24h format) | |
| 1605 | + s["%I"] = (ir < 10) ? ("0" + ir) : ir; // hour, range 01 to 12 (12h format) | |
| 1606 | + s["%j"] = (dy < 100) ? ((dy < 10) ? ("00" + dy) : ("0" + dy)) : dy; // day of the year (range 001 to 366) | |
| 1607 | + s["%k"] = hr; // hour, range 0 to 23 (24h format) | |
| 1608 | + s["%l"] = ir; // hour, range 1 to 12 (12h format) | |
| 1609 | + s["%m"] = (m < 9) ? ("0" + (1+m)) : (1+m); // month, range 01 to 12 | |
| 1610 | + s["%M"] = (min < 10) ? ("0" + min) : min; // minute, range 00 to 59 | |
| 1611 | + s["%n"] = "\n"; // a newline character | |
| 1612 | + s["%p"] = pm ? "PM" : "AM"; | |
| 1613 | + s["%P"] = pm ? "pm" : "am"; | |
| 1614 | + // FIXME: %r : the time in am/pm notation %I:%M:%S %p | |
| 1615 | + // FIXME: %R : the time in 24-hour notation %H:%M | |
| 1616 | + s["%s"] = Math.floor(this.getTime() / 1000); | |
| 1617 | + s["%S"] = (sec < 10) ? ("0" + sec) : sec; // seconds, range 00 to 59 | |
| 1618 | + s["%t"] = "\t"; // a tab character | |
| 1619 | + // FIXME: %T : the time in 24-hour notation (%H:%M:%S) | |
| 1620 | + s["%U"] = s["%W"] = s["%V"] = (wn < 10) ? ("0" + wn) : wn; | |
| 1621 | + s["%u"] = w + 1; // the day of the week (range 1 to 7, 1 = MON) | |
| 1622 | + s["%w"] = w; // the day of the week (range 0 to 6, 0 = SUN) | |
| 1623 | + // FIXME: %x : preferred date representation for the current locale without the time | |
| 1624 | + // FIXME: %X : preferred time representation for the current locale without the date | |
| 1625 | + s["%y"] = ('' + y).substr(2, 2); // year without the century (range 00 to 99) | |
| 1626 | + s["%Y"] = y; // year with the century | |
| 1627 | + s["%%"] = "%"; // a literal '%' character | |
| 1628 | + var re = Date._msh_formatRegexp; | |
| 1629 | + if (typeof re == "undefined") { | |
| 1630 | + var tmp = ""; | |
| 1631 | + for (var i in s) | |
| 1632 | + tmp += tmp ? ("|" + i) : i; | |
| 1633 | + Date._msh_formatRegexp = re = new RegExp("(" + tmp + ")", 'g'); | |
| 1634 | + } | |
| 1635 | + return str.replace(re, function(match, par) { return s[par]; }); | |
| 1636 | +}; | |
| 1637 | + | |
| 1638 | +// END: DATE OBJECT PATCHES | |
| 1639 | + | |
| 1640 | +// global object that remembers the calendar | |
| 1641 | +window.calendar = null; | ... | ... |
thirdpartyjs/jscalendar-1.0/ChangeLog
0 โ 100644
| 1 | +2005-03-07 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 2 | + | |
| 3 | + * skins/aqua/theme.css: *** empty log message *** | |
| 4 | + | |
| 5 | + * release-notes.html: updated release notes | |
| 6 | + | |
| 7 | + * calendar-setup.js: | |
| 8 | + use a better approach to initialize the calendar--don't call _init twice, | |
| 9 | + it's the most time consuming function in the calendar. Instead, determine | |
| 10 | + the date beforehand if possible and pass it to the calendar at constructor. | |
| 11 | + | |
| 12 | + * calendar.js: | |
| 13 | + avoid keyboard operation when 'multiple dates' is set (very buggy for now) | |
| 14 | + | |
| 15 | + * calendar.js: | |
| 16 | + fixed keyboard handling problems: now it works fine when "showsOtherMonths" | |
| 17 | + is passed; it also seems to be fine with disabled dates (won't normally | |
| 18 | + allow selection)--however this area is still likely to be buggy, i.e. in a | |
| 19 | + month that has all the dates disabled. | |
| 20 | + | |
| 21 | + * calendar.js: | |
| 22 | + some trivial performance improvements in the _init function | |
| 23 | + Added Date.parseDate (old Calendar.prototype.parseDate now calls this one) | |
| 24 | + | |
| 25 | +2005-03-05 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 26 | + | |
| 27 | + * release-notes.html: updated release notes | |
| 28 | + | |
| 29 | + * dayinfo.html: *** empty log message *** | |
| 30 | + | |
| 31 | + * calendar-setup.js: | |
| 32 | + bugfix--update an inputField even if flat calendar is selected | |
| 33 | + | |
| 34 | + * calendar.js: | |
| 35 | + fixed bugs in parseDate function (if for some reason the input string is | |
| 36 | + totally broken, then check numbers for NaN and use values from the current | |
| 37 | + date instead) | |
| 38 | + | |
| 39 | + * make-release.pl: copy the skins subdirectory and all skins | |
| 40 | + | |
| 41 | + * index.html: added Aqua skin | |
| 42 | + | |
| 43 | + * skins/aqua/active-bg.gif, skins/aqua/dark-bg.gif, skins/aqua/hover-bg.gif, skins/aqua/menuarrow.gif, skins/aqua/normal-bg.gif, skins/aqua/rowhover-bg.gif, skins/aqua/status-bg.gif, skins/aqua/theme.css, skins/aqua/title-bg.gif, skins/aqua/today-bg.gif: | |
| 44 | + in the future, skins will go to this directory, each in a separate subdir; for now there's only Aqua, an excellent new skin | |
| 45 | + | |
| 46 | + * calendar.js: workaround IE bug, needed in the Aqua theme | |
| 47 | + don't hide select elements unless browser is IE or Opera | |
| 48 | + | |
| 49 | + * lang/calendar-bg.js, lang/calendar-big5-utf8.js, lang/calendar-big5.js, lang/calendar-br.js, lang/calendar-ca.js, lang/calendar-cs-utf8.js, lang/calendar-cs-win.js, lang/calendar-da.js, lang/calendar-de.js, lang/calendar-el.js, lang/calendar-en.js, lang/calendar-es.js, lang/calendar-fi.js, lang/calendar-fr.js, lang/calendar-he-utf8.js, lang/calendar-hu.js, lang/calendar-it.js, lang/calendar-ko-utf8.js, lang/calendar-ko.js, lang/calendar-lt-utf8.js, lang/calendar-lt.js, lang/calendar-lv.js, lang/calendar-nl.js, lang/calendar-no.js, lang/calendar-pl-utf8.js, lang/calendar-pl.js, lang/calendar-pt.js, lang/calendar-ro.js, lang/calendar-ru.js, lang/calendar-ru_win_.js, lang/calendar-si.js, lang/calendar-sk.js, lang/calendar-sp.js, lang/calendar-sv.js, lang/calendar-zh.js, lang/cn_utf8.js: | |
| 50 | + updated urls, copyright notices | |
| 51 | + | |
| 52 | + * doc/reference.tex: updated documentation | |
| 53 | + | |
| 54 | + * calendar.js, index.html: | |
| 55 | + renamed the global variable to _dynarch_popupCalendar to avoid name clashes | |
| 56 | + | |
| 57 | + * multiple-dates.html: start with an empty array | |
| 58 | + | |
| 59 | + * calendar.js: | |
| 60 | + fixed bugs in the time selector (12:XX pm was wrongfully understood as 12:XX am) | |
| 61 | + | |
| 62 | + * calendar.js: | |
| 63 | + using innerHTML instead of text nodes; works better in Safari and also makes | |
| 64 | + a smaller, cleaner code | |
| 65 | + | |
| 66 | +2005-03-04 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 67 | + | |
| 68 | + * calendar.js: | |
| 69 | + fixed a performance regression that occurred after adding support for multiple dates | |
| 70 | + fixed the time selection bug (now it keeps time correctly) | |
| 71 | + clicking today will close the calendar if "today" is already selected | |
| 72 | + | |
| 73 | + * lang/cn_utf8.js: new translation | |
| 74 | + | |
| 75 | +2005-02-17 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 76 | + | |
| 77 | + * lang/calendar-ar-utf8.zip: Added arabic translation | |
| 78 | + | |
| 79 | +2004-10-19 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 80 | + | |
| 81 | + * lang/calendar-zh.js: updated | |
| 82 | + | |
| 83 | +2004-09-20 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 84 | + | |
| 85 | + * lang/calendar-no.js: updated (Daniel Holmen) | |
| 86 | + | |
| 87 | +2004-09-20 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 88 | + | |
| 89 | + * lang/calendar-no.js: updated (Daniel Holmen) | |
| 90 | + | |
| 91 | +2004-08-11 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 92 | + | |
| 93 | + * lang/calendar-nl.js: updated language file (thanks to Arjen Duursma) | |
| 94 | + | |
| 95 | + * lang/calendar-sp.js: updated (thanks to Rafael Velasco) | |
| 96 | + | |
| 97 | +2004-07-21 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 98 | + | |
| 99 | + * lang/calendar-br.js: updated | |
| 100 | + | |
| 101 | + * calendar-setup.js: fixed bug (dateText) | |
| 102 | + | |
| 103 | +2004-07-21 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 104 | + | |
| 105 | + * lang/calendar-br.js: updated | |
| 106 | + | |
| 107 | + * calendar-setup.js: fixed bug (dateText) | |
| 108 | + | |
| 109 | +2004-07-04 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 110 | + | |
| 111 | + * lang/calendar-lv.js: | |
| 112 | + added LV translation (thanks to Juris Valdovskis) | |
| 113 | + | |
| 114 | +2004-06-25 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 115 | + | |
| 116 | + * calendar.js: | |
| 117 | + fixed bug in IE (el.calendar.tooltips is null or not an object) | |
| 118 | + | |
| 119 | +2004-06-24 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 120 | + | |
| 121 | + * doc/reference.tex: fixed latex compilation | |
| 122 | + | |
| 123 | + * index.html: linking other sample files | |
| 124 | + | |
| 125 | + * calendar-setup.js, calendar.js, dayinfo.html: | |
| 126 | + ability to display day info (dateText parameter) + sample file | |
| 127 | + | |
| 128 | +2004-06-23 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 129 | + | |
| 130 | + * doc/reference.tex, lang/calendar-bg.js, lang/calendar-br.js, lang/calendar-ca.js, lang/calendar-en.js, lang/calendar-es.js, lang/calendar-fr.js, lang/calendar-it.js, lang/calendar-ko-utf8.js, lang/calendar-ko.js, lang/calendar-nl.js, lang/calendar-sv.js, README, calendar.js, index.html: | |
| 131 | + email address changed | |
| 132 | + | |
| 133 | +2004-06-14 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 134 | + | |
| 135 | + * lang/calendar-cs-utf8.js, lang/calendar-cs-win.js: | |
| 136 | + updated translations | |
| 137 | + | |
| 138 | + * calendar-system.css: added z-index to drop downs | |
| 139 | + | |
| 140 | + * lang/calendar-en.js: | |
| 141 | + first day of week can now be part of the language file | |
| 142 | + | |
| 143 | + * lang/calendar-es.js: | |
| 144 | + updated language file (thanks to Servilio Afre Puentes) | |
| 145 | + | |
| 146 | + * calendar-blue2.css, calendar-brown.css, calendar-green.css, calendar-tas.css, calendar-win2k-1.css, calendar-win2k-2.css, calendar-win2k-cold-1.css, calendar-win2k-cold-2.css, calendar-blue.css: | |
| 147 | + added z-index property to drop downs (fixes bug) | |
| 148 | + | |
| 149 | +2004-06-13 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 150 | + | |
| 151 | + * calendar-setup.js: fixed bug (apply showOthers to flat calendars too) | |
| 152 | + | |
| 153 | +2004-06-06 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 154 | + | |
| 155 | + * calendar-setup.js: | |
| 156 | + firstDay defaults to "null", in which case the value in the language file | |
| 157 | + will be used | |
| 158 | + | |
| 159 | + * calendar.js: | |
| 160 | + firstDayOfWeek can now default to a value specified in the language definition file | |
| 161 | + | |
| 162 | + * index.html: first day of week is now numeric | |
| 163 | + | |
| 164 | +2004-06-02 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 165 | + | |
| 166 | + * calendar.js: added date tooltip function | |
| 167 | + | |
| 168 | +2004-05-28 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 169 | + | |
| 170 | + * lang/calendar-br.js: updated (thanks to Marcos Pont) | |
| 171 | + | |
| 172 | + * calendar-setup.js: fixed small bug | |
| 173 | + | |
| 174 | +2004-05-01 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 175 | + | |
| 176 | + * calendar-setup.js: returns the calendar object | |
| 177 | + | |
| 178 | +2004-04-28 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 179 | + | |
| 180 | + * calendar-setup.js: | |
| 181 | + patch to read the date value from the inputField, according to ifFormat (if | |
| 182 | + both are passed), for flat calendars. (thanks Colin T. Hill) | |
| 183 | + | |
| 184 | +2004-04-20 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 185 | + | |
| 186 | + * calendar-setup.js, calendar.js, multiple-dates.html: | |
| 187 | + added support for multiple dates selection | |
| 188 | + | |
| 189 | + * lang/calendar-nl.js: | |
| 190 | + updated Dutch translation, thanks to Jeroen Wolsink | |
| 191 | + | |
| 192 | + * lang/calendar-big5-utf8.js, lang/calendar-big5.js: | |
| 193 | + Traditional Chinese language (thanks GaryFu) | |
| 194 | + | |
| 195 | +2004-03-26 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 196 | + | |
| 197 | + * lang/calendar-fr.js, lang/calendar-pt.js: updated | |
| 198 | + | |
| 199 | + * lang/calendar-ru_win_.js, lang/calendar-ru.js: | |
| 200 | + updated, thanks to Sly Golovanov | |
| 201 | + | |
| 202 | +2004-03-25 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 203 | + | |
| 204 | + * lang/calendar-fr.js: updated (thanks to David Duret) | |
| 205 | + | |
| 206 | +2004-03-24 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 207 | + | |
| 208 | + * lang/calendar-da.js: updated (thanks to Michael Thingmand Henriksen) | |
| 209 | + | |
| 210 | +2004-03-21 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 211 | + | |
| 212 | + * lang/calendar-ca.js: updated (thanks to David Valls) | |
| 213 | + | |
| 214 | +2004-03-17 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 215 | + | |
| 216 | + * lang/calendar-de.js: updated to UTF8 (thanks to Jack (tR)) | |
| 217 | + | |
| 218 | +2004-03-09 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 219 | + | |
| 220 | + * lang/calendar-bg.js: Bulgarian translation | |
| 221 | + | |
| 222 | +2004-03-08 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 223 | + | |
| 224 | + * lang/calendar-he-utf8.js: Hebrew translation (thanks to Idan Sofer) | |
| 225 | + | |
| 226 | + * lang/calendar-hu.js: updated (thanks to Istvan Karaszi) | |
| 227 | + | |
| 228 | +2004-02-27 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 229 | + | |
| 230 | + * lang/calendar-it.js: updated (thanks to Fabio Di Bernardini) | |
| 231 | + | |
| 232 | +2004-02-25 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 233 | + | |
| 234 | + * calendar.js: fix for Safari (thanks to Olivier Chirouze / XPWeb) | |
| 235 | + | |
| 236 | +2004-02-22 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 237 | + | |
| 238 | + * lang/calendar-al.js: Albanian language file | |
| 239 | + | |
| 240 | +2004-02-17 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 241 | + | |
| 242 | + * lang/calendar-fr.js: fixed | |
| 243 | + | |
| 244 | + * lang/calendar-fr.js: | |
| 245 | + FR translation updated (thanks to SIMON Alexandre) | |
| 246 | + | |
| 247 | + * lang/calendar-es.js: ES translation updated, thanks to David Gonzales | |
| 248 | + | |
| 249 | +2004-02-10 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 250 | + | |
| 251 | + * lang/calendar-pt.js: | |
| 252 | + updated Portugese translation, thanks to Elcio Ferreira | |
| 253 | + | |
| 254 | +2004-02-09 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 255 | + | |
| 256 | + * TODO: updated | |
| 257 | + | |
| 258 | +2004-02-06 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 259 | + | |
| 260 | + * README: describe the PHP files | |
| 261 | + | |
| 262 | + * make-release.pl: includes php files | |
| 263 | + | |
| 264 | + * make-release.pl: ChangeLog included in the distribution (if found) | |
| 265 | + | |
| 266 | + * calendar.js, doc/reference.tex, index.html: switched to version 0.9.6 | |
| 267 | + | |
| 268 | + * doc/Calendar.setup.tex, doc/reference.tex: updated documentation | |
| 269 | + | |
| 270 | + * release-notes.html: updated release notes | |
| 271 | + | |
| 272 | + * calendar.js: Fixed bug: Feb/29 and year change now keeps Feb in view | |
| 273 | + | |
| 274 | + * calendar.js: fixed the "ESC" problem (call the close handler) | |
| 275 | + | |
| 276 | + * calendar.js: fixed day of year range (1 to 366 instead of 0 to 365) | |
| 277 | + | |
| 278 | + * calendar.js: fixed week number calculations | |
| 279 | + | |
| 280 | + * doc/reference.tex: fixed (date input format) | |
| 281 | + | |
| 282 | + * calendar.php: removed comment | |
| 283 | + | |
| 284 | + * 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: | |
| 285 | + workaround for IE bug (you can't normally specify through CSS the style for | |
| 286 | + an element having two classes or more; we had to change a classname) | |
| 287 | + | |
| 288 | + * 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: | |
| 289 | + smaller fonts on days that are in neighbor months | |
| 290 | + | |
| 291 | +2004-02-04 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 292 | + | |
| 293 | + * index.html: first demo shows the "showOtherMonths" capability | |
| 294 | + | |
| 295 | + * calendar-setup.js: support new parameters in the calendar. | |
| 296 | + added: firstDay, showOthers, cache. | |
| 297 | + | |
| 298 | + * 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: | |
| 299 | + new parameters: firstDayOfWeek, showsOtherMonths; removed mondayFirst. | |
| 300 | + This adds support for setting any day to be the first day of week (by just | |
| 301 | + clicking the day name in the display); also, if showsOtherMonths is enabled | |
| 302 | + then dates belonging to adjacent months that are in the current view will be | |
| 303 | + displayed and the calendar will have a fixed height. | |
| 304 | + | |
| 305 | + all themes updated. | |
| 306 | + | |
| 307 | + * test.php: test for calendar.php | |
| 308 | + | |
| 309 | + * calendar.php: fixed bug (pass numeric values as numbers) | |
| 310 | + | |
| 311 | +2004-02-01 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 312 | + | |
| 313 | + * calendar.php: added PHP wrapper | |
| 314 | + | |
| 315 | + * img.gif: icon updated | |
| 316 | + | |
| 317 | + * TODO: updated TODO list | |
| 318 | + | |
| 319 | +2004-01-27 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 320 | + | |
| 321 | + * calendar.js: | |
| 322 | + Janusz Piwowarski sent over a patch for IE5 compatibility which is much more | |
| 323 | + elegant than the atrocities that I had wrote :-D I'm gettin' old.. Thanks Janusz! | |
| 324 | + | |
| 325 | + * lang/calendar-fi.js: updated | |
| 326 | + | |
| 327 | +2004-01-15 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 328 | + | |
| 329 | + * TODO: updated TODO list | |
| 330 | + | |
| 331 | + * calendar-setup.js: default align changed to "Br" | |
| 332 | + | |
| 333 | + * doc/reference.tex: changed default value for "align" | |
| 334 | + | |
| 335 | + * calendar-setup.js: calling onchange event handler, if available | |
| 336 | + | |
| 337 | + * calendar-setup.js: added "position" option | |
| 338 | + | |
| 339 | + * simple-1.html: demonstrates "step" option | |
| 340 | + | |
| 341 | + * calendar-setup.js: added "step" option | |
| 342 | + | |
| 343 | + * calendar.js: added yearStep config parameter | |
| 344 | + | |
| 345 | + * calendar.js: | |
| 346 | + fixed parseDate routine (the NaN bug which occurred when there was a space | |
| 347 | + after the date and no time) | |
| 348 | + | |
| 349 | +2004-01-14 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 350 | + | |
| 351 | + * lang/calendar-en.js: added "Time:" | |
| 352 | + | |
| 353 | + * test-position.html: test for the new position algorithm | |
| 354 | + | |
| 355 | + * index.html: do not destroy() the calendar | |
| 356 | + avoid bug in parseDate (%p must be separated by non-word characters) | |
| 357 | + | |
| 358 | + * menuarrow2.gif: for calendar-blue2.css | |
| 359 | + | |
| 360 | + * calendar-setup.js: honor "date" parameter if passed | |
| 361 | + | |
| 362 | + * calendar.js: IE5 support is back | |
| 363 | + performance improvements in IE6 (mouseover combo boxes) | |
| 364 | + display "Time:" beside the clock area, if defined in the language file | |
| 365 | + new positioning algorithm (try to keep the calendar in page) | |
| 366 | + rewrote parseDate a little cleaner | |
| 367 | + | |
| 368 | + * lang/calendar-el.js: | |
| 369 | + updated Greek translation (thanks Alexandros Pappas) | |
| 370 | + | |
| 371 | +2004-01-13 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 372 | + | |
| 373 | + * index.html: added style blue2, using utf-8 instead of iso-8859-2 | |
| 374 | + | |
| 375 | + * calendar.js: performance under IE (which sucks, by the way) | |
| 376 | + | |
| 377 | + * doc/reference.tex: Sunny added to sponsor list | |
| 378 | + | |
| 379 | + * doc/Calendar.setup.tex: documenting parameter 'electric' | |
| 380 | + | |
| 381 | + * 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: | |
| 382 | + fixed IE text size problems | |
| 383 | + | |
| 384 | +2004-01-08 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 385 | + | |
| 386 | + * lang/calendar-pl.js: | |
| 387 | + Polish translation updated to UTF-8 (thanks to Artur Filipiak) | |
| 388 | + | |
| 389 | +2004-01-07 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 390 | + | |
| 391 | + * lang/calendar-si.js: updated (David Milost) | |
| 392 | + | |
| 393 | + * lang/calendar-si.js: Slovenian translation (thanks to David Milost) | |
| 394 | + | |
| 395 | +2003-12-21 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 396 | + | |
| 397 | + * TODO: updated TODO list | |
| 398 | + | |
| 399 | + * lang/calendar-de.js: German translation (thanks to Peter Strotmann) | |
| 400 | + | |
| 401 | +2003-12-19 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 402 | + | |
| 403 | + * doc/reference.tex: Thank you, Ian Barrak | |
| 404 | + | |
| 405 | +2003-12-18 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 406 | + | |
| 407 | + * doc/reference.tex: fixed documentation bug (thanks Mike) | |
| 408 | + | |
| 409 | +2003-12-05 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 410 | + | |
| 411 | + * lang/calendar-ko-utf8.js: | |
| 412 | + UTF8 version of the Korean language (hopefully correct) | |
| 413 | + | |
| 414 | + * lang/calendar-pl-utf8.js, lang/calendar-pl.js: | |
| 415 | + updated Polish translation (thanks to Janusz Piwowarski) | |
| 416 | + | |
| 417 | +2003-12-04 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 418 | + | |
| 419 | + * lang/calendar-fr.js: | |
| 420 | + French translation updated (thanks to Angiras Rama) | |
| 421 | + | |
| 422 | +2003-11-22 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 423 | + | |
| 424 | + * lang/calendar-da.js: updated (thanks to Jesper M. Christensen) | |
| 425 | + | |
| 426 | +2003-11-20 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 427 | + | |
| 428 | + * calendar-blue2.css, calendar-tas.css: | |
| 429 | + new styles (thanks to Wendall Mosemann for blue2, Mark Lynch for tas) | |
| 430 | + | |
| 431 | + * lang/calendar-lt-utf8.js, lang/calendar-lt.js: | |
| 432 | + Lithuanian translation (thanks to Martynas Majeris) | |
| 433 | + | |
| 434 | + * lang/calendar-sp.js: updated | |
| 435 | + | |
| 436 | +2003-11-17 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 437 | + | |
| 438 | + * TODO: added TODO list | |
| 439 | + | |
| 440 | +2003-11-14 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 441 | + | |
| 442 | + * lang/calendar-ko.js: Korean translation (thanks to Yourim Yi) | |
| 443 | + | |
| 444 | +2003-11-12 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 445 | + | |
| 446 | + * lang/calendar-jp.js: small bug fixed (thanks to TAHARA Yusei) | |
| 447 | + | |
| 448 | +2003-11-10 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 449 | + | |
| 450 | + * lang/calendar-fr.js: translation updated, thanks to Florent Ramiere | |
| 451 | + | |
| 452 | + * calendar-setup.js: | |
| 453 | + added new parameter: electric (if false then the field will not get updated on each move) | |
| 454 | + | |
| 455 | + * index.html: fixed DOCTYPE | |
| 456 | + | |
| 457 | +2003-11-07 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 458 | + | |
| 459 | + * calendar-setup.js: | |
| 460 | + fixed minor problem (maybe we're passing object reference instead of ID for | |
| 461 | + the flat calendar parent) | |
| 462 | + | |
| 463 | +2003-11-06 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 464 | + | |
| 465 | + * lang/calendar-fi.js: | |
| 466 | + added Finnish translation (thanks to Antti Tuppurainen) | |
| 467 | + | |
| 468 | +2003-11-05 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 469 | + | |
| 470 | + * release-notes.html: fixed typo | |
| 471 | + | |
| 472 | + * doc/reference.tex, index.html, calendar.js: 0.9.5 | |
| 473 | + | |
| 474 | + * README: fixed license statement | |
| 475 | + | |
| 476 | + * release-notes.html: updated release notes (0.9.5) | |
| 477 | + | |
| 478 | +2003-11-03 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 479 | + | |
| 480 | + * lang/calendar-de.js: | |
| 481 | + updated German translation (thanks to Gerhard Neiner) | |
| 482 | + | |
| 483 | + * calendar-setup.js: fixed license statement | |
| 484 | + | |
| 485 | + * calendar.js: whitespace | |
| 486 | + | |
| 487 | + * calendar.js: fixed license statement | |
| 488 | + | |
| 489 | + * calendar.js: | |
| 490 | + fixed positioning problem when input field is inside scrolled divs | |
| 491 | + | |
| 492 | +2003-11-01 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 493 | + | |
| 494 | + * lang/calendar-af.js: Afrikaan language (thanks to Derick Olivier) | |
| 495 | + | |
| 496 | +2003-10-31 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 497 | + | |
| 498 | + * lang/calendar-it.js: | |
| 499 | + updated IT translation (thanks to Christian Blaser) | |
| 500 | + | |
| 501 | + * lang/calendar-es.js: updated ES translation, thanks to Raul | |
| 502 | + | |
| 503 | +2003-10-30 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 504 | + | |
| 505 | + * lang/calendar-hu.js: updated thanks to Istvan Karaszi | |
| 506 | + | |
| 507 | + * index.html, simple-1.html, simple-2.html, simple-3.html: | |
| 508 | + switched to utf-8 all encodings | |
| 509 | + | |
| 510 | + * lang/calendar-sk.js: | |
| 511 | + added Slovak translation (thanks to Peter Valach) | |
| 512 | + | |
| 513 | + * lang/calendar-ro.js: switched to utf-8 | |
| 514 | + | |
| 515 | +2003-10-29 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 516 | + | |
| 517 | + * lang/calendar-es.js: | |
| 518 | + updated translation, thanks to Jose Ma. Martinez Miralles | |
| 519 | + | |
| 520 | + * doc/reference.tex: | |
| 521 | + fixed the footnote problem (thanks Dominique de Waleffe for the tip) | |
| 522 | + | |
| 523 | + * lang/calendar-ro.js: fixed typo | |
| 524 | + | |
| 525 | + * lang/calendar-sv.js: oops, license should be LGPL | |
| 526 | + | |
| 527 | + * lang/calendar-sw.js: new swedish translation is calendar-sv.js | |
| 528 | + | |
| 529 | + * menuarrow.gif, menuarrow.png: | |
| 530 | + oops, forgot little drop-down menu arrows | |
| 531 | + | |
| 532 | + * lang/calendar-sv.js: swedish translation thanks to Leonard Norrgard | |
| 533 | + | |
| 534 | + * index.html: oops, some other minor changes | |
| 535 | + | |
| 536 | + * index.html, release-notes.html: | |
| 537 | + latest changes in release-notes and index page for 0.9.4 | |
| 538 | + | |
| 539 | + * doc/reference.tex, calendar.js: | |
| 540 | + added %s date format (# of seconds since Epoch) | |
| 541 | + | |
| 542 | + * calendar.js: | |
| 543 | + A click on TODAY will not close the calendar, even in single-click mode | |
| 544 | + | |
| 545 | +2003-10-28 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 546 | + | |
| 547 | + * index.html: previous cal.html | |
| 548 | + | |
| 549 | + * cal.html: moved to index.html | |
| 550 | + | |
| 551 | + * README, cal.html, doc/reference.tex, lang/calendar-de.js, lang/calendar-en.js, lang/calendar-ro.js, release-notes.html: | |
| 552 | + LGPL license, forever. | |
| 553 | + | |
| 554 | + * doc/Calendar.setup.tex, simple-1.html: | |
| 555 | + doc updated for the onUpdate parameter to Calendar.setup | |
| 556 | + | |
| 557 | +2003-10-26 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 558 | + | |
| 559 | + * calendar.js: fixed bug (correct display of the dropdown menus) | |
| 560 | + | |
| 561 | + * 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: | |
| 562 | + lots of changes for the 0.9.4 release (see the release-notes.html) | |
| 563 | + | |
| 564 | +2003-10-15 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 565 | + | |
| 566 | + * doc/reference.tex: | |
| 567 | + documentation updated for 0.9.4 (not yet finished though) | |
| 568 | + | |
| 569 | +2003-10-07 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 570 | + | |
| 571 | + * calendar.js, doc/reference.tex, release-notes.html, README, cal.html, calendar-setup.js: | |
| 572 | + modified project website | |
| 573 | + | |
| 574 | +2003-10-06 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 575 | + | |
| 576 | + * calendar-setup.js: | |
| 577 | + added some properties (onSelect, onClose, date) (thanks altblue) | |
| 578 | + | |
| 579 | +2003-09-24 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 580 | + | |
| 581 | + * simple-3.html: dateIsSpecial does not need the "date" argument ;-) | |
| 582 | + | |
| 583 | +2003-09-24 fsoft <fsoft@mishoo> | |
| 584 | + | |
| 585 | + * calendar.js, simple-3.html: | |
| 586 | + added year, month, day to getDateStatus() function | |
| 587 | + | |
| 588 | +2003-09-24 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 589 | + | |
| 590 | + * simple-3.html: example on how to use special dates | |
| 591 | + | |
| 592 | + * calendar-setup.js, calendar.js, simple-1.html: | |
| 593 | + support for special dates (thanks fabio) | |
| 594 | + | |
| 595 | +2003-09-17 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 596 | + | |
| 597 | + * doc/reference.tex: fixed error in section 3. | |
| 598 | + | |
| 599 | +2003-08-01 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 600 | + | |
| 601 | + * lang/calendar-jp.js: added Japanese translation | |
| 602 | + | |
| 603 | +2003-07-16 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 604 | + | |
| 605 | + * simple-1.html: fixed problem with first example [IE,Opera] | |
| 606 | + | |
| 607 | +2003-07-09 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 608 | + | |
| 609 | + * doc/Calendar.setup.tex: fixed typo (closing parenthesis) | |
| 610 | + | |
| 611 | + * lang/calendar-de.js: | |
| 612 | + added German translation, thanks to Hartwig Weinkauf | |
| 613 | + | |
| 614 | +2003-07-08 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 615 | + | |
| 616 | + * cal.html: added link to release-notes | |
| 617 | + | |
| 618 | + * release-notes.html: 0.9.3 release notes | |
| 619 | + | |
| 620 | + * make-release.pl: | |
| 621 | + Script to create distribution archive. It needs some additional packages: | |
| 622 | + | |
| 623 | + - LaTeX | |
| 624 | + - tex2page | |
| 625 | + - jscrunch (JS compressor) | |
| 626 | + | |
| 627 | + * doc/html/makedoc.sh, doc/html/reference.css, doc/reference.tex, doc/makedoc.sh: | |
| 628 | + documentation updates... | |
| 629 | + | |
| 630 | + * calendar.js: added semicolon to make the code "compressible" | |
| 631 | + | |
| 632 | +2003-07-06 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 633 | + | |
| 634 | + * doc/reference.tex: spell checked | |
| 635 | + | |
| 636 | + * doc/reference.tex: [minor] changed credits order | |
| 637 | + | |
| 638 | + * doc/reference.tex: various improvements and additions | |
| 639 | + | |
| 640 | + * doc/html/reference.css: minor eye-candy tweaks | |
| 641 | + | |
| 642 | +2003-07-05 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 643 | + | |
| 644 | + * 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: | |
| 645 | + full documentation in LaTeX, for PDF and HTML formats | |
| 646 | + | |
| 647 | + * simple-2.html: | |
| 648 | + added demonstration of flat calendar with Calendar.setup | |
| 649 | + | |
| 650 | + * simple-1.html: | |
| 651 | + modified some links, added link to documentation, added demonstration of | |
| 652 | + disableFunc property | |
| 653 | + | |
| 654 | + * calendar-setup.js: added the ability to create flat calendar too | |
| 655 | + | |
| 656 | + * cal.html: added links to documentation and simple-[12].html pages | |
| 657 | + | |
| 658 | + * README: up-to-date... | |
| 659 | + | |
| 660 | + * calendar-setup.html: removed: the documentation is unified | |
| 661 | + | |
| 662 | +2003-07-03 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 663 | + | |
| 664 | + * cal.html: some links to newly added files | |
| 665 | + | |
| 666 | + * calendar-setup.html, calendar-setup.js, img.gif, simple-1.html: | |
| 667 | + added some files to simplify calendar creation for non-(JS)-programmers | |
| 668 | + | |
| 669 | + * lang/calendar-zh.js: added simplified chinese (thanks ATang) | |
| 670 | + | |
| 671 | +2003-07-02 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 672 | + | |
| 673 | + * calendar.js: * "yy"-related... [small fix] | |
| 674 | + | |
| 675 | + * calendar.js: | |
| 676 | + * #721833 fixed (yy format will understand years prior to 29 as 20xx) | |
| 677 | + | |
| 678 | + * calendar.js: * added refresh() function | |
| 679 | + | |
| 680 | + * calendar.js: * fixed bug when in single click mode | |
| 681 | + * added alignment options to "showAtElement" member function | |
| 682 | + | |
| 683 | +2003-06-25 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 684 | + | |
| 685 | + * lang/calendar-pt.js: | |
| 686 | + added portugese translation (thanks Nuno Barreto) | |
| 687 | + | |
| 688 | +2003-06-24 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 689 | + | |
| 690 | + * calendar.js: | |
| 691 | + call user handler when the date was changed using the keyboard | |
| 692 | + | |
| 693 | + * bugtest-hidden-selects.html: | |
| 694 | + file to test bug with hidden select-s (thanks Ying Zhang for reporting and for this test file) | |
| 695 | + | |
| 696 | + * lang/calendar-hr-utf8.js: | |
| 697 | + added croatian translation in utf8 (thanks Krunoslav Zubrinic) | |
| 698 | + | |
| 699 | +2003-06-23 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 700 | + | |
| 701 | + * lang/calendar-hu.js: added hungarian translation | |
| 702 | + | |
| 703 | + * lang/calendar-hr.js: | |
| 704 | + added croatian translation (thanks to Krunoslav Zubrinic) | |
| 705 | + | |
| 706 | +2003-06-22 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 707 | + | |
| 708 | + * calendar.js: | |
| 709 | + * #723335 fixed (clicking TODAY will not select the today date if the | |
| 710 | + disabledHandler rejects it) | |
| 711 | + | |
| 712 | + * cal.html: * new code for to work with fix for bug #703238 | |
| 713 | + * switch to new version | |
| 714 | + | |
| 715 | + * calendar.js: | |
| 716 | + * some patches to make code compatible with Opera 7 (well, almost compatible) | |
| 717 | + * bug #703238 fixed (fix breaks compatibility with older code that uses | |
| 718 | + calendar in single-click mode) | |
| 719 | + * bug #703814 fixed | |
| 720 | + | |
| 721 | +2003-04-09 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 722 | + | |
| 723 | + * lang/calendar-tr.js: added turkish lang file | |
| 724 | + | |
| 725 | +2003-03-19 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 726 | + | |
| 727 | + * lang/calendar-ru.js: russian translation added | |
| 728 | + | |
| 729 | + * lang/calendar-no.js: norwegian translation added | |
| 730 | + | |
| 731 | +2003-03-15 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 732 | + | |
| 733 | + * lang/calendar-no.js: norwegian translation | |
| 734 | + | |
| 735 | +2003-03-12 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 736 | + | |
| 737 | + * lang/calendar-pl.js: added polish translation | |
| 738 | + | |
| 739 | +2003-03-11 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 740 | + | |
| 741 | + * calendar.js: | |
| 742 | + bugfix in parseDate (added base to parseInt, thanks Alan!) | |
| 743 | + | |
| 744 | +2003-03-05 Mihai Bazon <mihai_bazon@yahoo.com> | |
| 745 | + | |
| 746 | + * 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: | |
| 747 | + New file. | |
| 748 | + | |
| 749 | + * 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: | |
| 750 | + moved to CVS at sourceforge.net | |
| 751 | + release: 0.9.2 + new language packs | |
| 752 | + | |
| 753 | + | |
| 754 | + * 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: | |
| 755 | + New file. | |
| 756 | + | |
| 757 | + * 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: | |
| 758 | + moved to CVS at sourceforge.net | |
| 759 | + release: 0.9.2 + new language packs | |
| 760 | + | |
| 761 | + | ... | ... |
thirdpartyjs/jscalendar-1.0/README
0 โ 100644
| 1 | +The DHTML Calendar | |
| 2 | +------------------- | |
| 3 | + | |
| 4 | + Author: Mihai Bazon, <mihai_bazon@yahoo.com> | |
| 5 | + http://dynarch.com/mishoo/ | |
| 6 | + | |
| 7 | + This program is free software published under the | |
| 8 | + terms of the GNU Lesser General Public License. | |
| 9 | + | |
| 10 | + For the entire license text please refer to | |
| 11 | + http://www.gnu.org/licenses/lgpl.html | |
| 12 | + | |
| 13 | +Contents | |
| 14 | +--------- | |
| 15 | + | |
| 16 | + calendar.js -- the main program file | |
| 17 | + lang/*.js -- internalization files | |
| 18 | + *.css -- color themes | |
| 19 | + cal.html -- example usage file | |
| 20 | + doc/ -- documentation, in PDF and HTML | |
| 21 | + simple-1.html -- quick setup examples [popup calendars] | |
| 22 | + simple-2.html -- quick setup example for flat calendar | |
| 23 | + calendar.php -- PHP wrapper | |
| 24 | + test.php -- test file for the PHP wrapper | |
| 25 | + | |
| 26 | +Homepage | |
| 27 | +--------- | |
| 28 | + | |
| 29 | + For details and latest versions please refer to calendar | |
| 30 | + homepage, located on my website: | |
| 31 | + | |
| 32 | + http://dynarch.com/mishoo/calendar.epl | |
| 33 | + | ... | ... |
thirdpartyjs/jscalendar-1.0/calendar-blue.css
0 โ 100644
| 1 | +/* The main calendar widget. DIV containing a table. */ | |
| 2 | + | |
| 3 | +div.calendar { position: relative; } | |
| 4 | + | |
| 5 | +.calendar, .calendar table { | |
| 6 | + border: 1px solid #556; | |
| 7 | + font-size: 11px; | |
| 8 | + color: #000; | |
| 9 | + cursor: default; | |
| 10 | + background: #eef; | |
| 11 | + font-family: tahoma,verdana,sans-serif; | |
| 12 | +} | |
| 13 | + | |
| 14 | +/* Header part -- contains navigation buttons and day names. */ | |
| 15 | + | |
| 16 | +.calendar .button { /* "<<", "<", ">", ">>" buttons have this class */ | |
| 17 | + text-align: center; /* They are the navigation buttons */ | |
| 18 | + padding: 2px; /* Make the buttons seem like they're pressing */ | |
| 19 | +} | |
| 20 | + | |
| 21 | +.calendar .nav { | |
| 22 | + background: #778 url(menuarrow.gif) no-repeat 100% 100%; | |
| 23 | +} | |
| 24 | + | |
| 25 | +.calendar thead .title { /* This holds the current "month, year" */ | |
| 26 | + font-weight: bold; /* Pressing it will take you to the current date */ | |
| 27 | + text-align: center; | |
| 28 | + background: #fff; | |
| 29 | + color: #000; | |
| 30 | + padding: 2px; | |
| 31 | +} | |
| 32 | + | |
| 33 | +.calendar thead .headrow { /* Row <TR> containing navigation buttons */ | |
| 34 | + background: #778; | |
| 35 | + color: #fff; | |
| 36 | +} | |
| 37 | + | |
| 38 | +.calendar thead .daynames { /* Row <TR> containing the day names */ | |
| 39 | + background: #bdf; | |
| 40 | +} | |
| 41 | + | |
| 42 | +.calendar thead .name { /* Cells <TD> containing the day names */ | |
| 43 | + border-bottom: 1px solid #556; | |
| 44 | + padding: 2px; | |
| 45 | + text-align: center; | |
| 46 | + color: #000; | |
| 47 | +} | |
| 48 | + | |
| 49 | +.calendar thead .weekend { /* How a weekend day name shows in header */ | |
| 50 | + color: #a66; | |
| 51 | +} | |
| 52 | + | |
| 53 | +.calendar thead .hilite { /* How do the buttons in header appear when hover */ | |
| 54 | + background-color: #aaf; | |
| 55 | + color: #000; | |
| 56 | + border: 1px solid #04f; | |
| 57 | + padding: 1px; | |
| 58 | +} | |
| 59 | + | |
| 60 | +.calendar thead .active { /* Active (pressed) buttons in header */ | |
| 61 | + background-color: #77c; | |
| 62 | + padding: 2px 0px 0px 2px; | |
| 63 | +} | |
| 64 | + | |
| 65 | +/* The body part -- contains all the days in month. */ | |
| 66 | + | |
| 67 | +.calendar tbody .day { /* Cells <TD> containing month days dates */ | |
| 68 | + width: 2em; | |
| 69 | + color: #456; | |
| 70 | + text-align: right; | |
| 71 | + padding: 2px 4px 2px 2px; | |
| 72 | +} | |
| 73 | +.calendar tbody .day.othermonth { | |
| 74 | + font-size: 80%; | |
| 75 | + color: #bbb; | |
| 76 | +} | |
| 77 | +.calendar tbody .day.othermonth.oweekend { | |
| 78 | + color: #fbb; | |
| 79 | +} | |
| 80 | + | |
| 81 | +.calendar table .wn { | |
| 82 | + padding: 2px 3px 2px 2px; | |
| 83 | + border-right: 1px solid #000; | |
| 84 | + background: #bdf; | |
| 85 | +} | |
| 86 | + | |
| 87 | +.calendar tbody .rowhilite td { | |
| 88 | + background: #def; | |
| 89 | +} | |
| 90 | + | |
| 91 | +.calendar tbody .rowhilite td.wn { | |
| 92 | + background: #eef; | |
| 93 | +} | |
| 94 | + | |
| 95 | +.calendar tbody td.hilite { /* Hovered cells <TD> */ | |
| 96 | + background: #def; | |
| 97 | + padding: 1px 3px 1px 1px; | |
| 98 | + border: 1px solid #bbb; | |
| 99 | +} | |
| 100 | + | |
| 101 | +.calendar tbody td.active { /* Active (pressed) cells <TD> */ | |
| 102 | + background: #cde; | |
| 103 | + padding: 2px 2px 0px 2px; | |
| 104 | +} | |
| 105 | + | |
| 106 | +.calendar tbody td.selected { /* Cell showing today date */ | |
| 107 | + font-weight: bold; | |
| 108 | + border: 1px solid #000; | |
| 109 | + padding: 1px 3px 1px 1px; | |
| 110 | + background: #fff; | |
| 111 | + color: #000; | |
| 112 | +} | |
| 113 | + | |
| 114 | +.calendar tbody td.weekend { /* Cells showing weekend days */ | |
| 115 | + color: #a66; | |
| 116 | +} | |
| 117 | + | |
| 118 | +.calendar tbody td.today { /* Cell showing selected date */ | |
| 119 | + font-weight: bold; | |
| 120 | + color: #00f; | |
| 121 | +} | |
| 122 | + | |
| 123 | +.calendar tbody .disabled { color: #999; } | |
| 124 | + | |
| 125 | +.calendar tbody .emptycell { /* Empty cells (the best is to hide them) */ | |
| 126 | + visibility: hidden; | |
| 127 | +} | |
| 128 | + | |
| 129 | +.calendar tbody .emptyrow { /* Empty row (some months need less than 6 rows) */ | |
| 130 | + display: none; | |
| 131 | +} | |
| 132 | + | |
| 133 | +/* The footer part -- status bar and "Close" button */ | |
| 134 | + | |
| 135 | +.calendar tfoot .footrow { /* The <TR> in footer (only one right now) */ | |
| 136 | + text-align: center; | |
| 137 | + background: #556; | |
| 138 | + color: #fff; | |
| 139 | +} | |
| 140 | + | |
| 141 | +.calendar tfoot .ttip { /* Tooltip (status bar) cell <TD> */ | |
| 142 | + background: #fff; | |
| 143 | + color: #445; | |
| 144 | + border-top: 1px solid #556; | |
| 145 | + padding: 1px; | |
| 146 | +} | |
| 147 | + | |
| 148 | +.calendar tfoot .hilite { /* Hover style for buttons in footer */ | |
| 149 | + background: #aaf; | |
| 150 | + border: 1px solid #04f; | |
| 151 | + color: #000; | |
| 152 | + padding: 1px; | |
| 153 | +} | |
| 154 | + | |
| 155 | +.calendar tfoot .active { /* Active (pressed) style for buttons in footer */ | |
| 156 | + background: #77c; | |
| 157 | + padding: 2px 0px 0px 2px; | |
| 158 | +} | |
| 159 | + | |
| 160 | +/* Combo boxes (menus that display months/years for direct selection) */ | |
| 161 | + | |
| 162 | +.calendar .combo { | |
| 163 | + position: absolute; | |
| 164 | + display: none; | |
| 165 | + top: 0px; | |
| 166 | + left: 0px; | |
| 167 | + width: 4em; | |
| 168 | + cursor: default; | |
| 169 | + border: 1px solid #655; | |
| 170 | + background: #def; | |
| 171 | + color: #000; | |
| 172 | + font-size: 90%; | |
| 173 | + z-index: 100; | |
| 174 | +} | |
| 175 | + | |
| 176 | +.calendar .combo .label, | |
| 177 | +.calendar .combo .label-IEfix { | |
| 178 | + text-align: center; | |
| 179 | + padding: 1px; | |
| 180 | +} | |
| 181 | + | |
| 182 | +.calendar .combo .label-IEfix { | |
| 183 | + width: 4em; | |
| 184 | +} | |
| 185 | + | |
| 186 | +.calendar .combo .hilite { | |
| 187 | + background: #acf; | |
| 188 | +} | |
| 189 | + | |
| 190 | +.calendar .combo .active { | |
| 191 | + border-top: 1px solid #46a; | |
| 192 | + border-bottom: 1px solid #46a; | |
| 193 | + background: #eef; | |
| 194 | + font-weight: bold; | |
| 195 | +} | |
| 196 | + | |
| 197 | +.calendar td.time { | |
| 198 | + border-top: 1px solid #000; | |
| 199 | + padding: 1px 0px; | |
| 200 | + text-align: center; | |
| 201 | + background-color: #f4f0e8; | |
| 202 | +} | |
| 203 | + | |
| 204 | +.calendar td.time .hour, | |
| 205 | +.calendar td.time .minute, | |
| 206 | +.calendar td.time .ampm { | |
| 207 | + padding: 0px 3px 0px 4px; | |
| 208 | + border: 1px solid #889; | |
| 209 | + font-weight: bold; | |
| 210 | + background-color: #fff; | |
| 211 | +} | |
| 212 | + | |
| 213 | +.calendar td.time .ampm { | |
| 214 | + text-align: center; | |
| 215 | +} | |
| 216 | + | |
| 217 | +.calendar td.time .colon { | |
| 218 | + padding: 0px 2px 0px 3px; | |
| 219 | + font-weight: bold; | |
| 220 | +} | |
| 221 | + | |
| 222 | +.calendar td.time span.hilite { | |
| 223 | + border-color: #000; | |
| 224 | + background-color: #667; | |
| 225 | + color: #fff; | |
| 226 | +} | |
| 227 | + | |
| 228 | +.calendar td.time span.active { | |
| 229 | + border-color: #f00; | |
| 230 | + background-color: #000; | |
| 231 | + color: #0f0; | |
| 232 | +} | ... | ... |
thirdpartyjs/jscalendar-1.0/calendar-blue2.css
0 โ 100644
| 1 | +/* The main calendar widget. DIV containing a table. */ | |
| 2 | + | |
| 3 | +div.calendar { position: relative; } | |
| 4 | + | |
| 5 | +.calendar, .calendar table { | |
| 6 | + border: 1px solid #206A9B; | |
| 7 | + font-size: 11px; | |
| 8 | + color: #000; | |
| 9 | + cursor: default; | |
| 10 | + background: #F1F8FC; | |
| 11 | + font-family: tahoma,verdana,sans-serif; | |
| 12 | +} | |
| 13 | + | |
| 14 | +/* Header part -- contains navigation buttons and day names. */ | |
| 15 | + | |
| 16 | +.calendar .button { /* "<<", "<", ">", ">>" buttons have this class */ | |
| 17 | + text-align: center; /* They are the navigation buttons */ | |
| 18 | + padding: 2px; /* Make the buttons seem like they're pressing */ | |
| 19 | +} | |
| 20 | + | |
| 21 | +.calendar .nav { | |
| 22 | + background: #007ED1 url(menuarrow2.gif) no-repeat 100% 100%; | |
| 23 | +} | |
| 24 | + | |
| 25 | +.calendar thead .title { /* This holds the current "month, year" */ | |
| 26 | + font-weight: bold; /* Pressing it will take you to the current date */ | |
| 27 | + text-align: center; | |
| 28 | + background: #000; | |
| 29 | + color: #fff; | |
| 30 | + padding: 2px; | |
| 31 | +} | |
| 32 | + | |
| 33 | +.calendar thead tr { /* Row <TR> containing navigation buttons */ | |
| 34 | + background: #007ED1; | |
| 35 | + color: #fff; | |
| 36 | +} | |
| 37 | + | |
| 38 | +.calendar thead .daynames { /* Row <TR> containing the day names */ | |
| 39 | + background: #C7E1F3; | |
| 40 | +} | |
| 41 | + | |
| 42 | +.calendar thead .name { /* Cells <TD> containing the day names */ | |
| 43 | + border-bottom: 1px solid #206A9B; | |
| 44 | + padding: 2px; | |
| 45 | + text-align: center; | |
| 46 | + color: #000; | |
| 47 | +} | |
| 48 | + | |
| 49 | +.calendar thead .weekend { /* How a weekend day name shows in header */ | |
| 50 | + color: #a66; | |
| 51 | +} | |
| 52 | + | |
| 53 | +.calendar thead .hilite { /* How do the buttons in header appear when hover */ | |
| 54 | + background-color: #34ABFA; | |
| 55 | + color: #000; | |
| 56 | + border: 1px solid #016DC5; | |
| 57 | + padding: 1px; | |
| 58 | +} | |
| 59 | + | |
| 60 | +.calendar thead .active { /* Active (pressed) buttons in header */ | |
| 61 | + background-color: #006AA9; | |
| 62 | + border: 1px solid #008AFF; | |
| 63 | + padding: 2px 0px 0px 2px; | |
| 64 | +} | |
| 65 | + | |
| 66 | +/* The body part -- contains all the days in month. */ | |
| 67 | + | |
| 68 | +.calendar tbody .day { /* Cells <TD> containing month days dates */ | |
| 69 | + width: 2em; | |
| 70 | + color: #456; | |
| 71 | + text-align: right; | |
| 72 | + padding: 2px 4px 2px 2px; | |
| 73 | +} | |
| 74 | +.calendar tbody .day.othermonth { | |
| 75 | + font-size: 80%; | |
| 76 | + color: #bbb; | |
| 77 | +} | |
| 78 | +.calendar tbody .day.othermonth.oweekend { | |
| 79 | + color: #fbb; | |
| 80 | +} | |
| 81 | + | |
| 82 | +.calendar table .wn { | |
| 83 | + padding: 2px 3px 2px 2px; | |
| 84 | + border-right: 1px solid #000; | |
| 85 | + background: #C7E1F3; | |
| 86 | +} | |
| 87 | + | |
| 88 | +.calendar tbody .rowhilite td { | |
| 89 | + background: #def; | |
| 90 | +} | |
| 91 | + | |
| 92 | +.calendar tbody .rowhilite td.wn { | |
| 93 | + background: #F1F8FC; | |
| 94 | +} | |
| 95 | + | |
| 96 | +.calendar tbody td.hilite { /* Hovered cells <TD> */ | |
| 97 | + background: #def; | |
| 98 | + padding: 1px 3px 1px 1px; | |
| 99 | + border: 1px solid #8FC4E8; | |
| 100 | +} | |
| 101 | + | |
| 102 | +.calendar tbody td.active { /* Active (pressed) cells <TD> */ | |
| 103 | + background: #cde; | |
| 104 | + padding: 2px 2px 0px 2px; | |
| 105 | +} | |
| 106 | + | |
| 107 | +.calendar tbody td.selected { /* Cell showing today date */ | |
| 108 | + font-weight: bold; | |
| 109 | + border: 1px solid #000; | |
| 110 | + padding: 1px 3px 1px 1px; | |
| 111 | + background: #fff; | |
| 112 | + color: #000; | |
| 113 | +} | |
| 114 | + | |
| 115 | +.calendar tbody td.weekend { /* Cells showing weekend days */ | |
| 116 | + color: #a66; | |
| 117 | +} | |
| 118 | + | |
| 119 | +.calendar tbody td.today { /* Cell showing selected date */ | |
| 120 | + font-weight: bold; | |
| 121 | + color: #D50000; | |
| 122 | +} | |
| 123 | + | |
| 124 | +.calendar tbody .disabled { color: #999; } | |
| 125 | + | |
| 126 | +.calendar tbody .emptycell { /* Empty cells (the best is to hide them) */ | |
| 127 | + visibility: hidden; | |
| 128 | +} | |
| 129 | + | |
| 130 | +.calendar tbody .emptyrow { /* Empty row (some months need less than 6 rows) */ | |
| 131 | + display: none; | |
| 132 | +} | |
| 133 | + | |
| 134 | +/* The footer part -- status bar and "Close" button */ | |
| 135 | + | |
| 136 | +.calendar tfoot .footrow { /* The <TR> in footer (only one right now) */ | |
| 137 | + text-align: center; | |
| 138 | + background: #206A9B; | |
| 139 | + color: #fff; | |
| 140 | +} | |
| 141 | + | |
| 142 | +.calendar tfoot .ttip { /* Tooltip (status bar) cell <TD> */ | |
| 143 | + background: #000; | |
| 144 | + color: #fff; | |
| 145 | + border-top: 1px solid #206A9B; | |
| 146 | + padding: 1px; | |
| 147 | +} | |
| 148 | + | |
| 149 | +.calendar tfoot .hilite { /* Hover style for buttons in footer */ | |
| 150 | + background: #B8DAF0; | |
| 151 | + border: 1px solid #178AEB; | |
| 152 | + color: #000; | |
| 153 | + padding: 1px; | |
| 154 | +} | |
| 155 | + | |
| 156 | +.calendar tfoot .active { /* Active (pressed) style for buttons in footer */ | |
| 157 | + background: #006AA9; | |
| 158 | + padding: 2px 0px 0px 2px; | |
| 159 | +} | |
| 160 | + | |
| 161 | +/* Combo boxes (menus that display months/years for direct selection) */ | |
| 162 | + | |
| 163 | +.calendar .combo { | |
| 164 | + position: absolute; | |
| 165 | + display: none; | |
| 166 | + top: 0px; | |
| 167 | + left: 0px; | |
| 168 | + width: 4em; | |
| 169 | + cursor: default; | |
| 170 | + border: 1px solid #655; | |
| 171 | + background: #def; | |
| 172 | + color: #000; | |
| 173 | + font-size: 90%; | |
| 174 | + z-index: 100; | |
| 175 | +} | |
| 176 | + | |
| 177 | +.calendar .combo .label, | |
| 178 | +.calendar .combo .label-IEfix { | |
| 179 | + text-align: center; | |
| 180 | + padding: 1px; | |
| 181 | +} | |
| 182 | + | |
| 183 | +.calendar .combo .label-IEfix { | |
| 184 | + width: 4em; | |
| 185 | +} | |
| 186 | + | |
| 187 | +.calendar .combo .hilite { | |
| 188 | + background: #34ABFA; | |
| 189 | + border-top: 1px solid #46a; | |
| 190 | + border-bottom: 1px solid #46a; | |
| 191 | + font-weight: bold; | |
| 192 | +} | |
| 193 | + | |
| 194 | +.calendar .combo .active { | |
| 195 | + border-top: 1px solid #46a; | |
| 196 | + border-bottom: 1px solid #46a; | |
| 197 | + background: #F1F8FC; | |
| 198 | + font-weight: bold; | |
| 199 | +} | |
| 200 | + | |
| 201 | +.calendar td.time { | |
| 202 | + border-top: 1px solid #000; | |
| 203 | + padding: 1px 0px; | |
| 204 | + text-align: center; | |
| 205 | + background-color: #E3F0F9; | |
| 206 | +} | |
| 207 | + | |
| 208 | +.calendar td.time .hour, | |
| 209 | +.calendar td.time .minute, | |
| 210 | +.calendar td.time .ampm { | |
| 211 | + padding: 0px 3px 0px 4px; | |
| 212 | + border: 1px solid #889; | |
| 213 | + font-weight: bold; | |
| 214 | + background-color: #F1F8FC; | |
| 215 | +} | |
| 216 | + | |
| 217 | +.calendar td.time .ampm { | |
| 218 | + text-align: center; | |
| 219 | +} | |
| 220 | + | |
| 221 | +.calendar td.time .colon { | |
| 222 | + padding: 0px 2px 0px 3px; | |
| 223 | + font-weight: bold; | |
| 224 | +} | |
| 225 | + | |
| 226 | +.calendar td.time span.hilite { | |
| 227 | + border-color: #000; | |
| 228 | + background-color: #267DB7; | |
| 229 | + color: #fff; | |
| 230 | +} | |
| 231 | + | |
| 232 | +.calendar td.time span.active { | |
| 233 | + border-color: red; | |
| 234 | + background-color: #000; | |
| 235 | + color: #A5FF00; | |
| 236 | +} | ... | ... |
thirdpartyjs/jscalendar-1.0/calendar-brown.css
0 โ 100644
| 1 | +/* The main calendar widget. DIV containing a table. */ | |
| 2 | + | |
| 3 | +div.calendar { position: relative; } | |
| 4 | + | |
| 5 | +.calendar, .calendar table { | |
| 6 | + border: 1px solid #655; | |
| 7 | + font-size: 11px; | |
| 8 | + color: #000; | |
| 9 | + cursor: default; | |
| 10 | + background: #ffd; | |
| 11 | + font-family: tahoma,verdana,sans-serif; | |
| 12 | +} | |
| 13 | + | |
| 14 | +/* Header part -- contains navigation buttons and day names. */ | |
| 15 | + | |
| 16 | +.calendar .button { /* "<<", "<", ">", ">>" buttons have this class */ | |
| 17 | + text-align: center; /* They are the navigation buttons */ | |
| 18 | + padding: 2px; /* Make the buttons seem like they're pressing */ | |
| 19 | +} | |
| 20 | + | |
| 21 | +.calendar .nav { | |
| 22 | + background: #edc url(menuarrow.gif) no-repeat 100% 100%; | |
| 23 | +} | |
| 24 | + | |
| 25 | +.calendar thead .title { /* This holds the current "month, year" */ | |
| 26 | + font-weight: bold; /* Pressing it will take you to the current date */ | |
| 27 | + text-align: center; | |
| 28 | + background: #654; | |
| 29 | + color: #fed; | |
| 30 | + padding: 2px; | |
| 31 | +} | |
| 32 | + | |
| 33 | +.calendar thead .headrow { /* Row <TR> containing navigation buttons */ | |
| 34 | + background: #edc; | |
| 35 | + color: #000; | |
| 36 | +} | |
| 37 | + | |
| 38 | +.calendar thead .name { /* Cells <TD> containing the day names */ | |
| 39 | + border-bottom: 1px solid #655; | |
| 40 | + padding: 2px; | |
| 41 | + text-align: center; | |
| 42 | + color: #000; | |
| 43 | +} | |
| 44 | + | |
| 45 | +.calendar thead .weekend { /* How a weekend day name shows in header */ | |
| 46 | + color: #f00; | |
| 47 | +} | |
| 48 | + | |
| 49 | +.calendar thead .hilite { /* How do the buttons in header appear when hover */ | |
| 50 | + background-color: #faa; | |
| 51 | + color: #000; | |
| 52 | + border: 1px solid #f40; | |
| 53 | + padding: 1px; | |
| 54 | +} | |
| 55 | + | |
| 56 | +.calendar thead .active { /* Active (pressed) buttons in header */ | |
| 57 | + background-color: #c77; | |
| 58 | + padding: 2px 0px 0px 2px; | |
| 59 | +} | |
| 60 | + | |
| 61 | +.calendar thead .daynames { /* Row <TR> containing the day names */ | |
| 62 | + background: #fed; | |
| 63 | +} | |
| 64 | + | |
| 65 | +/* The body part -- contains all the days in month. */ | |
| 66 | + | |
| 67 | +.calendar tbody .day { /* Cells <TD> containing month days dates */ | |
| 68 | + width: 2em; | |
| 69 | + text-align: right; | |
| 70 | + padding: 2px 4px 2px 2px; | |
| 71 | +} | |
| 72 | +.calendar tbody .day.othermonth { | |
| 73 | + font-size: 80%; | |
| 74 | + color: #bbb; | |
| 75 | +} | |
| 76 | +.calendar tbody .day.othermonth.oweekend { | |
| 77 | + color: #fbb; | |
| 78 | +} | |
| 79 | + | |
| 80 | +.calendar table .wn { | |
| 81 | + padding: 2px 3px 2px 2px; | |
| 82 | + border-right: 1px solid #000; | |
| 83 | + background: #fed; | |
| 84 | +} | |
| 85 | + | |
| 86 | +.calendar tbody .rowhilite td { | |
| 87 | + background: #ddf; | |
| 88 | +} | |
| 89 | + | |
| 90 | +.calendar tbody .rowhilite td.wn { | |
| 91 | + background: #efe; | |
| 92 | +} | |
| 93 | + | |
| 94 | +.calendar tbody td.hilite { /* Hovered cells <TD> */ | |
| 95 | + background: #ffe; | |
| 96 | + padding: 1px 3px 1px 1px; | |
| 97 | + border: 1px solid #bbb; | |
| 98 | +} | |
| 99 | + | |
| 100 | +.calendar tbody td.active { /* Active (pressed) cells <TD> */ | |
| 101 | + background: #ddc; | |
| 102 | + padding: 2px 2px 0px 2px; | |
| 103 | +} | |
| 104 | + | |
| 105 | +.calendar tbody td.selected { /* Cell showing today date */ | |
| 106 | + font-weight: bold; | |
| 107 | + border: 1px solid #000; | |
| 108 | + padding: 1px 3px 1px 1px; | |
| 109 | + background: #fea; | |
| 110 | +} | |
| 111 | + | |
| 112 | +.calendar tbody td.weekend { /* Cells showing weekend days */ | |
| 113 | + color: #f00; | |
| 114 | +} | |
| 115 | + | |
| 116 | +.calendar tbody td.today { font-weight: bold; } | |
| 117 | + | |
| 118 | +.calendar tbody .disabled { color: #999; } | |
| 119 | + | |
| 120 | +.calendar tbody .emptycell { /* Empty cells (the best is to hide them) */ | |
| 121 | + visibility: hidden; | |
| 122 | +} | |
| 123 | + | |
| 124 | +.calendar tbody .emptyrow { /* Empty row (some months need less than 6 rows) */ | |
| 125 | + display: none; | |
| 126 | +} | |
| 127 | + | |
| 128 | +/* The footer part -- status bar and "Close" button */ | |
| 129 | + | |
| 130 | +.calendar tfoot .footrow { /* The <TR> in footer (only one right now) */ | |
| 131 | + text-align: center; | |
| 132 | + background: #988; | |
| 133 | + color: #000; | |
| 134 | +} | |
| 135 | + | |
| 136 | +.calendar tfoot .ttip { /* Tooltip (status bar) cell <TD> */ | |
| 137 | + border-top: 1px solid #655; | |
| 138 | + background: #dcb; | |
| 139 | + color: #840; | |
| 140 | +} | |
| 141 | + | |
| 142 | +.calendar tfoot .hilite { /* Hover style for buttons in footer */ | |
| 143 | + background: #faa; | |
| 144 | + border: 1px solid #f40; | |
| 145 | + padding: 1px; | |
| 146 | +} | |
| 147 | + | |
| 148 | +.calendar tfoot .active { /* Active (pressed) style for buttons in footer */ | |
| 149 | + background: #c77; | |
| 150 | + padding: 2px 0px 0px 2px; | |
| 151 | +} | |
| 152 | + | |
| 153 | +/* Combo boxes (menus that display months/years for direct selection) */ | |
| 154 | + | |
| 155 | +.calendar .combo { | |
| 156 | + position: absolute; | |
| 157 | + display: none; | |
| 158 | + top: 0px; | |
| 159 | + left: 0px; | |
| 160 | + width: 4em; | |
| 161 | + cursor: default; | |
| 162 | + border: 1px solid #655; | |
| 163 | + background: #ffe; | |
| 164 | + color: #000; | |
| 165 | + font-size: 90%; | |
| 166 | + z-index: 100; | |
| 167 | +} | |
| 168 | + | |
| 169 | +.calendar .combo .label, | |
| 170 | +.calendar .combo .label-IEfix { | |
| 171 | + text-align: center; | |
| 172 | + padding: 1px; | |
| 173 | +} | |
| 174 | + | |
| 175 | +.calendar .combo .label-IEfix { | |
| 176 | + width: 4em; | |
| 177 | +} | |
| 178 | + | |
| 179 | +.calendar .combo .hilite { | |
| 180 | + background: #fc8; | |
| 181 | +} | |
| 182 | + | |
| 183 | +.calendar .combo .active { | |
| 184 | + border-top: 1px solid #a64; | |
| 185 | + border-bottom: 1px solid #a64; | |
| 186 | + background: #fee; | |
| 187 | + font-weight: bold; | |
| 188 | +} | |
| 189 | + | |
| 190 | +.calendar td.time { | |
| 191 | + border-top: 1px solid #a88; | |
| 192 | + padding: 1px 0px; | |
| 193 | + text-align: center; | |
| 194 | + background-color: #fed; | |
| 195 | +} | |
| 196 | + | |
| 197 | +.calendar td.time .hour, | |
| 198 | +.calendar td.time .minute, | |
| 199 | +.calendar td.time .ampm { | |
| 200 | + padding: 0px 3px 0px 4px; | |
| 201 | + border: 1px solid #988; | |
| 202 | + font-weight: bold; | |
| 203 | + background-color: #fff; | |
| 204 | +} | |
| 205 | + | |
| 206 | +.calendar td.time .ampm { | |
| 207 | + text-align: center; | |
| 208 | +} | |
| 209 | + | |
| 210 | +.calendar td.time .colon { | |
| 211 | + padding: 0px 2px 0px 3px; | |
| 212 | + font-weight: bold; | |
| 213 | +} | |
| 214 | + | |
| 215 | +.calendar td.time span.hilite { | |
| 216 | + border-color: #000; | |
| 217 | + background-color: #866; | |
| 218 | + color: #fff; | |
| 219 | +} | |
| 220 | + | |
| 221 | +.calendar td.time span.active { | |
| 222 | + border-color: #f00; | |
| 223 | + background-color: #000; | |
| 224 | + color: #0f0; | |
| 225 | +} | ... | ... |
thirdpartyjs/jscalendar-1.0/calendar-green.css
0 โ 100644
| 1 | +/* The main calendar widget. DIV containing a table. */ | |
| 2 | + | |
| 3 | +div.calendar { position: relative; } | |
| 4 | + | |
| 5 | +.calendar, .calendar table { | |
| 6 | + border: 1px solid #565; | |
| 7 | + font-size: 11px; | |
| 8 | + color: #000; | |
| 9 | + cursor: default; | |
| 10 | + background: #efe; | |
| 11 | + font-family: tahoma,verdana,sans-serif; | |
| 12 | +} | |
| 13 | + | |
| 14 | +/* Header part -- contains navigation buttons and day names. */ | |
| 15 | + | |
| 16 | +.calendar .button { /* "<<", "<", ">", ">>" buttons have this class */ | |
| 17 | + text-align: center; /* They are the navigation buttons */ | |
| 18 | + padding: 2px; /* Make the buttons seem like they're pressing */ | |
| 19 | + background: #676; | |
| 20 | + color: #fff; | |
| 21 | + font-size: 90%; | |
| 22 | +} | |
| 23 | + | |
| 24 | +.calendar .nav { | |
| 25 | + background: #676 url(menuarrow.gif) no-repeat 100% 100%; | |
| 26 | +} | |
| 27 | + | |
| 28 | +.calendar thead .title { /* This holds the current "month, year" */ | |
| 29 | + font-weight: bold; /* Pressing it will take you to the current date */ | |
| 30 | + text-align: center; | |
| 31 | + padding: 2px; | |
| 32 | + background: #250; | |
| 33 | + color: #efa; | |
| 34 | +} | |
| 35 | + | |
| 36 | +.calendar thead .headrow { /* Row <TR> containing navigation buttons */ | |
| 37 | +} | |
| 38 | + | |
| 39 | +.calendar thead .name { /* Cells <TD> containing the day names */ | |
| 40 | + border-bottom: 1px solid #565; | |
| 41 | + padding: 2px; | |
| 42 | + text-align: center; | |
| 43 | + color: #000; | |
| 44 | +} | |
| 45 | + | |
| 46 | +.calendar thead .weekend { /* How a weekend day name shows in header */ | |
| 47 | + color: #a66; | |
| 48 | +} | |
| 49 | + | |
| 50 | +.calendar thead .hilite { /* How do the buttons in header appear when hover */ | |
| 51 | + background-color: #afa; | |
| 52 | + color: #000; | |
| 53 | + border: 1px solid #084; | |
| 54 | + padding: 1px; | |
| 55 | +} | |
| 56 | + | |
| 57 | +.calendar thead .active { /* Active (pressed) buttons in header */ | |
| 58 | + background-color: #7c7; | |
| 59 | + padding: 2px 0px 0px 2px; | |
| 60 | +} | |
| 61 | + | |
| 62 | +.calendar thead .daynames { /* Row <TR> containing the day names */ | |
| 63 | + background: #dfb; | |
| 64 | +} | |
| 65 | + | |
| 66 | +/* The body part -- contains all the days in month. */ | |
| 67 | + | |
| 68 | +.calendar tbody .day { /* Cells <TD> containing month days dates */ | |
| 69 | + width: 2em; | |
| 70 | + color: #564; | |
| 71 | + text-align: right; | |
| 72 | + padding: 2px 4px 2px 2px; | |
| 73 | +} | |
| 74 | +.calendar tbody .day.othermonth { | |
| 75 | + font-size: 80%; | |
| 76 | + color: #bbb; | |
| 77 | +} | |
| 78 | +.calendar tbody .day.othermonth.oweekend { | |
| 79 | + color: #fbb; | |
| 80 | +} | |
| 81 | + | |
| 82 | +.calendar table .wn { | |
| 83 | + padding: 2px 3px 2px 2px; | |
| 84 | + border-right: 1px solid #8a8; | |
| 85 | + background: #dfb; | |
| 86 | +} | |
| 87 | + | |
| 88 | +.calendar tbody .rowhilite td { | |
| 89 | + background: #dfd; | |
| 90 | +} | |
| 91 | + | |
| 92 | +.calendar tbody .rowhilite td.wn { | |
| 93 | + background: #efe; | |
| 94 | +} | |
| 95 | + | |
| 96 | +.calendar tbody td.hilite { /* Hovered cells <TD> */ | |
| 97 | + background: #efd; | |
| 98 | + padding: 1px 3px 1px 1px; | |
| 99 | + border: 1px solid #bbb; | |
| 100 | +} | |
| 101 | + | |
| 102 | +.calendar tbody td.active { /* Active (pressed) cells <TD> */ | |
| 103 | + background: #dec; | |
| 104 | + padding: 2px 2px 0px 2px; | |
| 105 | +} | |
| 106 | + | |
| 107 | +.calendar tbody td.selected { /* Cell showing today date */ | |
| 108 | + font-weight: bold; | |
| 109 | + border: 1px solid #000; | |
| 110 | + padding: 1px 3px 1px 1px; | |
| 111 | + background: #f8fff8; | |
| 112 | + color: #000; | |
| 113 | +} | |
| 114 | + | |
| 115 | +.calendar tbody td.weekend { /* Cells showing weekend days */ | |
| 116 | + color: #a66; | |
| 117 | +} | |
| 118 | + | |
| 119 | +.calendar tbody td.today { font-weight: bold; color: #0a0; } | |
| 120 | + | |
| 121 | +.calendar tbody .disabled { color: #999; } | |
| 122 | + | |
| 123 | +.calendar tbody .emptycell { /* Empty cells (the best is to hide them) */ | |
| 124 | + visibility: hidden; | |
| 125 | +} | |
| 126 | + | |
| 127 | +.calendar tbody .emptyrow { /* Empty row (some months need less than 6 rows) */ | |
| 128 | + display: none; | |
| 129 | +} | |
| 130 | + | |
| 131 | +/* The footer part -- status bar and "Close" button */ | |
| 132 | + | |
| 133 | +.calendar tfoot .footrow { /* The <TR> in footer (only one right now) */ | |
| 134 | + text-align: center; | |
| 135 | + background: #565; | |
| 136 | + color: #fff; | |
| 137 | +} | |
| 138 | + | |
| 139 | +.calendar tfoot .ttip { /* Tooltip (status bar) cell <TD> */ | |
| 140 | + padding: 2px; | |
| 141 | + background: #250; | |
| 142 | + color: #efa; | |
| 143 | +} | |
| 144 | + | |
| 145 | +.calendar tfoot .hilite { /* Hover style for buttons in footer */ | |
| 146 | + background: #afa; | |
| 147 | + border: 1px solid #084; | |
| 148 | + color: #000; | |
| 149 | + padding: 1px; | |
| 150 | +} | |
| 151 | + | |
| 152 | +.calendar tfoot .active { /* Active (pressed) style for buttons in footer */ | |
| 153 | + background: #7c7; | |
| 154 | + padding: 2px 0px 0px 2px; | |
| 155 | +} | |
| 156 | + | |
| 157 | +/* Combo boxes (menus that display months/years for direct selection) */ | |
| 158 | + | |
| 159 | +.calendar .combo { | |
| 160 | + position: absolute; | |
| 161 | + display: none; | |
| 162 | + top: 0px; | |
| 163 | + left: 0px; | |
| 164 | + width: 4em; | |
| 165 | + cursor: default; | |
| 166 | + border: 1px solid #565; | |
| 167 | + background: #efd; | |
| 168 | + color: #000; | |
| 169 | + font-size: 90%; | |
| 170 | + z-index: 100; | |
| 171 | +} | |
| 172 | + | |
| 173 | +.calendar .combo .label, | |
| 174 | +.calendar .combo .label-IEfix { | |
| 175 | + text-align: center; | |
| 176 | + padding: 1px; | |
| 177 | +} | |
| 178 | + | |
| 179 | +.calendar .combo .label-IEfix { | |
| 180 | + width: 4em; | |
| 181 | +} | |
| 182 | + | |
| 183 | +.calendar .combo .hilite { | |
| 184 | + background: #af8; | |
| 185 | +} | |
| 186 | + | |
| 187 | +.calendar .combo .active { | |
| 188 | + border-top: 1px solid #6a4; | |
| 189 | + border-bottom: 1px solid #6a4; | |
| 190 | + background: #efe; | |
| 191 | + font-weight: bold; | |
| 192 | +} | |
| 193 | + | |
| 194 | +.calendar td.time { | |
| 195 | + border-top: 1px solid #8a8; | |
| 196 | + padding: 1px 0px; | |
| 197 | + text-align: center; | |
| 198 | + background-color: #dfb; | |
| 199 | +} | |
| 200 | + | |
| 201 | +.calendar td.time .hour, | |
| 202 | +.calendar td.time .minute, | |
| 203 | +.calendar td.time .ampm { | |
| 204 | + padding: 0px 3px 0px 4px; | |
| 205 | + border: 1px solid #898; | |
| 206 | + font-weight: bold; | |
| 207 | + background-color: #fff; | |
| 208 | +} | |
| 209 | + | |
| 210 | +.calendar td.time .ampm { | |
| 211 | + text-align: center; | |
| 212 | +} | |
| 213 | + | |
| 214 | +.calendar td.time .colon { | |
| 215 | + padding: 0px 2px 0px 3px; | |
| 216 | + font-weight: bold; | |
| 217 | +} | |
| 218 | + | |
| 219 | +.calendar td.time span.hilite { | |
| 220 | + border-color: #000; | |
| 221 | + background-color: #686; | |
| 222 | + color: #fff; | |
| 223 | +} | |
| 224 | + | |
| 225 | +.calendar td.time span.active { | |
| 226 | + border-color: #f00; | |
| 227 | + background-color: #000; | |
| 228 | + color: #0f0; | |
| 229 | +} | ... | ... |
thirdpartyjs/jscalendar-1.0/calendar-setup.js
0 โ 100644
| 1 | +/* Copyright Mihai Bazon, 2002, 2003 | http://dynarch.com/mishoo/ | |
| 2 | + * --------------------------------------------------------------------------- | |
| 3 | + * | |
| 4 | + * The DHTML Calendar | |
| 5 | + * | |
| 6 | + * Details and latest version at: | |
| 7 | + * http://dynarch.com/mishoo/calendar.epl | |
| 8 | + * | |
| 9 | + * This script is distributed under the GNU Lesser General Public License. | |
| 10 | + * Read the entire license text here: http://www.gnu.org/licenses/lgpl.html | |
| 11 | + * | |
| 12 | + * This file defines helper functions for setting up the calendar. They are | |
| 13 | + * intended to help non-programmers get a working calendar on their site | |
| 14 | + * quickly. This script should not be seen as part of the calendar. It just | |
| 15 | + * shows you what one can do with the calendar, while in the same time | |
| 16 | + * providing a quick and simple method for setting it up. If you need | |
| 17 | + * exhaustive customization of the calendar creation process feel free to | |
| 18 | + * modify this code to suit your needs (this is recommended and much better | |
| 19 | + * than modifying calendar.js itself). | |
| 20 | + */ | |
| 21 | + | |
| 22 | +// $Id$ | |
| 23 | + | |
| 24 | +/** | |
| 25 | + * This function "patches" an input field (or other element) to use a calendar | |
| 26 | + * widget for date selection. | |
| 27 | + * | |
| 28 | + * The "params" is a single object that can have the following properties: | |
| 29 | + * | |
| 30 | + * prop. name | description | |
| 31 | + * ------------------------------------------------------------------------------------------------- | |
| 32 | + * inputField | the ID of an input field to store the date | |
| 33 | + * displayArea | the ID of a DIV or other element to show the date | |
| 34 | + * button | ID of a button or other element that will trigger the calendar | |
| 35 | + * eventName | event that will trigger the calendar, without the "on" prefix (default: "click") | |
| 36 | + * ifFormat | date format that will be stored in the input field | |
| 37 | + * daFormat | the date format that will be used to display the date in displayArea | |
| 38 | + * singleClick | (true/false) wether the calendar is in single click mode or not (default: true) | |
| 39 | + * firstDay | numeric: 0 to 6. "0" means display Sunday first, "1" means display Monday first, etc. | |
| 40 | + * align | alignment (default: "Br"); if you don't know what's this see the calendar documentation | |
| 41 | + * range | array with 2 elements. Default: [1900, 2999] -- the range of years available | |
| 42 | + * weekNumbers | (true/false) if it's true (default) the calendar will display week numbers | |
| 43 | + * flat | null or element ID; if not null the calendar will be a flat calendar having the parent with the given ID | |
| 44 | + * flatCallback | function that receives a JS Date object and returns an URL to point the browser to (for flat calendar) | |
| 45 | + * disableFunc | function that receives a JS Date object and should return true if that date has to be disabled in the calendar | |
| 46 | + * onSelect | function that gets called when a date is selected. You don't _have_ to supply this (the default is generally okay) | |
| 47 | + * onClose | function that gets called when the calendar is closed. [default] | |
| 48 | + * onUpdate | function that gets called after the date is updated in the input field. Receives a reference to the calendar. | |
| 49 | + * date | the date that the calendar will be initially displayed to | |
| 50 | + * showsTime | default: false; if true the calendar will include a time selector | |
| 51 | + * timeFormat | the time format; can be "12" or "24", default is "12" | |
| 52 | + * electric | if true (default) then given fields/date areas are updated for each move; otherwise they're updated only on close | |
| 53 | + * step | configures the step of the years in drop-down boxes; default: 2 | |
| 54 | + * position | configures the calendar absolute position; default: null | |
| 55 | + * cache | if "true" (but default: "false") it will reuse the same calendar object, where possible | |
| 56 | + * showOthers | if "true" (but default: "false") it will show days from other months too | |
| 57 | + * | |
| 58 | + * None of them is required, they all have default values. However, if you | |
| 59 | + * pass none of "inputField", "displayArea" or "button" you'll get a warning | |
| 60 | + * saying "nothing to setup". | |
| 61 | + */ | |
| 62 | +Calendar.setup = function (params) { | |
| 63 | + function param_default(pname, def) { if (typeof params[pname] == "undefined") { params[pname] = def; } }; | |
| 64 | + | |
| 65 | + param_default("inputField", null); | |
| 66 | + param_default("displayArea", null); | |
| 67 | + param_default("button", null); | |
| 68 | + param_default("eventName", "click"); | |
| 69 | + param_default("ifFormat", "%Y/%m/%d"); | |
| 70 | + param_default("daFormat", "%Y/%m/%d"); | |
| 71 | + param_default("singleClick", true); | |
| 72 | + param_default("disableFunc", null); | |
| 73 | + param_default("dateStatusFunc", params["disableFunc"]); // takes precedence if both are defined | |
| 74 | + param_default("dateText", null); | |
| 75 | + param_default("firstDay", null); | |
| 76 | + param_default("align", "Br"); | |
| 77 | + param_default("range", [1900, 2999]); | |
| 78 | + param_default("weekNumbers", true); | |
| 79 | + param_default("flat", null); | |
| 80 | + param_default("flatCallback", null); | |
| 81 | + param_default("onSelect", null); | |
| 82 | + param_default("onClose", null); | |
| 83 | + param_default("onUpdate", null); | |
| 84 | + param_default("date", null); | |
| 85 | + param_default("showsTime", false); | |
| 86 | + param_default("timeFormat", "24"); | |
| 87 | + param_default("electric", true); | |
| 88 | + param_default("step", 2); | |
| 89 | + param_default("position", null); | |
| 90 | + param_default("cache", false); | |
| 91 | + param_default("showOthers", false); | |
| 92 | + param_default("multiple", null); | |
| 93 | + | |
| 94 | + var tmp = ["inputField", "displayArea", "button"]; | |
| 95 | + for (var i in tmp) { | |
| 96 | + if (typeof params[tmp[i]] == "string") { | |
| 97 | + params[tmp[i]] = document.getElementById(params[tmp[i]]); | |
| 98 | + } | |
| 99 | + } | |
| 100 | + if (!(params.flat || params.multiple || params.inputField || params.displayArea || params.button)) { | |
| 101 | + alert("Calendar.setup:\n Nothing to setup (no fields found). Please check your code"); | |
| 102 | + return false; | |
| 103 | + } | |
| 104 | + | |
| 105 | + function onSelect(cal) { | |
| 106 | + var p = cal.params; | |
| 107 | + var update = (cal.dateClicked || p.electric); | |
| 108 | + if (update && p.inputField) { | |
| 109 | + p.inputField.value = cal.date.print(p.ifFormat); | |
| 110 | + if (typeof p.inputField.onchange == "function") | |
| 111 | + p.inputField.onchange(); | |
| 112 | + } | |
| 113 | + if (update && p.displayArea) | |
| 114 | + p.displayArea.innerHTML = cal.date.print(p.daFormat); | |
| 115 | + if (update && typeof p.onUpdate == "function") | |
| 116 | + p.onUpdate(cal); | |
| 117 | + if (update && p.flat) { | |
| 118 | + if (typeof p.flatCallback == "function") | |
| 119 | + p.flatCallback(cal); | |
| 120 | + } | |
| 121 | + if (update && p.singleClick && cal.dateClicked) | |
| 122 | + cal.callCloseHandler(); | |
| 123 | + }; | |
| 124 | + | |
| 125 | + if (params.flat != null) { | |
| 126 | + if (typeof params.flat == "string") | |
| 127 | + params.flat = document.getElementById(params.flat); | |
| 128 | + if (!params.flat) { | |
| 129 | + alert("Calendar.setup:\n Flat specified but can't find parent."); | |
| 130 | + return false; | |
| 131 | + } | |
| 132 | + var cal = new Calendar(params.firstDay, params.date, params.onSelect || onSelect); | |
| 133 | + cal.showsOtherMonths = params.showOthers; | |
| 134 | + cal.showsTime = params.showsTime; | |
| 135 | + cal.time24 = (params.timeFormat == "24"); | |
| 136 | + cal.params = params; | |
| 137 | + cal.weekNumbers = params.weekNumbers; | |
| 138 | + cal.setRange(params.range[0], params.range[1]); | |
| 139 | + cal.setDateStatusHandler(params.dateStatusFunc); | |
| 140 | + cal.getDateText = params.dateText; | |
| 141 | + if (params.ifFormat) { | |
| 142 | + cal.setDateFormat(params.ifFormat); | |
| 143 | + } | |
| 144 | + if (params.inputField && typeof params.inputField.value == "string") { | |
| 145 | + cal.parseDate(params.inputField.value); | |
| 146 | + } | |
| 147 | + cal.create(params.flat); | |
| 148 | + cal.show(); | |
| 149 | + return false; | |
| 150 | + } | |
| 151 | + | |
| 152 | + var triggerEl = params.button || params.displayArea || params.inputField; | |
| 153 | + triggerEl["on" + params.eventName] = function() { | |
| 154 | + var dateEl = params.inputField || params.displayArea; | |
| 155 | + var dateFmt = params.inputField ? params.ifFormat : params.daFormat; | |
| 156 | + var mustCreate = false; | |
| 157 | + var cal = window.calendar; | |
| 158 | + if (dateEl) | |
| 159 | + params.date = Date.parseDate(dateEl.value || dateEl.innerHTML, dateFmt); | |
| 160 | + if (!(cal && params.cache)) { | |
| 161 | + window.calendar = cal = new Calendar(params.firstDay, | |
| 162 | + params.date, | |
| 163 | + params.onSelect || onSelect, | |
| 164 | + params.onClose || function(cal) { cal.hide(); }); | |
| 165 | + cal.showsTime = params.showsTime; | |
| 166 | + cal.time24 = (params.timeFormat == "24"); | |
| 167 | + cal.weekNumbers = params.weekNumbers; | |
| 168 | + mustCreate = true; | |
| 169 | + } else { | |
| 170 | + if (params.date) | |
| 171 | + cal.setDate(params.date); | |
| 172 | + cal.hide(); | |
| 173 | + } | |
| 174 | + if (params.multiple) { | |
| 175 | + cal.multiple = {}; | |
| 176 | + for (var i = params.multiple.length; --i >= 0;) { | |
| 177 | + var d = params.multiple[i]; | |
| 178 | + var ds = d.print("%Y%m%d"); | |
| 179 | + cal.multiple[ds] = d; | |
| 180 | + } | |
| 181 | + } | |
| 182 | + cal.showsOtherMonths = params.showOthers; | |
| 183 | + cal.yearStep = params.step; | |
| 184 | + cal.setRange(params.range[0], params.range[1]); | |
| 185 | + cal.params = params; | |
| 186 | + cal.setDateStatusHandler(params.dateStatusFunc); | |
| 187 | + cal.getDateText = params.dateText; | |
| 188 | + cal.setDateFormat(dateFmt); | |
| 189 | + if (mustCreate) | |
| 190 | + cal.create(); | |
| 191 | + cal.refresh(); | |
| 192 | + if (!params.position) | |
| 193 | + cal.showAtElement(params.button || params.displayArea || params.inputField, params.align); | |
| 194 | + else | |
| 195 | + cal.showAt(params.position[0], params.position[1]); | |
| 196 | + return false; | |
| 197 | + }; | |
| 198 | + | |
| 199 | + return cal; | |
| 200 | +}; | ... | ... |
thirdpartyjs/jscalendar-1.0/calendar-setup_stripped.js
0 โ 100644
| 1 | +/* Copyright Mihai Bazon, 2002, 2003 | http://dynarch.com/mishoo/ | |
| 2 | + * --------------------------------------------------------------------------- | |
| 3 | + * | |
| 4 | + * The DHTML Calendar | |
| 5 | + * | |
| 6 | + * Details and latest version at: | |
| 7 | + * http://dynarch.com/mishoo/calendar.epl | |
| 8 | + * | |
| 9 | + * This script is distributed under the GNU Lesser General Public License. | |
| 10 | + * Read the entire license text here: http://www.gnu.org/licenses/lgpl.html | |
| 11 | + * | |
| 12 | + * This file defines helper functions for setting up the calendar. They are | |
| 13 | + * intended to help non-programmers get a working calendar on their site | |
| 14 | + * quickly. This script should not be seen as part of the calendar. It just | |
| 15 | + * shows you what one can do with the calendar, while in the same time | |
| 16 | + * providing a quick and simple method for setting it up. If you need | |
| 17 | + * exhaustive customization of the calendar creation process feel free to | |
| 18 | + * modify this code to suit your needs (this is recommended and much better | |
| 19 | + * than modifying calendar.js itself). | |
| 20 | + */ | |
| 21 | + 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("dateText",null);param_default("firstDay",null);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);param_default("multiple",null);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.multiple||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.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&&typeof p.onUpdate=="function")p.onUpdate(cal);if(update&&p.flat){if(typeof p.flatCallback=="function")p.flatCallback(cal);}if(update&&p.singleClick&&cal.dateClicked)cal.callCloseHandler();};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.showsOtherMonths=params.showOthers;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.getDateText=params.dateText;if(params.ifFormat){cal.setDateFormat(params.ifFormat);}if(params.inputField&&typeof params.inputField.value=="string"){cal.parseDate(params.inputField.value);}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(dateEl)params.date=Date.parseDate(dateEl.value||dateEl.innerHTML,dateFmt);if(!(cal&¶ms.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();}if(params.multiple){cal.multiple={};for(var i=params.multiple.length;--i>=0;){var d=params.multiple[i];var ds=d.print("%Y%m%d");cal.multiple[ds]=d;}}cal.showsOtherMonths=params.showOthers;cal.yearStep=params.step;cal.setRange(params.range[0],params.range[1]);cal.params=params;cal.setDateStatusHandler(params.dateStatusFunc);cal.getDateText=params.dateText;cal.setDateFormat(dateFmt);if(mustCreate)cal.create();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;};return cal;}; | |
| 0 | 22 | \ No newline at end of file | ... | ... |
thirdpartyjs/jscalendar-1.0/calendar-system.css
0 โ 100644
| 1 | +/* The main calendar widget. DIV containing a table. */ | |
| 2 | + | |
| 3 | +.calendar { | |
| 4 | + position: relative; | |
| 5 | + display: none; | |
| 6 | + border: 1px solid; | |
| 7 | + border-color: #fff #000 #000 #fff; | |
| 8 | + font-size: 11px; | |
| 9 | + cursor: default; | |
| 10 | + background: Window; | |
| 11 | + color: WindowText; | |
| 12 | + font-family: tahoma,verdana,sans-serif; | |
| 13 | +} | |
| 14 | + | |
| 15 | +.calendar table { | |
| 16 | + border: 1px solid; | |
| 17 | + border-color: #fff #000 #000 #fff; | |
| 18 | + font-size: 11px; | |
| 19 | + cursor: default; | |
| 20 | + background: Window; | |
| 21 | + color: WindowText; | |
| 22 | + font-family: tahoma,verdana,sans-serif; | |
| 23 | +} | |
| 24 | + | |
| 25 | +/* Header part -- contains navigation buttons and day names. */ | |
| 26 | + | |
| 27 | +.calendar .button { /* "<<", "<", ">", ">>" buttons have this class */ | |
| 28 | + text-align: center; | |
| 29 | + padding: 1px; | |
| 30 | + border: 1px solid; | |
| 31 | + border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight; | |
| 32 | + background: ButtonFace; | |
| 33 | +} | |
| 34 | + | |
| 35 | +.calendar .nav { | |
| 36 | + background: ButtonFace url(menuarrow.gif) no-repeat 100% 100%; | |
| 37 | +} | |
| 38 | + | |
| 39 | +.calendar thead .title { /* This holds the current "month, year" */ | |
| 40 | + font-weight: bold; | |
| 41 | + padding: 1px; | |
| 42 | + border: 1px solid #000; | |
| 43 | + background: ActiveCaption; | |
| 44 | + color: CaptionText; | |
| 45 | + text-align: center; | |
| 46 | +} | |
| 47 | + | |
| 48 | +.calendar thead .headrow { /* Row <TR> containing navigation buttons */ | |
| 49 | +} | |
| 50 | + | |
| 51 | +.calendar thead .daynames { /* Row <TR> containing the day names */ | |
| 52 | +} | |
| 53 | + | |
| 54 | +.calendar thead .name { /* Cells <TD> containing the day names */ | |
| 55 | + border-bottom: 1px solid ButtonShadow; | |
| 56 | + padding: 2px; | |
| 57 | + text-align: center; | |
| 58 | + background: ButtonFace; | |
| 59 | + color: ButtonText; | |
| 60 | +} | |
| 61 | + | |
| 62 | +.calendar thead .weekend { /* How a weekend day name shows in header */ | |
| 63 | + color: #f00; | |
| 64 | +} | |
| 65 | + | |
| 66 | +.calendar thead .hilite { /* How do the buttons in header appear when hover */ | |
| 67 | + border: 2px solid; | |
| 68 | + padding: 0px; | |
| 69 | + border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight; | |
| 70 | +} | |
| 71 | + | |
| 72 | +.calendar thead .active { /* Active (pressed) buttons in header */ | |
| 73 | + border-width: 1px; | |
| 74 | + padding: 2px 0px 0px 2px; | |
| 75 | + border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow; | |
| 76 | +} | |
| 77 | + | |
| 78 | +/* The body part -- contains all the days in month. */ | |
| 79 | + | |
| 80 | +.calendar tbody .day { /* Cells <TD> containing month days dates */ | |
| 81 | + width: 2em; | |
| 82 | + text-align: right; | |
| 83 | + padding: 2px 4px 2px 2px; | |
| 84 | +} | |
| 85 | +.calendar tbody .day.othermonth { | |
| 86 | + font-size: 80%; | |
| 87 | + color: #aaa; | |
| 88 | +} | |
| 89 | +.calendar tbody .day.othermonth.oweekend { | |
| 90 | + color: #faa; | |
| 91 | +} | |
| 92 | + | |
| 93 | +.calendar table .wn { | |
| 94 | + padding: 2px 3px 2px 2px; | |
| 95 | + border-right: 1px solid ButtonShadow; | |
| 96 | + background: ButtonFace; | |
| 97 | + color: ButtonText; | |
| 98 | +} | |
| 99 | + | |
| 100 | +.calendar tbody .rowhilite td { | |
| 101 | + background: Highlight; | |
| 102 | + color: HighlightText; | |
| 103 | +} | |
| 104 | + | |
| 105 | +.calendar tbody td.hilite { /* Hovered cells <TD> */ | |
| 106 | + padding: 1px 3px 1px 1px; | |
| 107 | + border-top: 1px solid #fff; | |
| 108 | + border-right: 1px solid #000; | |
| 109 | + border-bottom: 1px solid #000; | |
| 110 | + border-left: 1px solid #fff; | |
| 111 | +} | |
| 112 | + | |
| 113 | +.calendar tbody td.active { /* Active (pressed) cells <TD> */ | |
| 114 | + padding: 2px 2px 0px 2px; | |
| 115 | + border: 1px solid; | |
| 116 | + border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow; | |
| 117 | +} | |
| 118 | + | |
| 119 | +.calendar tbody td.selected { /* Cell showing selected date */ | |
| 120 | + font-weight: bold; | |
| 121 | + border: 1px solid; | |
| 122 | + border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow; | |
| 123 | + padding: 2px 2px 0px 2px; | |
| 124 | + background: ButtonFace; | |
| 125 | + color: ButtonText; | |
| 126 | +} | |
| 127 | + | |
| 128 | +.calendar tbody td.weekend { /* Cells showing weekend days */ | |
| 129 | + color: #f00; | |
| 130 | +} | |
| 131 | + | |
| 132 | +.calendar tbody td.today { /* Cell showing today date */ | |
| 133 | + font-weight: bold; | |
| 134 | + color: #00f; | |
| 135 | +} | |
| 136 | + | |
| 137 | +.calendar tbody td.disabled { color: GrayText; } | |
| 138 | + | |
| 139 | +.calendar tbody .emptycell { /* Empty cells (the best is to hide them) */ | |
| 140 | + visibility: hidden; | |
| 141 | +} | |
| 142 | + | |
| 143 | +.calendar tbody .emptyrow { /* Empty row (some months need less than 6 rows) */ | |
| 144 | + display: none; | |
| 145 | +} | |
| 146 | + | |
| 147 | +/* The footer part -- status bar and "Close" button */ | |
| 148 | + | |
| 149 | +.calendar tfoot .footrow { /* The <TR> in footer (only one right now) */ | |
| 150 | +} | |
| 151 | + | |
| 152 | +.calendar tfoot .ttip { /* Tooltip (status bar) cell <TD> */ | |
| 153 | + background: ButtonFace; | |
| 154 | + padding: 1px; | |
| 155 | + border: 1px solid; | |
| 156 | + border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow; | |
| 157 | + color: ButtonText; | |
| 158 | + text-align: center; | |
| 159 | +} | |
| 160 | + | |
| 161 | +.calendar tfoot .hilite { /* Hover style for buttons in footer */ | |
| 162 | + border-top: 1px solid #fff; | |
| 163 | + border-right: 1px solid #000; | |
| 164 | + border-bottom: 1px solid #000; | |
| 165 | + border-left: 1px solid #fff; | |
| 166 | + padding: 1px; | |
| 167 | + background: #e4e0d8; | |
| 168 | +} | |
| 169 | + | |
| 170 | +.calendar tfoot .active { /* Active (pressed) style for buttons in footer */ | |
| 171 | + padding: 2px 0px 0px 2px; | |
| 172 | + border-top: 1px solid #000; | |
| 173 | + border-right: 1px solid #fff; | |
| 174 | + border-bottom: 1px solid #fff; | |
| 175 | + border-left: 1px solid #000; | |
| 176 | +} | |
| 177 | + | |
| 178 | +/* Combo boxes (menus that display months/years for direct selection) */ | |
| 179 | + | |
| 180 | +.calendar .combo { | |
| 181 | + position: absolute; | |
| 182 | + display: none; | |
| 183 | + width: 4em; | |
| 184 | + top: 0px; | |
| 185 | + left: 0px; | |
| 186 | + cursor: default; | |
| 187 | + border: 1px solid; | |
| 188 | + border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight; | |
| 189 | + background: Menu; | |
| 190 | + color: MenuText; | |
| 191 | + font-size: 90%; | |
| 192 | + padding: 1px; | |
| 193 | + z-index: 100; | |
| 194 | +} | |
| 195 | + | |
| 196 | +.calendar .combo .label, | |
| 197 | +.calendar .combo .label-IEfix { | |
| 198 | + text-align: center; | |
| 199 | + padding: 1px; | |
| 200 | +} | |
| 201 | + | |
| 202 | +.calendar .combo .label-IEfix { | |
| 203 | + width: 4em; | |
| 204 | +} | |
| 205 | + | |
| 206 | +.calendar .combo .active { | |
| 207 | + padding: 0px; | |
| 208 | + border: 1px solid #000; | |
| 209 | +} | |
| 210 | + | |
| 211 | +.calendar .combo .hilite { | |
| 212 | + background: Highlight; | |
| 213 | + color: HighlightText; | |
| 214 | +} | |
| 215 | + | |
| 216 | +.calendar td.time { | |
| 217 | + border-top: 1px solid ButtonShadow; | |
| 218 | + padding: 1px 0px; | |
| 219 | + text-align: center; | |
| 220 | + background-color: ButtonFace; | |
| 221 | +} | |
| 222 | + | |
| 223 | +.calendar td.time .hour, | |
| 224 | +.calendar td.time .minute, | |
| 225 | +.calendar td.time .ampm { | |
| 226 | + padding: 0px 3px 0px 4px; | |
| 227 | + border: 1px solid #889; | |
| 228 | + font-weight: bold; | |
| 229 | + background-color: Menu; | |
| 230 | +} | |
| 231 | + | |
| 232 | +.calendar td.time .ampm { | |
| 233 | + text-align: center; | |
| 234 | +} | |
| 235 | + | |
| 236 | +.calendar td.time .colon { | |
| 237 | + padding: 0px 2px 0px 3px; | |
| 238 | + font-weight: bold; | |
| 239 | +} | |
| 240 | + | |
| 241 | +.calendar td.time span.hilite { | |
| 242 | + border-color: #000; | |
| 243 | + background-color: Highlight; | |
| 244 | + color: HighlightText; | |
| 245 | +} | |
| 246 | + | |
| 247 | +.calendar td.time span.active { | |
| 248 | + border-color: #f00; | |
| 249 | + background-color: #000; | |
| 250 | + color: #0f0; | |
| 251 | +} | ... | ... |
thirdpartyjs/jscalendar-1.0/calendar-tas.css
0 โ 100644
| 1 | +/* The main calendar widget. DIV containing a table. */ | |
| 2 | + | |
| 3 | +div.calendar { position: relative; } | |
| 4 | + | |
| 5 | +.calendar, .calendar table { | |
| 6 | + border: 1px solid #655; | |
| 7 | + font-size: 11px; | |
| 8 | + color: #000; | |
| 9 | + cursor: default; | |
| 10 | + background: #ffd; | |
| 11 | + font-family: tahoma,verdana,sans-serif; | |
| 12 | + filter: | |
| 13 | +progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#DDDCCC,EndColorStr=#FFFFFF); | |
| 14 | +} | |
| 15 | + | |
| 16 | +/* Header part -- contains navigation buttons and day names. */ | |
| 17 | + | |
| 18 | +.calendar .button { /* "<<", "<", ">", ">>" buttons have this class */ | |
| 19 | + text-align: center; /* They are the navigation buttons */ | |
| 20 | + padding: 2px; /* Make the buttons seem like they're pressing */ | |
| 21 | + color:#363636; | |
| 22 | +} | |
| 23 | + | |
| 24 | +.calendar .nav { | |
| 25 | + background: #edc url(menuarrow.gif) no-repeat 100% 100%; | |
| 26 | +} | |
| 27 | + | |
| 28 | +.calendar thead .title { /* This holds the current "month, year" */ | |
| 29 | + font-weight: bold; /* Pressing it will take you to the current date */ | |
| 30 | + text-align: center; | |
| 31 | + background: #654; | |
| 32 | + color: #363636; | |
| 33 | + padding: 2px; | |
| 34 | + filter: | |
| 35 | +progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#ffffff,EndColorStr=#dddccc); | |
| 36 | +} | |
| 37 | + | |
| 38 | +.calendar thead .headrow { /* Row <TR> containing navigation buttons */ | |
| 39 | + /*background: #3B86A0;*/ | |
| 40 | + color: #363636; | |
| 41 | + font-weight: bold; | |
| 42 | +filter: | |
| 43 | +progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#ffffff,EndColorStr=#3b86a0); | |
| 44 | +} | |
| 45 | + | |
| 46 | +.calendar thead .name { /* Cells <TD> containing the day names */ | |
| 47 | + border-bottom: 1px solid #655; | |
| 48 | + padding: 2px; | |
| 49 | + text-align: center; | |
| 50 | + color: #363636; | |
| 51 | + filter: | |
| 52 | +progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#DDDCCC,EndColorStr=#FFFFFF); | |
| 53 | +} | |
| 54 | + | |
| 55 | +.calendar thead .weekend { /* How a weekend day name shows in header */ | |
| 56 | + color: #f00; | |
| 57 | +} | |
| 58 | + | |
| 59 | +.calendar thead .hilite { /* How do the buttons in header appear when hover */ | |
| 60 | + background-color: #ffcc86; | |
| 61 | + color: #000; | |
| 62 | + border: 1px solid #b59345; | |
| 63 | + padding: 1px; | |
| 64 | +} | |
| 65 | + | |
| 66 | +.calendar thead .active { /* Active (pressed) buttons in header */ | |
| 67 | + background-color: #c77; | |
| 68 | + padding: 2px 0px 0px 2px; | |
| 69 | +} | |
| 70 | + | |
| 71 | +.calendar thead .daynames { /* Row <TR> containing the day names */ | |
| 72 | + background: #fed; | |
| 73 | +} | |
| 74 | + | |
| 75 | +/* The body part -- contains all the days in month. */ | |
| 76 | + | |
| 77 | +.calendar tbody .day { /* Cells <TD> containing month days dates */ | |
| 78 | + width: 2em; | |
| 79 | + text-align: right; | |
| 80 | + padding: 2px 4px 2px 2px; | |
| 81 | +} | |
| 82 | +.calendar tbody .day.othermonth { | |
| 83 | + font-size: 80%; | |
| 84 | + color: #aaa; | |
| 85 | +} | |
| 86 | +.calendar tbody .day.othermonth.oweekend { | |
| 87 | + color: #faa; | |
| 88 | +} | |
| 89 | + | |
| 90 | +.calendar table .wn { | |
| 91 | + padding: 2px 3px 2px 2px; | |
| 92 | + border-right: 1px solid #000; | |
| 93 | + background: #fed; | |
| 94 | +} | |
| 95 | + | |
| 96 | +.calendar tbody .rowhilite td { | |
| 97 | + background: #ddf; | |
| 98 | + | |
| 99 | +} | |
| 100 | + | |
| 101 | +.calendar tbody .rowhilite td.wn { | |
| 102 | + background: #efe; | |
| 103 | +} | |
| 104 | + | |
| 105 | +.calendar tbody td.hilite { /* Hovered cells <TD> */ | |
| 106 | + background: #ffe; | |
| 107 | + padding: 1px 3px 1px 1px; | |
| 108 | + border: 1px solid #bbb; | |
| 109 | +} | |
| 110 | + | |
| 111 | +.calendar tbody td.active { /* Active (pressed) cells <TD> */ | |
| 112 | + background: #ddc; | |
| 113 | + padding: 2px 2px 0px 2px; | |
| 114 | +} | |
| 115 | + | |
| 116 | +.calendar tbody td.selected { /* Cell showing today date */ | |
| 117 | + font-weight: bold; | |
| 118 | + border: 1px solid #000; | |
| 119 | + padding: 1px 3px 1px 1px; | |
| 120 | + background: #fea; | |
| 121 | +} | |
| 122 | + | |
| 123 | +.calendar tbody td.weekend { /* Cells showing weekend days */ | |
| 124 | + color: #f00; | |
| 125 | +} | |
| 126 | + | |
| 127 | +.calendar tbody td.today { font-weight: bold; } | |
| 128 | + | |
| 129 | +.calendar tbody .disabled { color: #999; } | |
| 130 | + | |
| 131 | +.calendar tbody .emptycell { /* Empty cells (the best is to hide them) */ | |
| 132 | + visibility: hidden; | |
| 133 | +} | |
| 134 | + | |
| 135 | +.calendar tbody .emptyrow { /* Empty row (some months need less than 6 rows) */ | |
| 136 | + display: none; | |
| 137 | +} | |
| 138 | + | |
| 139 | +/* The footer part -- status bar and "Close" button */ | |
| 140 | + | |
| 141 | +.calendar tfoot .footrow { /* The <TR> in footer (only one right now) */ | |
| 142 | + text-align: center; | |
| 143 | + background: #988; | |
| 144 | + color: #000; | |
| 145 | + | |
| 146 | +} | |
| 147 | + | |
| 148 | +.calendar tfoot .ttip { /* Tooltip (status bar) cell <TD> */ | |
| 149 | + border-top: 1px solid #655; | |
| 150 | + background: #dcb; | |
| 151 | + color: #363636; | |
| 152 | + font-weight: bold; | |
| 153 | + filter: | |
| 154 | +progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#FFFFFF,EndColorStr=#DDDCCC); | |
| 155 | +} | |
| 156 | +.calendar tfoot .hilite { /* Hover style for buttons in footer */ | |
| 157 | + background: #faa; | |
| 158 | + border: 1px solid #f40; | |
| 159 | + padding: 1px; | |
| 160 | +} | |
| 161 | + | |
| 162 | +.calendar tfoot .active { /* Active (pressed) style for buttons in footer */ | |
| 163 | + background: #c77; | |
| 164 | + padding: 2px 0px 0px 2px; | |
| 165 | +} | |
| 166 | + | |
| 167 | +/* Combo boxes (menus that display months/years for direct selection) */ | |
| 168 | + | |
| 169 | +.combo { | |
| 170 | + position: absolute; | |
| 171 | + display: none; | |
| 172 | + top: 0px; | |
| 173 | + left: 0px; | |
| 174 | + width: 4em; | |
| 175 | + cursor: default; | |
| 176 | + border: 1px solid #655; | |
| 177 | + background: #ffe; | |
| 178 | + color: #000; | |
| 179 | + font-size: smaller; | |
| 180 | + z-index: 100; | |
| 181 | +} | |
| 182 | + | |
| 183 | +.combo .label, | |
| 184 | +.combo .label-IEfix { | |
| 185 | + text-align: center; | |
| 186 | + padding: 1px; | |
| 187 | +} | |
| 188 | + | |
| 189 | +.combo .label-IEfix { | |
| 190 | + width: 4em; | |
| 191 | +} | |
| 192 | + | |
| 193 | +.combo .hilite { | |
| 194 | + background: #fc8; | |
| 195 | +} | |
| 196 | + | |
| 197 | +.combo .active { | |
| 198 | + border-top: 1px solid #a64; | |
| 199 | + border-bottom: 1px solid #a64; | |
| 200 | + background: #fee; | |
| 201 | + font-weight: bold; | |
| 202 | +} | |
| 203 | + | |
| 204 | +.calendar td.time { | |
| 205 | + border-top: 1px solid #a88; | |
| 206 | + padding: 1px 0px; | |
| 207 | + text-align: center; | |
| 208 | + background-color: #fed; | |
| 209 | +} | |
| 210 | + | |
| 211 | +.calendar td.time .hour, | |
| 212 | +.calendar td.time .minute, | |
| 213 | +.calendar td.time .ampm { | |
| 214 | + padding: 0px 3px 0px 4px; | |
| 215 | + border: 1px solid #988; | |
| 216 | + font-weight: bold; | |
| 217 | + background-color: #fff; | |
| 218 | +} | |
| 219 | + | |
| 220 | +.calendar td.time .ampm { | |
| 221 | + text-align: center; | |
| 222 | +} | |
| 223 | + | |
| 224 | +.calendar td.time .colon { | |
| 225 | + padding: 0px 2px 0px 3px; | |
| 226 | + font-weight: bold; | |
| 227 | +} | |
| 228 | + | |
| 229 | +.calendar td.time span.hilite { | |
| 230 | + border-color: #000; | |
| 231 | + background-color: #866; | |
| 232 | + color: #fff; | |
| 233 | +} | |
| 234 | + | |
| 235 | +.calendar td.time span.active { | |
| 236 | + border-color: #f00; | |
| 237 | + background-color: #000; | |
| 238 | + color: #0f0; | |
| 239 | +} | ... | ... |
thirdpartyjs/jscalendar-1.0/calendar-win2k-1.css
0 โ 100644
| 1 | +/* The main calendar widget. DIV containing a table. */ | |
| 2 | + | |
| 3 | +.calendar { | |
| 4 | + position: relative; | |
| 5 | + display: none; | |
| 6 | + border-top: 2px solid #fff; | |
| 7 | + border-right: 2px solid #000; | |
| 8 | + border-bottom: 2px solid #000; | |
| 9 | + border-left: 2px solid #fff; | |
| 10 | + font-size: 11px; | |
| 11 | + color: #000; | |
| 12 | + cursor: default; | |
| 13 | + background: #d4d0c8; | |
| 14 | + font-family: tahoma,verdana,sans-serif; | |
| 15 | +} | |
| 16 | + | |
| 17 | +.calendar table { | |
| 18 | + border-top: 1px solid #000; | |
| 19 | + border-right: 1px solid #fff; | |
| 20 | + border-bottom: 1px solid #fff; | |
| 21 | + border-left: 1px solid #000; | |
| 22 | + font-size: 11px; | |
| 23 | + color: #000; | |
| 24 | + cursor: default; | |
| 25 | + background: #d4d0c8; | |
| 26 | + font-family: tahoma,verdana,sans-serif; | |
| 27 | +} | |
| 28 | + | |
| 29 | +/* Header part -- contains navigation buttons and day names. */ | |
| 30 | + | |
| 31 | +.calendar .button { /* "<<", "<", ">", ">>" buttons have this class */ | |
| 32 | + text-align: center; | |
| 33 | + padding: 1px; | |
| 34 | + border-top: 1px solid #fff; | |
| 35 | + border-right: 1px solid #000; | |
| 36 | + border-bottom: 1px solid #000; | |
| 37 | + border-left: 1px solid #fff; | |
| 38 | +} | |
| 39 | + | |
| 40 | +.calendar .nav { | |
| 41 | + background: transparent url(menuarrow.gif) no-repeat 100% 100%; | |
| 42 | +} | |
| 43 | + | |
| 44 | +.calendar thead .title { /* This holds the current "month, year" */ | |
| 45 | + font-weight: bold; | |
| 46 | + padding: 1px; | |
| 47 | + border: 1px solid #000; | |
| 48 | + background: #848078; | |
| 49 | + color: #fff; | |
| 50 | + text-align: center; | |
| 51 | +} | |
| 52 | + | |
| 53 | +.calendar thead .headrow { /* Row <TR> containing navigation buttons */ | |
| 54 | +} | |
| 55 | + | |
| 56 | +.calendar thead .daynames { /* Row <TR> containing the day names */ | |
| 57 | +} | |
| 58 | + | |
| 59 | +.calendar thead .name { /* Cells <TD> containing the day names */ | |
| 60 | + border-bottom: 1px solid #000; | |
| 61 | + padding: 2px; | |
| 62 | + text-align: center; | |
| 63 | + background: #f4f0e8; | |
| 64 | +} | |
| 65 | + | |
| 66 | +.calendar thead .weekend { /* How a weekend day name shows in header */ | |
| 67 | + color: #f00; | |
| 68 | +} | |
| 69 | + | |
| 70 | +.calendar thead .hilite { /* How do the buttons in header appear when hover */ | |
| 71 | + border-top: 2px solid #fff; | |
| 72 | + border-right: 2px solid #000; | |
| 73 | + border-bottom: 2px solid #000; | |
| 74 | + border-left: 2px solid #fff; | |
| 75 | + padding: 0px; | |
| 76 | + background-color: #e4e0d8; | |
| 77 | +} | |
| 78 | + | |
| 79 | +.calendar thead .active { /* Active (pressed) buttons in header */ | |
| 80 | + padding: 2px 0px 0px 2px; | |
| 81 | + border-top: 1px solid #000; | |
| 82 | + border-right: 1px solid #fff; | |
| 83 | + border-bottom: 1px solid #fff; | |
| 84 | + border-left: 1px solid #000; | |
| 85 | + background-color: #c4c0b8; | |
| 86 | +} | |
| 87 | + | |
| 88 | +/* The body part -- contains all the days in month. */ | |
| 89 | + | |
| 90 | +.calendar tbody .day { /* Cells <TD> containing month days dates */ | |
| 91 | + width: 2em; | |
| 92 | + text-align: right; | |
| 93 | + padding: 2px 4px 2px 2px; | |
| 94 | +} | |
| 95 | +.calendar tbody .day.othermonth { | |
| 96 | + font-size: 80%; | |
| 97 | + color: #aaa; | |
| 98 | +} | |
| 99 | +.calendar tbody .day.othermonth.oweekend { | |
| 100 | + color: #faa; | |
| 101 | +} | |
| 102 | + | |
| 103 | +.calendar table .wn { | |
| 104 | + padding: 2px 3px 2px 2px; | |
| 105 | + border-right: 1px solid #000; | |
| 106 | + background: #f4f0e8; | |
| 107 | +} | |
| 108 | + | |
| 109 | +.calendar tbody .rowhilite td { | |
| 110 | + background: #e4e0d8; | |
| 111 | +} | |
| 112 | + | |
| 113 | +.calendar tbody .rowhilite td.wn { | |
| 114 | + background: #d4d0c8; | |
| 115 | +} | |
| 116 | + | |
| 117 | +.calendar tbody td.hilite { /* Hovered cells <TD> */ | |
| 118 | + padding: 1px 3px 1px 1px; | |
| 119 | + border-top: 1px solid #fff; | |
| 120 | + border-right: 1px solid #000; | |
| 121 | + border-bottom: 1px solid #000; | |
| 122 | + border-left: 1px solid #fff; | |
| 123 | +} | |
| 124 | + | |
| 125 | +.calendar tbody td.active { /* Active (pressed) cells <TD> */ | |
| 126 | + padding: 2px 2px 0px 2px; | |
| 127 | + border-top: 1px solid #000; | |
| 128 | + border-right: 1px solid #fff; | |
| 129 | + border-bottom: 1px solid #fff; | |
| 130 | + border-left: 1px solid #000; | |
| 131 | +} | |
| 132 | + | |
| 133 | +.calendar tbody td.selected { /* Cell showing selected date */ | |
| 134 | + font-weight: bold; | |
| 135 | + border-top: 1px solid #000; | |
| 136 | + border-right: 1px solid #fff; | |
| 137 | + border-bottom: 1px solid #fff; | |
| 138 | + border-left: 1px solid #000; | |
| 139 | + padding: 2px 2px 0px 2px; | |
| 140 | + background: #e4e0d8; | |
| 141 | +} | |
| 142 | + | |
| 143 | +.calendar tbody td.weekend { /* Cells showing weekend days */ | |
| 144 | + color: #f00; | |
| 145 | +} | |
| 146 | + | |
| 147 | +.calendar tbody td.today { /* Cell showing today date */ | |
| 148 | + font-weight: bold; | |
| 149 | + color: #00f; | |
| 150 | +} | |
| 151 | + | |
| 152 | +.calendar tbody .disabled { color: #999; } | |
| 153 | + | |
| 154 | +.calendar tbody .emptycell { /* Empty cells (the best is to hide them) */ | |
| 155 | + visibility: hidden; | |
| 156 | +} | |
| 157 | + | |
| 158 | +.calendar tbody .emptyrow { /* Empty row (some months need less than 6 rows) */ | |
| 159 | + display: none; | |
| 160 | +} | |
| 161 | + | |
| 162 | +/* The footer part -- status bar and "Close" button */ | |
| 163 | + | |
| 164 | +.calendar tfoot .footrow { /* The <TR> in footer (only one right now) */ | |
| 165 | +} | |
| 166 | + | |
| 167 | +.calendar tfoot .ttip { /* Tooltip (status bar) cell <TD> */ | |
| 168 | + background: #f4f0e8; | |
| 169 | + padding: 1px; | |
| 170 | + border: 1px solid #000; | |
| 171 | + background: #848078; | |
| 172 | + color: #fff; | |
| 173 | + text-align: center; | |
| 174 | +} | |
| 175 | + | |
| 176 | +.calendar tfoot .hilite { /* Hover style for buttons in footer */ | |
| 177 | + border-top: 1px solid #fff; | |
| 178 | + border-right: 1px solid #000; | |
| 179 | + border-bottom: 1px solid #000; | |
| 180 | + border-left: 1px solid #fff; | |
| 181 | + padding: 1px; | |
| 182 | + background: #e4e0d8; | |
| 183 | +} | |
| 184 | + | |
| 185 | +.calendar tfoot .active { /* Active (pressed) style for buttons in footer */ | |
| 186 | + padding: 2px 0px 0px 2px; | |
| 187 | + border-top: 1px solid #000; | |
| 188 | + border-right: 1px solid #fff; | |
| 189 | + border-bottom: 1px solid #fff; | |
| 190 | + border-left: 1px solid #000; | |
| 191 | +} | |
| 192 | + | |
| 193 | +/* Combo boxes (menus that display months/years for direct selection) */ | |
| 194 | + | |
| 195 | +.calendar .combo { | |
| 196 | + position: absolute; | |
| 197 | + display: none; | |
| 198 | + width: 4em; | |
| 199 | + top: 0px; | |
| 200 | + left: 0px; | |
| 201 | + cursor: default; | |
| 202 | + border-top: 1px solid #fff; | |
| 203 | + border-right: 1px solid #000; | |
| 204 | + border-bottom: 1px solid #000; | |
| 205 | + border-left: 1px solid #fff; | |
| 206 | + background: #e4e0d8; | |
| 207 | + font-size: 90%; | |
| 208 | + padding: 1px; | |
| 209 | + z-index: 100; | |
| 210 | +} | |
| 211 | + | |
| 212 | +.calendar .combo .label, | |
| 213 | +.calendar .combo .label-IEfix { | |
| 214 | + text-align: center; | |
| 215 | + padding: 1px; | |
| 216 | +} | |
| 217 | + | |
| 218 | +.calendar .combo .label-IEfix { | |
| 219 | + width: 4em; | |
| 220 | +} | |
| 221 | + | |
| 222 | +.calendar .combo .active { | |
| 223 | + background: #c4c0b8; | |
| 224 | + padding: 0px; | |
| 225 | + border-top: 1px solid #000; | |
| 226 | + border-right: 1px solid #fff; | |
| 227 | + border-bottom: 1px solid #fff; | |
| 228 | + border-left: 1px solid #000; | |
| 229 | +} | |
| 230 | + | |
| 231 | +.calendar .combo .hilite { | |
| 232 | + background: #048; | |
| 233 | + color: #fea; | |
| 234 | +} | |
| 235 | + | |
| 236 | +.calendar td.time { | |
| 237 | + border-top: 1px solid #000; | |
| 238 | + padding: 1px 0px; | |
| 239 | + text-align: center; | |
| 240 | + background-color: #f4f0e8; | |
| 241 | +} | |
| 242 | + | |
| 243 | +.calendar td.time .hour, | |
| 244 | +.calendar td.time .minute, | |
| 245 | +.calendar td.time .ampm { | |
| 246 | + padding: 0px 3px 0px 4px; | |
| 247 | + border: 1px solid #889; | |
| 248 | + font-weight: bold; | |
| 249 | + background-color: #fff; | |
| 250 | +} | |
| 251 | + | |
| 252 | +.calendar td.time .ampm { | |
| 253 | + text-align: center; | |
| 254 | +} | |
| 255 | + | |
| 256 | +.calendar td.time .colon { | |
| 257 | + padding: 0px 2px 0px 3px; | |
| 258 | + font-weight: bold; | |
| 259 | +} | |
| 260 | + | |
| 261 | +.calendar td.time span.hilite { | |
| 262 | + border-color: #000; | |
| 263 | + background-color: #766; | |
| 264 | + color: #fff; | |
| 265 | +} | |
| 266 | + | |
| 267 | +.calendar td.time span.active { | |
| 268 | + border-color: #f00; | |
| 269 | + background-color: #000; | |
| 270 | + color: #0f0; | |
| 271 | +} | ... | ... |
thirdpartyjs/jscalendar-1.0/calendar-win2k-2.css
0 โ 100644
| 1 | +/* The main calendar widget. DIV containing a table. */ | |
| 2 | + | |
| 3 | +.calendar { | |
| 4 | + position: relative; | |
| 5 | + display: none; | |
| 6 | + border-top: 2px solid #fff; | |
| 7 | + border-right: 2px solid #000; | |
| 8 | + border-bottom: 2px solid #000; | |
| 9 | + border-left: 2px solid #fff; | |
| 10 | + font-size: 11px; | |
| 11 | + color: #000; | |
| 12 | + cursor: default; | |
| 13 | + background: #d4c8d0; | |
| 14 | + font-family: tahoma,verdana,sans-serif; | |
| 15 | +} | |
| 16 | + | |
| 17 | +.calendar table { | |
| 18 | + border-top: 1px solid #000; | |
| 19 | + border-right: 1px solid #fff; | |
| 20 | + border-bottom: 1px solid #fff; | |
| 21 | + border-left: 1px solid #000; | |
| 22 | + font-size: 11px; | |
| 23 | + color: #000; | |
| 24 | + cursor: default; | |
| 25 | + background: #d4c8d0; | |
| 26 | + font-family: tahoma,verdana,sans-serif; | |
| 27 | +} | |
| 28 | + | |
| 29 | +/* Header part -- contains navigation buttons and day names. */ | |
| 30 | + | |
| 31 | +.calendar .button { /* "<<", "<", ">", ">>" buttons have this class */ | |
| 32 | + text-align: center; | |
| 33 | + padding: 1px; | |
| 34 | + border-top: 1px solid #fff; | |
| 35 | + border-right: 1px solid #000; | |
| 36 | + border-bottom: 1px solid #000; | |
| 37 | + border-left: 1px solid #fff; | |
| 38 | +} | |
| 39 | + | |
| 40 | +.calendar .nav { | |
| 41 | + background: transparent url(menuarrow.gif) no-repeat 100% 100%; | |
| 42 | +} | |
| 43 | + | |
| 44 | +.calendar thead .title { /* This holds the current "month, year" */ | |
| 45 | + font-weight: bold; | |
| 46 | + padding: 1px; | |
| 47 | + border: 1px solid #000; | |
| 48 | + background: #847880; | |
| 49 | + color: #fff; | |
| 50 | + text-align: center; | |
| 51 | +} | |
| 52 | + | |
| 53 | +.calendar thead .headrow { /* Row <TR> containing navigation buttons */ | |
| 54 | +} | |
| 55 | + | |
| 56 | +.calendar thead .daynames { /* Row <TR> containing the day names */ | |
| 57 | +} | |
| 58 | + | |
| 59 | +.calendar thead .name { /* Cells <TD> containing the day names */ | |
| 60 | + border-bottom: 1px solid #000; | |
| 61 | + padding: 2px; | |
| 62 | + text-align: center; | |
| 63 | + background: #f4e8f0; | |
| 64 | +} | |
| 65 | + | |
| 66 | +.calendar thead .weekend { /* How a weekend day name shows in header */ | |
| 67 | + color: #f00; | |
| 68 | +} | |
| 69 | + | |
| 70 | +.calendar thead .hilite { /* How do the buttons in header appear when hover */ | |
| 71 | + border-top: 2px solid #fff; | |
| 72 | + border-right: 2px solid #000; | |
| 73 | + border-bottom: 2px solid #000; | |
| 74 | + border-left: 2px solid #fff; | |
| 75 | + padding: 0px; | |
| 76 | + background-color: #e4d8e0; | |
| 77 | +} | |
| 78 | + | |
| 79 | +.calendar thead .active { /* Active (pressed) buttons in header */ | |
| 80 | + padding: 2px 0px 0px 2px; | |
| 81 | + border-top: 1px solid #000; | |
| 82 | + border-right: 1px solid #fff; | |
| 83 | + border-bottom: 1px solid #fff; | |
| 84 | + border-left: 1px solid #000; | |
| 85 | + background-color: #c4b8c0; | |
| 86 | +} | |
| 87 | + | |
| 88 | +/* The body part -- contains all the days in month. */ | |
| 89 | + | |
| 90 | +.calendar tbody .day { /* Cells <TD> containing month days dates */ | |
| 91 | + width: 2em; | |
| 92 | + text-align: right; | |
| 93 | + padding: 2px 4px 2px 2px; | |
| 94 | +} | |
| 95 | +.calendar tbody .day.othermonth { | |
| 96 | + font-size: 80%; | |
| 97 | + color: #aaa; | |
| 98 | +} | |
| 99 | +.calendar tbody .day.othermonth.oweekend { | |
| 100 | + color: #faa; | |
| 101 | +} | |
| 102 | + | |
| 103 | +.calendar table .wn { | |
| 104 | + padding: 2px 3px 2px 2px; | |
| 105 | + border-right: 1px solid #000; | |
| 106 | + background: #f4e8f0; | |
| 107 | +} | |
| 108 | + | |
| 109 | +.calendar tbody .rowhilite td { | |
| 110 | + background: #e4d8e0; | |
| 111 | +} | |
| 112 | + | |
| 113 | +.calendar tbody .rowhilite td.wn { | |
| 114 | + background: #d4c8d0; | |
| 115 | +} | |
| 116 | + | |
| 117 | +.calendar tbody td.hilite { /* Hovered cells <TD> */ | |
| 118 | + padding: 1px 3px 1px 1px; | |
| 119 | + border-top: 1px solid #fff; | |
| 120 | + border-right: 1px solid #000; | |
| 121 | + border-bottom: 1px solid #000; | |
| 122 | + border-left: 1px solid #fff; | |
| 123 | +} | |
| 124 | + | |
| 125 | +.calendar tbody td.active { /* Active (pressed) cells <TD> */ | |
| 126 | + padding: 2px 2px 0px 2px; | |
| 127 | + border-top: 1px solid #000; | |
| 128 | + border-right: 1px solid #fff; | |
| 129 | + border-bottom: 1px solid #fff; | |
| 130 | + border-left: 1px solid #000; | |
| 131 | +} | |
| 132 | + | |
| 133 | +.calendar tbody td.selected { /* Cell showing selected date */ | |
| 134 | + font-weight: bold; | |
| 135 | + border-top: 1px solid #000; | |
| 136 | + border-right: 1px solid #fff; | |
| 137 | + border-bottom: 1px solid #fff; | |
| 138 | + border-left: 1px solid #000; | |
| 139 | + padding: 2px 2px 0px 2px; | |
| 140 | + background: #e4d8e0; | |
| 141 | +} | |
| 142 | + | |
| 143 | +.calendar tbody td.weekend { /* Cells showing weekend days */ | |
| 144 | + color: #f00; | |
| 145 | +} | |
| 146 | + | |
| 147 | +.calendar tbody td.today { /* Cell showing today date */ | |
| 148 | + font-weight: bold; | |
| 149 | + color: #00f; | |
| 150 | +} | |
| 151 | + | |
| 152 | +.calendar tbody .disabled { color: #999; } | |
| 153 | + | |
| 154 | +.calendar tbody .emptycell { /* Empty cells (the best is to hide them) */ | |
| 155 | + visibility: hidden; | |
| 156 | +} | |
| 157 | + | |
| 158 | +.calendar tbody .emptyrow { /* Empty row (some months need less than 6 rows) */ | |
| 159 | + display: none; | |
| 160 | +} | |
| 161 | + | |
| 162 | +/* The footer part -- status bar and "Close" button */ | |
| 163 | + | |
| 164 | +.calendar tfoot .footrow { /* The <TR> in footer (only one right now) */ | |
| 165 | +} | |
| 166 | + | |
| 167 | +.calendar tfoot .ttip { /* Tooltip (status bar) cell <TD> */ | |
| 168 | + background: #f4e8f0; | |
| 169 | + padding: 1px; | |
| 170 | + border: 1px solid #000; | |
| 171 | + background: #847880; | |
| 172 | + color: #fff; | |
| 173 | + text-align: center; | |
| 174 | +} | |
| 175 | + | |
| 176 | +.calendar tfoot .hilite { /* Hover style for buttons in footer */ | |
| 177 | + border-top: 1px solid #fff; | |
| 178 | + border-right: 1px solid #000; | |
| 179 | + border-bottom: 1px solid #000; | |
| 180 | + border-left: 1px solid #fff; | |
| 181 | + padding: 1px; | |
| 182 | + background: #e4d8e0; | |
| 183 | +} | |
| 184 | + | |
| 185 | +.calendar tfoot .active { /* Active (pressed) style for buttons in footer */ | |
| 186 | + padding: 2px 0px 0px 2px; | |
| 187 | + border-top: 1px solid #000; | |
| 188 | + border-right: 1px solid #fff; | |
| 189 | + border-bottom: 1px solid #fff; | |
| 190 | + border-left: 1px solid #000; | |
| 191 | +} | |
| 192 | + | |
| 193 | +/* Combo boxes (menus that display months/years for direct selection) */ | |
| 194 | + | |
| 195 | +.calendar .combo { | |
| 196 | + position: absolute; | |
| 197 | + display: none; | |
| 198 | + width: 4em; | |
| 199 | + top: 0px; | |
| 200 | + left: 0px; | |
| 201 | + cursor: default; | |
| 202 | + border-top: 1px solid #fff; | |
| 203 | + border-right: 1px solid #000; | |
| 204 | + border-bottom: 1px solid #000; | |
| 205 | + border-left: 1px solid #fff; | |
| 206 | + background: #e4d8e0; | |
| 207 | + font-size: 90%; | |
| 208 | + padding: 1px; | |
| 209 | + z-index: 100; | |
| 210 | +} | |
| 211 | + | |
| 212 | +.calendar .combo .label, | |
| 213 | +.calendar .combo .label-IEfix { | |
| 214 | + text-align: center; | |
| 215 | + padding: 1px; | |
| 216 | +} | |
| 217 | + | |
| 218 | +.calendar .combo .label-IEfix { | |
| 219 | + width: 4em; | |
| 220 | +} | |
| 221 | + | |
| 222 | +.calendar .combo .active { | |
| 223 | + background: #d4c8d0; | |
| 224 | + padding: 0px; | |
| 225 | + border-top: 1px solid #000; | |
| 226 | + border-right: 1px solid #fff; | |
| 227 | + border-bottom: 1px solid #fff; | |
| 228 | + border-left: 1px solid #000; | |
| 229 | +} | |
| 230 | + | |
| 231 | +.calendar .combo .hilite { | |
| 232 | + background: #408; | |
| 233 | + color: #fea; | |
| 234 | +} | |
| 235 | + | |
| 236 | +.calendar td.time { | |
| 237 | + border-top: 1px solid #000; | |
| 238 | + padding: 1px 0px; | |
| 239 | + text-align: center; | |
| 240 | + background-color: #f4f0e8; | |
| 241 | +} | |
| 242 | + | |
| 243 | +.calendar td.time .hour, | |
| 244 | +.calendar td.time .minute, | |
| 245 | +.calendar td.time .ampm { | |
| 246 | + padding: 0px 3px 0px 4px; | |
| 247 | + border: 1px solid #889; | |
| 248 | + font-weight: bold; | |
| 249 | + background-color: #fff; | |
| 250 | +} | |
| 251 | + | |
| 252 | +.calendar td.time .ampm { | |
| 253 | + text-align: center; | |
| 254 | +} | |
| 255 | + | |
| 256 | +.calendar td.time .colon { | |
| 257 | + padding: 0px 2px 0px 3px; | |
| 258 | + font-weight: bold; | |
| 259 | +} | |
| 260 | + | |
| 261 | +.calendar td.time span.hilite { | |
| 262 | + border-color: #000; | |
| 263 | + background-color: #766; | |
| 264 | + color: #fff; | |
| 265 | +} | |
| 266 | + | |
| 267 | +.calendar td.time span.active { | |
| 268 | + border-color: #f00; | |
| 269 | + background-color: #000; | |
| 270 | + color: #0f0; | |
| 271 | +} | ... | ... |
thirdpartyjs/jscalendar-1.0/calendar-win2k-cold-1.css
0 โ 100644
| 1 | +/* The main calendar widget. DIV containing a table. */ | |
| 2 | + | |
| 3 | +.calendar { | |
| 4 | + position: relative; | |
| 5 | + display: none; | |
| 6 | + border-top: 2px solid #fff; | |
| 7 | + border-right: 2px solid #000; | |
| 8 | + border-bottom: 2px solid #000; | |
| 9 | + border-left: 2px solid #fff; | |
| 10 | + font-size: 11px; | |
| 11 | + color: #000; | |
| 12 | + cursor: default; | |
| 13 | + background: #c8d0d4; | |
| 14 | + font-family: tahoma,verdana,sans-serif; | |
| 15 | +} | |
| 16 | + | |
| 17 | +.calendar table { | |
| 18 | + border-top: 1px solid #000; | |
| 19 | + border-right: 1px solid #fff; | |
| 20 | + border-bottom: 1px solid #fff; | |
| 21 | + border-left: 1px solid #000; | |
| 22 | + font-size: 11px; | |
| 23 | + color: #000; | |
| 24 | + cursor: default; | |
| 25 | + background: #c8d0d4; | |
| 26 | + font-family: tahoma,verdana,sans-serif; | |
| 27 | +} | |
| 28 | + | |
| 29 | +/* Header part -- contains navigation buttons and day names. */ | |
| 30 | + | |
| 31 | +.calendar .button { /* "<<", "<", ">", ">>" buttons have this class */ | |
| 32 | + text-align: center; | |
| 33 | + padding: 1px; | |
| 34 | + border-top: 1px solid #fff; | |
| 35 | + border-right: 1px solid #000; | |
| 36 | + border-bottom: 1px solid #000; | |
| 37 | + border-left: 1px solid #fff; | |
| 38 | +} | |
| 39 | + | |
| 40 | +.calendar .nav { | |
| 41 | + background: transparent url(menuarrow.gif) no-repeat 100% 100%; | |
| 42 | +} | |
| 43 | + | |
| 44 | +.calendar thead .title { /* This holds the current "month, year" */ | |
| 45 | + font-weight: bold; | |
| 46 | + padding: 1px; | |
| 47 | + border: 1px solid #000; | |
| 48 | + background: #788084; | |
| 49 | + color: #fff; | |
| 50 | + text-align: center; | |
| 51 | +} | |
| 52 | + | |
| 53 | +.calendar thead .headrow { /* Row <TR> containing navigation buttons */ | |
| 54 | +} | |
| 55 | + | |
| 56 | +.calendar thead .daynames { /* Row <TR> containing the day names */ | |
| 57 | +} | |
| 58 | + | |
| 59 | +.calendar thead .name { /* Cells <TD> containing the day names */ | |
| 60 | + border-bottom: 1px solid #000; | |
| 61 | + padding: 2px; | |
| 62 | + text-align: center; | |
| 63 | + background: #e8f0f4; | |
| 64 | +} | |
| 65 | + | |
| 66 | +.calendar thead .weekend { /* How a weekend day name shows in header */ | |
| 67 | + color: #f00; | |
| 68 | +} | |
| 69 | + | |
| 70 | +.calendar thead .hilite { /* How do the buttons in header appear when hover */ | |
| 71 | + border-top: 2px solid #fff; | |
| 72 | + border-right: 2px solid #000; | |
| 73 | + border-bottom: 2px solid #000; | |
| 74 | + border-left: 2px solid #fff; | |
| 75 | + padding: 0px; | |
| 76 | + background-color: #d8e0e4; | |
| 77 | +} | |
| 78 | + | |
| 79 | +.calendar thead .active { /* Active (pressed) buttons in header */ | |
| 80 | + padding: 2px 0px 0px 2px; | |
| 81 | + border-top: 1px solid #000; | |
| 82 | + border-right: 1px solid #fff; | |
| 83 | + border-bottom: 1px solid #fff; | |
| 84 | + border-left: 1px solid #000; | |
| 85 | + background-color: #b8c0c4; | |
| 86 | +} | |
| 87 | + | |
| 88 | +/* The body part -- contains all the days in month. */ | |
| 89 | + | |
| 90 | +.calendar tbody .day { /* Cells <TD> containing month days dates */ | |
| 91 | + width: 2em; | |
| 92 | + text-align: right; | |
| 93 | + padding: 2px 4px 2px 2px; | |
| 94 | +} | |
| 95 | +.calendar tbody .day.othermonth { | |
| 96 | + font-size: 80%; | |
| 97 | + color: #aaa; | |
| 98 | +} | |
| 99 | +.calendar tbody .day.othermonth.oweekend { | |
| 100 | + color: #faa; | |
| 101 | +} | |
| 102 | + | |
| 103 | +.calendar table .wn { | |
| 104 | + padding: 2px 3px 2px 2px; | |
| 105 | + border-right: 1px solid #000; | |
| 106 | + background: #e8f4f0; | |
| 107 | +} | |
| 108 | + | |
| 109 | +.calendar tbody .rowhilite td { | |
| 110 | + background: #d8e4e0; | |
| 111 | +} | |
| 112 | + | |
| 113 | +.calendar tbody .rowhilite td.wn { | |
| 114 | + background: #c8d4d0; | |
| 115 | +} | |
| 116 | + | |
| 117 | +.calendar tbody td.hilite { /* Hovered cells <TD> */ | |
| 118 | + padding: 1px 3px 1px 1px; | |
| 119 | + border: 1px solid; | |
| 120 | + border-color: #fff #000 #000 #fff; | |
| 121 | +} | |
| 122 | + | |
| 123 | +.calendar tbody td.active { /* Active (pressed) cells <TD> */ | |
| 124 | + padding: 2px 2px 0px 2px; | |
| 125 | + border: 1px solid; | |
| 126 | + border-color: #000 #fff #fff #000; | |
| 127 | +} | |
| 128 | + | |
| 129 | +.calendar tbody td.selected { /* Cell showing selected date */ | |
| 130 | + font-weight: bold; | |
| 131 | + padding: 2px 2px 0px 2px; | |
| 132 | + border: 1px solid; | |
| 133 | + border-color: #000 #fff #fff #000; | |
| 134 | + background: #d8e0e4; | |
| 135 | +} | |
| 136 | + | |
| 137 | +.calendar tbody td.weekend { /* Cells showing weekend days */ | |
| 138 | + color: #f00; | |
| 139 | +} | |
| 140 | + | |
| 141 | +.calendar tbody td.today { /* Cell showing today date */ | |
| 142 | + font-weight: bold; | |
| 143 | + color: #00f; | |
| 144 | +} | |
| 145 | + | |
| 146 | +.calendar tbody .disabled { color: #999; } | |
| 147 | + | |
| 148 | +.calendar tbody .emptycell { /* Empty cells (the best is to hide them) */ | |
| 149 | + visibility: hidden; | |
| 150 | +} | |
| 151 | + | |
| 152 | +.calendar tbody .emptyrow { /* Empty row (some months need less than 6 rows) */ | |
| 153 | + display: none; | |
| 154 | +} | |
| 155 | + | |
| 156 | +/* The footer part -- status bar and "Close" button */ | |
| 157 | + | |
| 158 | +.calendar tfoot .footrow { /* The <TR> in footer (only one right now) */ | |
| 159 | +} | |
| 160 | + | |
| 161 | +.calendar tfoot .ttip { /* Tooltip (status bar) cell <TD> */ | |
| 162 | + background: #e8f0f4; | |
| 163 | + padding: 1px; | |
| 164 | + border: 1px solid #000; | |
| 165 | + background: #788084; | |
| 166 | + color: #fff; | |
| 167 | + text-align: center; | |
| 168 | +} | |
| 169 | + | |
| 170 | +.calendar tfoot .hilite { /* Hover style for buttons in footer */ | |
| 171 | + border-top: 1px solid #fff; | |
| 172 | + border-right: 1px solid #000; | |
| 173 | + border-bottom: 1px solid #000; | |
| 174 | + border-left: 1px solid #fff; | |
| 175 | + padding: 1px; | |
| 176 | + background: #d8e0e4; | |
| 177 | +} | |
| 178 | + | |
| 179 | +.calendar tfoot .active { /* Active (pressed) style for buttons in footer */ | |
| 180 | + padding: 2px 0px 0px 2px; | |
| 181 | + border-top: 1px solid #000; | |
| 182 | + border-right: 1px solid #fff; | |
| 183 | + border-bottom: 1px solid #fff; | |
| 184 | + border-left: 1px solid #000; | |
| 185 | +} | |
| 186 | + | |
| 187 | +/* Combo boxes (menus that display months/years for direct selection) */ | |
| 188 | + | |
| 189 | +.calendar .combo { | |
| 190 | + position: absolute; | |
| 191 | + display: none; | |
| 192 | + width: 4em; | |
| 193 | + top: 0px; | |
| 194 | + left: 0px; | |
| 195 | + cursor: default; | |
| 196 | + border-top: 1px solid #fff; | |
| 197 | + border-right: 1px solid #000; | |
| 198 | + border-bottom: 1px solid #000; | |
| 199 | + border-left: 1px solid #fff; | |
| 200 | + background: #d8e0e4; | |
| 201 | + font-size: 90%; | |
| 202 | + padding: 1px; | |
| 203 | + z-index: 100; | |
| 204 | +} | |
| 205 | + | |
| 206 | +.calendar .combo .label, | |
| 207 | +.calendar .combo .label-IEfix { | |
| 208 | + text-align: center; | |
| 209 | + padding: 1px; | |
| 210 | +} | |
| 211 | + | |
| 212 | +.calendar .combo .label-IEfix { | |
| 213 | + width: 4em; | |
| 214 | +} | |
| 215 | + | |
| 216 | +.calendar .combo .active { | |
| 217 | + background: #c8d0d4; | |
| 218 | + padding: 0px; | |
| 219 | + border-top: 1px solid #000; | |
| 220 | + border-right: 1px solid #fff; | |
| 221 | + border-bottom: 1px solid #fff; | |
| 222 | + border-left: 1px solid #000; | |
| 223 | +} | |
| 224 | + | |
| 225 | +.calendar .combo .hilite { | |
| 226 | + background: #048; | |
| 227 | + color: #aef; | |
| 228 | +} | |
| 229 | + | |
| 230 | +.calendar td.time { | |
| 231 | + border-top: 1px solid #000; | |
| 232 | + padding: 1px 0px; | |
| 233 | + text-align: center; | |
| 234 | + background-color: #e8f0f4; | |
| 235 | +} | |
| 236 | + | |
| 237 | +.calendar td.time .hour, | |
| 238 | +.calendar td.time .minute, | |
| 239 | +.calendar td.time .ampm { | |
| 240 | + padding: 0px 3px 0px 4px; | |
| 241 | + border: 1px solid #889; | |
| 242 | + font-weight: bold; | |
| 243 | + background-color: #fff; | |
| 244 | +} | |
| 245 | + | |
| 246 | +.calendar td.time .ampm { | |
| 247 | + text-align: center; | |
| 248 | +} | |
| 249 | + | |
| 250 | +.calendar td.time .colon { | |
| 251 | + padding: 0px 2px 0px 3px; | |
| 252 | + font-weight: bold; | |
| 253 | +} | |
| 254 | + | |
| 255 | +.calendar td.time span.hilite { | |
| 256 | + border-color: #000; | |
| 257 | + background-color: #667; | |
| 258 | + color: #fff; | |
| 259 | +} | |
| 260 | + | |
| 261 | +.calendar td.time span.active { | |
| 262 | + border-color: #f00; | |
| 263 | + background-color: #000; | |
| 264 | + color: #0f0; | |
| 265 | +} | ... | ... |
thirdpartyjs/jscalendar-1.0/calendar-win2k-cold-2.css
0 โ 100644
| 1 | +/* The main calendar widget. DIV containing a table. */ | |
| 2 | + | |
| 3 | +.calendar { | |
| 4 | + position: relative; | |
| 5 | + display: none; | |
| 6 | + border-top: 2px solid #fff; | |
| 7 | + border-right: 2px solid #000; | |
| 8 | + border-bottom: 2px solid #000; | |
| 9 | + border-left: 2px solid #fff; | |
| 10 | + font-size: 11px; | |
| 11 | + color: #000; | |
| 12 | + cursor: default; | |
| 13 | + background: #c8d4d0; | |
| 14 | + font-family: tahoma,verdana,sans-serif; | |
| 15 | +} | |
| 16 | + | |
| 17 | +.calendar table { | |
| 18 | + border-top: 1px solid #000; | |
| 19 | + border-right: 1px solid #fff; | |
| 20 | + border-bottom: 1px solid #fff; | |
| 21 | + border-left: 1px solid #000; | |
| 22 | + font-size: 11px; | |
| 23 | + color: #000; | |
| 24 | + cursor: default; | |
| 25 | + background: #c8d4d0; | |
| 26 | + font-family: tahoma,verdana,sans-serif; | |
| 27 | +} | |
| 28 | + | |
| 29 | +/* Header part -- contains navigation buttons and day names. */ | |
| 30 | + | |
| 31 | +.calendar .button { /* "<<", "<", ">", ">>" buttons have this class */ | |
| 32 | + text-align: center; | |
| 33 | + padding: 1px; | |
| 34 | + border-top: 1px solid #fff; | |
| 35 | + border-right: 1px solid #000; | |
| 36 | + border-bottom: 1px solid #000; | |
| 37 | + border-left: 1px solid #fff; | |
| 38 | +} | |
| 39 | + | |
| 40 | +.calendar .nav { | |
| 41 | + background: transparent url(menuarrow.gif) no-repeat 100% 100%; | |
| 42 | +} | |
| 43 | + | |
| 44 | +.calendar thead .title { /* This holds the current "month, year" */ | |
| 45 | + font-weight: bold; | |
| 46 | + padding: 1px; | |
| 47 | + border: 1px solid #000; | |
| 48 | + background: #788480; | |
| 49 | + color: #fff; | |
| 50 | + text-align: center; | |
| 51 | +} | |
| 52 | + | |
| 53 | +.calendar thead .headrow { /* Row <TR> containing navigation buttons */ | |
| 54 | +} | |
| 55 | + | |
| 56 | +.calendar thead .daynames { /* Row <TR> containing the day names */ | |
| 57 | +} | |
| 58 | + | |
| 59 | +.calendar thead .name { /* Cells <TD> containing the day names */ | |
| 60 | + border-bottom: 1px solid #000; | |
| 61 | + padding: 2px; | |
| 62 | + text-align: center; | |
| 63 | + background: #e8f4f0; | |
| 64 | +} | |
| 65 | + | |
| 66 | +.calendar thead .weekend { /* How a weekend day name shows in header */ | |
| 67 | + color: #f00; | |
| 68 | +} | |
| 69 | + | |
| 70 | +.calendar thead .hilite { /* How do the buttons in header appear when hover */ | |
| 71 | + border-top: 2px solid #fff; | |
| 72 | + border-right: 2px solid #000; | |
| 73 | + border-bottom: 2px solid #000; | |
| 74 | + border-left: 2px solid #fff; | |
| 75 | + padding: 0px; | |
| 76 | + background-color: #d8e4e0; | |
| 77 | +} | |
| 78 | + | |
| 79 | +.calendar thead .active { /* Active (pressed) buttons in header */ | |
| 80 | + padding: 2px 0px 0px 2px; | |
| 81 | + border-top: 1px solid #000; | |
| 82 | + border-right: 1px solid #fff; | |
| 83 | + border-bottom: 1px solid #fff; | |
| 84 | + border-left: 1px solid #000; | |
| 85 | + background-color: #b8c4c0; | |
| 86 | +} | |
| 87 | + | |
| 88 | +/* The body part -- contains all the days in month. */ | |
| 89 | + | |
| 90 | +.calendar tbody .day { /* Cells <TD> containing month days dates */ | |
| 91 | + width: 2em; | |
| 92 | + text-align: right; | |
| 93 | + padding: 2px 4px 2px 2px; | |
| 94 | +} | |
| 95 | +.calendar tbody .day.othermonth { | |
| 96 | + font-size: 80%; | |
| 97 | + color: #aaa; | |
| 98 | +} | |
| 99 | +.calendar tbody .day.othermonth.oweekend { | |
| 100 | + color: #faa; | |
| 101 | +} | |
| 102 | + | |
| 103 | +.calendar table .wn { | |
| 104 | + padding: 2px 3px 2px 2px; | |
| 105 | + border-right: 1px solid #000; | |
| 106 | + background: #e8f4f0; | |
| 107 | +} | |
| 108 | + | |
| 109 | +.calendar tbody .rowhilite td { | |
| 110 | + background: #d8e4e0; | |
| 111 | +} | |
| 112 | + | |
| 113 | +.calendar tbody .rowhilite td.wn { | |
| 114 | + background: #c8d4d0; | |
| 115 | +} | |
| 116 | + | |
| 117 | +.calendar tbody td.hilite { /* Hovered cells <TD> */ | |
| 118 | + padding: 1px 3px 1px 1px; | |
| 119 | + border-top: 1px solid #fff; | |
| 120 | + border-right: 1px solid #000; | |
| 121 | + border-bottom: 1px solid #000; | |
| 122 | + border-left: 1px solid #fff; | |
| 123 | +} | |
| 124 | + | |
| 125 | +.calendar tbody td.active { /* Active (pressed) cells <TD> */ | |
| 126 | + padding: 2px 2px 0px 2px; | |
| 127 | + border-top: 1px solid #000; | |
| 128 | + border-right: 1px solid #fff; | |
| 129 | + border-bottom: 1px solid #fff; | |
| 130 | + border-left: 1px solid #000; | |
| 131 | +} | |
| 132 | + | |
| 133 | +.calendar tbody td.selected { /* Cell showing selected date */ | |
| 134 | + font-weight: bold; | |
| 135 | + border-top: 1px solid #000; | |
| 136 | + border-right: 1px solid #fff; | |
| 137 | + border-bottom: 1px solid #fff; | |
| 138 | + border-left: 1px solid #000; | |
| 139 | + padding: 2px 2px 0px 2px; | |
| 140 | + background: #d8e4e0; | |
| 141 | +} | |
| 142 | + | |
| 143 | +.calendar tbody td.weekend { /* Cells showing weekend days */ | |
| 144 | + color: #f00; | |
| 145 | +} | |
| 146 | + | |
| 147 | +.calendar tbody td.today { /* Cell showing today date */ | |
| 148 | + font-weight: bold; | |
| 149 | + color: #00f; | |
| 150 | +} | |
| 151 | + | |
| 152 | +.calendar tbody .disabled { color: #999; } | |
| 153 | + | |
| 154 | +.calendar tbody .emptycell { /* Empty cells (the best is to hide them) */ | |
| 155 | + visibility: hidden; | |
| 156 | +} | |
| 157 | + | |
| 158 | +.calendar tbody .emptyrow { /* Empty row (some months need less than 6 rows) */ | |
| 159 | + display: none; | |
| 160 | +} | |
| 161 | + | |
| 162 | +/* The footer part -- status bar and "Close" button */ | |
| 163 | + | |
| 164 | +.calendar tfoot .footrow { /* The <TR> in footer (only one right now) */ | |
| 165 | +} | |
| 166 | + | |
| 167 | +.calendar tfoot .ttip { /* Tooltip (status bar) cell <TD> */ | |
| 168 | + background: #e8f4f0; | |
| 169 | + padding: 1px; | |
| 170 | + border: 1px solid #000; | |
| 171 | + background: #788480; | |
| 172 | + color: #fff; | |
| 173 | + text-align: center; | |
| 174 | +} | |
| 175 | + | |
| 176 | +.calendar tfoot .hilite { /* Hover style for buttons in footer */ | |
| 177 | + border-top: 1px solid #fff; | |
| 178 | + border-right: 1px solid #000; | |
| 179 | + border-bottom: 1px solid #000; | |
| 180 | + border-left: 1px solid #fff; | |
| 181 | + padding: 1px; | |
| 182 | + background: #d8e4e0; | |
| 183 | +} | |
| 184 | + | |
| 185 | +.calendar tfoot .active { /* Active (pressed) style for buttons in footer */ | |
| 186 | + padding: 2px 0px 0px 2px; | |
| 187 | + border-top: 1px solid #000; | |
| 188 | + border-right: 1px solid #fff; | |
| 189 | + border-bottom: 1px solid #fff; | |
| 190 | + border-left: 1px solid #000; | |
| 191 | +} | |
| 192 | + | |
| 193 | +/* Combo boxes (menus that display months/years for direct selection) */ | |
| 194 | + | |
| 195 | +.calendar .combo { | |
| 196 | + position: absolute; | |
| 197 | + display: none; | |
| 198 | + width: 4em; | |
| 199 | + top: 0px; | |
| 200 | + left: 0px; | |
| 201 | + cursor: default; | |
| 202 | + border-top: 1px solid #fff; | |
| 203 | + border-right: 1px solid #000; | |
| 204 | + border-bottom: 1px solid #000; | |
| 205 | + border-left: 1px solid #fff; | |
| 206 | + background: #d8e4e0; | |
| 207 | + font-size: 90%; | |
| 208 | + padding: 1px; | |
| 209 | + z-index: 100; | |
| 210 | +} | |
| 211 | + | |
| 212 | +.calendar .combo .label, | |
| 213 | +.calendar .combo .label-IEfix { | |
| 214 | + text-align: center; | |
| 215 | + padding: 1px; | |
| 216 | +} | |
| 217 | + | |
| 218 | +.calendar .combo .label-IEfix { | |
| 219 | + width: 4em; | |
| 220 | +} | |
| 221 | + | |
| 222 | +.calendar .combo .active { | |
| 223 | + background: #c8d4d0; | |
| 224 | + padding: 0px; | |
| 225 | + border-top: 1px solid #000; | |
| 226 | + border-right: 1px solid #fff; | |
| 227 | + border-bottom: 1px solid #fff; | |
| 228 | + border-left: 1px solid #000; | |
| 229 | +} | |
| 230 | + | |
| 231 | +.calendar .combo .hilite { | |
| 232 | + background: #048; | |
| 233 | + color: #aef; | |
| 234 | +} | |
| 235 | + | |
| 236 | +.calendar td.time { | |
| 237 | + border-top: 1px solid #000; | |
| 238 | + padding: 1px 0px; | |
| 239 | + text-align: center; | |
| 240 | + background-color: #e8f0f4; | |
| 241 | +} | |
| 242 | + | |
| 243 | +.calendar td.time .hour, | |
| 244 | +.calendar td.time .minute, | |
| 245 | +.calendar td.time .ampm { | |
| 246 | + padding: 0px 3px 0px 4px; | |
| 247 | + border: 1px solid #889; | |
| 248 | + font-weight: bold; | |
| 249 | + background-color: #fff; | |
| 250 | +} | |
| 251 | + | |
| 252 | +.calendar td.time .ampm { | |
| 253 | + text-align: center; | |
| 254 | +} | |
| 255 | + | |
| 256 | +.calendar td.time .colon { | |
| 257 | + padding: 0px 2px 0px 3px; | |
| 258 | + font-weight: bold; | |
| 259 | +} | |
| 260 | + | |
| 261 | +.calendar td.time span.hilite { | |
| 262 | + border-color: #000; | |
| 263 | + background-color: #667; | |
| 264 | + color: #fff; | |
| 265 | +} | |
| 266 | + | |
| 267 | +.calendar td.time span.active { | |
| 268 | + border-color: #f00; | |
| 269 | + background-color: #000; | |
| 270 | + color: #0f0; | |
| 271 | +} | ... | ... |
thirdpartyjs/jscalendar-1.0/calendar.js
0 โ 100644
| 1 | +/* Copyright Mihai Bazon, 2002-2005 | www.bazon.net/mishoo | |
| 2 | + * ----------------------------------------------------------- | |
| 3 | + * | |
| 4 | + * The DHTML Calendar, version 1.0 "It is happening again" | |
| 5 | + * | |
| 6 | + * Details and latest version at: | |
| 7 | + * www.dynarch.com/projects/calendar | |
| 8 | + * | |
| 9 | + * This script is developed by Dynarch.com. Visit us at www.dynarch.com. | |
| 10 | + * | |
| 11 | + * This script is distributed under the GNU Lesser General Public License. | |
| 12 | + * Read the entire license text here: http://www.gnu.org/licenses/lgpl.html | |
| 13 | + */ | |
| 14 | + | |
| 15 | +// $Id$ | |
| 16 | + | |
| 17 | +/** The Calendar object constructor. */ | |
| 18 | +Calendar = function (firstDayOfWeek, dateStr, onSelected, onClose) { | |
| 19 | + // member variables | |
| 20 | + this.activeDiv = null; | |
| 21 | + this.currentDateEl = null; | |
| 22 | + this.getDateStatus = null; | |
| 23 | + this.getDateToolTip = null; | |
| 24 | + this.getDateText = null; | |
| 25 | + this.timeout = null; | |
| 26 | + this.onSelected = onSelected || null; | |
| 27 | + this.onClose = onClose || null; | |
| 28 | + this.dragging = false; | |
| 29 | + this.hidden = false; | |
| 30 | + this.minYear = 1970; | |
| 31 | + this.maxYear = 2050; | |
| 32 | + this.dateFormat = Calendar._TT["DEF_DATE_FORMAT"]; | |
| 33 | + this.ttDateFormat = Calendar._TT["TT_DATE_FORMAT"]; | |
| 34 | + this.isPopup = true; | |
| 35 | + this.weekNumbers = true; | |
| 36 | + this.firstDayOfWeek = typeof firstDayOfWeek == "number" ? firstDayOfWeek : Calendar._FD; // 0 for Sunday, 1 for Monday, etc. | |
| 37 | + this.showsOtherMonths = false; | |
| 38 | + this.dateStr = dateStr; | |
| 39 | + this.ar_days = null; | |
| 40 | + this.showsTime = false; | |
| 41 | + this.time24 = true; | |
| 42 | + this.yearStep = 2; | |
| 43 | + this.hiliteToday = true; | |
| 44 | + this.multiple = null; | |
| 45 | + // HTML elements | |
| 46 | + this.table = null; | |
| 47 | + this.element = null; | |
| 48 | + this.tbody = null; | |
| 49 | + this.firstdayname = null; | |
| 50 | + // Combo boxes | |
| 51 | + this.monthsCombo = null; | |
| 52 | + this.yearsCombo = null; | |
| 53 | + this.hilitedMonth = null; | |
| 54 | + this.activeMonth = null; | |
| 55 | + this.hilitedYear = null; | |
| 56 | + this.activeYear = null; | |
| 57 | + // Information | |
| 58 | + this.dateClicked = false; | |
| 59 | + | |
| 60 | + // one-time initializations | |
| 61 | + if (typeof Calendar._SDN == "undefined") { | |
| 62 | + // table of short day names | |
| 63 | + if (typeof Calendar._SDN_len == "undefined") | |
| 64 | + Calendar._SDN_len = 3; | |
| 65 | + var ar = new Array(); | |
| 66 | + for (var i = 8; i > 0;) { | |
| 67 | + ar[--i] = Calendar._DN[i].substr(0, Calendar._SDN_len); | |
| 68 | + } | |
| 69 | + Calendar._SDN = ar; | |
| 70 | + // table of short month names | |
| 71 | + if (typeof Calendar._SMN_len == "undefined") | |
| 72 | + Calendar._SMN_len = 3; | |
| 73 | + ar = new Array(); | |
| 74 | + for (var i = 12; i > 0;) { | |
| 75 | + ar[--i] = Calendar._MN[i].substr(0, Calendar._SMN_len); | |
| 76 | + } | |
| 77 | + Calendar._SMN = ar; | |
| 78 | + } | |
| 79 | +}; | |
| 80 | + | |
| 81 | +// ** constants | |
| 82 | + | |
| 83 | +/// "static", needed for event handlers. | |
| 84 | +Calendar._C = null; | |
| 85 | + | |
| 86 | +/// detect a special case of "web browser" | |
| 87 | +Calendar.is_ie = ( /msie/i.test(navigator.userAgent) && | |
| 88 | + !/opera/i.test(navigator.userAgent) ); | |
| 89 | + | |
| 90 | +Calendar.is_ie5 = ( Calendar.is_ie && /msie 5\.0/i.test(navigator.userAgent) ); | |
| 91 | + | |
| 92 | +/// detect Opera browser | |
| 93 | +Calendar.is_opera = /opera/i.test(navigator.userAgent); | |
| 94 | + | |
| 95 | +/// detect KHTML-based browsers | |
| 96 | +Calendar.is_khtml = /Konqueror|Safari|KHTML/i.test(navigator.userAgent); | |
| 97 | + | |
| 98 | +// BEGIN: UTILITY FUNCTIONS; beware that these might be moved into a separate | |
| 99 | +// library, at some point. | |
| 100 | + | |
| 101 | +Calendar.getAbsolutePos = function(el) { | |
| 102 | + var SL = 0, ST = 0; | |
| 103 | + var is_div = /^div$/i.test(el.tagName); | |
| 104 | + if (is_div && el.scrollLeft) | |
| 105 | + SL = el.scrollLeft; | |
| 106 | + if (is_div && el.scrollTop) | |
| 107 | + ST = el.scrollTop; | |
| 108 | + var r = { x: el.offsetLeft - SL, y: el.offsetTop - ST }; | |
| 109 | + if (el.offsetParent) { | |
| 110 | + var tmp = this.getAbsolutePos(el.offsetParent); | |
| 111 | + r.x += tmp.x; | |
| 112 | + r.y += tmp.y; | |
| 113 | + } | |
| 114 | + return r; | |
| 115 | +}; | |
| 116 | + | |
| 117 | +Calendar.isRelated = function (el, evt) { | |
| 118 | + var related = evt.relatedTarget; | |
| 119 | + if (!related) { | |
| 120 | + var type = evt.type; | |
| 121 | + if (type == "mouseover") { | |
| 122 | + related = evt.fromElement; | |
| 123 | + } else if (type == "mouseout") { | |
| 124 | + related = evt.toElement; | |
| 125 | + } | |
| 126 | + } | |
| 127 | + while (related) { | |
| 128 | + if (related == el) { | |
| 129 | + return true; | |
| 130 | + } | |
| 131 | + related = related.parentNode; | |
| 132 | + } | |
| 133 | + return false; | |
| 134 | +}; | |
| 135 | + | |
| 136 | +Calendar.removeClass = function(el, className) { | |
| 137 | + if (!(el && el.className)) { | |
| 138 | + return; | |
| 139 | + } | |
| 140 | + var cls = el.className.split(" "); | |
| 141 | + var ar = new Array(); | |
| 142 | + for (var i = cls.length; i > 0;) { | |
| 143 | + if (cls[--i] != className) { | |
| 144 | + ar[ar.length] = cls[i]; | |
| 145 | + } | |
| 146 | + } | |
| 147 | + el.className = ar.join(" "); | |
| 148 | +}; | |
| 149 | + | |
| 150 | +Calendar.addClass = function(el, className) { | |
| 151 | + Calendar.removeClass(el, className); | |
| 152 | + el.className += " " + className; | |
| 153 | +}; | |
| 154 | + | |
| 155 | +// FIXME: the following 2 functions totally suck, are useless and should be replaced immediately. | |
| 156 | +Calendar.getElement = function(ev) { | |
| 157 | + var f = Calendar.is_ie ? window.event.srcElement : ev.currentTarget; | |
| 158 | + while (f.nodeType != 1 || /^div$/i.test(f.tagName)) | |
| 159 | + f = f.parentNode; | |
| 160 | + return f; | |
| 161 | +}; | |
| 162 | + | |
| 163 | +Calendar.getTargetElement = function(ev) { | |
| 164 | + var f = Calendar.is_ie ? window.event.srcElement : ev.target; | |
| 165 | + while (f.nodeType != 1) | |
| 166 | + f = f.parentNode; | |
| 167 | + return f; | |
| 168 | +}; | |
| 169 | + | |
| 170 | +Calendar.stopEvent = function(ev) { | |
| 171 | + ev || (ev = window.event); | |
| 172 | + if (Calendar.is_ie) { | |
| 173 | + ev.cancelBubble = true; | |
| 174 | + ev.returnValue = false; | |
| 175 | + } else { | |
| 176 | + ev.preventDefault(); | |
| 177 | + ev.stopPropagation(); | |
| 178 | + } | |
| 179 | + return false; | |
| 180 | +}; | |
| 181 | + | |
| 182 | +Calendar.addEvent = function(el, evname, func) { | |
| 183 | + if (el.attachEvent) { // IE | |
| 184 | + el.attachEvent("on" + evname, func); | |
| 185 | + } else if (el.addEventListener) { // Gecko / W3C | |
| 186 | + el.addEventListener(evname, func, true); | |
| 187 | + } else { | |
| 188 | + el["on" + evname] = func; | |
| 189 | + } | |
| 190 | +}; | |
| 191 | + | |
| 192 | +Calendar.removeEvent = function(el, evname, func) { | |
| 193 | + if (el.detachEvent) { // IE | |
| 194 | + el.detachEvent("on" + evname, func); | |
| 195 | + } else if (el.removeEventListener) { // Gecko / W3C | |
| 196 | + el.removeEventListener(evname, func, true); | |
| 197 | + } else { | |
| 198 | + el["on" + evname] = null; | |
| 199 | + } | |
| 200 | +}; | |
| 201 | + | |
| 202 | +Calendar.createElement = function(type, parent) { | |
| 203 | + var el = null; | |
| 204 | + if (document.createElementNS) { | |
| 205 | + // use the XHTML namespace; IE won't normally get here unless | |
| 206 | + // _they_ "fix" the DOM2 implementation. | |
| 207 | + el = document.createElementNS("http://www.w3.org/1999/xhtml", type); | |
| 208 | + } else { | |
| 209 | + el = document.createElement(type); | |
| 210 | + } | |
| 211 | + if (typeof parent != "undefined") { | |
| 212 | + parent.appendChild(el); | |
| 213 | + } | |
| 214 | + return el; | |
| 215 | +}; | |
| 216 | + | |
| 217 | +// END: UTILITY FUNCTIONS | |
| 218 | + | |
| 219 | +// BEGIN: CALENDAR STATIC FUNCTIONS | |
| 220 | + | |
| 221 | +/** Internal -- adds a set of events to make some element behave like a button. */ | |
| 222 | +Calendar._add_evs = function(el) { | |
| 223 | + with (Calendar) { | |
| 224 | + addEvent(el, "mouseover", dayMouseOver); | |
| 225 | + addEvent(el, "mousedown", dayMouseDown); | |
| 226 | + addEvent(el, "mouseout", dayMouseOut); | |
| 227 | + if (is_ie) { | |
| 228 | + addEvent(el, "dblclick", dayMouseDblClick); | |
| 229 | + el.setAttribute("unselectable", true); | |
| 230 | + } | |
| 231 | + } | |
| 232 | +}; | |
| 233 | + | |
| 234 | +Calendar.findMonth = function(el) { | |
| 235 | + if (typeof el.month != "undefined") { | |
| 236 | + return el; | |
| 237 | + } else if (typeof el.parentNode.month != "undefined") { | |
| 238 | + return el.parentNode; | |
| 239 | + } | |
| 240 | + return null; | |
| 241 | +}; | |
| 242 | + | |
| 243 | +Calendar.findYear = function(el) { | |
| 244 | + if (typeof el.year != "undefined") { | |
| 245 | + return el; | |
| 246 | + } else if (typeof el.parentNode.year != "undefined") { | |
| 247 | + return el.parentNode; | |
| 248 | + } | |
| 249 | + return null; | |
| 250 | +}; | |
| 251 | + | |
| 252 | +Calendar.showMonthsCombo = function () { | |
| 253 | + var cal = Calendar._C; | |
| 254 | + if (!cal) { | |
| 255 | + return false; | |
| 256 | + } | |
| 257 | + var cal = cal; | |
| 258 | + var cd = cal.activeDiv; | |
| 259 | + var mc = cal.monthsCombo; | |
| 260 | + if (cal.hilitedMonth) { | |
| 261 | + Calendar.removeClass(cal.hilitedMonth, "hilite"); | |
| 262 | + } | |
| 263 | + if (cal.activeMonth) { | |
| 264 | + Calendar.removeClass(cal.activeMonth, "active"); | |
| 265 | + } | |
| 266 | + var mon = cal.monthsCombo.getElementsByTagName("div")[cal.date.getMonth()]; | |
| 267 | + Calendar.addClass(mon, "active"); | |
| 268 | + cal.activeMonth = mon; | |
| 269 | + var s = mc.style; | |
| 270 | + s.display = "block"; | |
| 271 | + if (cd.navtype < 0) | |
| 272 | + s.left = cd.offsetLeft + "px"; | |
| 273 | + else { | |
| 274 | + var mcw = mc.offsetWidth; | |
| 275 | + if (typeof mcw == "undefined") | |
| 276 | + // Konqueror brain-dead techniques | |
| 277 | + mcw = 50; | |
| 278 | + s.left = (cd.offsetLeft + cd.offsetWidth - mcw) + "px"; | |
| 279 | + } | |
| 280 | + s.top = (cd.offsetTop + cd.offsetHeight) + "px"; | |
| 281 | +}; | |
| 282 | + | |
| 283 | +Calendar.showYearsCombo = function (fwd) { | |
| 284 | + var cal = Calendar._C; | |
| 285 | + if (!cal) { | |
| 286 | + return false; | |
| 287 | + } | |
| 288 | + var cal = cal; | |
| 289 | + var cd = cal.activeDiv; | |
| 290 | + var yc = cal.yearsCombo; | |
| 291 | + if (cal.hilitedYear) { | |
| 292 | + Calendar.removeClass(cal.hilitedYear, "hilite"); | |
| 293 | + } | |
| 294 | + if (cal.activeYear) { | |
| 295 | + Calendar.removeClass(cal.activeYear, "active"); | |
| 296 | + } | |
| 297 | + cal.activeYear = null; | |
| 298 | + var Y = cal.date.getFullYear() + (fwd ? 1 : -1); | |
| 299 | + var yr = yc.firstChild; | |
| 300 | + var show = false; | |
| 301 | + for (var i = 12; i > 0; --i) { | |
| 302 | + if (Y >= cal.minYear && Y <= cal.maxYear) { | |
| 303 | + yr.innerHTML = Y; | |
| 304 | + yr.year = Y; | |
| 305 | + yr.style.display = "block"; | |
| 306 | + show = true; | |
| 307 | + } else { | |
| 308 | + yr.style.display = "none"; | |
| 309 | + } | |
| 310 | + yr = yr.nextSibling; | |
| 311 | + Y += fwd ? cal.yearStep : -cal.yearStep; | |
| 312 | + } | |
| 313 | + if (show) { | |
| 314 | + var s = yc.style; | |
| 315 | + s.display = "block"; | |
| 316 | + if (cd.navtype < 0) | |
| 317 | + s.left = cd.offsetLeft + "px"; | |
| 318 | + else { | |
| 319 | + var ycw = yc.offsetWidth; | |
| 320 | + if (typeof ycw == "undefined") | |
| 321 | + // Konqueror brain-dead techniques | |
| 322 | + ycw = 50; | |
| 323 | + s.left = (cd.offsetLeft + cd.offsetWidth - ycw) + "px"; | |
| 324 | + } | |
| 325 | + s.top = (cd.offsetTop + cd.offsetHeight) + "px"; | |
| 326 | + } | |
| 327 | +}; | |
| 328 | + | |
| 329 | +// event handlers | |
| 330 | + | |
| 331 | +Calendar.tableMouseUp = function(ev) { | |
| 332 | + var cal = Calendar._C; | |
| 333 | + if (!cal) { | |
| 334 | + return false; | |
| 335 | + } | |
| 336 | + if (cal.timeout) { | |
| 337 | + clearTimeout(cal.timeout); | |
| 338 | + } | |
| 339 | + var el = cal.activeDiv; | |
| 340 | + if (!el) { | |
| 341 | + return false; | |
| 342 | + } | |
| 343 | + var target = Calendar.getTargetElement(ev); | |
| 344 | + ev || (ev = window.event); | |
| 345 | + Calendar.removeClass(el, "active"); | |
| 346 | + if (target == el || target.parentNode == el) { | |
| 347 | + Calendar.cellClick(el, ev); | |
| 348 | + } | |
| 349 | + var mon = Calendar.findMonth(target); | |
| 350 | + var date = null; | |
| 351 | + if (mon) { | |
| 352 | + date = new Date(cal.date); | |
| 353 | + if (mon.month != date.getMonth()) { | |
| 354 | + date.setMonth(mon.month); | |
| 355 | + cal.setDate(date); | |
| 356 | + cal.dateClicked = false; | |
| 357 | + cal.callHandler(); | |
| 358 | + } | |
| 359 | + } else { | |
| 360 | + var year = Calendar.findYear(target); | |
| 361 | + if (year) { | |
| 362 | + date = new Date(cal.date); | |
| 363 | + if (year.year != date.getFullYear()) { | |
| 364 | + date.setFullYear(year.year); | |
| 365 | + cal.setDate(date); | |
| 366 | + cal.dateClicked = false; | |
| 367 | + cal.callHandler(); | |
| 368 | + } | |
| 369 | + } | |
| 370 | + } | |
| 371 | + with (Calendar) { | |
| 372 | + removeEvent(document, "mouseup", tableMouseUp); | |
| 373 | + removeEvent(document, "mouseover", tableMouseOver); | |
| 374 | + removeEvent(document, "mousemove", tableMouseOver); | |
| 375 | + cal._hideCombos(); | |
| 376 | + _C = null; | |
| 377 | + return stopEvent(ev); | |
| 378 | + } | |
| 379 | +}; | |
| 380 | + | |
| 381 | +Calendar.tableMouseOver = function (ev) { | |
| 382 | + var cal = Calendar._C; | |
| 383 | + if (!cal) { | |
| 384 | + return; | |
| 385 | + } | |
| 386 | + var el = cal.activeDiv; | |
| 387 | + var target = Calendar.getTargetElement(ev); | |
| 388 | + if (target == el || target.parentNode == el) { | |
| 389 | + Calendar.addClass(el, "hilite active"); | |
| 390 | + Calendar.addClass(el.parentNode, "rowhilite"); | |
| 391 | + } else { | |
| 392 | + if (typeof el.navtype == "undefined" || (el.navtype != 50 && (el.navtype == 0 || Math.abs(el.navtype) > 2))) | |
| 393 | + Calendar.removeClass(el, "active"); | |
| 394 | + Calendar.removeClass(el, "hilite"); | |
| 395 | + Calendar.removeClass(el.parentNode, "rowhilite"); | |
| 396 | + } | |
| 397 | + ev || (ev = window.event); | |
| 398 | + if (el.navtype == 50 && target != el) { | |
| 399 | + var pos = Calendar.getAbsolutePos(el); | |
| 400 | + var w = el.offsetWidth; | |
| 401 | + var x = ev.clientX; | |
| 402 | + var dx; | |
| 403 | + var decrease = true; | |
| 404 | + if (x > pos.x + w) { | |
| 405 | + dx = x - pos.x - w; | |
| 406 | + decrease = false; | |
| 407 | + } else | |
| 408 | + dx = pos.x - x; | |
| 409 | + | |
| 410 | + if (dx < 0) dx = 0; | |
| 411 | + var range = el._range; | |
| 412 | + var current = el._current; | |
| 413 | + var count = Math.floor(dx / 10) % range.length; | |
| 414 | + for (var i = range.length; --i >= 0;) | |
| 415 | + if (range[i] == current) | |
| 416 | + break; | |
| 417 | + while (count-- > 0) | |
| 418 | + if (decrease) { | |
| 419 | + if (--i < 0) | |
| 420 | + i = range.length - 1; | |
| 421 | + } else if ( ++i >= range.length ) | |
| 422 | + i = 0; | |
| 423 | + var newval = range[i]; | |
| 424 | + el.innerHTML = newval; | |
| 425 | + | |
| 426 | + cal.onUpdateTime(); | |
| 427 | + } | |
| 428 | + var mon = Calendar.findMonth(target); | |
| 429 | + if (mon) { | |
| 430 | + if (mon.month != cal.date.getMonth()) { | |
| 431 | + if (cal.hilitedMonth) { | |
| 432 | + Calendar.removeClass(cal.hilitedMonth, "hilite"); | |
| 433 | + } | |
| 434 | + Calendar.addClass(mon, "hilite"); | |
| 435 | + cal.hilitedMonth = mon; | |
| 436 | + } else if (cal.hilitedMonth) { | |
| 437 | + Calendar.removeClass(cal.hilitedMonth, "hilite"); | |
| 438 | + } | |
| 439 | + } else { | |
| 440 | + if (cal.hilitedMonth) { | |
| 441 | + Calendar.removeClass(cal.hilitedMonth, "hilite"); | |
| 442 | + } | |
| 443 | + var year = Calendar.findYear(target); | |
| 444 | + if (year) { | |
| 445 | + if (year.year != cal.date.getFullYear()) { | |
| 446 | + if (cal.hilitedYear) { | |
| 447 | + Calendar.removeClass(cal.hilitedYear, "hilite"); | |
| 448 | + } | |
| 449 | + Calendar.addClass(year, "hilite"); | |
| 450 | + cal.hilitedYear = year; | |
| 451 | + } else if (cal.hilitedYear) { | |
| 452 | + Calendar.removeClass(cal.hilitedYear, "hilite"); | |
| 453 | + } | |
| 454 | + } else if (cal.hilitedYear) { | |
| 455 | + Calendar.removeClass(cal.hilitedYear, "hilite"); | |
| 456 | + } | |
| 457 | + } | |
| 458 | + return Calendar.stopEvent(ev); | |
| 459 | +}; | |
| 460 | + | |
| 461 | +Calendar.tableMouseDown = function (ev) { | |
| 462 | + if (Calendar.getTargetElement(ev) == Calendar.getElement(ev)) { | |
| 463 | + return Calendar.stopEvent(ev); | |
| 464 | + } | |
| 465 | +}; | |
| 466 | + | |
| 467 | +Calendar.calDragIt = function (ev) { | |
| 468 | + var cal = Calendar._C; | |
| 469 | + if (!(cal && cal.dragging)) { | |
| 470 | + return false; | |
| 471 | + } | |
| 472 | + var posX; | |
| 473 | + var posY; | |
| 474 | + if (Calendar.is_ie) { | |
| 475 | + posY = window.event.clientY + document.body.scrollTop; | |
| 476 | + posX = window.event.clientX + document.body.scrollLeft; | |
| 477 | + } else { | |
| 478 | + posX = ev.pageX; | |
| 479 | + posY = ev.pageY; | |
| 480 | + } | |
| 481 | + cal.hideShowCovered(); | |
| 482 | + var st = cal.element.style; | |
| 483 | + st.left = (posX - cal.xOffs) + "px"; | |
| 484 | + st.top = (posY - cal.yOffs) + "px"; | |
| 485 | + return Calendar.stopEvent(ev); | |
| 486 | +}; | |
| 487 | + | |
| 488 | +Calendar.calDragEnd = function (ev) { | |
| 489 | + var cal = Calendar._C; | |
| 490 | + if (!cal) { | |
| 491 | + return false; | |
| 492 | + } | |
| 493 | + cal.dragging = false; | |
| 494 | + with (Calendar) { | |
| 495 | + removeEvent(document, "mousemove", calDragIt); | |
| 496 | + removeEvent(document, "mouseup", calDragEnd); | |
| 497 | + tableMouseUp(ev); | |
| 498 | + } | |
| 499 | + cal.hideShowCovered(); | |
| 500 | +}; | |
| 501 | + | |
| 502 | +Calendar.dayMouseDown = function(ev) { | |
| 503 | + var el = Calendar.getElement(ev); | |
| 504 | + if (el.disabled) { | |
| 505 | + return false; | |
| 506 | + } | |
| 507 | + var cal = el.calendar; | |
| 508 | + cal.activeDiv = el; | |
| 509 | + Calendar._C = cal; | |
| 510 | + if (el.navtype != 300) with (Calendar) { | |
| 511 | + if (el.navtype == 50) { | |
| 512 | + el._current = el.innerHTML; | |
| 513 | + addEvent(document, "mousemove", tableMouseOver); | |
| 514 | + } else | |
| 515 | + addEvent(document, Calendar.is_ie5 ? "mousemove" : "mouseover", tableMouseOver); | |
| 516 | + addClass(el, "hilite active"); | |
| 517 | + addEvent(document, "mouseup", tableMouseUp); | |
| 518 | + } else if (cal.isPopup) { | |
| 519 | + cal._dragStart(ev); | |
| 520 | + } | |
| 521 | + if (el.navtype == -1 || el.navtype == 1) { | |
| 522 | + if (cal.timeout) clearTimeout(cal.timeout); | |
| 523 | + cal.timeout = setTimeout("Calendar.showMonthsCombo()", 250); | |
| 524 | + } else if (el.navtype == -2 || el.navtype == 2) { | |
| 525 | + if (cal.timeout) clearTimeout(cal.timeout); | |
| 526 | + cal.timeout = setTimeout((el.navtype > 0) ? "Calendar.showYearsCombo(true)" : "Calendar.showYearsCombo(false)", 250); | |
| 527 | + } else { | |
| 528 | + cal.timeout = null; | |
| 529 | + } | |
| 530 | + return Calendar.stopEvent(ev); | |
| 531 | +}; | |
| 532 | + | |
| 533 | +Calendar.dayMouseDblClick = function(ev) { | |
| 534 | + Calendar.cellClick(Calendar.getElement(ev), ev || window.event); | |
| 535 | + if (Calendar.is_ie) { | |
| 536 | + document.selection.empty(); | |
| 537 | + } | |
| 538 | +}; | |
| 539 | + | |
| 540 | +Calendar.dayMouseOver = function(ev) { | |
| 541 | + var el = Calendar.getElement(ev); | |
| 542 | + if (Calendar.isRelated(el, ev) || Calendar._C || el.disabled) { | |
| 543 | + return false; | |
| 544 | + } | |
| 545 | + if (el.ttip) { | |
| 546 | + if (el.ttip.substr(0, 1) == "_") { | |
| 547 | + el.ttip = el.caldate.print(el.calendar.ttDateFormat) + el.ttip.substr(1); | |
| 548 | + } | |
| 549 | + el.calendar.tooltips.innerHTML = el.ttip; | |
| 550 | + } | |
| 551 | + if (el.navtype != 300) { | |
| 552 | + Calendar.addClass(el, "hilite"); | |
| 553 | + if (el.caldate) { | |
| 554 | + Calendar.addClass(el.parentNode, "rowhilite"); | |
| 555 | + } | |
| 556 | + } | |
| 557 | + return Calendar.stopEvent(ev); | |
| 558 | +}; | |
| 559 | + | |
| 560 | +Calendar.dayMouseOut = function(ev) { | |
| 561 | + with (Calendar) { | |
| 562 | + var el = getElement(ev); | |
| 563 | + if (isRelated(el, ev) || _C || el.disabled) | |
| 564 | + return false; | |
| 565 | + removeClass(el, "hilite"); | |
| 566 | + if (el.caldate) | |
| 567 | + removeClass(el.parentNode, "rowhilite"); | |
| 568 | + if (el.calendar) | |
| 569 | + el.calendar.tooltips.innerHTML = _TT["SEL_DATE"]; | |
| 570 | + return stopEvent(ev); | |
| 571 | + } | |
| 572 | +}; | |
| 573 | + | |
| 574 | +/** | |
| 575 | + * A generic "click" handler :) handles all types of buttons defined in this | |
| 576 | + * calendar. | |
| 577 | + */ | |
| 578 | +Calendar.cellClick = function(el, ev) { | |
| 579 | + var cal = el.calendar; | |
| 580 | + var closing = false; | |
| 581 | + var newdate = false; | |
| 582 | + var date = null; | |
| 583 | + if (typeof el.navtype == "undefined") { | |
| 584 | + if (cal.currentDateEl) { | |
| 585 | + Calendar.removeClass(cal.currentDateEl, "selected"); | |
| 586 | + Calendar.addClass(el, "selected"); | |
| 587 | + closing = (cal.currentDateEl == el); | |
| 588 | + if (!closing) { | |
| 589 | + cal.currentDateEl = el; | |
| 590 | + } | |
| 591 | + } | |
| 592 | + cal.date.setDateOnly(el.caldate); | |
| 593 | + date = cal.date; | |
| 594 | + var other_month = !(cal.dateClicked = !el.otherMonth); | |
| 595 | + if (!other_month && !cal.currentDateEl) | |
| 596 | + cal._toggleMultipleDate(new Date(date)); | |
| 597 | + else | |
| 598 | + newdate = !el.disabled; | |
| 599 | + // a date was clicked | |
| 600 | + if (other_month) | |
| 601 | + cal._init(cal.firstDayOfWeek, date); | |
| 602 | + } else { | |
| 603 | + if (el.navtype == 200) { | |
| 604 | + Calendar.removeClass(el, "hilite"); | |
| 605 | + cal.callCloseHandler(); | |
| 606 | + return; | |
| 607 | + } | |
| 608 | + date = new Date(cal.date); | |
| 609 | + if (el.navtype == 0) | |
| 610 | + date.setDateOnly(new Date()); // TODAY | |
| 611 | + // unless "today" was clicked, we assume no date was clicked so | |
| 612 | + // the selected handler will know not to close the calenar when | |
| 613 | + // in single-click mode. | |
| 614 | + // cal.dateClicked = (el.navtype == 0); | |
| 615 | + cal.dateClicked = false; | |
| 616 | + var year = date.getFullYear(); | |
| 617 | + var mon = date.getMonth(); | |
| 618 | + function setMonth(m) { | |
| 619 | + var day = date.getDate(); | |
| 620 | + var max = date.getMonthDays(m); | |
| 621 | + if (day > max) { | |
| 622 | + date.setDate(max); | |
| 623 | + } | |
| 624 | + date.setMonth(m); | |
| 625 | + }; | |
| 626 | + switch (el.navtype) { | |
| 627 | + case 400: | |
| 628 | + Calendar.removeClass(el, "hilite"); | |
| 629 | + var text = Calendar._TT["ABOUT"]; | |
| 630 | + if (typeof text != "undefined") { | |
| 631 | + text += cal.showsTime ? Calendar._TT["ABOUT_TIME"] : ""; | |
| 632 | + } else { | |
| 633 | + // FIXME: this should be removed as soon as lang files get updated! | |
| 634 | + text = "Help and about box text is not translated into this language.\n" + | |
| 635 | + "If you know this language and you feel generous please update\n" + | |
| 636 | + "the corresponding file in \"lang\" subdir to match calendar-en.js\n" + | |
| 637 | + "and send it back to <mihai_bazon@yahoo.com> to get it into the distribution ;-)\n\n" + | |
| 638 | + "Thank you!\n" + | |
| 639 | + "http://dynarch.com/mishoo/calendar.epl\n"; | |
| 640 | + } | |
| 641 | + alert(text); | |
| 642 | + return; | |
| 643 | + case -2: | |
| 644 | + if (year > cal.minYear) { | |
| 645 | + date.setFullYear(year - 1); | |
| 646 | + } | |
| 647 | + break; | |
| 648 | + case -1: | |
| 649 | + if (mon > 0) { | |
| 650 | + setMonth(mon - 1); | |
| 651 | + } else if (year-- > cal.minYear) { | |
| 652 | + date.setFullYear(year); | |
| 653 | + setMonth(11); | |
| 654 | + } | |
| 655 | + break; | |
| 656 | + case 1: | |
| 657 | + if (mon < 11) { | |
| 658 | + setMonth(mon + 1); | |
| 659 | + } else if (year < cal.maxYear) { | |
| 660 | + date.setFullYear(year + 1); | |
| 661 | + setMonth(0); | |
| 662 | + } | |
| 663 | + break; | |
| 664 | + case 2: | |
| 665 | + if (year < cal.maxYear) { | |
| 666 | + date.setFullYear(year + 1); | |
| 667 | + } | |
| 668 | + break; | |
| 669 | + case 100: | |
| 670 | + cal.setFirstDayOfWeek(el.fdow); | |
| 671 | + return; | |
| 672 | + case 50: | |
| 673 | + var range = el._range; | |
| 674 | + var current = el.innerHTML; | |
| 675 | + for (var i = range.length; --i >= 0;) | |
| 676 | + if (range[i] == current) | |
| 677 | + break; | |
| 678 | + if (ev && ev.shiftKey) { | |
| 679 | + if (--i < 0) | |
| 680 | + i = range.length - 1; | |
| 681 | + } else if ( ++i >= range.length ) | |
| 682 | + i = 0; | |
| 683 | + var newval = range[i]; | |
| 684 | + el.innerHTML = newval; | |
| 685 | + cal.onUpdateTime(); | |
| 686 | + return; | |
| 687 | + case 0: | |
| 688 | + // TODAY will bring us here | |
| 689 | + if ((typeof cal.getDateStatus == "function") && | |
| 690 | + cal.getDateStatus(date, date.getFullYear(), date.getMonth(), date.getDate())) { | |
| 691 | + return false; | |
| 692 | + } | |
| 693 | + break; | |
| 694 | + } | |
| 695 | + if (!date.equalsTo(cal.date)) { | |
| 696 | + cal.setDate(date); | |
| 697 | + newdate = true; | |
| 698 | + } else if (el.navtype == 0) | |
| 699 | + newdate = closing = true; | |
| 700 | + } | |
| 701 | + if (newdate) { | |
| 702 | + ev && cal.callHandler(); | |
| 703 | + } | |
| 704 | + if (closing) { | |
| 705 | + Calendar.removeClass(el, "hilite"); | |
| 706 | + ev && cal.callCloseHandler(); | |
| 707 | + } | |
| 708 | +}; | |
| 709 | + | |
| 710 | +// END: CALENDAR STATIC FUNCTIONS | |
| 711 | + | |
| 712 | +// BEGIN: CALENDAR OBJECT FUNCTIONS | |
| 713 | + | |
| 714 | +/** | |
| 715 | + * This function creates the calendar inside the given parent. If _par is | |
| 716 | + * null than it creates a popup calendar inside the BODY element. If _par is | |
| 717 | + * an element, be it BODY, then it creates a non-popup calendar (still | |
| 718 | + * hidden). Some properties need to be set before calling this function. | |
| 719 | + */ | |
| 720 | +Calendar.prototype.create = function (_par) { | |
| 721 | + var parent = null; | |
| 722 | + if (! _par) { | |
| 723 | + // default parent is the document body, in which case we create | |
| 724 | + // a popup calendar. | |
| 725 | + parent = document.getElementsByTagName("body")[0]; | |
| 726 | + this.isPopup = true; | |
| 727 | + } else { | |
| 728 | + parent = _par; | |
| 729 | + this.isPopup = false; | |
| 730 | + } | |
| 731 | + this.date = this.dateStr ? new Date(this.dateStr) : new Date(); | |
| 732 | + | |
| 733 | + var table = Calendar.createElement("table"); | |
| 734 | + this.table = table; | |
| 735 | + table.cellSpacing = 0; | |
| 736 | + table.cellPadding = 0; | |
| 737 | + table.calendar = this; | |
| 738 | + Calendar.addEvent(table, "mousedown", Calendar.tableMouseDown); | |
| 739 | + | |
| 740 | + var div = Calendar.createElement("div"); | |
| 741 | + this.element = div; | |
| 742 | + div.className = "calendar"; | |
| 743 | + if (this.isPopup) { | |
| 744 | + div.style.position = "absolute"; | |
| 745 | + div.style.display = "none"; | |
| 746 | + } | |
| 747 | + div.appendChild(table); | |
| 748 | + | |
| 749 | + var thead = Calendar.createElement("thead", table); | |
| 750 | + var cell = null; | |
| 751 | + var row = null; | |
| 752 | + | |
| 753 | + var cal = this; | |
| 754 | + var hh = function (text, cs, navtype) { | |
| 755 | + cell = Calendar.createElement("td", row); | |
| 756 | + cell.colSpan = cs; | |
| 757 | + cell.className = "button"; | |
| 758 | + if (navtype != 0 && Math.abs(navtype) <= 2) | |
| 759 | + cell.className += " nav"; | |
| 760 | + Calendar._add_evs(cell); | |
| 761 | + cell.calendar = cal; | |
| 762 | + cell.navtype = navtype; | |
| 763 | + cell.innerHTML = "<div unselectable='on'>" + text + "</div>"; | |
| 764 | + return cell; | |
| 765 | + }; | |
| 766 | + | |
| 767 | + row = Calendar.createElement("tr", thead); | |
| 768 | + var title_length = 6; | |
| 769 | + (this.isPopup) && --title_length; | |
| 770 | + (this.weekNumbers) && ++title_length; | |
| 771 | + | |
| 772 | + hh("?", 1, 400).ttip = Calendar._TT["INFO"]; | |
| 773 | + this.title = hh("", title_length, 300); | |
| 774 | + this.title.className = "title"; | |
| 775 | + if (this.isPopup) { | |
| 776 | + this.title.ttip = Calendar._TT["DRAG_TO_MOVE"]; | |
| 777 | + this.title.style.cursor = "move"; | |
| 778 | + hh("×", 1, 200).ttip = Calendar._TT["CLOSE"]; | |
| 779 | + } | |
| 780 | + | |
| 781 | + row = Calendar.createElement("tr", thead); | |
| 782 | + row.className = "headrow"; | |
| 783 | + | |
| 784 | + this._nav_py = hh("«", 1, -2); | |
| 785 | + this._nav_py.ttip = Calendar._TT["PREV_YEAR"]; | |
| 786 | + | |
| 787 | + this._nav_pm = hh("‹", 1, -1); | |
| 788 | + this._nav_pm.ttip = Calendar._TT["PREV_MONTH"]; | |
| 789 | + | |
| 790 | + this._nav_now = hh(Calendar._TT["TODAY"], this.weekNumbers ? 4 : 3, 0); | |
| 791 | + this._nav_now.ttip = Calendar._TT["GO_TODAY"]; | |
| 792 | + | |
| 793 | + this._nav_nm = hh("›", 1, 1); | |
| 794 | + this._nav_nm.ttip = Calendar._TT["NEXT_MONTH"]; | |
| 795 | + | |
| 796 | + this._nav_ny = hh("»", 1, 2); | |
| 797 | + this._nav_ny.ttip = Calendar._TT["NEXT_YEAR"]; | |
| 798 | + | |
| 799 | + // day names | |
| 800 | + row = Calendar.createElement("tr", thead); | |
| 801 | + row.className = "daynames"; | |
| 802 | + if (this.weekNumbers) { | |
| 803 | + cell = Calendar.createElement("td", row); | |
| 804 | + cell.className = "name wn"; | |
| 805 | + cell.innerHTML = Calendar._TT["WK"]; | |
| 806 | + } | |
| 807 | + for (var i = 7; i > 0; --i) { | |
| 808 | + cell = Calendar.createElement("td", row); | |
| 809 | + if (!i) { | |
| 810 | + cell.navtype = 100; | |
| 811 | + cell.calendar = this; | |
| 812 | + Calendar._add_evs(cell); | |
| 813 | + } | |
| 814 | + } | |
| 815 | + this.firstdayname = (this.weekNumbers) ? row.firstChild.nextSibling : row.firstChild; | |
| 816 | + this._displayWeekdays(); | |
| 817 | + | |
| 818 | + var tbody = Calendar.createElement("tbody", table); | |
| 819 | + this.tbody = tbody; | |
| 820 | + | |
| 821 | + for (i = 6; i > 0; --i) { | |
| 822 | + row = Calendar.createElement("tr", tbody); | |
| 823 | + if (this.weekNumbers) { | |
| 824 | + cell = Calendar.createElement("td", row); | |
| 825 | + } | |
| 826 | + for (var j = 7; j > 0; --j) { | |
| 827 | + cell = Calendar.createElement("td", row); | |
| 828 | + cell.calendar = this; | |
| 829 | + Calendar._add_evs(cell); | |
| 830 | + } | |
| 831 | + } | |
| 832 | + | |
| 833 | + if (this.showsTime) { | |
| 834 | + row = Calendar.createElement("tr", tbody); | |
| 835 | + row.className = "time"; | |
| 836 | + | |
| 837 | + cell = Calendar.createElement("td", row); | |
| 838 | + cell.className = "time"; | |
| 839 | + cell.colSpan = 2; | |
| 840 | + cell.innerHTML = Calendar._TT["TIME"] || " "; | |
| 841 | + | |
| 842 | + cell = Calendar.createElement("td", row); | |
| 843 | + cell.className = "time"; | |
| 844 | + cell.colSpan = this.weekNumbers ? 4 : 3; | |
| 845 | + | |
| 846 | + (function(){ | |
| 847 | + function makeTimePart(className, init, range_start, range_end) { | |
| 848 | + var part = Calendar.createElement("span", cell); | |
| 849 | + part.className = className; | |
| 850 | + part.innerHTML = init; | |
| 851 | + part.calendar = cal; | |
| 852 | + part.ttip = Calendar._TT["TIME_PART"]; | |
| 853 | + part.navtype = 50; | |
| 854 | + part._range = []; | |
| 855 | + if (typeof range_start != "number") | |
| 856 | + part._range = range_start; | |
| 857 | + else { | |
| 858 | + for (var i = range_start; i <= range_end; ++i) { | |
| 859 | + var txt; | |
| 860 | + if (i < 10 && range_end >= 10) txt = '0' + i; | |
| 861 | + else txt = '' + i; | |
| 862 | + part._range[part._range.length] = txt; | |
| 863 | + } | |
| 864 | + } | |
| 865 | + Calendar._add_evs(part); | |
| 866 | + return part; | |
| 867 | + }; | |
| 868 | + var hrs = cal.date.getHours(); | |
| 869 | + var mins = cal.date.getMinutes(); | |
| 870 | + var t12 = !cal.time24; | |
| 871 | + var pm = (hrs > 12); | |
| 872 | + if (t12 && pm) hrs -= 12; | |
| 873 | + var H = makeTimePart("hour", hrs, t12 ? 1 : 0, t12 ? 12 : 23); | |
| 874 | + var span = Calendar.createElement("span", cell); | |
| 875 | + span.innerHTML = ":"; | |
| 876 | + span.className = "colon"; | |
| 877 | + var M = makeTimePart("minute", mins, 0, 59); | |
| 878 | + var AP = null; | |
| 879 | + cell = Calendar.createElement("td", row); | |
| 880 | + cell.className = "time"; | |
| 881 | + cell.colSpan = 2; | |
| 882 | + if (t12) | |
| 883 | + AP = makeTimePart("ampm", pm ? "pm" : "am", ["am", "pm"]); | |
| 884 | + else | |
| 885 | + cell.innerHTML = " "; | |
| 886 | + | |
| 887 | + cal.onSetTime = function() { | |
| 888 | + var pm, hrs = this.date.getHours(), | |
| 889 | + mins = this.date.getMinutes(); | |
| 890 | + if (t12) { | |
| 891 | + pm = (hrs >= 12); | |
| 892 | + if (pm) hrs -= 12; | |
| 893 | + if (hrs == 0) hrs = 12; | |
| 894 | + AP.innerHTML = pm ? "pm" : "am"; | |
| 895 | + } | |
| 896 | + H.innerHTML = (hrs < 10) ? ("0" + hrs) : hrs; | |
| 897 | + M.innerHTML = (mins < 10) ? ("0" + mins) : mins; | |
| 898 | + }; | |
| 899 | + | |
| 900 | + cal.onUpdateTime = function() { | |
| 901 | + var date = this.date; | |
| 902 | + var h = parseInt(H.innerHTML, 10); | |
| 903 | + if (t12) { | |
| 904 | + if (/pm/i.test(AP.innerHTML) && h < 12) | |
| 905 | + h += 12; | |
| 906 | + else if (/am/i.test(AP.innerHTML) && h == 12) | |
| 907 | + h = 0; | |
| 908 | + } | |
| 909 | + var d = date.getDate(); | |
| 910 | + var m = date.getMonth(); | |
| 911 | + var y = date.getFullYear(); | |
| 912 | + date.setHours(h); | |
| 913 | + date.setMinutes(parseInt(M.innerHTML, 10)); | |
| 914 | + date.setFullYear(y); | |
| 915 | + date.setMonth(m); | |
| 916 | + date.setDate(d); | |
| 917 | + this.dateClicked = false; | |
| 918 | + this.callHandler(); | |
| 919 | + }; | |
| 920 | + })(); | |
| 921 | + } else { | |
| 922 | + this.onSetTime = this.onUpdateTime = function() {}; | |
| 923 | + } | |
| 924 | + | |
| 925 | + var tfoot = Calendar.createElement("tfoot", table); | |
| 926 | + | |
| 927 | + row = Calendar.createElement("tr", tfoot); | |
| 928 | + row.className = "footrow"; | |
| 929 | + | |
| 930 | + cell = hh(Calendar._TT["SEL_DATE"], this.weekNumbers ? 8 : 7, 300); | |
| 931 | + cell.className = "ttip"; | |
| 932 | + if (this.isPopup) { | |
| 933 | + cell.ttip = Calendar._TT["DRAG_TO_MOVE"]; | |
| 934 | + cell.style.cursor = "move"; | |
| 935 | + } | |
| 936 | + this.tooltips = cell; | |
| 937 | + | |
| 938 | + div = Calendar.createElement("div", this.element); | |
| 939 | + this.monthsCombo = div; | |
| 940 | + div.className = "combo"; | |
| 941 | + for (i = 0; i < Calendar._MN.length; ++i) { | |
| 942 | + var mn = Calendar.createElement("div"); | |
| 943 | + mn.className = Calendar.is_ie ? "label-IEfix" : "label"; | |
| 944 | + mn.month = i; | |
| 945 | + mn.innerHTML = Calendar._SMN[i]; | |
| 946 | + div.appendChild(mn); | |
| 947 | + } | |
| 948 | + | |
| 949 | + div = Calendar.createElement("div", this.element); | |
| 950 | + this.yearsCombo = div; | |
| 951 | + div.className = "combo"; | |
| 952 | + for (i = 12; i > 0; --i) { | |
| 953 | + var yr = Calendar.createElement("div"); | |
| 954 | + yr.className = Calendar.is_ie ? "label-IEfix" : "label"; | |
| 955 | + div.appendChild(yr); | |
| 956 | + } | |
| 957 | + | |
| 958 | + this._init(this.firstDayOfWeek, this.date); | |
| 959 | + parent.appendChild(this.element); | |
| 960 | +}; | |
| 961 | + | |
| 962 | +/** keyboard navigation, only for popup calendars */ | |
| 963 | +Calendar._keyEvent = function(ev) { | |
| 964 | + var cal = window._dynarch_popupCalendar; | |
| 965 | + if (!cal || cal.multiple) | |
| 966 | + return false; | |
| 967 | + (Calendar.is_ie) && (ev = window.event); | |
| 968 | + var act = (Calendar.is_ie || ev.type == "keypress"), | |
| 969 | + K = ev.keyCode; | |
| 970 | + if (ev.ctrlKey) { | |
| 971 | + switch (K) { | |
| 972 | + case 37: // KEY left | |
| 973 | + act && Calendar.cellClick(cal._nav_pm); | |
| 974 | + break; | |
| 975 | + case 38: // KEY up | |
| 976 | + act && Calendar.cellClick(cal._nav_py); | |
| 977 | + break; | |
| 978 | + case 39: // KEY right | |
| 979 | + act && Calendar.cellClick(cal._nav_nm); | |
| 980 | + break; | |
| 981 | + case 40: // KEY down | |
| 982 | + act && Calendar.cellClick(cal._nav_ny); | |
| 983 | + break; | |
| 984 | + default: | |
| 985 | + return false; | |
| 986 | + } | |
| 987 | + } else switch (K) { | |
| 988 | + case 32: // KEY space (now) | |
| 989 | + Calendar.cellClick(cal._nav_now); | |
| 990 | + break; | |
| 991 | + case 27: // KEY esc | |
| 992 | + act && cal.callCloseHandler(); | |
| 993 | + break; | |
| 994 | + case 37: // KEY left | |
| 995 | + case 38: // KEY up | |
| 996 | + case 39: // KEY right | |
| 997 | + case 40: // KEY down | |
| 998 | + if (act) { | |
| 999 | + var prev, x, y, ne, el, step; | |
| 1000 | + prev = K == 37 || K == 38; | |
| 1001 | + step = (K == 37 || K == 39) ? 1 : 7; | |
| 1002 | + function setVars() { | |
| 1003 | + el = cal.currentDateEl; | |
| 1004 | + var p = el.pos; | |
| 1005 | + x = p & 15; | |
| 1006 | + y = p >> 4; | |
| 1007 | + ne = cal.ar_days[y][x]; | |
| 1008 | + };setVars(); | |
| 1009 | + function prevMonth() { | |
| 1010 | + var date = new Date(cal.date); | |
| 1011 | + date.setDate(date.getDate() - step); | |
| 1012 | + cal.setDate(date); | |
| 1013 | + }; | |
| 1014 | + function nextMonth() { | |
| 1015 | + var date = new Date(cal.date); | |
| 1016 | + date.setDate(date.getDate() + step); | |
| 1017 | + cal.setDate(date); | |
| 1018 | + }; | |
| 1019 | + while (1) { | |
| 1020 | + switch (K) { | |
| 1021 | + case 37: // KEY left | |
| 1022 | + if (--x >= 0) | |
| 1023 | + ne = cal.ar_days[y][x]; | |
| 1024 | + else { | |
| 1025 | + x = 6; | |
| 1026 | + K = 38; | |
| 1027 | + continue; | |
| 1028 | + } | |
| 1029 | + break; | |
| 1030 | + case 38: // KEY up | |
| 1031 | + if (--y >= 0) | |
| 1032 | + ne = cal.ar_days[y][x]; | |
| 1033 | + else { | |
| 1034 | + prevMonth(); | |
| 1035 | + setVars(); | |
| 1036 | + } | |
| 1037 | + break; | |
| 1038 | + case 39: // KEY right | |
| 1039 | + if (++x < 7) | |
| 1040 | + ne = cal.ar_days[y][x]; | |
| 1041 | + else { | |
| 1042 | + x = 0; | |
| 1043 | + K = 40; | |
| 1044 | + continue; | |
| 1045 | + } | |
| 1046 | + break; | |
| 1047 | + case 40: // KEY down | |
| 1048 | + if (++y < cal.ar_days.length) | |
| 1049 | + ne = cal.ar_days[y][x]; | |
| 1050 | + else { | |
| 1051 | + nextMonth(); | |
| 1052 | + setVars(); | |
| 1053 | + } | |
| 1054 | + break; | |
| 1055 | + } | |
| 1056 | + break; | |
| 1057 | + } | |
| 1058 | + if (ne) { | |
| 1059 | + if (!ne.disabled) | |
| 1060 | + Calendar.cellClick(ne); | |
| 1061 | + else if (prev) | |
| 1062 | + prevMonth(); | |
| 1063 | + else | |
| 1064 | + nextMonth(); | |
| 1065 | + } | |
| 1066 | + } | |
| 1067 | + break; | |
| 1068 | + case 13: // KEY enter | |
| 1069 | + if (act) | |
| 1070 | + Calendar.cellClick(cal.currentDateEl, ev); | |
| 1071 | + break; | |
| 1072 | + default: | |
| 1073 | + return false; | |
| 1074 | + } | |
| 1075 | + return Calendar.stopEvent(ev); | |
| 1076 | +}; | |
| 1077 | + | |
| 1078 | +/** | |
| 1079 | + * (RE)Initializes the calendar to the given date and firstDayOfWeek | |
| 1080 | + */ | |
| 1081 | +Calendar.prototype._init = function (firstDayOfWeek, date) { | |
| 1082 | + var today = new Date(), | |
| 1083 | + TY = today.getFullYear(), | |
| 1084 | + TM = today.getMonth(), | |
| 1085 | + TD = today.getDate(); | |
| 1086 | + this.table.style.visibility = "hidden"; | |
| 1087 | + var year = date.getFullYear(); | |
| 1088 | + if (year < this.minYear) { | |
| 1089 | + year = this.minYear; | |
| 1090 | + date.setFullYear(year); | |
| 1091 | + } else if (year > this.maxYear) { | |
| 1092 | + year = this.maxYear; | |
| 1093 | + date.setFullYear(year); | |
| 1094 | + } | |
| 1095 | + this.firstDayOfWeek = firstDayOfWeek; | |
| 1096 | + this.date = new Date(date); | |
| 1097 | + var month = date.getMonth(); | |
| 1098 | + var mday = date.getDate(); | |
| 1099 | + var no_days = date.getMonthDays(); | |
| 1100 | + | |
| 1101 | + // calendar voodoo for computing the first day that would actually be | |
| 1102 | + // displayed in the calendar, even if it's from the previous month. | |
| 1103 | + // WARNING: this is magic. ;-) | |
| 1104 | + date.setDate(1); | |
| 1105 | + var day1 = (date.getDay() - this.firstDayOfWeek) % 7; | |
| 1106 | + if (day1 < 0) | |
| 1107 | + day1 += 7; | |
| 1108 | + date.setDate(-day1); | |
| 1109 | + date.setDate(date.getDate() + 1); | |
| 1110 | + | |
| 1111 | + var row = this.tbody.firstChild; | |
| 1112 | + var MN = Calendar._SMN[month]; | |
| 1113 | + var ar_days = this.ar_days = new Array(); | |
| 1114 | + var weekend = Calendar._TT["WEEKEND"]; | |
| 1115 | + var dates = this.multiple ? (this.datesCells = {}) : null; | |
| 1116 | + for (var i = 0; i < 6; ++i, row = row.nextSibling) { | |
| 1117 | + var cell = row.firstChild; | |
| 1118 | + if (this.weekNumbers) { | |
| 1119 | + cell.className = "day wn"; | |
| 1120 | + cell.innerHTML = date.getWeekNumber(); | |
| 1121 | + cell = cell.nextSibling; | |
| 1122 | + } | |
| 1123 | + row.className = "daysrow"; | |
| 1124 | + var hasdays = false, iday, dpos = ar_days[i] = []; | |
| 1125 | + for (var j = 0; j < 7; ++j, cell = cell.nextSibling, date.setDate(iday + 1)) { | |
| 1126 | + iday = date.getDate(); | |
| 1127 | + var wday = date.getDay(); | |
| 1128 | + cell.className = "day"; | |
| 1129 | + cell.pos = i << 4 | j; | |
| 1130 | + dpos[j] = cell; | |
| 1131 | + var current_month = (date.getMonth() == month); | |
| 1132 | + if (!current_month) { | |
| 1133 | + if (this.showsOtherMonths) { | |
| 1134 | + cell.className += " othermonth"; | |
| 1135 | + cell.otherMonth = true; | |
| 1136 | + } else { | |
| 1137 | + cell.className = "emptycell"; | |
| 1138 | + cell.innerHTML = " "; | |
| 1139 | + cell.disabled = true; | |
| 1140 | + continue; | |
| 1141 | + } | |
| 1142 | + } else { | |
| 1143 | + cell.otherMonth = false; | |
| 1144 | + hasdays = true; | |
| 1145 | + } | |
| 1146 | + cell.disabled = false; | |
| 1147 | + cell.innerHTML = this.getDateText ? this.getDateText(date, iday) : iday; | |
| 1148 | + if (dates) | |
| 1149 | + dates[date.print("%Y%m%d")] = cell; | |
| 1150 | + if (this.getDateStatus) { | |
| 1151 | + var status = this.getDateStatus(date, year, month, iday); | |
| 1152 | + if (this.getDateToolTip) { | |
| 1153 | + var toolTip = this.getDateToolTip(date, year, month, iday); | |
| 1154 | + if (toolTip) | |
| 1155 | + cell.title = toolTip; | |
| 1156 | + } | |
| 1157 | + if (status === true) { | |
| 1158 | + cell.className += " disabled"; | |
| 1159 | + cell.disabled = true; | |
| 1160 | + } else { | |
| 1161 | + if (/disabled/i.test(status)) | |
| 1162 | + cell.disabled = true; | |
| 1163 | + cell.className += " " + status; | |
| 1164 | + } | |
| 1165 | + } | |
| 1166 | + if (!cell.disabled) { | |
| 1167 | + cell.caldate = new Date(date); | |
| 1168 | + cell.ttip = "_"; | |
| 1169 | + if (!this.multiple && current_month | |
| 1170 | + && iday == mday && this.hiliteToday) { | |
| 1171 | + cell.className += " selected"; | |
| 1172 | + this.currentDateEl = cell; | |
| 1173 | + } | |
| 1174 | + if (date.getFullYear() == TY && | |
| 1175 | + date.getMonth() == TM && | |
| 1176 | + iday == TD) { | |
| 1177 | + cell.className += " today"; | |
| 1178 | + cell.ttip += Calendar._TT["PART_TODAY"]; | |
| 1179 | + } | |
| 1180 | + if (weekend.indexOf(wday.toString()) != -1) | |
| 1181 | + cell.className += cell.otherMonth ? " oweekend" : " weekend"; | |
| 1182 | + } | |
| 1183 | + } | |
| 1184 | + if (!(hasdays || this.showsOtherMonths)) | |
| 1185 | + row.className = "emptyrow"; | |
| 1186 | + } | |
| 1187 | + this.title.innerHTML = Calendar._MN[month] + ", " + year; | |
| 1188 | + this.onSetTime(); | |
| 1189 | + this.table.style.visibility = "visible"; | |
| 1190 | + this._initMultipleDates(); | |
| 1191 | + // PROFILE | |
| 1192 | + // this.tooltips.innerHTML = "Generated in " + ((new Date()) - today) + " ms"; | |
| 1193 | +}; | |
| 1194 | + | |
| 1195 | +Calendar.prototype._initMultipleDates = function() { | |
| 1196 | + if (this.multiple) { | |
| 1197 | + for (var i in this.multiple) { | |
| 1198 | + var cell = this.datesCells[i]; | |
| 1199 | + var d = this.multiple[i]; | |
| 1200 | + if (!d) | |
| 1201 | + continue; | |
| 1202 | + if (cell) | |
| 1203 | + cell.className += " selected"; | |
| 1204 | + } | |
| 1205 | + } | |
| 1206 | +}; | |
| 1207 | + | |
| 1208 | +Calendar.prototype._toggleMultipleDate = function(date) { | |
| 1209 | + if (this.multiple) { | |
| 1210 | + var ds = date.print("%Y%m%d"); | |
| 1211 | + var cell = this.datesCells[ds]; | |
| 1212 | + if (cell) { | |
| 1213 | + var d = this.multiple[ds]; | |
| 1214 | + if (!d) { | |
| 1215 | + Calendar.addClass(cell, "selected"); | |
| 1216 | + this.multiple[ds] = date; | |
| 1217 | + } else { | |
| 1218 | + Calendar.removeClass(cell, "selected"); | |
| 1219 | + delete this.multiple[ds]; | |
| 1220 | + } | |
| 1221 | + } | |
| 1222 | + } | |
| 1223 | +}; | |
| 1224 | + | |
| 1225 | +Calendar.prototype.setDateToolTipHandler = function (unaryFunction) { | |
| 1226 | + this.getDateToolTip = unaryFunction; | |
| 1227 | +}; | |
| 1228 | + | |
| 1229 | +/** | |
| 1230 | + * Calls _init function above for going to a certain date (but only if the | |
| 1231 | + * date is different than the currently selected one). | |
| 1232 | + */ | |
| 1233 | +Calendar.prototype.setDate = function (date) { | |
| 1234 | + if (!date.equalsTo(this.date)) { | |
| 1235 | + this._init(this.firstDayOfWeek, date); | |
| 1236 | + } | |
| 1237 | +}; | |
| 1238 | + | |
| 1239 | +/** | |
| 1240 | + * Refreshes the calendar. Useful if the "disabledHandler" function is | |
| 1241 | + * dynamic, meaning that the list of disabled date can change at runtime. | |
| 1242 | + * Just * call this function if you think that the list of disabled dates | |
| 1243 | + * should * change. | |
| 1244 | + */ | |
| 1245 | +Calendar.prototype.refresh = function () { | |
| 1246 | + this._init(this.firstDayOfWeek, this.date); | |
| 1247 | +}; | |
| 1248 | + | |
| 1249 | +/** Modifies the "firstDayOfWeek" parameter (pass 0 for Synday, 1 for Monday, etc.). */ | |
| 1250 | +Calendar.prototype.setFirstDayOfWeek = function (firstDayOfWeek) { | |
| 1251 | + this._init(firstDayOfWeek, this.date); | |
| 1252 | + this._displayWeekdays(); | |
| 1253 | +}; | |
| 1254 | + | |
| 1255 | +/** | |
| 1256 | + * Allows customization of what dates are enabled. The "unaryFunction" | |
| 1257 | + * parameter must be a function object that receives the date (as a JS Date | |
| 1258 | + * object) and returns a boolean value. If the returned value is true then | |
| 1259 | + * the passed date will be marked as disabled. | |
| 1260 | + */ | |
| 1261 | +Calendar.prototype.setDateStatusHandler = Calendar.prototype.setDisabledHandler = function (unaryFunction) { | |
| 1262 | + this.getDateStatus = unaryFunction; | |
| 1263 | +}; | |
| 1264 | + | |
| 1265 | +/** Customization of allowed year range for the calendar. */ | |
| 1266 | +Calendar.prototype.setRange = function (a, z) { | |
| 1267 | + this.minYear = a; | |
| 1268 | + this.maxYear = z; | |
| 1269 | +}; | |
| 1270 | + | |
| 1271 | +/** Calls the first user handler (selectedHandler). */ | |
| 1272 | +Calendar.prototype.callHandler = function () { | |
| 1273 | + if (this.onSelected) { | |
| 1274 | + this.onSelected(this, this.date.print(this.dateFormat)); | |
| 1275 | + } | |
| 1276 | +}; | |
| 1277 | + | |
| 1278 | +/** Calls the second user handler (closeHandler). */ | |
| 1279 | +Calendar.prototype.callCloseHandler = function () { | |
| 1280 | + if (this.onClose) { | |
| 1281 | + this.onClose(this); | |
| 1282 | + } | |
| 1283 | + this.hideShowCovered(); | |
| 1284 | +}; | |
| 1285 | + | |
| 1286 | +/** Removes the calendar object from the DOM tree and destroys it. */ | |
| 1287 | +Calendar.prototype.destroy = function () { | |
| 1288 | + var el = this.element.parentNode; | |
| 1289 | + el.removeChild(this.element); | |
| 1290 | + Calendar._C = null; | |
| 1291 | + window._dynarch_popupCalendar = null; | |
| 1292 | +}; | |
| 1293 | + | |
| 1294 | +/** | |
| 1295 | + * Moves the calendar element to a different section in the DOM tree (changes | |
| 1296 | + * its parent). | |
| 1297 | + */ | |
| 1298 | +Calendar.prototype.reparent = function (new_parent) { | |
| 1299 | + var el = this.element; | |
| 1300 | + el.parentNode.removeChild(el); | |
| 1301 | + new_parent.appendChild(el); | |
| 1302 | +}; | |
| 1303 | + | |
| 1304 | +// This gets called when the user presses a mouse button anywhere in the | |
| 1305 | +// document, if the calendar is shown. If the click was outside the open | |
| 1306 | +// calendar this function closes it. | |
| 1307 | +Calendar._checkCalendar = function(ev) { | |
| 1308 | + var calendar = window._dynarch_popupCalendar; | |
| 1309 | + if (!calendar) { | |
| 1310 | + return false; | |
| 1311 | + } | |
| 1312 | + var el = Calendar.is_ie ? Calendar.getElement(ev) : Calendar.getTargetElement(ev); | |
| 1313 | + for (; el != null && el != calendar.element; el = el.parentNode); | |
| 1314 | + if (el == null) { | |
| 1315 | + // calls closeHandler which should hide the calendar. | |
| 1316 | + window._dynarch_popupCalendar.callCloseHandler(); | |
| 1317 | + return Calendar.stopEvent(ev); | |
| 1318 | + } | |
| 1319 | +}; | |
| 1320 | + | |
| 1321 | +/** Shows the calendar. */ | |
| 1322 | +Calendar.prototype.show = function () { | |
| 1323 | + var rows = this.table.getElementsByTagName("tr"); | |
| 1324 | + for (var i = rows.length; i > 0;) { | |
| 1325 | + var row = rows[--i]; | |
| 1326 | + Calendar.removeClass(row, "rowhilite"); | |
| 1327 | + var cells = row.getElementsByTagName("td"); | |
| 1328 | + for (var j = cells.length; j > 0;) { | |
| 1329 | + var cell = cells[--j]; | |
| 1330 | + Calendar.removeClass(cell, "hilite"); | |
| 1331 | + Calendar.removeClass(cell, "active"); | |
| 1332 | + } | |
| 1333 | + } | |
| 1334 | + this.element.style.display = "block"; | |
| 1335 | + this.hidden = false; | |
| 1336 | + if (this.isPopup) { | |
| 1337 | + window._dynarch_popupCalendar = this; | |
| 1338 | + Calendar.addEvent(document, "keydown", Calendar._keyEvent); | |
| 1339 | + Calendar.addEvent(document, "keypress", Calendar._keyEvent); | |
| 1340 | + Calendar.addEvent(document, "mousedown", Calendar._checkCalendar); | |
| 1341 | + } | |
| 1342 | + this.hideShowCovered(); | |
| 1343 | +}; | |
| 1344 | + | |
| 1345 | +/** | |
| 1346 | + * Hides the calendar. Also removes any "hilite" from the class of any TD | |
| 1347 | + * element. | |
| 1348 | + */ | |
| 1349 | +Calendar.prototype.hide = function () { | |
| 1350 | + if (this.isPopup) { | |
| 1351 | + Calendar.removeEvent(document, "keydown", Calendar._keyEvent); | |
| 1352 | + Calendar.removeEvent(document, "keypress", Calendar._keyEvent); | |
| 1353 | + Calendar.removeEvent(document, "mousedown", Calendar._checkCalendar); | |
| 1354 | + } | |
| 1355 | + this.element.style.display = "none"; | |
| 1356 | + this.hidden = true; | |
| 1357 | + this.hideShowCovered(); | |
| 1358 | +}; | |
| 1359 | + | |
| 1360 | +/** | |
| 1361 | + * Shows the calendar at a given absolute position (beware that, depending on | |
| 1362 | + * the calendar element style -- position property -- this might be relative | |
| 1363 | + * to the parent's containing rectangle). | |
| 1364 | + */ | |
| 1365 | +Calendar.prototype.showAt = function (x, y) { | |
| 1366 | + var s = this.element.style; | |
| 1367 | + s.left = x + "px"; | |
| 1368 | + s.top = y + "px"; | |
| 1369 | + this.show(); | |
| 1370 | +}; | |
| 1371 | + | |
| 1372 | +/** Shows the calendar near a given element. */ | |
| 1373 | +Calendar.prototype.showAtElement = function (el, opts) { | |
| 1374 | + var self = this; | |
| 1375 | + var p = Calendar.getAbsolutePos(el); | |
| 1376 | + if (!opts || typeof opts != "string") { | |
| 1377 | + this.showAt(p.x, p.y + el.offsetHeight); | |
| 1378 | + return true; | |
| 1379 | + } | |
| 1380 | + function fixPosition(box) { | |
| 1381 | + if (box.x < 0) | |
| 1382 | + box.x = 0; | |
| 1383 | + if (box.y < 0) | |
| 1384 | + box.y = 0; | |
| 1385 | + var cp = document.createElement("div"); | |
| 1386 | + var s = cp.style; | |
| 1387 | + s.position = "absolute"; | |
| 1388 | + s.right = s.bottom = s.width = s.height = "0px"; | |
| 1389 | + document.body.appendChild(cp); | |
| 1390 | + var br = Calendar.getAbsolutePos(cp); | |
| 1391 | + document.body.removeChild(cp); | |
| 1392 | + if (Calendar.is_ie) { | |
| 1393 | + br.y += document.body.scrollTop; | |
| 1394 | + br.x += document.body.scrollLeft; | |
| 1395 | + } else { | |
| 1396 | + br.y += window.scrollY; | |
| 1397 | + br.x += window.scrollX; | |
| 1398 | + } | |
| 1399 | + var tmp = box.x + box.width - br.x; | |
| 1400 | + if (tmp > 0) box.x -= tmp; | |
| 1401 | + tmp = box.y + box.height - br.y; | |
| 1402 | + if (tmp > 0) box.y -= tmp; | |
| 1403 | + }; | |
| 1404 | + this.element.style.display = "block"; | |
| 1405 | + Calendar.continuation_for_the_fucking_khtml_browser = function() { | |
| 1406 | + var w = self.element.offsetWidth; | |
| 1407 | + var h = self.element.offsetHeight; | |
| 1408 | + self.element.style.display = "none"; | |
| 1409 | + var valign = opts.substr(0, 1); | |
| 1410 | + var halign = "l"; | |
| 1411 | + if (opts.length > 1) { | |
| 1412 | + halign = opts.substr(1, 1); | |
| 1413 | + } | |
| 1414 | + // vertical alignment | |
| 1415 | + switch (valign) { | |
| 1416 | + case "T": p.y -= h; break; | |
| 1417 | + case "B": p.y += el.offsetHeight; break; | |
| 1418 | + case "C": p.y += (el.offsetHeight - h) / 2; break; | |
| 1419 | + case "t": p.y += el.offsetHeight - h; break; | |
| 1420 | + case "b": break; // already there | |
| 1421 | + } | |
| 1422 | + // horizontal alignment | |
| 1423 | + switch (halign) { | |
| 1424 | + case "L": p.x -= w; break; | |
| 1425 | + case "R": p.x += el.offsetWidth; break; | |
| 1426 | + case "C": p.x += (el.offsetWidth - w) / 2; break; | |
| 1427 | + case "l": p.x += el.offsetWidth - w; break; | |
| 1428 | + case "r": break; // already there | |
| 1429 | + } | |
| 1430 | + p.width = w; | |
| 1431 | + p.height = h + 40; | |
| 1432 | + self.monthsCombo.style.display = "none"; | |
| 1433 | + fixPosition(p); | |
| 1434 | + self.showAt(p.x, p.y); | |
| 1435 | + }; | |
| 1436 | + if (Calendar.is_khtml) | |
| 1437 | + setTimeout("Calendar.continuation_for_the_fucking_khtml_browser()", 10); | |
| 1438 | + else | |
| 1439 | + Calendar.continuation_for_the_fucking_khtml_browser(); | |
| 1440 | +}; | |
| 1441 | + | |
| 1442 | +/** Customizes the date format. */ | |
| 1443 | +Calendar.prototype.setDateFormat = function (str) { | |
| 1444 | + this.dateFormat = str; | |
| 1445 | +}; | |
| 1446 | + | |
| 1447 | +/** Customizes the tooltip date format. */ | |
| 1448 | +Calendar.prototype.setTtDateFormat = function (str) { | |
| 1449 | + this.ttDateFormat = str; | |
| 1450 | +}; | |
| 1451 | + | |
| 1452 | +/** | |
| 1453 | + * Tries to identify the date represented in a string. If successful it also | |
| 1454 | + * calls this.setDate which moves the calendar to the given date. | |
| 1455 | + */ | |
| 1456 | +Calendar.prototype.parseDate = function(str, fmt) { | |
| 1457 | + if (!fmt) | |
| 1458 | + fmt = this.dateFormat; | |
| 1459 | + this.setDate(Date.parseDate(str, fmt)); | |
| 1460 | +}; | |
| 1461 | + | |
| 1462 | +Calendar.prototype.hideShowCovered = function () { | |
| 1463 | + if (!Calendar.is_ie && !Calendar.is_opera) | |
| 1464 | + return; | |
| 1465 | + function getVisib(obj){ | |
| 1466 | + var value = obj.style.visibility; | |
| 1467 | + if (!value) { | |
| 1468 | + if (document.defaultView && typeof (document.defaultView.getComputedStyle) == "function") { // Gecko, W3C | |
| 1469 | + if (!Calendar.is_khtml) | |
| 1470 | + value = document.defaultView. | |
| 1471 | + getComputedStyle(obj, "").getPropertyValue("visibility"); | |
| 1472 | + else | |
| 1473 | + value = ''; | |
| 1474 | + } else if (obj.currentStyle) { // IE | |
| 1475 | + value = obj.currentStyle.visibility; | |
| 1476 | + } else | |
| 1477 | + value = ''; | |
| 1478 | + } | |
| 1479 | + return value; | |
| 1480 | + }; | |
| 1481 | + | |
| 1482 | + var tags = new Array("applet", "iframe", "select"); | |
| 1483 | + var el = this.element; | |
| 1484 | + | |
| 1485 | + var p = Calendar.getAbsolutePos(el); | |
| 1486 | + var EX1 = p.x; | |
| 1487 | + var EX2 = el.offsetWidth + EX1; | |
| 1488 | + var EY1 = p.y; | |
| 1489 | + var EY2 = el.offsetHeight + EY1; | |
| 1490 | + | |
| 1491 | + for (var k = tags.length; k > 0; ) { | |
| 1492 | + var ar = document.getElementsByTagName(tags[--k]); | |
| 1493 | + var cc = null; | |
| 1494 | + | |
| 1495 | + for (var i = ar.length; i > 0;) { | |
| 1496 | + cc = ar[--i]; | |
| 1497 | + | |
| 1498 | + p = Calendar.getAbsolutePos(cc); | |
| 1499 | + var CX1 = p.x; | |
| 1500 | + var CX2 = cc.offsetWidth + CX1; | |
| 1501 | + var CY1 = p.y; | |
| 1502 | + var CY2 = cc.offsetHeight + CY1; | |
| 1503 | + | |
| 1504 | + if (this.hidden || (CX1 > EX2) || (CX2 < EX1) || (CY1 > EY2) || (CY2 < EY1)) { | |
| 1505 | + if (!cc.__msh_save_visibility) { | |
| 1506 | + cc.__msh_save_visibility = getVisib(cc); | |
| 1507 | + } | |
| 1508 | + cc.style.visibility = cc.__msh_save_visibility; | |
| 1509 | + } else { | |
| 1510 | + if (!cc.__msh_save_visibility) { | |
| 1511 | + cc.__msh_save_visibility = getVisib(cc); | |
| 1512 | + } | |
| 1513 | + cc.style.visibility = "hidden"; | |
| 1514 | + } | |
| 1515 | + } | |
| 1516 | + } | |
| 1517 | +}; | |
| 1518 | + | |
| 1519 | +/** Internal function; it displays the bar with the names of the weekday. */ | |
| 1520 | +Calendar.prototype._displayWeekdays = function () { | |
| 1521 | + var fdow = this.firstDayOfWeek; | |
| 1522 | + var cell = this.firstdayname; | |
| 1523 | + var weekend = Calendar._TT["WEEKEND"]; | |
| 1524 | + for (var i = 0; i < 7; ++i) { | |
| 1525 | + cell.className = "day name"; | |
| 1526 | + var realday = (i + fdow) % 7; | |
| 1527 | + if (i) { | |
| 1528 | + cell.ttip = Calendar._TT["DAY_FIRST"].replace("%s", Calendar._DN[realday]); | |
| 1529 | + cell.navtype = 100; | |
| 1530 | + cell.calendar = this; | |
| 1531 | + cell.fdow = realday; | |
| 1532 | + Calendar._add_evs(cell); | |
| 1533 | + } | |
| 1534 | + if (weekend.indexOf(realday.toString()) != -1) { | |
| 1535 | + Calendar.addClass(cell, "weekend"); | |
| 1536 | + } | |
| 1537 | + cell.innerHTML = Calendar._SDN[(i + fdow) % 7]; | |
| 1538 | + cell = cell.nextSibling; | |
| 1539 | + } | |
| 1540 | +}; | |
| 1541 | + | |
| 1542 | +/** Internal function. Hides all combo boxes that might be displayed. */ | |
| 1543 | +Calendar.prototype._hideCombos = function () { | |
| 1544 | + this.monthsCombo.style.display = "none"; | |
| 1545 | + this.yearsCombo.style.display = "none"; | |
| 1546 | +}; | |
| 1547 | + | |
| 1548 | +/** Internal function. Starts dragging the element. */ | |
| 1549 | +Calendar.prototype._dragStart = function (ev) { | |
| 1550 | + if (this.dragging) { | |
| 1551 | + return; | |
| 1552 | + } | |
| 1553 | + this.dragging = true; | |
| 1554 | + var posX; | |
| 1555 | + var posY; | |
| 1556 | + if (Calendar.is_ie) { | |
| 1557 | + posY = window.event.clientY + document.body.scrollTop; | |
| 1558 | + posX = window.event.clientX + document.body.scrollLeft; | |
| 1559 | + } else { | |
| 1560 | + posY = ev.clientY + window.scrollY; | |
| 1561 | + posX = ev.clientX + window.scrollX; | |
| 1562 | + } | |
| 1563 | + var st = this.element.style; | |
| 1564 | + this.xOffs = posX - parseInt(st.left); | |
| 1565 | + this.yOffs = posY - parseInt(st.top); | |
| 1566 | + with (Calendar) { | |
| 1567 | + addEvent(document, "mousemove", calDragIt); | |
| 1568 | + addEvent(document, "mouseup", calDragEnd); | |
| 1569 | + } | |
| 1570 | +}; | |
| 1571 | + | |
| 1572 | +// BEGIN: DATE OBJECT PATCHES | |
| 1573 | + | |
| 1574 | +/** Adds the number of days array to the Date object. */ | |
| 1575 | +Date._MD = new Array(31,28,31,30,31,30,31,31,30,31,30,31); | |
| 1576 | + | |
| 1577 | +/** Constants used for time computations */ | |
| 1578 | +Date.SECOND = 1000 /* milliseconds */; | |
| 1579 | +Date.MINUTE = 60 * Date.SECOND; | |
| 1580 | +Date.HOUR = 60 * Date.MINUTE; | |
| 1581 | +Date.DAY = 24 * Date.HOUR; | |
| 1582 | +Date.WEEK = 7 * Date.DAY; | |
| 1583 | + | |
| 1584 | +Date.parseDate = function(str, fmt) { | |
| 1585 | + var today = new Date(); | |
| 1586 | + var y = 0; | |
| 1587 | + var m = -1; | |
| 1588 | + var d = 0; | |
| 1589 | + var a = str.split(/\W+/); | |
| 1590 | + var b = fmt.match(/%./g); | |
| 1591 | + var i = 0, j = 0; | |
| 1592 | + var hr = 0; | |
| 1593 | + var min = 0; | |
| 1594 | + for (i = 0; i < a.length; ++i) { | |
| 1595 | + if (!a[i]) | |
| 1596 | + continue; | |
| 1597 | + switch (b[i]) { | |
| 1598 | + case "%d": | |
| 1599 | + case "%e": | |
| 1600 | + d = parseInt(a[i], 10); | |
| 1601 | + break; | |
| 1602 | + | |
| 1603 | + case "%m": | |
| 1604 | + m = parseInt(a[i], 10) - 1; | |
| 1605 | + break; | |
| 1606 | + | |
| 1607 | + case "%Y": | |
| 1608 | + case "%y": | |
| 1609 | + y = parseInt(a[i], 10); | |
| 1610 | + (y < 100) && (y += (y > 29) ? 1900 : 2000); | |
| 1611 | + break; | |
| 1612 | + | |
| 1613 | + case "%b": | |
| 1614 | + case "%B": | |
| 1615 | + for (j = 0; j < 12; ++j) { | |
| 1616 | + if (Calendar._MN[j].substr(0, a[i].length).toLowerCase() == a[i].toLowerCase()) { m = j; break; } | |
| 1617 | + } | |
| 1618 | + break; | |
| 1619 | + | |
| 1620 | + case "%H": | |
| 1621 | + case "%I": | |
| 1622 | + case "%k": | |
| 1623 | + case "%l": | |
| 1624 | + hr = parseInt(a[i], 10); | |
| 1625 | + break; | |
| 1626 | + | |
| 1627 | + case "%P": | |
| 1628 | + case "%p": | |
| 1629 | + if (/pm/i.test(a[i]) && hr < 12) | |
| 1630 | + hr += 12; | |
| 1631 | + else if (/am/i.test(a[i]) && hr >= 12) | |
| 1632 | + hr -= 12; | |
| 1633 | + break; | |
| 1634 | + | |
| 1635 | + case "%M": | |
| 1636 | + min = parseInt(a[i], 10); | |
| 1637 | + break; | |
| 1638 | + } | |
| 1639 | + } | |
| 1640 | + if (isNaN(y)) y = today.getFullYear(); | |
| 1641 | + if (isNaN(m)) m = today.getMonth(); | |
| 1642 | + if (isNaN(d)) d = today.getDate(); | |
| 1643 | + if (isNaN(hr)) hr = today.getHours(); | |
| 1644 | + if (isNaN(min)) min = today.getMinutes(); | |
| 1645 | + if (y != 0 && m != -1 && d != 0) | |
| 1646 | + return new Date(y, m, d, hr, min, 0); | |
| 1647 | + y = 0; m = -1; d = 0; | |
| 1648 | + for (i = 0; i < a.length; ++i) { | |
| 1649 | + if (a[i].search(/[a-zA-Z]+/) != -1) { | |
| 1650 | + var t = -1; | |
| 1651 | + for (j = 0; j < 12; ++j) { | |
| 1652 | + if (Calendar._MN[j].substr(0, a[i].length).toLowerCase() == a[i].toLowerCase()) { t = j; break; } | |
| 1653 | + } | |
| 1654 | + if (t != -1) { | |
| 1655 | + if (m != -1) { | |
| 1656 | + d = m+1; | |
| 1657 | + } | |
| 1658 | + m = t; | |
| 1659 | + } | |
| 1660 | + } else if (parseInt(a[i], 10) <= 12 && m == -1) { | |
| 1661 | + m = a[i]-1; | |
| 1662 | + } else if (parseInt(a[i], 10) > 31 && y == 0) { | |
| 1663 | + y = parseInt(a[i], 10); | |
| 1664 | + (y < 100) && (y += (y > 29) ? 1900 : 2000); | |
| 1665 | + } else if (d == 0) { | |
| 1666 | + d = a[i]; | |
| 1667 | + } | |
| 1668 | + } | |
| 1669 | + if (y == 0) | |
| 1670 | + y = today.getFullYear(); | |
| 1671 | + if (m != -1 && d != 0) | |
| 1672 | + return new Date(y, m, d, hr, min, 0); | |
| 1673 | + return today; | |
| 1674 | +}; | |
| 1675 | + | |
| 1676 | +/** Returns the number of days in the current month */ | |
| 1677 | +Date.prototype.getMonthDays = function(month) { | |
| 1678 | + var year = this.getFullYear(); | |
| 1679 | + if (typeof month == "undefined") { | |
| 1680 | + month = this.getMonth(); | |
| 1681 | + } | |
| 1682 | + if (((0 == (year%4)) && ( (0 != (year%100)) || (0 == (year%400)))) && month == 1) { | |
| 1683 | + return 29; | |
| 1684 | + } else { | |
| 1685 | + return Date._MD[month]; | |
| 1686 | + } | |
| 1687 | +}; | |
| 1688 | + | |
| 1689 | +/** Returns the number of day in the year. */ | |
| 1690 | +Date.prototype.getDayOfYear = function() { | |
| 1691 | + var now = new Date(this.getFullYear(), this.getMonth(), this.getDate(), 0, 0, 0); | |
| 1692 | + var then = new Date(this.getFullYear(), 0, 0, 0, 0, 0); | |
| 1693 | + var time = now - then; | |
| 1694 | + return Math.floor(time / Date.DAY); | |
| 1695 | +}; | |
| 1696 | + | |
| 1697 | +/** Returns the number of the week in year, as defined in ISO 8601. */ | |
| 1698 | +Date.prototype.getWeekNumber = function() { | |
| 1699 | + var d = new Date(this.getFullYear(), this.getMonth(), this.getDate(), 0, 0, 0); | |
| 1700 | + var DoW = d.getDay(); | |
| 1701 | + d.setDate(d.getDate() - (DoW + 6) % 7 + 3); // Nearest Thu | |
| 1702 | + var ms = d.valueOf(); // GMT | |
| 1703 | + d.setMonth(0); | |
| 1704 | + d.setDate(4); // Thu in Week 1 | |
| 1705 | + return Math.round((ms - d.valueOf()) / (7 * 864e5)) + 1; | |
| 1706 | +}; | |
| 1707 | + | |
| 1708 | +/** Checks date and time equality */ | |
| 1709 | +Date.prototype.equalsTo = function(date) { | |
| 1710 | + return ((this.getFullYear() == date.getFullYear()) && | |
| 1711 | + (this.getMonth() == date.getMonth()) && | |
| 1712 | + (this.getDate() == date.getDate()) && | |
| 1713 | + (this.getHours() == date.getHours()) && | |
| 1714 | + (this.getMinutes() == date.getMinutes())); | |
| 1715 | +}; | |
| 1716 | + | |
| 1717 | +/** Set only the year, month, date parts (keep existing time) */ | |
| 1718 | +Date.prototype.setDateOnly = function(date) { | |
| 1719 | + var tmp = new Date(date); | |
| 1720 | + this.setDate(1); | |
| 1721 | + this.setFullYear(tmp.getFullYear()); | |
| 1722 | + this.setMonth(tmp.getMonth()); | |
| 1723 | + this.setDate(tmp.getDate()); | |
| 1724 | +}; | |
| 1725 | + | |
| 1726 | +/** Prints the date in a string according to the given format. */ | |
| 1727 | +Date.prototype.print = function (str) { | |
| 1728 | + var m = this.getMonth(); | |
| 1729 | + var d = this.getDate(); | |
| 1730 | + var y = this.getFullYear(); | |
| 1731 | + var wn = this.getWeekNumber(); | |
| 1732 | + var w = this.getDay(); | |
| 1733 | + var s = {}; | |
| 1734 | + var hr = this.getHours(); | |
| 1735 | + var pm = (hr >= 12); | |
| 1736 | + var ir = (pm) ? (hr - 12) : hr; | |
| 1737 | + var dy = this.getDayOfYear(); | |
| 1738 | + if (ir == 0) | |
| 1739 | + ir = 12; | |
| 1740 | + var min = this.getMinutes(); | |
| 1741 | + var sec = this.getSeconds(); | |
| 1742 | + s["%a"] = Calendar._SDN[w]; // abbreviated weekday name [FIXME: I18N] | |
| 1743 | + s["%A"] = Calendar._DN[w]; // full weekday name | |
| 1744 | + s["%b"] = Calendar._SMN[m]; // abbreviated month name [FIXME: I18N] | |
| 1745 | + s["%B"] = Calendar._MN[m]; // full month name | |
| 1746 | + // FIXME: %c : preferred date and time representation for the current locale | |
| 1747 | + s["%C"] = 1 + Math.floor(y / 100); // the century number | |
| 1748 | + s["%d"] = (d < 10) ? ("0" + d) : d; // the day of the month (range 01 to 31) | |
| 1749 | + s["%e"] = d; // the day of the month (range 1 to 31) | |
| 1750 | + // FIXME: %D : american date style: %m/%d/%y | |
| 1751 | + // FIXME: %E, %F, %G, %g, %h (man strftime) | |
| 1752 | + s["%H"] = (hr < 10) ? ("0" + hr) : hr; // hour, range 00 to 23 (24h format) | |
| 1753 | + s["%I"] = (ir < 10) ? ("0" + ir) : ir; // hour, range 01 to 12 (12h format) | |
| 1754 | + s["%j"] = (dy < 100) ? ((dy < 10) ? ("00" + dy) : ("0" + dy)) : dy; // day of the year (range 001 to 366) | |
| 1755 | + s["%k"] = hr; // hour, range 0 to 23 (24h format) | |
| 1756 | + s["%l"] = ir; // hour, range 1 to 12 (12h format) | |
| 1757 | + s["%m"] = (m < 9) ? ("0" + (1+m)) : (1+m); // month, range 01 to 12 | |
| 1758 | + s["%M"] = (min < 10) ? ("0" + min) : min; // minute, range 00 to 59 | |
| 1759 | + s["%n"] = "\n"; // a newline character | |
| 1760 | + s["%p"] = pm ? "PM" : "AM"; | |
| 1761 | + s["%P"] = pm ? "pm" : "am"; | |
| 1762 | + // FIXME: %r : the time in am/pm notation %I:%M:%S %p | |
| 1763 | + // FIXME: %R : the time in 24-hour notation %H:%M | |
| 1764 | + s["%s"] = Math.floor(this.getTime() / 1000); | |
| 1765 | + s["%S"] = (sec < 10) ? ("0" + sec) : sec; // seconds, range 00 to 59 | |
| 1766 | + s["%t"] = "\t"; // a tab character | |
| 1767 | + // FIXME: %T : the time in 24-hour notation (%H:%M:%S) | |
| 1768 | + s["%U"] = s["%W"] = s["%V"] = (wn < 10) ? ("0" + wn) : wn; | |
| 1769 | + s["%u"] = w + 1; // the day of the week (range 1 to 7, 1 = MON) | |
| 1770 | + s["%w"] = w; // the day of the week (range 0 to 6, 0 = SUN) | |
| 1771 | + // FIXME: %x : preferred date representation for the current locale without the time | |
| 1772 | + // FIXME: %X : preferred time representation for the current locale without the date | |
| 1773 | + s["%y"] = ('' + y).substr(2, 2); // year without the century (range 00 to 99) | |
| 1774 | + s["%Y"] = y; // year with the century | |
| 1775 | + s["%%"] = "%"; // a literal '%' character | |
| 1776 | + | |
| 1777 | + var re = /%./g; | |
| 1778 | + if (!Calendar.is_ie5 && !Calendar.is_khtml) | |
| 1779 | + return str.replace(re, function (par) { return s[par] || par; }); | |
| 1780 | + | |
| 1781 | + var a = str.match(re); | |
| 1782 | + for (var i = 0; i < a.length; i++) { | |
| 1783 | + var tmp = s[a[i]]; | |
| 1784 | + if (tmp) { | |
| 1785 | + re = new RegExp(a[i], 'g'); | |
| 1786 | + str = str.replace(re, tmp); | |
| 1787 | + } | |
| 1788 | + } | |
| 1789 | + | |
| 1790 | + return str; | |
| 1791 | +}; | |
| 1792 | + | |
| 1793 | +Date.prototype.__msh_oldSetFullYear = Date.prototype.setFullYear; | |
| 1794 | +Date.prototype.setFullYear = function(y) { | |
| 1795 | + var d = new Date(this); | |
| 1796 | + d.__msh_oldSetFullYear(y); | |
| 1797 | + if (d.getMonth() != this.getMonth()) | |
| 1798 | + this.setDate(28); | |
| 1799 | + this.__msh_oldSetFullYear(y); | |
| 1800 | +}; | |
| 1801 | + | |
| 1802 | +// END: DATE OBJECT PATCHES | |
| 1803 | + | |
| 1804 | + | |
| 1805 | +// global object that remembers the calendar | |
| 1806 | +window._dynarch_popupCalendar = null; | ... | ... |
thirdpartyjs/jscalendar-1.0/calendar_stripped.js
0 โ 100644
| 1 | +/* Copyright Mihai Bazon, 2002-2005 | www.bazon.net/mishoo | |
| 2 | + * ----------------------------------------------------------- | |
| 3 | + * | |
| 4 | + * The DHTML Calendar, version 1.0 "It is happening again" | |
| 5 | + * | |
| 6 | + * Details and latest version at: | |
| 7 | + * www.dynarch.com/projects/calendar | |
| 8 | + * | |
| 9 | + * This script is developed by Dynarch.com. Visit us at www.dynarch.com. | |
| 10 | + * | |
| 11 | + * This script is distributed under the GNU Lesser General Public License. | |
| 12 | + * Read the entire license text here: http://www.gnu.org/licenses/lgpl.html | |
| 13 | + */ | |
| 14 | + Calendar=function(firstDayOfWeek,dateStr,onSelected,onClose){this.activeDiv=null;this.currentDateEl=null;this.getDateStatus=null;this.getDateToolTip=null;this.getDateText=null;this.timeout=null;this.onSelected=onSelected||null;this.onClose=onClose||null;this.dragging=false;this.hidden=false;this.minYear=1970;this.maxYear=2050;this.dateFormat=Calendar._TT["DEF_DATE_FORMAT"];this.ttDateFormat=Calendar._TT["TT_DATE_FORMAT"];this.isPopup=true;this.weekNumbers=true;this.firstDayOfWeek=typeof firstDayOfWeek=="number"?firstDayOfWeek:Calendar._FD;this.showsOtherMonths=false;this.dateStr=dateStr;this.ar_days=null;this.showsTime=false;this.time24=true;this.yearStep=2;this.hiliteToday=true;this.multiple=null;this.table=null;this.element=null;this.tbody=null;this.firstdayname=null;this.monthsCombo=null;this.yearsCombo=null;this.hilitedMonth=null;this.activeMonth=null;this.hilitedYear=null;this.activeYear=null;this.dateClicked=false;if(typeof Calendar._SDN=="undefined"){if(typeof Calendar._SDN_len=="undefined")Calendar._SDN_len=3;var ar=new Array();for(var i=8;i>0;){ar[--i]=Calendar._DN[i].substr(0,Calendar._SDN_len);}Calendar._SDN=ar;if(typeof Calendar._SMN_len=="undefined")Calendar._SMN_len=3;ar=new Array();for(var i=12;i>0;){ar[--i]=Calendar._MN[i].substr(0,Calendar._SMN_len);}Calendar._SMN=ar;}};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));Calendar.is_opera=/opera/i.test(navigator.userAgent);Calendar.is_khtml=/Konqueror|Safari|KHTML/i.test(navigator.userAgent);Calendar.getAbsolutePos=function(el){var SL=0,ST=0;var is_div=/^div$/i.test(el.tagName);if(is_div&&el.scrollLeft)SL=el.scrollLeft;if(is_div&&el.scrollTop)ST=el.scrollTop;var r={x:el.offsetLeft-SL,y:el.offsetTop-ST};if(el.offsetParent){var tmp=this.getAbsolutePos(el.offsetParent);r.x+=tmp.x;r.y+=tmp.y;}return r;};Calendar.isRelated=function(el,evt){var related=evt.relatedTarget;if(!related){var type=evt.type;if(type=="mouseover"){related=evt.fromElement;}else if(type=="mouseout"){related=evt.toElement;}}while(related){if(related==el){return true;}related=related.parentNode;}return false;};Calendar.removeClass=function(el,className){if(!(el&&el.className)){return;}var cls=el.className.split(" ");var ar=new Array();for(var i=cls.length;i>0;){if(cls[--i]!=className){ar[ar.length]=cls[i];}}el.className=ar.join(" ");};Calendar.addClass=function(el,className){Calendar.removeClass(el,className);el.className+=" "+className;};Calendar.getElement=function(ev){var f=Calendar.is_ie?window.event.srcElement:ev.currentTarget;while(f.nodeType!=1||/^div$/i.test(f.tagName))f=f.parentNode;return f;};Calendar.getTargetElement=function(ev){var f=Calendar.is_ie?window.event.srcElement:ev.target;while(f.nodeType!=1)f=f.parentNode;return f;};Calendar.stopEvent=function(ev){ev||(ev=window.event);if(Calendar.is_ie){ev.cancelBubble=true;ev.returnValue=false;}else{ev.preventDefault();ev.stopPropagation();}return false;};Calendar.addEvent=function(el,evname,func){if(el.attachEvent){el.attachEvent("on"+evname,func);}else if(el.addEventListener){el.addEventListener(evname,func,true);}else{el["on"+evname]=func;}};Calendar.removeEvent=function(el,evname,func){if(el.detachEvent){el.detachEvent("on"+evname,func);}else if(el.removeEventListener){el.removeEventListener(evname,func,true);}else{el["on"+evname]=null;}};Calendar.createElement=function(type,parent){var el=null;if(document.createElementNS){el=document.createElementNS("http://www.w3.org/1999/xhtml",type);}else{el=document.createElement(type);}if(typeof parent!="undefined"){parent.appendChild(el);}return el;};Calendar._add_evs=function(el){with(Calendar){addEvent(el,"mouseover",dayMouseOver);addEvent(el,"mousedown",dayMouseDown);addEvent(el,"mouseout",dayMouseOut);if(is_ie){addEvent(el,"dblclick",dayMouseDblClick);el.setAttribute("unselectable",true);}}};Calendar.findMonth=function(el){if(typeof el.month!="undefined"){return el;}else if(typeof el.parentNode.month!="undefined"){return el.parentNode;}return null;};Calendar.findYear=function(el){if(typeof el.year!="undefined"){return el;}else if(typeof el.parentNode.year!="undefined"){return el.parentNode;}return null;};Calendar.showMonthsCombo=function(){var cal=Calendar._C;if(!cal){return false;}var cal=cal;var cd=cal.activeDiv;var mc=cal.monthsCombo;if(cal.hilitedMonth){Calendar.removeClass(cal.hilitedMonth,"hilite");}if(cal.activeMonth){Calendar.removeClass(cal.activeMonth,"active");}var mon=cal.monthsCombo.getElementsByTagName("div")[cal.date.getMonth()];Calendar.addClass(mon,"active");cal.activeMonth=mon;var s=mc.style;s.display="block";if(cd.navtype<0)s.left=cd.offsetLeft+"px";else{var mcw=mc.offsetWidth;if(typeof mcw=="undefined")mcw=50;s.left=(cd.offsetLeft+cd.offsetWidth-mcw)+"px";}s.top=(cd.offsetTop+cd.offsetHeight)+"px";};Calendar.showYearsCombo=function(fwd){var cal=Calendar._C;if(!cal){return false;}var cal=cal;var cd=cal.activeDiv;var yc=cal.yearsCombo;if(cal.hilitedYear){Calendar.removeClass(cal.hilitedYear,"hilite");}if(cal.activeYear){Calendar.removeClass(cal.activeYear,"active");}cal.activeYear=null;var Y=cal.date.getFullYear()+(fwd?1:-1);var yr=yc.firstChild;var show=false;for(var i=12;i>0;--i){if(Y>=cal.minYear&&Y<=cal.maxYear){yr.innerHTML=Y;yr.year=Y;yr.style.display="block";show=true;}else{yr.style.display="none";}yr=yr.nextSibling;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{var ycw=yc.offsetWidth;if(typeof ycw=="undefined")ycw=50;s.left=(cd.offsetLeft+cd.offsetWidth-ycw)+"px";}s.top=(cd.offsetTop+cd.offsetHeight)+"px";}};Calendar.tableMouseUp=function(ev){var cal=Calendar._C;if(!cal){return false;}if(cal.timeout){clearTimeout(cal.timeout);}var el=cal.activeDiv;if(!el){return false;}var target=Calendar.getTargetElement(ev);ev||(ev=window.event);Calendar.removeClass(el,"active");if(target==el||target.parentNode==el){Calendar.cellClick(el,ev);}var mon=Calendar.findMonth(target);var date=null;if(mon){date=new Date(cal.date);if(mon.month!=date.getMonth()){date.setMonth(mon.month);cal.setDate(date);cal.dateClicked=false;cal.callHandler();}}else{var year=Calendar.findYear(target);if(year){date=new Date(cal.date);if(year.year!=date.getFullYear()){date.setFullYear(year.year);cal.setDate(date);cal.dateClicked=false;cal.callHandler();}}}with(Calendar){removeEvent(document,"mouseup",tableMouseUp);removeEvent(document,"mouseover",tableMouseOver);removeEvent(document,"mousemove",tableMouseOver);cal._hideCombos();_C=null;return stopEvent(ev);}};Calendar.tableMouseOver=function(ev){var cal=Calendar._C;if(!cal){return;}var el=cal.activeDiv;var target=Calendar.getTargetElement(ev);if(target==el||target.parentNode==el){Calendar.addClass(el,"hilite active");Calendar.addClass(el.parentNode,"rowhilite");}else{if(typeof el.navtype=="undefined"||(el.navtype!=50&&(el.navtype==0||Math.abs(el.navtype)>2)))Calendar.removeClass(el,"active");Calendar.removeClass(el,"hilite");Calendar.removeClass(el.parentNode,"rowhilite");}ev||(ev=window.event);if(el.navtype==50&&target!=el){var pos=Calendar.getAbsolutePos(el);var w=el.offsetWidth;var x=ev.clientX;var dx;var decrease=true;if(x>pos.x+w){dx=x-pos.x-w;decrease=false;}else dx=pos.x-x;if(dx<0)dx=0;var range=el._range;var current=el._current;var count=Math.floor(dx/10)%range.length;for(var i=range.length;--i>=0;)if(range[i]==current)break;while(count-->0)if(decrease){if(--i<0)i=range.length-1;}else if(++i>=range.length)i=0;var newval=range[i];el.innerHTML=newval;cal.onUpdateTime();}var mon=Calendar.findMonth(target);if(mon){if(mon.month!=cal.date.getMonth()){if(cal.hilitedMonth){Calendar.removeClass(cal.hilitedMonth,"hilite");}Calendar.addClass(mon,"hilite");cal.hilitedMonth=mon;}else if(cal.hilitedMonth){Calendar.removeClass(cal.hilitedMonth,"hilite");}}else{if(cal.hilitedMonth){Calendar.removeClass(cal.hilitedMonth,"hilite");}var year=Calendar.findYear(target);if(year){if(year.year!=cal.date.getFullYear()){if(cal.hilitedYear){Calendar.removeClass(cal.hilitedYear,"hilite");}Calendar.addClass(year,"hilite");cal.hilitedYear=year;}else if(cal.hilitedYear){Calendar.removeClass(cal.hilitedYear,"hilite");}}else if(cal.hilitedYear){Calendar.removeClass(cal.hilitedYear,"hilite");}}return Calendar.stopEvent(ev);};Calendar.tableMouseDown=function(ev){if(Calendar.getTargetElement(ev)==Calendar.getElement(ev)){return Calendar.stopEvent(ev);}};Calendar.calDragIt=function(ev){var cal=Calendar._C;if(!(cal&&cal.dragging)){return false;}var posX;var posY;if(Calendar.is_ie){posY=window.event.clientY+document.body.scrollTop;posX=window.event.clientX+document.body.scrollLeft;}else{posX=ev.pageX;posY=ev.pageY;}cal.hideShowCovered();var st=cal.element.style;st.left=(posX-cal.xOffs)+"px";st.top=(posY-cal.yOffs)+"px";return Calendar.stopEvent(ev);};Calendar.calDragEnd=function(ev){var cal=Calendar._C;if(!cal){return false;}cal.dragging=false;with(Calendar){removeEvent(document,"mousemove",calDragIt);removeEvent(document,"mouseup",calDragEnd);tableMouseUp(ev);}cal.hideShowCovered();};Calendar.dayMouseDown=function(ev){var el=Calendar.getElement(ev);if(el.disabled){return false;}var cal=el.calendar;cal.activeDiv=el;Calendar._C=cal;if(el.navtype!=300)with(Calendar){if(el.navtype==50){el._current=el.innerHTML;addEvent(document,"mousemove",tableMouseOver);}else addEvent(document,Calendar.is_ie5?"mousemove":"mouseover",tableMouseOver);addClass(el,"hilite active");addEvent(document,"mouseup",tableMouseUp);}else if(cal.isPopup){cal._dragStart(ev);}if(el.navtype==-1||el.navtype==1){if(cal.timeout)clearTimeout(cal.timeout);cal.timeout=setTimeout("Calendar.showMonthsCombo()",250);}else if(el.navtype==-2||el.navtype==2){if(cal.timeout)clearTimeout(cal.timeout);cal.timeout=setTimeout((el.navtype>0)?"Calendar.showYearsCombo(true)":"Calendar.showYearsCombo(false)",250);}else{cal.timeout=null;}return Calendar.stopEvent(ev);};Calendar.dayMouseDblClick=function(ev){Calendar.cellClick(Calendar.getElement(ev),ev||window.event);if(Calendar.is_ie){document.selection.empty();}};Calendar.dayMouseOver=function(ev){var el=Calendar.getElement(ev);if(Calendar.isRelated(el,ev)||Calendar._C||el.disabled){return false;}if(el.ttip){if(el.ttip.substr(0,1)=="_"){el.ttip=el.caldate.print(el.calendar.ttDateFormat)+el.ttip.substr(1);}el.calendar.tooltips.innerHTML=el.ttip;}if(el.navtype!=300){Calendar.addClass(el,"hilite");if(el.caldate){Calendar.addClass(el.parentNode,"rowhilite");}}return Calendar.stopEvent(ev);};Calendar.dayMouseOut=function(ev){with(Calendar){var el=getElement(ev);if(isRelated(el,ev)||_C||el.disabled)return false;removeClass(el,"hilite");if(el.caldate)removeClass(el.parentNode,"rowhilite");if(el.calendar)el.calendar.tooltips.innerHTML=_TT["SEL_DATE"];return stopEvent(ev);}};Calendar.cellClick=function(el,ev){var cal=el.calendar;var closing=false;var newdate=false;var date=null;if(typeof el.navtype=="undefined"){if(cal.currentDateEl){Calendar.removeClass(cal.currentDateEl,"selected");Calendar.addClass(el,"selected");closing=(cal.currentDateEl==el);if(!closing){cal.currentDateEl=el;}}cal.date.setDateOnly(el.caldate);date=cal.date;var other_month=!(cal.dateClicked=!el.otherMonth);if(!other_month&&!cal.currentDateEl)cal._toggleMultipleDate(new Date(date));else newdate=!el.disabled;if(other_month)cal._init(cal.firstDayOfWeek,date);}else{if(el.navtype==200){Calendar.removeClass(el,"hilite");cal.callCloseHandler();return;}date=new Date(cal.date);if(el.navtype==0)date.setDateOnly(new Date());cal.dateClicked=false;var year=date.getFullYear();var mon=date.getMonth();function setMonth(m){var day=date.getDate();var max=date.getMonthDays(m);if(day>max){date.setDate(max);}date.setMonth(m);};switch(el.navtype){case 400:Calendar.removeClass(el,"hilite");var text=Calendar._TT["ABOUT"];if(typeof text!="undefined"){text+=cal.showsTime?Calendar._TT["ABOUT_TIME"]:"";}else{text="Help and about box text is not translated into this language.\n"+"If you know this language and you feel generous please update\n"+"the corresponding file in \"lang\" subdir to match calendar-en.js\n"+"and send it back to <mihai_bazon@yahoo.com> to get it into the distribution ;-)\n\n"+"Thank you!\n"+"http://dynarch.com/mishoo/calendar.epl\n";}alert(text);return;case-2:if(year>cal.minYear){date.setFullYear(year-1);}break;case-1:if(mon>0){setMonth(mon-1);}else if(year-->cal.minYear){date.setFullYear(year);setMonth(11);}break;case 1:if(mon<11){setMonth(mon+1);}else if(year<cal.maxYear){date.setFullYear(year+1);setMonth(0);}break;case 2:if(year<cal.maxYear){date.setFullYear(year+1);}break;case 100:cal.setFirstDayOfWeek(el.fdow);return;case 50:var range=el._range;var current=el.innerHTML;for(var i=range.length;--i>=0;)if(range[i]==current)break;if(ev&&ev.shiftKey){if(--i<0)i=range.length-1;}else if(++i>=range.length)i=0;var newval=range[i];el.innerHTML=newval;cal.onUpdateTime();return;case 0:if((typeof cal.getDateStatus=="function")&&cal.getDateStatus(date,date.getFullYear(),date.getMonth(),date.getDate())){return false;}break;}if(!date.equalsTo(cal.date)){cal.setDate(date);newdate=true;}else if(el.navtype==0)newdate=closing=true;}if(newdate){ev&&cal.callHandler();}if(closing){Calendar.removeClass(el,"hilite");ev&&cal.callCloseHandler();}};Calendar.prototype.create=function(_par){var parent=null;if(!_par){parent=document.getElementsByTagName("body")[0];this.isPopup=true;}else{parent=_par;this.isPopup=false;}this.date=this.dateStr?new Date(this.dateStr):new Date();var table=Calendar.createElement("table");this.table=table;table.cellSpacing=0;table.cellPadding=0;table.calendar=this;Calendar.addEvent(table,"mousedown",Calendar.tableMouseDown);var div=Calendar.createElement("div");this.element=div;div.className="calendar";if(this.isPopup){div.style.position="absolute";div.style.display="none";}div.appendChild(table);var thead=Calendar.createElement("thead",table);var cell=null;var row=null;var cal=this;var hh=function(text,cs,navtype){cell=Calendar.createElement("td",row);cell.colSpan=cs;cell.className="button";if(navtype!=0&&Math.abs(navtype)<=2)cell.className+=" nav";Calendar._add_evs(cell);cell.calendar=cal;cell.navtype=navtype;cell.innerHTML="<div unselectable='on'>"+text+"</div>";return cell;};row=Calendar.createElement("tr",thead);var title_length=6;(this.isPopup)&&--title_length;(this.weekNumbers)&&++title_length;hh("?",1,400).ttip=Calendar._TT["INFO"];this.title=hh("",title_length,300);this.title.className="title";if(this.isPopup){this.title.ttip=Calendar._TT["DRAG_TO_MOVE"];this.title.style.cursor="move";hh("×",1,200).ttip=Calendar._TT["CLOSE"];}row=Calendar.createElement("tr",thead);row.className="headrow";this._nav_py=hh("«",1,-2);this._nav_py.ttip=Calendar._TT["PREV_YEAR"];this._nav_pm=hh("‹",1,-1);this._nav_pm.ttip=Calendar._TT["PREV_MONTH"];this._nav_now=hh(Calendar._TT["TODAY"],this.weekNumbers?4:3,0);this._nav_now.ttip=Calendar._TT["GO_TODAY"];this._nav_nm=hh("›",1,1);this._nav_nm.ttip=Calendar._TT["NEXT_MONTH"];this._nav_ny=hh("»",1,2);this._nav_ny.ttip=Calendar._TT["NEXT_YEAR"];row=Calendar.createElement("tr",thead);row.className="daynames";if(this.weekNumbers){cell=Calendar.createElement("td",row);cell.className="name wn";cell.innerHTML=Calendar._TT["WK"];}for(var i=7;i>0;--i){cell=Calendar.createElement("td",row);if(!i){cell.navtype=100;cell.calendar=this;Calendar._add_evs(cell);}}this.firstdayname=(this.weekNumbers)?row.firstChild.nextSibling:row.firstChild;this._displayWeekdays();var tbody=Calendar.createElement("tbody",table);this.tbody=tbody;for(i=6;i>0;--i){row=Calendar.createElement("tr",tbody);if(this.weekNumbers){cell=Calendar.createElement("td",row);}for(var j=7;j>0;--j){cell=Calendar.createElement("td",row);cell.calendar=this;Calendar._add_evs(cell);}}if(this.showsTime){row=Calendar.createElement("tr",tbody);row.className="time";cell=Calendar.createElement("td",row);cell.className="time";cell.colSpan=2;cell.innerHTML=Calendar._TT["TIME"]||" ";cell=Calendar.createElement("td",row);cell.className="time";cell.colSpan=this.weekNumbers?4:3;(function(){function makeTimePart(className,init,range_start,range_end){var part=Calendar.createElement("span",cell);part.className=className;part.innerHTML=init;part.calendar=cal;part.ttip=Calendar._TT["TIME_PART"];part.navtype=50;part._range=[];if(typeof range_start!="number")part._range=range_start;else{for(var i=range_start;i<=range_end;++i){var txt;if(i<10&&range_end>=10)txt='0'+i;else txt=''+i;part._range[part._range.length]=txt;}}Calendar._add_evs(part);return part;};var hrs=cal.date.getHours();var mins=cal.date.getMinutes();var t12=!cal.time24;var pm=(hrs>12);if(t12&&pm)hrs-=12;var H=makeTimePart("hour",hrs,t12?1:0,t12?12:23);var span=Calendar.createElement("span",cell);span.innerHTML=":";span.className="colon";var M=makeTimePart("minute",mins,0,59);var AP=null;cell=Calendar.createElement("td",row);cell.className="time";cell.colSpan=2;if(t12)AP=makeTimePart("ampm",pm?"pm":"am",["am","pm"]);else cell.innerHTML=" ";cal.onSetTime=function(){var pm,hrs=this.date.getHours(),mins=this.date.getMinutes();if(t12){pm=(hrs>=12);if(pm)hrs-=12;if(hrs==0)hrs=12;AP.innerHTML=pm?"pm":"am";}H.innerHTML=(hrs<10)?("0"+hrs):hrs;M.innerHTML=(mins<10)?("0"+mins):mins;};cal.onUpdateTime=function(){var date=this.date;var h=parseInt(H.innerHTML,10);if(t12){if(/pm/i.test(AP.innerHTML)&&h<12)h+=12;else if(/am/i.test(AP.innerHTML)&&h==12)h=0;}var d=date.getDate();var m=date.getMonth();var y=date.getFullYear();date.setHours(h);date.setMinutes(parseInt(M.innerHTML,10));date.setFullYear(y);date.setMonth(m);date.setDate(d);this.dateClicked=false;this.callHandler();};})();}else{this.onSetTime=this.onUpdateTime=function(){};}var tfoot=Calendar.createElement("tfoot",table);row=Calendar.createElement("tr",tfoot);row.className="footrow";cell=hh(Calendar._TT["SEL_DATE"],this.weekNumbers?8:7,300);cell.className="ttip";if(this.isPopup){cell.ttip=Calendar._TT["DRAG_TO_MOVE"];cell.style.cursor="move";}this.tooltips=cell;div=Calendar.createElement("div",this.element);this.monthsCombo=div;div.className="combo";for(i=0;i<Calendar._MN.length;++i){var mn=Calendar.createElement("div");mn.className=Calendar.is_ie?"label-IEfix":"label";mn.month=i;mn.innerHTML=Calendar._SMN[i];div.appendChild(mn);}div=Calendar.createElement("div",this.element);this.yearsCombo=div;div.className="combo";for(i=12;i>0;--i){var yr=Calendar.createElement("div");yr.className=Calendar.is_ie?"label-IEfix":"label";div.appendChild(yr);}this._init(this.firstDayOfWeek,this.date);parent.appendChild(this.element);};Calendar._keyEvent=function(ev){var cal=window._dynarch_popupCalendar;if(!cal||cal.multiple)return false;(Calendar.is_ie)&&(ev=window.event);var act=(Calendar.is_ie||ev.type=="keypress"),K=ev.keyCode;if(ev.ctrlKey){switch(K){case 37:act&&Calendar.cellClick(cal._nav_pm);break;case 38:act&&Calendar.cellClick(cal._nav_py);break;case 39:act&&Calendar.cellClick(cal._nav_nm);break;case 40:act&&Calendar.cellClick(cal._nav_ny);break;default:return false;}}else switch(K){case 32:Calendar.cellClick(cal._nav_now);break;case 27:act&&cal.callCloseHandler();break;case 37:case 38:case 39:case 40:if(act){var prev,x,y,ne,el,step;prev=K==37||K==38;step=(K==37||K==39)?1:7;function setVars(){el=cal.currentDateEl;var p=el.pos;x=p&15;y=p>>4;ne=cal.ar_days[y][x];};setVars();function prevMonth(){var date=new Date(cal.date);date.setDate(date.getDate()-step);cal.setDate(date);};function nextMonth(){var date=new Date(cal.date);date.setDate(date.getDate()+step);cal.setDate(date);};while(1){switch(K){case 37:if(--x>=0)ne=cal.ar_days[y][x];else{x=6;K=38;continue;}break;case 38:if(--y>=0)ne=cal.ar_days[y][x];else{prevMonth();setVars();}break;case 39:if(++x<7)ne=cal.ar_days[y][x];else{x=0;K=40;continue;}break;case 40:if(++y<cal.ar_days.length)ne=cal.ar_days[y][x];else{nextMonth();setVars();}break;}break;}if(ne){if(!ne.disabled)Calendar.cellClick(ne);else if(prev)prevMonth();else nextMonth();}}break;case 13:if(act)Calendar.cellClick(cal.currentDateEl,ev);break;default:return false;}return Calendar.stopEvent(ev);};Calendar.prototype._init=function(firstDayOfWeek,date){var today=new Date(),TY=today.getFullYear(),TM=today.getMonth(),TD=today.getDate();this.table.style.visibility="hidden";var year=date.getFullYear();if(year<this.minYear){year=this.minYear;date.setFullYear(year);}else if(year>this.maxYear){year=this.maxYear;date.setFullYear(year);}this.firstDayOfWeek=firstDayOfWeek;this.date=new Date(date);var month=date.getMonth();var mday=date.getDate();var no_days=date.getMonthDays();date.setDate(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 ar_days=this.ar_days=new Array();var weekend=Calendar._TT["WEEKEND"];var dates=this.multiple?(this.datesCells={}):null;for(var i=0;i<6;++i,row=row.nextSibling){var cell=row.firstChild;if(this.weekNumbers){cell.className="day wn";cell.innerHTML=date.getWeekNumber();cell=cell.nextSibling;}row.className="daysrow";var hasdays=false,iday,dpos=ar_days[i]=[];for(var j=0;j<7;++j,cell=cell.nextSibling,date.setDate(iday+1)){iday=date.getDate();var wday=date.getDay();cell.className="day";cell.pos=i<<4|j;dpos[j]=cell;var current_month=(date.getMonth()==month);if(!current_month){if(this.showsOtherMonths){cell.className+=" othermonth";cell.otherMonth=true;}else{cell.className="emptycell";cell.innerHTML=" ";cell.disabled=true;continue;}}else{cell.otherMonth=false;hasdays=true;}cell.disabled=false;cell.innerHTML=this.getDateText?this.getDateText(date,iday):iday;if(dates)dates[date.print("%Y%m%d")]=cell;if(this.getDateStatus){var status=this.getDateStatus(date,year,month,iday);if(this.getDateToolTip){var toolTip=this.getDateToolTip(date,year,month,iday);if(toolTip)cell.title=toolTip;}if(status===true){cell.className+=" disabled";cell.disabled=true;}else{if(/disabled/i.test(status))cell.disabled=true;cell.className+=" "+status;}}if(!cell.disabled){cell.caldate=new Date(date);cell.ttip="_";if(!this.multiple&¤t_month&&iday==mday&&this.hiliteToday){cell.className+=" selected";this.currentDateEl=cell;}if(date.getFullYear()==TY&&date.getMonth()==TM&&iday==TD){cell.className+=" today";cell.ttip+=Calendar._TT["PART_TODAY"];}if(weekend.indexOf(wday.toString())!=-1)cell.className+=cell.otherMonth?" oweekend":" weekend";}}if(!(hasdays||this.showsOtherMonths))row.className="emptyrow";}this.title.innerHTML=Calendar._MN[month]+", "+year;this.onSetTime();this.table.style.visibility="visible";this._initMultipleDates();};Calendar.prototype._initMultipleDates=function(){if(this.multiple){for(var i in this.multiple){var cell=this.datesCells[i];var d=this.multiple[i];if(!d)continue;if(cell)cell.className+=" selected";}}};Calendar.prototype._toggleMultipleDate=function(date){if(this.multiple){var ds=date.print("%Y%m%d");var cell=this.datesCells[ds];if(cell){var d=this.multiple[ds];if(!d){Calendar.addClass(cell,"selected");this.multiple[ds]=date;}else{Calendar.removeClass(cell,"selected");delete this.multiple[ds];}}}};Calendar.prototype.setDateToolTipHandler=function(unaryFunction){this.getDateToolTip=unaryFunction;};Calendar.prototype.setDate=function(date){if(!date.equalsTo(this.date)){this._init(this.firstDayOfWeek,date);}};Calendar.prototype.refresh=function(){this._init(this.firstDayOfWeek,this.date);};Calendar.prototype.setFirstDayOfWeek=function(firstDayOfWeek){this._init(firstDayOfWeek,this.date);this._displayWeekdays();};Calendar.prototype.setDateStatusHandler=Calendar.prototype.setDisabledHandler=function(unaryFunction){this.getDateStatus=unaryFunction;};Calendar.prototype.setRange=function(a,z){this.minYear=a;this.maxYear=z;};Calendar.prototype.callHandler=function(){if(this.onSelected){this.onSelected(this,this.date.print(this.dateFormat));}};Calendar.prototype.callCloseHandler=function(){if(this.onClose){this.onClose(this);}this.hideShowCovered();};Calendar.prototype.destroy=function(){var el=this.element.parentNode;el.removeChild(this.element);Calendar._C=null;window._dynarch_popupCalendar=null;};Calendar.prototype.reparent=function(new_parent){var el=this.element;el.parentNode.removeChild(el);new_parent.appendChild(el);};Calendar._checkCalendar=function(ev){var calendar=window._dynarch_popupCalendar;if(!calendar){return false;}var el=Calendar.is_ie?Calendar.getElement(ev):Calendar.getTargetElement(ev);for(;el!=null&&el!=calendar.element;el=el.parentNode);if(el==null){window._dynarch_popupCalendar.callCloseHandler();return Calendar.stopEvent(ev);}};Calendar.prototype.show=function(){var rows=this.table.getElementsByTagName("tr");for(var i=rows.length;i>0;){var row=rows[--i];Calendar.removeClass(row,"rowhilite");var cells=row.getElementsByTagName("td");for(var j=cells.length;j>0;){var cell=cells[--j];Calendar.removeClass(cell,"hilite");Calendar.removeClass(cell,"active");}}this.element.style.display="block";this.hidden=false;if(this.isPopup){window._dynarch_popupCalendar=this;Calendar.addEvent(document,"keydown",Calendar._keyEvent);Calendar.addEvent(document,"keypress",Calendar._keyEvent);Calendar.addEvent(document,"mousedown",Calendar._checkCalendar);}this.hideShowCovered();};Calendar.prototype.hide=function(){if(this.isPopup){Calendar.removeEvent(document,"keydown",Calendar._keyEvent);Calendar.removeEvent(document,"keypress",Calendar._keyEvent);Calendar.removeEvent(document,"mousedown",Calendar._checkCalendar);}this.element.style.display="none";this.hidden=true;this.hideShowCovered();};Calendar.prototype.showAt=function(x,y){var s=this.element.style;s.left=x+"px";s.top=y+"px";this.show();};Calendar.prototype.showAtElement=function(el,opts){var self=this;var p=Calendar.getAbsolutePos(el);if(!opts||typeof opts!="string"){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;var h=self.element.offsetHeight;self.element.style.display="none";var valign=opts.substr(0,1);var halign="l";if(opts.length>1){halign=opts.substr(1,1);}switch(valign){case "T":p.y-=h;break;case "B":p.y+=el.offsetHeight;break;case "C":p.y+=(el.offsetHeight-h)/2;break;case "t":p.y+=el.offsetHeight-h;break;case "b":break;}switch(halign){case "L":p.x-=w;break;case "R":p.x+=el.offsetWidth;break;case "C":p.x+=(el.offsetWidth-w)/2;break;case "l":p.x+=el.offsetWidth-w;break;case "r":break;}p.width=w;p.height=h+40;self.monthsCombo.style.display="none";fixPosition(p);self.showAt(p.x,p.y);};if(Calendar.is_khtml)setTimeout("Calendar.continuation_for_the_fucking_khtml_browser()",10);else Calendar.continuation_for_the_fucking_khtml_browser();};Calendar.prototype.setDateFormat=function(str){this.dateFormat=str;};Calendar.prototype.setTtDateFormat=function(str){this.ttDateFormat=str;};Calendar.prototype.parseDate=function(str,fmt){if(!fmt)fmt=this.dateFormat;this.setDate(Date.parseDate(str,fmt));};Calendar.prototype.hideShowCovered=function(){if(!Calendar.is_ie&&!Calendar.is_opera)return;function getVisib(obj){var value=obj.style.visibility;if(!value){if(document.defaultView&&typeof(document.defaultView.getComputedStyle)=="function"){if(!Calendar.is_khtml)value=document.defaultView. getComputedStyle(obj,"").getPropertyValue("visibility");else value='';}else if(obj.currentStyle){value=obj.currentStyle.visibility;}else value='';}return value;};var tags=new Array("applet","iframe","select");var el=this.element;var p=Calendar.getAbsolutePos(el);var EX1=p.x;var EX2=el.offsetWidth+EX1;var EY1=p.y;var EY2=el.offsetHeight+EY1;for(var k=tags.length;k>0;){var ar=document.getElementsByTagName(tags[--k]);var cc=null;for(var i=ar.length;i>0;){cc=ar[--i];p=Calendar.getAbsolutePos(cc);var CX1=p.x;var CX2=cc.offsetWidth+CX1;var CY1=p.y;var CY2=cc.offsetHeight+CY1;if(this.hidden||(CX1>EX2)||(CX2<EX1)||(CY1>EY2)||(CY2<EY1)){if(!cc.__msh_save_visibility){cc.__msh_save_visibility=getVisib(cc);}cc.style.visibility=cc.__msh_save_visibility;}else{if(!cc.__msh_save_visibility){cc.__msh_save_visibility=getVisib(cc);}cc.style.visibility="hidden";}}}};Calendar.prototype._displayWeekdays=function(){var fdow=this.firstDayOfWeek;var cell=this.firstdayname;var weekend=Calendar._TT["WEEKEND"];for(var i=0;i<7;++i){cell.className="day name";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(weekend.indexOf(realday.toString())!=-1){Calendar.addClass(cell,"weekend");}cell.innerHTML=Calendar._SDN[(i+fdow)%7];cell=cell.nextSibling;}};Calendar.prototype._hideCombos=function(){this.monthsCombo.style.display="none";this.yearsCombo.style.display="none";};Calendar.prototype._dragStart=function(ev){if(this.dragging){return;}this.dragging=true;var posX;var posY;if(Calendar.is_ie){posY=window.event.clientY+document.body.scrollTop;posX=window.event.clientX+document.body.scrollLeft;}else{posY=ev.clientY+window.scrollY;posX=ev.clientX+window.scrollX;}var st=this.element.style;this.xOffs=posX-parseInt(st.left);this.yOffs=posY-parseInt(st.top);with(Calendar){addEvent(document,"mousemove",calDragIt);addEvent(document,"mouseup",calDragEnd);}};Date._MD=new Array(31,28,31,30,31,30,31,31,30,31,30,31);Date.SECOND=1000;Date.MINUTE=60*Date.SECOND;Date.HOUR=60*Date.MINUTE;Date.DAY=24*Date.HOUR;Date.WEEK=7*Date.DAY;Date.parseDate=function(str,fmt){var today=new Date();var y=0;var m=-1;var d=0;var a=str.split(/\W+/);var b=fmt.match(/%./g);var i=0,j=0;var hr=0;var min=0;for(i=0;i<a.length;++i){if(!a[i])continue;switch(b[i]){case "%d":case "%e":d=parseInt(a[i],10);break;case "%m":m=parseInt(a[i],10)-1;break;case "%Y":case "%y":y=parseInt(a[i],10);(y<100)&&(y+=(y>29)?1900:2000);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;}}break;case "%H":case "%I":case "%k":case "%l":hr=parseInt(a[i],10);break;case "%P":case "%p":if(/pm/i.test(a[i])&&hr<12)hr+=12;else if(/am/i.test(a[i])&&hr>=12)hr-=12;break;case "%M":min=parseInt(a[i],10);break;}}if(isNaN(y))y=today.getFullYear();if(isNaN(m))m=today.getMonth();if(isNaN(d))d=today.getDate();if(isNaN(hr))hr=today.getHours();if(isNaN(min))min=today.getMinutes();if(y!=0&&m!=-1&&d!=0)return new Date(y,m,d,hr,min,0);y=0;m=-1;d=0;for(i=0;i<a.length;++i){if(a[i].search(/[a-zA-Z]+/)!=-1){var t=-1;for(j=0;j<12;++j){if(Calendar._MN[j].substr(0,a[i].length).toLowerCase()==a[i].toLowerCase()){t=j;break;}}if(t!=-1){if(m!=-1){d=m+1;}m=t;}}else if(parseInt(a[i],10)<=12&&m==-1){m=a[i]-1;}else if(parseInt(a[i],10)>31&&y==0){y=parseInt(a[i],10);(y<100)&&(y+=(y>29)?1900:2000);}else if(d==0){d=a[i];}}if(y==0)y=today.getFullYear();if(m!=-1&&d!=0)return new Date(y,m,d,hr,min,0);return today;};Date.prototype.getMonthDays=function(month){var year=this.getFullYear();if(typeof month=="undefined"){month=this.getMonth();}if(((0==(year%4))&&((0!=(year%100))||(0==(year%400))))&&month==1){return 29;}else{return Date._MD[month];}};Date.prototype.getDayOfYear=function(){var now=new Date(this.getFullYear(),this.getMonth(),this.getDate(),0,0,0);var then=new Date(this.getFullYear(),0,0,0,0,0);var time=now-then;return Math.floor(time/Date.DAY);};Date.prototype.getWeekNumber=function(){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);var ms=d.valueOf();d.setMonth(0);d.setDate(4);return Math.round((ms-d.valueOf())/(7*864e5))+1;};Date.prototype.equalsTo=function(date){return((this.getFullYear()==date.getFullYear())&&(this.getMonth()==date.getMonth())&&(this.getDate()==date.getDate())&&(this.getHours()==date.getHours())&&(this.getMinutes()==date.getMinutes()));};Date.prototype.setDateOnly=function(date){var tmp=new Date(date);this.setDate(1);this.setFullYear(tmp.getFullYear());this.setMonth(tmp.getMonth());this.setDate(tmp.getDate());};Date.prototype.print=function(str){var m=this.getMonth();var d=this.getDate();var y=this.getFullYear();var wn=this.getWeekNumber();var w=this.getDay();var s={};var hr=this.getHours();var pm=(hr>=12);var ir=(pm)?(hr-12):hr;var dy=this.getDayOfYear();if(ir==0)ir=12;var min=this.getMinutes();var sec=this.getSeconds();s["%a"]=Calendar._SDN[w];s["%A"]=Calendar._DN[w];s["%b"]=Calendar._SMN[m];s["%B"]=Calendar._MN[m];s["%C"]=1+Math.floor(y/100);s["%d"]=(d<10)?("0"+d):d;s["%e"]=d;s["%H"]=(hr<10)?("0"+hr):hr;s["%I"]=(ir<10)?("0"+ir):ir;s["%j"]=(dy<100)?((dy<10)?("00"+dy):("0"+dy)):dy;s["%k"]=hr;s["%l"]=ir;s["%m"]=(m<9)?("0"+(1+m)):(1+m);s["%M"]=(min<10)?("0"+min):min;s["%n"]="\n";s["%p"]=pm?"PM":"AM";s["%P"]=pm?"pm":"am";s["%s"]=Math.floor(this.getTime()/1000);s["%S"]=(sec<10)?("0"+sec):sec;s["%t"]="\t";s["%U"]=s["%W"]=s["%V"]=(wn<10)?("0"+wn):wn;s["%u"]=w+1;s["%w"]=w;s["%y"]=(''+y).substr(2,2);s["%Y"]=y;s["%%"]="%";var re=/%./g;if(!Calendar.is_ie5&&!Calendar.is_khtml)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;};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);};window._dynarch_popupCalendar=null; | |
| 0 | 15 | \ No newline at end of file | ... | ... |
thirdpartyjs/jscalendar-1.0/doc/reference.pdf
0 โ 100644
No preview for this file type
thirdpartyjs/jscalendar-1.0/img.gif
0 โ 100644
223 Bytes
thirdpartyjs/jscalendar-1.0/lang/calendar-af.js
0 โ 100644
| 1 | +// ** I18N Afrikaans | |
| 2 | +Calendar._DN = new Array | |
| 3 | +("Sondag", | |
| 4 | + "Maandag", | |
| 5 | + "Dinsdag", | |
| 6 | + "Woensdag", | |
| 7 | + "Donderdag", | |
| 8 | + "Vrydag", | |
| 9 | + "Saterdag", | |
| 10 | + "Sondag"); | |
| 11 | +Calendar._MN = new Array | |
| 12 | +("Januarie", | |
| 13 | + "Februarie", | |
| 14 | + "Maart", | |
| 15 | + "April", | |
| 16 | + "Mei", | |
| 17 | + "Junie", | |
| 18 | + "Julie", | |
| 19 | + "Augustus", | |
| 20 | + "September", | |
| 21 | + "Oktober", | |
| 22 | + "November", | |
| 23 | + "Desember"); | |
| 24 | + | |
| 25 | +// tooltips | |
| 26 | +Calendar._TT = {}; | |
| 27 | +Calendar._TT["TOGGLE"] = "Verander eerste dag van die week"; | |
| 28 | +Calendar._TT["PREV_YEAR"] = "Vorige jaar (hou vir keuselys)"; | |
| 29 | +Calendar._TT["PREV_MONTH"] = "Vorige maand (hou vir keuselys)"; | |
| 30 | +Calendar._TT["GO_TODAY"] = "Gaan na vandag"; | |
| 31 | +Calendar._TT["NEXT_MONTH"] = "Volgende maand (hou vir keuselys)"; | |
| 32 | +Calendar._TT["NEXT_YEAR"] = "Volgende jaar (hou vir keuselys)"; | |
| 33 | +Calendar._TT["SEL_DATE"] = "Kies datum"; | |
| 34 | +Calendar._TT["DRAG_TO_MOVE"] = "Sleep om te skuif"; | |
| 35 | +Calendar._TT["PART_TODAY"] = " (vandag)"; | |
| 36 | +Calendar._TT["MON_FIRST"] = "Vertoon Maandag eerste"; | |
| 37 | +Calendar._TT["SUN_FIRST"] = "Display Sunday first"; | |
| 38 | +Calendar._TT["CLOSE"] = "Close"; | |
| 39 | +Calendar._TT["TODAY"] = "Today"; | ... | ... |
thirdpartyjs/jscalendar-1.0/lang/calendar-al.js
0 โ 100644
| 1 | +// Calendar ALBANIAN language | |
| 2 | +//author Rigels Gordani rige@hotmail.com | |
| 3 | + | |
| 4 | +// ditet | |
| 5 | +Calendar._DN = new Array | |
| 6 | +("E Diele", | |
| 7 | +"E Hene", | |
| 8 | +"E Marte", | |
| 9 | +"E Merkure", | |
| 10 | +"E Enjte", | |
| 11 | +"E Premte", | |
| 12 | +"E Shtune", | |
| 13 | +"E Diele"); | |
| 14 | + | |
| 15 | +//ditet shkurt | |
| 16 | +Calendar._SDN = new Array | |
| 17 | +("Die", | |
| 18 | +"Hen", | |
| 19 | +"Mar", | |
| 20 | +"Mer", | |
| 21 | +"Enj", | |
| 22 | +"Pre", | |
| 23 | +"Sht", | |
| 24 | +"Die"); | |
| 25 | + | |
| 26 | +// muajt | |
| 27 | +Calendar._MN = new Array | |
| 28 | +("Janar", | |
| 29 | +"Shkurt", | |
| 30 | +"Mars", | |
| 31 | +"Prill", | |
| 32 | +"Maj", | |
| 33 | +"Qeshor", | |
| 34 | +"Korrik", | |
| 35 | +"Gusht", | |
| 36 | +"Shtator", | |
| 37 | +"Tetor", | |
| 38 | +"Nentor", | |
| 39 | +"Dhjetor"); | |
| 40 | + | |
| 41 | +// muajte shkurt | |
| 42 | +Calendar._SMN = new Array | |
| 43 | +("Jan", | |
| 44 | +"Shk", | |
| 45 | +"Mar", | |
| 46 | +"Pri", | |
| 47 | +"Maj", | |
| 48 | +"Qes", | |
| 49 | +"Kor", | |
| 50 | +"Gus", | |
| 51 | +"Sht", | |
| 52 | +"Tet", | |
| 53 | +"Nen", | |
| 54 | +"Dhj"); | |
| 55 | + | |
| 56 | +// ndihmesa | |
| 57 | +Calendar._TT = {}; | |
| 58 | +Calendar._TT["INFO"] = "Per kalendarin"; | |
| 59 | + | |
| 60 | +Calendar._TT["ABOUT"] = | |
| 61 | +"Zgjedhes i ores/dates ne DHTML \n" + | |
| 62 | +"\n\n" +"Zgjedhja e Dates:\n" + | |
| 63 | +"- Perdor butonat \xab, \xbb per te zgjedhur vitin\n" + | |
| 64 | +"- Perdor butonat" + String.fromCharCode(0x2039) + ", " + | |
| 65 | +String.fromCharCode(0x203a) + | |
| 66 | +" per te zgjedhur muajin\n" + | |
| 67 | +"- Mbani shtypur butonin e mousit per nje zgjedje me te shpejte."; | |
| 68 | +Calendar._TT["ABOUT_TIME"] = "\n\n" + | |
| 69 | +"Zgjedhja e kohes:\n" + | |
| 70 | +"- Kliko tek ndonje nga pjeset e ores per ta rritur ate\n" + | |
| 71 | +"- ose kliko me Shift per ta zvogeluar ate\n" + | |
| 72 | +"- ose cliko dhe terhiq per zgjedhje me te shpejte."; | |
| 73 | + | |
| 74 | +Calendar._TT["PREV_YEAR"] = "Viti i shkuar (prit per menune)"; | |
| 75 | +Calendar._TT["PREV_MONTH"] = "Muaji i shkuar (prit per menune)"; | |
| 76 | +Calendar._TT["GO_TODAY"] = "Sot"; | |
| 77 | +Calendar._TT["NEXT_MONTH"] = "Muaji i ardhshem (prit per menune)"; | |
| 78 | +Calendar._TT["NEXT_YEAR"] = "Viti i ardhshem (prit per menune)"; | |
| 79 | +Calendar._TT["SEL_DATE"] = "Zgjidh daten"; | |
| 80 | +Calendar._TT["DRAG_TO_MOVE"] = "Terhiqe per te levizur"; | |
| 81 | +Calendar._TT["PART_TODAY"] = " (sot)"; | |
| 82 | + | |
| 83 | +// "%s" eshte dita e pare e javes | |
| 84 | +// %s do te zevendesohet me emrin e dite | |
| 85 | +Calendar._TT["DAY_FIRST"] = "Trego te %s te paren"; | |
| 86 | + | |
| 87 | + | |
| 88 | +Calendar._TT["WEEKEND"] = "0,6"; | |
| 89 | + | |
| 90 | +Calendar._TT["CLOSE"] = "Mbyll"; | |
| 91 | +Calendar._TT["TODAY"] = "Sot"; | |
| 92 | +Calendar._TT["TIME_PART"] = "Kliko me (Shift-)ose terhiqe per te ndryshuar | |
| 93 | +vleren"; | |
| 94 | + | |
| 95 | +// date formats | |
| 96 | +Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d"; | |
| 97 | +Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e"; | |
| 98 | + | |
| 99 | +Calendar._TT["WK"] = "Java"; | |
| 100 | +Calendar._TT["TIME"] = "Koha:"; | |
| 101 | + | ... | ... |
thirdpartyjs/jscalendar-1.0/lang/calendar-bg.js
0 โ 100644
| 1 | +// ** I18N | |
| 2 | + | |
| 3 | +// Calendar BG language | |
| 4 | +// Author: Mihai Bazon, <mihai_bazon@yahoo.com> | |
| 5 | +// Translator: Valentin Sheiretsky, <valio@valio.eu.org> | |
| 6 | +// Encoding: Windows-1251 | |
| 7 | +// Distributed under the same terms as the calendar itself. | |
| 8 | + | |
| 9 | +// For translators: please use UTF-8 if possible. We strongly believe that | |
| 10 | +// Unicode is the answer to a real internationalized world. Also please | |
| 11 | +// include your contact information in the header, as can be seen above. | |
| 12 | + | |
| 13 | +// full day names | |
| 14 | +Calendar._DN = new Array | |
| 15 | +("รรฅรครฅรซรฟ", | |
| 16 | + "รรฎรญรฅรครฅรซรญรจรช", | |
| 17 | + "รรฒรฎรฐรญรจรช", | |
| 18 | + "รรฐรฟรคร ", | |
| 19 | + "รรฅรฒรขรบรฐรฒรบรช", | |
| 20 | + "รรฅรฒรบรช", | |
| 21 | + "รรบรกรฎรฒร ", | |
| 22 | + "รรฅรครฅรซรฟ"); | |
| 23 | + | |
| 24 | +// Please note that the following array of short day names (and the same goes | |
| 25 | +// for short month names, _SMN) isn't absolutely necessary. We give it here | |
| 26 | +// for exemplification on how one can customize the short day names, but if | |
| 27 | +// they are simply the first N letters of the full name you can simply say: | |
| 28 | +// | |
| 29 | +// Calendar._SDN_len = N; // short day name length | |
| 30 | +// Calendar._SMN_len = N; // short month name length | |
| 31 | +// | |
| 32 | +// If N = 3 then this is not needed either since we assume a value of 3 if not | |
| 33 | +// present, to be compatible with translation files that were written before | |
| 34 | +// this feature. | |
| 35 | + | |
| 36 | +// short day names | |
| 37 | +Calendar._SDN = new Array | |
| 38 | +("รรฅรค", | |
| 39 | + "รรฎรญ", | |
| 40 | + "รรฒรฎ", | |
| 41 | + "รรฐรฟ", | |
| 42 | + "รรฅรฒ", | |
| 43 | + "รรฅรฒ", | |
| 44 | + "รรบรก", | |
| 45 | + "รรฅรค"); | |
| 46 | + | |
| 47 | +// full month names | |
| 48 | +Calendar._MN = new Array | |
| 49 | +("รรญรณร รฐรจ", | |
| 50 | + "รรฅรขรฐรณร รฐรจ", | |
| 51 | + "รร รฐรฒ", | |
| 52 | + "รรฏรฐรจรซ", | |
| 53 | + "รร รฉ", | |
| 54 | + "รรญรจ", | |
| 55 | + "รรซรจ", | |
| 56 | + "รรขรฃรณรฑรฒ", | |
| 57 | + "รรฅรฏรฒรฅรฌรขรฐรจ", | |
| 58 | + "รรชรฒรฎรฌรขรฐรจ", | |
| 59 | + "รรฎรฅรฌรขรฐรจ", | |
| 60 | + "รรฅรชรฅรฌรขรฐรจ"); | |
| 61 | + | |
| 62 | +// short month names | |
| 63 | +Calendar._SMN = new Array | |
| 64 | +("รรญรณ", | |
| 65 | + "รรฅรข", | |
| 66 | + "รร รฐ", | |
| 67 | + "รรฏรฐ", | |
| 68 | + "รร รฉ", | |
| 69 | + "รรญรจ", | |
| 70 | + "รรซรจ", | |
| 71 | + "รรขรฃ", | |
| 72 | + "รรฅรฏ", | |
| 73 | + "รรชรฒ", | |
| 74 | + "รรฎรฅ", | |
| 75 | + "รรฅรช"); | |
| 76 | + | |
| 77 | +// tooltips | |
| 78 | +Calendar._TT = {}; | |
| 79 | +Calendar._TT["INFO"] = "รรญรดรฎรฐรฌร รถรจรฟ รงร รชร รซรฅรญรคร รฐร "; | |
| 80 | + | |
| 81 | +Calendar._TT["ABOUT"] = | |
| 82 | +"DHTML Date/Time Selector\n" + | |
| 83 | +"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-) | |
| 84 | +"For latest version visit: http://www.dynarch.com/projects/calendar/\n" + | |
| 85 | +"Distributed under GNU LGPL. See http://gnu.org/licenses/lgpl.html for details." + | |
| 86 | +"\n\n" + | |
| 87 | +"Date selection:\n" + | |
| 88 | +"- Use the \xab, \xbb buttons to select year\n" + | |
| 89 | +"- Use the " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " buttons to select month\n" + | |
| 90 | +"- Hold mouse button on any of the above buttons for faster selection."; | |
| 91 | +Calendar._TT["ABOUT_TIME"] = "\n\n" + | |
| 92 | +"Time selection:\n" + | |
| 93 | +"- Click on any of the time parts to increase it\n" + | |
| 94 | +"- or Shift-click to decrease it\n" + | |
| 95 | +"- or click and drag for faster selection."; | |
| 96 | + | |
| 97 | +Calendar._TT["PREV_YEAR"] = "รรฐรฅรครญร รฃรฎรครจรญร (รงร รครฐรบรฆรฒรฅ รงร รฌรฅรญรพ)"; | |
| 98 | +Calendar._TT["PREV_MONTH"] = "รรฐรฅรครฅรญ รฌรฅรฑรฅรถ (รงร รครฐรบรฆรฒรฅ รงร รฌรฅรญรพ)"; | |
| 99 | +Calendar._TT["GO_TODAY"] = "รรงรกรฅรฐรฅรฒรฅ รครญรฅรฑ"; | |
| 100 | +Calendar._TT["NEXT_MONTH"] = "รรซรฅรครขร รน รฌรฅรฑรฅรถ (รงร รครฐรบรฆรฒรฅ รงร รฌรฅรญรพ)"; | |
| 101 | +Calendar._TT["NEXT_YEAR"] = "รรซรฅรครขร รนร รฃรฎรครจรญร (รงร รครฐรบรฆรฒรฅ รงร รฌรฅรญรพ)"; | |
| 102 | +Calendar._TT["SEL_DATE"] = "รรงรกรฅรฐรฅรฒรฅ รคร รฒร "; | |
| 103 | +Calendar._TT["DRAG_TO_MOVE"] = "รรฐรฅรฌรฅรฑรฒรขร รญรฅ"; | |
| 104 | +Calendar._TT["PART_TODAY"] = " (รครญรฅรฑ)"; | |
| 105 | + | |
| 106 | +// the following is to inform that "%s" is to be the first day of week | |
| 107 | +// %s will be replaced with the day name. | |
| 108 | +Calendar._TT["DAY_FIRST"] = "%s รชร รฒรฎ รฏรบรฐรขรจ รครฅรญ"; | |
| 109 | + | |
| 110 | +// This may be locale-dependent. It specifies the week-end days, as an array | |
| 111 | +// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1 | |
| 112 | +// means Monday, etc. | |
| 113 | +Calendar._TT["WEEKEND"] = "0,6"; | |
| 114 | + | |
| 115 | +Calendar._TT["CLOSE"] = "รร รฒรขรฎรฐรฅรฒรฅ"; | |
| 116 | +Calendar._TT["TODAY"] = "รรญรฅรฑ"; | |
| 117 | +Calendar._TT["TIME_PART"] = "(Shift-)Click รจรซรจ drag รงร รคร รฏรฐรฎรฌรฅรญรจรฒรฅ รฑรฒรฎรฉรญรฎรฑรฒรฒร "; | |
| 118 | + | |
| 119 | +// date formats | |
| 120 | +Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d"; | |
| 121 | +Calendar._TT["TT_DATE_FORMAT"] = "%A - %e %B %Y"; | |
| 122 | + | |
| 123 | +Calendar._TT["WK"] = "รรฅรครฌ"; | |
| 124 | +Calendar._TT["TIME"] = "รร รฑ:"; | ... | ... |
thirdpartyjs/jscalendar-1.0/lang/calendar-big5-utf8.js
0 โ 100644
| 1 | +// ** I18N | |
| 2 | + | |
| 3 | +// Calendar big5-utf8 language | |
| 4 | +// Author: Gary Fu, <gary@garyfu.idv.tw> | |
| 5 | +// Encoding: utf8 | |
| 6 | +// Distributed under the same terms as the calendar itself. | |
| 7 | + | |
| 8 | +// For translators: please use UTF-8 if possible. We strongly believe that | |
| 9 | +// Unicode is the answer to a real internationalized world. Also please | |
| 10 | +// include your contact information in the header, as can be seen above. | |
| 11 | + | |
| 12 | +// full day names | |
| 13 | +Calendar._DN = new Array | |
| 14 | +("ๆๆๆฅ", | |
| 15 | + "ๆๆไธ", | |
| 16 | + "ๆๆไบ", | |
| 17 | + "ๆๆไธ", | |
| 18 | + "ๆๆๅ", | |
| 19 | + "ๆๆไบ", | |
| 20 | + "ๆๆๅ ญ", | |
| 21 | + "ๆๆๆฅ"); | |
| 22 | + | |
| 23 | +// Please note that the following array of short day names (and the same goes | |
| 24 | +// for short month names, _SMN) isn't absolutely necessary. We give it here | |
| 25 | +// for exemplification on how one can customize the short day names, but if | |
| 26 | +// they are simply the first N letters of the full name you can simply say: | |
| 27 | +// | |
| 28 | +// Calendar._SDN_len = N; // short day name length | |
| 29 | +// Calendar._SMN_len = N; // short month name length | |
| 30 | +// | |
| 31 | +// If N = 3 then this is not needed either since we assume a value of 3 if not | |
| 32 | +// present, to be compatible with translation files that were written before | |
| 33 | +// this feature. | |
| 34 | + | |
| 35 | +// short day names | |
| 36 | +Calendar._SDN = new Array | |
| 37 | +("ๆฅ", | |
| 38 | + "ไธ", | |
| 39 | + "ไบ", | |
| 40 | + "ไธ", | |
| 41 | + "ๅ", | |
| 42 | + "ไบ", | |
| 43 | + "ๅ ญ", | |
| 44 | + "ๆฅ"); | |
| 45 | + | |
| 46 | +// full month names | |
| 47 | +Calendar._MN = new Array | |
| 48 | +("ไธๆ", | |
| 49 | + "ไบๆ", | |
| 50 | + "ไธๆ", | |
| 51 | + "ๅๆ", | |
| 52 | + "ไบๆ", | |
| 53 | + "ๅ ญๆ", | |
| 54 | + "ไธๆ", | |
| 55 | + "ๅ ซๆ", | |
| 56 | + "ไนๆ", | |
| 57 | + "ๅๆ", | |
| 58 | + "ๅไธๆ", | |
| 59 | + "ๅไบๆ"); | |
| 60 | + | |
| 61 | +// short month names | |
| 62 | +Calendar._SMN = new Array | |
| 63 | +("ไธๆ", | |
| 64 | + "ไบๆ", | |
| 65 | + "ไธๆ", | |
| 66 | + "ๅๆ", | |
| 67 | + "ไบๆ", | |
| 68 | + "ๅ ญๆ", | |
| 69 | + "ไธๆ", | |
| 70 | + "ๅ ซๆ", | |
| 71 | + "ไนๆ", | |
| 72 | + "ๅๆ", | |
| 73 | + "ๅไธๆ", | |
| 74 | + "ๅไบๆ"); | |
| 75 | + | |
| 76 | +// tooltips | |
| 77 | +Calendar._TT = {}; | |
| 78 | +Calendar._TT["INFO"] = "้ๆผ"; | |
| 79 | + | |
| 80 | +Calendar._TT["ABOUT"] = | |
| 81 | +"DHTML Date/Time Selector\n" + | |
| 82 | +"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-) | |
| 83 | +"For latest version visit: http://www.dynarch.com/projects/calendar/\n" + | |
| 84 | +"Distributed under GNU LGPL. See http://gnu.org/licenses/lgpl.html for details." + | |
| 85 | +"\n\n" + | |
| 86 | +"ๆฅๆ้ธๆๆนๆณ:\n" + | |
| 87 | +"- ไฝฟ็จ \xab, \xbb ๆ้ๅฏ้ธๆๅนดไปฝ\n" + | |
| 88 | +"- ไฝฟ็จ " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " ๆ้ๅฏ้ธๆๆไปฝ\n" + | |
| 89 | +"- ๆไฝไธ้ข็ๆ้ๅฏไปฅๅ ๅฟซ้ธๅ"; | |
| 90 | +Calendar._TT["ABOUT_TIME"] = "\n\n" + | |
| 91 | +"ๆ้้ธๆๆนๆณ:\n" + | |
| 92 | +"- ้ปๆไปปไฝ็ๆ้้จไปฝๅฏๅขๅ ๅ ถๅผ\n" + | |
| 93 | +"- ๅๆๆShift้ตๅ้ปๆๅฏๆธๅฐๅ ถๅผ\n" + | |
| 94 | +"- ้ปๆไธฆๆๆณๅฏๅ ๅฟซๆน่ฎ็ๅผ"; | |
| 95 | + | |
| 96 | +Calendar._TT["PREV_YEAR"] = "ไธไธๅนด (ๆไฝ้ธๅฎ)"; | |
| 97 | +Calendar._TT["PREV_MONTH"] = "ไธไธๅนด (ๆไฝ้ธๅฎ)"; | |
| 98 | +Calendar._TT["GO_TODAY"] = "ๅฐไปๆฅ"; | |
| 99 | +Calendar._TT["NEXT_MONTH"] = "ไธไธๆ (ๆไฝ้ธๅฎ)"; | |
| 100 | +Calendar._TT["NEXT_YEAR"] = "ไธไธๆ (ๆไฝ้ธๅฎ)"; | |
| 101 | +Calendar._TT["SEL_DATE"] = "้ธๆๆฅๆ"; | |
| 102 | +Calendar._TT["DRAG_TO_MOVE"] = "ๆๆณ"; | |
| 103 | +Calendar._TT["PART_TODAY"] = " (ไปๆฅ)"; | |
| 104 | + | |
| 105 | +// the following is to inform that "%s" is to be the first day of week | |
| 106 | +// %s will be replaced with the day name. | |
| 107 | +Calendar._TT["DAY_FIRST"] = "ๅฐ %s ้กฏ็คบๅจๅ"; | |
| 108 | + | |
| 109 | +// This may be locale-dependent. It specifies the week-end days, as an array | |
| 110 | +// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1 | |
| 111 | +// means Monday, etc. | |
| 112 | +Calendar._TT["WEEKEND"] = "0,6"; | |
| 113 | + | |
| 114 | +Calendar._TT["CLOSE"] = "้้"; | |
| 115 | +Calendar._TT["TODAY"] = "ไปๆฅ"; | |
| 116 | +Calendar._TT["TIME_PART"] = "้ปๆorๆๆณๅฏๆน่ฎๆ้(ๅๆๆShift็บๆธ)"; | |
| 117 | + | |
| 118 | +// date formats | |
| 119 | +Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d"; | |
| 120 | +Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e"; | |
| 121 | + | |
| 122 | +Calendar._TT["WK"] = "้ฑ"; | |
| 123 | +Calendar._TT["TIME"] = "Time:"; | ... | ... |
thirdpartyjs/jscalendar-1.0/lang/calendar-big5.js
0 โ 100644
| 1 | +// ** I18N | |
| 2 | + | |
| 3 | +// Calendar big5 language | |
| 4 | +// Author: Gary Fu, <gary@garyfu.idv.tw> | |
| 5 | +// Encoding: big5 | |
| 6 | +// Distributed under the same terms as the calendar itself. | |
| 7 | + | |
| 8 | +// For translators: please use UTF-8 if possible. We strongly believe that | |
| 9 | +// Unicode is the answer to a real internationalized world. Also please | |
| 10 | +// include your contact information in the header, as can be seen above. | |
| 11 | + | |
| 12 | +// full day names | |
| 13 | +Calendar._DN = new Array | |
| 14 | +("ๆๆๆฅ", | |
| 15 | + "ๆๆไธ", | |
| 16 | + "ๆๆไบ", | |
| 17 | + "ๆๆไธ", | |
| 18 | + "ๆๆๅ", | |
| 19 | + "ๆๆไบ", | |
| 20 | + "ๆๆๅ ญ", | |
| 21 | + "ๆๆๆฅ"); | |
| 22 | + | |
| 23 | +// Please note that the following array of short day names (and the same goes | |
| 24 | +// for short month names, _SMN) isn't absolutely necessary. We give it here | |
| 25 | +// for exemplification on how one can customize the short day names, but if | |
| 26 | +// they are simply the first N letters of the full name you can simply say: | |
| 27 | +// | |
| 28 | +// Calendar._SDN_len = N; // short day name length | |
| 29 | +// Calendar._SMN_len = N; // short month name length | |
| 30 | +// | |
| 31 | +// If N = 3 then this is not needed either since we assume a value of 3 if not | |
| 32 | +// present, to be compatible with translation files that were written before | |
| 33 | +// this feature. | |
| 34 | + | |
| 35 | +// short day names | |
| 36 | +Calendar._SDN = new Array | |
| 37 | +("ๆฅ", | |
| 38 | + "ไธ", | |
| 39 | + "ไบ", | |
| 40 | + "ไธ", | |
| 41 | + "ๅ", | |
| 42 | + "ไบ", | |
| 43 | + "ๅ ญ", | |
| 44 | + "ๆฅ"); | |
| 45 | + | |
| 46 | +// full month names | |
| 47 | +Calendar._MN = new Array | |
| 48 | +("ไธๆ", | |
| 49 | + "ไบๆ", | |
| 50 | + "ไธๆ", | |
| 51 | + "ๅๆ", | |
| 52 | + "ไบๆ", | |
| 53 | + "ๅ ญๆ", | |
| 54 | + "ไธๆ", | |
| 55 | + "ๅ ซๆ", | |
| 56 | + "ไนๆ", | |
| 57 | + "ๅๆ", | |
| 58 | + "ๅไธๆ", | |
| 59 | + "ๅไบๆ"); | |
| 60 | + | |
| 61 | +// short month names | |
| 62 | +Calendar._SMN = new Array | |
| 63 | +("ไธๆ", | |
| 64 | + "ไบๆ", | |
| 65 | + "ไธๆ", | |
| 66 | + "ๅๆ", | |
| 67 | + "ไบๆ", | |
| 68 | + "ๅ ญๆ", | |
| 69 | + "ไธๆ", | |
| 70 | + "ๅ ซๆ", | |
| 71 | + "ไนๆ", | |
| 72 | + "ๅๆ", | |
| 73 | + "ๅไธๆ", | |
| 74 | + "ๅไบๆ"); | |
| 75 | + | |
| 76 | +// tooltips | |
| 77 | +Calendar._TT = {}; | |
| 78 | +Calendar._TT["INFO"] = "้ๆผ"; | |
| 79 | + | |
| 80 | +Calendar._TT["ABOUT"] = | |
| 81 | +"DHTML Date/Time Selector\n" + | |
| 82 | +"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-) | |
| 83 | +"For latest version visit: http://www.dynarch.com/projects/calendar/\n" + | |
| 84 | +"Distributed under GNU LGPL. See http://gnu.org/licenses/lgpl.html for details." + | |
| 85 | +"\n\n" + | |
| 86 | +"ๆฅๆ้ธๆๆนๆณ:\n" + | |
| 87 | +"- ไฝฟ็จ \xab, \xbb ๆ้ๅฏ้ธๆๅนดไปฝ\n" + | |
| 88 | +"- ไฝฟ็จ " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " ๆ้ๅฏ้ธๆๆไปฝ\n" + | |
| 89 | +"- ๆไฝไธ้ข็ๆ้ๅฏไปฅๅ ๅฟซ้ธๅ"; | |
| 90 | +Calendar._TT["ABOUT_TIME"] = "\n\n" + | |
| 91 | +"ๆ้้ธๆๆนๆณ:\n" + | |
| 92 | +"- ้ปๆไปปไฝ็ๆ้้จไปฝๅฏๅขๅ ๅ ถๅผ\n" + | |
| 93 | +"- ๅๆๆShift้ตๅ้ปๆๅฏๆธๅฐๅ ถๅผ\n" + | |
| 94 | +"- ้ปๆไธฆๆๆณๅฏๅ ๅฟซๆน่ฎ็ๅผ"; | |
| 95 | + | |
| 96 | +Calendar._TT["PREV_YEAR"] = "ไธไธๅนด (ๆไฝ้ธๅฎ)"; | |
| 97 | +Calendar._TT["PREV_MONTH"] = "ไธไธๅนด (ๆไฝ้ธๅฎ)"; | |
| 98 | +Calendar._TT["GO_TODAY"] = "ๅฐไปๆฅ"; | |
| 99 | +Calendar._TT["NEXT_MONTH"] = "ไธไธๆ (ๆไฝ้ธๅฎ)"; | |
| 100 | +Calendar._TT["NEXT_YEAR"] = "ไธไธๆ (ๆไฝ้ธๅฎ)"; | |
| 101 | +Calendar._TT["SEL_DATE"] = "้ธๆๆฅๆ"; | |
| 102 | +Calendar._TT["DRAG_TO_MOVE"] = "ๆๆณ"; | |
| 103 | +Calendar._TT["PART_TODAY"] = " (ไปๆฅ)"; | |
| 104 | + | |
| 105 | +// the following is to inform that "%s" is to be the first day of week | |
| 106 | +// %s will be replaced with the day name. | |
| 107 | +Calendar._TT["DAY_FIRST"] = "ๅฐ %s ้กฏ็คบๅจๅ"; | |
| 108 | + | |
| 109 | +// This may be locale-dependent. It specifies the week-end days, as an array | |
| 110 | +// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1 | |
| 111 | +// means Monday, etc. | |
| 112 | +Calendar._TT["WEEKEND"] = "0,6"; | |
| 113 | + | |
| 114 | +Calendar._TT["CLOSE"] = "้้"; | |
| 115 | +Calendar._TT["TODAY"] = "ไปๆฅ"; | |
| 116 | +Calendar._TT["TIME_PART"] = "้ปๆorๆๆณๅฏๆน่ฎๆ้(ๅๆๆShift็บๆธ)"; | |
| 117 | + | |
| 118 | +// date formats | |
| 119 | +Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d"; | |
| 120 | +Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e"; | |
| 121 | + | |
| 122 | +Calendar._TT["WK"] = "้ฑ"; | |
| 123 | +Calendar._TT["TIME"] = "Time:"; | ... | ... |
thirdpartyjs/jscalendar-1.0/lang/calendar-br.js
0 โ 100644
| 1 | +๏ปฟ// ** I18N | |
| 2 | + | |
| 3 | +// Calendar pt-BR language | |
| 4 | +// Author: Fernando Dourado, <fernando.dourado@ig.com.br> | |
| 5 | +// Encoding: any | |
| 6 | +// Distributed under the same terms as the calendar itself. | |
| 7 | + | |
| 8 | +// For translators: please use UTF-8 if possible. We strongly believe that | |
| 9 | +// Unicode is the answer to a real internationalized world. Also please | |
| 10 | +// include your contact information in the header, as can be seen above. | |
| 11 | + | |
| 12 | +// full day names | |
| 13 | +Calendar._DN = new Array | |
| 14 | +("Domingo", | |
| 15 | + "Segunda", | |
| 16 | + "Terรงa", | |
| 17 | + "Quarta", | |
| 18 | + "Quinta", | |
| 19 | + "Sexta", | |
| 20 | + "Sabรกdo", | |
| 21 | + "Domingo"); | |
| 22 | + | |
| 23 | +// Please note that the following array of short day names (and the same goes | |
| 24 | +// for short month names, _SMN) isn't absolutely necessary. We give it here | |
| 25 | +// for exemplification on how one can customize the short day names, but if | |
| 26 | +// they are simply the first N letters of the full name you can simply say: | |
| 27 | +// | |
| 28 | +// Calendar._SDN_len = N; // short day name length | |
| 29 | +// Calendar._SMN_len = N; // short month name length | |
| 30 | +// | |
| 31 | +// If N = 3 then this is not needed either since we assume a value of 3 if not | |
| 32 | +// present, to be compatible with translation files that were written before | |
| 33 | +// this feature. | |
| 34 | + | |
| 35 | +// short day names | |
| 36 | +// [No changes using default values] | |
| 37 | + | |
| 38 | +// full month names | |
| 39 | +Calendar._MN = new Array | |
| 40 | +("Janeiro", | |
| 41 | + "Fevereiro", | |
| 42 | + "Marรงo", | |
| 43 | + "Abril", | |
| 44 | + "Maio", | |
| 45 | + "Junho", | |
| 46 | + "Julho", | |
| 47 | + "Agosto", | |
| 48 | + "Setembro", | |
| 49 | + "Outubro", | |
| 50 | + "Novembro", | |
| 51 | + "Dezembro"); | |
| 52 | + | |
| 53 | +// short month names | |
| 54 | +// [No changes using default values] | |
| 55 | + | |
| 56 | +// tooltips | |
| 57 | +Calendar._TT = {}; | |
| 58 | +Calendar._TT["INFO"] = "Sobre o calendรกrio"; | |
| 59 | + | |
| 60 | +Calendar._TT["ABOUT"] = | |
| 61 | +"DHTML Date/Time Selector\n" + | |
| 62 | +"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-) | |
| 63 | +"For latest version visit: http://www.dynarch.com/projects/calendar/\n" + | |
| 64 | +"Distributed under GNU LGPL. See http://gnu.org/licenses/lgpl.html for details." + | |
| 65 | +"\n\n" + | |
| 66 | +"Translate to portuguese Brazil (pt-BR) by Fernando Dourado (fernando.dourado@ig.com.br)\n" + | |
| 67 | +"Traduรงรฃo para o portuguรชs Brasil (pt-BR) por Fernando Dourado (fernando.dourado@ig.com.br)" + | |
| 68 | +"\n\n" + | |
| 69 | +"Selecionar data:\n" + | |
| 70 | +"- Use as teclas \xab, \xbb para selecionar o ano\n" + | |
| 71 | +"- Use as teclas " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " para selecionar o mรชs\n" + | |
| 72 | +"- Clique e segure com o mouse em qualquer botรฃo para selecionar rapidamente."; | |
| 73 | + | |
| 74 | +Calendar._TT["ABOUT_TIME"] = "\n\n" + | |
| 75 | +"Selecionar hora:\n" + | |
| 76 | +"- Clique em qualquer uma das partes da hora para aumentar\n" + | |
| 77 | +"- ou Shift-clique para diminuir\n" + | |
| 78 | +"- ou clique e arraste para selecionar rapidamente."; | |
| 79 | + | |
| 80 | +Calendar._TT["PREV_YEAR"] = "Ano anterior (clique e segure para menu)"; | |
| 81 | +Calendar._TT["PREV_MONTH"] = "Mรชs anterior (clique e segure para menu)"; | |
| 82 | +Calendar._TT["GO_TODAY"] = "Ir para a data atual"; | |
| 83 | +Calendar._TT["NEXT_MONTH"] = "Prรณximo mรชs (clique e segure para menu)"; | |
| 84 | +Calendar._TT["NEXT_YEAR"] = "Prรณximo ano (clique e segure para menu)"; | |
| 85 | +Calendar._TT["SEL_DATE"] = "Selecione uma data"; | |
| 86 | +Calendar._TT["DRAG_TO_MOVE"] = "Clique e segure para mover"; | |
| 87 | +Calendar._TT["PART_TODAY"] = " (hoje)"; | |
| 88 | + | |
| 89 | +// the following is to inform that "%s" is to be the first day of week | |
| 90 | +// %s will be replaced with the day name. | |
| 91 | +Calendar._TT["DAY_FIRST"] = "Exibir %s primeiro"; | |
| 92 | + | |
| 93 | +// This may be locale-dependent. It specifies the week-end days, as an array | |
| 94 | +// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1 | |
| 95 | +// means Monday, etc. | |
| 96 | +Calendar._TT["WEEKEND"] = "0,6"; | |
| 97 | + | |
| 98 | +Calendar._TT["CLOSE"] = "Fechar"; | |
| 99 | +Calendar._TT["TODAY"] = "Hoje"; | |
| 100 | +Calendar._TT["TIME_PART"] = "(Shift-)Clique ou arraste para mudar o valor"; | |
| 101 | + | |
| 102 | +// date formats | |
| 103 | +Calendar._TT["DEF_DATE_FORMAT"] = "%d/%m/%Y"; | |
| 104 | +Calendar._TT["TT_DATE_FORMAT"] = "%d de %B de %Y"; | |
| 105 | + | |
| 106 | +Calendar._TT["WK"] = "sem"; | |
| 107 | +Calendar._TT["TIME"] = "Hora:"; | |
| 108 | + | ... | ... |
thirdpartyjs/jscalendar-1.0/lang/calendar-ca.js
0 โ 100644
| 1 | +// ** I18N | |
| 2 | + | |
| 3 | +// Calendar CA language | |
| 4 | +// Author: Mihai Bazon, <mihai_bazon@yahoo.com> | |
| 5 | +// Encoding: any | |
| 6 | +// Distributed under the same terms as the calendar itself. | |
| 7 | + | |
| 8 | +// For translators: please use UTF-8 if possible. We strongly believe that | |
| 9 | +// Unicode is the answer to a real internationalized world. Also please | |
| 10 | +// include your contact information in the header, as can be seen above. | |
| 11 | + | |
| 12 | +// full day names | |
| 13 | +Calendar._DN = new Array | |
| 14 | +("Diumenge", | |
| 15 | + "Dilluns", | |
| 16 | + "Dimarts", | |
| 17 | + "Dimecres", | |
| 18 | + "Dijous", | |
| 19 | + "Divendres", | |
| 20 | + "Dissabte", | |
| 21 | + "Diumenge"); | |
| 22 | + | |
| 23 | +// Please note that the following array of short day names (and the same goes | |
| 24 | +// for short month names, _SMN) isn't absolutely necessary. We give it here | |
| 25 | +// for exemplification on how one can customize the short day names, but if | |
| 26 | +// they are simply the first N letters of the full name you can simply say: | |
| 27 | +// | |
| 28 | +// Calendar._SDN_len = N; // short day name length | |
| 29 | +// Calendar._SMN_len = N; // short month name length | |
| 30 | +// | |
| 31 | +// If N = 3 then this is not needed either since we assume a value of 3 if not | |
| 32 | +// present, to be compatible with translation files that were written before | |
| 33 | +// this feature. | |
| 34 | + | |
| 35 | +// short day names | |
| 36 | +Calendar._SDN = new Array | |
| 37 | +("Diu", | |
| 38 | + "Dil", | |
| 39 | + "Dmt", | |
| 40 | + "Dmc", | |
| 41 | + "Dij", | |
| 42 | + "Div", | |
| 43 | + "Dis", | |
| 44 | + "Diu"); | |
| 45 | + | |
| 46 | +// full month names | |
| 47 | +Calendar._MN = new Array | |
| 48 | +("Gener", | |
| 49 | + "Febrer", | |
| 50 | + "Marรง", | |
| 51 | + "Abril", | |
| 52 | + "Maig", | |
| 53 | + "Juny", | |
| 54 | + "Juliol", | |
| 55 | + "Agost", | |
| 56 | + "Setembre", | |
| 57 | + "Octubre", | |
| 58 | + "Novembre", | |
| 59 | + "Desembre"); | |
| 60 | + | |
| 61 | +// short month names | |
| 62 | +Calendar._SMN = new Array | |
| 63 | +("Gen", | |
| 64 | + "Feb", | |
| 65 | + "Mar", | |
| 66 | + "Abr", | |
| 67 | + "Mai", | |
| 68 | + "Jun", | |
| 69 | + "Jul", | |
| 70 | + "Ago", | |
| 71 | + "Set", | |
| 72 | + "Oct", | |
| 73 | + "Nov", | |
| 74 | + "Des"); | |
| 75 | + | |
| 76 | +// tooltips | |
| 77 | +Calendar._TT = {}; | |
| 78 | +Calendar._TT["INFO"] = "Sobre el calendari"; | |
| 79 | + | |
| 80 | +Calendar._TT["ABOUT"] = | |
| 81 | +"DHTML Selector de Data/Hora\n" + | |
| 82 | +"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-) | |
| 83 | +"For latest version visit: http://www.dynarch.com/projects/calendar/\n" + | |
| 84 | +"Distributed under GNU LGPL. See http://gnu.org/licenses/lgpl.html for details." + | |
| 85 | +"\n\n" + | |
| 86 | +"Sel.lecciรณ de Dates:\n" + | |
| 87 | +"- Fes servir els botons \xab, \xbb per sel.leccionar l'any\n" + | |
| 88 | +"- Fes servir els botons " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " per se.lecciconar el mes\n" + | |
| 89 | +"- Mantรฉ el ratolรญ apretat en qualsevol dels anteriors per sel.lecciรณ rร pida."; | |
| 90 | +Calendar._TT["ABOUT_TIME"] = "\n\n" + | |
| 91 | +"Time selection:\n" + | |
| 92 | +"- claca en qualsevol de les parts de la hora per augmentar-les\n" + | |
| 93 | +"- o Shift-click per decrementar-la\n" + | |
| 94 | +"- or click and arrastra per sel.lecciรณ rร pida."; | |
| 95 | + | |
| 96 | +Calendar._TT["PREV_YEAR"] = "Any anterior (Mantenir per menu)"; | |
| 97 | +Calendar._TT["PREV_MONTH"] = "Mes anterior (Mantenir per menu)"; | |
| 98 | +Calendar._TT["GO_TODAY"] = "Anar a avui"; | |
| 99 | +Calendar._TT["NEXT_MONTH"] = "Mes segรผent (Mantenir per menu)"; | |
| 100 | +Calendar._TT["NEXT_YEAR"] = "Any segรผent (Mantenir per menu)"; | |
| 101 | +Calendar._TT["SEL_DATE"] = "Sel.leccionar data"; | |
| 102 | +Calendar._TT["DRAG_TO_MOVE"] = "Arrastrar per moure"; | |
| 103 | +Calendar._TT["PART_TODAY"] = " (avui)"; | |
| 104 | + | |
| 105 | +// the following is to inform that "%s" is to be the first day of week | |
| 106 | +// %s will be replaced with the day name. | |
| 107 | +Calendar._TT["DAY_FIRST"] = "Mostra %s primer"; | |
| 108 | + | |
| 109 | +// This may be locale-dependent. It specifies the week-end days, as an array | |
| 110 | +// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1 | |
| 111 | +// means Monday, etc. | |
| 112 | +Calendar._TT["WEEKEND"] = "0,6"; | |
| 113 | + | |
| 114 | +Calendar._TT["CLOSE"] = "Tanca"; | |
| 115 | +Calendar._TT["TODAY"] = "Avui"; | |
| 116 | +Calendar._TT["TIME_PART"] = "(Shift-)Click a arrastra per canviar el valor"; | |
| 117 | + | |
| 118 | +// date formats | |
| 119 | +Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d"; | |
| 120 | +Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e"; | |
| 121 | + | |
| 122 | +Calendar._TT["WK"] = "st"; | |
| 123 | +Calendar._TT["TIME"] = "Hora:"; | ... | ... |
thirdpartyjs/jscalendar-1.0/lang/calendar-cs-utf8.js
0 โ 100644
| 1 | +/* | |
| 2 | + calendar-cs-win.js | |
| 3 | + language: Czech | |
| 4 | + encoding: windows-1250 | |
| 5 | + author: Lubos Jerabek (xnet@seznam.cz) | |
| 6 | + Jan Uhlir (espinosa@centrum.cz) | |
| 7 | +*/ | |
| 8 | + | |
| 9 | +// ** I18N | |
| 10 | +Calendar._DN = new Array('Nedฤle','Pondฤlรญ','รterรฝ','Stลeda','ฤtvrtek','Pรกtek','Sobota','Nedฤle'); | |
| 11 | +Calendar._SDN = new Array('Ne','Po','รt','St','ฤt','Pรก','So','Ne'); | |
| 12 | +Calendar._MN = new Array('Leden','รnor','Bลezen','Duben','Kvฤten','ฤerven','ฤervenec','Srpen','Zรกลรญ','ลรญjen','Listopad','Prosinec'); | |
| 13 | +Calendar._SMN = new Array('Led','รno','Bลe','Dub','Kvฤ','ฤrv','ฤvc','Srp','Zรกล','ลรญj','Lis','Pro'); | |
| 14 | + | |
| 15 | +// tooltips | |
| 16 | +Calendar._TT = {}; | |
| 17 | +Calendar._TT["INFO"] = "O komponentฤ kalendรกล"; | |
| 18 | +Calendar._TT["TOGGLE"] = "Zmฤna prvnรญho dne v tรฝdnu"; | |
| 19 | +Calendar._TT["PREV_YEAR"] = "Pลedchozรญ rok (pลidrลพ pro menu)"; | |
| 20 | +Calendar._TT["PREV_MONTH"] = "Pลedchozรญ mฤsรญc (pลidrลพ pro menu)"; | |
| 21 | +Calendar._TT["GO_TODAY"] = "Dneลกnรญ datum"; | |
| 22 | +Calendar._TT["NEXT_MONTH"] = "Dalลกรญ mฤsรญc (pลidrลพ pro menu)"; | |
| 23 | +Calendar._TT["NEXT_YEAR"] = "Dalลกรญ rok (pลidrลพ pro menu)"; | |
| 24 | +Calendar._TT["SEL_DATE"] = "Vyber datum"; | |
| 25 | +Calendar._TT["DRAG_TO_MOVE"] = "Chyลฅ a tรกhni, pro pลesun"; | |
| 26 | +Calendar._TT["PART_TODAY"] = " (dnes)"; | |
| 27 | +Calendar._TT["MON_FIRST"] = "Ukaลพ jako prvnรญ Pondฤlรญ"; | |
| 28 | +//Calendar._TT["SUN_FIRST"] = "Ukaลพ jako prvnรญ Nedฤli"; | |
| 29 | + | |
| 30 | +Calendar._TT["ABOUT"] = | |
| 31 | +"DHTML Date/Time Selector\n" + | |
| 32 | +"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-) | |
| 33 | +"For latest version visit: http://www.dynarch.com/projects/calendar/\n" + | |
| 34 | +"Distributed under GNU LGPL. See http://gnu.org/licenses/lgpl.html for details." + | |
| 35 | +"\n\n" + | |
| 36 | +"Vรฝbฤr datumu:\n" + | |
| 37 | +"- Use the \xab, \xbb buttons to select year\n" + | |
| 38 | +"- Pouลพijte tlaฤรญtka " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " k vรฝbฤru mฤsรญce\n" + | |
| 39 | +"- Podrลพte tlaฤรญtko myลกi na jakรฉmkoliv z tฤch tlaฤรญtek pro rychlejลกรญ vรฝbฤr."; | |
| 40 | + | |
| 41 | +Calendar._TT["ABOUT_TIME"] = "\n\n" + | |
| 42 | +"Vรฝbฤr ฤasu:\n" + | |
| 43 | +"- Kliknฤte na jakoukoliv z ฤรกstรญ vรฝbฤru ฤasu pro zvรฝลกenรญ.\n" + | |
| 44 | +"- nebo Shift-click pro snรญลพenรญ\n" + | |
| 45 | +"- nebo kliknฤte a tรกhnฤte pro rychlejลกรญ vรฝbฤr."; | |
| 46 | + | |
| 47 | +// the following is to inform that "%s" is to be the first day of week | |
| 48 | +// %s will be replaced with the day name. | |
| 49 | +Calendar._TT["DAY_FIRST"] = "Zobraz %s prvnรญ"; | |
| 50 | + | |
| 51 | +// This may be locale-dependent. It specifies the week-end days, as an array | |
| 52 | +// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1 | |
| 53 | +// means Monday, etc. | |
| 54 | +Calendar._TT["WEEKEND"] = "0,6"; | |
| 55 | + | |
| 56 | +Calendar._TT["CLOSE"] = "Zavลรญt"; | |
| 57 | +Calendar._TT["TODAY"] = "Dnes"; | |
| 58 | +Calendar._TT["TIME_PART"] = "(Shift-)Klikni nebo tรกhni pro zmฤnu hodnoty"; | |
| 59 | + | |
| 60 | +// date formats | |
| 61 | +Calendar._TT["DEF_DATE_FORMAT"] = "d.m.yy"; | |
| 62 | +Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e"; | |
| 63 | + | |
| 64 | +Calendar._TT["WK"] = "wk"; | |
| 65 | +Calendar._TT["TIME"] = "ฤas:"; | ... | ... |
thirdpartyjs/jscalendar-1.0/lang/calendar-cs-win.js
0 โ 100644
| 1 | +/* | |
| 2 | + calendar-cs-win.js | |
| 3 | + language: Czech | |
| 4 | + encoding: windows-1250 | |
| 5 | + author: Lubos Jerabek (xnet@seznam.cz) | |
| 6 | + Jan Uhlir (espinosa@centrum.cz) | |
| 7 | +*/ | |
| 8 | + | |
| 9 | +// ** I18N | |
| 10 | +Calendar._DN = new Array('Nedรฌle','Pondรฌlรญ','รterรฝ','Stรธeda','รtvrtek','Pรกtek','Sobota','Nedรฌle'); | |
| 11 | +Calendar._SDN = new Array('Ne','Po','รt','St','รt','Pรก','So','Ne'); | |
| 12 | +Calendar._MN = new Array('Leden','รnor','Bรธezen','Duben','Kvรฌten','รerven','รervenec','Srpen','Zรกรธรญ','รรญjen','Listopad','Prosinec'); | |
| 13 | +Calendar._SMN = new Array('Led','รno','Bรธe','Dub','Kvรฌ','รrv','รvc','Srp','Zรกรธ','รรญj','Lis','Pro'); | |
| 14 | + | |
| 15 | +// tooltips | |
| 16 | +Calendar._TT = {}; | |
| 17 | +Calendar._TT["INFO"] = "O komponentรฌ kalendรกรธ"; | |
| 18 | +Calendar._TT["TOGGLE"] = "Zmรฌna prvnรญho dne v tรฝdnu"; | |
| 19 | +Calendar._TT["PREV_YEAR"] = "Pรธedchozรญ rok (pรธidrลพ pro menu)"; | |
| 20 | +Calendar._TT["PREV_MONTH"] = "Pรธedchozรญ mรฌsรญc (pรธidrลพ pro menu)"; | |
| 21 | +Calendar._TT["GO_TODAY"] = "Dneลกnรญ datum"; | |
| 22 | +Calendar._TT["NEXT_MONTH"] = "Dalลกรญ mรฌsรญc (pรธidrลพ pro menu)"; | |
| 23 | +Calendar._TT["NEXT_YEAR"] = "Dalลกรญ rok (pรธidrลพ pro menu)"; | |
| 24 | +Calendar._TT["SEL_DATE"] = "Vyber datum"; | |
| 25 | +Calendar._TT["DRAG_TO_MOVE"] = "Chy a tรกhni, pro pรธesun"; | |
| 26 | +Calendar._TT["PART_TODAY"] = " (dnes)"; | |
| 27 | +Calendar._TT["MON_FIRST"] = "Ukaลพ jako prvnรญ Pondรฌlรญ"; | |
| 28 | +//Calendar._TT["SUN_FIRST"] = "Ukaลพ jako prvnรญ Nedรฌli"; | |
| 29 | + | |
| 30 | +Calendar._TT["ABOUT"] = | |
| 31 | +"DHTML Date/Time Selector\n" + | |
| 32 | +"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-) | |
| 33 | +"For latest version visit: http://www.dynarch.com/projects/calendar/\n" + | |
| 34 | +"Distributed under GNU LGPL. See http://gnu.org/licenses/lgpl.html for details." + | |
| 35 | +"\n\n" + | |
| 36 | +"Vรฝbรฌr datumu:\n" + | |
| 37 | +"- Use the \xab, \xbb buttons to select year\n" + | |
| 38 | +"- Pouลพijte tlaรจรญtka " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " k vรฝbรฌru mรฌsรญce\n" + | |
| 39 | +"- Podrลพte tlaรจรญtko myลกi na jakรฉmkoliv z tรฌch tlaรจรญtek pro rychlejลกรญ vรฝbรฌr."; | |
| 40 | + | |
| 41 | +Calendar._TT["ABOUT_TIME"] = "\n\n" + | |
| 42 | +"Vรฝbรฌr รจasu:\n" + | |
| 43 | +"- Kliknรฌte na jakoukoliv z รจรกstรญ vรฝbรฌru รจasu pro zvรฝลกenรญ.\n" + | |
| 44 | +"- nebo Shift-click pro snรญลพenรญ\n" + | |
| 45 | +"- nebo kliknรฌte a tรกhnรฌte pro rychlejลกรญ vรฝbรฌr."; | |
| 46 | + | |
| 47 | +// the following is to inform that "%s" is to be the first day of week | |
| 48 | +// %s will be replaced with the day name. | |
| 49 | +Calendar._TT["DAY_FIRST"] = "Zobraz %s prvnรญ"; | |
| 50 | + | |
| 51 | +// This may be locale-dependent. It specifies the week-end days, as an array | |
| 52 | +// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1 | |
| 53 | +// means Monday, etc. | |
| 54 | +Calendar._TT["WEEKEND"] = "0,6"; | |
| 55 | + | |
| 56 | +Calendar._TT["CLOSE"] = "Zavรธรญt"; | |
| 57 | +Calendar._TT["TODAY"] = "Dnes"; | |
| 58 | +Calendar._TT["TIME_PART"] = "(Shift-)Klikni nebo tรกhni pro zmรฌnu hodnoty"; | |
| 59 | + | |
| 60 | +// date formats | |
| 61 | +Calendar._TT["DEF_DATE_FORMAT"] = "d.m.yy"; | |
| 62 | +Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e"; | |
| 63 | + | |
| 64 | +Calendar._TT["WK"] = "wk"; | |
| 65 | +Calendar._TT["TIME"] = "รas:"; | ... | ... |
thirdpartyjs/jscalendar-1.0/lang/calendar-da.js
0 โ 100644
| 1 | +// ** I18N | |
| 2 | + | |
| 3 | +// Calendar DA language | |
| 4 | +// Author: Michael Thingmand Henriksen, <michael (a) thingmand dot dk> | |
| 5 | +// Encoding: any | |
| 6 | +// Distributed under the same terms as the calendar itself. | |
| 7 | + | |
| 8 | +// For translators: please use UTF-8 if possible. We strongly believe that | |
| 9 | +// Unicode is the answer to a real internationalized world. Also please | |
| 10 | +// include your contact information in the header, as can be seen above. | |
| 11 | + | |
| 12 | +// full day names | |
| 13 | +Calendar._DN = new Array | |
| 14 | +("Sรธndag", | |
| 15 | +"Mandag", | |
| 16 | +"Tirsdag", | |
| 17 | +"Onsdag", | |
| 18 | +"Torsdag", | |
| 19 | +"Fredag", | |
| 20 | +"Lรธrdag", | |
| 21 | +"Sรธndag"); | |
| 22 | + | |
| 23 | +// Please note that the following array of short day names (and the same goes | |
| 24 | +// for short month names, _SMN) isn't absolutely necessary. We give it here | |
| 25 | +// for exemplification on how one can customize the short day names, but if | |
| 26 | +// they are simply the first N letters of the full name you can simply say: | |
| 27 | +// | |
| 28 | +// Calendar._SDN_len = N; // short day name length | |
| 29 | +// Calendar._SMN_len = N; // short month name length | |
| 30 | +// | |
| 31 | +// If N = 3 then this is not needed either since we assume a value of 3 if not | |
| 32 | +// present, to be compatible with translation files that were written before | |
| 33 | +// this feature. | |
| 34 | + | |
| 35 | +// short day names | |
| 36 | +Calendar._SDN = new Array | |
| 37 | +("Sรธn", | |
| 38 | +"Man", | |
| 39 | +"Tir", | |
| 40 | +"Ons", | |
| 41 | +"Tor", | |
| 42 | +"Fre", | |
| 43 | +"Lรธr", | |
| 44 | +"Sรธn"); | |
| 45 | + | |
| 46 | +// full month names | |
| 47 | +Calendar._MN = new Array | |
| 48 | +("Januar", | |
| 49 | +"Februar", | |
| 50 | +"Marts", | |
| 51 | +"April", | |
| 52 | +"Maj", | |
| 53 | +"Juni", | |
| 54 | +"Juli", | |
| 55 | +"August", | |
| 56 | +"September", | |
| 57 | +"Oktober", | |
| 58 | +"November", | |
| 59 | +"December"); | |
| 60 | + | |
| 61 | +// short month names | |
| 62 | +Calendar._SMN = new Array | |
| 63 | +("Jan", | |
| 64 | +"Feb", | |
| 65 | +"Mar", | |
| 66 | +"Apr", | |
| 67 | +"Maj", | |
| 68 | +"Jun", | |
| 69 | +"Jul", | |
| 70 | +"Aug", | |
| 71 | +"Sep", | |
| 72 | +"Okt", | |
| 73 | +"Nov", | |
| 74 | +"Dec"); | |
| 75 | + | |
| 76 | +// tooltips | |
| 77 | +Calendar._TT = {}; | |
| 78 | +Calendar._TT["INFO"] = "Om Kalenderen"; | |
| 79 | + | |
| 80 | +Calendar._TT["ABOUT"] = | |
| 81 | +"DHTML Date/Time Selector\n" + | |
| 82 | +"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-) | |
| 83 | +"For den seneste version besรธg: http://www.dynarch.com/projects/calendar/\n"; + | |
| 84 | +"Distribueret under GNU LGPL. Se http://gnu.org/licenses/lgpl.html for detajler." + | |
| 85 | +"\n\n" + | |
| 86 | +"Valg af dato:\n" + | |
| 87 | +"- Brug \xab, \xbb knapperne for at vรฆlge รฅr\n" + | |
| 88 | +"- Brug " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " knapperne for at vรฆlge mรฅned\n" + | |
| 89 | +"- Hold knappen pรฅ musen nede pรฅ knapperne ovenfor for hurtigere valg."; | |
| 90 | +Calendar._TT["ABOUT_TIME"] = "\n\n" + | |
| 91 | +"Valg af tid:\n" + | |
| 92 | +"- Klik pรฅ en vilkรฅrlig del for stรธrre vรฆrdi\n" + | |
| 93 | +"- eller Shift-klik for for mindre vรฆrdi\n" + | |
| 94 | +"- eller klik og trรฆk for hurtigere valg."; | |
| 95 | + | |
| 96 | +Calendar._TT["PREV_YEAR"] = "รt รฅr tilbage (hold for menu)"; | |
| 97 | +Calendar._TT["PREV_MONTH"] = "รn mรฅned tilbage (hold for menu)"; | |
| 98 | +Calendar._TT["GO_TODAY"] = "Gรฅ til i dag"; | |
| 99 | +Calendar._TT["NEXT_MONTH"] = "รn mรฅned frem (hold for menu)"; | |
| 100 | +Calendar._TT["NEXT_YEAR"] = "รt รฅr frem (hold for menu)"; | |
| 101 | +Calendar._TT["SEL_DATE"] = "Vรฆlg dag"; | |
| 102 | +Calendar._TT["DRAG_TO_MOVE"] = "Trรฆk vinduet"; | |
| 103 | +Calendar._TT["PART_TODAY"] = " (i dag)"; | |
| 104 | + | |
| 105 | +// the following is to inform that "%s" is to be the first day of week | |
| 106 | +// %s will be replaced with the day name. | |
| 107 | +Calendar._TT["DAY_FIRST"] = "Vis %s fรธrst"; | |
| 108 | + | |
| 109 | +// This may be locale-dependent. It specifies the week-end days, as an array | |
| 110 | +// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1 | |
| 111 | +// means Monday, etc. | |
| 112 | +Calendar._TT["WEEKEND"] = "0,6"; | |
| 113 | + | |
| 114 | +Calendar._TT["CLOSE"] = "Luk"; | |
| 115 | +Calendar._TT["TODAY"] = "I dag"; | |
| 116 | +Calendar._TT["TIME_PART"] = "(Shift-)klik eller trรฆk for at รฆndre vรฆrdi"; | |
| 117 | + | |
| 118 | +// date formats | |
| 119 | +Calendar._TT["DEF_DATE_FORMAT"] = "%d-%m-%Y"; | |
| 120 | +Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e"; | |
| 121 | + | |
| 122 | +Calendar._TT["WK"] = "Uge"; | |
| 123 | +Calendar._TT["TIME"] = "Tid:"; | ... | ... |
thirdpartyjs/jscalendar-1.0/lang/calendar-de.js
0 โ 100644
| 1 | +// ** I18N | |
| 2 | + | |
| 3 | +// Calendar DE language | |
| 4 | +// Author: Jack (tR), <jack@jtr.de> | |
| 5 | +// Encoding: any | |
| 6 | +// Distributed under the same terms as the calendar itself. | |
| 7 | + | |
| 8 | +// For translators: please use UTF-8 if possible. We strongly believe that | |
| 9 | +// Unicode is the answer to a real internationalized world. Also please | |
| 10 | +// include your contact information in the header, as can be seen above. | |
| 11 | + | |
| 12 | +// full day names | |
| 13 | +Calendar._DN = new Array | |
| 14 | +("Sonntag", | |
| 15 | + "Montag", | |
| 16 | + "Dienstag", | |
| 17 | + "Mittwoch", | |
| 18 | + "Donnerstag", | |
| 19 | + "Freitag", | |
| 20 | + "Samstag", | |
| 21 | + "Sonntag"); | |
| 22 | + | |
| 23 | +// Please note that the following array of short day names (and the same goes | |
| 24 | +// for short month names, _SMN) isn't absolutely necessary. We give it here | |
| 25 | +// for exemplification on how one can customize the short day names, but if | |
| 26 | +// they are simply the first N letters of the full name you can simply say: | |
| 27 | +// | |
| 28 | +// Calendar._SDN_len = N; // short day name length | |
| 29 | +// Calendar._SMN_len = N; // short month name length | |
| 30 | +// | |
| 31 | +// If N = 3 then this is not needed either since we assume a value of 3 if not | |
| 32 | +// present, to be compatible with translation files that were written before | |
| 33 | +// this feature. | |
| 34 | + | |
| 35 | +// short day names | |
| 36 | +Calendar._SDN = new Array | |
| 37 | +("So", | |
| 38 | + "Mo", | |
| 39 | + "Di", | |
| 40 | + "Mi", | |
| 41 | + "Do", | |
| 42 | + "Fr", | |
| 43 | + "Sa", | |
| 44 | + "So"); | |
| 45 | + | |
| 46 | +// full month names | |
| 47 | +Calendar._MN = new Array | |
| 48 | +("Januar", | |
| 49 | + "Februar", | |
| 50 | + "M\u00e4rz", | |
| 51 | + "April", | |
| 52 | + "Mai", | |
| 53 | + "Juni", | |
| 54 | + "Juli", | |
| 55 | + "August", | |
| 56 | + "September", | |
| 57 | + "Oktober", | |
| 58 | + "November", | |
| 59 | + "Dezember"); | |
| 60 | + | |
| 61 | +// short month names | |
| 62 | +Calendar._SMN = new Array | |
| 63 | +("Jan", | |
| 64 | + "Feb", | |
| 65 | + "M\u00e4r", | |
| 66 | + "Apr", | |
| 67 | + "May", | |
| 68 | + "Jun", | |
| 69 | + "Jul", | |
| 70 | + "Aug", | |
| 71 | + "Sep", | |
| 72 | + "Okt", | |
| 73 | + "Nov", | |
| 74 | + "Dez"); | |
| 75 | + | |
| 76 | +// tooltips | |
| 77 | +Calendar._TT = {}; | |
| 78 | +Calendar._TT["INFO"] = "\u00DCber dieses Kalendarmodul"; | |
| 79 | + | |
| 80 | +Calendar._TT["ABOUT"] = | |
| 81 | +"DHTML Date/Time Selector\n" + | |
| 82 | +"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this ;-) | |
| 83 | +"For latest version visit: http://www.dynarch.com/projects/calendar/\n" + | |
| 84 | +"Distributed under GNU LGPL. See http://gnu.org/licenses/lgpl.html for details." + | |
| 85 | +"\n\n" + | |
| 86 | +"Datum ausw\u00e4hlen:\n" + | |
| 87 | +"- Benutzen Sie die \xab, \xbb Buttons um das Jahr zu w\u00e4hlen\n" + | |
| 88 | +"- Benutzen Sie die " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " Buttons um den Monat zu w\u00e4hlen\n" + | |
| 89 | +"- F\u00fcr eine Schnellauswahl halten Sie die Maustaste \u00fcber diesen Buttons fest."; | |
| 90 | +Calendar._TT["ABOUT_TIME"] = "\n\n" + | |
| 91 | +"Zeit ausw\u00e4hlen:\n" + | |
| 92 | +"- Klicken Sie auf die Teile der Uhrzeit, um diese zu erh\u00F6hen\n" + | |
| 93 | +"- oder klicken Sie mit festgehaltener Shift-Taste um diese zu verringern\n" + | |
| 94 | +"- oder klicken und festhalten f\u00fcr Schnellauswahl."; | |
| 95 | + | |
| 96 | +Calendar._TT["TOGGLE"] = "Ersten Tag der Woche w\u00e4hlen"; | |
| 97 | +Calendar._TT["PREV_YEAR"] = "Voriges Jahr (Festhalten f\u00fcr Schnellauswahl)"; | |
| 98 | +Calendar._TT["PREV_MONTH"] = "Voriger Monat (Festhalten f\u00fcr Schnellauswahl)"; | |
| 99 | +Calendar._TT["GO_TODAY"] = "Heute ausw\u00e4hlen"; | |
| 100 | +Calendar._TT["NEXT_MONTH"] = "N\u00e4chst. Monat (Festhalten f\u00fcr Schnellauswahl)"; | |
| 101 | +Calendar._TT["NEXT_YEAR"] = "N\u00e4chst. Jahr (Festhalten f\u00fcr Schnellauswahl)"; | |
| 102 | +Calendar._TT["SEL_DATE"] = "Datum ausw\u00e4hlen"; | |
| 103 | +Calendar._TT["DRAG_TO_MOVE"] = "Zum Bewegen festhalten"; | |
| 104 | +Calendar._TT["PART_TODAY"] = " (Heute)"; | |
| 105 | + | |
| 106 | +// the following is to inform that "%s" is to be the first day of week | |
| 107 | +// %s will be replaced with the day name. | |
| 108 | +Calendar._TT["DAY_FIRST"] = "Woche beginnt mit %s "; | |
| 109 | + | |
| 110 | +// This may be locale-dependent. It specifies the week-end days, as an array | |
| 111 | +// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1 | |
| 112 | +// means Monday, etc. | |
| 113 | +Calendar._TT["WEEKEND"] = "0,6"; | |
| 114 | + | |
| 115 | +Calendar._TT["CLOSE"] = "Schlie\u00dfen"; | |
| 116 | +Calendar._TT["TODAY"] = "Heute"; | |
| 117 | +Calendar._TT["TIME_PART"] = "(Shift-)Klick oder Festhalten und Ziehen um den Wert zu \u00e4ndern"; | |
| 118 | + | |
| 119 | +// date formats | |
| 120 | +Calendar._TT["DEF_DATE_FORMAT"] = "%d.%m.%Y"; | |
| 121 | +Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e"; | |
| 122 | + | |
| 123 | +Calendar._TT["WK"] = "wk"; | |
| 124 | +Calendar._TT["TIME"] = "Zeit:"; | ... | ... |
thirdpartyjs/jscalendar-1.0/lang/calendar-du.js
0 โ 100644
| 1 | +// ** I18N | |
| 2 | +Calendar._DN = new Array | |
| 3 | +("Zondag", | |
| 4 | + "Maandag", | |
| 5 | + "Dinsdag", | |
| 6 | + "Woensdag", | |
| 7 | + "Donderdag", | |
| 8 | + "Vrijdag", | |
| 9 | + "Zaterdag", | |
| 10 | + "Zondag"); | |
| 11 | +Calendar._MN = new Array | |
| 12 | +("Januari", | |
| 13 | + "Februari", | |
| 14 | + "Maart", | |
| 15 | + "April", | |
| 16 | + "Mei", | |
| 17 | + "Juni", | |
| 18 | + "Juli", | |
| 19 | + "Augustus", | |
| 20 | + "September", | |
| 21 | + "Oktober", | |
| 22 | + "November", | |
| 23 | + "December"); | |
| 24 | + | |
| 25 | +// tooltips | |
| 26 | +Calendar._TT = {}; | |
| 27 | +Calendar._TT["TOGGLE"] = "Toggle startdag van de week"; | |
| 28 | +Calendar._TT["PREV_YEAR"] = "Vorig jaar (indrukken voor menu)"; | |
| 29 | +Calendar._TT["PREV_MONTH"] = "Vorige month (indrukken voor menu)"; | |
| 30 | +Calendar._TT["GO_TODAY"] = "Naar Vandaag"; | |
| 31 | +Calendar._TT["NEXT_MONTH"] = "Volgende Maand (indrukken voor menu)"; | |
| 32 | +Calendar._TT["NEXT_YEAR"] = "Volgend jaar (indrukken voor menu)"; | |
| 33 | +Calendar._TT["SEL_DATE"] = "Selecteer datum"; | |
| 34 | +Calendar._TT["DRAG_TO_MOVE"] = "Sleep om te verplaatsen"; | |
| 35 | +Calendar._TT["PART_TODAY"] = " (vandaag)"; | |
| 36 | +Calendar._TT["MON_FIRST"] = "Toon Maandag eerst"; | |
| 37 | +Calendar._TT["SUN_FIRST"] = "Toon Zondag eerst"; | |
| 38 | +Calendar._TT["CLOSE"] = "Sluiten"; | |
| 39 | +Calendar._TT["TODAY"] = "Vandaag"; | |
| 40 | + | |
| 41 | +// date formats | |
| 42 | +Calendar._TT["DEF_DATE_FORMAT"] = "y-mm-dd"; | |
| 43 | +Calendar._TT["TT_DATE_FORMAT"] = "D, M d"; | |
| 44 | + | |
| 45 | +Calendar._TT["WK"] = "wk"; | ... | ... |
thirdpartyjs/jscalendar-1.0/lang/calendar-el.js
0 โ 100644
| 1 | +๏ปฟ// ** I18N | |
| 2 | +Calendar._DN = new Array | |
| 3 | +("ฮฯ ฯฮนฮฑฮบฮฎ", | |
| 4 | + "ฮฮตฯ ฯฮญฯฮฑ", | |
| 5 | + "ฮคฯฮฏฯฮท", | |
| 6 | + "ฮคฮตฯฮฌฯฯฮท", | |
| 7 | + "ฮ ฮญฮผฯฯฮท", | |
| 8 | + "ฮ ฮฑฯฮฑฯฮบฮตฯ ฮฎ", | |
| 9 | + "ฮฃฮฌฮฒฮฒฮฑฯฮฟ", | |
| 10 | + "ฮฯ ฯฮนฮฑฮบฮฎ"); | |
| 11 | + | |
| 12 | +Calendar._SDN = new Array | |
| 13 | +("ฮฯ ", | |
| 14 | + "ฮฮต", | |
| 15 | + "Tฯ", | |
| 16 | + "ฮคฮต", | |
| 17 | + "ฮ ฮต", | |
| 18 | + "ฮ ฮฑ", | |
| 19 | + "ฮฃฮฑ", | |
| 20 | + "ฮฯ "); | |
| 21 | + | |
| 22 | +Calendar._MN = new Array | |
| 23 | +("ฮฮฑฮฝฮฟฯ ฮฌฯฮนฮฟฯ", | |
| 24 | + "ฮฆฮตฮฒฯฮฟฯ ฮฌฯฮนฮฟฯ", | |
| 25 | + "ฮฮฌฯฯฮนฮฟฯ", | |
| 26 | + "ฮฯฯฮฏฮปฮนฮฟฯ", | |
| 27 | + "ฮฮฌฯฮฟฯ", | |
| 28 | + "ฮฮฟฯฮฝฮนฮฟฯ", | |
| 29 | + "ฮฮฟฯฮปฮนฮฟฯ", | |
| 30 | + "ฮฯฮณฮฟฯ ฯฯฮฟฯ", | |
| 31 | + "ฮฃฮตฯฯฮญฮผฮฒฯฮนฮฟฯ", | |
| 32 | + "ฮฮบฯฯฮฒฯฮนฮฟฯ", | |
| 33 | + "ฮฮฟฮญฮผฮฒฯฮนฮฟฯ", | |
| 34 | + "ฮฮตฮบฮญฮผฮฒฯฮนฮฟฯ"); | |
| 35 | + | |
| 36 | +Calendar._SMN = new Array | |
| 37 | +("ฮฮฑฮฝ", | |
| 38 | + "ฮฆฮตฮฒ", | |
| 39 | + "ฮฮฑฯ", | |
| 40 | + "ฮฯฯ", | |
| 41 | + "ฮฮฑฮน", | |
| 42 | + "ฮฮฟฯ ฮฝ", | |
| 43 | + "ฮฮฟฯ ฮป", | |
| 44 | + "ฮฯ ฮณ", | |
| 45 | + "ฮฃฮตฯ", | |
| 46 | + "ฮฮบฯ", | |
| 47 | + "ฮฮฟฮต", | |
| 48 | + "ฮฮตฮบ"); | |
| 49 | + | |
| 50 | +// tooltips | |
| 51 | +Calendar._TT = {}; | |
| 52 | +Calendar._TT["INFO"] = "ฮฮนฮฑ ฯฮฟ ฮทฮผฮตฯฮฟฮปฯฮณฮนฮฟ"; | |
| 53 | + | |
| 54 | +Calendar._TT["ABOUT"] = | |
| 55 | +"ฮฯฮนฮปฮฟฮณฮญฮฑฯ ฮทฮผฮตฯฮฟฮผฮทฮฝฮฏฮฑฯ/ฯฯฮฑฯ ฯฮต DHTML\n" + | |
| 56 | +"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-) | |
| 57 | +"ฮฮนฮฑ ฯฮตฮปฮตฯ ฯฮฑฮฏฮฑ ฮญฮบฮดฮฟฯฮท: http://www.dynarch.com/projects/calendar/\n" + | |
| 58 | +"Distributed under GNU LGPL. See http://gnu.org/licenses/lgpl.html for details." + | |
| 59 | +"\n\n" + | |
| 60 | +"ฮฯฮนฮปฮฟฮณฮฎ ฮทฮผฮตฯฮฟฮผฮทฮฝฮฏฮฑฯ:\n" + | |
| 61 | +"- ฮงฯฮทฯฮนฮผฮฟฯฮฟฮนฮตฮฏฯฯฮต ฯฮฑ ฮบฮฟฯ ฮผฯฮนฮฌ \xab, \xbb ฮณฮนฮฑ ฮตฯฮนฮปฮฟฮณฮฎ ฮญฯฮฟฯ ฯ\n" + | |
| 62 | +"- ฮงฯฮทฯฮนฮผฮฟฯฮฟฮนฮตฮฏฯฯฮต ฯฮฑ ฮบฮฟฯ ฮผฯฮนฮฌ " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " ฮณฮนฮฑ ฮตฯฮนฮปฮฟฮณฮฎ ฮผฮฎฮฝฮฑ\n" + | |
| 63 | +"- ฮฯฮฑฯฮฎฯฯฮต ฮบฮฟฯ ฮผฯฮฏ ฯฮฟฮฝฯฮนฮบฮฟฯ ฯฮฑฯฮทฮผฮญฮฝฮฟ ฯฯฮฑ ฯฮฑฯฮฑฯฮฌฮฝฯ ฮบฮฟฯ ฮผฯฮนฮฌ ฮณฮนฮฑ ฯฮนฮฟ ฮณฯฮฎฮณฮฟฯฮท ฮตฯฮนฮปฮฟฮณฮฎ."; | |
| 64 | +Calendar._TT["ABOUT_TIME"] = "\n\n" + | |
| 65 | +"ฮฯฮนฮปฮฟฮณฮฎ ฯฯฮฑฯ:\n" + | |
| 66 | +"- ฮฮฌฮฝฯฮต ฮบฮปฮนฮบ ฯฮต ฮญฮฝฮฑ ฮฑฯฯ ฯฮฑ ฮผฮญฯฮท ฯฮทฯ ฯฯฮฑฯ ฮณฮนฮฑ ฮฑฯฮพฮทฯฮท\n" + | |
| 67 | +"- ฮฎ Shift-ฮบฮปฮนฮบ ฮณฮนฮฑ ฮผฮตฮฏฯฯฮท\n" + | |
| 68 | +"- ฮฎ ฮบฮปฮนฮบ ฮบฮฑฮน ฮผฮตฯฮฑฮบฮฏฮฝฮทฯฮท ฮณฮนฮฑ ฯฮนฮฟ ฮณฯฮฎฮณฮฟฯฮท ฮตฯฮนฮปฮฟฮณฮฎ."; | |
| 69 | +Calendar._TT["TOGGLE"] = "ฮฯฮฌฯฮฑ ฯฯฯฯฮทฯ ฮทฮผฮญฯฮฑฯ ฯฮทฯ ฮตฮฒฮดฮฟฮผฮฌฮดฮฑฯ"; | |
| 70 | +Calendar._TT["PREV_YEAR"] = "ฮ ฯฮฟฮทฮณ. ฮญฯฮฟฯ (ฮบฯฮฑฯฮฎฯฯฮต ฮณฮนฮฑ ฯฮฟ ฮผฮตฮฝฮฟฯ)"; | |
| 71 | +Calendar._TT["PREV_MONTH"] = "ฮ ฯฮฟฮทฮณ. ฮผฮฎฮฝฮฑฯ (ฮบฯฮฑฯฮฎฯฯฮต ฮณฮนฮฑ ฯฮฟ ฮผฮตฮฝฮฟฯ)"; | |
| 72 | +Calendar._TT["GO_TODAY"] = "ฮฃฮฎฮผฮตฯฮฑ"; | |
| 73 | +Calendar._TT["NEXT_MONTH"] = "ฮฯฯฮผฮตฮฝฮฟฯ ฮผฮฎฮฝฮฑฯ (ฮบฯฮฑฯฮฎฯฯฮต ฮณฮนฮฑ ฯฮฟ ฮผฮตฮฝฮฟฯ)"; | |
| 74 | +Calendar._TT["NEXT_YEAR"] = "ฮฯฯฮผฮตฮฝฮฟ ฮญฯฮฟฯ (ฮบฯฮฑฯฮฎฯฯฮต ฮณฮนฮฑ ฯฮฟ ฮผฮตฮฝฮฟฯ)"; | |
| 75 | +Calendar._TT["SEL_DATE"] = "ฮฯฮนฮปฮญฮพฯฮต ฮทฮผฮตฯฮฟฮผฮทฮฝฮฏฮฑ"; | |
| 76 | +Calendar._TT["DRAG_TO_MOVE"] = "ฮฃฯฯฯฮต ฮณฮนฮฑ ฮฝฮฑ ฮผฮตฯฮฑฮบฮนฮฝฮฎฯฮตฯฮต"; | |
| 77 | +Calendar._TT["PART_TODAY"] = " (ฯฮฎฮผฮตฯฮฑ)"; | |
| 78 | +Calendar._TT["MON_FIRST"] = "ฮฮผฯฮฌฮฝฮนฯฮท ฮฮตฯ ฯฮญฯฮฑฯ ฯฯฯฯฮฑ"; | |
| 79 | +Calendar._TT["SUN_FIRST"] = "ฮฮผฯฮฌฮฝฮนฯฮท ฮฯ ฯฮนฮฑฮบฮฎฯ ฯฯฯฯฮฑ"; | |
| 80 | +Calendar._TT["CLOSE"] = "ฮฮปฮตฮฏฯฮนฮผฮฟ"; | |
| 81 | +Calendar._TT["TODAY"] = "ฮฃฮฎฮผฮตฯฮฑ"; | |
| 82 | +Calendar._TT["TIME_PART"] = "(Shift-)ฮบฮปฮนฮบ ฮฎ ฮผฮตฯฮฑฮบฮฏฮฝฮทฯฮท ฮณฮนฮฑ ฮฑฮปฮปฮฑฮณฮฎ"; | |
| 83 | + | |
| 84 | +// date formats | |
| 85 | +Calendar._TT["DEF_DATE_FORMAT"] = "dd-mm-y"; | |
| 86 | +Calendar._TT["TT_DATE_FORMAT"] = "D, d M"; | |
| 87 | + | |
| 88 | +Calendar._TT["WK"] = "ฮตฮฒฮด"; | |
| 89 | + | ... | ... |
thirdpartyjs/jscalendar-1.0/lang/calendar-en.js
0 โ 100644
| 1 | +// ** I18N | |
| 2 | + | |
| 3 | +// Calendar EN language | |
| 4 | +// Author: Mihai Bazon, <mihai_bazon@yahoo.com> | |
| 5 | +// Encoding: any | |
| 6 | +// Distributed under the same terms as the calendar itself. | |
| 7 | + | |
| 8 | +// For translators: please use UTF-8 if possible. We strongly believe that | |
| 9 | +// Unicode is the answer to a real internationalized world. Also please | |
| 10 | +// include your contact information in the header, as can be seen above. | |
| 11 | + | |
| 12 | +// full day names | |
| 13 | +Calendar._DN = new Array | |
| 14 | +("Sunday", | |
| 15 | + "Monday", | |
| 16 | + "Tuesday", | |
| 17 | + "Wednesday", | |
| 18 | + "Thursday", | |
| 19 | + "Friday", | |
| 20 | + "Saturday", | |
| 21 | + "Sunday"); | |
| 22 | + | |
| 23 | +// Please note that the following array of short day names (and the same goes | |
| 24 | +// for short month names, _SMN) isn't absolutely necessary. We give it here | |
| 25 | +// for exemplification on how one can customize the short day names, but if | |
| 26 | +// they are simply the first N letters of the full name you can simply say: | |
| 27 | +// | |
| 28 | +// Calendar._SDN_len = N; // short day name length | |
| 29 | +// Calendar._SMN_len = N; // short month name length | |
| 30 | +// | |
| 31 | +// If N = 3 then this is not needed either since we assume a value of 3 if not | |
| 32 | +// present, to be compatible with translation files that were written before | |
| 33 | +// this feature. | |
| 34 | + | |
| 35 | +// short day names | |
| 36 | +Calendar._SDN = new Array | |
| 37 | +("Sun", | |
| 38 | + "Mon", | |
| 39 | + "Tue", | |
| 40 | + "Wed", | |
| 41 | + "Thu", | |
| 42 | + "Fri", | |
| 43 | + "Sat", | |
| 44 | + "Sun"); | |
| 45 | + | |
| 46 | +// First day of the week. "0" means display Sunday first, "1" means display | |
| 47 | +// Monday first, etc. | |
| 48 | +Calendar._FD = 0; | |
| 49 | + | |
| 50 | +// full month names | |
| 51 | +Calendar._MN = new Array | |
| 52 | +("January", | |
| 53 | + "February", | |
| 54 | + "March", | |
| 55 | + "April", | |
| 56 | + "May", | |
| 57 | + "June", | |
| 58 | + "July", | |
| 59 | + "August", | |
| 60 | + "September", | |
| 61 | + "October", | |
| 62 | + "November", | |
| 63 | + "December"); | |
| 64 | + | |
| 65 | +// short month names | |
| 66 | +Calendar._SMN = new Array | |
| 67 | +("Jan", | |
| 68 | + "Feb", | |
| 69 | + "Mar", | |
| 70 | + "Apr", | |
| 71 | + "May", | |
| 72 | + "Jun", | |
| 73 | + "Jul", | |
| 74 | + "Aug", | |
| 75 | + "Sep", | |
| 76 | + "Oct", | |
| 77 | + "Nov", | |
| 78 | + "Dec"); | |
| 79 | + | |
| 80 | +// tooltips | |
| 81 | +Calendar._TT = {}; | |
| 82 | +Calendar._TT["INFO"] = "About the calendar"; | |
| 83 | + | |
| 84 | +Calendar._TT["ABOUT"] = | |
| 85 | +"DHTML Date/Time Selector\n" + | |
| 86 | +"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-) | |
| 87 | +"For latest version visit: http://www.dynarch.com/projects/calendar/\n" + | |
| 88 | +"Distributed under GNU LGPL. See http://gnu.org/licenses/lgpl.html for details." + | |
| 89 | +"\n\n" + | |
| 90 | +"Date selection:\n" + | |
| 91 | +"- Use the \xab, \xbb buttons to select year\n" + | |
| 92 | +"- Use the " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " buttons to select month\n" + | |
| 93 | +"- Hold mouse button on any of the above buttons for faster selection."; | |
| 94 | +Calendar._TT["ABOUT_TIME"] = "\n\n" + | |
| 95 | +"Time selection:\n" + | |
| 96 | +"- Click on any of the time parts to increase it\n" + | |
| 97 | +"- or Shift-click to decrease it\n" + | |
| 98 | +"- or click and drag for faster selection."; | |
| 99 | + | |
| 100 | +Calendar._TT["PREV_YEAR"] = "Prev. year (hold for menu)"; | |
| 101 | +Calendar._TT["PREV_MONTH"] = "Prev. month (hold for menu)"; | |
| 102 | +Calendar._TT["GO_TODAY"] = "Go Today"; | |
| 103 | +Calendar._TT["NEXT_MONTH"] = "Next month (hold for menu)"; | |
| 104 | +Calendar._TT["NEXT_YEAR"] = "Next year (hold for menu)"; | |
| 105 | +Calendar._TT["SEL_DATE"] = "Select date"; | |
| 106 | +Calendar._TT["DRAG_TO_MOVE"] = "Drag to move"; | |
| 107 | +Calendar._TT["PART_TODAY"] = " (today)"; | |
| 108 | + | |
| 109 | +// the following is to inform that "%s" is to be the first day of week | |
| 110 | +// %s will be replaced with the day name. | |
| 111 | +Calendar._TT["DAY_FIRST"] = "Display %s first"; | |
| 112 | + | |
| 113 | +// This may be locale-dependent. It specifies the week-end days, as an array | |
| 114 | +// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1 | |
| 115 | +// means Monday, etc. | |
| 116 | +Calendar._TT["WEEKEND"] = "0,6"; | |
| 117 | + | |
| 118 | +Calendar._TT["CLOSE"] = "Close"; | |
| 119 | +Calendar._TT["TODAY"] = "Today"; | |
| 120 | +Calendar._TT["TIME_PART"] = "(Shift-)Click or drag to change value"; | |
| 121 | + | |
| 122 | +// date formats | |
| 123 | +Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d"; | |
| 124 | +Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e"; | |
| 125 | + | |
| 126 | +Calendar._TT["WK"] = "wk"; | |
| 127 | +Calendar._TT["TIME"] = "Time:"; | ... | ... |
thirdpartyjs/jscalendar-1.0/lang/calendar-es.js
0 โ 100644
| 1 | +// ** I18N | |
| 2 | + | |
| 3 | +// Calendar ES (spanish) language | |
| 4 | +// Author: Mihai Bazon, <mihai_bazon@yahoo.com> | |
| 5 | +// Updater: Servilio Afre Puentes <servilios@yahoo.com> | |
| 6 | +// Updated: 2004-06-03 | |
| 7 | +// Encoding: utf-8 | |
| 8 | +// Distributed under the same terms as the calendar itself. | |
| 9 | + | |
| 10 | +// For translators: please use UTF-8 if possible. We strongly believe that | |
| 11 | +// Unicode is the answer to a real internationalized world. Also please | |
| 12 | +// include your contact information in the header, as can be seen above. | |
| 13 | + | |
| 14 | +// full day names | |
| 15 | +Calendar._DN = new Array | |
| 16 | +("Domingo", | |
| 17 | + "Lunes", | |
| 18 | + "Martes", | |
| 19 | + "Miรฉrcoles", | |
| 20 | + "Jueves", | |
| 21 | + "Viernes", | |
| 22 | + "Sรกbado", | |
| 23 | + "Domingo"); | |
| 24 | + | |
| 25 | +// Please note that the following array of short day names (and the same goes | |
| 26 | +// for short month names, _SMN) isn't absolutely necessary. We give it here | |
| 27 | +// for exemplification on how one can customize the short day names, but if | |
| 28 | +// they are simply the first N letters of the full name you can simply say: | |
| 29 | +// | |
| 30 | +// Calendar._SDN_len = N; // short day name length | |
| 31 | +// Calendar._SMN_len = N; // short month name length | |
| 32 | +// | |
| 33 | +// If N = 3 then this is not needed either since we assume a value of 3 if not | |
| 34 | +// present, to be compatible with translation files that were written before | |
| 35 | +// this feature. | |
| 36 | + | |
| 37 | +// short day names | |
| 38 | +Calendar._SDN = new Array | |
| 39 | +("Dom", | |
| 40 | + "Lun", | |
| 41 | + "Mar", | |
| 42 | + "Miรฉ", | |
| 43 | + "Jue", | |
| 44 | + "Vie", | |
| 45 | + "Sรกb", | |
| 46 | + "Dom"); | |
| 47 | + | |
| 48 | +// First day of the week. "0" means display Sunday first, "1" means display | |
| 49 | +// Monday first, etc. | |
| 50 | +Calendar._FD = 1; | |
| 51 | + | |
| 52 | +// full month names | |
| 53 | +Calendar._MN = new Array | |
| 54 | +("Enero", | |
| 55 | + "Febrero", | |
| 56 | + "Marzo", | |
| 57 | + "Abril", | |
| 58 | + "Mayo", | |
| 59 | + "Junio", | |
| 60 | + "Julio", | |
| 61 | + "Agosto", | |
| 62 | + "Septiembre", | |
| 63 | + "Octubre", | |
| 64 | + "Noviembre", | |
| 65 | + "Diciembre"); | |
| 66 | + | |
| 67 | +// short month names | |
| 68 | +Calendar._SMN = new Array | |
| 69 | +("Ene", | |
| 70 | + "Feb", | |
| 71 | + "Mar", | |
| 72 | + "Abr", | |
| 73 | + "May", | |
| 74 | + "Jun", | |
| 75 | + "Jul", | |
| 76 | + "Ago", | |
| 77 | + "Sep", | |
| 78 | + "Oct", | |
| 79 | + "Nov", | |
| 80 | + "Dic"); | |
| 81 | + | |
| 82 | +// tooltips | |
| 83 | +Calendar._TT = {}; | |
| 84 | +Calendar._TT["INFO"] = "Acerca del calendario"; | |
| 85 | + | |
| 86 | +Calendar._TT["ABOUT"] = | |
| 87 | +"Selector DHTML de Fecha/Hora\n" + | |
| 88 | +"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-) | |
| 89 | +"Para conseguir la รบltima versiรณn visite: http://www.dynarch.com/projects/calendar/\n" + | |
| 90 | +"Distribuido bajo licencia GNU LGPL. Visite http://gnu.org/licenses/lgpl.html para mรกs detalles." + | |
| 91 | +"\n\n" + | |
| 92 | +"Selecciรณn de fecha:\n" + | |
| 93 | +"- Use los botones \xab, \xbb para seleccionar el aรฑo\n" + | |
| 94 | +"- Use los botones " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " para seleccionar el mes\n" + | |
| 95 | +"- Mantenga pulsado el ratรณn en cualquiera de estos botones para una selecciรณn rรกpida."; | |
| 96 | +Calendar._TT["ABOUT_TIME"] = "\n\n" + | |
| 97 | +"Selecciรณn de hora:\n" + | |
| 98 | +"- Pulse en cualquiera de las partes de la hora para incrementarla\n" + | |
| 99 | +"- o pulse las mayรบsculas mientras hace clic para decrementarla\n" + | |
| 100 | +"- o haga clic y arrastre el ratรณn para una selecciรณn mรกs rรกpida."; | |
| 101 | + | |
| 102 | +Calendar._TT["PREV_YEAR"] = "Aรฑo anterior (mantener para menรบ)"; | |
| 103 | +Calendar._TT["PREV_MONTH"] = "Mes anterior (mantener para menรบ)"; | |
| 104 | +Calendar._TT["GO_TODAY"] = "Ir a hoy"; | |
| 105 | +Calendar._TT["NEXT_MONTH"] = "Mes siguiente (mantener para menรบ)"; | |
| 106 | +Calendar._TT["NEXT_YEAR"] = "Aรฑo siguiente (mantener para menรบ)"; | |
| 107 | +Calendar._TT["SEL_DATE"] = "Seleccionar fecha"; | |
| 108 | +Calendar._TT["DRAG_TO_MOVE"] = "Arrastrar para mover"; | |
| 109 | +Calendar._TT["PART_TODAY"] = " (hoy)"; | |
| 110 | + | |
| 111 | +// the following is to inform that "%s" is to be the first day of week | |
| 112 | +// %s will be replaced with the day name. | |
| 113 | +Calendar._TT["DAY_FIRST"] = "Hacer %s primer dรญa de la semana"; | |
| 114 | + | |
| 115 | +// This may be locale-dependent. It specifies the week-end days, as an array | |
| 116 | +// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1 | |
| 117 | +// means Monday, etc. | |
| 118 | +Calendar._TT["WEEKEND"] = "0,6"; | |
| 119 | + | |
| 120 | +Calendar._TT["CLOSE"] = "Cerrar"; | |
| 121 | +Calendar._TT["TODAY"] = "Hoy"; | |
| 122 | +Calendar._TT["TIME_PART"] = "(Mayรบscula-)Clic o arrastre para cambiar valor"; | |
| 123 | + | |
| 124 | +// date formats | |
| 125 | +Calendar._TT["DEF_DATE_FORMAT"] = "%d/%m/%Y"; | |
| 126 | +Calendar._TT["TT_DATE_FORMAT"] = "%A, %e de %B de %Y"; | |
| 127 | + | |
| 128 | +Calendar._TT["WK"] = "sem"; | |
| 129 | +Calendar._TT["TIME"] = "Hora:"; | ... | ... |
thirdpartyjs/jscalendar-1.0/lang/calendar-fi.js
0 โ 100644
| 1 | +๏ปฟ// ** I18N | |
| 2 | + | |
| 3 | +// Calendar FI language (Finnish, Suomi) | |
| 4 | +// Author: Jarno Kรคyhkรถ, <gambler@phnet.fi> | |
| 5 | +// Encoding: UTF-8 | |
| 6 | +// Distributed under the same terms as the calendar itself. | |
| 7 | + | |
| 8 | +// full day names | |
| 9 | +Calendar._DN = new Array | |
| 10 | +("Sunnuntai", | |
| 11 | + "Maanantai", | |
| 12 | + "Tiistai", | |
| 13 | + "Keskiviikko", | |
| 14 | + "Torstai", | |
| 15 | + "Perjantai", | |
| 16 | + "Lauantai", | |
| 17 | + "Sunnuntai"); | |
| 18 | + | |
| 19 | +// short day names | |
| 20 | +Calendar._SDN = new Array | |
| 21 | +("Su", | |
| 22 | + "Ma", | |
| 23 | + "Ti", | |
| 24 | + "Ke", | |
| 25 | + "To", | |
| 26 | + "Pe", | |
| 27 | + "La", | |
| 28 | + "Su"); | |
| 29 | + | |
| 30 | +// full month names | |
| 31 | +Calendar._MN = new Array | |
| 32 | +("Tammikuu", | |
| 33 | + "Helmikuu", | |
| 34 | + "Maaliskuu", | |
| 35 | + "Huhtikuu", | |
| 36 | + "Toukokuu", | |
| 37 | + "Kesรคkuu", | |
| 38 | + "Heinรคkuu", | |
| 39 | + "Elokuu", | |
| 40 | + "Syyskuu", | |
| 41 | + "Lokakuu", | |
| 42 | + "Marraskuu", | |
| 43 | + "Joulukuu"); | |
| 44 | + | |
| 45 | +// short month names | |
| 46 | +Calendar._SMN = new Array | |
| 47 | +("Tam", | |
| 48 | + "Hel", | |
| 49 | + "Maa", | |
| 50 | + "Huh", | |
| 51 | + "Tou", | |
| 52 | + "Kes", | |
| 53 | + "Hei", | |
| 54 | + "Elo", | |
| 55 | + "Syy", | |
| 56 | + "Lok", | |
| 57 | + "Mar", | |
| 58 | + "Jou"); | |
| 59 | + | |
| 60 | +// tooltips | |
| 61 | +Calendar._TT = {}; | |
| 62 | +Calendar._TT["INFO"] = "Tietoja kalenterista"; | |
| 63 | + | |
| 64 | +Calendar._TT["ABOUT"] = | |
| 65 | +"DHTML Date/Time Selector\n" + | |
| 66 | +"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-) | |
| 67 | +"Uusin versio osoitteessa: http://www.dynarch.com/projects/calendar/\n" + | |
| 68 | +"Julkaistu GNU LGPL lisenssin alaisuudessa. Lisรคtietoja osoitteessa http://gnu.org/licenses/lgpl.html" + | |
| 69 | +"\n\n" + | |
| 70 | +"Pรคivรคmรครคrรค valinta:\n" + | |
| 71 | +"- Kรคytรค \xab, \xbb painikkeita valitaksesi vuosi\n" + | |
| 72 | +"- Kรคytรค " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " painikkeita valitaksesi kuukausi\n" + | |
| 73 | +"- Pitรคmรคllรค hiiren painiketta minkรค tahansa yllรค olevan painikkeen kohdalla, saat nรคkyviin valikon nopeampaan siirtymiseen."; | |
| 74 | +Calendar._TT["ABOUT_TIME"] = "\n\n" + | |
| 75 | +"Ajan valinta:\n" + | |
| 76 | +"- Klikkaa kellonajan numeroita lisรคtรคksesi aikaa\n" + | |
| 77 | +"- tai pitรคmรคllรค Shift-nรคppรคintรค pohjassa saat aikaa taaksepรคin\n" + | |
| 78 | +"- tai klikkaa ja pidรค hiiren painike pohjassa sekรค liikuta hiirtรค muuttaaksesi aikaa nopeasti eteen- ja taaksepรคin."; | |
| 79 | + | |
| 80 | +Calendar._TT["PREV_YEAR"] = "Edell. vuosi (paina hetki, nรคet valikon)"; | |
| 81 | +Calendar._TT["PREV_MONTH"] = "Edell. kuukausi (paina hetki, nรคet valikon)"; | |
| 82 | +Calendar._TT["GO_TODAY"] = "Siirry tรคhรคn pรคivรครคn"; | |
| 83 | +Calendar._TT["NEXT_MONTH"] = "Seur. kuukausi (paina hetki, nรคet valikon)"; | |
| 84 | +Calendar._TT["NEXT_YEAR"] = "Seur. vuosi (paina hetki, nรคet valikon)"; | |
| 85 | +Calendar._TT["SEL_DATE"] = "Valitse pรคivรคmรครคrรค"; | |
| 86 | +Calendar._TT["DRAG_TO_MOVE"] = "Siirrรค kalenterin paikkaa"; | |
| 87 | +Calendar._TT["PART_TODAY"] = " (tรคnรครคn)"; | |
| 88 | +Calendar._TT["MON_FIRST"] = "Nรคytรค maanantai ensimmรคisenรค"; | |
| 89 | +Calendar._TT["SUN_FIRST"] = "Nรคytรค sunnuntai ensimmรคisenรค"; | |
| 90 | +Calendar._TT["CLOSE"] = "Sulje"; | |
| 91 | +Calendar._TT["TODAY"] = "Tรคnรครคn"; | |
| 92 | +Calendar._TT["TIME_PART"] = "(Shift-) Klikkaa tai liikuta muuttaaksesi aikaa"; | |
| 93 | + | |
| 94 | +// date formats | |
| 95 | +Calendar._TT["DEF_DATE_FORMAT"] = "%d.%m.%Y"; | |
| 96 | +Calendar._TT["TT_DATE_FORMAT"] = "%d.%m.%Y"; | |
| 97 | + | |
| 98 | +Calendar._TT["WK"] = "Vko"; | ... | ... |
thirdpartyjs/jscalendar-1.0/lang/calendar-fr.js
0 โ 100644
| 1 | +// ** I18N | |
| 2 | + | |
| 3 | +// Calendar EN language | |
| 4 | +// Author: Mihai Bazon, <mihai_bazon@yahoo.com> | |
| 5 | +// Encoding: any | |
| 6 | +// Distributed under the same terms as the calendar itself. | |
| 7 | + | |
| 8 | +// For translators: please use UTF-8 if possible. We strongly believe that | |
| 9 | +// Unicode is the answer to a real internationalized world. Also please | |
| 10 | +// include your contact information in the header, as can be seen above. | |
| 11 | + | |
| 12 | +// Translator: David Duret, <pilgrim@mala-template.net> from previous french version | |
| 13 | + | |
| 14 | +// full day names | |
| 15 | +Calendar._DN = new Array | |
| 16 | +("Dimanche", | |
| 17 | + "Lundi", | |
| 18 | + "Mardi", | |
| 19 | + "Mercredi", | |
| 20 | + "Jeudi", | |
| 21 | + "Vendredi", | |
| 22 | + "Samedi", | |
| 23 | + "Dimanche"); | |
| 24 | + | |
| 25 | +// Please note that the following array of short day names (and the same goes | |
| 26 | +// for short month names, _SMN) isn't absolutely necessary. We give it here | |
| 27 | +// for exemplification on how one can customize the short day names, but if | |
| 28 | +// they are simply the first N letters of the full name you can simply say: | |
| 29 | +// | |
| 30 | +// Calendar._SDN_len = N; // short day name length | |
| 31 | +// Calendar._SMN_len = N; // short month name length | |
| 32 | +// | |
| 33 | +// If N = 3 then this is not needed either since we assume a value of 3 if not | |
| 34 | +// present, to be compatible with translation files that were written before | |
| 35 | +// this feature. | |
| 36 | + | |
| 37 | +// short day names | |
| 38 | +Calendar._SDN = new Array | |
| 39 | +("Dim", | |
| 40 | + "Lun", | |
| 41 | + "Mar", | |
| 42 | + "Mar", | |
| 43 | + "Jeu", | |
| 44 | + "Ven", | |
| 45 | + "Sam", | |
| 46 | + "Dim"); | |
| 47 | + | |
| 48 | +// full month names | |
| 49 | +Calendar._MN = new Array | |
| 50 | +("Janvier", | |
| 51 | + "Fรฉvrier", | |
| 52 | + "Mars", | |
| 53 | + "Avril", | |
| 54 | + "Mai", | |
| 55 | + "Juin", | |
| 56 | + "Juillet", | |
| 57 | + "Aoรปt", | |
| 58 | + "Septembre", | |
| 59 | + "Octobre", | |
| 60 | + "Novembre", | |
| 61 | + "Dรฉcembre"); | |
| 62 | + | |
| 63 | +// short month names | |
| 64 | +Calendar._SMN = new Array | |
| 65 | +("Jan", | |
| 66 | + "Fev", | |
| 67 | + "Mar", | |
| 68 | + "Avr", | |
| 69 | + "Mai", | |
| 70 | + "Juin", | |
| 71 | + "Juil", | |
| 72 | + "Aout", | |
| 73 | + "Sep", | |
| 74 | + "Oct", | |
| 75 | + "Nov", | |
| 76 | + "Dec"); | |
| 77 | + | |
| 78 | +// tooltips | |
| 79 | +Calendar._TT = {}; | |
| 80 | +Calendar._TT["INFO"] = "A propos du calendrier"; | |
| 81 | + | |
| 82 | +Calendar._TT["ABOUT"] = | |
| 83 | +"DHTML Date/Heure Selecteur\n" + | |
| 84 | +"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-) | |
| 85 | +"Pour la derniere version visitez : http://www.dynarch.com/projects/calendar/\n" + | |
| 86 | +"Distribuรฉ par GNU LGPL. Voir http://gnu.org/licenses/lgpl.html pour les details." + | |
| 87 | +"\n\n" + | |
| 88 | +"Selection de la date :\n" + | |
| 89 | +"- Utiliser les bouttons \xab, \xbb pour selectionner l\'annee\n" + | |
| 90 | +"- Utiliser les bouttons " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " pour selectionner les mois\n" + | |
| 91 | +"- Garder la souris sur n'importe quels boutons pour une selection plus rapide"; | |
| 92 | +Calendar._TT["ABOUT_TIME"] = "\n\n" + | |
| 93 | +"Selection de l\'heure :\n" + | |
| 94 | +"- Cliquer sur heures ou minutes pour incrementer\n" + | |
| 95 | +"- ou Maj-clic pour decrementer\n" + | |
| 96 | +"- ou clic et glisser-deplacer pour une selection plus rapide"; | |
| 97 | + | |
| 98 | +Calendar._TT["PREV_YEAR"] = "Annรฉe prรฉc. (maintenir pour menu)"; | |
| 99 | +Calendar._TT["PREV_MONTH"] = "Mois prรฉc. (maintenir pour menu)"; | |
| 100 | +Calendar._TT["GO_TODAY"] = "Atteindre la date du jour"; | |
| 101 | +Calendar._TT["NEXT_MONTH"] = "Mois suiv. (maintenir pour menu)"; | |
| 102 | +Calendar._TT["NEXT_YEAR"] = "Annรฉe suiv. (maintenir pour menu)"; | |
| 103 | +Calendar._TT["SEL_DATE"] = "Sรฉlectionner une date"; | |
| 104 | +Calendar._TT["DRAG_TO_MOVE"] = "Dรฉplacer"; | |
| 105 | +Calendar._TT["PART_TODAY"] = " (Aujourd'hui)"; | |
| 106 | + | |
| 107 | +// the following is to inform that "%s" is to be the first day of week | |
| 108 | +// %s will be replaced with the day name. | |
| 109 | +Calendar._TT["DAY_FIRST"] = "Afficher %s en premier"; | |
| 110 | + | |
| 111 | +// This may be locale-dependent. It specifies the week-end days, as an array | |
| 112 | +// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1 | |
| 113 | +// means Monday, etc. | |
| 114 | +Calendar._TT["WEEKEND"] = "0,6"; | |
| 115 | + | |
| 116 | +Calendar._TT["CLOSE"] = "Fermer"; | |
| 117 | +Calendar._TT["TODAY"] = "Aujourd'hui"; | |
| 118 | +Calendar._TT["TIME_PART"] = "(Maj-)Clic ou glisser pour modifier la valeur"; | |
| 119 | + | |
| 120 | +// date formats | |
| 121 | +Calendar._TT["DEF_DATE_FORMAT"] = "%d/%m/%Y"; | |
| 122 | +Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e"; | |
| 123 | + | |
| 124 | +Calendar._TT["WK"] = "Sem."; | |
| 125 | +Calendar._TT["TIME"] = "Heure :"; | ... | ... |
thirdpartyjs/jscalendar-1.0/lang/calendar-he-utf8.js
0 โ 100644
| 1 | +// ** I18N | |
| 2 | + | |
| 3 | +// Calendar EN language | |
| 4 | +// Author: Idan Sofer, <idan@idanso.dyndns.org> | |
| 5 | +// Encoding: UTF-8 | |
| 6 | +// Distributed under the same terms as the calendar itself. | |
| 7 | + | |
| 8 | +// For translators: please use UTF-8 if possible. We strongly believe that | |
| 9 | +// Unicode is the answer to a real internationalized world. Also please | |
| 10 | +// include your contact information in the header, as can be seen above. | |
| 11 | + | |
| 12 | +// full day names | |
| 13 | +Calendar._DN = new Array | |
| 14 | +("ืจืืฉืื", | |
| 15 | + "ืฉื ื", | |
| 16 | + "ืฉืืืฉื", | |
| 17 | + "ืจืืืขื", | |
| 18 | + "ืืืืฉื", | |
| 19 | + "ืฉืืฉื", | |
| 20 | + "ืฉืืช", | |
| 21 | + "ืจืืฉืื"); | |
| 22 | + | |
| 23 | +// Please note that the following array of short day names (and the same goes | |
| 24 | +// for short month names, _SMN) isn't absolutely necessary. We give it here | |
| 25 | +// for exemplification on how one can customize the short day names, but if | |
| 26 | +// they are simply the first N letters of the full name you can simply say: | |
| 27 | +// | |
| 28 | +// Calendar._SDN_len = N; // short day name length | |
| 29 | +// Calendar._SMN_len = N; // short month name length | |
| 30 | +// | |
| 31 | +// If N = 3 then this is not needed either since we assume a value of 3 if not | |
| 32 | +// present, to be compatible with translation files that were written before | |
| 33 | +// this feature. | |
| 34 | + | |
| 35 | +// short day names | |
| 36 | +Calendar._SDN = new Array | |
| 37 | +("ื", | |
| 38 | + "ื", | |
| 39 | + "ื", | |
| 40 | + "ื", | |
| 41 | + "ื", | |
| 42 | + "ื", | |
| 43 | + "ืฉ", | |
| 44 | + "ื"); | |
| 45 | + | |
| 46 | +// full month names | |
| 47 | +Calendar._MN = new Array | |
| 48 | +("ืื ืืืจ", | |
| 49 | + "ืคืืจืืืจ", | |
| 50 | + "ืืจืฅ", | |
| 51 | + "ืืคืจืื", | |
| 52 | + "ืืื", | |
| 53 | + "ืืื ื", | |
| 54 | + "ืืืื", | |
| 55 | + "ืืืืืกื", | |
| 56 | + "ืกืคืืืืจ", | |
| 57 | + "ืืืงืืืืจ", | |
| 58 | + "ื ืืืืืจ", | |
| 59 | + "ืืฆืืืจ"); | |
| 60 | + | |
| 61 | +// short month names | |
| 62 | +Calendar._SMN = new Array | |
| 63 | +("ืื ื", | |
| 64 | + "ืคืืจ", | |
| 65 | + "ืืจืฅ", | |
| 66 | + "ืืคืจ", | |
| 67 | + "ืืื", | |
| 68 | + "ืืื ", | |
| 69 | + "ืืื", | |
| 70 | + "ืืื", | |
| 71 | + "ืกืคื", | |
| 72 | + "ืืืง", | |
| 73 | + "ื ืื", | |
| 74 | + "ืืฆื"); | |
| 75 | + | |
| 76 | +// tooltips | |
| 77 | +Calendar._TT = {}; | |
| 78 | +Calendar._TT["INFO"] = "ืืืืืช ืืฉื ืชืื"; | |
| 79 | + | |
| 80 | +Calendar._TT["ABOUT"] = | |
| 81 | +"ืืืจื ืชืืจืื/ืฉืขื DHTML\n" + | |
| 82 | +"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-) | |
| 83 | +"ืืืืจืกื ืืืืจืื ื ืืืื ื ื: http://www.dynarch.com/projects/calendar/\n" + | |
| 84 | +"ืืืคืฅ ืชืืช ืืืืืื ื GNU LGPL. ืขืืื ื http://gnu.org/licenses/lgpl.html ืืคืจืืื ื ืืกืคืื." + | |
| 85 | +"\n\n" + | |
| 86 | +ืืืืจืช ืชืืจืื:\n" + | |
| 87 | +"- ืืฉืชืืฉ ืืืคืชืืจืื \xab, \xbb ืืืืืจืช ืฉื ื\n" + | |
| 88 | +"- ืืฉืชืืฉ ืืืคืชืืจืื " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " ืืืืืจืช ืืืืฉ\n" + | |
| 89 | +"- ืืืืง ืืขืืืจ ืืืืฅ ืืขื ืืืคืชืืจืื ืืืืืืจืื ืืขืื ืืืืืจื ืืืืจื ืืืชืจ."; | |
| 90 | +Calendar._TT["ABOUT_TIME"] = "\n\n" + | |
| 91 | +"ืืืืจืช ืืื:\n" + | |
| 92 | +"- ืืืฅ ืขื ืื ืืื ืืืืงื ืืืื ืืื ืืืืกืืฃ\n" + | |
| 93 | +"- ืื shift ืืฉืืืื ืขื ืืืืฆื ืืื ืืืืกืืจ\n" + | |
| 94 | +"- ืื ืืืฅ ืืืจืืจ ืืคืขืืื ืืืืจื ืืืชืจ."; | |
| 95 | + | |
| 96 | +Calendar._TT["PREV_YEAR"] = "ืฉื ื ืงืืืืช - ืืืืง ืืงืืืช ืชืคืจืื"; | |
| 97 | +Calendar._TT["PREV_MONTH"] = "ืืืืฉ ืงืืื - ืืืืง ืืงืืืช ืชืคืจืื"; | |
| 98 | +Calendar._TT["GO_TODAY"] = "ืขืืืจ ืืืืื"; | |
| 99 | +Calendar._TT["NEXT_MONTH"] = "ืืืืฉ ืืื - ืืืืง ืืชืคืจืื"; | |
| 100 | +Calendar._TT["NEXT_YEAR"] = "ืฉื ื ืืืื - ืืืืง ืืชืคืจืื"; | |
| 101 | +Calendar._TT["SEL_DATE"] = "ืืืจ ืชืืจืื"; | |
| 102 | +Calendar._TT["DRAG_TO_MOVE"] = "ืืจืืจ ืืืืื"; | |
| 103 | +Calendar._TT["PART_TODAY"] = " )ืืืื("; | |
| 104 | + | |
| 105 | +// the following is to inform that "%s" is to be the first day of week | |
| 106 | +// %s will be replaced with the day name. | |
| 107 | +Calendar._TT["DAY_FIRST"] = "ืืฆื %s ืงืืื"; | |
| 108 | + | |
| 109 | +// This may be locale-dependent. It specifies the week-end days, as an array | |
| 110 | +// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1 | |
| 111 | +// means Monday, etc. | |
| 112 | +Calendar._TT["WEEKEND"] = "6"; | |
| 113 | + | |
| 114 | +Calendar._TT["CLOSE"] = "ืกืืืจ"; | |
| 115 | +Calendar._TT["TODAY"] = "ืืืื"; | |
| 116 | +Calendar._TT["TIME_PART"] = "(ืฉืืคื-)ืืืฅ ืืืจืืจ ืืื ืืฉื ืืช ืขืจื"; | |
| 117 | + | |
| 118 | +// date formats | |
| 119 | +Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d"; | |
| 120 | +Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e"; | |
| 121 | + | |
| 122 | +Calendar._TT["WK"] = "wk"; | |
| 123 | +Calendar._TT["TIME"] = "ืฉืขื::"; | ... | ... |
thirdpartyjs/jscalendar-1.0/lang/calendar-hr-utf8.js
0 โ 100644
| 1 | +/* Croatian language file for the DHTML Calendar version 0.9.2 | |
| 2 | +* Author Krunoslav Zubrinic <krunoslav.zubrinic@vip.hr>, June 2003. | |
| 3 | +* Feel free to use this script under the terms of the GNU Lesser General | |
| 4 | +* Public License, as long as you do not remove or alter this notice. | |
| 5 | +*/ | |
| 6 | +Calendar._DN = new Array | |
| 7 | +("Nedjelja", | |
| 8 | + "Ponedjeljak", | |
| 9 | + "Utorak", | |
| 10 | + "Srijeda", | |
| 11 | + "ฤetvrtak", | |
| 12 | + "Petak", | |
| 13 | + "Subota", | |
| 14 | + "Nedjelja"); | |
| 15 | +Calendar._MN = new Array | |
| 16 | +("Sijeฤanj", | |
| 17 | + "Veljaฤa", | |
| 18 | + "Oลพujak", | |
| 19 | + "Travanj", | |
| 20 | + "Svibanj", | |
| 21 | + "Lipanj", | |
| 22 | + "Srpanj", | |
| 23 | + "Kolovoz", | |
| 24 | + "Rujan", | |
| 25 | + "Listopad", | |
| 26 | + "Studeni", | |
| 27 | + "Prosinac"); | |
| 28 | + | |
| 29 | +// tooltips | |
| 30 | +Calendar._TT = {}; | |
| 31 | +Calendar._TT["TOGGLE"] = "Promjeni dan s kojim poฤinje tjedan"; | |
| 32 | +Calendar._TT["PREV_YEAR"] = "Prethodna godina (dugi pritisak za meni)"; | |
| 33 | +Calendar._TT["PREV_MONTH"] = "Prethodni mjesec (dugi pritisak za meni)"; | |
| 34 | +Calendar._TT["GO_TODAY"] = "Idi na tekuฤi dan"; | |
| 35 | +Calendar._TT["NEXT_MONTH"] = "Slijedeฤi mjesec (dugi pritisak za meni)"; | |
| 36 | +Calendar._TT["NEXT_YEAR"] = "Slijedeฤa godina (dugi pritisak za meni)"; | |
| 37 | +Calendar._TT["SEL_DATE"] = "Izaberite datum"; | |
| 38 | +Calendar._TT["DRAG_TO_MOVE"] = "Pritisni i povuci za promjenu pozicije"; | |
| 39 | +Calendar._TT["PART_TODAY"] = " (today)"; | |
| 40 | +Calendar._TT["MON_FIRST"] = "Prikaลพi ponedjeljak kao prvi dan"; | |
| 41 | +Calendar._TT["SUN_FIRST"] = "Prikaลพi nedjelju kao prvi dan"; | |
| 42 | +Calendar._TT["CLOSE"] = "Zatvori"; | |
| 43 | +Calendar._TT["TODAY"] = "Danas"; | |
| 44 | + | |
| 45 | +// date formats | |
| 46 | +Calendar._TT["DEF_DATE_FORMAT"] = "dd-mm-y"; | |
| 47 | +Calendar._TT["TT_DATE_FORMAT"] = "DD, dd.mm.y"; | |
| 48 | + | |
| 49 | +Calendar._TT["WK"] = "Tje"; | |
| 0 | 50 | \ No newline at end of file | ... | ... |
thirdpartyjs/jscalendar-1.0/lang/calendar-hr.js
0 โ 100644
thirdpartyjs/jscalendar-1.0/lang/calendar-hu.js
0 โ 100644
| 1 | +// ** I18N | |
| 2 | + | |
| 3 | +// Calendar HU language | |
| 4 | +// Author: ??? | |
| 5 | +// Modifier: KARASZI Istvan, <jscalendar@spam.raszi.hu> | |
| 6 | +// Encoding: any | |
| 7 | +// Distributed under the same terms as the calendar itself. | |
| 8 | + | |
| 9 | +// For translators: please use UTF-8 if possible. We strongly believe that | |
| 10 | +// Unicode is the answer to a real internationalized world. Also please | |
| 11 | +// include your contact information in the header, as can be seen above. | |
| 12 | + | |
| 13 | +// full day names | |
| 14 | +Calendar._DN = new Array | |
| 15 | +("Vasรกrnap", | |
| 16 | + "Hรฉtfรต", | |
| 17 | + "Kedd", | |
| 18 | + "Szerda", | |
| 19 | + "Csรผtรถrtรถk", | |
| 20 | + "Pรฉntek", | |
| 21 | + "Szombat", | |
| 22 | + "Vasรกrnap"); | |
| 23 | + | |
| 24 | +// Please note that the following array of short day names (and the same goes | |
| 25 | +// for short month names, _SMN) isn't absolutely necessary. We give it here | |
| 26 | +// for exemplification on how one can customize the short day names, but if | |
| 27 | +// they are simply the first N letters of the full name you can simply say: | |
| 28 | +// | |
| 29 | +// Calendar._SDN_len = N; // short day name length | |
| 30 | +// Calendar._SMN_len = N; // short month name length | |
| 31 | +// | |
| 32 | +// If N = 3 then this is not needed either since we assume a value of 3 if not | |
| 33 | +// present, to be compatible with translation files that were written before | |
| 34 | +// this feature. | |
| 35 | + | |
| 36 | +// short day names | |
| 37 | +Calendar._SDN = new Array | |
| 38 | +("v", | |
| 39 | + "h", | |
| 40 | + "k", | |
| 41 | + "sze", | |
| 42 | + "cs", | |
| 43 | + "p", | |
| 44 | + "szo", | |
| 45 | + "v"); | |
| 46 | + | |
| 47 | +// full month names | |
| 48 | +Calendar._MN = new Array | |
| 49 | +("januรกr", | |
| 50 | + "februรกr", | |
| 51 | + "mรกrcius", | |
| 52 | + "รกprilis", | |
| 53 | + "mรกjus", | |
| 54 | + "jรบnius", | |
| 55 | + "jรบlius", | |
| 56 | + "augusztus", | |
| 57 | + "szeptember", | |
| 58 | + "oktรณber", | |
| 59 | + "november", | |
| 60 | + "december"); | |
| 61 | + | |
| 62 | +// short month names | |
| 63 | +Calendar._SMN = new Array | |
| 64 | +("jan", | |
| 65 | + "feb", | |
| 66 | + "mรกr", | |
| 67 | + "รกpr", | |
| 68 | + "mรกj", | |
| 69 | + "jรบn", | |
| 70 | + "jรบl", | |
| 71 | + "aug", | |
| 72 | + "sze", | |
| 73 | + "okt", | |
| 74 | + "nov", | |
| 75 | + "dec"); | |
| 76 | + | |
| 77 | +// tooltips | |
| 78 | +Calendar._TT = {}; | |
| 79 | +Calendar._TT["INFO"] = "A kalendรกriumrรณl"; | |
| 80 | + | |
| 81 | +Calendar._TT["ABOUT"] = | |
| 82 | +"DHTML dรกtum/idรต kivรกlasztรณ\n" + | |
| 83 | +"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-) | |
| 84 | +"a legfrissebb verziรณ megtalรกlhatรณ: http://www.dynarch.com/projects/calendar/\n" + | |
| 85 | +"GNU LGPL alatt terjesztve. Lรกsd a http://gnu.org/licenses/lgpl.html oldalt a rรฉszletekhez." + | |
| 86 | +"\n\n" + | |
| 87 | +"Dรกtum vรกlasztรกs:\n" + | |
| 88 | +"- hasznรกlja a \xab, \xbb gombokat az รฉv kivรกlasztรกsรกhoz\n" + | |
| 89 | +"- hasznรกlja a " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " gombokat a hรณnap kivรกlasztรกsรกhoz\n" + | |
| 90 | +"- tartsa lenyomva az egรฉrgombot a gyors vรกlasztรกshoz."; | |
| 91 | +Calendar._TT["ABOUT_TIME"] = "\n\n" + | |
| 92 | +"Idรต vรกlasztรกs:\n" + | |
| 93 | +"- kattintva nรถvelheti az idรตt\n" + | |
| 94 | +"- shift-tel kattintva csรถkkentheti\n" + | |
| 95 | +"- lenyomva tartva รฉs hรบzva gyorsabban kivรกlaszthatja."; | |
| 96 | + | |
| 97 | +Calendar._TT["PREV_YEAR"] = "Elรตzรต รฉv (tartsa nyomva a menรผhรถz)"; | |
| 98 | +Calendar._TT["PREV_MONTH"] = "Elรตzรต hรณnap (tartsa nyomva a menรผhรถz)"; | |
| 99 | +Calendar._TT["GO_TODAY"] = "Mai napra ugrรกs"; | |
| 100 | +Calendar._TT["NEXT_MONTH"] = "Kรถv. hรณnap (tartsa nyomva a menรผhรถz)"; | |
| 101 | +Calendar._TT["NEXT_YEAR"] = "Kรถv. รฉv (tartsa nyomva a menรผhรถz)"; | |
| 102 | +Calendar._TT["SEL_DATE"] = "Vรกlasszon dรกtumot"; | |
| 103 | +Calendar._TT["DRAG_TO_MOVE"] = "Hรบzza a mozgatรกshoz"; | |
| 104 | +Calendar._TT["PART_TODAY"] = " (ma)"; | |
| 105 | + | |
| 106 | +// the following is to inform that "%s" is to be the first day of week | |
| 107 | +// %s will be replaced with the day name. | |
| 108 | +Calendar._TT["DAY_FIRST"] = "%s legyen a hรฉt elsรต napja"; | |
| 109 | + | |
| 110 | +// This may be locale-dependent. It specifies the week-end days, as an array | |
| 111 | +// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1 | |
| 112 | +// means Monday, etc. | |
| 113 | +Calendar._TT["WEEKEND"] = "0,6"; | |
| 114 | + | |
| 115 | +Calendar._TT["CLOSE"] = "Bezรกr"; | |
| 116 | +Calendar._TT["TODAY"] = "Ma"; | |
| 117 | +Calendar._TT["TIME_PART"] = "(Shift-)Klikk vagy hรบzรกs az รฉrtรฉk vรกltoztatรกsรกhoz"; | |
| 118 | + | |
| 119 | +// date formats | |
| 120 | +Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d"; | |
| 121 | +Calendar._TT["TT_DATE_FORMAT"] = "%b %e, %a"; | |
| 122 | + | |
| 123 | +Calendar._TT["WK"] = "hรฉt"; | |
| 124 | +Calendar._TT["TIME"] = "idรต:"; | ... | ... |
thirdpartyjs/jscalendar-1.0/lang/calendar-it.js
0 โ 100644
| 1 | +// ** I18N | |
| 2 | + | |
| 3 | +// Calendar EN language | |
| 4 | +// Author: Mihai Bazon, <mihai_bazon@yahoo.com> | |
| 5 | +// Translator: Fabio Di Bernardini, <altraqua@email.it> | |
| 6 | +// Encoding: any | |
| 7 | +// Distributed under the same terms as the calendar itself. | |
| 8 | + | |
| 9 | +// For translators: please use UTF-8 if possible. We strongly believe that | |
| 10 | +// Unicode is the answer to a real internationalized world. Also please | |
| 11 | +// include your contact information in the header, as can be seen above. | |
| 12 | + | |
| 13 | +// full day names | |
| 14 | +Calendar._DN = new Array | |
| 15 | +("Domenica", | |
| 16 | + "Lunedรฌ", | |
| 17 | + "Martedรฌ", | |
| 18 | + "Mercoledรฌ", | |
| 19 | + "Giovedรฌ", | |
| 20 | + "Venerdรฌ", | |
| 21 | + "Sabato", | |
| 22 | + "Domenica"); | |
| 23 | + | |
| 24 | +// Please note that the following array of short day names (and the same goes | |
| 25 | +// for short month names, _SMN) isn't absolutely necessary. We give it here | |
| 26 | +// for exemplification on how one can customize the short day names, but if | |
| 27 | +// they are simply the first N letters of the full name you can simply say: | |
| 28 | +// | |
| 29 | +// Calendar._SDN_len = N; // short day name length | |
| 30 | +// Calendar._SMN_len = N; // short month name length | |
| 31 | +// | |
| 32 | +// If N = 3 then this is not needed either since we assume a value of 3 if not | |
| 33 | +// present, to be compatible with translation files that were written before | |
| 34 | +// this feature. | |
| 35 | + | |
| 36 | +// short day names | |
| 37 | +Calendar._SDN = new Array | |
| 38 | +("Dom", | |
| 39 | + "Lun", | |
| 40 | + "Mar", | |
| 41 | + "Mer", | |
| 42 | + "Gio", | |
| 43 | + "Ven", | |
| 44 | + "Sab", | |
| 45 | + "Dom"); | |
| 46 | + | |
| 47 | +// full month names | |
| 48 | +Calendar._MN = new Array | |
| 49 | +("Gennaio", | |
| 50 | + "Febbraio", | |
| 51 | + "Marzo", | |
| 52 | + "Aprile", | |
| 53 | + "Maggio", | |
| 54 | + "Giugno", | |
| 55 | + "Luglio", | |
| 56 | + "Augosto", | |
| 57 | + "Settembre", | |
| 58 | + "Ottobre", | |
| 59 | + "Novembre", | |
| 60 | + "Dicembre"); | |
| 61 | + | |
| 62 | +// short month names | |
| 63 | +Calendar._SMN = new Array | |
| 64 | +("Gen", | |
| 65 | + "Feb", | |
| 66 | + "Mar", | |
| 67 | + "Apr", | |
| 68 | + "Mag", | |
| 69 | + "Giu", | |
| 70 | + "Lug", | |
| 71 | + "Ago", | |
| 72 | + "Set", | |
| 73 | + "Ott", | |
| 74 | + "Nov", | |
| 75 | + "Dic"); | |
| 76 | + | |
| 77 | +// tooltips | |
| 78 | +Calendar._TT = {}; | |
| 79 | +Calendar._TT["INFO"] = "Informazioni sul calendario"; | |
| 80 | + | |
| 81 | +Calendar._TT["ABOUT"] = | |
| 82 | +"DHTML Date/Time Selector\n" + | |
| 83 | +"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-) | |
| 84 | +"Per gli aggiornamenti: http://www.dynarch.com/projects/calendar/\n" + | |
| 85 | +"Distribuito sotto licenza GNU LGPL. Vedi http://gnu.org/licenses/lgpl.html per i dettagli." + | |
| 86 | +"\n\n" + | |
| 87 | +"Selezione data:\n" + | |
| 88 | +"- Usa \xab, \xbb per selezionare l'anno\n" + | |
| 89 | +"- Usa " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " per i mesi\n" + | |
| 90 | +"- Tieni premuto a lungo il mouse per accedere alle funzioni di selezione veloce."; | |
| 91 | +Calendar._TT["ABOUT_TIME"] = "\n\n" + | |
| 92 | +"Selezione orario:\n" + | |
| 93 | +"- Clicca sul numero per incrementarlo\n" + | |
| 94 | +"- o Shift+click per decrementarlo\n" + | |
| 95 | +"- o click e sinistra o destra per variarlo."; | |
| 96 | + | |
| 97 | +Calendar._TT["PREV_YEAR"] = "Anno prec.(clicca a lungo per il menรน)"; | |
| 98 | +Calendar._TT["PREV_MONTH"] = "Mese prec. (clicca a lungo per il menรน)"; | |
| 99 | +Calendar._TT["GO_TODAY"] = "Oggi"; | |
| 100 | +Calendar._TT["NEXT_MONTH"] = "Pross. mese (clicca a lungo per il menรน)"; | |
| 101 | +Calendar._TT["NEXT_YEAR"] = "Pross. anno (clicca a lungo per il menรน)"; | |
| 102 | +Calendar._TT["SEL_DATE"] = "Seleziona data"; | |
| 103 | +Calendar._TT["DRAG_TO_MOVE"] = "Trascina per spostarlo"; | |
| 104 | +Calendar._TT["PART_TODAY"] = " (oggi)"; | |
| 105 | + | |
| 106 | +// the following is to inform that "%s" is to be the first day of week | |
| 107 | +// %s will be replaced with the day name. | |
| 108 | +Calendar._TT["DAY_FIRST"] = "Mostra prima %s"; | |
| 109 | + | |
| 110 | +// This may be locale-dependent. It specifies the week-end days, as an array | |
| 111 | +// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1 | |
| 112 | +// means Monday, etc. | |
| 113 | +Calendar._TT["WEEKEND"] = "0,6"; | |
| 114 | + | |
| 115 | +Calendar._TT["CLOSE"] = "Chiudi"; | |
| 116 | +Calendar._TT["TODAY"] = "Oggi"; | |
| 117 | +Calendar._TT["TIME_PART"] = "(Shift-)Click o trascina per cambiare il valore"; | |
| 118 | + | |
| 119 | +// date formats | |
| 120 | +Calendar._TT["DEF_DATE_FORMAT"] = "%d-%m-%Y"; | |
| 121 | +Calendar._TT["TT_DATE_FORMAT"] = "%a:%b:%e"; | |
| 122 | + | |
| 123 | +Calendar._TT["WK"] = "set"; | |
| 124 | +Calendar._TT["TIME"] = "Ora:"; | ... | ... |
thirdpartyjs/jscalendar-1.0/lang/calendar-jp.js
0 โ 100644
| 1 | +// ** I18N | |
| 2 | +Calendar._DN = new Array | |
| 3 | +("ๆฅ", | |
| 4 | + "ๆ", | |
| 5 | + "็ซ", | |
| 6 | + "ๆฐด", | |
| 7 | + "ๆจ", | |
| 8 | + "้", | |
| 9 | + "ๅ", | |
| 10 | + "ๆฅ"); | |
| 11 | +Calendar._MN = new Array | |
| 12 | +("1ๆ", | |
| 13 | + "2ๆ", | |
| 14 | + "3ๆ", | |
| 15 | + "4ๆ", | |
| 16 | + "5ๆ", | |
| 17 | + "6ๆ", | |
| 18 | + "7ๆ", | |
| 19 | + "8ๆ", | |
| 20 | + "9ๆ", | |
| 21 | + "10ๆ", | |
| 22 | + "11ๆ", | |
| 23 | + "12ๆ"); | |
| 24 | + | |
| 25 | +// tooltips | |
| 26 | +Calendar._TT = {}; | |
| 27 | +Calendar._TT["TOGGLE"] = "้ฑใฎๆๅใฎๆๆฅใๅใๆฟใ"; | |
| 28 | +Calendar._TT["PREV_YEAR"] = "ๅๅนด"; | |
| 29 | +Calendar._TT["PREV_MONTH"] = "ๅๆ"; | |
| 30 | +Calendar._TT["GO_TODAY"] = "ไปๆฅ"; | |
| 31 | +Calendar._TT["NEXT_MONTH"] = "็ฟๆ"; | |
| 32 | +Calendar._TT["NEXT_YEAR"] = "็ฟๅนด"; | |
| 33 | +Calendar._TT["SEL_DATE"] = "ๆฅไป้ธๆ"; | |
| 34 | +Calendar._TT["DRAG_TO_MOVE"] = "ใฆใฃใณใใฆใฎ็งปๅ"; | |
| 35 | +Calendar._TT["PART_TODAY"] = " (ไปๆฅ)"; | |
| 36 | +Calendar._TT["MON_FIRST"] = "ๆๆๆฅใๅ ้ ญใซ"; | |
| 37 | +Calendar._TT["SUN_FIRST"] = "ๆฅๆๆฅใๅ ้ ญใซ"; | |
| 38 | +Calendar._TT["CLOSE"] = "้ใใ"; | |
| 39 | +Calendar._TT["TODAY"] = "ไปๆฅ"; | |
| 40 | + | |
| 41 | +// date formats | |
| 42 | +Calendar._TT["DEF_DATE_FORMAT"] = "y-mm-dd"; | |
| 43 | +Calendar._TT["TT_DATE_FORMAT"] = "%mๆ %dๆฅ (%a)"; | |
| 44 | + | |
| 45 | +Calendar._TT["WK"] = "้ฑ"; | ... | ... |
thirdpartyjs/jscalendar-1.0/lang/calendar-ko-utf8.js
0 โ 100644
| 1 | +// ** I18N | |
| 2 | + | |
| 3 | +// Calendar EN language | |
| 4 | +// Author: Mihai Bazon, <mihai_bazon@yahoo.com> | |
| 5 | +// Translation: Yourim Yi <yyi@yourim.net> | |
| 6 | +// Encoding: EUC-KR | |
| 7 | +// lang : ko | |
| 8 | +// Distributed under the same terms as the calendar itself. | |
| 9 | + | |
| 10 | +// For translators: please use UTF-8 if possible. We strongly believe that | |
| 11 | +// Unicode is the answer to a real internationalized world. Also please | |
| 12 | +// include your contact information in the header, as can be seen above. | |
| 13 | + | |
| 14 | +// full day names | |
| 15 | + | |
| 16 | +Calendar._DN = new Array | |
| 17 | +("์ผ์์ผ", | |
| 18 | + "์์์ผ", | |
| 19 | + "ํ์์ผ", | |
| 20 | + "์์์ผ", | |
| 21 | + "๋ชฉ์์ผ", | |
| 22 | + "๊ธ์์ผ", | |
| 23 | + "ํ ์์ผ", | |
| 24 | + "์ผ์์ผ"); | |
| 25 | + | |
| 26 | +// Please note that the following array of short day names (and the same goes | |
| 27 | +// for short month names, _SMN) isn't absolutely necessary. We give it here | |
| 28 | +// for exemplification on how one can customize the short day names, but if | |
| 29 | +// they are simply the first N letters of the full name you can simply say: | |
| 30 | +// | |
| 31 | +// Calendar._SDN_len = N; // short day name length | |
| 32 | +// Calendar._SMN_len = N; // short month name length | |
| 33 | +// | |
| 34 | +// If N = 3 then this is not needed either since we assume a value of 3 if not | |
| 35 | +// present, to be compatible with translation files that were written before | |
| 36 | +// this feature. | |
| 37 | + | |
| 38 | +// short day names | |
| 39 | +Calendar._SDN = new Array | |
| 40 | +("์ผ", | |
| 41 | + "์", | |
| 42 | + "ํ", | |
| 43 | + "์", | |
| 44 | + "๋ชฉ", | |
| 45 | + "๊ธ", | |
| 46 | + "ํ ", | |
| 47 | + "์ผ"); | |
| 48 | + | |
| 49 | +// full month names | |
| 50 | +Calendar._MN = new Array | |
| 51 | +("1์", | |
| 52 | + "2์", | |
| 53 | + "3์", | |
| 54 | + "4์", | |
| 55 | + "5์", | |
| 56 | + "6์", | |
| 57 | + "7์", | |
| 58 | + "8์", | |
| 59 | + "9์", | |
| 60 | + "10์", | |
| 61 | + "11์", | |
| 62 | + "12์"); | |
| 63 | + | |
| 64 | +// short month names | |
| 65 | +Calendar._SMN = new Array | |
| 66 | +("1", | |
| 67 | + "2", | |
| 68 | + "3", | |
| 69 | + "4", | |
| 70 | + "5", | |
| 71 | + "6", | |
| 72 | + "7", | |
| 73 | + "8", | |
| 74 | + "9", | |
| 75 | + "10", | |
| 76 | + "11", | |
| 77 | + "12"); | |
| 78 | + | |
| 79 | +// tooltips | |
| 80 | +Calendar._TT = {}; | |
| 81 | +Calendar._TT["INFO"] = "calendar ์ ๋ํด์"; | |
| 82 | + | |
| 83 | +Calendar._TT["ABOUT"] = | |
| 84 | +"DHTML Date/Time Selector\n" + | |
| 85 | +"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-) | |
| 86 | +"\n"+ | |
| 87 | +"์ต์ ๋ฒ์ ์ ๋ฐ์ผ์๋ ค๋ฉด http://www.dynarch.com/projects/calendar/ ์ ๋ฐฉ๋ฌธํ์ธ์\n" + | |
| 88 | +"\n"+ | |
| 89 | +"GNU LGPL ๋ผ์ด์ผ์ค๋ก ๋ฐฐํฌ๋ฉ๋๋ค. \n"+ | |
| 90 | +"๋ผ์ด์ผ์ค์ ๋ํ ์์ธํ ๋ด์ฉ์ http://gnu.org/licenses/lgpl.html ์ ์ฝ์ผ์ธ์." + | |
| 91 | +"\n\n" + | |
| 92 | +"๋ ์ง ์ ํ:\n" + | |
| 93 | +"- ์ฐ๋๋ฅผ ์ ํํ๋ ค๋ฉด \xab, \xbb ๋ฒํผ์ ์ฌ์ฉํฉ๋๋ค\n" + | |
| 94 | +"- ๋ฌ์ ์ ํํ๋ ค๋ฉด " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " ๋ฒํผ์ ๋๋ฅด์ธ์\n" + | |
| 95 | +"- ๊ณ์ ๋๋ฅด๊ณ ์์ผ๋ฉด ์ ๊ฐ๋ค์ ๋น ๋ฅด๊ฒ ์ ํํ์ค ์ ์์ต๋๋ค."; | |
| 96 | +Calendar._TT["ABOUT_TIME"] = "\n\n" + | |
| 97 | +"์๊ฐ ์ ํ:\n" + | |
| 98 | +"- ๋ง์ฐ์ค๋ก ๋๋ฅด๋ฉด ์๊ฐ์ด ์ฆ๊ฐํฉ๋๋ค\n" + | |
| 99 | +"- Shift ํค์ ํจ๊ป ๋๋ฅด๋ฉด ๊ฐ์ํฉ๋๋ค\n" + | |
| 100 | +"- ๋๋ฅธ ์ํ์์ ๋ง์ฐ์ค๋ฅผ ์์ง์ด๋ฉด ์ข ๋ ๋น ๋ฅด๊ฒ ๊ฐ์ด ๋ณํฉ๋๋ค.\n"; | |
| 101 | + | |
| 102 | +Calendar._TT["PREV_YEAR"] = "์ง๋ ํด (๊ธธ๊ฒ ๋๋ฅด๋ฉด ๋ชฉ๋ก)"; | |
| 103 | +Calendar._TT["PREV_MONTH"] = "์ง๋ ๋ฌ (๊ธธ๊ฒ ๋๋ฅด๋ฉด ๋ชฉ๋ก)"; | |
| 104 | +Calendar._TT["GO_TODAY"] = "์ค๋ ๋ ์ง๋ก"; | |
| 105 | +Calendar._TT["NEXT_MONTH"] = "๋ค์ ๋ฌ (๊ธธ๊ฒ ๋๋ฅด๋ฉด ๋ชฉ๋ก)"; | |
| 106 | +Calendar._TT["NEXT_YEAR"] = "๋ค์ ํด (๊ธธ๊ฒ ๋๋ฅด๋ฉด ๋ชฉ๋ก)"; | |
| 107 | +Calendar._TT["SEL_DATE"] = "๋ ์ง๋ฅผ ์ ํํ์ธ์"; | |
| 108 | +Calendar._TT["DRAG_TO_MOVE"] = "๋ง์ฐ์ค ๋๋๊ทธ๋ก ์ด๋ ํ์ธ์"; | |
| 109 | +Calendar._TT["PART_TODAY"] = " (์ค๋)"; | |
| 110 | +Calendar._TT["MON_FIRST"] = "์์์ผ์ ํ ์ฃผ์ ์์ ์์ผ๋ก"; | |
| 111 | +Calendar._TT["SUN_FIRST"] = "์ผ์์ผ์ ํ ์ฃผ์ ์์ ์์ผ๋ก"; | |
| 112 | +Calendar._TT["CLOSE"] = "๋ซ๊ธฐ"; | |
| 113 | +Calendar._TT["TODAY"] = "์ค๋"; | |
| 114 | +Calendar._TT["TIME_PART"] = "(Shift-)ํด๋ฆญ ๋๋ ๋๋๊ทธ ํ์ธ์"; | |
| 115 | + | |
| 116 | +// date formats | |
| 117 | +Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d"; | |
| 118 | +Calendar._TT["TT_DATE_FORMAT"] = "%b/%e [%a]"; | |
| 119 | + | |
| 120 | +Calendar._TT["WK"] = "์ฃผ"; | ... | ... |
thirdpartyjs/jscalendar-1.0/lang/calendar-ko.js
0 โ 100644
| 1 | +// ** I18N | |
| 2 | + | |
| 3 | +// Calendar EN language | |
| 4 | +// Author: Mihai Bazon, <mihai_bazon@yahoo.com> | |
| 5 | +// Translation: Yourim Yi <yyi@yourim.net> | |
| 6 | +// Encoding: EUC-KR | |
| 7 | +// lang : ko | |
| 8 | +// Distributed under the same terms as the calendar itself. | |
| 9 | + | |
| 10 | +// For translators: please use UTF-8 if possible. We strongly believe that | |
| 11 | +// Unicode is the answer to a real internationalized world. Also please | |
| 12 | +// include your contact information in the header, as can be seen above. | |
| 13 | + | |
| 14 | +// full day names | |
| 15 | + | |
| 16 | +Calendar._DN = new Array | |
| 17 | +("์ผ์์ผ", | |
| 18 | + "์์์ผ", | |
| 19 | + "ํ์์ผ", | |
| 20 | + "์์์ผ", | |
| 21 | + "๋ชฉ์์ผ", | |
| 22 | + "๊ธ์์ผ", | |
| 23 | + "ํ ์์ผ", | |
| 24 | + "์ผ์์ผ"); | |
| 25 | + | |
| 26 | +// Please note that the following array of short day names (and the same goes | |
| 27 | +// for short month names, _SMN) isn't absolutely necessary. We give it here | |
| 28 | +// for exemplification on how one can customize the short day names, but if | |
| 29 | +// they are simply the first N letters of the full name you can simply say: | |
| 30 | +// | |
| 31 | +// Calendar._SDN_len = N; // short day name length | |
| 32 | +// Calendar._SMN_len = N; // short month name length | |
| 33 | +// | |
| 34 | +// If N = 3 then this is not needed either since we assume a value of 3 if not | |
| 35 | +// present, to be compatible with translation files that were written before | |
| 36 | +// this feature. | |
| 37 | + | |
| 38 | +// short day names | |
| 39 | +Calendar._SDN = new Array | |
| 40 | +("์ผ", | |
| 41 | + "์", | |
| 42 | + "ํ", | |
| 43 | + "์", | |
| 44 | + "๋ชฉ", | |
| 45 | + "๊ธ", | |
| 46 | + "ํ ", | |
| 47 | + "์ผ"); | |
| 48 | + | |
| 49 | +// full month names | |
| 50 | +Calendar._MN = new Array | |
| 51 | +("1์", | |
| 52 | + "2์", | |
| 53 | + "3์", | |
| 54 | + "4์", | |
| 55 | + "5์", | |
| 56 | + "6์", | |
| 57 | + "7์", | |
| 58 | + "8์", | |
| 59 | + "9์", | |
| 60 | + "10์", | |
| 61 | + "11์", | |
| 62 | + "12์"); | |
| 63 | + | |
| 64 | +// short month names | |
| 65 | +Calendar._SMN = new Array | |
| 66 | +("1", | |
| 67 | + "2", | |
| 68 | + "3", | |
| 69 | + "4", | |
| 70 | + "5", | |
| 71 | + "6", | |
| 72 | + "7", | |
| 73 | + "8", | |
| 74 | + "9", | |
| 75 | + "10", | |
| 76 | + "11", | |
| 77 | + "12"); | |
| 78 | + | |
| 79 | +// tooltips | |
| 80 | +Calendar._TT = {}; | |
| 81 | +Calendar._TT["INFO"] = "calendar ์ ๋ํด์"; | |
| 82 | + | |
| 83 | +Calendar._TT["ABOUT"] = | |
| 84 | +"DHTML Date/Time Selector\n" + | |
| 85 | +"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-) | |
| 86 | +"\n"+ | |
| 87 | +"์ต์ ๋ฒ์ ์ ๋ฐ์ผ์๋ ค๋ฉด http://www.dynarch.com/projects/calendar/ ์ ๋ฐฉ๋ฌธํ์ธ์\n" + | |
| 88 | +"\n"+ | |
| 89 | +"GNU LGPL ๋ผ์ด์ผ์ค๋ก ๋ฐฐํฌ๋ฉ๋๋ค. \n"+ | |
| 90 | +"๋ผ์ด์ผ์ค์ ๋ํ ์์ธํ ๋ด์ฉ์ http://gnu.org/licenses/lgpl.html ์ ์ฝ์ผ์ธ์." + | |
| 91 | +"\n\n" + | |
| 92 | +"๋ ์ง ์ ํ:\n" + | |
| 93 | +"- ์ฐ๋๋ฅผ ์ ํํ๋ ค๋ฉด \xab, \xbb ๋ฒํผ์ ์ฌ์ฉํฉ๋๋ค\n" + | |
| 94 | +"- ๋ฌ์ ์ ํํ๋ ค๋ฉด " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " ๋ฒํผ์ ๋๋ฅด์ธ์\n" + | |
| 95 | +"- ๊ณ์ ๋๋ฅด๊ณ ์์ผ๋ฉด ์ ๊ฐ๋ค์ ๋น ๋ฅด๊ฒ ์ ํํ์ค ์ ์์ต๋๋ค."; | |
| 96 | +Calendar._TT["ABOUT_TIME"] = "\n\n" + | |
| 97 | +"์๊ฐ ์ ํ:\n" + | |
| 98 | +"- ๋ง์ฐ์ค๋ก ๋๋ฅด๋ฉด ์๊ฐ์ด ์ฆ๊ฐํฉ๋๋ค\n" + | |
| 99 | +"- Shift ํค์ ํจ๊ป ๋๋ฅด๋ฉด ๊ฐ์ํฉ๋๋ค\n" + | |
| 100 | +"- ๋๋ฅธ ์ํ์์ ๋ง์ฐ์ค๋ฅผ ์์ง์ด๋ฉด ์ข ๋ ๋น ๋ฅด๊ฒ ๊ฐ์ด ๋ณํฉ๋๋ค.\n"; | |
| 101 | + | |
| 102 | +Calendar._TT["PREV_YEAR"] = "์ง๋ ํด (๊ธธ๊ฒ ๋๋ฅด๋ฉด ๋ชฉ๋ก)"; | |
| 103 | +Calendar._TT["PREV_MONTH"] = "์ง๋ ๋ฌ (๊ธธ๊ฒ ๋๋ฅด๋ฉด ๋ชฉ๋ก)"; | |
| 104 | +Calendar._TT["GO_TODAY"] = "์ค๋ ๋ ์ง๋ก"; | |
| 105 | +Calendar._TT["NEXT_MONTH"] = "๋ค์ ๋ฌ (๊ธธ๊ฒ ๋๋ฅด๋ฉด ๋ชฉ๋ก)"; | |
| 106 | +Calendar._TT["NEXT_YEAR"] = "๋ค์ ํด (๊ธธ๊ฒ ๋๋ฅด๋ฉด ๋ชฉ๋ก)"; | |
| 107 | +Calendar._TT["SEL_DATE"] = "๋ ์ง๋ฅผ ์ ํํ์ธ์"; | |
| 108 | +Calendar._TT["DRAG_TO_MOVE"] = "๋ง์ฐ์ค ๋๋๊ทธ๋ก ์ด๋ ํ์ธ์"; | |
| 109 | +Calendar._TT["PART_TODAY"] = " (์ค๋)"; | |
| 110 | +Calendar._TT["MON_FIRST"] = "์์์ผ์ ํ ์ฃผ์ ์์ ์์ผ๋ก"; | |
| 111 | +Calendar._TT["SUN_FIRST"] = "์ผ์์ผ์ ํ ์ฃผ์ ์์ ์์ผ๋ก"; | |
| 112 | +Calendar._TT["CLOSE"] = "๋ซ๊ธฐ"; | |
| 113 | +Calendar._TT["TODAY"] = "์ค๋"; | |
| 114 | +Calendar._TT["TIME_PART"] = "(Shift-)ํด๋ฆญ ๋๋ ๋๋๊ทธ ํ์ธ์"; | |
| 115 | + | |
| 116 | +// date formats | |
| 117 | +Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d"; | |
| 118 | +Calendar._TT["TT_DATE_FORMAT"] = "%b/%e [%a]"; | |
| 119 | + | |
| 120 | +Calendar._TT["WK"] = "์ฃผ"; | ... | ... |
thirdpartyjs/jscalendar-1.0/lang/calendar-lt-utf8.js
0 โ 100644
| 1 | +// ** I18N | |
| 2 | + | |
| 3 | +// Calendar LT language | |
| 4 | +// Author: Martynas Majeris, <martynas@solmetra.lt> | |
| 5 | +// Encoding: UTF-8 | |
| 6 | +// Distributed under the same terms as the calendar itself. | |
| 7 | + | |
| 8 | +// For translators: please use UTF-8 if possible. We strongly believe that | |
| 9 | +// Unicode is the answer to a real internationalized world. Also please | |
| 10 | +// include your contact information in the header, as can be seen above. | |
| 11 | + | |
| 12 | +// full day names | |
| 13 | +Calendar._DN = new Array | |
| 14 | +("Sekmadienis", | |
| 15 | + "Pirmadienis", | |
| 16 | + "Antradienis", | |
| 17 | + "Treฤiadienis", | |
| 18 | + "Ketvirtadienis", | |
| 19 | + "Pentadienis", | |
| 20 | + "ล eลกtadienis", | |
| 21 | + "Sekmadienis"); | |
| 22 | + | |
| 23 | +// Please note that the following array of short day names (and the same goes | |
| 24 | +// for short month names, _SMN) isn't absolutely necessary. We give it here | |
| 25 | +// for exemplification on how one can customize the short day names, but if | |
| 26 | +// they are simply the first N letters of the full name you can simply say: | |
| 27 | +// | |
| 28 | +// Calendar._SDN_len = N; // short day name length | |
| 29 | +// Calendar._SMN_len = N; // short month name length | |
| 30 | +// | |
| 31 | +// If N = 3 then this is not needed either since we assume a value of 3 if not | |
| 32 | +// present, to be compatible with translation files that were written before | |
| 33 | +// this feature. | |
| 34 | + | |
| 35 | +// short day names | |
| 36 | +Calendar._SDN = new Array | |
| 37 | +("Sek", | |
| 38 | + "Pir", | |
| 39 | + "Ant", | |
| 40 | + "Tre", | |
| 41 | + "Ket", | |
| 42 | + "Pen", | |
| 43 | + "ล eลก", | |
| 44 | + "Sek"); | |
| 45 | + | |
| 46 | +// full month names | |
| 47 | +Calendar._MN = new Array | |
| 48 | +("Sausis", | |
| 49 | + "Vasaris", | |
| 50 | + "Kovas", | |
| 51 | + "Balandis", | |
| 52 | + "Geguลพฤ", | |
| 53 | + "Birลพelis", | |
| 54 | + "Liepa", | |
| 55 | + "Rugpjลซtis", | |
| 56 | + "Rugsฤjis", | |
| 57 | + "Spalis", | |
| 58 | + "Lapkritis", | |
| 59 | + "Gruodis"); | |
| 60 | + | |
| 61 | +// short month names | |
| 62 | +Calendar._SMN = new Array | |
| 63 | +("Sau", | |
| 64 | + "Vas", | |
| 65 | + "Kov", | |
| 66 | + "Bal", | |
| 67 | + "Geg", | |
| 68 | + "Bir", | |
| 69 | + "Lie", | |
| 70 | + "Rgp", | |
| 71 | + "Rgs", | |
| 72 | + "Spa", | |
| 73 | + "Lap", | |
| 74 | + "Gru"); | |
| 75 | + | |
| 76 | +// tooltips | |
| 77 | +Calendar._TT = {}; | |
| 78 | +Calendar._TT["INFO"] = "Apie kalendoriลณ"; | |
| 79 | + | |
| 80 | +Calendar._TT["ABOUT"] = | |
| 81 | +"DHTML Date/Time Selector\n" + | |
| 82 | +"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-) | |
| 83 | +"Naujausiฤ versijฤ rasite: http://www.dynarch.com/projects/calendar/\n" + | |
| 84 | +"Platinamas pagal GNU LGPL licencijฤ . Aplankykite http://gnu.org/licenses/lgpl.html" + | |
| 85 | +"\n\n" + | |
| 86 | +"Datos pasirinkimas:\n" + | |
| 87 | +"- Metลณ pasirinkimas: \xab, \xbb\n" + | |
| 88 | +"- Mฤnesio pasirinkimas: " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + "\n" + | |
| 89 | +"- Nuspauskite ir laikykite pelฤs klaviลกฤ greitesniam pasirinkimui."; | |
| 90 | +Calendar._TT["ABOUT_TIME"] = "\n\n" + | |
| 91 | +"Laiko pasirinkimas:\n" + | |
| 92 | +"- Spustelkite ant valandลณ arba minuฤiลณ - skaiฤius padidฤs vienetu.\n" + | |
| 93 | +"- Jei spausite kartu su Shift, skaiฤius sumaลพฤs.\n" + | |
| 94 | +"- Greitam pasirinkimui spustelkite ir pajudinkite pelฤ."; | |
| 95 | + | |
| 96 | +Calendar._TT["PREV_YEAR"] = "Ankstesni metai (laikykite, jei norite meniu)"; | |
| 97 | +Calendar._TT["PREV_MONTH"] = "Ankstesnis mฤnuo (laikykite, jei norite meniu)"; | |
| 98 | +Calendar._TT["GO_TODAY"] = "Pasirinkti ลกiandienฤ "; | |
| 99 | +Calendar._TT["NEXT_MONTH"] = "Kitas mฤnuo (laikykite, jei norite meniu)"; | |
| 100 | +Calendar._TT["NEXT_YEAR"] = "Kiti metai (laikykite, jei norite meniu)"; | |
| 101 | +Calendar._TT["SEL_DATE"] = "Pasirinkite datฤ "; | |
| 102 | +Calendar._TT["DRAG_TO_MOVE"] = "Tempkite"; | |
| 103 | +Calendar._TT["PART_TODAY"] = " (ลกiandien)"; | |
| 104 | +Calendar._TT["MON_FIRST"] = "Pirma savaitฤs diena - pirmadienis"; | |
| 105 | +Calendar._TT["SUN_FIRST"] = "Pirma savaitฤs diena - sekmadienis"; | |
| 106 | +Calendar._TT["CLOSE"] = "Uลพdaryti"; | |
| 107 | +Calendar._TT["TODAY"] = "ล iandien"; | |
| 108 | +Calendar._TT["TIME_PART"] = "Spustelkite arba tempkite jei norite pakeisti"; | |
| 109 | + | |
| 110 | +// date formats | |
| 111 | +Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d"; | |
| 112 | +Calendar._TT["TT_DATE_FORMAT"] = "%A, %Y-%m-%d"; | |
| 113 | + | |
| 114 | +Calendar._TT["WK"] = "sav"; | ... | ... |
thirdpartyjs/jscalendar-1.0/lang/calendar-lt.js
0 โ 100644
| 1 | +// ** I18N | |
| 2 | + | |
| 3 | +// Calendar LT language | |
| 4 | +// Author: Martynas Majeris, <martynas@solmetra.lt> | |
| 5 | +// Encoding: Windows-1257 | |
| 6 | +// Distributed under the same terms as the calendar itself. | |
| 7 | + | |
| 8 | +// For translators: please use UTF-8 if possible. We strongly believe that | |
| 9 | +// Unicode is the answer to a real internationalized world. Also please | |
| 10 | +// include your contact information in the header, as can be seen above. | |
| 11 | + | |
| 12 | +// full day names | |
| 13 | +Calendar._DN = new Array | |
| 14 | +("Sekmadienis", | |
| 15 | + "Pirmadienis", | |
| 16 | + "Antradienis", | |
| 17 | + "Treรจiadienis", | |
| 18 | + "Ketvirtadienis", | |
| 19 | + "Pentadienis", | |
| 20 | + "รeรฐtadienis", | |
| 21 | + "Sekmadienis"); | |
| 22 | + | |
| 23 | +// Please note that the following array of short day names (and the same goes | |
| 24 | +// for short month names, _SMN) isn't absolutely necessary. We give it here | |
| 25 | +// for exemplification on how one can customize the short day names, but if | |
| 26 | +// they are simply the first N letters of the full name you can simply say: | |
| 27 | +// | |
| 28 | +// Calendar._SDN_len = N; // short day name length | |
| 29 | +// Calendar._SMN_len = N; // short month name length | |
| 30 | +// | |
| 31 | +// If N = 3 then this is not needed either since we assume a value of 3 if not | |
| 32 | +// present, to be compatible with translation files that were written before | |
| 33 | +// this feature. | |
| 34 | + | |
| 35 | +// short day names | |
| 36 | +Calendar._SDN = new Array | |
| 37 | +("Sek", | |
| 38 | + "Pir", | |
| 39 | + "Ant", | |
| 40 | + "Tre", | |
| 41 | + "Ket", | |
| 42 | + "Pen", | |
| 43 | + "รeรฐ", | |
| 44 | + "Sek"); | |
| 45 | + | |
| 46 | +// full month names | |
| 47 | +Calendar._MN = new Array | |
| 48 | +("Sausis", | |
| 49 | + "Vasaris", | |
| 50 | + "Kovas", | |
| 51 | + "Balandis", | |
| 52 | + "Geguรพรซ", | |
| 53 | + "Birรพelis", | |
| 54 | + "Liepa", | |
| 55 | + "Rugpjรปtis", | |
| 56 | + "Rugsรซjis", | |
| 57 | + "Spalis", | |
| 58 | + "Lapkritis", | |
| 59 | + "Gruodis"); | |
| 60 | + | |
| 61 | +// short month names | |
| 62 | +Calendar._SMN = new Array | |
| 63 | +("Sau", | |
| 64 | + "Vas", | |
| 65 | + "Kov", | |
| 66 | + "Bal", | |
| 67 | + "Geg", | |
| 68 | + "Bir", | |
| 69 | + "Lie", | |
| 70 | + "Rgp", | |
| 71 | + "Rgs", | |
| 72 | + "Spa", | |
| 73 | + "Lap", | |
| 74 | + "Gru"); | |
| 75 | + | |
| 76 | +// tooltips | |
| 77 | +Calendar._TT = {}; | |
| 78 | +Calendar._TT["INFO"] = "Apie kalendoriรธ"; | |
| 79 | + | |
| 80 | +Calendar._TT["ABOUT"] = | |
| 81 | +"DHTML Date/Time Selector\n" + | |
| 82 | +"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-) | |
| 83 | +"Naujausiร versijร rasite: http://www.dynarch.com/projects/calendar/\n" + | |
| 84 | +"Platinamas pagal GNU LGPL licencijร . Aplankykite http://gnu.org/licenses/lgpl.html" + | |
| 85 | +"\n\n" + | |
| 86 | +"Datos pasirinkimas:\n" + | |
| 87 | +"- Metรธ pasirinkimas: \xab, \xbb\n" + | |
| 88 | +"- Mรซnesio pasirinkimas: " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + "\n" + | |
| 89 | +"- Nuspauskite ir laikykite pelรซs klaviรฐร greitesniam pasirinkimui."; | |
| 90 | +Calendar._TT["ABOUT_TIME"] = "\n\n" + | |
| 91 | +"Laiko pasirinkimas:\n" + | |
| 92 | +"- Spustelkite ant valandรธ arba minuรจiรธ - skaiรจus padidรซs vienetu.\n" + | |
| 93 | +"- Jei spausite kartu su Shift, skaiรจius sumaรพรซs.\n" + | |
| 94 | +"- Greitam pasirinkimui spustelkite ir pajudinkite pelรฆ."; | |
| 95 | + | |
| 96 | +Calendar._TT["PREV_YEAR"] = "Ankstesni metai (laikykite, jei norite meniu)"; | |
| 97 | +Calendar._TT["PREV_MONTH"] = "Ankstesnis mรซnuo (laikykite, jei norite meniu)"; | |
| 98 | +Calendar._TT["GO_TODAY"] = "Pasirinkti รฐiandienร "; | |
| 99 | +Calendar._TT["NEXT_MONTH"] = "Kitas mรซnuo (laikykite, jei norite meniu)"; | |
| 100 | +Calendar._TT["NEXT_YEAR"] = "Kiti metai (laikykite, jei norite meniu)"; | |
| 101 | +Calendar._TT["SEL_DATE"] = "Pasirinkite datร "; | |
| 102 | +Calendar._TT["DRAG_TO_MOVE"] = "Tempkite"; | |
| 103 | +Calendar._TT["PART_TODAY"] = " (รฐiandien)"; | |
| 104 | +Calendar._TT["MON_FIRST"] = "Pirma savaitรซs diena - pirmadienis"; | |
| 105 | +Calendar._TT["SUN_FIRST"] = "Pirma savaitรซs diena - sekmadienis"; | |
| 106 | +Calendar._TT["CLOSE"] = "Uรพdaryti"; | |
| 107 | +Calendar._TT["TODAY"] = "รiandien"; | |
| 108 | +Calendar._TT["TIME_PART"] = "Spustelkite arba tempkite jei norite pakeisti"; | |
| 109 | + | |
| 110 | +// date formats | |
| 111 | +Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d"; | |
| 112 | +Calendar._TT["TT_DATE_FORMAT"] = "%A, %Y-%m-%d"; | |
| 113 | + | |
| 114 | +Calendar._TT["WK"] = "sav"; | ... | ... |
thirdpartyjs/jscalendar-1.0/lang/calendar-lv.js
0 โ 100644
| 1 | +// ** I18N | |
| 2 | + | |
| 3 | +// Calendar LV language | |
| 4 | +// Author: Juris Valdovskis, <juris@dc.lv> | |
| 5 | +// Encoding: cp1257 | |
| 6 | +// Distributed under the same terms as the calendar itself. | |
| 7 | + | |
| 8 | +// For translators: please use UTF-8 if possible. We strongly believe that | |
| 9 | +// Unicode is the answer to a real internationalized world. Also please | |
| 10 | +// include your contact information in the header, as can be seen above. | |
| 11 | + | |
| 12 | +// full day names | |
| 13 | +Calendar._DN = new Array | |
| 14 | +("Svรงtdiena", | |
| 15 | + "Pirmdiena", | |
| 16 | + "Otrdiena", | |
| 17 | + "Treรฐdiena", | |
| 18 | + "Ceturdiena", | |
| 19 | + "Piektdiena", | |
| 20 | + "Sestdiena", | |
| 21 | + "Svรงtdiena"); | |
| 22 | + | |
| 23 | +// Please note that the following array of short day names (and the same goes | |
| 24 | +// for short month names, _SMN) isn't absolutely necessary. We give it here | |
| 25 | +// for exemplification on how one can customize the short day names, but if | |
| 26 | +// they are simply the first N letters of the full name you can simply say: | |
| 27 | +// | |
| 28 | +// Calendar._SDN_len = N; // short day name length | |
| 29 | +// Calendar._SMN_len = N; // short month name length | |
| 30 | +// | |
| 31 | +// If N = 3 then this is not needed either since we assume a value of 3 if not | |
| 32 | +// present, to be compatible with translation files that were written before | |
| 33 | +// this feature. | |
| 34 | + | |
| 35 | +// short day names | |
| 36 | +Calendar._SDN = new Array | |
| 37 | +("Sv", | |
| 38 | + "Pr", | |
| 39 | + "Ot", | |
| 40 | + "Tr", | |
| 41 | + "Ce", | |
| 42 | + "Pk", | |
| 43 | + "Se", | |
| 44 | + "Sv"); | |
| 45 | + | |
| 46 | +// full month names | |
| 47 | +Calendar._MN = new Array | |
| 48 | +("Janvรขris", | |
| 49 | + "Februรขris", | |
| 50 | + "Marts", | |
| 51 | + "Aprรฎlis", | |
| 52 | + "Maijs", | |
| 53 | + "Jรปnijs", | |
| 54 | + "Jรปlijs", | |
| 55 | + "Augusts", | |
| 56 | + "Septembris", | |
| 57 | + "Oktobris", | |
| 58 | + "Novembris", | |
| 59 | + "Decembris"); | |
| 60 | + | |
| 61 | +// short month names | |
| 62 | +Calendar._SMN = new Array | |
| 63 | +("Jan", | |
| 64 | + "Feb", | |
| 65 | + "Mar", | |
| 66 | + "Apr", | |
| 67 | + "Mai", | |
| 68 | + "Jรปn", | |
| 69 | + "Jรปl", | |
| 70 | + "Aug", | |
| 71 | + "Sep", | |
| 72 | + "Okt", | |
| 73 | + "Nov", | |
| 74 | + "Dec"); | |
| 75 | + | |
| 76 | +// tooltips | |
| 77 | +Calendar._TT = {}; | |
| 78 | +Calendar._TT["INFO"] = "Par kalendรขru"; | |
| 79 | + | |
| 80 | +Calendar._TT["ABOUT"] = | |
| 81 | +"DHTML Date/Time Selector\n" + | |
| 82 | +"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-) | |
| 83 | +"For latest version visit: http://www.dynarch.com/projects/calendar/\n" + | |
| 84 | +"Distributed under GNU LGPL. See http://gnu.org/licenses/lgpl.html for details." + | |
| 85 | +"\n\n" + | |
| 86 | +"Datuma izvรงle:\n" + | |
| 87 | +"- Izmanto \xab, \xbb pogas, lai izvรงlรงtos gadu\n" + | |
| 88 | +"- Izmanto " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + "pogas, lai izvรงlรงtos mรงnesi\n" + | |
| 89 | +"- Turi nospiestu peles pogu uz jebkuru no augstรขk minรงtajรขm pogรขm, lai paรขtrinรขtu izvรงli."; | |
| 90 | +Calendar._TT["ABOUT_TIME"] = "\n\n" + | |
| 91 | +"Laika izvรงle:\n" + | |
| 92 | +"- Uzklikรฐรญini uz jebkuru no laika daรฏรขm, lai palielinรขtu to\n" + | |
| 93 | +"- vai Shift-klikรฐรญis, lai samazinรขtu to\n" + | |
| 94 | +"- vai noklikรฐรญini un velc uz attiecรฎgo virzienu lai mainรฎtu รขtrรขk."; | |
| 95 | + | |
| 96 | +Calendar._TT["PREV_YEAR"] = "Iepr. gads (turi izvรงlnei)"; | |
| 97 | +Calendar._TT["PREV_MONTH"] = "Iepr. mรงnesis (turi izvรงlnei)"; | |
| 98 | +Calendar._TT["GO_TODAY"] = "รodien"; | |
| 99 | +Calendar._TT["NEXT_MONTH"] = "Nรขkoรฐais mรงnesis (turi izvรงlnei)"; | |
| 100 | +Calendar._TT["NEXT_YEAR"] = "Nรขkoรฐais gads (turi izvรงlnei)"; | |
| 101 | +Calendar._TT["SEL_DATE"] = "Izvรงlies datumu"; | |
| 102 | +Calendar._TT["DRAG_TO_MOVE"] = "Velc, lai pรขrvietotu"; | |
| 103 | +Calendar._TT["PART_TODAY"] = " (รฐodien)"; | |
| 104 | + | |
| 105 | +// the following is to inform that "%s" is to be the first day of week | |
| 106 | +// %s will be replaced with the day name. | |
| 107 | +Calendar._TT["DAY_FIRST"] = "Attรงlot %s kรข pirmo"; | |
| 108 | + | |
| 109 | +// This may be locale-dependent. It specifies the week-end days, as an array | |
| 110 | +// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1 | |
| 111 | +// means Monday, etc. | |
| 112 | +Calendar._TT["WEEKEND"] = "1,7"; | |
| 113 | + | |
| 114 | +Calendar._TT["CLOSE"] = "Aizvรงrt"; | |
| 115 | +Calendar._TT["TODAY"] = "รodien"; | |
| 116 | +Calendar._TT["TIME_PART"] = "(Shift-)Klikรฐรญis vai pรขrvieto, lai mainรฎtu"; | |
| 117 | + | |
| 118 | +// date formats | |
| 119 | +Calendar._TT["DEF_DATE_FORMAT"] = "%d-%m-%Y"; | |
| 120 | +Calendar._TT["TT_DATE_FORMAT"] = "%a, %e %b"; | |
| 121 | + | |
| 122 | +Calendar._TT["WK"] = "wk"; | |
| 123 | +Calendar._TT["TIME"] = "Laiks:"; | ... | ... |
thirdpartyjs/jscalendar-1.0/lang/calendar-nl.js
0 โ 100644
| 1 | +// ** I18N | |
| 2 | +Calendar._DN = new Array | |
| 3 | +("Zondag", | |
| 4 | + "Maandag", | |
| 5 | + "Dinsdag", | |
| 6 | + "Woensdag", | |
| 7 | + "Donderdag", | |
| 8 | + "Vrijdag", | |
| 9 | + "Zaterdag", | |
| 10 | + "Zondag"); | |
| 11 | + | |
| 12 | +Calendar._SDN_len = 2; | |
| 13 | + | |
| 14 | +Calendar._MN = new Array | |
| 15 | +("Januari", | |
| 16 | + "Februari", | |
| 17 | + "Maart", | |
| 18 | + "April", | |
| 19 | + "Mei", | |
| 20 | + "Juni", | |
| 21 | + "Juli", | |
| 22 | + "Augustus", | |
| 23 | + "September", | |
| 24 | + "Oktober", | |
| 25 | + "November", | |
| 26 | + "December"); | |
| 27 | + | |
| 28 | +// tooltips | |
| 29 | +Calendar._TT = {}; | |
| 30 | +Calendar._TT["INFO"] = "Info"; | |
| 31 | + | |
| 32 | +Calendar._TT["ABOUT"] = | |
| 33 | +"DHTML Datum/Tijd Selector\n" + | |
| 34 | +"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + | |
| 35 | +"Ga voor de meest recente versie naar: http://www.dynarch.com/projects/calendar/\n" + | |
| 36 | +"Verspreid onder de GNU LGPL. Zie http://gnu.org/licenses/lgpl.html voor details." + | |
| 37 | +"\n\n" + | |
| 38 | +"Datum selectie:\n" + | |
| 39 | +"- Gebruik de \xab \xbb knoppen om een jaar te selecteren\n" + | |
| 40 | +"- Gebruik de " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " knoppen om een maand te selecteren\n" + | |
| 41 | +"- Houd de muis ingedrukt op de genoemde knoppen voor een snellere selectie."; | |
| 42 | +Calendar._TT["ABOUT_TIME"] = "\n\n" + | |
| 43 | +"Tijd selectie:\n" + | |
| 44 | +"- Klik op een willekeurig onderdeel van het tijd gedeelte om het te verhogen\n" + | |
| 45 | +"- of Shift-klik om het te verlagen\n" + | |
| 46 | +"- of klik en sleep voor een snellere selectie."; | |
| 47 | + | |
| 48 | +//Calendar._TT["TOGGLE"] = "Selecteer de eerste week-dag"; | |
| 49 | +Calendar._TT["PREV_YEAR"] = "Vorig jaar (ingedrukt voor menu)"; | |
| 50 | +Calendar._TT["PREV_MONTH"] = "Vorige maand (ingedrukt voor menu)"; | |
| 51 | +Calendar._TT["GO_TODAY"] = "Ga naar Vandaag"; | |
| 52 | +Calendar._TT["NEXT_MONTH"] = "Volgende maand (ingedrukt voor menu)"; | |
| 53 | +Calendar._TT["NEXT_YEAR"] = "Volgend jaar (ingedrukt voor menu)"; | |
| 54 | +Calendar._TT["SEL_DATE"] = "Selecteer datum"; | |
| 55 | +Calendar._TT["DRAG_TO_MOVE"] = "Klik en sleep om te verplaatsen"; | |
| 56 | +Calendar._TT["PART_TODAY"] = " (vandaag)"; | |
| 57 | +//Calendar._TT["MON_FIRST"] = "Toon Maandag eerst"; | |
| 58 | +//Calendar._TT["SUN_FIRST"] = "Toon Zondag eerst"; | |
| 59 | + | |
| 60 | +Calendar._TT["DAY_FIRST"] = "Toon %s eerst"; | |
| 61 | + | |
| 62 | +Calendar._TT["WEEKEND"] = "0,6"; | |
| 63 | + | |
| 64 | +Calendar._TT["CLOSE"] = "Sluiten"; | |
| 65 | +Calendar._TT["TODAY"] = "(vandaag)"; | |
| 66 | +Calendar._TT["TIME_PART"] = "(Shift-)Klik of sleep om de waarde te veranderen"; | |
| 67 | + | |
| 68 | +// date formats | |
| 69 | +Calendar._TT["DEF_DATE_FORMAT"] = "%d-%m-%Y"; | |
| 70 | +Calendar._TT["TT_DATE_FORMAT"] = "%a, %e %b %Y"; | |
| 71 | + | |
| 72 | +Calendar._TT["WK"] = "wk"; | |
| 73 | +Calendar._TT["TIME"] = "Tijd:"; | |
| 0 | 74 | \ No newline at end of file | ... | ... |
thirdpartyjs/jscalendar-1.0/lang/calendar-no.js
0 โ 100644
| 1 | +// ** I18N | |
| 2 | + | |
| 3 | +// Calendar NO language | |
| 4 | +// Author: Daniel Holmen, <daniel.holmen@ciber.no> | |
| 5 | +// Encoding: UTF-8 | |
| 6 | +// Distributed under the same terms as the calendar itself. | |
| 7 | + | |
| 8 | +// For translators: please use UTF-8 if possible. We strongly believe that | |
| 9 | +// Unicode is the answer to a real internationalized world. Also please | |
| 10 | +// include your contact information in the header, as can be seen above. | |
| 11 | + | |
| 12 | +// full day names | |
| 13 | +Calendar._DN = new Array | |
| 14 | +("Sรธndag", | |
| 15 | + "Mandag", | |
| 16 | + "Tirsdag", | |
| 17 | + "Onsdag", | |
| 18 | + "Torsdag", | |
| 19 | + "Fredag", | |
| 20 | + "Lรธrdag", | |
| 21 | + "Sรธndag"); | |
| 22 | + | |
| 23 | +// Please note that the following array of short day names (and the same goes | |
| 24 | +// for short month names, _SMN) isn't absolutely necessary. We give it here | |
| 25 | +// for exemplification on how one can customize the short day names, but if | |
| 26 | +// they are simply the first N letters of the full name you can simply say: | |
| 27 | +// | |
| 28 | +// Calendar._SDN_len = N; // short day name length | |
| 29 | +// Calendar._SMN_len = N; // short month name length | |
| 30 | +// | |
| 31 | +// If N = 3 then this is not needed either since we assume a value of 3 if not | |
| 32 | +// present, to be compatible with translation files that were written before | |
| 33 | +// this feature. | |
| 34 | + | |
| 35 | +// short day names | |
| 36 | +Calendar._SDN = new Array | |
| 37 | +("Sรธn", | |
| 38 | + "Man", | |
| 39 | + "Tir", | |
| 40 | + "Ons", | |
| 41 | + "Tor", | |
| 42 | + "Fre", | |
| 43 | + "Lรธr", | |
| 44 | + "Sรธn"); | |
| 45 | + | |
| 46 | +// full month names | |
| 47 | +Calendar._MN = new Array | |
| 48 | +("Januar", | |
| 49 | + "Februar", | |
| 50 | + "Mars", | |
| 51 | + "April", | |
| 52 | + "Mai", | |
| 53 | + "Juni", | |
| 54 | + "Juli", | |
| 55 | + "August", | |
| 56 | + "September", | |
| 57 | + "Oktober", | |
| 58 | + "November", | |
| 59 | + "Desember"); | |
| 60 | + | |
| 61 | +// short month names | |
| 62 | +Calendar._SMN = new Array | |
| 63 | +("Jan", | |
| 64 | + "Feb", | |
| 65 | + "Mar", | |
| 66 | + "Apr", | |
| 67 | + "Mai", | |
| 68 | + "Jun", | |
| 69 | + "Jul", | |
| 70 | + "Aug", | |
| 71 | + "Sep", | |
| 72 | + "Okt", | |
| 73 | + "Nov", | |
| 74 | + "Des"); | |
| 75 | + | |
| 76 | +// tooltips | |
| 77 | +Calendar._TT = {}; | |
| 78 | +Calendar._TT["INFO"] = "Om kalenderen"; | |
| 79 | + | |
| 80 | +Calendar._TT["ABOUT"] = | |
| 81 | +"DHTML Dato-/Tidsvelger\n" + | |
| 82 | +"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-) | |
| 83 | +"For nyeste versjon, gรฅ til: http://www.dynarch.com/projects/calendar/\n" + | |
| 84 | +"Distribuert under GNU LGPL. Se http://gnu.org/licenses/lgpl.html for detaljer." + | |
| 85 | +"\n\n" + | |
| 86 | +"Datovalg:\n" + | |
| 87 | +"- Bruk knappene \xab og \xbb for รฅ velge รฅr\n" + | |
| 88 | +"- Bruk knappene " + String.fromCharCode(0x2039) + " og " + String.fromCharCode(0x203a) + " for รฅ velge mรฅned\n" + | |
| 89 | +"- Hold inne musknappen eller knappene over for raskere valg."; | |
| 90 | +Calendar._TT["ABOUT_TIME"] = "\n\n" + | |
| 91 | +"Tidsvalg:\n" + | |
| 92 | +"- Klikk pรฅ en av tidsdelene for รฅ รธke den\n" + | |
| 93 | +"- eller Shift-klikk for รฅ senke verdien\n" + | |
| 94 | +"- eller klikk-og-dra for raskere valg.."; | |
| 95 | + | |
| 96 | +Calendar._TT["PREV_YEAR"] = "Forrige. รฅr (hold for meny)"; | |
| 97 | +Calendar._TT["PREV_MONTH"] = "Forrige. mรฅned (hold for meny)"; | |
| 98 | +Calendar._TT["GO_TODAY"] = "Gรฅ til idag"; | |
| 99 | +Calendar._TT["NEXT_MONTH"] = "Neste mรฅned (hold for meny)"; | |
| 100 | +Calendar._TT["NEXT_YEAR"] = "Neste รฅr (hold for meny)"; | |
| 101 | +Calendar._TT["SEL_DATE"] = "Velg dato"; | |
| 102 | +Calendar._TT["DRAG_TO_MOVE"] = "Dra for รฅ flytte"; | |
| 103 | +Calendar._TT["PART_TODAY"] = " (idag)"; | |
| 104 | +Calendar._TT["MON_FIRST"] = "Vis mandag fรธrst"; | |
| 105 | +Calendar._TT["SUN_FIRST"] = "Vis sรธndag fรธrst"; | |
| 106 | +Calendar._TT["CLOSE"] = "Lukk"; | |
| 107 | +Calendar._TT["TODAY"] = "Idag"; | |
| 108 | +Calendar._TT["TIME_PART"] = "(Shift-)Klikk eller dra for รฅ endre verdi"; | |
| 109 | + | |
| 110 | +// date formats | |
| 111 | +Calendar._TT["DEF_DATE_FORMAT"] = "%d.%m.%Y"; | |
| 112 | +Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e"; | |
| 113 | + | |
| 114 | +Calendar._TT["WK"] = "uke"; | |
| 0 | 115 | \ No newline at end of file | ... | ... |
thirdpartyjs/jscalendar-1.0/lang/calendar-pl-utf8.js
0 โ 100644
| 1 | +๏ปฟ// ** I18N | |
| 2 | + | |
| 3 | +// Calendar PL language | |
| 4 | +// Author: Dariusz Pietrzak, <eyck@ghost.anime.pl> | |
| 5 | +// Author: Janusz Piwowarski, <jpiw@go2.pl> | |
| 6 | +// Encoding: utf-8 | |
| 7 | +// Distributed under the same terms as the calendar itself. | |
| 8 | + | |
| 9 | +Calendar._DN = new Array | |
| 10 | +("Niedziela", | |
| 11 | + "Poniedziaลek", | |
| 12 | + "Wtorek", | |
| 13 | + "ลroda", | |
| 14 | + "Czwartek", | |
| 15 | + "Piฤ tek", | |
| 16 | + "Sobota", | |
| 17 | + "Niedziela"); | |
| 18 | +Calendar._SDN = new Array | |
| 19 | +("Nie", | |
| 20 | + "Pn", | |
| 21 | + "Wt", | |
| 22 | + "ลr", | |
| 23 | + "Cz", | |
| 24 | + "Pt", | |
| 25 | + "So", | |
| 26 | + "Nie"); | |
| 27 | +Calendar._MN = new Array | |
| 28 | +("Styczeล", | |
| 29 | + "Luty", | |
| 30 | + "Marzec", | |
| 31 | + "Kwiecieล", | |
| 32 | + "Maj", | |
| 33 | + "Czerwiec", | |
| 34 | + "Lipiec", | |
| 35 | + "Sierpieล", | |
| 36 | + "Wrzesieล", | |
| 37 | + "Paลบdziernik", | |
| 38 | + "Listopad", | |
| 39 | + "Grudzieล"); | |
| 40 | +Calendar._SMN = new Array | |
| 41 | +("Sty", | |
| 42 | + "Lut", | |
| 43 | + "Mar", | |
| 44 | + "Kwi", | |
| 45 | + "Maj", | |
| 46 | + "Cze", | |
| 47 | + "Lip", | |
| 48 | + "Sie", | |
| 49 | + "Wrz", | |
| 50 | + "Paลบ", | |
| 51 | + "Lis", | |
| 52 | + "Gru"); | |
| 53 | + | |
| 54 | +// tooltips | |
| 55 | +Calendar._TT = {}; | |
| 56 | +Calendar._TT["INFO"] = "O kalendarzu"; | |
| 57 | + | |
| 58 | +Calendar._TT["ABOUT"] = | |
| 59 | +"DHTML Date/Time Selector\n" + | |
| 60 | +"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-) | |
| 61 | +"Aby pobraฤ najnowszฤ wersjฤ, odwiedลบ: http://www.dynarch.com/projects/calendar/\n" + | |
| 62 | +"Dostฤpny na licencji GNU LGPL. Zobacz szczegรณลy na http://gnu.org/licenses/lgpl.html." + | |
| 63 | +"\n\n" + | |
| 64 | +"Wybรณr daty:\n" + | |
| 65 | +"- Uลผyj przyciskรณw \xab, \xbb by wybraฤ rok\n" + | |
| 66 | +"- Uลผyj przyciskรณw " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " by wybraฤ miesiฤ c\n" + | |
| 67 | +"- Przytrzymaj klawisz myszy nad jednym z powyลผszych przyciskรณw dla szybszego wyboru."; | |
| 68 | +Calendar._TT["ABOUT_TIME"] = "\n\n" + | |
| 69 | +"Wybรณr czasu:\n" + | |
| 70 | +"- Kliknij na jednym z pรณl czasu by zwiฤkszyฤ jego wartoลฤ\n" + | |
| 71 | +"- lub kliknij trzymajฤ c Shift by zmiejszyฤ jego wartoลฤ\n" + | |
| 72 | +"- lub kliknij i przeciฤ gnij dla szybszego wyboru."; | |
| 73 | + | |
| 74 | +//Calendar._TT["TOGGLE"] = "Zmieล pierwszy dzieล tygodnia"; | |
| 75 | +Calendar._TT["PREV_YEAR"] = "Poprzedni rok (przytrzymaj dla menu)"; | |
| 76 | +Calendar._TT["PREV_MONTH"] = "Poprzedni miesiฤ c (przytrzymaj dla menu)"; | |
| 77 | +Calendar._TT["GO_TODAY"] = "Idลบ do dzisiaj"; | |
| 78 | +Calendar._TT["NEXT_MONTH"] = "Nastฤpny miesiฤ c (przytrzymaj dla menu)"; | |
| 79 | +Calendar._TT["NEXT_YEAR"] = "Nastฤpny rok (przytrzymaj dla menu)"; | |
| 80 | +Calendar._TT["SEL_DATE"] = "Wybierz datฤ"; | |
| 81 | +Calendar._TT["DRAG_TO_MOVE"] = "Przeciฤ gnij by przesunฤ ฤ"; | |
| 82 | +Calendar._TT["PART_TODAY"] = " (dzisiaj)"; | |
| 83 | +Calendar._TT["MON_FIRST"] = "Wyลwietl poniedziaลek jako pierwszy"; | |
| 84 | +Calendar._TT["SUN_FIRST"] = "Wyลwietl niedzielฤ jako pierwszฤ "; | |
| 85 | +Calendar._TT["CLOSE"] = "Zamknij"; | |
| 86 | +Calendar._TT["TODAY"] = "Dzisiaj"; | |
| 87 | +Calendar._TT["TIME_PART"] = "(Shift-)Kliknij lub przeciฤ gnij by zmieniฤ wartoลฤ"; | |
| 88 | + | |
| 89 | +// date formats | |
| 90 | +Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d"; | |
| 91 | +Calendar._TT["TT_DATE_FORMAT"] = "%e %B, %A"; | |
| 92 | + | |
| 93 | +Calendar._TT["WK"] = "ty"; | ... | ... |
thirdpartyjs/jscalendar-1.0/lang/calendar-pl.js
0 โ 100644
| 1 | +// ** I18N | |
| 2 | +// Calendar PL language | |
| 3 | +// Author: Artur Filipiak, <imagen@poczta.fm> | |
| 4 | +// January, 2004 | |
| 5 | +// Encoding: UTF-8 | |
| 6 | +Calendar._DN = new Array | |
| 7 | +("Niedziela", "Poniedziaลek", "Wtorek", "ลroda", "Czwartek", "Piฤ tek", "Sobota", "Niedziela"); | |
| 8 | + | |
| 9 | +Calendar._SDN = new Array | |
| 10 | +("N", "Pn", "Wt", "ลr", "Cz", "Pt", "So", "N"); | |
| 11 | + | |
| 12 | +Calendar._MN = new Array | |
| 13 | +("Styczeล", "Luty", "Marzec", "Kwiecieล", "Maj", "Czerwiec", "Lipiec", "Sierpieล", "Wrzesieล", "Paลบdziernik", "Listopad", "Grudzieล"); | |
| 14 | + | |
| 15 | +Calendar._SMN = new Array | |
| 16 | +("Sty", "Lut", "Mar", "Kwi", "Maj", "Cze", "Lip", "Sie", "Wrz", "Paลบ", "Lis", "Gru"); | |
| 17 | + | |
| 18 | +// tooltips | |
| 19 | +Calendar._TT = {}; | |
| 20 | +Calendar._TT["INFO"] = "O kalendarzu"; | |
| 21 | + | |
| 22 | +Calendar._TT["ABOUT"] = | |
| 23 | +"DHTML Date/Time Selector\n" + | |
| 24 | +"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-) | |
| 25 | +"For latest version visit: http://www.dynarch.com/projects/calendar/\n" + | |
| 26 | +"Distributed under GNU LGPL. See http://gnu.org/licenses/lgpl.html for details." + | |
| 27 | +"\n\n" + | |
| 28 | +"Wybรณr daty:\n" + | |
| 29 | +"- aby wybraฤ rok uลผyj przyciskรณw \xab, \xbb\n" + | |
| 30 | +"- aby wybraฤ miesiฤ c uลผyj przyciskรณw " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + "\n" + | |
| 31 | +"- aby przyspieszyฤ wybรณr przytrzymaj wciลniฤty przycisk myszy nad ww. przyciskami."; | |
| 32 | +Calendar._TT["ABOUT_TIME"] = "\n\n" + | |
| 33 | +"Wybรณr czasu:\n" + | |
| 34 | +"- aby zwiฤkszyฤ wartoลฤ kliknij na dowolnym elemencie selekcji czasu\n" + | |
| 35 | +"- aby zmniejszyฤ wartoลฤ uลผyj dodatkowo klawisza Shift\n" + | |
| 36 | +"- moลผesz rรณwnieลผ poruszaฤ myszkฤ w lewo i prawo wraz z wciลniฤtym lewym klawiszem."; | |
| 37 | + | |
| 38 | +Calendar._TT["PREV_YEAR"] = "Poprz. rok (przytrzymaj dla menu)"; | |
| 39 | +Calendar._TT["PREV_MONTH"] = "Poprz. miesiฤ c (przytrzymaj dla menu)"; | |
| 40 | +Calendar._TT["GO_TODAY"] = "Pokaลผ dziล"; | |
| 41 | +Calendar._TT["NEXT_MONTH"] = "Nast. miesiฤ c (przytrzymaj dla menu)"; | |
| 42 | +Calendar._TT["NEXT_YEAR"] = "Nast. rok (przytrzymaj dla menu)"; | |
| 43 | +Calendar._TT["SEL_DATE"] = "Wybierz datฤ"; | |
| 44 | +Calendar._TT["DRAG_TO_MOVE"] = "Przesuล okienko"; | |
| 45 | +Calendar._TT["PART_TODAY"] = " (dziล)"; | |
| 46 | +Calendar._TT["MON_FIRST"] = "Pokaลผ Poniedziaลek jako pierwszy"; | |
| 47 | +Calendar._TT["SUN_FIRST"] = "Pokaลผ Niedzielฤ jako pierwszฤ "; | |
| 48 | +Calendar._TT["CLOSE"] = "Zamknij"; | |
| 49 | +Calendar._TT["TODAY"] = "Dziล"; | |
| 50 | +Calendar._TT["TIME_PART"] = "(Shift-)klik | drag, aby zmieniฤ wartoลฤ"; | |
| 51 | + | |
| 52 | +// date formats | |
| 53 | +Calendar._TT["DEF_DATE_FORMAT"] = "%Y.%m.%d"; | |
| 54 | +Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e"; | |
| 55 | + | |
| 56 | +Calendar._TT["WK"] = "wk"; | |
| 0 | 57 | \ No newline at end of file | ... | ... |
thirdpartyjs/jscalendar-1.0/lang/calendar-pt.js
0 โ 100644
| 1 | +// ** I18N | |
| 2 | + | |
| 3 | +// Calendar pt_BR language | |
| 4 | +// Author: Adalberto Machado, <betosm@terra.com.br> | |
| 5 | +// Encoding: any | |
| 6 | +// Distributed under the same terms as the calendar itself. | |
| 7 | + | |
| 8 | +// For translators: please use UTF-8 if possible. We strongly believe that | |
| 9 | +// Unicode is the answer to a real internationalized world. Also please | |
| 10 | +// include your contact information in the header, as can be seen above. | |
| 11 | + | |
| 12 | +// full day names | |
| 13 | +Calendar._DN = new Array | |
| 14 | +("Domingo", | |
| 15 | + "Segunda", | |
| 16 | + "Terca", | |
| 17 | + "Quarta", | |
| 18 | + "Quinta", | |
| 19 | + "Sexta", | |
| 20 | + "Sabado", | |
| 21 | + "Domingo"); | |
| 22 | + | |
| 23 | +// Please note that the following array of short day names (and the same goes | |
| 24 | +// for short month names, _SMN) isn't absolutely necessary. We give it here | |
| 25 | +// for exemplification on how one can customize the short day names, but if | |
| 26 | +// they are simply the first N letters of the full name you can simply say: | |
| 27 | +// | |
| 28 | +// Calendar._SDN_len = N; // short day name length | |
| 29 | +// Calendar._SMN_len = N; // short month name length | |
| 30 | +// | |
| 31 | +// If N = 3 then this is not needed either since we assume a value of 3 if not | |
| 32 | +// present, to be compatible with translation files that were written before | |
| 33 | +// this feature. | |
| 34 | + | |
| 35 | +// short day names | |
| 36 | +Calendar._SDN = new Array | |
| 37 | +("Dom", | |
| 38 | + "Seg", | |
| 39 | + "Ter", | |
| 40 | + "Qua", | |
| 41 | + "Qui", | |
| 42 | + "Sex", | |
| 43 | + "Sab", | |
| 44 | + "Dom"); | |
| 45 | + | |
| 46 | +// full month names | |
| 47 | +Calendar._MN = new Array | |
| 48 | +("Janeiro", | |
| 49 | + "Fevereiro", | |
| 50 | + "Marco", | |
| 51 | + "Abril", | |
| 52 | + "Maio", | |
| 53 | + "Junho", | |
| 54 | + "Julho", | |
| 55 | + "Agosto", | |
| 56 | + "Setembro", | |
| 57 | + "Outubro", | |
| 58 | + "Novembro", | |
| 59 | + "Dezembro"); | |
| 60 | + | |
| 61 | +// short month names | |
| 62 | +Calendar._SMN = new Array | |
| 63 | +("Jan", | |
| 64 | + "Fev", | |
| 65 | + "Mar", | |
| 66 | + "Abr", | |
| 67 | + "Mai", | |
| 68 | + "Jun", | |
| 69 | + "Jul", | |
| 70 | + "Ago", | |
| 71 | + "Set", | |
| 72 | + "Out", | |
| 73 | + "Nov", | |
| 74 | + "Dez"); | |
| 75 | + | |
| 76 | +// tooltips | |
| 77 | +Calendar._TT = {}; | |
| 78 | +Calendar._TT["INFO"] = "Sobre o calendario"; | |
| 79 | + | |
| 80 | +Calendar._TT["ABOUT"] = | |
| 81 | +"DHTML Date/Time Selector\n" + | |
| 82 | +"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-) | |
| 83 | +"Ultima versao visite: http://www.dynarch.com/projects/calendar/\n" + | |
| 84 | +"Distribuido sobre GNU LGPL. Veja http://gnu.org/licenses/lgpl.html para detalhes." + | |
| 85 | +"\n\n" + | |
| 86 | +"Selecao de data:\n" + | |
| 87 | +"- Use os botoes \xab, \xbb para selecionar o ano\n" + | |
| 88 | +"- Use os botoes " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " para selecionar o mes\n" + | |
| 89 | +"- Segure o botao do mouse em qualquer um desses botoes para selecao rapida."; | |
| 90 | +Calendar._TT["ABOUT_TIME"] = "\n\n" + | |
| 91 | +"Selecao de hora:\n" + | |
| 92 | +"- Clique em qualquer parte da hora para incrementar\n" + | |
| 93 | +"- ou Shift-click para decrementar\n" + | |
| 94 | +"- ou clique e segure para selecao rapida."; | |
| 95 | + | |
| 96 | +Calendar._TT["PREV_YEAR"] = "Ant. ano (segure para menu)"; | |
| 97 | +Calendar._TT["PREV_MONTH"] = "Ant. mes (segure para menu)"; | |
| 98 | +Calendar._TT["GO_TODAY"] = "Hoje"; | |
| 99 | +Calendar._TT["NEXT_MONTH"] = "Prox. mes (segure para menu)"; | |
| 100 | +Calendar._TT["NEXT_YEAR"] = "Prox. ano (segure para menu)"; | |
| 101 | +Calendar._TT["SEL_DATE"] = "Selecione a data"; | |
| 102 | +Calendar._TT["DRAG_TO_MOVE"] = "Arraste para mover"; | |
| 103 | +Calendar._TT["PART_TODAY"] = " (hoje)"; | |
| 104 | + | |
| 105 | +// the following is to inform that "%s" is to be the first day of week | |
| 106 | +// %s will be replaced with the day name. | |
| 107 | +Calendar._TT["DAY_FIRST"] = "Mostre %s primeiro"; | |
| 108 | + | |
| 109 | +// This may be locale-dependent. It specifies the week-end days, as an array | |
| 110 | +// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1 | |
| 111 | +// means Monday, etc. | |
| 112 | +Calendar._TT["WEEKEND"] = "0,6"; | |
| 113 | + | |
| 114 | +Calendar._TT["CLOSE"] = "Fechar"; | |
| 115 | +Calendar._TT["TODAY"] = "Hoje"; | |
| 116 | +Calendar._TT["TIME_PART"] = "(Shift-)Click ou arraste para mudar valor"; | |
| 117 | + | |
| 118 | +// date formats | |
| 119 | +Calendar._TT["DEF_DATE_FORMAT"] = "%d/%m/%Y"; | |
| 120 | +Calendar._TT["TT_DATE_FORMAT"] = "%a, %e %b"; | |
| 121 | + | |
| 122 | +Calendar._TT["WK"] = "sm"; | |
| 123 | +Calendar._TT["TIME"] = "Hora:"; | ... | ... |
thirdpartyjs/jscalendar-1.0/lang/calendar-ro.js
0 โ 100644
| 1 | +// ** I18N | |
| 2 | +Calendar._DN = new Array | |
| 3 | +("Duminicฤ", | |
| 4 | + "Luni", | |
| 5 | + "Marลฃi", | |
| 6 | + "Miercuri", | |
| 7 | + "Joi", | |
| 8 | + "Vineri", | |
| 9 | + "Sรขmbฤtฤ", | |
| 10 | + "Duminicฤ"); | |
| 11 | +Calendar._SDN_len = 2; | |
| 12 | +Calendar._MN = new Array | |
| 13 | +("Ianuarie", | |
| 14 | + "Februarie", | |
| 15 | + "Martie", | |
| 16 | + "Aprilie", | |
| 17 | + "Mai", | |
| 18 | + "Iunie", | |
| 19 | + "Iulie", | |
| 20 | + "August", | |
| 21 | + "Septembrie", | |
| 22 | + "Octombrie", | |
| 23 | + "Noiembrie", | |
| 24 | + "Decembrie"); | |
| 25 | + | |
| 26 | +// tooltips | |
| 27 | +Calendar._TT = {}; | |
| 28 | + | |
| 29 | +Calendar._TT["INFO"] = "Despre calendar"; | |
| 30 | + | |
| 31 | +Calendar._TT["ABOUT"] = | |
| 32 | +"DHTML Date/Time Selector\n" + | |
| 33 | +"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-) | |
| 34 | +"Pentru ultima versiune vizitaลฃi: http://www.dynarch.com/projects/calendar/\n" + | |
| 35 | +"Distribuit sub GNU LGPL. See http://gnu.org/licenses/lgpl.html for details." + | |
| 36 | +"\n\n" + | |
| 37 | +"Selecลฃia datei:\n" + | |
| 38 | +"- Folosiลฃi butoanele \xab, \xbb pentru a selecta anul\n" + | |
| 39 | +"- Folosiลฃi butoanele " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " pentru a selecta luna\n" + | |
| 40 | +"- Tineลฃi butonul mouse-ului apฤsat pentru selecลฃie mai rapidฤ."; | |
| 41 | +Calendar._TT["ABOUT_TIME"] = "\n\n" + | |
| 42 | +"Selecลฃia orei:\n" + | |
| 43 | +"- Click pe ora sau minut pentru a mฤri valoarea cu 1\n" + | |
| 44 | +"- Sau Shift-Click pentru a micลora valoarea cu 1\n" + | |
| 45 | +"- Sau Click ลi drag pentru a selecta mai repede."; | |
| 46 | + | |
| 47 | +Calendar._TT["PREV_YEAR"] = "Anul precedent (lung pt menu)"; | |
| 48 | +Calendar._TT["PREV_MONTH"] = "Luna precedentฤ (lung pt menu)"; | |
| 49 | +Calendar._TT["GO_TODAY"] = "Data de azi"; | |
| 50 | +Calendar._TT["NEXT_MONTH"] = "Luna urmฤtoare (lung pt menu)"; | |
| 51 | +Calendar._TT["NEXT_YEAR"] = "Anul urmฤtor (lung pt menu)"; | |
| 52 | +Calendar._TT["SEL_DATE"] = "Selecteazฤ data"; | |
| 53 | +Calendar._TT["DRAG_TO_MOVE"] = "Trage pentru a miลca"; | |
| 54 | +Calendar._TT["PART_TODAY"] = " (astฤzi)"; | |
| 55 | +Calendar._TT["DAY_FIRST"] = "Afiลeazฤ %s prima zi"; | |
| 56 | +Calendar._TT["WEEKEND"] = "0,6"; | |
| 57 | +Calendar._TT["CLOSE"] = "รnchide"; | |
| 58 | +Calendar._TT["TODAY"] = "Astฤzi"; | |
| 59 | +Calendar._TT["TIME_PART"] = "(Shift-)Click sau drag pentru a selecta"; | |
| 60 | + | |
| 61 | +// date formats | |
| 62 | +Calendar._TT["DEF_DATE_FORMAT"] = "%d-%m-%Y"; | |
| 63 | +Calendar._TT["TT_DATE_FORMAT"] = "%A, %d %B"; | |
| 64 | + | |
| 65 | +Calendar._TT["WK"] = "spt"; | |
| 66 | +Calendar._TT["TIME"] = "Ora:"; | ... | ... |
thirdpartyjs/jscalendar-1.0/lang/calendar-ru.js
0 โ 100644
| 1 | +// ** I18N | |
| 2 | + | |
| 3 | +// Calendar RU language | |
| 4 | +// Translation: Sly Golovanov, http://golovanov.net, <sly@golovanov.net> | |
| 5 | +// Encoding: any | |
| 6 | +// Distributed under the same terms as the calendar itself. | |
| 7 | + | |
| 8 | +// For translators: please use UTF-8 if possible. We strongly believe that | |
| 9 | +// Unicode is the answer to a real internationalized world. Also please | |
| 10 | +// include your contact information in the header, as can be seen above. | |
| 11 | + | |
| 12 | +// full day names | |
| 13 | +Calendar._DN = new Array | |
| 14 | +("ะฒะพัะบัะตัะตะฝัะต", | |
| 15 | + "ะฟะพะฝะตะดะตะปัะฝะธะบ", | |
| 16 | + "ะฒัะพัะฝะธะบ", | |
| 17 | + "ััะตะดะฐ", | |
| 18 | + "ัะตัะฒะตัะณ", | |
| 19 | + "ะฟััะฝะธัะฐ", | |
| 20 | + "ััะฑะฑะพัะฐ", | |
| 21 | + "ะฒะพัะบัะตัะตะฝัะต"); | |
| 22 | + | |
| 23 | +// Please note that the following array of short day names (and the same goes | |
| 24 | +// for short month names, _SMN) isn't absolutely necessary. We give it here | |
| 25 | +// for exemplification on how one can customize the short day names, but if | |
| 26 | +// they are simply the first N letters of the full name you can simply say: | |
| 27 | +// | |
| 28 | +// Calendar._SDN_len = N; // short day name length | |
| 29 | +// Calendar._SMN_len = N; // short month name length | |
| 30 | +// | |
| 31 | +// If N = 3 then this is not needed either since we assume a value of 3 if not | |
| 32 | +// present, to be compatible with translation files that were written before | |
| 33 | +// this feature. | |
| 34 | + | |
| 35 | +// short day names | |
| 36 | +Calendar._SDN = new Array | |
| 37 | +("ะฒัะบ", | |
| 38 | + "ะฟะพะฝ", | |
| 39 | + "ะฒัั", | |
| 40 | + "ััะด", | |
| 41 | + "ัะตั", | |
| 42 | + "ะฟัั", | |
| 43 | + "ััะฑ", | |
| 44 | + "ะฒัะบ"); | |
| 45 | + | |
| 46 | +// full month names | |
| 47 | +Calendar._MN = new Array | |
| 48 | +("ัะฝะฒะฐัั", | |
| 49 | + "ัะตะฒัะฐะปั", | |
| 50 | + "ะผะฐัั", | |
| 51 | + "ะฐะฟัะตะปั", | |
| 52 | + "ะผะฐะน", | |
| 53 | + "ะธัะฝั", | |
| 54 | + "ะธัะปั", | |
| 55 | + "ะฐะฒะณััั", | |
| 56 | + "ัะตะฝััะฑัั", | |
| 57 | + "ะพะบััะฑัั", | |
| 58 | + "ะฝะพัะฑัั", | |
| 59 | + "ะดะตะบะฐะฑัั"); | |
| 60 | + | |
| 61 | +// short month names | |
| 62 | +Calendar._SMN = new Array | |
| 63 | +("ัะฝะฒ", | |
| 64 | + "ัะตะฒ", | |
| 65 | + "ะผะฐั", | |
| 66 | + "ะฐะฟั", | |
| 67 | + "ะผะฐะน", | |
| 68 | + "ะธัะฝ", | |
| 69 | + "ะธัะป", | |
| 70 | + "ะฐะฒะณ", | |
| 71 | + "ัะตะฝ", | |
| 72 | + "ะพะบั", | |
| 73 | + "ะฝะพั", | |
| 74 | + "ะดะตะบ"); | |
| 75 | + | |
| 76 | +// tooltips | |
| 77 | +Calendar._TT = {}; | |
| 78 | +Calendar._TT["INFO"] = "ะ ะบะฐะปะตะฝะดะฐัะต..."; | |
| 79 | + | |
| 80 | +Calendar._TT["ABOUT"] = | |
| 81 | +"DHTML Date/Time Selector\n" + | |
| 82 | +"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-) | |
| 83 | +"For latest version visit: http://www.dynarch.com/projects/calendar/\n" + | |
| 84 | +"Distributed under GNU LGPL. See http://gnu.org/licenses/lgpl.html for details." + | |
| 85 | +"\n\n" + | |
| 86 | +"ะะฐะบ ะฒัะฑัะฐัั ะดะฐัั:\n" + | |
| 87 | +"- ะัะธ ะฟะพะผะพัะธ ะบะฝะพะฟะพะบ \xab, \xbb ะผะพะถะฝะพ ะฒัะฑัะฐัั ะณะพะด\n" + | |
| 88 | +"- ะัะธ ะฟะพะผะพัะธ ะบะฝะพะฟะพะบ " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " ะผะพะถะฝะพ ะฒัะฑัะฐัั ะผะตััั\n" + | |
| 89 | +"- ะะพะดะตัะถะธัะต ััะธ ะบะฝะพะฟะบะธ ะฝะฐะถะฐััะผะธ, ััะพะฑั ะฟะพัะฒะธะปะพัั ะผะตะฝั ะฑััััะพะณะพ ะฒัะฑะพัะฐ."; | |
| 90 | +Calendar._TT["ABOUT_TIME"] = "\n\n" + | |
| 91 | +"ะะฐะบ ะฒัะฑัะฐัั ะฒัะตะผั:\n" + | |
| 92 | +"- ะัะธ ะบะปะธะบะต ะฝะฐ ัะฐัะฐั ะธะปะธ ะผะธะฝััะฐั ะพะฝะธ ัะฒะตะปะธัะธะฒะฐัััั\n" + | |
| 93 | +"- ะฟัะธ ะบะปะธะบะต ั ะฝะฐะถะฐัะพะน ะบะปะฐะฒะธัะตะน Shift ะพะฝะธ ัะผะตะฝััะฐัััั\n" + | |
| 94 | +"- ะตัะปะธ ะฝะฐะถะฐัั ะธ ะดะฒะธะณะฐัั ะผััะบะพะน ะฒะปะตะฒะพ/ะฒะฟัะฐะฒะพ, ะพะฝะธ ะฑัะดัั ะผะตะฝััััั ะฑััััะตะต."; | |
| 95 | + | |
| 96 | +Calendar._TT["PREV_YEAR"] = "ะะฐ ะณะพะด ะฝะฐะทะฐะด (ัะดะตัะถะธะฒะฐัั ะดะปั ะผะตะฝั)"; | |
| 97 | +Calendar._TT["PREV_MONTH"] = "ะะฐ ะผะตััั ะฝะฐะทะฐะด (ัะดะตัะถะธะฒะฐัั ะดะปั ะผะตะฝั)"; | |
| 98 | +Calendar._TT["GO_TODAY"] = "ะกะตะณะพะดะฝั"; | |
| 99 | +Calendar._TT["NEXT_MONTH"] = "ะะฐ ะผะตััั ะฒะฟะตัะตะด (ัะดะตัะถะธะฒะฐัั ะดะปั ะผะตะฝั)"; | |
| 100 | +Calendar._TT["NEXT_YEAR"] = "ะะฐ ะณะพะด ะฒะฟะตัะตะด (ัะดะตัะถะธะฒะฐัั ะดะปั ะผะตะฝั)"; | |
| 101 | +Calendar._TT["SEL_DATE"] = "ะัะฑะตัะธัะต ะดะฐัั"; | |
| 102 | +Calendar._TT["DRAG_TO_MOVE"] = "ะะตัะตัะฐัะบะธะฒะฐะนัะต ะผััะบะพะน"; | |
| 103 | +Calendar._TT["PART_TODAY"] = " (ัะตะณะพะดะฝั)"; | |
| 104 | + | |
| 105 | +// the following is to inform that "%s" is to be the first day of week | |
| 106 | +// %s will be replaced with the day name. | |
| 107 | +Calendar._TT["DAY_FIRST"] = "ะะตัะฒัะน ะดะตะฝั ะฝะตะดะตะปะธ ะฑัะดะตั %s"; | |
| 108 | + | |
| 109 | +// This may be locale-dependent. It specifies the week-end days, as an array | |
| 110 | +// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1 | |
| 111 | +// means Monday, etc. | |
| 112 | +Calendar._TT["WEEKEND"] = "0,6"; | |
| 113 | + | |
| 114 | +Calendar._TT["CLOSE"] = "ะะฐะบัััั"; | |
| 115 | +Calendar._TT["TODAY"] = "ะกะตะณะพะดะฝั"; | |
| 116 | +Calendar._TT["TIME_PART"] = "(Shift-)ะบะปะธะบ ะธะปะธ ะฝะฐะถะฐัั ะธ ะดะฒะธะณะฐัั"; | |
| 117 | + | |
| 118 | +// date formats | |
| 119 | +Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d"; | |
| 120 | +Calendar._TT["TT_DATE_FORMAT"] = "%e %b, %a"; | |
| 121 | + | |
| 122 | +Calendar._TT["WK"] = "ะฝะตะด"; | |
| 123 | +Calendar._TT["TIME"] = "ะัะตะผั:"; | ... | ... |
thirdpartyjs/jscalendar-1.0/lang/calendar-ru_win_.js
0 โ 100644
| 1 | +// ** I18N | |
| 2 | + | |
| 3 | +// Calendar RU language | |
| 4 | +// Translation: Sly Golovanov, http://golovanov.net, <sly@golovanov.net> | |
| 5 | +// Encoding: any | |
| 6 | +// Distributed under the same terms as the calendar itself. | |
| 7 | + | |
| 8 | +// For translators: please use UTF-8 if possible. We strongly believe that | |
| 9 | +// Unicode is the answer to a real internationalized world. Also please | |
| 10 | +// include your contact information in the header, as can be seen above. | |
| 11 | + | |
| 12 | +// full day names | |
| 13 | +Calendar._DN = new Array | |
| 14 | +("รขรฎรฑรชรฐรฅรฑรฅรญรผรฅ", | |
| 15 | + "รฏรฎรญรฅรครฅรซรผรญรจรช", | |
| 16 | + "รขรฒรฎรฐรญรจรช", | |
| 17 | + "รฑรฐรฅรคร ", | |
| 18 | + "รทรฅรฒรขรฅรฐรฃ", | |
| 19 | + "รฏรฟรฒรญรจรถร ", | |
| 20 | + "รฑรณรกรกรฎรฒร ", | |
| 21 | + "รขรฎรฑรชรฐรฅรฑรฅรญรผรฅ"); | |
| 22 | + | |
| 23 | +// Please note that the following array of short day names (and the same goes | |
| 24 | +// for short month names, _SMN) isn't absolutely necessary. We give it here | |
| 25 | +// for exemplification on how one can customize the short day names, but if | |
| 26 | +// they are simply the first N letters of the full name you can simply say: | |
| 27 | +// | |
| 28 | +// Calendar._SDN_len = N; // short day name length | |
| 29 | +// Calendar._SMN_len = N; // short month name length | |
| 30 | +// | |
| 31 | +// If N = 3 then this is not needed either since we assume a value of 3 if not | |
| 32 | +// present, to be compatible with translation files that were written before | |
| 33 | +// this feature. | |
| 34 | + | |
| 35 | +// short day names | |
| 36 | +Calendar._SDN = new Array | |
| 37 | +("รขรฑรช", | |
| 38 | + "รฏรฎรญ", | |
| 39 | + "รขรฒรฐ", | |
| 40 | + "รฑรฐรค", | |
| 41 | + "รทรฅรฒ", | |
| 42 | + "รฏรฟรฒ", | |
| 43 | + "รฑรณรก", | |
| 44 | + "รขรฑรช"); | |
| 45 | + | |
| 46 | +// full month names | |
| 47 | +Calendar._MN = new Array | |
| 48 | +("รฟรญรขร รฐรผ", | |
| 49 | + "รดรฅรขรฐร รซรผ", | |
| 50 | + "รฌร รฐรฒ", | |
| 51 | + "ร รฏรฐรฅรซรผ", | |
| 52 | + "รฌร รฉ", | |
| 53 | + "รจรพรญรผ", | |
| 54 | + "รจรพรซรผ", | |
| 55 | + "ร รขรฃรณรฑรฒ", | |
| 56 | + "รฑรฅรญรฒรฟรกรฐรผ", | |
| 57 | + "รฎรชรฒรฟรกรฐรผ", | |
| 58 | + "รญรฎรฟรกรฐรผ", | |
| 59 | + "รครฅรชร รกรฐรผ"); | |
| 60 | + | |
| 61 | +// short month names | |
| 62 | +Calendar._SMN = new Array | |
| 63 | +("รฟรญรข", | |
| 64 | + "รดรฅรข", | |
| 65 | + "รฌร รฐ", | |
| 66 | + "ร รฏรฐ", | |
| 67 | + "รฌร รฉ", | |
| 68 | + "รจรพรญ", | |
| 69 | + "รจรพรซ", | |
| 70 | + "ร รขรฃ", | |
| 71 | + "รฑรฅรญ", | |
| 72 | + "รฎรชรฒ", | |
| 73 | + "รญรฎรฟ", | |
| 74 | + "รครฅรช"); | |
| 75 | + | |
| 76 | +// tooltips | |
| 77 | +Calendar._TT = {}; | |
| 78 | +Calendar._TT["INFO"] = "ร รชร รซรฅรญรคร รฐรฅ..."; | |
| 79 | + | |
| 80 | +Calendar._TT["ABOUT"] = | |
| 81 | +"DHTML Date/Time Selector\n" + | |
| 82 | +"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-) | |
| 83 | +"For latest version visit: http://www.dynarch.com/projects/calendar/\n" + | |
| 84 | +"Distributed under GNU LGPL. See http://gnu.org/licenses/lgpl.html for details." + | |
| 85 | +"\n\n" + | |
| 86 | +"รร รช รขรปรกรฐร รฒรผ รคร รฒรณ:\n" + | |
| 87 | +"- รรฐรจ รฏรฎรฌรฎรนรจ รชรญรฎรฏรฎรช \xab, \xbb รฌรฎรฆรญรฎ รขรปรกรฐร รฒรผ รฃรฎรค\n" + | |
| 88 | +"- รรฐรจ รฏรฎรฌรฎรนรจ รชรญรฎรฏรฎรช " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " รฌรฎรฆรญรฎ รขรปรกรฐร รฒรผ รฌรฅรฑรฟรถ\n" + | |
| 89 | +"- รรฎรครฅรฐรฆรจรฒรฅ รฝรฒรจ รชรญรฎรฏรชรจ รญร รฆร รฒรปรฌรจ, รทรฒรฎรกรป รฏรฎรฟรขรจรซรฎรฑรผ รฌรฅรญรพ รกรปรฑรฒรฐรฎรฃรฎ รขรปรกรฎรฐร ."; | |
| 90 | +Calendar._TT["ABOUT_TIME"] = "\n\n" + | |
| 91 | +"รร รช รขรปรกรฐร รฒรผ รขรฐรฅรฌรฟ:\n" + | |
| 92 | +"- รรฐรจ รชรซรจรชรฅ รญร รทร รฑร รต รจรซรจ รฌรจรญรณรฒร รต รฎรญรจ รณรขรฅรซรจรทรจรขร รพรฒรฑรฟ\n" + | |
| 93 | +"- รฏรฐรจ รชรซรจรชรฅ รฑ รญร รฆร รฒรฎรฉ รชรซร รขรจรธรฅรฉ Shift รฎรญรจ รณรฌรฅรญรผรธร รพรฒรฑรฟ\n" + | |
| 94 | +"- รฅรฑรซรจ รญร รฆร รฒรผ รจ รครขรจรฃร รฒรผ รฌรปรธรชรฎรฉ รขรซรฅรขรฎ/รขรฏรฐร รขรฎ, รฎรญรจ รกรณรครณรฒ รฌรฅรญรฟรฒรผรฑรฟ รกรปรฑรฒรฐรฅรฅ."; | |
| 95 | + | |
| 96 | +Calendar._TT["PREV_YEAR"] = "รร รฃรฎรค รญร รงร รค (รณรครฅรฐรฆรจรขร รฒรผ รครซรฟ รฌรฅรญรพ)"; | |
| 97 | +Calendar._TT["PREV_MONTH"] = "รร รฌรฅรฑรฟรถ รญร รงร รค (รณรครฅรฐรฆรจรขร รฒรผ รครซรฟ รฌรฅรญรพ)"; | |
| 98 | +Calendar._TT["GO_TODAY"] = "รรฅรฃรฎรครญรฟ"; | |
| 99 | +Calendar._TT["NEXT_MONTH"] = "รร รฌรฅรฑรฟรถ รขรฏรฅรฐรฅรค (รณรครฅรฐรฆรจรขร รฒรผ รครซรฟ รฌรฅรญรพ)"; | |
| 100 | +Calendar._TT["NEXT_YEAR"] = "รร รฃรฎรค รขรฏรฅรฐรฅรค (รณรครฅรฐรฆรจรขร รฒรผ รครซรฟ รฌรฅรญรพ)"; | |
| 101 | +Calendar._TT["SEL_DATE"] = "รรปรกรฅรฐรจรฒรฅ รคร รฒรณ"; | |
| 102 | +Calendar._TT["DRAG_TO_MOVE"] = "รรฅรฐรฅรฒร รฑรชรจรขร รฉรฒรฅ รฌรปรธรชรฎรฉ"; | |
| 103 | +Calendar._TT["PART_TODAY"] = " (รฑรฅรฃรฎรครญรฟ)"; | |
| 104 | + | |
| 105 | +// the following is to inform that "%s" is to be the first day of week | |
| 106 | +// %s will be replaced with the day name. | |
| 107 | +Calendar._TT["DAY_FIRST"] = "รรฅรฐรขรปรฉ รครฅรญรผ รญรฅรครฅรซรจ รกรณรครฅรฒ %s"; | |
| 108 | + | |
| 109 | +// This may be locale-dependent. It specifies the week-end days, as an array | |
| 110 | +// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1 | |
| 111 | +// means Monday, etc. | |
| 112 | +Calendar._TT["WEEKEND"] = "0,6"; | |
| 113 | + | |
| 114 | +Calendar._TT["CLOSE"] = "รร รชรฐรปรฒรผ"; | |
| 115 | +Calendar._TT["TODAY"] = "รรฅรฃรฎรครญรฟ"; | |
| 116 | +Calendar._TT["TIME_PART"] = "(Shift-)รชรซรจรช รจรซรจ รญร รฆร รฒรผ รจ รครขรจรฃร รฒรผ"; | |
| 117 | + | |
| 118 | +// date formats | |
| 119 | +Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d"; | |
| 120 | +Calendar._TT["TT_DATE_FORMAT"] = "%e %b, %a"; | |
| 121 | + | |
| 122 | +Calendar._TT["WK"] = "รญรฅรค"; | |
| 123 | +Calendar._TT["TIME"] = "รรฐรฅรฌรฟ:"; | ... | ... |
thirdpartyjs/jscalendar-1.0/lang/calendar-si.js
0 โ 100644
| 1 | +/* Slovenian language file for the DHTML Calendar version 0.9.2 | |
| 2 | +* Author David Milost <mercy@volja.net>, January 2004. | |
| 3 | +* Feel free to use this script under the terms of the GNU Lesser General | |
| 4 | +* Public License, as long as you do not remove or alter this notice. | |
| 5 | +*/ | |
| 6 | + // full day names | |
| 7 | +Calendar._DN = new Array | |
| 8 | +("Nedelja", | |
| 9 | + "Ponedeljek", | |
| 10 | + "Torek", | |
| 11 | + "Sreda", | |
| 12 | + "ฤetrtek", | |
| 13 | + "Petek", | |
| 14 | + "Sobota", | |
| 15 | + "Nedelja"); | |
| 16 | + // short day names | |
| 17 | + Calendar._SDN = new Array | |
| 18 | +("Ned", | |
| 19 | + "Pon", | |
| 20 | + "Tor", | |
| 21 | + "Sre", | |
| 22 | + "ฤet", | |
| 23 | + "Pet", | |
| 24 | + "Sob", | |
| 25 | + "Ned"); | |
| 26 | +// short month names | |
| 27 | +Calendar._SMN = new Array | |
| 28 | +("Jan", | |
| 29 | + "Feb", | |
| 30 | + "Mar", | |
| 31 | + "Apr", | |
| 32 | + "Maj", | |
| 33 | + "Jun", | |
| 34 | + "Jul", | |
| 35 | + "Avg", | |
| 36 | + "Sep", | |
| 37 | + "Okt", | |
| 38 | + "Nov", | |
| 39 | + "Dec"); | |
| 40 | + // full month names | |
| 41 | +Calendar._MN = new Array | |
| 42 | +("Januar", | |
| 43 | + "Februar", | |
| 44 | + "Marec", | |
| 45 | + "April", | |
| 46 | + "Maj", | |
| 47 | + "Junij", | |
| 48 | + "Julij", | |
| 49 | + "Avgust", | |
| 50 | + "September", | |
| 51 | + "Oktober", | |
| 52 | + "November", | |
| 53 | + "December"); | |
| 54 | + | |
| 55 | +// tooltips | |
| 56 | +// tooltips | |
| 57 | +Calendar._TT = {}; | |
| 58 | +Calendar._TT["INFO"] = "O koledarju"; | |
| 59 | + | |
| 60 | +Calendar._TT["ABOUT"] = | |
| 61 | +"DHTML Date/Time Selector\n" + | |
| 62 | +"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-) | |
| 63 | +"Za zadnjo verzijo pojdine na naslov: http://www.dynarch.com/projects/calendar/\n" + | |
| 64 | +"Distribuirano pod GNU LGPL. Poglejte http://gnu.org/licenses/lgpl.html za podrobnosti." + | |
| 65 | +"\n\n" + | |
| 66 | +"Izbor datuma:\n" + | |
| 67 | +"- Uporabite \xab, \xbb gumbe za izbor leta\n" + | |
| 68 | +"- Uporabite " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " gumbe za izbor meseca\n" + | |
| 69 | +"- Zadrลพite klik na kateremkoli od zgornjih gumbov za hiter izbor."; | |
| 70 | +Calendar._TT["ABOUT_TIME"] = "\n\n" + | |
| 71 | +"Izbor ฤasa:\n" + | |
| 72 | +"- Kliknite na katerikoli del ฤasa za poveฤ. le-tega\n" + | |
| 73 | +"- ali Shift-click za zmanj. le-tega\n" + | |
| 74 | +"- ali kliknite in povlecite za hiter izbor."; | |
| 75 | + | |
| 76 | +Calendar._TT["TOGGLE"] = "Spremeni dan s katerim se priฤne teden"; | |
| 77 | +Calendar._TT["PREV_YEAR"] = "Predhodnje leto (dolg klik za meni)"; | |
| 78 | +Calendar._TT["PREV_MONTH"] = "Predhodnji mesec (dolg klik za meni)"; | |
| 79 | +Calendar._TT["GO_TODAY"] = "Pojdi na tekoฤi dan"; | |
| 80 | +Calendar._TT["NEXT_MONTH"] = "Naslednji mesec (dolg klik za meni)"; | |
| 81 | +Calendar._TT["NEXT_YEAR"] = "Naslednje leto (dolg klik za meni)"; | |
| 82 | +Calendar._TT["SEL_DATE"] = "Izberite datum"; | |
| 83 | +Calendar._TT["DRAG_TO_MOVE"] = "Pritisni in povleci za spremembo pozicije"; | |
| 84 | +Calendar._TT["PART_TODAY"] = " (danes)"; | |
| 85 | +Calendar._TT["MON_FIRST"] = "Prikaลพi ponedeljek kot prvi dan"; | |
| 86 | +Calendar._TT["SUN_FIRST"] = "Prikaลพi nedeljo kot prvi dan"; | |
| 87 | +Calendar._TT["CLOSE"] = "Zapri"; | |
| 88 | +Calendar._TT["TODAY"] = "Danes"; | |
| 89 | + | |
| 90 | +// date formats | |
| 91 | +Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d"; | |
| 92 | +Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e"; | |
| 93 | + | |
| 94 | +Calendar._TT["WK"] = "Ted"; | |
| 0 | 95 | \ No newline at end of file | ... | ... |
thirdpartyjs/jscalendar-1.0/lang/calendar-sk.js
0 โ 100644
| 1 | +// ** I18N | |
| 2 | + | |
| 3 | +// Calendar SK language | |
| 4 | +// Author: Peter Valach (pvalach@gmx.net) | |
| 5 | +// Encoding: utf-8 | |
| 6 | +// Last update: 2003/10/29 | |
| 7 | +// Distributed under the same terms as the calendar itself. | |
| 8 | + | |
| 9 | +// full day names | |
| 10 | +Calendar._DN = new Array | |
| 11 | +("Nedeรฤพa", | |
| 12 | + "Pondelok", | |
| 13 | + "Utorok", | |
| 14 | + "Streda", | |
| 15 | + "ฤนย tvrtok", | |
| 16 | + "Piatok", | |
| 17 | + "Sobota", | |
| 18 | + "Nedeรฤพa"); | |
| 19 | + | |
| 20 | +// short day names | |
| 21 | +Calendar._SDN = new Array | |
| 22 | +("Ned", | |
| 23 | + "Pon", | |
| 24 | + "Uto", | |
| 25 | + "Str", | |
| 26 | + "ฤนย tv", | |
| 27 | + "Pia", | |
| 28 | + "Sob", | |
| 29 | + "Ned"); | |
| 30 | + | |
| 31 | +// full month names | |
| 32 | +Calendar._MN = new Array | |
| 33 | +("Januฤหr", | |
| 34 | + "Februฤหr", | |
| 35 | + "Marec", | |
| 36 | + "Aprฤยญl", | |
| 37 | + "Mฤหj", | |
| 38 | + "Jฤลn", | |
| 39 | + "Jฤลl", | |
| 40 | + "August", | |
| 41 | + "September", | |
| 42 | + "Oktฤลber", | |
| 43 | + "November", | |
| 44 | + "December"); | |
| 45 | + | |
| 46 | +// short month names | |
| 47 | +Calendar._SMN = new Array | |
| 48 | +("Jan", | |
| 49 | + "Feb", | |
| 50 | + "Mar", | |
| 51 | + "Apr", | |
| 52 | + "Mฤหj", | |
| 53 | + "Jฤลn", | |
| 54 | + "Jฤลl", | |
| 55 | + "Aug", | |
| 56 | + "Sep", | |
| 57 | + "Okt", | |
| 58 | + "Nov", | |
| 59 | + "Dec"); | |
| 60 | + | |
| 61 | +// tooltips | |
| 62 | +Calendar._TT = {}; | |
| 63 | +Calendar._TT["INFO"] = "O kalendฤหri"; | |
| 64 | + | |
| 65 | +Calendar._TT["ABOUT"] = | |
| 66 | +"DHTML Date/Time Selector\n" + | |
| 67 | +"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + | |
| 68 | +"Poslednฤล verziu nฤหjdete na: http://www.dynarch.com/projects/calendar/\n" + | |
| 69 | +"Distribuovanฤยฉ pod GNU LGPL. Viรลน http://gnu.org/licenses/lgpl.html pre detaily." + | |
| 70 | +"\n\n" + | |
| 71 | +"Vฤหber dฤหtumu:\n" + | |
| 72 | +"- Pouฤนฤพite tlaรลคidlฤห \xab, \xbb pre vฤหber roku\n" + | |
| 73 | +"- Pouฤนฤพite tlaรลคidlฤห " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " pre vฤหber mesiaca\n" + | |
| 74 | +"- Ak ktorฤยฉkoรฤพvek z tฤหchto tlaรลคidiel podrฤนฤพฤยญte dlhฤนหie, zobrazฤยญ sa rฤหchly vฤหber."; | |
| 75 | +Calendar._TT["ABOUT_TIME"] = "\n\n" + | |
| 76 | +"Vฤหber รลคasu:\n" + | |
| 77 | +"- Kliknutie na niektorฤล poloฤนฤพku รลคasu ju zvฤหฤนหi\n" + | |
| 78 | +"- Shift-klik ju znฤยญฤนฤพi\n" + | |
| 79 | +"- Ak podrฤนฤพฤยญte tlaรลคฤยญtko stlaรลคenฤยฉ, posฤลvanฤยญm menฤยญte hodnotu."; | |
| 80 | + | |
| 81 | +Calendar._TT["PREV_YEAR"] = "Predoฤนหlฤห rok (podrฤนฤพte pre menu)"; | |
| 82 | +Calendar._TT["PREV_MONTH"] = "Predoฤนหlฤห mesiac (podrฤนฤพte pre menu)"; | |
| 83 | +Calendar._TT["GO_TODAY"] = "Prejsฤนฤ na dneฤนหok"; | |
| 84 | +Calendar._TT["NEXT_MONTH"] = "Nasl. mesiac (podrฤนฤพte pre menu)"; | |
| 85 | +Calendar._TT["NEXT_YEAR"] = "Nasl. rok (podrฤนฤพte pre menu)"; | |
| 86 | +Calendar._TT["SEL_DATE"] = "Zvoรฤพte dฤหtum"; | |
| 87 | +Calendar._TT["DRAG_TO_MOVE"] = "Podrฤนฤพanฤยญm tlaรลคฤยญtka zmenฤยญte polohu"; | |
| 88 | +Calendar._TT["PART_TODAY"] = " (dnes)"; | |
| 89 | +Calendar._TT["MON_FIRST"] = "Zobraziฤนฤ pondelok ako prvฤห"; | |
| 90 | +Calendar._TT["SUN_FIRST"] = "Zobraziฤนฤ nedeรฤพu ako prvฤล"; | |
| 91 | +Calendar._TT["CLOSE"] = "Zavrieฤนฤ"; | |
| 92 | +Calendar._TT["TODAY"] = "Dnes"; | |
| 93 | +Calendar._TT["TIME_PART"] = "(Shift-)klik/ฤนฤahanie zmenฤยญ hodnotu"; | |
| 94 | + | |
| 95 | +// date formats | |
| 96 | +Calendar._TT["DEF_DATE_FORMAT"] = "$d. %m. %Y"; | |
| 97 | +Calendar._TT["TT_DATE_FORMAT"] = "%a, %e. %b"; | |
| 98 | + | |
| 99 | +Calendar._TT["WK"] = "tฤหฤนฤพ"; | ... | ... |
thirdpartyjs/jscalendar-1.0/lang/calendar-sp.js
0 โ 100644
| 1 | +// ** I18N | |
| 2 | + | |
| 3 | +// Calendar SP language | |
| 4 | +// Author: Rafael Velasco <rvu_at_idecnet_dot_com> | |
| 5 | +// Encoding: any | |
| 6 | +// Distributed under the same terms as the calendar itself. | |
| 7 | + | |
| 8 | +// For translators: please use UTF-8 if possible. We strongly believe that | |
| 9 | +// Unicode is the answer to a real internationalized world. Also please | |
| 10 | +// include your contact information in the header, as can be seen above. | |
| 11 | + | |
| 12 | +// full day names | |
| 13 | +Calendar._DN = new Array | |
| 14 | +("Domingo", | |
| 15 | + "Lunes", | |
| 16 | + "Martes", | |
| 17 | + "Miercoles", | |
| 18 | + "Jueves", | |
| 19 | + "Viernes", | |
| 20 | + "Sabado", | |
| 21 | + "Domingo"); | |
| 22 | + | |
| 23 | +Calendar._SDN = new Array | |
| 24 | +("Dom", | |
| 25 | + "Lun", | |
| 26 | + "Mar", | |
| 27 | + "Mie", | |
| 28 | + "Jue", | |
| 29 | + "Vie", | |
| 30 | + "Sab", | |
| 31 | + "Dom"); | |
| 32 | + | |
| 33 | +// full month names | |
| 34 | +Calendar._MN = new Array | |
| 35 | +("Enero", | |
| 36 | + "Febrero", | |
| 37 | + "Marzo", | |
| 38 | + "Abril", | |
| 39 | + "Mayo", | |
| 40 | + "Junio", | |
| 41 | + "Julio", | |
| 42 | + "Agosto", | |
| 43 | + "Septiembre", | |
| 44 | + "Octubre", | |
| 45 | + "Noviembre", | |
| 46 | + "Diciembre"); | |
| 47 | + | |
| 48 | +// short month names | |
| 49 | +Calendar._SMN = new Array | |
| 50 | +("Ene", | |
| 51 | + "Feb", | |
| 52 | + "Mar", | |
| 53 | + "Abr", | |
| 54 | + "May", | |
| 55 | + "Jun", | |
| 56 | + "Jul", | |
| 57 | + "Ago", | |
| 58 | + "Sep", | |
| 59 | + "Oct", | |
| 60 | + "Nov", | |
| 61 | + "Dic"); | |
| 62 | + | |
| 63 | +// tooltips | |
| 64 | +Calendar._TT = {}; | |
| 65 | +Calendar._TT["INFO"] = "Informaciรณn del Calendario"; | |
| 66 | + | |
| 67 | +Calendar._TT["ABOUT"] = | |
| 68 | +"DHTML Date/Time Selector\n" + | |
| 69 | +"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-) | |
| 70 | +"Nuevas versiones en: http://www.dynarch.com/projects/calendar/\n" + | |
| 71 | +"Distribuida bajo licencia GNU LGPL. Para detalles vea http://gnu.org/licenses/lgpl.html ." + | |
| 72 | +"\n\n" + | |
| 73 | +"Selecciรณn de Fechas:\n" + | |
| 74 | +"- Use \xab, \xbb para seleccionar el aรฑo\n" + | |
| 75 | +"- Use " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " para seleccionar el mes\n" + | |
| 76 | +"- Mantenga presionado el botรณn del ratรณn en cualquiera de las opciones superiores para un acceso rapido ."; | |
| 77 | +Calendar._TT["ABOUT_TIME"] = "\n\n" + | |
| 78 | +"Selecciรณn del Reloj:\n" + | |
| 79 | +"- Seleccione la hora para cambiar el reloj\n" + | |
| 80 | +"- o presione Shift-click para disminuirlo\n" + | |
| 81 | +"- o presione click y arrastre del ratรณn para una selecciรณn rapida."; | |
| 82 | + | |
| 83 | +Calendar._TT["PREV_YEAR"] = "Aรฑo anterior (Presione para menu)"; | |
| 84 | +Calendar._TT["PREV_MONTH"] = "Mes Anterior (Presione para menu)"; | |
| 85 | +Calendar._TT["GO_TODAY"] = "Ir a Hoy"; | |
| 86 | +Calendar._TT["NEXT_MONTH"] = "Mes Siguiente (Presione para menu)"; | |
| 87 | +Calendar._TT["NEXT_YEAR"] = "Aรฑo Siguiente (Presione para menu)"; | |
| 88 | +Calendar._TT["SEL_DATE"] = "Seleccione fecha"; | |
| 89 | +Calendar._TT["DRAG_TO_MOVE"] = "Arrastre y mueva"; | |
| 90 | +Calendar._TT["PART_TODAY"] = " (Hoy)"; | |
| 91 | + | |
| 92 | +// the following is to inform that "%s" is to be the first day of week | |
| 93 | +// %s will be replaced with the day name. | |
| 94 | +Calendar._TT["DAY_FIRST"] = "Mostrar %s primero"; | |
| 95 | + | |
| 96 | +// This may be locale-dependent. It specifies the week-end days, as an array | |
| 97 | +// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1 | |
| 98 | +// means Monday, etc. | |
| 99 | +Calendar._TT["WEEKEND"] = "0,6"; | |
| 100 | + | |
| 101 | +Calendar._TT["CLOSE"] = "Cerrar"; | |
| 102 | +Calendar._TT["TODAY"] = "Hoy"; | |
| 103 | +Calendar._TT["TIME_PART"] = "(Shift-)Click o arrastra para cambar el valor"; | |
| 104 | + | |
| 105 | +// date formats | |
| 106 | +Calendar._TT["DEF_DATE_FORMAT"] = "%dd-%mm-%yy"; | |
| 107 | +Calendar._TT["TT_DATE_FORMAT"] = "%A, %e de %B de %Y"; | |
| 108 | + | |
| 109 | +Calendar._TT["WK"] = "Sm"; | |
| 110 | +Calendar._TT["TIME"] = "Hora:"; | ... | ... |
thirdpartyjs/jscalendar-1.0/lang/calendar-sv.js
0 โ 100644
| 1 | +// ** I18N | |
| 2 | + | |
| 3 | +// Calendar SV language (Swedish, svenska) | |
| 4 | +// Author: Mihai Bazon, <mihai_bazon@yahoo.com> | |
| 5 | +// Translation team: <sv@li.org> | |
| 6 | +// Translator: Leonard Norrgรฅrd <leonard.norrgard@refactor.fi> | |
| 7 | +// Last translator: Leonard Norrgรฅrd <leonard.norrgard@refactor.fi> | |
| 8 | +// Encoding: iso-latin-1 | |
| 9 | +// Distributed under the same terms as the calendar itself. | |
| 10 | + | |
| 11 | +// For translators: please use UTF-8 if possible. We strongly believe that | |
| 12 | +// Unicode is the answer to a real internationalized world. Also please | |
| 13 | +// include your contact information in the header, as can be seen above. | |
| 14 | + | |
| 15 | +// full day names | |
| 16 | +Calendar._DN = new Array | |
| 17 | +("sรถndag", | |
| 18 | + "mรฅndag", | |
| 19 | + "tisdag", | |
| 20 | + "onsdag", | |
| 21 | + "torsdag", | |
| 22 | + "fredag", | |
| 23 | + "lรถrdag", | |
| 24 | + "sรถndag"); | |
| 25 | + | |
| 26 | +// Please note that the following array of short day names (and the same goes | |
| 27 | +// for short month names, _SMN) isn't absolutely necessary. We give it here | |
| 28 | +// for exemplification on how one can customize the short day names, but if | |
| 29 | +// they are simply the first N letters of the full name you can simply say: | |
| 30 | +// | |
| 31 | +// Calendar._SDN_len = N; // short day name length | |
| 32 | +// Calendar._SMN_len = N; // short month name length | |
| 33 | +// | |
| 34 | +// If N = 3 then this is not needed either since we assume a value of 3 if not | |
| 35 | +// present, to be compatible with translation files that were written before | |
| 36 | +// this feature. | |
| 37 | +Calendar._SDN_len = 2; | |
| 38 | +Calendar._SMN_len = 3; | |
| 39 | + | |
| 40 | +// full month names | |
| 41 | +Calendar._MN = new Array | |
| 42 | +("januari", | |
| 43 | + "februari", | |
| 44 | + "mars", | |
| 45 | + "april", | |
| 46 | + "maj", | |
| 47 | + "juni", | |
| 48 | + "juli", | |
| 49 | + "augusti", | |
| 50 | + "september", | |
| 51 | + "oktober", | |
| 52 | + "november", | |
| 53 | + "december"); | |
| 54 | + | |
| 55 | +// tooltips | |
| 56 | +Calendar._TT = {}; | |
| 57 | +Calendar._TT["INFO"] = "Om kalendern"; | |
| 58 | + | |
| 59 | +Calendar._TT["ABOUT"] = | |
| 60 | +"DHTML Datum/tid-vรคljare\n" + | |
| 61 | +"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-) | |
| 62 | +"Fรถr senaste version gรฅ till: http://www.dynarch.com/projects/calendar/\n" + | |
| 63 | +"Distribueras under GNU LGPL. Se http://gnu.org/licenses/lgpl.html fรถr detaljer." + | |
| 64 | +"\n\n" + | |
| 65 | +"Val av datum:\n" + | |
| 66 | +"- Anvรคnd knapparna \xab, \xbb fรถr att vรคlja รฅr\n" + | |
| 67 | +"- Anvรคnd knapparna " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " fรถr att vรคlja mรฅnad\n" + | |
| 68 | +"- Hรฅll musknappen nedtryckt pรฅ nรฅgon av ovanstรฅende knappar fรถr snabbare val."; | |
| 69 | +Calendar._TT["ABOUT_TIME"] = "\n\n" + | |
| 70 | +"Val av tid:\n" + | |
| 71 | +"- Klicka pรฅ en del av tiden fรถr att รถka den delen\n" + | |
| 72 | +"- eller skift-klicka fรถr att minska den\n" + | |
| 73 | +"- eller klicka och drag fรถr snabbare val."; | |
| 74 | + | |
| 75 | +Calendar._TT["PREV_YEAR"] = "Fรถregรฅende รฅr (hรฅll fรถr menu)"; | |
| 76 | +Calendar._TT["PREV_MONTH"] = "Fรถregรฅende mรฅnad (hรฅll fรถr menu)"; | |
| 77 | +Calendar._TT["GO_TODAY"] = "Gรฅ till dagens datum"; | |
| 78 | +Calendar._TT["NEXT_MONTH"] = "Fรถljande mรฅnad (hรฅll fรถr menu)"; | |
| 79 | +Calendar._TT["NEXT_YEAR"] = "Fรถljande รฅr (hรฅll fรถr menu)"; | |
| 80 | +Calendar._TT["SEL_DATE"] = "Vรคlj datum"; | |
| 81 | +Calendar._TT["DRAG_TO_MOVE"] = "Drag fรถr att flytta"; | |
| 82 | +Calendar._TT["PART_TODAY"] = " (idag)"; | |
| 83 | +Calendar._TT["MON_FIRST"] = "Visa mรฅndag fรถrst"; | |
| 84 | +Calendar._TT["SUN_FIRST"] = "Visa sรถndag fรถrst"; | |
| 85 | +Calendar._TT["CLOSE"] = "Stรคng"; | |
| 86 | +Calendar._TT["TODAY"] = "Idag"; | |
| 87 | +Calendar._TT["TIME_PART"] = "(Skift-)klicka eller drag fรถr att รคndra tid"; | |
| 88 | + | |
| 89 | +// date formats | |
| 90 | +Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d"; | |
| 91 | +Calendar._TT["TT_DATE_FORMAT"] = "%A %d %b %Y"; | |
| 92 | + | |
| 93 | +Calendar._TT["WK"] = "vecka"; | ... | ... |
thirdpartyjs/jscalendar-1.0/lang/calendar-tr.js
0 โ 100644
| 1 | +////////////////////////////////////////////////////////////////////////////////////////////// | |
| 2 | +// Turkish Translation by Nuri AKMAN | |
| 3 | +// Location: Ankara/TURKEY | |
| 4 | +// e-mail : nuriakman@hotmail.com | |
| 5 | +// Date : April, 9 2003 | |
| 6 | +// | |
| 7 | +// Note: if Turkish Characters does not shown on you screen | |
| 8 | +// please include falowing line your html code: | |
| 9 | +// | |
| 10 | +// <meta http-equiv="Content-Type" content="text/html; charset=windows-1254"> | |
| 11 | +// | |
| 12 | +////////////////////////////////////////////////////////////////////////////////////////////// | |
| 13 | + | |
| 14 | +// ** I18N | |
| 15 | +Calendar._DN = new Array | |
| 16 | +("Pazar", | |
| 17 | + "Pazartesi", | |
| 18 | + "Salฤฑ", | |
| 19 | + "รarลamba", | |
| 20 | + "Perลembe", | |
| 21 | + "Cuma", | |
| 22 | + "Cumartesi", | |
| 23 | + "Pazar"); | |
| 24 | +Calendar._MN = new Array | |
| 25 | +("Ocak", | |
| 26 | + "ลubat", | |
| 27 | + "Mart", | |
| 28 | + "Nisan", | |
| 29 | + "Mayฤฑs", | |
| 30 | + "Haziran", | |
| 31 | + "Temmuz", | |
| 32 | + "Aฤustos", | |
| 33 | + "Eylรผl", | |
| 34 | + "Ekim", | |
| 35 | + "Kasฤฑm", | |
| 36 | + "Aralฤฑk"); | |
| 37 | + | |
| 38 | +// tooltips | |
| 39 | +Calendar._TT = {}; | |
| 40 | +Calendar._TT["TOGGLE"] = "Haftanฤฑn ilk gรผnรผnรผ kaydฤฑr"; | |
| 41 | +Calendar._TT["PREV_YEAR"] = "รnceki Yฤฑl (Menรผ iรงin basฤฑlฤฑ tutunuz)"; | |
| 42 | +Calendar._TT["PREV_MONTH"] = "รnceki Ay (Menรผ iรงin basฤฑlฤฑ tutunuz)"; | |
| 43 | +Calendar._TT["GO_TODAY"] = "Bugรผn'e git"; | |
| 44 | +Calendar._TT["NEXT_MONTH"] = "Sonraki Ay (Menรผ iรงin basฤฑlฤฑ tutunuz)"; | |
| 45 | +Calendar._TT["NEXT_YEAR"] = "Sonraki Yฤฑl (Menรผ iรงin basฤฑlฤฑ tutunuz)"; | |
| 46 | +Calendar._TT["SEL_DATE"] = "Tarih seรงiniz"; | |
| 47 | +Calendar._TT["DRAG_TO_MOVE"] = "Taลฤฑmak iรงin sรผrรผkleyiniz"; | |
| 48 | +Calendar._TT["PART_TODAY"] = " (bugรผn)"; | |
| 49 | +Calendar._TT["MON_FIRST"] = "Takvim Pazartesi gรผnรผnden baลlasฤฑn"; | |
| 50 | +Calendar._TT["SUN_FIRST"] = "Takvim Pazar gรผnรผnden baลlasฤฑn"; | |
| 51 | +Calendar._TT["CLOSE"] = "Kapat"; | |
| 52 | +Calendar._TT["TODAY"] = "Bugรผn"; | |
| 53 | + | |
| 54 | +// date formats | |
| 55 | +Calendar._TT["DEF_DATE_FORMAT"] = "dd-mm-y"; | |
| 56 | +Calendar._TT["TT_DATE_FORMAT"] = "d MM y, DD"; | |
| 57 | + | |
| 58 | +Calendar._TT["WK"] = "Hafta"; | ... | ... |
thirdpartyjs/jscalendar-1.0/lang/calendar-zh.js
0 โ 100644
| 1 | +// ** I18N | |
| 2 | + | |
| 3 | +// Calendar ZH language | |
| 4 | +// Author: muziq, <muziq@sina.com> | |
| 5 | +// Encoding: GB2312 or GBK | |
| 6 | +// Distributed under the same terms as the calendar itself. | |
| 7 | + | |
| 8 | +// full day names | |
| 9 | +Calendar._DN = new Array | |
| 10 | +("ๆๆๆฅ", | |
| 11 | + "ๆๆไธ", | |
| 12 | + "ๆๆไบ", | |
| 13 | + "ๆๆไธ", | |
| 14 | + "ๆๆๅ", | |
| 15 | + "ๆๆไบ", | |
| 16 | + "ๆๆๅ ญ", | |
| 17 | + "ๆๆๆฅ"); | |
| 18 | + | |
| 19 | +// Please note that the following array of short day names (and the same goes | |
| 20 | +// for short month names, _SMN) isn't absolutely necessary. We give it here | |
| 21 | +// for exemplification on how one can customize the short day names, but if | |
| 22 | +// they are simply the first N letters of the full name you can simply say: | |
| 23 | +// | |
| 24 | +// Calendar._SDN_len = N; // short day name length | |
| 25 | +// Calendar._SMN_len = N; // short month name length | |
| 26 | +// | |
| 27 | +// If N = 3 then this is not needed either since we assume a value of 3 if not | |
| 28 | +// present, to be compatible with translation files that were written before | |
| 29 | +// this feature. | |
| 30 | + | |
| 31 | +// short day names | |
| 32 | +Calendar._SDN = new Array | |
| 33 | +("ๆฅ", | |
| 34 | + "ไธ", | |
| 35 | + "ไบ", | |
| 36 | + "ไธ", | |
| 37 | + "ๅ", | |
| 38 | + "ไบ", | |
| 39 | + "ๅ ญ", | |
| 40 | + "ๆฅ"); | |
| 41 | + | |
| 42 | +// full month names | |
| 43 | +Calendar._MN = new Array | |
| 44 | +("ไธๆ", | |
| 45 | + "ไบๆ", | |
| 46 | + "ไธๆ", | |
| 47 | + "ๅๆ", | |
| 48 | + "ไบๆ", | |
| 49 | + "ๅ ญๆ", | |
| 50 | + "ไธๆ", | |
| 51 | + "ๅ ซๆ", | |
| 52 | + "ไนๆ", | |
| 53 | + "ๅๆ", | |
| 54 | + "ๅไธๆ", | |
| 55 | + "ๅไบๆ"); | |
| 56 | + | |
| 57 | +// short month names | |
| 58 | +Calendar._SMN = new Array | |
| 59 | +("ไธๆ", | |
| 60 | + "ไบๆ", | |
| 61 | + "ไธๆ", | |
| 62 | + "ๅๆ", | |
| 63 | + "ไบๆ", | |
| 64 | + "ๅ ญๆ", | |
| 65 | + "ไธๆ", | |
| 66 | + "ๅ ซๆ", | |
| 67 | + "ไนๆ", | |
| 68 | + "ๅๆ", | |
| 69 | + "ๅไธๆ", | |
| 70 | + "ๅไบๆ"); | |
| 71 | + | |
| 72 | +// tooltips | |
| 73 | +Calendar._TT = {}; | |
| 74 | +Calendar._TT["INFO"] = "ๅธฎๅฉ"; | |
| 75 | + | |
| 76 | +Calendar._TT["ABOUT"] = | |
| 77 | +"DHTML Date/Time Selector\n" + | |
| 78 | +"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-) | |
| 79 | +"For latest version visit: http://www.dynarch.com/projects/calendar/\n" + | |
| 80 | +"Distributed under GNU LGPL. See http://gnu.org/licenses/lgpl.html for details." + | |
| 81 | +"\n\n" + | |
| 82 | +"้ๆฉๆฅๆ:\n" + | |
| 83 | +"- ็นๅป \xab, \xbb ๆ้ฎ้ๆฉๅนดไปฝ\n" + | |
| 84 | +"- ็นๅป " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " ๆ้ฎ้ๆฉๆไปฝ\n" + | |
| 85 | +"- ้ฟๆไปฅไธๆ้ฎๅฏไป่ๅไธญๅฟซ้้ๆฉๅนดไปฝๆๆไปฝ"; | |
| 86 | +Calendar._TT["ABOUT_TIME"] = "\n\n" + | |
| 87 | +"้ๆฉๆถ้ด:\n" + | |
| 88 | +"- ็นๅปๅฐๆถๆๅ้ๅฏไฝฟๆนๆฐๅผๅ ไธ\n" + | |
| 89 | +"- ๆไฝShift้ฎ็นๅปๅฐๆถๆๅ้ๅฏไฝฟๆนๆฐๅผๅไธ\n" + | |
| 90 | +"- ็นๅปๆๅจ้ผ ๆ ๅฏ่ฟ่กๅฟซ้้ๆฉ"; | |
| 91 | + | |
| 92 | +Calendar._TT["PREV_YEAR"] = "ไธไธๅนด (ๆไฝๅบ่ๅ)"; | |
| 93 | +Calendar._TT["PREV_MONTH"] = "ไธไธๆ (ๆไฝๅบ่ๅ)"; | |
| 94 | +Calendar._TT["GO_TODAY"] = "่ฝฌๅฐไปๆฅ"; | |
| 95 | +Calendar._TT["NEXT_MONTH"] = "ไธไธๆ (ๆไฝๅบ่ๅ)"; | |
| 96 | +Calendar._TT["NEXT_YEAR"] = "ไธไธๅนด (ๆไฝๅบ่ๅ)"; | |
| 97 | +Calendar._TT["SEL_DATE"] = "้ๆฉๆฅๆ"; | |
| 98 | +Calendar._TT["DRAG_TO_MOVE"] = "ๆๅจ"; | |
| 99 | +Calendar._TT["PART_TODAY"] = " (ไปๆฅ)"; | |
| 100 | + | |
| 101 | +// the following is to inform that "%s" is to be the first day of week | |
| 102 | +// %s will be replaced with the day name. | |
| 103 | +Calendar._TT["DAY_FIRST"] = "ๆๅทฆ่พนๆพ็คบ%s"; | |
| 104 | + | |
| 105 | +// This may be locale-dependent. It specifies the week-end days, as an array | |
| 106 | +// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1 | |
| 107 | +// means Monday, etc. | |
| 108 | +Calendar._TT["WEEKEND"] = "0,6"; | |
| 109 | + | |
| 110 | +Calendar._TT["CLOSE"] = "ๅ ณ้ญ"; | |
| 111 | +Calendar._TT["TODAY"] = "ไปๆฅ"; | |
| 112 | +Calendar._TT["TIME_PART"] = "(Shift-)็นๅป้ผ ๆ ๆๆๅจๆนๅๅผ"; | |
| 113 | + | |
| 114 | +// date formats | |
| 115 | +Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d"; | |
| 116 | +Calendar._TT["TT_DATE_FORMAT"] = "%A, %b %eๆฅ"; | |
| 117 | + | |
| 118 | +Calendar._TT["WK"] = "ๅจ"; | |
| 119 | +Calendar._TT["TIME"] = "ๆถ้ด:"; | ... | ... |
thirdpartyjs/jscalendar-1.0/lang/cn_utf8.js
0 โ 100644
| 1 | +// ** I18N | |
| 2 | + | |
| 3 | +// Calendar EN language | |
| 4 | +// Author: Mihai Bazon, <mishoo@infoiasi.ro> | |
| 5 | +// Encoding: any | |
| 6 | +// Translator : Niko <nikoused@gmail.com> | |
| 7 | +// Distributed under the same terms as the calendar itself. | |
| 8 | + | |
| 9 | +// For translators: please use UTF-8 if possible. We strongly believe that | |
| 10 | +// Unicode is the answer to a real internationalized world. Also please | |
| 11 | +// include your contact information in the header, as can be seen above. | |
| 12 | + | |
| 13 | +// full day names | |
| 14 | +Calendar._DN = new Array | |
| 15 | +("\u5468\u65e5",//\u5468\u65e5 | |
| 16 | + "\u5468\u4e00",//\u5468\u4e00 | |
| 17 | + "\u5468\u4e8c",//\u5468\u4e8c | |
| 18 | + "\u5468\u4e09",//\u5468\u4e09 | |
| 19 | + "\u5468\u56db",//\u5468\u56db | |
| 20 | + "\u5468\u4e94",//\u5468\u4e94 | |
| 21 | + "\u5468\u516d",//\u5468\u516d | |
| 22 | + "\u5468\u65e5");//\u5468\u65e5 | |
| 23 | + | |
| 24 | +// Please note that the following array of short day names (and the same goes | |
| 25 | +// for short month names, _SMN) isn't absolutely necessary. We give it here | |
| 26 | +// for exemplification on how one can customize the short day names, but if | |
| 27 | +// they are simply the first N letters of the full name you can simply say: | |
| 28 | +// | |
| 29 | +// Calendar._SDN_len = N; // short day name length | |
| 30 | +// Calendar._SMN_len = N; // short month name length | |
| 31 | +// | |
| 32 | +// If N = 3 then this is not needed either since we assume a value of 3 if not | |
| 33 | +// present, to be compatible with translation files that were written before | |
| 34 | +// this feature. | |
| 35 | + | |
| 36 | +// short day names | |
| 37 | +Calendar._SDN = new Array | |
| 38 | +("\u5468\u65e5", | |
| 39 | + "\u5468\u4e00", | |
| 40 | + "\u5468\u4e8c", | |
| 41 | + "\u5468\u4e09", | |
| 42 | + "\u5468\u56db", | |
| 43 | + "\u5468\u4e94", | |
| 44 | + "\u5468\u516d", | |
| 45 | + "\u5468\u65e5"); | |
| 46 | + | |
| 47 | +// full month names | |
| 48 | +Calendar._MN = new Array | |
| 49 | +("\u4e00\u6708", | |
| 50 | + "\u4e8c\u6708", | |
| 51 | + "\u4e09\u6708", | |
| 52 | + "\u56db\u6708", | |
| 53 | + "\u4e94\u6708", | |
| 54 | + "\u516d\u6708", | |
| 55 | + "\u4e03\u6708", | |
| 56 | + "\u516b\u6708", | |
| 57 | + "\u4e5d\u6708", | |
| 58 | + "\u5341\u6708", | |
| 59 | + "\u5341\u4e00\u6708", | |
| 60 | + "\u5341\u4e8c\u6708"); | |
| 61 | + | |
| 62 | +// short month names | |
| 63 | +Calendar._SMN = new Array | |
| 64 | +("\u4e00\u6708", | |
| 65 | + "\u4e8c\u6708", | |
| 66 | + "\u4e09\u6708", | |
| 67 | + "\u56db\u6708", | |
| 68 | + "\u4e94\u6708", | |
| 69 | + "\u516d\u6708", | |
| 70 | + "\u4e03\u6708", | |
| 71 | + "\u516b\u6708", | |
| 72 | + "\u4e5d\u6708", | |
| 73 | + "\u5341\u6708", | |
| 74 | + "\u5341\u4e00\u6708", | |
| 75 | + "\u5341\u4e8c\u6708"); | |
| 76 | + | |
| 77 | +// tooltips | |
| 78 | +Calendar._TT = {}; | |
| 79 | +Calendar._TT["INFO"] = "\u5173\u4e8e"; | |
| 80 | + | |
| 81 | +Calendar._TT["ABOUT"] = | |
| 82 | +" DHTML \u65e5\u8d77/\u65f6\u95f4\u9009\u62e9\u63a7\u4ef6\n" + | |
| 83 | +"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-) | |
| 84 | +"For latest version visit: \u6700\u65b0\u7248\u672c\u8bf7\u767b\u9646http://www.dynarch.com/projects/calendar/\u5bdf\u770b\n" + | |
| 85 | +"\u9075\u5faaGNU LGPL. \u7ec6\u8282\u53c2\u9605 http://gnu.org/licenses/lgpl.html" + | |
| 86 | +"\n\n" + | |
| 87 | +"\u65e5\u671f\u9009\u62e9:\n" + | |
| 88 | +"- \u70b9\u51fb\xab(\xbb)\u6309\u94ae\u9009\u62e9\u4e0a(\u4e0b)\u4e00\u5e74\u5ea6.\n" + | |
| 89 | +"- \u70b9\u51fb" + String.fromCharCode(0x2039) + "(" + String.fromCharCode(0x203a) + ")\u6309\u94ae\u9009\u62e9\u4e0a(\u4e0b)\u4e2a\u6708\u4efd.\n" + | |
| 90 | +"- \u957f\u65f6\u95f4\u6309\u7740\u6309\u94ae\u5c06\u51fa\u73b0\u66f4\u591a\u9009\u62e9\u9879."; | |
| 91 | +Calendar._TT["ABOUT_TIME"] = "\n\n" + | |
| 92 | +"\u65f6\u95f4\u9009\u62e9:\n" + | |
| 93 | +"-\u5728\u65f6\u95f4\u90e8\u5206(\u5206\u6216\u8005\u79d2)\u4e0a\u5355\u51fb\u9f20\u6807\u5de6\u952e\u6765\u589e\u52a0\u5f53\u524d\u65f6\u95f4\u90e8\u5206(\u5206\u6216\u8005\u79d2)\n" + | |
| 94 | +"-\u5728\u65f6\u95f4\u90e8\u5206(\u5206\u6216\u8005\u79d2)\u4e0a\u6309\u4f4fShift\u952e\u540e\u5355\u51fb\u9f20\u6807\u5de6\u952e\u6765\u51cf\u5c11\u5f53\u524d\u65f6\u95f4\u90e8\u5206(\u5206\u6216\u8005\u79d2)."; | |
| 95 | + | |
| 96 | +Calendar._TT["PREV_YEAR"] = "\u4e0a\u4e00\u5e74"; | |
| 97 | +Calendar._TT["PREV_MONTH"] = "\u4e0a\u4e2a\u6708"; | |
| 98 | +Calendar._TT["GO_TODAY"] = "\u5230\u4eca\u5929"; | |
| 99 | +Calendar._TT["NEXT_MONTH"] = "\u4e0b\u4e2a\u6708"; | |
| 100 | +Calendar._TT["NEXT_YEAR"] = "\u4e0b\u4e00\u5e74"; | |
| 101 | +Calendar._TT["SEL_DATE"] = "\u9009\u62e9\u65e5\u671f"; | |
| 102 | +Calendar._TT["DRAG_TO_MOVE"] = "\u62d6\u52a8"; | |
| 103 | +Calendar._TT["PART_TODAY"] = " (\u4eca\u5929)"; | |
| 104 | + | |
| 105 | +// the following is to inform that "%s" is to be the first day of week | |
| 106 | +// %s will be replaced with the day name. | |
| 107 | +Calendar._TT["DAY_FIRST"] = "%s\u4e3a\u8fd9\u5468\u7684\u7b2c\u4e00\u5929"; | |
| 108 | + | |
| 109 | +// This may be locale-dependent. It specifies the week-end days, as an array | |
| 110 | +// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1 | |
| 111 | +// means Monday, etc. | |
| 112 | +Calendar._TT["WEEKEND"] = "0,6"; | |
| 113 | + | |
| 114 | +Calendar._TT["CLOSE"] = "\u5173\u95ed"; | |
| 115 | +Calendar._TT["TODAY"] = "\u4eca\u5929"; | |
| 116 | +Calendar._TT["TIME_PART"] = "(\u6309\u7740Shift\u952e)\u5355\u51fb\u6216\u62d6\u52a8\u6539\u53d8\u503c"; | |
| 117 | + | |
| 118 | +// date formats | |
| 119 | +Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d"; | |
| 120 | +Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e\u65e5"; | |
| 121 | + | |
| 122 | +Calendar._TT["WK"] = "\u5468"; | |
| 123 | +Calendar._TT["TIME"] = "\u65f6\u95f4:"; | ... | ... |
thirdpartyjs/jscalendar-1.0/menuarrow.gif
0 โ 100644
68 Bytes
thirdpartyjs/jscalendar-1.0/menuarrow2.gif
0 โ 100644
49 Bytes
thirdpartyjs/jscalendar-1.0/skins/aqua/active-bg.gif
0 โ 100644
89 Bytes
thirdpartyjs/jscalendar-1.0/skins/aqua/dark-bg.gif
0 โ 100644
85 Bytes
thirdpartyjs/jscalendar-1.0/skins/aqua/hover-bg.gif
0 โ 100644
89 Bytes
thirdpartyjs/jscalendar-1.0/skins/aqua/menuarrow.gif
0 โ 100644
49 Bytes
thirdpartyjs/jscalendar-1.0/skins/aqua/normal-bg.gif
0 โ 100644
110 Bytes
thirdpartyjs/jscalendar-1.0/skins/aqua/rowhover-bg.gif
0 โ 100644
110 Bytes
thirdpartyjs/jscalendar-1.0/skins/aqua/status-bg.gif
0 โ 100644
116 Bytes
thirdpartyjs/jscalendar-1.0/skins/aqua/theme.css
0 โ 100644
| 1 | +/* Distributed as part of The Coolest DHTML Calendar | |
| 2 | + Author: Mihai Bazon, www.bazon.net/mishoo | |
| 3 | + Copyright Dynarch.com 2005, www.dynarch.com | |
| 4 | +*/ | |
| 5 | + | |
| 6 | +/* The main calendar widget. DIV containing a table. */ | |
| 7 | + | |
| 8 | +div.calendar { position: relative; } | |
| 9 | + | |
| 10 | +.calendar, .calendar table { | |
| 11 | + border: 1px solid #bdb2bf; | |
| 12 | + font-size: 11px; | |
| 13 | + color: #000; | |
| 14 | + cursor: default; | |
| 15 | + background: url("normal-bg.gif"); | |
| 16 | + font-family: "trebuchet ms",verdana,tahoma,sans-serif; | |
| 17 | +} | |
| 18 | + | |
| 19 | +.calendar { | |
| 20 | + border-color: #797979; | |
| 21 | +} | |
| 22 | + | |
| 23 | +/* Header part -- contains navigation buttons and day names. */ | |
| 24 | + | |
| 25 | +.calendar .button { /* "<<", "<", ">", ">>" buttons have this class */ | |
| 26 | + text-align: center; /* They are the navigation buttons */ | |
| 27 | + padding: 2px; /* Make the buttons seem like they're pressing */ | |
| 28 | + background: url("title-bg.gif") repeat-x 0 100%; color: #000; | |
| 29 | + font-weight: bold; | |
| 30 | +} | |
| 31 | + | |
| 32 | +.calendar .nav { | |
| 33 | + font-family: verdana,tahoma,sans-serif; | |
| 34 | +} | |
| 35 | + | |
| 36 | +.calendar .nav div { | |
| 37 | + background: transparent url("menuarrow.gif") no-repeat 100% 100%; | |
| 38 | +} | |
| 39 | + | |
| 40 | +.calendar thead tr { background: url("title-bg.gif") repeat-x 0 100%; color: #000; } | |
| 41 | + | |
| 42 | +.calendar thead .title { /* This holds the current "month, year" */ | |
| 43 | + font-weight: bold; /* Pressing it will take you to the current date */ | |
| 44 | + text-align: center; | |
| 45 | + padding: 2px; | |
| 46 | + background: url("title-bg.gif") repeat-x 0 100%; color: #000; | |
| 47 | +} | |
| 48 | + | |
| 49 | +.calendar thead .headrow { /* Row <TR> containing navigation buttons */ | |
| 50 | +} | |
| 51 | + | |
| 52 | +.calendar thead .name { /* Cells <TD> containing the day names */ | |
| 53 | + border-bottom: 1px solid #797979; | |
| 54 | + padding: 2px; | |
| 55 | + text-align: center; | |
| 56 | + color: #000; | |
| 57 | +} | |
| 58 | + | |
| 59 | +.calendar thead .weekend { /* How a weekend day name shows in header */ | |
| 60 | + color: #c44; | |
| 61 | +} | |
| 62 | + | |
| 63 | +.calendar thead .hilite { /* How do the buttons in header appear when hover */ | |
| 64 | + background: url("hover-bg.gif"); | |
| 65 | + border-bottom: 1px solid #797979; | |
| 66 | + padding: 2px 2px 1px 2px; | |
| 67 | +} | |
| 68 | + | |
| 69 | +.calendar thead .active { /* Active (pressed) buttons in header */ | |
| 70 | + background: url("active-bg.gif"); color: #fff; | |
| 71 | + padding: 3px 1px 0px 3px; | |
| 72 | + border-bottom: 1px solid #797979; | |
| 73 | +} | |
| 74 | + | |
| 75 | +.calendar thead .daynames { /* Row <TR> containing the day names */ | |
| 76 | + background: url("dark-bg.gif"); | |
| 77 | +} | |
| 78 | + | |
| 79 | +/* The body part -- contains all the days in month. */ | |
| 80 | + | |
| 81 | +.calendar tbody .day { /* Cells <TD> containing month days dates */ | |
| 82 | + font-family: verdana,tahoma,sans-serif; | |
| 83 | + width: 2em; | |
| 84 | + color: #000; | |
| 85 | + text-align: right; | |
| 86 | + padding: 2px 4px 2px 2px; | |
| 87 | +} | |
| 88 | +.calendar tbody .day.othermonth { | |
| 89 | + font-size: 80%; | |
| 90 | + color: #999; | |
| 91 | +} | |
| 92 | +.calendar tbody .day.othermonth.oweekend { | |
| 93 | + color: #f99; | |
| 94 | +} | |
| 95 | + | |
| 96 | +.calendar table .wn { | |
| 97 | + padding: 2px 3px 2px 2px; | |
| 98 | + border-right: 1px solid #797979; | |
| 99 | + background: url("dark-bg.gif"); | |
| 100 | +} | |
| 101 | + | |
| 102 | +.calendar tbody .rowhilite td, | |
| 103 | +.calendar tbody .rowhilite td.wn { | |
| 104 | + background: url("rowhover-bg.gif"); | |
| 105 | +} | |
| 106 | + | |
| 107 | +.calendar tbody td.today { font-weight: bold; /* background: url("today-bg.gif") no-repeat 70% 50%; */ } | |
| 108 | + | |
| 109 | +.calendar tbody td.hilite { /* Hovered cells <TD> */ | |
| 110 | + background: url("hover-bg.gif"); | |
| 111 | + padding: 1px 3px 1px 1px; | |
| 112 | + border: 1px solid #bbb; | |
| 113 | +} | |
| 114 | + | |
| 115 | +.calendar tbody td.active { /* Active (pressed) cells <TD> */ | |
| 116 | + padding: 2px 2px 0px 2px; | |
| 117 | +} | |
| 118 | + | |
| 119 | +.calendar tbody td.weekend { /* Cells showing weekend days */ | |
| 120 | + color: #c44; | |
| 121 | +} | |
| 122 | + | |
| 123 | +.calendar tbody td.selected { /* Cell showing selected date */ | |
| 124 | + font-weight: bold; | |
| 125 | + border: 1px solid #797979; | |
| 126 | + padding: 1px 3px 1px 1px; | |
| 127 | + background: url("active-bg.gif"); color: #fff; | |
| 128 | +} | |
| 129 | + | |
| 130 | +.calendar tbody .disabled { color: #999; } | |
| 131 | + | |
| 132 | +.calendar tbody .emptycell { /* Empty cells (the best is to hide them) */ | |
| 133 | + visibility: hidden; | |
| 134 | +} | |
| 135 | + | |
| 136 | +.calendar tbody .emptyrow { /* Empty row (some months need less than 6 rows) */ | |
| 137 | + display: none; | |
| 138 | +} | |
| 139 | + | |
| 140 | +/* The footer part -- status bar and "Close" button */ | |
| 141 | + | |
| 142 | +.calendar tfoot .footrow { /* The <TR> in footer (only one right now) */ | |
| 143 | + text-align: center; | |
| 144 | + background: #565; | |
| 145 | + color: #fff; | |
| 146 | +} | |
| 147 | + | |
| 148 | +.calendar tfoot .ttip { /* Tooltip (status bar) cell <TD> */ | |
| 149 | + padding: 2px; | |
| 150 | + background: url("status-bg.gif") repeat-x 0 0; color: #000; | |
| 151 | +} | |
| 152 | + | |
| 153 | +.calendar tfoot .hilite { /* Hover style for buttons in footer */ | |
| 154 | + background: #afa; | |
| 155 | + border: 1px solid #084; | |
| 156 | + color: #000; | |
| 157 | + padding: 1px; | |
| 158 | +} | |
| 159 | + | |
| 160 | +.calendar tfoot .active { /* Active (pressed) style for buttons in footer */ | |
| 161 | + background: #7c7; | |
| 162 | + padding: 2px 0px 0px 2px; | |
| 163 | +} | |
| 164 | + | |
| 165 | +/* Combo boxes (menus that display months/years for direct selection) */ | |
| 166 | + | |
| 167 | +.calendar .combo { | |
| 168 | + position: absolute; | |
| 169 | + display: none; | |
| 170 | + top: 0px; | |
| 171 | + left: 0px; | |
| 172 | + width: 4em; | |
| 173 | + cursor: default; | |
| 174 | + border-width: 0 1px 1px 1px; | |
| 175 | + border-style: solid; | |
| 176 | + border-color: #797979; | |
| 177 | + background: url("normal-bg.gif"); color: #000; | |
| 178 | + z-index: 100; | |
| 179 | + font-size: 90%; | |
| 180 | +} | |
| 181 | + | |
| 182 | +.calendar .combo .label, | |
| 183 | +.calendar .combo .label-IEfix { | |
| 184 | + text-align: center; | |
| 185 | + padding: 1px; | |
| 186 | +} | |
| 187 | + | |
| 188 | +.calendar .combo .label-IEfix { | |
| 189 | + width: 4em; | |
| 190 | +} | |
| 191 | + | |
| 192 | +.calendar .combo .hilite { | |
| 193 | + background: url("hover-bg.gif"); color: #000; | |
| 194 | +} | |
| 195 | + | |
| 196 | +.calendar .combo .active { | |
| 197 | + background: url("active-bg.gif"); color: #fff; | |
| 198 | + font-weight: bold; | |
| 199 | +} | |
| 200 | + | |
| 201 | +.calendar td.time { | |
| 202 | + border-top: 1px solid #797979; | |
| 203 | + padding: 1px 0px; | |
| 204 | + text-align: center; | |
| 205 | + background: url("dark-bg.gif"); | |
| 206 | +} | |
| 207 | + | |
| 208 | +.calendar td.time .hour, | |
| 209 | +.calendar td.time .minute, | |
| 210 | +.calendar td.time .ampm { | |
| 211 | + padding: 0px 5px 0px 6px; | |
| 212 | + font-weight: bold; | |
| 213 | + background: url("normal-bg.gif"); color: #000; | |
| 214 | +} | |
| 215 | + | |
| 216 | +.calendar td.time .hour, | |
| 217 | +.calendar td.time .minute { | |
| 218 | + font-family: monospace; | |
| 219 | +} | |
| 220 | + | |
| 221 | +.calendar td.time .ampm { | |
| 222 | + text-align: center; | |
| 223 | +} | |
| 224 | + | |
| 225 | +.calendar td.time .colon { | |
| 226 | + padding: 0px 2px 0px 3px; | |
| 227 | + font-weight: bold; | |
| 228 | +} | |
| 229 | + | |
| 230 | +.calendar td.time span.hilite { | |
| 231 | + background: url("hover-bg.gif"); color: #000; | |
| 232 | +} | |
| 233 | + | |
| 234 | +.calendar td.time span.active { | |
| 235 | + background: url("active-bg.gif"); color: #fff; | |
| 236 | +} | ... | ... |
thirdpartyjs/jscalendar-1.0/skins/aqua/title-bg.gif
0 โ 100644
116 Bytes
thirdpartyjs/jscalendar-1.0/skins/aqua/today-bg.gif
0 โ 100644
1.1 KB