]> err.no Git - scalable-opengroupware.org/commitdiff
git-svn-id: http://svn.opengroupware.org/SOGo/inverse/trunk@1032 d1b88da0-ebda-0310...
authorwolfgang <wolfgang@d1b88da0-ebda-0310-925b-ed51d893ca5b>
Mon, 12 Mar 2007 23:08:28 +0000 (23:08 +0000)
committerwolfgang <wolfgang@d1b88da0-ebda-0310-925b-ed51d893ca5b>
Mon, 12 Mar 2007 23:08:28 +0000 (23:08 +0000)
12 files changed:
ChangeLog
UI/Scheduler/GNUmakefile
UI/Scheduler/UIxCalInlineAptView.h [new file with mode: 0644]
UI/Scheduler/UIxCalInlineAptView.m
UI/Scheduler/UIxCalInlineMonthAptView.h [new file with mode: 0644]
UI/Scheduler/UIxCalInlineMonthAptView.m [new file with mode: 0644]
UI/Scheduler/UIxCalMonthView.h
UI/Scheduler/UIxCalMonthView.m
UI/Templates/SchedulerUI/UIxCalCalendarsListView.wox
UI/Templates/SchedulerUI/UIxCalMonthView.wox
UI/WebServerResources/SchedulerUI.css
UI/WebServerResources/SchedulerUI.js

