diff --git a/UI/WebServerResources/SchedulerUI.css b/UI/WebServerResources/SchedulerUI.css index fe84e687e..ec6fad840 100644 --- a/UI/WebServerResources/SchedulerUI.css +++ b/UI/WebServerResources/SchedulerUI.css @@ -465,3 +465,75 @@ SPAN.colorBox margin: .12em; width: 1em; height: .75em; } + +DIV.freeBusyView +{ margin-left: 12em; + overflow: auto; + border-top: 2px solid #222; + border-left: 2px solid #222; + border-right: 1px solid #fff; + border-bottom: 1px solid #fff; + -moz-border-top-colors: ThreeDShadow ThreeDDarkShadow; + -moz-border-left-colors: ThreeDShadow ThreeDDarkShadow; } + +TABLE.freeBusy TH.attendees, +TABLE.freeBusy TD.attendees +{ position: absolute; + padding: 0px .5em; + margin: 0px; + background: #dbdad5 !important; + width: 10em; + overflow: hidden; + left: 1em; + border-bottom: 0px none; + border-right: 0px none; } + +TABLE.freeBusy TD.attendees INPUT +{ width: 100%; } + +TABLE.freeBusy TR.freeBusyHeader2 TH +{ font-weight: normal; } + +TABLE.freeBusy TR.freeBusyHeader1 TH, +TABLE.freeBusy TR.freeBusyHeader2 TH, +TABLE.freeBusy TR.freeBusyHeader3 TH +{ text-align: left; + color: #777; + background: #fff; + border-collapse: collapse; } + +TABLE.freeBusy TR.freeBusyHeader3 TH +{ border: 0px; + padding: 0px; + margin: 0px; + border-bottom: 1px solid #cecbff; } + +TABLE.freeBusy TR.freeBusyHeader2 TH +{ width: 5em; } + +TABLE.freeBusy TR.attendeeModel +{ display: none; } + +TABLE.freeBusy TD +{ border-bottom: 1px solid #cecbff; + border-right: 1px solid #cecbff; + height: 2em; + background: #fff; } + +TABLE.freeBusy TD.noFreeBusy +{ background: #bbb; + border-right: 0px; } + +SPAN.freeBusyZoneElement +{ display: block; + float: left; + width: 25%; } + +TABLE.freeBusy TR.freeBusyHeader3 SPAN.freeBusyZoneElement +{ height: .25em; } + +TABLE.freeBusy TD SPAN.freeBusyZoneElement +{ height: 100%; } + +SPAN[class~="freeBusyZoneElement"].busy +{ background-color: #c55; } diff --git a/UI/WebServerResources/SchedulerUI.js b/UI/WebServerResources/SchedulerUI.js index 469d4142f..a81ac7785 100644 --- a/UI/WebServerResources/SchedulerUI.js +++ b/UI/WebServerResources/SchedulerUI.js @@ -884,3 +884,16 @@ function browseUrl(anchor, event) { return false; } + +function initTimeWidgets() +{ + document.forms['editform']["startTime_time_hour"].addEventListener("change", onTimeWidgetChange, false); + document.forms['editform']["startTime_time_minute"].addEventListener("change", onTimeWidgetChange, false); + document.forms['editform']["endTime_time_hour"].addEventListener("change", onTimeWidgetChange, false); + document.forms['editform']["endTime_time_minute"].addEventListener("change", onTimeWidgetChange, false); +} + +function onTimeWidgetChange() +{ + setTimeout("redisplayFreeBusyZone();", 1000); +} diff --git a/UI/WebServerResources/UIxAppointmentEditor.js b/UI/WebServerResources/UIxAppointmentEditor.js index 275e2157e..d200bfa45 100644 --- a/UI/WebServerResources/UIxAppointmentEditor.js +++ b/UI/WebServerResources/UIxAppointmentEditor.js @@ -41,13 +41,13 @@ function uixEarlierDate(date1, date2) { function validateAptEditor() { var e, startdate, enddate, tmpdate; - e = document.getElementById('summary'); + e = $('summary'); if (e.value.length == 0) { if (!confirm(labels.validate_notitle.decodeEntities())) return false; } - e = document.getElementById('startTime_date'); + e = $('startTime_date'); if (e.value.length != 10) { alert(labels.validate_invalid_startdate.decodeEntities()); return false; @@ -58,7 +58,7 @@ function validateAptEditor() { return false; } - e = document.getElementById('endTime_date'); + e = $('endTime_date'); if (e.value.length != 10) { alert(labels.validate_invalid_enddate.decodeEntities()); return false; @@ -174,3 +174,16 @@ function saveEvent(sender) { return false; } + +function _dayAsShortString(node) { + var date = node.value.split("/"); + return date[2] + date[1] + date[0]; +} + +function startDayAsShortString() { + return _dayAsShortString($('startTime_date')); +} + +function endDayAsShortString() { + return _dayAsShortString($('endTime_date')); +}