-%# <td colspan=<%$slots%>
-%# class="<% $is_today ? 'today'
-%# : $is_yesterday ? 'yesterday'
-%# : $is_aweekago ? 'aweekago'
-%# : ''
-%# %>"
-%# >
-
-% #XXX display these in a time aware fashion
-%#% my $sp = 3;
-%#% for my $t ( @{ $Tickets{$date->strftime("%F")} } ) {
-%#% $sp--;
-%# <& /Elements/CalendarEvent, Object => $t, Date => $date, DateTypes => \%DateTypes &>
-%#% }
-%# <% ($sp>0) ? '<BR>'x$sp : '' |n %>
-
-% for my $t ( @{ $Tickets{$date->strftime("%F")} } ) {
-%
-% #XXX off by 1h on daylight savings boundaries... two sundays a year
-% my $starts = ($t->StartsObj->Unix - $t->StartsObj->SetToMidnight(Timezone=>'user'))/60;
-%
-% if ( $starts >= $row && $starts < ($row + $timestep) ) {
-% #then we're a new entry, find a slot for us
-% my $s = 0;
-% while ( ref($slots[$sday]->[$s]) ) { $s++ }
-% $slots[$sday]->[$s] = [ $t->Id, $t ];
-% }
+% #slot callback
+% if ( defined($Display) && $Display =~ /^(\w+)$/ ) {
+% my $el = "/Elements/CalendarSlot$1";
+ <& $el, Date => $date,
+ DateTypes => \%DateTypes,
+ Tickets => $Tickets{$date->strftime("%F")} || [],
+ slots => $slots,
+ sday => $sday,
+ tod_row => $row,
+ timestep => $timestep,
+ @DisplayArgs,
+ &>
+% } else {
+
+% #just display the normal events for this day?
+ <td class="weekly" colspan="<%$slots%>">
+% for my $Ticket ( @{ $Tickets{$date->strftime("%F")} } ) {
+% my %dt =
+% map { $_=>1 }
+% grep {
+% my $meth = $_.'Obj';