index 331f0414f4f51be290ca4e7befb31fe39c99d44e..5686452783708e0a5ec74d4dd4bb810dc04c57fb 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+2007-03-12  Wolfgang Sourdeau  <wsourdeau@inverse.ca>
+
+       * UI/Scheduler/UIxCalMonthView.m: changed view to use divs instead
+       of a table, the same way the dayly and weekly views have been for
+       a few months now.
+
+2007-02-09  Helge Hess  <helge.hess@opengroupware.org>
+
+       * SoObjects/Appointments/SOGoAppointmentFolder.m: added CalDAV
+         resourcetype
+
+       * SoObjects/SOGo/SOGoUserFolder.m: added davCalendarHomeSet CalDAV
+         property to point at the user folder
+
 2007-03-07  Wolfgang Sourdeau  <wsourdeau@inverse.ca>
 
        * SoObjects/SOGo/SOGoAuthenticator.m ([SOGoAuthenticator
index e38c031429913153df3d8fe8790922f07d54fab6..8dfd4df721a4dc55f0c006c49fe4902b7f660487 100644 (file)
@@ -45,6 +45,7 @@ SchedulerUI_OBJC_FILES =              \
        UIxDatePicker.m                 \
        UIxTimeDateControl.m            \
        UIxCalInlineAptView.m           \
+       UIxCalInlineMonthAptView.m      \
        UIxCalScheduleOverview.m        \
        UIxCalParticipationStatusView.m \
        UIxCalMonthOverview.m
diff --git a/UI/Scheduler/UIxCalInlineAptView.h b/UI/Scheduler/UIxCalInlineAptView.h
new file mode 100644 (file)
index 0000000..f35ad15
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ Copyright (C) 2000-2004 SKYRIX Software AG
+ This file is part of OGo
+ OGo is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the
+ Free Software Foundation; either version 2, or (at your option) any
+ later version.
+ OGo is distributed in the hope that it will be useful, but WITHOUT ANY
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
+ License for more details.
+ You should have received a copy of the GNU Lesser General Public
+ License along with OGo; see the file COPYING.  If not, write to the
+ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+ 02111-1307, USA.
+ */
+// $Id: UIxCalInlineAptView.h 1031 2007-03-07 22:52:32Z wolfgang $
+
+#ifndef UIXCALINLINEAPTVIEW_H
+#define UIXCALINLINEAPTVIEW_H
+
+#import <NGObjWeb/WOComponent.h>
+
+@interface UIxCalInlineAptView : WOComponent
+{
+  NSDictionary *appointment;
+  id formatter;
+  id tooltipFormatter;
+  id url;
+  id style;
+  id queryDictionary;
+  id referenceDate;
+  int dayStartHour;
+  int dayEndHour;
+  BOOL canAccess;
+}
+
+@end
+
+#endif /* UIXCALINLINEAPTVIEW_H */
index b989711f82a13732169639636e24f631e580f15e..5f3c3243698ebbbc897557edbd02bd01681ae1c0 100644 (file)
 
 #import <Foundation/NSDictionary.h>
 
-#import <NGObjWeb/NGObjWeb.h>
-#import <SOGo/SOGoAuthenticator.h>
-#import <NGCards/iCalEntityObject.h>
-
-@interface UIxCalInlineAptView : WOComponent
-{
-  NSDictionary *appointment;
-  id formatter;
-  id tooltipFormatter;
-  id url;
-  id style;
-  id queryDictionary;
-  id referenceDate;
-  int dayStartHour;
-  int dayEndHour;
-  BOOL canAccess;
-}
+#import <NGExtensions/NSNull+misc.h>
+#import <NGExtensions/NSCalendarDate+misc.h>
+#import <NGObjWeb/WOContext+SoObjects.h>
 
-@end
+#import <NGCards/iCalEntityObject.h>
+#import <SOGo/SOGoAuthenticator.h>
+#import <SOGo/SOGoUser.h>
+#import <SOGoUI/SOGoAptFormatter.h>
 
-#include "common.h"
-#include <SOGoUI/SOGoAptFormatter.h>
-#include <SOGo/SOGoUser.h>
-#include <NGObjWeb/WOContext+SoObjects.h>
+#import "UIxCalInlineAptView.h"
 
 @implementation UIxCalInlineAptView
 
diff --git a/UI/Scheduler/UIxCalInlineMonthAptView.h b/UI/Scheduler/UIxCalInlineMonthAptView.h
new file mode 100644 (file)
index 0000000..aae77fc
--- /dev/null
@@ -0,0 +1,32 @@
+/* UIxCalInlineMonthAptView.h - this file is part of SOGo
+ *
+ * Copyright (C) 2007 Inverse groupe conseil
+ *
+ * Author: Wolfgang Sourdeau <wsourdeau@inverse.ca>
+ *
+ * This file is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2, or (at your option)
+ * any later version.
+ *
+ * This file is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; see the file COPYING.  If not, write to
+ * the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef UIXCALINLINEMONTHAPTVIEW_H
+#define UIXCALINLINEMONTHAPTVIEW_H
+
+#import "UIxCalInlineAptView.h"
+
+@interface UIxCalInlineMonthAptView : UIxCalInlineAptView
+
+@end
+
+#endif /* UIXCALINLINEMONTHAPTVIEW_H */
diff --git a/UI/Scheduler/UIxCalInlineMonthAptView.m b/UI/Scheduler/UIxCalInlineMonthAptView.m
new file mode 100644 (file)
index 0000000..ff7a6b6
--- /dev/null
@@ -0,0 +1,27 @@
+/* UIxCalInlineMonthAptView.m - this file is part of SOGo
+ *
+ * Copyright (C) 2007 Inverse groupe conseil
+ *
+ * Author: Wolfgang Sourdeau <wsourdeau@inverse.ca>
+ *
+ * This file is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2, or (at your option)
+ * any later version.
+ *
+ * This file is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; see the file COPYING.  If not, write to
+ * the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#import "UIxCalInlineMonthAptView.h"
+
+@implementation UIxCalInlineMonthAptView
+
+@end
index 94bc806bd9455e1d1ddede4707d7d2bff777ca7b..82a9f132ec714617bf82c0dfa6637fd6442008b0 100644 (file)
@@ -41,9 +41,9 @@
   SOGoDateFormatter *dateFormatter;
 
   NSMutableDictionary *sortedAppointments;
+  NSArray *daysToDisplay;
   NSCalendarDate *currentTableDay;
-//   NSArray *rangesOf7Days;
-  NSArray *currentRangeOf7Days;
+  NSArray *currentTableColumn;
 }
 
 - (id <WOActionResults>) defaultAction;
 - (NSCalendarDate *) currentTableDay;
 - (NSString *) labelForCurrentDayCell;
 
-- (NSArray *) rangesOf7Days;
-
-- (void) setCurrentRangeOf7Days: (NSArray *) newCurrentRangeOf7Days;
-- (NSArray *) currentRangeOf7Days;
-
 @end
 
 #endif /* UIXCALMONTHVIEW_H */
index 196637353798041d403d891e239c23a91df4d0ed..e5c82ecde949eaa084ce2d646f7c4044a18e8913 100644 (file)
@@ -1,6 +1,6 @@
 /* UIxCalMonthView.m - this file is part of SOGo
  *
- * Copyright (C) 2006 Inverse groupe conseil
+ * Copyright (C) 2006, 2007 Inverse groupe conseil
  *
  * Author: Wolfgang Sourdeau <wsourdeau@inverse.ca>
  *
@@ -48,6 +48,7 @@
       dateFormatter = [[SOGoDateFormatter alloc]
                         initWithLocale: [self locale]];
       sortedAppointments = [NSMutableDictionary new];
+      daysToDisplay = nil;
     }
 
   return self;
@@ -60,6 +61,7 @@
 
 - (void) dealloc
 {
+  [daysToDisplay release];
   [monthAptFormatter release];
   [dateFormatter release];
   [sortedAppointments release];
   return self;
 }
 
+- (NSArray *) headerDaysToDisplay
+{
+  NSMutableArray *headerDaysToDisplay;
+  unsigned int counter;
+
+  headerDaysToDisplay = [NSMutableArray arrayWithCapacity: 7];
+  currentTableDay = [[self selectedDate] mondayOfWeek];
+  for (counter = 0; counter < 7; counter++)
+    {
+      [headerDaysToDisplay addObject: currentTableDay];
+      currentTableDay = [currentTableDay tomorrow];
+    }
+
+  return headerDaysToDisplay;
+}
+
 - (NSArray *) daysToDisplay
 {
-  NSMutableArray *daysToDisplay;
-  NSCalendarDate *currentDayToDisplay;
-  unsigned int day;
+  NSMutableArray *days[7];
+  unsigned int counter;
+  NSCalendarDate *firstOfAllDays, *lastDayOfMonth;
 
-  daysToDisplay = [NSMutableArray arrayWithCapacity: 7];
-  currentDayToDisplay = [[NSCalendarDate calendarDate] mondayOfWeek];
-  for (day = 0; day < 7; day++)
+  if (!daysToDisplay)
     {
-      [daysToDisplay addObject: currentDayToDisplay];
-      currentDayToDisplay
-        = [currentDayToDisplay dateByAddingYears: 0 months: 0 days: 1];
+      firstOfAllDays = [[[self selectedDate] firstDayOfMonth] mondayOfWeek];
+      lastDayOfMonth  = [[self selectedDate] lastDayOfMonth];
+      for (counter = 0; counter < 7; counter++)
+        {
+          days[counter] = [NSMutableArray new];
+          [days[counter] autorelease];
+        }
+      currentTableDay = firstOfAllDays;
+      while ([currentTableDay earlierDate: lastDayOfMonth] == currentTableDay)
+        for (counter = 0; counter < 7; counter++)
+          {
+            [days[counter] addObject: currentTableDay];
+            currentTableDay = [currentTableDay tomorrow];
+          }
+      daysToDisplay = [NSArray arrayWithObjects: days count: 7];
+      [daysToDisplay retain];
     }
 
   return daysToDisplay;
   return currentTableDay;
 }
 
-- (void) setCurrentRangeOf7Days: (NSArray *) newCurrentRangeOf7Days
+- (void) setCurrentTableColumn: (NSArray *) newCurrentTableColumn
 {
-  currentRangeOf7Days = newCurrentRangeOf7Days;
+  currentTableColumn = newCurrentTableColumn;
 }
 
-- (NSArray *) currentRangeOf7Days
+- (NSArray *) currentTableColumn
 {
-  return currentRangeOf7Days;
+  return currentTableColumn;
 }
 
 - (NSString *) labelForCurrentDayCell
   return label;
 }
 
+- (NSString *) headerDayCellClasses
+{
+  return [NSString stringWithFormat: @"headerDay day%d",
+                   [currentTableDay dayOfWeek]];
+}
+
+- (NSString *) dayHeaderNumber
+{
+  NSString *nameOfMonth, *dayHeaderNumber;
+  unsigned int dayOfMonth;
+
+  dayOfMonth = [currentTableDay dayOfMonth];
+  if (dayOfMonth == 1
+      || [currentTableDay isDateOnSameDay: [currentTableDay lastDayOfMonth]])
+    {
+      nameOfMonth
+        = [self localizedNameForMonthOfYear: [currentTableDay monthOfYear]];
+      dayHeaderNumber = [NSString stringWithFormat: @"%d %@", dayOfMonth,
+                                  nameOfMonth];
+    }
+  else
+    dayHeaderNumber = [NSString stringWithFormat: @"%d", dayOfMonth];
+
+  return dayHeaderNumber;
+}
+
 - (NSString *) dayCellClasses
 {
   NSMutableString *classes;
   NSCalendarDate *selectedDate;
-  int dayOfWeek;
+  int dayOfWeek, numberOfWeeks;
 
   classes = [NSMutableString new];
   [classes autorelease];
-  [classes appendString: @"day"];
+
   dayOfWeek = [currentTableDay dayOfWeek];
+  numberOfWeeks = [currentTableColumn count];
+
+  [classes appendFormat: @"day weekOf%d week%dof%d day%d",
+           numberOfWeeks,
+           [currentTableColumn indexOfObject: currentTableDay],
+           numberOfWeeks, dayOfWeek];
   if (dayOfWeek == 0 || dayOfWeek == 6)
     [classes appendString: @" weekEndDay"];
   selectedDate = [self selectedDate];
   return [[lastDayOfMonth mondayOfWeek] dateByAddingYears: 0 months: 0 days: 6];
 }
 
-- (NSArray *) rangesOf7Days
-{
-  NSCalendarDate *currentDate, *firstDayOfMonth, *lastDayOfMonth;
-  NSMutableArray *rangesOf7Days;
-  NSArray *currentRange;
-  int monthOfYear;
-
-  rangesOf7Days = [NSMutableArray new];
-  [rangesOf7Days autorelease];
-
-  firstDayOfMonth = [[self selectedDate] firstDayOfMonth];
-  lastDayOfMonth = [firstDayOfMonth lastDayOfMonth];
-  currentDate = [firstDayOfMonth mondayOfWeek];
-  currentRange = [self _rangeOf7DaysForWeekStartingOn: currentDate];
-  [rangesOf7Days addObject: currentRange];
-
-  currentDate = [[currentRange objectAtIndex: 6] dateByAddingYears: 0
-                                                 months: 0 days: 1];
-  monthOfYear = [currentDate monthOfYear];
-  while ([currentDate monthOfYear] == monthOfYear)
-    {
-      currentRange = [self _rangeOf7DaysForWeekStartingOn: currentDate];
-      [rangesOf7Days addObject: currentRange];
-      currentDate = [[currentRange objectAtIndex: 6] dateByAddingYears: 0
-                                                     months: 0 days: 1];
-    }
-
-  return rangesOf7Days;
-}
-
 - (NSArray *) aptsForCurrentDate
 {
   return [sortedAppointments objectForKey: [currentTableDay shortDateString]];
index b19ec1dc32eb97bbf29e365600ccacae97ccef49..24d547b1017f9330234802072ac59828847dd303 100644 (file)
       {
         background-color: <var:string value="currentContactSpanBG" /> !important;
       }
-      TABLE.monthOverview DIV[owner~='<var:string value="currentContactLogin" />'].appointment
-      {
-        background-color: <var:string value="currentContactAptBorder" /> !important;
-      }
       </var:foreach>
     </style>
     <var:component className="UIxContactSelector"
index 4d6578bb183bb91cee7c191ff94ef1571ba21676..cb098db5962a1637433e826e97029418f76ea1cf 100644 (file)
 <?xml version="1.0" standalone="yes"?>
-  <container
-    xmlns="http://www.w3.org/1999/xhtml"
-    xmlns:var="http://www.skyrix.com/od/binding"
-    xmlns:const="http://www.skyrix.com/od/constant"
-    xmlns:rsrc="OGo:url"
-    xmlns:label="OGo:label">
-    <a href="#"
-      class="leftNavigationArrow"
-      var:date="prevMonthQueryParameters.day"
-      onclick="return onCalendarGotoDay(this);"
-      ><img rsrc:src="arrow-lft-sharp.gif"/></a>
-    <span class="monthsHeader">
-      <span class="month2"><a href="#"
-          var:date="monthBeforePrevMonthQueryParameters.day"
-          onclick="return onCalendarGotoDay(this);"
-          ><var:string value="monthNameOfTwoMonthAgo"
-            /></a></span
-        ><span class="month1"><a href="#"
-          var:date="prevMonthQueryParameters.day"
-          onclick="return onCalendarGotoDay(this);"
-          ><var:string value="monthNameOfOneMonthAgo"
-            /></a></span
-        ><span class="month0"><var:string value="monthNameOfThisMonth" /></span
-        ><span class="month1"><a href="#"
-          var:date="nextMonthQueryParameters.day"
-          onclick="return onCalendarGotoDay(this);"
-          ><var:string value="monthNameOfNextMonth"
-            /></a></span
-        ><span class="month2"><a href="#"
-          var:date="monthAfterNextMonthQueryParameters.day"
-          onclick="return onCalendarGotoDay(this);"
-          ><var:string value="monthNameOfTheMonthAfterNextMonth"
-            /></a></span
-        ></span>
-    <a href="#"
-      class="rightNavigationArrow"
-      var:date="nextMonthQueryParameters.day"
-      onclick="return onCalendarGotoDay(this);"
-      ><img rsrc:src="arrow-rit-sharp.gif"/></a>
+<!DOCTYPE container>
+<container
+  xmlns="http://www.w3.org/1999/xhtml"
+  xmlns:var="http://www.skyrix.com/od/binding"
+  xmlns:const="http://www.skyrix.com/od/constant"
+  xmlns:rsrc="OGo:url"
+  xmlns:label="OGo:label">
+  <a href="#"
+    class="leftNavigationArrow"
+    var:date="prevMonthQueryParameters.day"
+    onclick="return onCalendarGotoDay(this);"
+    ><img rsrc:src="arrow-lft-sharp.gif"/></a>
+  <span class="monthsHeader">
+    <span class="month2"><a href="#"
+        var:date="monthBeforePrevMonthQueryParameters.day"
+        onclick="return onCalendarGotoDay(this);"
+        ><var:string value="monthNameOfTwoMonthAgo"
+          /></a></span
+      ><span class="month1"><a href="#"
+        var:date="prevMonthQueryParameters.day"
+        onclick="return onCalendarGotoDay(this);"
+        ><var:string value="monthNameOfOneMonthAgo"
+          /></a></span
+      ><span class="month0"><var:string value="monthNameOfThisMonth" /></span
+      ><span class="month1"><a href="#"
+        var:date="nextMonthQueryParameters.day"
+        onclick="return onCalendarGotoDay(this);"
+        ><var:string value="monthNameOfNextMonth"
+          /></a></span
+      ><span class="month2"><a href="#"
+        var:date="monthAfterNextMonthQueryParameters.day"
+        onclick="return onCalendarGotoDay(this);"
+        ><var:string value="monthNameOfTheMonthAfterNextMonth"
+          /></a></span
+      ></span>
+  <a href="#"
+    class="rightNavigationArrow"
+    var:date="nextMonthQueryParameters.day"
+    onclick="return onCalendarGotoDay(this);"
+    ><img rsrc:src="arrow-rit-sharp.gif"/></a>
 
-    <div id="calendarContent">
-      <table class="monthOverview">
-        <tr>
-          <var:foreach list="daysToDisplay" item="currentTableDay"
-            ><td class="header"><var:string value="labelForCurrentDayToDisplay"
-                /></td></var:foreach>
-        </tr>
-
-        <var:if condition="hasHolidayInfo">
-          <tr>
-            <td class="hourOfDay" colspan="2">
-              <b><var:string value="holidayInfo.title" /></b>
-            </td>
-          </tr>
-        </var:if>
-
-<!--        <var:foreach list="allDayApts" item="appointment">
-          <tr>
-            <td class="hourOfDay">
-              <var:entity name="nbsp" />
-            </td>
-            <td class="day" width="90%">
-              <var:foreach list="allDayApts" item="appointment">
-                <var:component className="UIxCalInlineAptView"
+  <div id="calendarContent">
+    <div class="monthView">
+      <var:foreach list="headerDaysToDisplay" item="currentTableDay"
+        ><div var:class="headerDayCellClasses"
+          ><var:string value="labelForCurrentDayToDisplay"
+            /></div></var:foreach>
+      <div class="days"
+        ><var:foreach list="daysToDisplay" item="currentTableColumn">
+          <var:foreach list="currentTableColumn" item="currentTableDay">
+            <div var:class="dayCellClasses"
+              var:day="currentTableDay.shortDateString">
+              <div class="dayHeader"><var:string value="dayHeaderNumber"/></div>
+              <var:foreach
+                list="aptsForCurrentDate"
+              item="appointment">
+                <var:component className="UIxCalInlineMonthAptView"
                   appointment="appointment"
-                  formatter="aptFormatter"
+                  formatter="monthAptFormatter"
                   tooltipFormatter="aptTooltipFormatter"
                   url="appointmentViewURL"
                   const:style="dayoverview"
-                  queryDictionary="currentDateQueryParameters"
-                  referenceDate="selectedDate"
+                queryDictionary="currentDayQueryParameters"
+                  referenceDate="currentTableDay"
                   canAccess="canAccessApt"
-                  />
-              </var:foreach>
-            </td>
-          </tr>
-        </var:foreach> -->
-
-        <var:foreach list="rangesOf7Days" item="currentRangeOf7Days">
-          <tr>
-            <var:foreach list="currentRangeOf7Days" item="currentTableDay"
-              ><td var:class="dayCellClasses"
-                var:day="currentTableDay.shortDateString"
-                const:hour="0800"
-                ><div class="dayContent"><span class="dayCellLabel"
-                  ><var:string value="labelForCurrentDayCell" /></span
-                  ><br /><var:foreach
-                  list="aptsForCurrentDate"
-                  item="appointment"
-                  ><var:component className="UIxCalInlineAptView"
-                    appointment="appointment"
-                    formatter="monthAptFormatter"
-                    tooltipFormatter="aptTooltipFormatter"
-                    url="appointmentViewURL"
-                    const:style="dayoverview"
-                    queryDictionary="currentDayQueryParameters"
-                    referenceDate="currentTableDay"
-                    canAccess="canAccessApt"
-                    />
-                </var:foreach></div></td>
-            </var:foreach>
-          </tr>
+                  /></var:foreach>
+            </div>
+          </var:foreach>
         </var:foreach>
-      </table>
+      </div>
     </div>
-  </container>
+  </div>
+</container>
+
+    <!--      <table class="monthOverview">
+    <tr>
+  </tr>
+
+    <var:if condition="hasHolidayInfo">
+    <tr>
+    <td class="hourOfDay" colspan="2">
+    <b><var:string value="holidayInfo.title" /></b>
+  </td>
+  </tr>
+  </var:if> -->
+
+    <!--        <var:foreach list="allDayApts" item="appointment">
+    <tr>
+    <td class="hourOfDay">
+    <var:entity name="nbsp" />
+  </td>
+    <td class="day" width="90%">
+    <var:foreach list="allDayApts" item="appointment">
+    <var:component className="UIxCalInlineAptView"
+    appointment="appointment"
+    formatter="aptFormatter"
+    tooltipFormatter="aptTooltipFormatter"
+    url="appointmentViewURL"
+    const:style="dayoverview"
+    queryDictionary="currentDateQueryParameters"
+    referenceDate="selectedDate"
+    canAccess="canAccessApt"
+    />
+  </var:foreach>
+  </td>
+  </tr>
+  </var:foreach> -->
+
+    <!--        <var:foreach list="rangesOf7Days" item="currentRangeOf7Days">
+    <tr>
+    <var:foreach list="currentRangeOf7Days" item="currentTableDay"
+    ><td var:class="dayCellClasses"
+    var:day="currentTableDay.shortDateString"
+    const:hour="0800"
+    ><div class="dayContent"><span class="dayCellLabel"
+    ><var:string value="labelForCurrentDayCell" /></span
+    ><br /><var:foreach
+    list="aptsForCurrentDate"
+    item="appointment"
+    ><var:component className="UIxCalInlineAptView"
+    appointment="appointment"
+    formatter="monthAptFormatter"
+    tooltipFormatter="aptTooltipFormatter"
+    url="appointmentViewURL"
+    const:style="dayoverview"
+    queryDictionary="currentDayQueryParameters"
+    referenceDate="currentTableDay"
+    canAccess="canAccessApt"
+    />
+  </var:foreach></div></td>
+  </var:foreach>
+  </tr>
+  </var:foreach>
+  </table> -->
index a94bcd8b087c18d5ce3d3445f43847bceeec7b04..c3f2bebe2be33c2c9657cda08e5c386f8ef820ee 100644 (file)
@@ -293,60 +293,6 @@ TABLE._unfocused#appointmentsList TR._selected TD
   color: #fff !important;;
 }
 
-TABLE.monthOverview
-{ position: absolute;
-  display: table;
-  margin: 0 auto;
-  padding: 1em;
-  border-collapse: collapse;
-  display: table;
-  margin: 0px auto;
-  padding: 0px;
-  width: 98%;
-  height: 98%;
-  min-width: 60em;
-  min-height: 25em; }
-
-TABLE.monthOverview TD
-{ border: 2px solid #397d94;
-  padding: 0px;
-  margin: 0px; }
-
-TABLE.monthOverview TD.day
-{ vertical-align: top;
-  margin: 0px;
-  padding: 0px;
-  height: 15%;
-  min-height: 15%;
-  max-height: 15%; }
-
-TABLE.monthOverview TD.day > DIV.dayContent
-{ display: block;
-  width: 100%;
-  height: 100%;
-  overflow: auto; }
-
-TABLE.monthOverview TD.header
-{ text-align: center;
-  color: #397d94;
-  width: 14%;
-  height: 2em;
-  font-weight: bold;
-  background: #e7efef; }
-
-TABLE.monthOverview TD.dayOfToday
-{ border: 3px solid #397d94;
-  background-color: #deebf7; }
-
-TABLE.monthOverview TD.weekEndDay
-{ background-color: #fffbe7; }
-
-TABLE.monthOverview TD.dayOfAnotherMonth
-{ background-color: #e7efef; }
-
-TABLE.monthOverview TD.selectedDay
-{ background-color: #ffe79c; }
-
 SPAN.dayCellLabel
 { color: #77a;
   font-weight: bold; }
@@ -595,7 +541,6 @@ SPAN[class~="freeBusyZoneElement"].maybe-busy
 SPAN[class~="colorBox"].noFreeBusy
 { background-color: #559; }
 
-
 /* new draggable presentation */
 
 DIV.daysView
@@ -614,6 +559,126 @@ DIV.daysView DIV.days
 DIV.multicolumnDayView DIV.lastDayUser
 { border-right: 1px solid #397d94; }
 
+DIV.monthView
+{ position: absolute;
+  left: .5em;
+  top: .5em;
+  right: .5em;
+  bottom: .5em;
+  padding: 0px;
+  width: 98%;
+  height: 98%;
+  min-width: 60em;
+  min-height: 25em; }
+
+DIV.monthView > DIV,
+DIV.monthView > DIV.days > DIV
+{ position: absolute; }
+
+DIV.monthView > DIV.headerDay
+{ text-align: center;
+  border-left: 2px solid #397d94;
+  border-top: 2px solid #397d94;
+  top: 0px;
+  color: #397d94;
+  height: 2em;
+  font-weight: bold;
+  background: #e7efef; }
+
+DIV.monthView DIV.dayOfToday
+{ border: 1px solid #397d94;
+  background-color: #deebf7; }
+
+DIV.monthView DIV.weekEndDay
+{ background-color: #fffbe7; }
+
+DIV.monthView DIV.dayOfAnotherMonth
+{ background-color: #e7efef; }
+
+DIV.monthView DIV.selectedDay
+{ background-color: #ffe79c; }
+
+DIV.monthView DIV.dayHeader
+{ margin-left: 1em;
+  color: #397d94;
+  font-weight: bold; }
+
+DIV.monthView DIV.days
+{ position: absolute;
+  top: 2em;
+  bottom: 0px;
+  left: 0px;
+  right: 0px; }
+
+DIV.monthView DIV.day
+{ position: absolute;
+  border-left: 2px solid #397d94;
+  border-top: 2px solid #397d94;
+  min-height: 4em;
+  overflow: auto; }
+
+DIV.weekOf4
+{ height: 25%; }
+
+DIV.weekOf5
+{ height: 20%; }
+
+DIV.weekOf6
+{ height: 16.666667%; }
+
+DIV.monthView DIV.week0of4,
+DIV.monthView DIV.week0of5,
+DIV.monthView DIV.week0of6
+{ top: 0px; }
+
+DIV.monthView DIV.week1of4
+{ top: 25%; }
+
+DIV.monthView DIV.week2of4
+{ top: 50%; }
+
+DIV.monthView DIV.week3of4
+{ top: 75%; }
+
+DIV.monthView DIV.week1of5
+{ top: 20%; }
+
+DIV.monthView DIV.week2of5
+{ top: 40%; }
+
+DIV.monthView DIV.week3of5
+{ top: 60%; }
+
+DIV.monthView DIV.week4of5
+{ top: 80%; }
+
+DIV.monthView DIV.week1of6
+{ top: 16.666667%; }
+
+DIV.monthView DIV.week2of6
+{ top: 33.333333%; }
+
+DIV.monthView DIV.week3of6
+{ top: 50%; }
+
+DIV.monthView DIV.week4of6
+{ top: 66.666667%; }
+
+DIV.monthView DIV.week4of6
+{ top: 83.333333%; }
+
+DIV.monthView DIV.week3
+{ top: 45%; }
+
+DIV.monthView DIV.week4
+{ top: 60%; }
+
+DIV.monthView DIV.week5
+{ top: 75%; }
+
+DIV.monthView DIV.week6
+{ top: 90%; }
+
 DIV.daysView DIV.day
 { position: absolute;
   border-left: 1px solid #397d94;
@@ -645,27 +710,36 @@ DIV.daysViewFor1Days DIV.day
   border-right: 1px solid #397d94;
   left: 0px; }
 
+DIV.monthView DIV.headerDay,
+DIV.monthView DIV.day,
 DIV.daysViewFor7Days DIV.day
 { width: 14.2857%; }
 
+DIV.monthView DIV.day1,
 DIV.daysViewFor7Days DIV.day1
 { left: 0px; }
 
+DIV.monthView DIV.day2,
 DIV.daysViewFor7Days DIV.day2
 { left: 14.2857%; }
 
+DIV.monthView DIV.day3,
 DIV.daysViewFor7Days DIV.day3
 { left: 28.5714%; }
 
+DIV.monthView DIV.day4,
 DIV.daysViewFor7Days DIV.day4
 { left: 42.8571%; }
 
+DIV.monthView DIV.day5,
 DIV.daysViewFor7Days DIV.day5
 { left: 57.1428%; }
 
+DIV.monthView DIV.day6,
 DIV.daysViewFor7Days DIV.day6
 { left: 71.4285%; }
 
+DIV.monthView DIV.day0,
 DIV.daysViewFor7Days DIV.day0
 { left: 85.7142%;
   border-right: 1px solid #397d94; }
@@ -872,611 +946,590 @@ DIV.gradient > IMG
 { height: 100%;
   width: 100%; }
 
-TABLE.monthOverview DIV.appointment
-{ margin: 0px;
-  margin-top: 1px;
-  padding: 1px;
-  border: 0px;
-  height: auto;
-  width: auto;
-  position: static;
-  overflow: hidden;
-  background-color: #fff; }
-
-TABLE.monthOverview DIV.appointmentInside
-{ cursor: default;
-  margin: 0px;
+DIV.monthView DIV.appointment
+{ position: relative !important;
+  white-space: nowrap;
   padding: 1px;
-  border: 0px;
-  height: auto;
-  width: auto;
-  position: static; }
-
-TABLE.monthOverview DIV.shadow,
-TABLE.monthOverview DIV.gradient
-{ display: none; }
-
-TABLE.monthOverview DIV.text
-{ position: static; }
+  height: 1.5em; }
 
-DIV[class~="appointment"].starts0
+DIV.daysView DIV[class~="appointment"].starts0
 { top: 0.000000%; }
 
-DIV[class~="appointment"].starts1
+DIV.daysView DIV[class~="appointment"].starts1
 { top: 1.041667%; }
 
-DIV[class~="appointment"].starts2
+DIV.daysView DIV[class~="appointment"].starts2
 { top: 2.083333%; }
 
-DIV[class~="appointment"].starts3
+DIV.daysView DIV[class~="appointment"].starts3
 { top: 3.125000%; }
 
-DIV[class~="appointment"].starts4
+DIV.daysView DIV[class~="appointment"].starts4
 { top: 4.166667%; }
 
-DIV[class~="appointment"].starts5
+DIV.daysView DIV[class~="appointment"].starts5
 { top: 5.208333%; }
 
-DIV[class~="appointment"].starts6
+DIV.daysView DIV[class~="appointment"].starts6
 { top: 6.250000%; }
 
-DIV[class~="appointment"].starts7
+DIV.daysView DIV[class~="appointment"].starts7
 { top: 7.291667%; }
 
-DIV[class~="appointment"].starts8
+DIV.daysView DIV[class~="appointment"].starts8
 { top: 8.333333%; }
 
-DIV[class~="appointment"].starts9
+DIV.daysView DIV[class~="appointment"].starts9
 { top: 9.375000%; }
 
-DIV[class~="appointment"].starts10
+DIV.daysView DIV[class~="appointment"].starts10
 { top: 10.416667%; }
 
-DIV[class~="appointment"].starts11
+DIV.daysView DIV[class~="appointment"].starts11
 { top: 11.458333%; }
 
-DIV[class~="appointment"].starts12
+DIV.daysView DIV[class~="appointment"].starts12
 { top: 12.500000%; }
 
-DIV[class~="appointment"].starts13
+DIV.daysView DIV[class~="appointment"].starts13
 { top: 13.541667%; }
 
-DIV[class~="appointment"].starts14
+DIV.daysView DIV[class~="appointment"].starts14
 { top: 14.583333%; }
 
-DIV[class~="appointment"].starts15
+DIV.daysView DIV[class~="appointment"].starts15
 { top: 15.625000%; }
 
-DIV[class~="appointment"].starts16
+DIV.daysView DIV[class~="appointment"].starts16
 { top: 16.666667%; }
 
-DIV[class~="appointment"].starts17
+DIV.daysView DIV[class~="appointment"].starts17
 { top: 17.708333%; }
 
-DIV[class~="appointment"].starts18
+DIV.daysView DIV[class~="appointment"].starts18
 { top: 18.750000%; }
 
-DIV[class~="appointment"].starts19
+DIV.daysView DIV[class~="appointment"].starts19
 { top: 19.791667%; }
 
-DIV[class~="appointment"].starts20
+DIV.daysView DIV[class~="appointment"].starts20
 { top: 20.833333%; }
 
-DIV[class~="appointment"].starts21
+DIV.daysView DIV[class~="appointment"].starts21
 { top: 21.875000%; }
 
-DIV[class~="appointment"].starts22
+DIV.daysView DIV[class~="appointment"].starts22
 { top: 22.916667%; }
 
-DIV[class~="appointment"].starts23
+DIV.daysView DIV[class~="appointment"].starts23
 { top: 23.958333%; }
 
-DIV[class~="appointment"].starts24
+DIV.daysView DIV[class~="appointment"].starts24
 { top: 25.000000%; }
 
-DIV[class~="appointment"].starts25
+DIV.daysView DIV[class~="appointment"].starts25
 { top: 26.041667%; }
 
-DIV[class~="appointment"].starts26
+DIV.daysView DIV[class~="appointment"].starts26
 { top: 27.083333%; }
 
-DIV[class~="appointment"].starts27
+DIV.daysView DIV[class~="appointment"].starts27
 { top: 28.125000%; }
 
-DIV[class~="appointment"].starts28
+DIV.daysView DIV[class~="appointment"].starts28
 { top: 29.166667%; }
 
-DIV[class~="appointment"].starts29
+DIV.daysView DIV[class~="appointment"].starts29
 { top: 30.208333%; }
 
-DIV[class~="appointment"].starts30
+DIV.daysView DIV[class~="appointment"].starts30
 { top: 31.250000%; }
 
-DIV[class~="appointment"].starts31
+DIV.daysView DIV[class~="appointment"].starts31
 { top: 32.291667%; }
 
-DIV[class~="appointment"].starts32
+DIV.daysView DIV[class~="appointment"].starts32
 { top: 33.333333%; }
 
-DIV[class~="appointment"].starts33
+DIV.daysView DIV[class~="appointment"].starts33
 { top: 34.375000%; }
 
-DIV[class~="appointment"].starts34
+DIV.daysView DIV[class~="appointment"].starts34
 { top: 35.416667%; }
 
-DIV[class~="appointment"].starts35
+DIV.daysView DIV[class~="appointment"].starts35
 { top: 36.458333%; }
 
-DIV[class~="appointment"].starts36
+DIV.daysView DIV[class~="appointment"].starts36
 { top: 37.500000%; }
 
-DIV[class~="appointment"].starts37
+DIV.daysView DIV[class~="appointment"].starts37
 { top: 38.541667%; }
 
-DIV[class~="appointment"].starts38
+DIV.daysView DIV[class~="appointment"].starts38
 { top: 39.583333%; }
 
-DIV[class~="appointment"].starts39
+DIV.daysView DIV[class~="appointment"].starts39
 { top: 40.625000%; }
 
-DIV[class~="appointment"].starts40
+DIV.daysView DIV[class~="appointment"].starts40
 { top: 41.666667%; }
 
-DIV[class~="appointment"].starts41
+DIV.daysView DIV[class~="appointment"].starts41
 { top: 42.708333%; }
 
-DIV[class~="appointment"].starts42
+DIV.daysView DIV[class~="appointment"].starts42
 { top: 43.750000%; }
 
-DIV[class~="appointment"].starts43
+DIV.daysView DIV[class~="appointment"].starts43
 { top: 44.791667%; }
 
-DIV[class~="appointment"].starts44
+DIV.daysView DIV[class~="appointment"].starts44
 { top: 45.833333%; }
 
-DIV[class~="appointment"].starts45
+DIV.daysView DIV[class~="appointment"].starts45
 { top: 46.875000%; }
 
-DIV[class~="appointment"].starts46
+DIV.daysView DIV[class~="appointment"].starts46
 { top: 47.916667%; }
 
-DIV[class~="appointment"].starts47
+DIV.daysView DIV[class~="appointment"].starts47
 { top: 48.958333%; }
 
-DIV[class~="appointment"].starts48
+DIV.daysView DIV[class~="appointment"].starts48
 { top: 50.000000%; }
 
-DIV[class~="appointment"].starts49
+DIV.daysView DIV[class~="appointment"].starts49
 { top: 51.041667%; }
 
-DIV[class~="appointment"].starts50
+DIV.daysView DIV[class~="appointment"].starts50
 { top: 52.083333%; }
 
-DIV[class~="appointment"].starts51
+DIV.daysView DIV[class~="appointment"].starts51
 { top: 53.125000%; }
 
-DIV[class~="appointment"].starts52
+DIV.daysView DIV[class~="appointment"].starts52
 { top: 54.166667%; }
 
-DIV[class~="appointment"].starts53
+DIV.daysView DIV[class~="appointment"].starts53
 { top: 55.208333%; }
 
-DIV[class~="appointment"].starts54
+DIV.daysView DIV[class~="appointment"].starts54
 { top: 56.250000%; }
 
-DIV[class~="appointment"].starts55
+DIV.daysView DIV[class~="appointment"].starts55
 { top: 57.291667%; }
 
-DIV[class~="appointment"].starts56
+DIV.daysView DIV[class~="appointment"].starts56
 { top: 58.333333%; }
 
-DIV[class~="appointment"].starts57
+DIV.daysView DIV[class~="appointment"].starts57
 { top: 59.375000%; }
 
-DIV[class~="appointment"].starts58
+DIV.daysView DIV[class~="appointment"].starts58
 { top: 60.416667%; }
 
-DIV[class~="appointment"].starts59
+DIV.daysView DIV[class~="appointment"].starts59
 { top: 61.458333%; }
 
-DIV[class~="appointment"].starts60
+DIV.daysView DIV[class~="appointment"].starts60
 { top: 62.500000%; }
 
-DIV[class~="appointment"].starts61
+DIV.daysView DIV[class~="appointment"].starts61
 { top: 63.541667%; }
 
-DIV[class~="appointment"].starts62
+DIV.daysView DIV[class~="appointment"].starts62
 { top: 64.583333%; }
 
-DIV[class~="appointment"].starts63
+DIV.daysView DIV[class~="appointment"].starts63
 { top: 65.625000%; }
 
-DIV[class~="appointment"].starts64
+DIV.daysView DIV[class~="appointment"].starts64
 { top: 66.666667%; }
 
-DIV[class~="appointment"].starts65
+DIV.daysView DIV[class~="appointment"].starts65
 { top: 67.708333%; }
 
-DIV[class~="appointment"].starts66
+DIV.daysView DIV[class~="appointment"].starts66
 { top: 68.750000%; }
 
-DIV[class~="appointment"].starts67
+DIV.daysView DIV[class~="appointment"].starts67
 { top: 69.791667%; }
 
-DIV[class~="appointment"].starts68
+DIV.daysView DIV[class~="appointment"].starts68
 { top: 70.833333%; }
 
-DIV[class~="appointment"].starts69
+DIV.daysView DIV[class~="appointment"].starts69
 { top: 71.875000%; }
 
-DIV[class~="appointment"].starts70
+DIV.daysView DIV[class~="appointment"].starts70
 { top: 72.916667%; }
 
-DIV[class~="appointment"].starts71
+DIV.daysView DIV[class~="appointment"].starts71
 { top: 73.958333%; }
 
-DIV[class~="appointment"].starts72
+DIV.daysView DIV[class~="appointment"].starts72
 { top: 75.000000%; }
 
-DIV[class~="appointment"].starts73
+DIV.daysView DIV[class~="appointment"].starts73
 { top: 76.041667%; }
 
-DIV[class~="appointment"].starts74
+DIV.daysView DIV[class~="appointment"].starts74
 { top: 77.083333%; }
 
-DIV[class~="appointment"].starts75
+DIV.daysView DIV[class~="appointment"].starts75
 { top: 78.125000%; }
 
-DIV[class~="appointment"].starts76
+DIV.daysView DIV[class~="appointment"].starts76
 { top: 79.166667%; }
 
-DIV[class~="appointment"].starts77
+DIV.daysView DIV[class~="appointment"].starts77
 { top: 80.208333%; }
 
-DIV[class~="appointment"].starts78
+DIV.daysView DIV[class~="appointment"].starts78
 { top: 81.250000%; }
 
-DIV[class~="appointment"].starts79
+DIV.daysView DIV[class~="appointment"].starts79
 { top: 82.291667%; }
 
-DIV[class~="appointment"].starts80
+DIV.daysView DIV[class~="appointment"].starts80
 { top: 83.333333%; }
 
-DIV[class~="appointment"].starts81
+DIV.daysView DIV[class~="appointment"].starts81
 { top: 84.375000%; }
 
-DIV[class~="appointment"].starts82
+DIV.daysView DIV[class~="appointment"].starts82
 { top: 85.416667%; }
 
-DIV[class~="appointment"].starts83
+DIV.daysView DIV[class~="appointment"].starts83
 { top: 86.458333%; }
 
-DIV[class~="appointment"].starts84
+DIV.daysView DIV[class~="appointment"].starts84
 { top: 87.500000%; }
 
-DIV[class~="appointment"].starts85
+DIV.daysView DIV[class~="appointment"].starts85
 { top: 88.541667%; }
 
-DIV[class~="appointment"].starts86
+DIV.daysView DIV[class~="appointment"].starts86
 { top: 89.583333%; }
 
-DIV[class~="appointment"].starts87
+DIV.daysView DIV[class~="appointment"].starts87
 { top: 90.625000%; }
 
-DIV[class~="appointment"].starts88
+DIV.daysView DIV[class~="appointment"].starts88
 { top: 91.666667%; }
 
-DIV[class~="appointment"].starts89
+DIV.daysView DIV[class~="appointment"].starts89
 { top: 92.708333%; }
 
-DIV[class~="appointment"].starts90
+DIV.daysView DIV[class~="appointment"].starts90
 { top: 93.750000%; }
 
-DIV[class~="appointment"].starts91
+DIV.daysView DIV[class~="appointment"].starts91
 { top: 94.791667%; }
 
-DIV[class~="appointment"].starts92
+DIV.daysView DIV[class~="appointment"].starts92
 { top: 95.833333%; }
 
-DIV[class~="appointment"].starts93
+DIV.daysView DIV[class~="appointment"].starts93
 { top: 96.875000%; }
 
-DIV[class~="appointment"].starts94
+DIV.daysView DIV[class~="appointment"].starts94
 { top: 97.916667%; }
 
-DIV[class~="appointment"].starts95
+DIV.daysView DIV[class~="appointment"].starts95
 { top: 98.958333%; }
 
-DIV[class~="appointment"].starts96
+DIV.daysView DIV[class~="appointment"].starts96
 { top: 100.000000%; }
 
-DIV[class~="appointment"].lasts0
+DIV.daysView DIV[class~="appointment"].lasts0
 { height: 0px; }
 
-DIV[class~="appointment"].lasts1
+DIV.daysView DIV[class~="appointment"].lasts1
 { height: 1.041667%; }
 
-DIV[class~="appointment"].lasts2
+DIV.daysView DIV[class~="appointment"].lasts2
 { height: 2.083333%; }
 
-DIV[class~="appointment"].lasts3
+DIV.daysView DIV[class~="appointment"].lasts3
 { height: 3.125000%; }
 
-DIV[class~="appointment"].lasts4
+DIV.daysView DIV[class~="appointment"].lasts4
 { height: 4.166667%; }
 
-DIV[class~="appointment"].lasts5
+DIV.daysView DIV[class~="appointment"].lasts5
 { height: 5.208333%; }
 
-DIV[class~="appointment"].lasts6
+DIV.daysView DIV[class~="appointment"].lasts6
 { height: 6.250000%; }
 
-DIV[class~="appointment"].lasts7
+DIV.daysView DIV[class~="appointment"].lasts7
 { height: 7.291667%; }
 
-DIV[class~="appointment"].lasts8
+DIV.daysView DIV[class~="appointment"].lasts8
 { height: 8.333333%; }
 
-DIV[class~="appointment"].lasts9
+DIV.daysView DIV[class~="appointment"].lasts9
 { height: 9.375000%; }
 
-DIV[class~="appointment"].lasts10
+DIV.daysView DIV[class~="appointment"].lasts10
 { height: 10.416667%; }
 
-DIV[class~="appointment"].lasts11
+DIV.daysView DIV[class~="appointment"].lasts11
 { height: 11.458333%; }
 
-DIV[class~="appointment"].lasts12
+DIV.daysView DIV[class~="appointment"].lasts12
 { height: 12.500000%; }
 
-DIV[class~="appointment"].lasts13
+DIV.daysView DIV[class~="appointment"].lasts13
 { height: 13.541667%; }
 
-DIV[class~="appointment"].lasts14
+DIV.daysView DIV[class~="appointment"].lasts14
 { height: 14.583333%; }
 
-DIV[class~="appointment"].lasts15
+DIV.daysView DIV[class~="appointment"].lasts15
 { height: 15.625000%; }
 
-DIV[class~="appointment"].lasts16
+DIV.daysView DIV[class~="appointment"].lasts16
 { height: 16.666667%; }
 
-DIV[class~="appointment"].lasts17
+DIV.daysView DIV[class~="appointment"].lasts17
 { height: 17.708333%; }
 
-DIV[class~="appointment"].lasts18
+DIV.daysView DIV[class~="appointment"].lasts18
 { height: 18.750000%; }
 
-DIV[class~="appointment"].lasts19
+DIV.daysView DIV[class~="appointment"].lasts19
 { height: 19.791667%; }
 
-DIV[class~="appointment"].lasts20
+DIV.daysView DIV[class~="appointment"].lasts20
 { height: 20.833333%; }
 
-DIV[class~="appointment"].lasts21
+DIV.daysView DIV[class~="appointment"].lasts21
 { height: 21.875000%; }
 
-DIV[class~="appointment"].lasts22
+DIV.daysView DIV[class~="appointment"].lasts22
 { height: 22.916667%; }
 
-DIV[class~="appointment"].lasts23
+DIV.daysView DIV[class~="appointment"].lasts23
 { height: 23.958333%; }
 
-DIV[class~="appointment"].lasts24
+DIV.daysView DIV[class~="appointment"].lasts24
 { height: 25.000000%; }
 
-DIV[class~="appointment"].lasts25
+DIV.daysView DIV[class~="appointment"].lasts25
 { height: 26.041667%; }
 
-DIV[class~="appointment"].lasts26
+DIV.daysView DIV[class~="appointment"].lasts26
 { height: 27.083333%; }
 
-DIV[class~="appointment"].lasts27
+DIV.daysView DIV[class~="appointment"].lasts27
 { height: 28.125000%; }
 
-DIV[class~="appointment"].lasts28
+DIV.daysView DIV[class~="appointment"].lasts28
 { height: 29.166667%; }
 
-DIV[class~="appointment"].lasts29
+DIV.daysView DIV[class~="appointment"].lasts29
 { height: 30.208333%; }
 
-DIV[class~="appointment"].lasts30
+DIV.daysView DIV[class~="appointment"].lasts30
 { height: 31.250000%; }
 
-DIV[class~="appointment"].lasts31
+DIV.daysView DIV[class~="appointment"].lasts31
 { height: 32.291667%; }
 
-DIV[class~="appointment"].lasts32
+DIV.daysView DIV[class~="appointment"].lasts32
 { height: 33.333333%; }
 
-DIV[class~="appointment"].lasts33
+DIV.daysView DIV[class~="appointment"].lasts33
 { height: 34.375000%; }
 
-DIV[class~="appointment"].lasts34
+DIV.daysView DIV[class~="appointment"].lasts34
 { height: 35.416667%; }
 
-DIV[class~="appointment"].lasts35
+DIV.daysView DIV[class~="appointment"].lasts35
 { height: 36.458333%; }
 
-DIV[class~="appointment"].lasts36
+DIV.daysView DIV[class~="appointment"].lasts36
 { height: 37.500000%; }
 
-DIV[class~="appointment"].lasts37
+DIV.daysView DIV[class~="appointment"].lasts37
 { height: 38.541667%; }
 
-DIV[class~="appointment"].lasts38
+DIV.daysView DIV[class~="appointment"].lasts38
 { height: 39.583333%; }
 
-DIV[class~="appointment"].lasts39
+DIV.daysView DIV[class~="appointment"].lasts39
 { height: 40.625000%; }
 
-DIV[class~="appointment"].lasts40
+DIV.daysView DIV[class~="appointment"].lasts40
 { height: 41.666667%; }
 
-DIV[class~="appointment"].lasts41
+DIV.daysView DIV[class~="appointment"].lasts41
 { height: 42.708333%; }
 
-DIV[class~="appointment"].lasts42
+DIV.daysView DIV[class~="appointment"].lasts42
 { height: 43.750000%; }
 
-DIV[class~="appointment"].lasts43
+DIV.daysView DIV[class~="appointment"].lasts43
 { height: 44.791667%; }
 
-DIV[class~="appointment"].lasts44
+DIV.daysView DIV[class~="appointment"].lasts44
 { height: 45.833333%; }
 
-DIV[class~="appointment"].lasts45
+DIV.daysView DIV[class~="appointment"].lasts45
 { height: 46.875000%; }
 
-DIV[class~="appointment"].lasts46
+DIV.daysView DIV[class~="appointment"].lasts46
 { height: 47.916667%; }
 
-DIV[class~="appointment"].lasts47
+DIV.daysView DIV[class~="appointment"].lasts47
 { height: 48.958333%; }
 
-DIV[class~="appointment"].lasts48
+DIV.daysView DIV[class~="appointment"].lasts48
 { height: 50.000000%; }
 
-DIV[class~="appointment"].lasts49
+DIV.daysView DIV[class~="appointment"].lasts49
 { height: 51.041667%; }
 
-DIV[class~="appointment"].lasts50
+DIV.daysView DIV[class~="appointment"].lasts50
 { height: 52.083333%; }
 
-DIV[class~="appointment"].lasts51
+DIV.daysView DIV[class~="appointment"].lasts51
 { height: 53.125000%; }
 
-DIV[class~="appointment"].lasts52
+DIV.daysView DIV[class~="appointment"].lasts52
 { height: 54.166667%; }
 
-DIV[class~="appointment"].lasts53
+DIV.daysView DIV[class~="appointment"].lasts53
 { height: 55.208333%; }
 
-DIV[class~="appointment"].lasts54
+DIV.daysView DIV[class~="appointment"].lasts54
 { height: 56.250000%; }
 
-DIV[class~="appointment"].lasts55
+DIV.daysView DIV[class~="appointment"].lasts55
 { height: 57.291667%; }
 
-DIV[class~="appointment"].lasts56
+DIV.daysView DIV[class~="appointment"].lasts56
 { height: 58.333333%; }
 
-DIV[class~="appointment"].lasts57
+DIV.daysView DIV[class~="appointment"].lasts57
 { height: 59.375000%; }
 
-DIV[class~="appointment"].lasts58
+DIV.daysView DIV[class~="appointment"].lasts58
 { height: 60.416667%; }
 
-DIV[class~="appointment"].lasts59
+DIV.daysView DIV[class~="appointment"].lasts59
 { height: 61.458333%; }
 
-DIV[class~="appointment"].lasts60
+DIV.daysView DIV[class~="appointment"].lasts60
 { height: 62.500000%; }
 
-DIV[class~="appointment"].lasts61
+DIV.daysView DIV[class~="appointment"].lasts61
 { height: 63.541667%; }
 
-DIV[class~="appointment"].lasts62
+DIV.daysView DIV[class~="appointment"].lasts62
 { height: 64.583333%; }
 
-DIV[class~="appointment"].lasts63
+DIV.daysView DIV[class~="appointment"].lasts63
 { height: 65.625000%; }
 
-DIV[class~="appointment"].lasts64
+DIV.daysView DIV[class~="appointment"].lasts64
 { height: 66.666667%; }
 
-DIV[class~="appointment"].lasts65
+DIV.daysView DIV[class~="appointment"].lasts65
 { height: 67.708333%; }
 
-DIV[class~="appointment"].lasts66
+DIV.daysView DIV[class~="appointment"].lasts66
 { height: 68.750000%; }
 
-DIV[class~="appointment"].lasts67
+DIV.daysView DIV[class~="appointment"].lasts67
 { height: 69.791667%; }
 
-DIV[class~="appointment"].lasts68
+DIV.daysView DIV[class~="appointment"].lasts68
 { height: 70.833333%; }
 
-DIV[class~="appointment"].lasts69
+DIV.daysView DIV[class~="appointment"].lasts69
 { height: 71.875000%; }
 
-DIV[class~="appointment"].lasts70
+DIV.daysView DIV[class~="appointment"].lasts70
 { height: 72.916667%; }
 
-DIV[class~="appointment"].lasts71
+DIV.daysView DIV[class~="appointment"].lasts71
 { height: 73.958333%; }
 
-DIV[class~="appointment"].lasts72
+DIV.daysView DIV[class~="appointment"].lasts72
 { height: 75.000000%; }
 
-DIV[class~="appointment"].lasts73
+DIV.daysView DIV[class~="appointment"].lasts73
 { height: 76.041667%; }
 
-DIV[class~="appointment"].lasts74
+DIV.daysView DIV[class~="appointment"].lasts74
 { height: 77.083333%; }
 
-DIV[class~="appointment"].lasts75
+DIV.daysView DIV[class~="appointment"].lasts75
 { height: 78.125000%; }
 
-DIV[class~="appointment"].lasts76
+DIV.daysView DIV[class~="appointment"].lasts76
 { height: 79.166667%; }
 
-DIV[class~="appointment"].lasts77
+DIV.daysView DIV[class~="appointment"].lasts77
 { height: 80.208333%; }
 
-DIV[class~="appointment"].lasts78
+DIV.daysView DIV[class~="appointment"].lasts78
 { height: 81.250000%; }
 
-DIV[class~="appointment"].lasts79
+DIV.daysView DIV[class~="appointment"].lasts79
 { height: 82.291667%; }
 
-DIV[class~="appointment"].lasts80
+DIV.daysView DIV[class~="appointment"].lasts80
 { height: 83.333333%; }
 
-DIV[class~="appointment"].lasts81
+DIV.daysView DIV[class~="appointment"].lasts81
 { height: 84.375000%; }
 
-DIV[class~="appointment"].lasts82
+DIV.daysView DIV[class~="appointment"].lasts82
 { height: 85.416667%; }
 
-DIV[class~="appointment"].lasts83
+DIV.daysView DIV[class~="appointment"].lasts83
 { height: 86.458333%; }
 
-DIV[class~="appointment"].lasts84
+DIV.daysView DIV[class~="appointment"].lasts84
 { height: 87.500000%; }
 
-DIV[class~="appointment"].lasts85
+DIV.daysView DIV[class~="appointment"].lasts85
 { height: 88.541667%; }
 
-DIV[class~="appointment"].lasts86
+DIV.daysView DIV[class~="appointment"].lasts86
 { height: 89.583333%; }
 
-DIV[class~="appointment"].lasts87
+DIV.daysView DIV[class~="appointment"].lasts87
 { height: 90.625000%; }
 
-DIV[class~="appointment"].lasts88
+DIV.daysView DIV[class~="appointment"].lasts88
 { height: 91.666667%; }
 
-DIV[class~="appointment"].lasts89
+DIV.daysView DIV[class~="appointment"].lasts89
 { height: 92.708333%; }
 
-DIV[class~="appointment"].lasts90
+DIV.daysView DIV[class~="appointment"].lasts90
 { height: 93.750000%; }
 
-DIV[class~="appointment"].lasts91
+DIV.daysView DIV[class~="appointment"].lasts91
 { height: 94.791667%; }
 
-DIV[class~="appointment"].lasts92
+DIV.daysView DIV[class~="appointment"].lasts92
 { height: 95.833333%; }
 
-DIV[class~="appointment"].lasts93
+DIV.daysView DIV[class~="appointment"].lasts93
 { height: 96.875000%; }
 
-DIV[class~="appointment"].lasts94
+DIV.daysView DIV[class~="appointment"].lasts94
 { height: 97.916667%; }
 
-DIV[class~="appointment"].lasts95
+DIV.daysView DIV[class~="appointment"].lasts95
 { height: 98.958333%; }
 
-DIV[class~="appointment"].lasts96
+DIV.daysView DIV[class~="appointment"].lasts96
 { height: 100.000000%; }
index 9d5daf1f5ef3c2460ec5028fef0a2a0defd4e522..88a6680f6c5b3254d655483e19c79f9ed2e09247 100644 (file)
@@ -817,36 +817,32 @@ function changeWeekCalendarDisplayOfSelectedDay(node) {
   node.addClassName("selectedDay");
 }
 
-function findMonthCalendarSelectedCell(table) {
-  var tbody = table.tBodies[0];
-  var rows = tbody.rows;
-
-  var i = 1;
-  while (i < rows.length && !table.selectedCell) {
-    var cells = rows[i].cells;
-    var j = 0;
-    while (j < cells.length && !table.selectedCell) {
-      if (cells[j].hasClassName("selectedDay"))
-        table.selectedCell = cells[j];
+function findMonthCalendarSelectedCell(daysContainer) {
+   var found = false;
+   var i = 0;
+
+   while (!found && i < daysContainer.childNodes.length) {
+      var currentNode = daysContainer.childNodes[i];
+      if (currentNode instanceof HTMLDivElement
+          && currentNode.hasClassName("selectedDay")) {
+         daysContainer.selectedCell = currentNode;
+         found = true;
+      }
       else
-        j++;
-    }
-    i++;
-  }
+         i++;
+   }
 }
 
 function changeMonthCalendarDisplayOfSelectedDay(node)
 {
-  var tr = node.parentNode;
-  var table = tr.parentNode.parentNode;
-
-  if (!table.selectedCell)
-    findMonthCalendarSelectedCell(table);
-
-  if (table.selectedCell)
-    table.selectedCell.removeClassName("selectedDay");
-  table.selectedCell = node;
-  node.addClassName("selectedDay");
+   var daysContainer = node.parentNode;
+   if (!daysContainer.selectedCell)
+      findMonthCalendarSelectedCell(daysContainer);
+   
+   if (daysContainer.selectedCell)
+      daysContainer.selectedCell.removeClassName("selectedDay");
+   daysContainer.selectedCell = node;
+   node.addClassName("selectedDay");
 }
 
 function onHideCompletedTasks(node)