Browse Source
This adds to the interface and code the ability to set the reserve date when requesting a hold. Resubmit. Sorry, I formatted it from the wrong branch. Signed-off-by: Galen Charlton <gmcharlt@gmail.com>3.2.x
15 changed files with 2509 additions and 20 deletions
@ -0,0 +1,46 @@ |
|||
<link rel="stylesheet" type="text/css" href="<!-- TMPL_VAR name="themelang" -->/lib/calendar/calendar-system.css"/> |
|||
<script type="text/javascript" src="<!-- TMPL_VAR name="themelang" -->/lib/calendar/calendar.js"></script> |
|||
<script type="text/javascript" src="<!-- TMPL_VAR name="themelang" -->/lib/calendar/calendar-en.js"></script> |
|||
<script type="text/javascript" src="<!-- TMPL_VAR name="themelang" -->/lib/calendar/calendar-setup.js"></script> |
|||
<script type="text/javascript"> |
|||
//<![CDATA[ |
|||
var debug = "<!-- TMPL_VAR Name="debug" -->"; |
|||
var dformat = "<!-- TMPL_VAR Name="dateformat" -->"; |
|||
var sentmsg = 0; |
|||
if (debug > 1) {alert("dateformat: " + dformat + "\ndebug is on (level " + debug + ")");} |
|||
|
|||
function Date_from_syspref(dstring) { |
|||
var dateX = dstring.split(/[-/]/); |
|||
if (debug > 1 && sentmsg < 1) {sentmsg++; alert("Date_from_syspref(" + dstring + ") splits to:\n" + dateX.join("\n"));} |
|||
if (dformat === "iso") { |
|||
return new Date(dateX[0], (dateX[1] - 1), dateX[2]); // YYYY-MM-DD to (YYYY,m(0-11),d) |
|||
} else if (dformat === "us") { |
|||
return new Date(dateX[2], (dateX[0] - 1), dateX[1]); // MM/DD/YYYY to (YYYY,m(0-11),d) |
|||
} else if (dformat === "metric") { |
|||
return new Date(dateX[2], (dateX[1] - 1), dateX[0]); // DD/MM/YYYY to (YYYY,m(0-11),d) |
|||
} else { |
|||
if (debug > 0) {alert("KOHA ERROR - Unrecognized date format: " +dformat);} |
|||
return 0; |
|||
} |
|||
} |
|||
|
|||
function get_Calendar_limit (date,did) { |
|||
// this function could be moved to a static calendar-extras.js file |
|||
var dvalue = document.getElementById(did).value; |
|||
if (dvalue == "") { return false; } |
|||
var limitDate = Date_from_syspref(dvalue); |
|||
if (debug && debug > 5) { |
|||
var month = date.getMonth() + 1; |
|||
var dateString = date.getFullYear() + '-' + month + '-' + date.getDate(); |
|||
alert("Comparing incoming (" + dateString + ") vs " |
|||
+ "'" + did + "' limit\n" |
|||
+ "\n thisdate: " + date |
|||
+ "\nlimitdate: " + limitDate |
|||
+ "\nlimit > thisdate : " + (limitDate > date) |
|||
+ "\nlimit < thisdate : " + (limitDate < date) |
|||
); |
|||
} |
|||
return limitDate; |
|||
} |
|||
//]]> |
|||
</script> |
After Width: | Height: | Size: 127 B |
@ -0,0 +1,127 @@ |
|||
// ** I18N
|
|||
|
|||
// Calendar EN language
|
|||
// Author: Mihai Bazon, <mishoo@infoiasi.ro>
|
|||
// Encoding: any
|
|||
// Distributed under the same terms as the calendar itself.
|
|||
|
|||
// For translators: please use UTF-8 if possible. We strongly believe that
|
|||
// Unicode is the answer to a real internationalized world. Also please
|
|||
// include your contact information in the header, as can be seen above.
|
|||
|
|||
// full day names
|
|||
Calendar._DN = new Array |
|||
("Sunday", |
|||
"Monday", |
|||
"Tuesday", |
|||
"Wednesday", |
|||
"Thursday", |
|||
"Friday", |
|||
"Saturday", |
|||
"Sunday"); |
|||
|
|||
// Please note that the following array of short day names (and the same goes
|
|||
// for short month names, _SMN) isn't absolutely necessary. We give it here
|
|||
// for exemplification on how one can customize the short day names, but if
|
|||
// they are simply the first N letters of the full name you can simply say:
|
|||
//
|
|||
// Calendar._SDN_len = N; // short day name length
|
|||
// Calendar._SMN_len = N; // short month name length
|
|||
//
|
|||
// If N = 3 then this is not needed either since we assume a value of 3 if not
|
|||
// present, to be compatible with translation files that were written before
|
|||
// this feature.
|
|||
|
|||
// short day names
|
|||
Calendar._SDN = new Array |
|||
("Sun", |
|||
"Mon", |
|||
"Tue", |
|||
"Wed", |
|||
"Thu", |
|||
"Fri", |
|||
"Sat", |
|||
"Sun"); |
|||
|
|||
// First day of the week. "0" means display Sunday first, "1" means display
|
|||
// Monday first, etc.
|
|||
Calendar._FD = 0; |
|||
|
|||
// full month names
|
|||
Calendar._MN = new Array |
|||
("January", |
|||
"February", |
|||
"March", |
|||
"April", |
|||
"May", |
|||
"June", |
|||
"July", |
|||
"August", |
|||
"September", |
|||
"October", |
|||
"November", |
|||
"December"); |
|||
|
|||
// short month names
|
|||
Calendar._SMN = new Array |
|||
("Jan", |
|||
"Feb", |
|||
"Mar", |
|||
"Apr", |
|||
"May", |
|||
"Jun", |
|||
"Jul", |
|||
"Aug", |
|||
"Sep", |
|||
"Oct", |
|||
"Nov", |
|||
"Dec"); |
|||
|
|||
// tooltips
|
|||
Calendar._TT = {}; |
|||
Calendar._TT["INFO"] = "About the calendar"; |
|||
|
|||
Calendar._TT["ABOUT"] = |
|||
"DHTML Date/Time Selector\n" + |
|||
"(c) dynarch.com 2002-2003\n" + // don't translate this this ;-)
|
|||
"For latest version visit: http://dynarch.com/mishoo/calendar.epl\n" + |
|||
"Distributed under GNU LGPL. See http://gnu.org/licenses/lgpl.html for details." + |
|||
"\n\n" + |
|||
"Date selection:\n" + |
|||
"- Use the \xab, \xbb buttons to select year\n" + |
|||
"- Use the " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " buttons to select month\n" + |
|||
"- Hold mouse button on any of the above buttons for faster selection."; |
|||
Calendar._TT["ABOUT_TIME"] = "\n\n" + |
|||
"Time selection:\n" + |
|||
"- Click on any of the time parts to increase it\n" + |
|||
"- or Shift-click to decrease it\n" + |
|||
"- or click and drag for faster selection."; |
|||
|
|||
Calendar._TT["PREV_YEAR"] = "Prev. year (hold for menu)"; |
|||
Calendar._TT["PREV_MONTH"] = "Prev. month (hold for menu)"; |
|||
Calendar._TT["GO_TODAY"] = "Go Today"; |
|||
Calendar._TT["NEXT_MONTH"] = "Next month (hold for menu)"; |
|||
Calendar._TT["NEXT_YEAR"] = "Next year (hold for menu)"; |
|||
Calendar._TT["SEL_DATE"] = "Select date"; |
|||
Calendar._TT["DRAG_TO_MOVE"] = "Drag to move"; |
|||
Calendar._TT["PART_TODAY"] = " (today)"; |
|||
|
|||
// the following is to inform that "%s" is to be the first day of week
|
|||
// %s will be replaced with the day name.
|
|||
Calendar._TT["DAY_FIRST"] = "Display %s first"; |
|||
|
|||
// This may be locale-dependent. It specifies the week-end days, as an array
|
|||
// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1
|
|||
// means Monday, etc.
|
|||
Calendar._TT["WEEKEND"] = "0,6"; |
|||
|
|||
Calendar._TT["CLOSE"] = "Close"; |
|||
Calendar._TT["TODAY"] = "Today"; |
|||
Calendar._TT["TIME_PART"] = "(Shift-)Click or drag to change value"; |
|||
|
|||
// date formats
|
|||
Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d"; |
|||
Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e"; |
|||
|
|||
Calendar._TT["WK"] = "wk"; |
|||
Calendar._TT["TIME"] = "Time:"; |
@ -0,0 +1,179 @@ |
|||
/* Copyright Mihai Bazon, 2002, 2003 | http://dynarch.com/mishoo/ |
|||
* --------------------------------------------------------------------------- |
|||
* |
|||
* The DHTML Calendar |
|||
* |
|||
* Details and latest version at: |
|||
* http://dynarch.com/mishoo/calendar.epl
|
|||
* |
|||
* This script is distributed under the GNU Lesser General Public License. |
|||
* Read the entire license text here: http://www.gnu.org/licenses/lgpl.html
|
|||
* |
|||
* This file defines helper functions for setting up the calendar. They are |
|||
* intended to help non-programmers get a working calendar on their site |
|||
* quickly. This script should not be seen as part of the calendar. It just |
|||
* shows you what one can do with the calendar, while in the same time |
|||
* providing a quick and simple method for setting it up. If you need |
|||
* exhaustive customization of the calendar creation process feel free to |
|||
* modify this code to suit your needs (this is recommended and much better |
|||
* than modifying calendar.js itself). |
|||
*/ |
|||
|
|||
/** |
|||
* This function "patches" an input field (or other element) to use a calendar |
|||
* widget for date selection. |
|||
* |
|||
* The "params" is a single object that can have the following properties: |
|||
* |
|||
* prop. name | description |
|||
* ------------------------------------------------------------------------------------------------- |
|||
* inputField | the ID of an input field to store the date |
|||
* displayArea | the ID of a DIV or other element to show the date |
|||
* button | ID of a button or other element that will trigger the calendar |
|||
* eventName | event that will trigger the calendar, without the "on" prefix (default: "click") |
|||
* ifFormat | date format that will be stored in the input field |
|||
* daFormat | the date format that will be used to display the date in displayArea |
|||
* singleClick | (true/false) whether the calendar is in single click mode or not (default: true) |
|||
* firstDay | numeric: 0 to 6. "0" means display Sunday first, "1" means display Monday first, etc. |
|||
* align | alignment (default: "Br"); if you don't know what's this see the calendar documentation |
|||
* range | array with 2 elements. Default: [1900, 2999] -- the range of years available |
|||
* weekNumbers | (true/false) if it's true (default) the calendar will display week numbers |
|||
* flat | null or element ID; if not null the calendar will be a flat calendar having the parent with the given ID |
|||
* flatCallback | function that receives a JS Date object and returns an URL to point the browser to (for flat calendar) |
|||
* disableFunc | function that receives a JS Date object and should return true if that date has to be disabled in the calendar |
|||
* onSelect | function that gets called when a date is selected. You don't _have_ to supply this (the default is generally okay) |
|||
* onClose | function that gets called when the calendar is closed. [default] |
|||
* onUpdate | function that gets called after the date is updated in the input field. Receives a reference to the calendar. |
|||
* date | the date that the calendar will be initially displayed to |
|||
* showsTime | default: false; if true the calendar will include a time selector |
|||
* timeFormat | the time format; can be "12" or "24", default is "12" |
|||
* electric | if true (default) then given fields/date areas are updated for each move; otherwise they're updated only on close |
|||
* step | configures the step of the years in drop-down boxes; default: 2 |
|||
* position | configures the calendar absolute position; default: null |
|||
* cache | if "true" (but default: "false") it will reuse the same calendar object, where possible |
|||
* showOthers | if "true" (but default: "false") it will show days from other months too |
|||
* |
|||
* None of them is required, they all have default values. However, if you |
|||
* pass none of "inputField", "displayArea" or "button" you'll get a warning |
|||
* saying "nothing to setup". |
|||
*/ |
|||
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", 'dateStatusHandler'); |
|||
param_default("dateStatusFunc", params["disableFunc"]); // takes precedence if both are defined
|
|||
param_default("firstDay", 0); // defaults to "Sunday" first
|
|||
param_default("align", "Br"); |
|||
param_default("range", [1900, 2999]); |
|||
param_default("weekNumbers", true); |
|||
param_default("flat", null); |
|||
param_default("flatCallback", null); |
|||
param_default("onSelect", null); |
|||
param_default("onClose", null); |
|||
param_default("onUpdate", null); |
|||
param_default("date", null); |
|||
param_default("showsTime", false); |
|||
param_default("timeFormat", "24"); |
|||
param_default("electric", true); |
|||
param_default("step", 2); |
|||
param_default("position", null); |
|||
param_default("cache", false); |
|||
param_default("showOthers", false); |
|||
|
|||
var tmp = ["inputField", "displayArea", "button"]; |
|||
for (var i in tmp) { |
|||
if (typeof params[tmp[i]] == "string") { |
|||
params[tmp[i]] = document.getElementById(params[tmp[i]]); |
|||
} |
|||
} |
|||
if (!(params.flat || params.inputField || params.displayArea || params.button)) { |
|||
alert("Calendar.setup:\n Nothing to setup (no fields found). Please check your code"); |
|||
return false; |
|||
} |
|||
|
|||
function onSelect(cal) { |
|||
var p = cal.params; |
|||
var update = (cal.dateClicked || p.electric); |
|||
if (update && p.flat) { |
|||
if (typeof p.flatCallback == "function") |
|||
p.flatCallback(cal); |
|||
else |
|||
alert("No flatCallback given -- doing nothing."); |
|||
return false; |
|||
} |
|||
if (update && p.inputField) { |
|||
p.inputField.value = cal.date.print(p.ifFormat); |
|||
if (typeof p.inputField.onchange == "function") |
|||
p.inputField.onchange(); |
|||
} |
|||
if (update && p.displayArea) |
|||
p.displayArea.innerHTML = cal.date.print(p.daFormat); |
|||
if (update && p.singleClick && cal.dateClicked) |
|||
cal.callCloseHandler(); |
|||
if (update && typeof p.onUpdate == "function") |
|||
p.onUpdate(cal); |
|||
}; |
|||
|
|||
if (params.flat != null) { |
|||
if (typeof params.flat == "string") |
|||
params.flat = document.getElementById(params.flat); |
|||
if (!params.flat) { |
|||
alert("Calendar.setup:\n Flat specified but can't find parent."); |
|||
return false; |
|||
} |
|||
var cal = new Calendar(params.firstDay, params.date, params.onSelect || onSelect); |
|||
cal.showsTime = params.showsTime; |
|||
cal.time24 = (params.timeFormat == "24"); |
|||
cal.params = params; |
|||
cal.weekNumbers = params.weekNumbers; |
|||
cal.setRange(params.range[0], params.range[1]); |
|||
cal.setDateStatusHandler(params.dateStatusFunc); |
|||
cal.create(params.flat); |
|||
cal.show(); |
|||
return false; |
|||
} |
|||
|
|||
var triggerEl = params.button || params.displayArea || params.inputField; |
|||
triggerEl["on" + params.eventName] = function() { |
|||
var dateEl = params.inputField || params.displayArea; |
|||
var dateFmt = params.inputField ? params.ifFormat : params.daFormat; |
|||
var mustCreate = false; |
|||
var cal = window.calendar; |
|||
if (!(cal && params.cache)) { |
|||
window.calendar = cal = new Calendar(params.firstDay, |
|||
params.date, |
|||
params.onSelect || onSelect, |
|||
params.onClose || function(cal) { cal.hide(); }); |
|||
cal.showsTime = params.showsTime; |
|||
cal.time24 = (params.timeFormat == "24"); |
|||
cal.weekNumbers = params.weekNumbers; |
|||
mustCreate = true; |
|||
} else { |
|||
if (params.date) |
|||
cal.setDate(params.date); |
|||
cal.hide(); |
|||
} |
|||
cal.showsOtherMonths = params.showOthers; |
|||
cal.yearStep = params.step; |
|||
cal.setRange(params.range[0], params.range[1]); |
|||
cal.params = params; |
|||
cal.setDateStatusHandler(params.dateStatusFunc); |
|||
cal.setDateFormat(dateFmt); |
|||
if (mustCreate) |
|||
cal.create(); |
|||
cal.parseDate(dateEl.value || dateEl.innerHTML); |
|||
cal.refresh(); |
|||
if (!params.position) |
|||
cal.showAtElement(params.button || params.displayArea || params.inputField, params.align); |
|||
else |
|||
cal.showAt(params.position[0], params.position[1]); |
|||
return false; |
|||
}; |
|||
}; |
@ -0,0 +1,254 @@ |
|||
/* The main calendar widget. DIV containing a table. */ |
|||
|
|||
.calendar { |
|||
position: relative; |
|||
display: none; |
|||
border: 1px solid; |
|||
border-color: #fff #000 #000 #fff; |
|||
font-size: 11px; |
|||
cursor: default; |
|||
background: Window; |
|||
color: WindowText; |
|||
font-family: tahoma,verdana,sans-serif; |
|||
width:250px; |
|||
} |
|||
|
|||
.calendar table { |
|||
border: 1px solid; |
|||
border-color: #fff #000 #000 #fff; |
|||
font-size: 11px; |
|||
cursor: default; |
|||
background: Window; |
|||
color: WindowText; |
|||
font-family: tahoma,verdana,sans-serif; |
|||
border-collapse:separate; |
|||
} |
|||
|
|||
/* Header part -- contains navigation buttons and day names. */ |
|||
|
|||
.calendar .button { /* "<<", "<", ">", ">>" buttons have this class */ |
|||
text-align: center; |
|||
padding: 1px; |
|||
border: 1px solid; |
|||
display: table-cell; |
|||
-moz-border-radius: 0px; |
|||
border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight; |
|||
background: ButtonFace; |
|||
} |
|||
|
|||
.calendar .nav { |
|||
background: ButtonFace url('menuarrow.gif') no-repeat 100% 100%; |
|||
} |
|||
|
|||
.calendar thead .title { /* This holds the current "month, year" */ |
|||
font-weight: bold; |
|||
padding: 1px; |
|||
border: 1px solid #000; |
|||
background: ActiveCaption; |
|||
color: CaptionText; |
|||
text-align: center; |
|||
} |
|||
|
|||
.calendar thead .headrow { /* Row <TR> containing navigation buttons */ |
|||
} |
|||
|
|||
.calendar thead .daynames { /* Row <TR> containing the day names */ |
|||
} |
|||
|
|||
.calendar thead .name { /* Cells <TD> containing the day names */ |
|||
border-bottom: 1px solid ButtonShadow; |
|||
padding: 2px; |
|||
text-align: center; |
|||
background: ButtonFace; |
|||
color: ButtonText; |
|||
} |
|||
|
|||
.calendar thead .weekend { /* How a weekend day name shows in header */ |
|||
// color: #f00; |
|||
} |
|||
|
|||
.calendar thead .hilite { /* How do the buttons in header appear when hover */ |
|||
border: 2px solid; |
|||
padding: 0px; |
|||
border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight; |
|||
} |
|||
|
|||
.calendar thead .active { /* Active (pressed) buttons in header */ |
|||
border-width: 1px; |
|||
padding: 2px 0px 0px 2px; |
|||
border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow; |
|||
} |
|||
|
|||
/* The body part -- contains all the days in month. */ |
|||
|
|||
.calendar tbody .day { /* Cells <TD> containing month days dates */ |
|||
width: 2em; |
|||
text-align: right; |
|||
padding: 2px 4px 2px 2px; |
|||
} |
|||
.calendar tbody .day.othermonth { |
|||
font-size: 80%; |
|||
color: #aaa; |
|||
} |
|||
.calendar tbody .day.othermonth.oweekend { |
|||
color: #faa; |
|||
} |
|||
|
|||
.calendar table .wn { |
|||
padding: 2px 3px 2px 2px; |
|||
border-right: 1px solid ButtonShadow; |
|||
background: ButtonFace; |
|||
color: ButtonText; |
|||
} |
|||
|
|||
.calendar tbody .rowhilite td { |
|||
// background: Highlight; |
|||
// color: HighlightText; |
|||
} |
|||
|
|||
.calendar tbody td.hilite { /* Hovered cells <TD> */ |
|||
padding: 1px 3px 1px 1px; |
|||
border-top: 1px solid #fff; |
|||
border-right: 1px solid #000; |
|||
border-bottom: 1px solid #000; |
|||
border-left: 1px solid #fff; |
|||
} |
|||
|
|||
.calendar tbody td.active { /* Active (pressed) cells <TD> */ |
|||
// padding: 2px 2px 0px 2px; |
|||
// border: 1px solid; |
|||
// border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow; |
|||
} |
|||
|
|||
.calendar tbody td.selected { /* Cell showing selected date */ |
|||
font-weight: bold; |
|||
border: 1px solid; |
|||
border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow; |
|||
padding: 2px 2px 0px 2px; |
|||
// background: ButtonFace; |
|||
color: ButtonText; |
|||
} |
|||
|
|||
.calendar tbody td.weekend { /* Cells showing weekend days */ |
|||
// color: #f00; |
|||
} |
|||
|
|||
.calendar tbody td.today { /* Cell showing today date */ |
|||
font-weight: bold; |
|||
color: #00f; |
|||
} |
|||
|
|||
.calendar tbody td.disabled { color: GrayText; } |
|||
|
|||
.calendar tbody .emptycell { /* Empty cells (the best is to hide them) */ |
|||
visibility: hidden; |
|||
} |
|||
|
|||
.calendar tbody .emptyrow { /* Empty row (some months need less than 6 rows) */ |
|||
display: none; |
|||
} |
|||
|
|||
/* The footer part -- status bar and "Close" button */ |
|||
|
|||
.calendar tfoot .footrow { /* The <TR> in footer (only one right now) */ |
|||
} |
|||
|
|||
.calendar tfoot .ttip { /* Tooltip (status bar) cell <TD> */ |
|||
background: ButtonFace; |
|||
padding: 1px; |
|||
border: 1px solid; |
|||
border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow; |
|||
color: ButtonText; |
|||
text-align: center; |
|||
} |
|||
|
|||
.calendar tfoot .hilite { /* Hover style for buttons in footer */ |
|||
border-top: 1px solid #fff; |
|||
border-right: 1px solid #000; |
|||
border-bottom: 1px solid #000; |
|||
border-left: 1px solid #fff; |
|||
padding: 1px; |
|||
background: #e4e0d8; |
|||
} |
|||
|
|||
.calendar tfoot .active { /* Active (pressed) style for buttons in footer */ |
|||
padding: 2px 0px 0px 2px; |
|||
border-top: 1px solid #000; |
|||
border-right: 1px solid #fff; |
|||
border-bottom: 1px solid #fff; |
|||
border-left: 1px solid #000; |
|||
} |
|||
|
|||
/* Combo boxes (menus that display months/years for direct selection) */ |
|||
|
|||
.calendar .combo { |
|||
position: absolute; |
|||
display: none; |
|||
width: 4em; |
|||
top: 0px; |
|||
left: 0px; |
|||
cursor: default; |
|||
border: 1px solid; |
|||
border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight; |
|||
background: Menu; |
|||
color: MenuText; |
|||
font-size: 90%; |
|||
padding: 1px; |
|||
} |
|||
|
|||
.calendar .combo .label, |
|||
.calendar .combo .label-IEfix { |
|||
text-align: center; |
|||
padding: 1px; |
|||
} |
|||
|
|||
.calendar .combo .label-IEfix { |
|||
width: 4em; |
|||
} |
|||
|
|||
.calendar .combo .active { |
|||
padding: 0px; |
|||
border: 1px solid #000; |
|||
} |
|||
|
|||
.calendar .combo .hilite { |
|||
background: Highlight; |
|||
color: HighlightText; |
|||
} |
|||
|
|||
.calendar td.time { |
|||
border-top: 1px solid ButtonShadow; |
|||
padding: 1px 0px; |
|||
text-align: center; |
|||
background-color: ButtonFace; |
|||
} |
|||
|
|||
.calendar td.time .hour, |
|||
.calendar td.time .minute, |
|||
.calendar td.time .ampm { |
|||
padding: 0px 3px 0px 4px; |
|||
border: 1px solid #889; |
|||
font-weight: bold; |
|||
background-color: Menu; |
|||
} |
|||
|
|||
.calendar td.time .ampm { |
|||
text-align: center; |
|||
} |
|||
|
|||
.calendar td.time .colon { |
|||
padding: 0px 2px 0px 3px; |
|||
font-weight: bold; |
|||
} |
|||
|
|||
.calendar td.time span.hilite { |
|||
border-color: #000; |
|||
background-color: Highlight; |
|||
color: HighlightText; |
|||
} |
|||
|
|||
.calendar td.time span.active { |
|||
border-color: #f00; |
|||
background-color: #000; |
|||
color: #0f0; |
|||
} |
File diff suppressed because it is too large
After Width: | Height: | Size: 68 B |
Loading…
Reference in new issue