Commit fdfba74cbce61340e0e7a8c4fcf1dae6fd92d72c

Authored by bshuttle
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("&#x00d7;", 1, 200).ttip = Calendar._TT["CLOSE"];
  763 + }
  764 +
  765 + row = Calendar.createElement("tr", thead);
  766 + row.className = "headrow";
  767 +
  768 + this._nav_py = hh("&#x00ab;", 1, -2);
  769 + this._nav_py.ttip = Calendar._TT["PREV_YEAR"];
  770 +
  771 + this._nav_pm = hh("&#x2039;", 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("&#x203a;", 1, 1);
  778 + this._nav_nm.ttip = Calendar._TT["NEXT_MONTH"];
  779 +
  780 + this._nav_ny = hh("&#x00bb;", 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 = "&nbsp;";
  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 = "&nbsp;";
  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 = "&nbsp;";
  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&&params.cache)){window.calendar=cal=new Calendar(params.firstDay,params.date,params.onSelect||onSelect,params.onClose||function(cal){cal.hide();});cal.showsTime=params.showsTime;cal.time24=(params.timeFormat=="24");cal.weekNumbers=params.weekNumbers;mustCreate=true;}else{if(params.date)cal.setDate(params.date);cal.hide();}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 \ No newline at end of file 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("&#x00d7;", 1, 200).ttip = Calendar._TT["CLOSE"];
  779 + }
  780 +
  781 + row = Calendar.createElement("tr", thead);
  782 + row.className = "headrow";
  783 +
  784 + this._nav_py = hh("&#x00ab;", 1, -2);
  785 + this._nav_py.ttip = Calendar._TT["PREV_YEAR"];
  786 +
  787 + this._nav_pm = hh("&#x2039;", 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("&#x203a;", 1, 1);
  794 + this._nav_nm.ttip = Calendar._TT["NEXT_MONTH"];
  795 +
  796 + this._nav_ny = hh("&#x00bb;", 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"] || "&nbsp;";
  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 = "&nbsp;";
  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 = "&nbsp;";
  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("&#x00d7;",1,200).ttip=Calendar._TT["CLOSE"];}row=Calendar.createElement("tr",thead);row.className="headrow";this._nav_py=hh("&#x00ab;",1,-2);this._nav_py.ttip=Calendar._TT["PREV_YEAR"];this._nav_pm=hh("&#x2039;",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("&#x203a;",1,1);this._nav_nm.ttip=Calendar._TT["NEXT_MONTH"];this._nav_ny=hh("&#x00bb;",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"]||"&nbsp;";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="&nbsp;";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="&nbsp;";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&&current_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 \ No newline at end of file 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 \ No newline at end of file 50 \ No newline at end of file
thirdpartyjs/jscalendar-1.0/lang/calendar-hr.js 0 โ†’ 100644
1 Binary files /dev/null and b/thirdpartyjs/jscalendar-1.0/lang/calendar-hr.js differ 1 Binary files /dev/null and b/thirdpartyjs/jscalendar-1.0/lang/calendar-hr.js differ
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 \ No newline at end of file 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 \ No newline at end of file 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 \ No newline at end of file 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 \ No newline at end of file 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