Changeset 1625

Show
Ignore:
Timestamp:
11/30/07 07:44:58
Author:
kllin
Message:

first work on default.xsl for webuser

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/xslt-rewrite/deployment/webuser/webapp/resources/demoskins/default/default/default.xsl

    r1590 r1625  
    4242  <xsl:include href="../../../bedework-common/default/default/errors.xsl"/> 
    4343  <xsl:include href="../../../bedework-common/default/default/messages.xsl"/> 
     44 
     45  <xsl:include href="../../../bedework-common/default/default/views.xsl"/> 
     46  <xsl:include href="../../../bedework-common/default/default/category-location.xsl"/> 
     47  <xsl:include href="../../../bedework-common/default/default/calendar.xsl"/> 
     48  <xsl:include href="../../../bedework-common/default/default/event-form.xsl"/> 
     49  <xsl:include href="../../../bedework-common/default/default/boxes.xsl"/> 
     50  <xsl:include href="../../../bedework-common/default/default/subscriptions.xsl"/> 
     51  <xsl:include href="../../../bedework-common/default/default/search.xsl"/> 
    4452 
    4553  <!-- DEFINE GLOBAL CONSTANTS --> 
     
    870878  </xsl:template> 
    871879 
    872   <!--==== LIST VIEW  (for day, week, and month) ====--> 
    873   <xsl:template name="listView"> 
    874     <table id="listTable" border="0" cellpadding="0" cellspacing="0"> 
    875       <xsl:choose> 
    876         <xsl:when test="not(/bedework/eventscalendar/year/month/week/day/event)"> 
    877           <tr> 
    878             <td class="noEventsCell"> 
    879               No events to display. 
    880             </td> 
    881           </tr> 
    882         </xsl:when> 
    883         <xsl:otherwise> 
    884           <xsl:for-each select="/bedework/eventscalendar/year/month/week/day[event]"> 
    885             <xsl:if test="/bedework/periodname='Week' or /bedework/periodname='Month' or /bedework/periodname=''"> 
    886               <tr> 
    887                 <td colspan="6" class="dateRow"> 
    888                    <xsl:variable name="date" select="date"/> 
    889                    <xsl:variable name="actionIconsId">bwActionIcons-<xsl:value-of select="value"/></xsl:variable> 
    890                    <div class="listAdd"> 
    891                      <a href="javascript:toggleActionIcons('{$actionIconsId}','bwActionIcons bwActionIconsInList')" title="add..."> 
    892                        add... 
    893                      </a> 
    894                      <xsl:call-template name="actionIcons"> 
    895                        <xsl:with-param name="actionIconsId"><xsl:value-of select="$actionIconsId"/></xsl:with-param> 
    896                        <xsl:with-param name="startDate"><xsl:value-of select="$date"/></xsl:with-param> 
    897                      </xsl:call-template> 
    898                    </div> 
    899                    <a href="{$setViewPeriod}&amp;viewType=dayView&amp;date={$date}"> 
    900                      <xsl:value-of select="name"/>, <xsl:value-of select="longdate"/> 
    901                    </a> 
    902                  </td> 
    903               </tr> 
    904             </xsl:if> 
    905             <xsl:for-each select="event"> 
    906               <xsl:variable name="id" select="id"/> 
    907               <xsl:variable name="subscriptionId" select="subscription/id"/> 
    908               <xsl:variable name="calPath" select="calendar/encodedPath"/> 
    909               <xsl:variable name="guid" select="guid"/> 
    910               <xsl:variable name="recurrenceId" select="recurrenceId"/> 
    911               <tr> 
    912                 <xsl:variable name="dateRangeStyle"> 
    913                   <xsl:choose> 
    914                     <xsl:when test="start/shortdate = parent::day/shortdate"> 
    915                       <xsl:choose> 
    916                         <xsl:when test="start/allday = 'true'">dateRangeCrossDay</xsl:when> 
    917                         <xsl:when test="start/hour24 &lt; 6">dateRangeEarlyMorning</xsl:when> 
    918                         <xsl:when test="start/hour24 &lt; 12">dateRangeMorning</xsl:when> 
    919                         <xsl:when test="start/hour24 &lt; 18">dateRangeAfternoon</xsl:when> 
    920                         <xsl:otherwise>dateRangeEvening</xsl:otherwise> 
    921                       </xsl:choose> 
    922                     </xsl:when> 
    923                     <xsl:otherwise>dateRangeCrossDay</xsl:otherwise> 
    924                   </xsl:choose> 
    925                 </xsl:variable> 
    926                 <xsl:choose> 
    927                   <xsl:when test="start/allday = 'true' and 
    928                                   start/shortdate = end/shortdate"> 
    929                     <td class="{$dateRangeStyle} center" colspan="3"> 
    930                       all day 
    931                     </td> 
    932                   </xsl:when> 
    933                   <xsl:when test="start/shortdate = end/shortdate and 
    934                                   start/time = end/time"> 
    935                     <td class="{$dateRangeStyle} center" colspan="3"> 
    936                       <a href="{$eventView}&amp;subid={$subscriptionId}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}"> 
    937                         <xsl:value-of select="start/time"/> 
    938                       </a> 
    939                     </td> 
    940                   </xsl:when> 
    941                   <xsl:otherwise> 
    942                     <td class="{$dateRangeStyle} right"> 
    943                       <a href="{$eventView}&amp;subid={$subscriptionId}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}"> 
    944                       <xsl:choose> 
    945                         <xsl:when test="start/allday = 'true' and 
    946                                         parent::day/shortdate = start/shortdate"> 
    947                           today 
    948                         </xsl:when> 
    949                         <xsl:when test="parent::day/shortdate != start/shortdate"> 
    950                           <span class="littleArrow">&#171;</span>&#160; 
    951                           <xsl:value-of select="start/month"/>/<xsl:value-of select="start/day"/> 
    952                         </xsl:when> 
    953                         <xsl:otherwise> 
    954                           <xsl:value-of select="start/time"/> 
    955                         </xsl:otherwise> 
    956                       </xsl:choose> 
    957                       </a> 
    958                     </td> 
    959                     <td class="{$dateRangeStyle} center"> 
    960                       <a href="{$eventView}&amp;subid={$subscriptionId}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}">-</a> 
    961                     </td> 
    962                     <td class="{$dateRangeStyle} left"> 
    963                       <a href="{$eventView}&amp;subid={$subscriptionId}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}"> 
    964                       <xsl:choose> 
    965                         <xsl:when test="end/allday = 'true' and 
    966                                         parent::day/shortdate = end/shortdate"> 
    967                           today 
    968                         </xsl:when> 
    969                         <xsl:when test="parent::day/shortdate != end/shortdate"> 
    970                           <xsl:value-of select="end/month"/>/<xsl:value-of select="end/day"/> 
    971                           &#160;<span class="littleArrow">&#187;</span> 
    972                         </xsl:when> 
    973                         <xsl:otherwise> 
    974                           <xsl:value-of select="end/time"/> 
    975                         </xsl:otherwise> 
    976                       </xsl:choose> 
    977                       </a> 
    978                     </td> 
    979                   </xsl:otherwise> 
    980                 </xsl:choose> 
    981                 <xsl:variable name="descriptionClass"> 
    982                   <xsl:choose> 
    983                     <xsl:when test="status='CANCELLED'">description bwStatusCancelled</xsl:when> 
    984                     <xsl:when test="status='TENTATIVE'">description bwStatusTentative</xsl:when> 
    985                     <xsl:otherwise>description</xsl:otherwise> 
    986                   </xsl:choose> 
    987                 </xsl:variable> 
    988                 <xsl:variable name="subStyle" select="subscription/subStyle"/> 
    989                 <td class="{$descriptionClass} {$subStyle}"> 
    990                   <xsl:if test="status='CANCELLED'"><strong>CANCELLED: </strong></xsl:if> 
    991                   <xsl:choose> 
    992                     <xsl:when test="/bedework/appvar[key='summaryMode']/value='details'"> 
    993                       <a href="{$eventView}&amp;subid={$subscriptionId}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}"> 
    994                         <xsl:choose> 
    995                           <xsl:when test="summary = ''"> 
    996                             <em>no title</em> 
    997                           </xsl:when> 
    998                           <xsl:otherwise> 
    999                             <strong> 
    1000                               <xsl:value-of select="summary"/>: 
    1001                             </strong> 
    1002                           </xsl:otherwise> 
    1003                         </xsl:choose> 
    1004                         <xsl:value-of select="description"/>&#160; 
    1005                         <em> 
    1006                           <xsl:value-of select="location/address"/> 
    1007                           <xsl:if test="location/subaddress != ''"> 
    1008                             , <xsl:value-of select="location/subaddress"/> 
    1009                           </xsl:if>.&#160; 
    1010                           <xsl:if test="cost!=''"> 
    1011                             <xsl:value-of select="cost"/>.&#160; 
    1012                           </xsl:if> 
    1013                           <xsl:if test="sponsor/name!='none'"> 
    1014                             Contact: <xsl:value-of select="sponsor/name"/> 
    1015                           </xsl:if> 
    1016                         </em> 
    1017                       </a> 
    1018                       <xsl:if test="link != ''"> 
    1019                         <xsl:variable name="link" select="link"/> 
    1020                         <a href="{$link}" class="moreLink"><xsl:value-of select="link"/></a> 
    1021                       </xsl:if> 
    1022                     </xsl:when> 
    1023                     <xsl:otherwise> 
    1024                       <a href="{$eventView}&amp;subid={$subscriptionId}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}"> 
    1025                         <xsl:choose> 
    1026                           <xsl:when test="summary = ''"> 
    1027                             <em>no title</em> 
    1028                           </xsl:when> 
    1029                           <xsl:otherwise> 
    1030                             <xsl:value-of select="summary"/> 
    1031                           </xsl:otherwise> 
    1032                         </xsl:choose> 
    1033                         <xsl:if test="location/address != ''">, <xsl:value-of select="location/address"/></xsl:if> 
    1034                       </a> 
    1035                     </xsl:otherwise> 
    1036                   </xsl:choose> 
    1037                 </td> 
    1038                 <td class="eventLinks"> 
    1039                   <xsl:call-template name="eventLinks"/> 
    1040                 </td> 
    1041                 <td class="smallIcon"> 
    1042                   <xsl:variable name="eventIcalName" select="concat($guid,'.ics')"/> 
    1043                   <a href="{$export}&amp;subid={$subscriptionId}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}&amp;nocache=no&amp;contentName={$eventIcalName}" title="Download event as ical - for Outlook, PDAs, iCal, and other desktop calendars"> 
    1044                     <img src="{$resourcesRoot}/resources/std-ical_icon_small.gif" width="12" height="16" border="0" alt="Download event as ical - for Outlook, PDAs, iCal, and other desktop calendars"/> 
    1045                   </a> 
    1046                 </td> 
    1047               </tr> 
    1048             </xsl:for-each> 
    1049           </xsl:for-each> 
    1050         </xsl:otherwise> 
    1051       </xsl:choose> 
    1052     </table> 
    1053   </xsl:template> 
    1054  
    1055   <xsl:template name="eventLinks"> 
    1056     <xsl:variable name="subscriptionId" select="subscription/id"/> 
    1057     <xsl:variable name="calPath" select="calendar/encodedPath"/> 
    1058     <xsl:variable name="guid" select="guid"/> 
    1059     <xsl:variable name="recurrenceId" select="recurrenceId"/> 
    1060     <xsl:if test="currentAccess/current-user-privilege-set/privilege/write-content"> 
    1061       <xsl:choose> 
    1062         <xsl:when test="recurring='true' or recurrenceId != ''"> 
    1063           Edit: 
    1064           <a href="{$editEvent}&amp;subid={$subscriptionId}&amp;calPath={$calPath}&amp;guid={$guid}" title="edit master (recurring event)">master</a>, 
    1065           <a href="{$editEvent}&amp;subid={$subscriptionId}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}" title="edit instance (recurring event)">instance</a> 
    1066           <br/> 
    1067         </xsl:when> 
    1068         <xsl:otherwise> 
    1069           <a href="{$editEvent}&amp;subid={$subscriptionId}&amp;calPath={$calPath}&amp;guid={$guid}" title="edit event"> 
    1070             Edit 
    1071           </a> 
    1072           | 
    1073         </xsl:otherwise> 
    1074       </xsl:choose> 
    1075     </xsl:if> 
    1076     <xsl:if test="not(currentAccess/current-user-privilege-set/privilege/write-content) and not(recurring='true' or recurrenceId != '')"> 
    1077       <!-- temporarily hide from Recurring events --> 
    1078       <xsl:choose> 
    1079         <xsl:when test="recurring='true' or recurrenceId != ''"> 
    1080           Link: 
    1081           <a href="{$addEventRef}&amp;subid={$subscriptionId}&amp;calPath={$calPath}&amp;guid={$guid}" title="add master event reference to a calendar">master</a>, 
    1082           <a href="{$addEventRef}&amp;subid={$subscriptionId}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}" title="add event reference to a calendar">instance</a> 
    1083           <br/> 
    1084         </xsl:when> 
    1085         <xsl:otherwise> 
    1086           <a href="{$addEventRef}&amp;subid={$subscriptionId}&amp;calPath={$calPath}&amp;guid={$guid}" title="add event reference to a calendar"> 
    1087             Link 
    1088           </a> 
    1089           | 
    1090         </xsl:otherwise> 
    1091       </xsl:choose> 
    1092     </xsl:if> 
    1093     <xsl:if test="owner != /bedework/userid and public='true'"> 
    1094             <!-- provide this link for public subscriptions; subscriptions to user calendars are 
    1095                  currently too confusing since the current user may be able to add events to the 
    1096                  other calendar, making the ownership test a bad test --> 
    1097       <xsl:variable name="subname" select="subscription/name"/> 
    1098       <a href="{$subscriptions-fetchForUpdate}&amp;subname={$subname}" title="manage/view subscription"> 
    1099         Subscription 
    1100       </a> 
    1101     </xsl:if> 
    1102     <xsl:if test="subscription/unremoveable != 'true'"> 
    1103       | 
    1104       <xsl:choose> 
    1105         <xsl:when test="recurring='true' or recurrenceId != ''"> 
    1106           Delete: 
    1107           <a href="{$delEvent}&amp;subid={$subscriptionId}&amp;calPath={$calPath}&amp;guid={$guid}" title="delete master (recurring event)">all</a>, 
    1108           <a href="{$delEvent}&amp;subid={$subscriptionId}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}" title="delete instance (recurring event)">instance</a> 
    1109         </xsl:when> 
    1110         <xsl:otherwise> 
    1111           <a href="{$delEvent}&amp;subid={$subscriptionId}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}" title="delete event"> 
    1112             Delete 
    1113           </a> 
    1114         </xsl:otherwise> 
    1115       </xsl:choose> 
    1116     </xsl:if> 
    1117   </xsl:template> 
    1118  
    1119   <!--==== WEEK CALENDAR VIEW ====--> 
    1120   <xsl:template name="weekView"> 
    1121     <table id="monthCalendarTable" border="0" cellpadding="0" cellspacing="0"> 
    1122       <tr> 
    1123         <xsl:for-each select="/bedework/daynames/val"> 
    1124           <th class="dayHeading"><xsl:value-of select="."/></th> 
    1125         </xsl:for-each> 
    1126       </tr> 
    1127       <tr> 
    1128         <xsl:for-each select="/bedework/eventscalendar/year/month/week/day"> 
    1129           <xsl:variable name="dayPos" select="position()"/> 
    1130           <xsl:if test="filler='false'"> 
    1131             <td> 
    1132               <xsl:if test="/bedework/now/date = date"> 
    1133                 <xsl:attribute name="class">today</xsl:attribute> 
    1134               </xsl:if> 
    1135               <xsl:variable name="dayDate" select="date"/> 
    1136               <xsl:variable name="actionIconsId">bwActionIcons-<xsl:value-of select="value"/></xsl:variable> 
    1137               <div class="gridAdd"> 
    1138                 <a href="javascript:toggleActionIcons('{$actionIconsId}','bwActionIcons bwActionIconsInGrid')" title="add..."> 
    1139                   <img src="{$resourcesRoot}/resources/addEvent-forGrid-icon.gif" width="10" height="10" border="0" alt="add..."/> 
    1140                 </a> 
    1141                 <xsl:call-template name="actionIcons"> 
    1142                   <xsl:with-param name="actionIconsId"><xsl:value-of select="$actionIconsId"/></xsl:with-param> 
    1143                   <xsl:with-param name="startDate"><xsl:value-of select="$dayDate"/></xsl:with-param> 
    1144                 </xsl:call-template> 
    1145               </div> 
    1146               <a href="{$setViewPeriod}&amp;viewType=dayView&amp;date={$dayDate}" class="dayLink" title="go to day"> 
    1147                 <xsl:value-of select="value"/> 
    1148               </a> 
    1149               <xsl:if test="event"> 
    1150                 <ul> 
    1151                   <xsl:apply-templates select="event" mode="calendarLayout"> 
    1152                     <xsl:with-param name="dayPos" select="$dayPos"/> 
    1153                   </xsl:apply-templates> 
    1154                 </ul> 
    1155               </xsl:if> 
    1156             </td> 
    1157           </xsl:if> 
    1158         </xsl:for-each> 
    1159       </tr> 
    1160     </table> 
    1161   </xsl:template> 
    1162  
    1163   <!--==== MONTH CALENDAR VIEW ====--> 
    1164   <xsl:template name="monthView"> 
    1165     <table id="monthCalendarTable" border="0" cellpadding="0" cellspacing="0"> 
    1166       <tr> 
    1167         <xsl:for-each select="/bedework/daynames/val"> 
    1168           <th class="dayHeading"><xsl:value-of select="."/></th> 
    1169         </xsl:for-each> 
    1170       </tr> 
    1171       <xsl:for-each select="/bedework/eventscalendar/year/month/week"> 
    1172         <tr> 
    1173           <xsl:for-each select="day"> 
    1174             <xsl:variable name="dayPos" select="position()"/> 
    1175             <xsl:choose> 
    1176               <xsl:when test="filler='true'"> 
    1177                 <td class="filler">&#160;</td> 
    1178               </xsl:when> 
    1179               <xsl:otherwise> 
    1180                 <td> 
    1181                   <xsl:if test="/bedework/now/date = date"> 
    1182                     <xsl:attribute name="class">today</xsl:attribute> 
    1183                   </xsl:if> 
    1184                   <xsl:variable name="dayDate" select="date"/> 
    1185                   <xsl:variable name="actionIconsId">bwActionIcons-<xsl:value-of select="value"/></xsl:variable> 
    1186                   <div class="gridAdd"> 
    1187                     <a href="javascript:toggleActionIcons('{$actionIconsId}','bwActionIcons bwActionIconsInGrid')" title="add..."> 
    1188                       <img src="{$resourcesRoot}/resources/addEvent-forGrid-icon.gif" width="10" height="10" border="0" alt="add..."/> 
    1189                     </a> 
    1190                    <xsl:call-template name="actionIcons"> 
    1191                      <xsl:with-param name="actionIconsId"><xsl:value-of select="$actionIconsId"/></xsl:with-param> 
    1192                      <xsl:with-param name="startDate"><xsl:value-of select="$dayDate"/></xsl:with-param> 
    1193                    </xsl:call-template> 
    1194                   </div> 
    1195                   <a href="{$setViewPeriod}&amp;viewType=dayView&amp;date={$dayDate}" class="dayLink" title="go to day"> 
    1196                     <xsl:value-of select="value"/> 
    1197                   </a> 
    1198                   <xsl:if test="event"> 
    1199                     <ul> 
    1200                       <xsl:apply-templates select="event" mode="calendarLayout"> 
    1201                         <xsl:with-param name="dayPos" select="$dayPos"/> 
    1202                       </xsl:apply-templates> 
    1203                     </ul> 
    1204                   </xsl:if> 
    1205                 </td> 
    1206               </xsl:otherwise> 
    1207             </xsl:choose> 
    1208           </xsl:for-each> 
    1209         </tr> 
    1210       </xsl:for-each> 
    1211     </table> 
    1212   </xsl:template> 
    1213  
    1214   <!--== EVENTS IN THE CALENDAR GRID ==--> 
    1215   <xsl:template match="event" mode="calendarLayout"> 
    1216     <xsl:param name="dayPos"/> 
    1217     <xsl:variable name="subscriptionId" select="subscription/id"/> 
    1218     <xsl:variable name="calPath" select="calendar/encodedPath"/> 
    1219     <xsl:variable name="guid" select="guid"/> 
    1220     <xsl:variable name="recurrenceId" select="recurrenceId"/> 
    1221     <xsl:variable name="eventRootClass"> 
    1222       <xsl:choose> 
    1223         <!-- Otherwise: Alternating colors for all standard events --> 
    1224         <xsl:when test="position() = 1">event firstEvent</xsl:when> 
    1225         <xsl:otherwise>event</xsl:otherwise> 
    1226       </xsl:choose> 
    1227     </xsl:variable> 
    1228     <xsl:variable name="eventClass"> 
    1229       <xsl:choose> 
    1230         <!-- Special styles for the month grid --> 
    1231         <xsl:when test="status='CANCELLED'">eventCancelled</xsl:when> 
    1232         <xsl:when test="status='TENTATIVE'">eventTentative</xsl:when> 
    1233         <!-- Otherwise: Alternating colors for all standard events --> 
    1234         <xsl:when test="position() mod 2 = 1">eventLinkA</xsl:when> 
    1235         <xsl:otherwise>eventLinkB</xsl:otherwise> 
    1236       </xsl:choose> 
    1237     </xsl:variable> 
    1238     <!-- User defined subscription styles. 
    1239          These are set in the add/modify subscription forms which 
    1240          rely (in this stylesheet) on subColors.css; if present, these 
    1241          override the background-color set by eventClass. User styles should 
    1242          not be used for cancelled events (tentative is ok). --> 
    1243     <xsl:variable name="subscriptionClass"> 
    1244       <xsl:if test="status != 'CANCELLED' and 
    1245                     subscription/subStyle != '' and 
    1246                     subscription/subStyle != 'default'"><xsl:value-of select="subscription/subStyle"/></xsl:if> 
    1247     </xsl:variable> 
    1248     <li> 
    1249       <a href="{$eventView}&amp;subid={$subscriptionId}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}" 
    1250         class="{$eventRootClass} {$eventClass} {$subscriptionClass}"> 
    1251         <xsl:if test="status='CANCELLED'">CANCELLED: </xsl:if> 
    1252         <xsl:choose> 
    1253           <xsl:when test="start/shortdate != ../shortdate"> 
    1254             (cont) 
    1255           </xsl:when> 
    1256           <xsl:when test="start/allday = 'false'"> 
    1257             <xsl:value-of select="start/time"/>: 
    1258           </xsl:when> 
    1259           <xsl:otherwise> 
    1260             all day: 
    1261           </xsl:otherwise> 
    1262         </xsl:choose> 
    1263         <xsl:choose> 
    1264           <xsl:when test="summary = ''"> 
    1265             <em>no title</em> 
    1266           </xsl:when> 
    1267           <xsl:otherwise> 
    1268             <xsl:value-of select="summary"/> 
    1269           </xsl:otherwise> 
    1270         </xsl:choose> 
    1271         <xsl:variable name="eventTipClass"> 
    1272           <xsl:choose> 
    1273             <xsl:when test="$dayPos &gt; 5">eventTipReverse</xsl:when> 
    1274             <xsl:otherwise>eventTip</xsl:otherwise> 
    1275           </xsl:choose> 
    1276         </xsl:variable> 
    1277         <span class="{$eventTipClass}"> 
    1278           <xsl:if test="status='CANCELLED'"><span class="eventTipStatusCancelled">CANCELLED</span></xsl:if> 
    1279           <xsl:if test="status='TENTATIVE'"><span class="eventTipStatusTentative">TENTATIVE</span></xsl:if> 
    1280           <xsl:choose> 
    1281             <xsl:when test="summary = ''"> 
    1282               <em>no title</em> 
    1283             </xsl:when> 
    1284             <xsl:otherwise> 
    1285               <strong><xsl:value-of select="summary"/></strong><br/> 
    1286             </xsl:otherwise> 
    1287           </xsl:choose> 
    1288           Time: 
    1289           <xsl:choose> 
    1290             <xsl:when test="start/allday = 'false'"> 
    1291               <xsl:value-of select="start/time"/> 
    1292               <xsl:if test="start/time != end/time"> 
    1293                 - <xsl:value-of select="end/time"/> 
    1294               </xsl:if> 
    1295             </xsl:when> 
    1296             <xsl:otherwise> 
    1297               all day 
    1298             </xsl:otherwise> 
    1299           </xsl:choose><br/> 
    1300           <xsl:if test="location/address"> 
    1301             Location: <xsl:value-of select="location/address"/><br/> 
    1302           </xsl:if> 
    1303           Calendar: 
    1304           <xsl:variable name="userPath">user/<xsl:value-of select="/bedework/userid"/>/</xsl:variable> 
    1305           <xsl:choose> 
    1306             <xsl:when test="contains(calendar/path,$userPath)"> 
    1307               <xsl:value-of select="substring-after(calendar/path,$userPath)"/> 
    1308             </xsl:when> 
    1309             <xsl:otherwise> 
    1310               <xsl:value-of select="calendar/path"/> 
    1311             </xsl:otherwise> 
    1312           </xsl:choose><br/> 
    1313           Type: 
    1314           <xsl:variable name="entityType"> 
    1315             <xsl:choose> 
    1316               <xsl:when test="entityType = '2'">task</xsl:when> 
    1317               <xsl:when test="scheduleMethod = '2'">meeting</xsl:when> 
    1318               <xsl:otherwise>event</xsl:otherwise> 
    1319             </xsl:choose> 
    1320           </xsl:variable> 
    1321           <xsl:if test="recurring='true' or recurrenceId != ''"> 
    1322             recurring 
    1323           </xsl:if> 
    1324           <xsl:choose> 
    1325             <xsl:when test="owner = /bedework/userid"> 
    1326               personal <xsl:value-of select="$entityType"/> 
    1327             </xsl:when> 
    1328             <xsl:when test="public = 'true'"> 
    1329               public <xsl:value-of select="$entityType"/> 
    1330             </xsl:when> 
    1331             <xsl:otherwise> 
    1332               <xsl:value-of select="$entityType"/> (<xsl:value-of select="calendar/owner"/>) 
    1333             </xsl:otherwise> 
    1334           </xsl:choose> 
    1335         </span> 
    1336       </a> 
    1337     </li> 
    1338   </xsl:template> 
    1339  
    1340   <!--==== YEAR VIEW ====--> 
    1341   <xsl:template name="yearView"> 
    1342     <table id="yearCalendarTable" border="0" cellpadding="0" cellspacing="0"> 
    1343       <tr> 
    1344         <xsl:apply-templates select="/bedework/eventscalendar/year/month[position() &lt;= 3]"/> 
    1345       </tr> 
    1346       <tr> 
    1347         <xsl:apply-templates select="/bedework/eventscalendar/year/month[(position() &gt; 3) and (position() &lt;= 6)]"/> 
    1348       </tr> 
    1349       <tr> 
    1350         <xsl:apply-templates select="/bedework/eventscalendar/year/month[(position() &gt; 6) and (position() &lt;= 9)]"/> 
    1351       </tr> 
    1352       <tr> 
    1353         <xsl:apply-templates select="/bedework/eventscalendar/year/month[position() &gt; 9]"/> 
    1354       </tr> 
    1355     </table> 
    1356   </xsl:template> 
    1357  
    1358   <!-- year view month tables --> 
    1359   <xsl:template match="month"> 
    1360     <td> 
    1361       <table class="yearViewMonthTable" border="0" cellpadding="0" cellspacing="0"> 
    1362         <tr> 
    1363           <td colspan="8" class="monthName"> 
    1364             <xsl:variable name="firstDayOfMonth" select="week/day/date"/> 
    1365             <a href="{$setViewPeriod}&amp;viewType=monthView&amp;date={$firstDayOfMonth}"> 
    1366               <xsl:value-of select="longname"/> 
    1367             </a> 
    1368           </td> 
    1369         </tr> 
    1370         <tr> 
    1371           <th>&#160;</th> 
    1372           <xsl:for-each select="/bedework/shortdaynames/val"> 
    1373             <th><xsl:value-of select="."/></th> 
    1374           </xsl:for-each> 
    1375         </tr> 
    1376         <xsl:for-each select="week"> 
    1377           <tr> 
    1378             <td class="weekCell"> 
    1379               <xsl:variable name="firstDayOfWeek" select="day/date"/> 
    1380               <a href="{$setViewPeriod}&amp;viewType=weekView&amp;date={$firstDayOfWeek}"> 
    1381                 <xsl:value-of select="value"/> 
    1382               </a> 
    1383             </td> 
    1384             <xsl:for-each select="day"> 
    1385               <xsl:choose> 
    1386                 <xsl:when test="filler='true'"> 
    1387                   <td class="filler">&#160;</td> 
    1388                 </xsl:when> 
    1389                 <xsl:otherwise> 
    1390                   <td> 
    1391                     <xsl:if test="/bedework/now/date = date"> 
    1392                       <xsl:attribute name="class">today</xsl:attribute> 
    1393                     </xsl:if> 
    1394                     <xsl:variable name="dayDate" select="date"/> 
    1395                     <a href="{$setViewPeriod}&amp;viewType=dayView&amp;date={$dayDate}"> 
    1396                       <xsl:value-of select="value"/> 
    1397                     </a> 
    1398                   </td> 
    1399                 </xsl:otherwise> 
    1400               </xsl:choose> 
    1401             </xsl:for-each> 
    1402           </tr> 
    1403         </xsl:for-each> 
    1404       </table> 
    1405     </td> 
    1406   </xsl:template> 
    1407880 
    1408881  <!--==== SINGLE EVENT ====--> 
     
    19681441  </xsl:template> 
    19691442 
    1970  
    1971   <!--==== ADD and EDIT EVENT FORM ====--> 
    1972   <xsl:template match="formElements" mode="eventForm"> 
    1973     <xsl:variable name="subscriptionId" select="subscriptionId"/> 
    1974     <xsl:variable name="calPathEncoded" select="form/calendar/encodedPath"/> 
    1975     <xsl:variable name="calPath" select="form/calendar/path"/> 
    1976     <xsl:variable name="guid" select="guid"/> 
    1977     <xsl:variable name="recurrenceId" select="recurrenceId"/> 
    1978     <input type="hidden" name="endType" value="date"/> 
    1979  
    1980       <!-- event info for edit event --> 
    1981       <xsl:if test="/bedework/creating != 'true'"> 
    1982         <table class="common" cellspacing="0"> 
    1983           <tr> 
    1984             <th colspan="2" class="commonHeader"> 
    1985               <div id="eventActions"> 
    1986                 <xsl:if test="not(form/recurringEntity = 'true' and recurrenceId = '')"> 
    1987                   <!-- don't display if a master recurring event (because the master can't be viewed) --> 
    1988                   <a href="{$eventView}&amp;subid={$subscriptionId}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}"> 
    1989                     <img src="{$resourcesRoot}/resources/glassFill-icon-viewGray.gif" width="13" height="13" border="0" alt="view"/> 
    1990                     View 
    1991                   </a> 
    1992                     | 
    1993                 </xsl:if> 
    1994                 <xsl:choose> 
    1995                   <xsl:when test="recurrenceId != ''"> 
    1996                     <img src="{$resourcesRoot}/resources/trashIcon.gif" width="13" height="13" border="0" alt="delete"/> 
    1997                     Delete: 
    1998                     <a href="{$delEvent}&amp;subid={$subscriptionId}&amp;calPath={$calPath}&amp;guid={$guid}" title="delete master (recurring event)">all</a>, 
    1999                     <a href="{$delEvent}&amp;subid={$subscriptionId}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}" title="delete instance (recurring event)">instance</a> 
    2000                   </xsl:when> 
    2001                   <xsl:otherwise> 
    2002                     <a href="{$delEvent}&amp;subid={$subscriptionId}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}" title="delete event"> 
    2003                       <img src="{$resourcesRoot}/resources/trashIcon.gif" width="13" height="13" border="0" alt="delete"/> 
    2004                       Delete 
    2005                       <xsl:if test="form/recurringEntity='true'"> 
    2006                         all 
    2007                       </xsl:if> 
    2008                     </a> 
    2009                   </xsl:otherwise> 
    2010                 </xsl:choose> 
    2011               </div> 
    2012               <!-- Display type of event --> 
    2013               <xsl:variable name="entityType"> 
    2014                 <xsl:choose> 
    2015                   <xsl:when test="entityType = '2'">Task</xsl:when> 
    2016                   <xsl:when test="scheduleMethod = '2'">Meeting</xsl:when> 
    2017                   <xsl:otherwise>Event</xsl:otherwise> 
    2018                 </xsl:choose> 
    2019               </xsl:variable> 
    2020               <xsl:if test="form/recurringEntity='true' or recurrenceId != ''"> 
    2021                 Recurring 
    2022               </xsl:if> 
    2023               <xsl:choose> 
    2024                 <xsl:when test="form"> 
    2025                   <!-- just a placeholder: need to add owner to the jsp --> 
    2026                   Personal <xsl:value-of select="$entityType"/> 
    2027                 </xsl:when> 
    2028                 <xsl:when test="public = 'true'"> 
    2029                   Public <xsl:value-of select="$entityType"/> 
    2030                 </xsl:when> 
    2031                 <xsl:otherwise> 
    2032                   <xsl:value-of select="$entityType"/> (<xsl:value-of select="calendar/owner"/>) 
    2033                 </xsl:otherwise> 
    2034               </xsl:choose> 
    2035               <xsl:if test="form/recurringEntity='true' and recurrenceId = ''"> 
    2036                 <xsl:text> </xsl:text> 
    2037                 <em>(recurrence master)</em> 
    2038               </xsl:if> 
    2039             </th> 
    2040           </tr> 
    2041         </table> 
    2042       </xsl:if> 
    2043  
    2044       <!-- event form submenu --> 
    2045       <ul id="eventFormTabs" class="submenu"> 
    2046         <li class="selected"> 
    2047           <a href="javascript:setTab('eventFormTabs',0); show('bwEventTab-Basic'); hide('bwEventTab-Details','bwEventTab-Recurrence','bwEventTab-Access','bwEventTab-Scheduling');"> 
    2048             basic 
    2049           </a> 
    2050         </li> 
    2051         <li> 
    2052           <a href="javascript:setTab('eventFormTabs',1); show('bwEventTab-Details'); hide('bwEventTab-Basic','bwEventTab-Recurrence','bwEventTab-Access','bwEventTab-Scheduling');"> 
    2053             details 
    2054           </a> 
    2055         </li> 
    2056         <li> 
    2057           <a href="javascript:setTab('eventFormTabs',2); show('bwEventTab-Recurrence'); hide('bwEventTab-Details','bwEventTab-Basic','bwEventTab-Access','bwEventTab-Scheduling');"> 
    2058             recurrence 
    2059           </a> 
    2060         </li> 
    2061         <li> 
    2062           <a href="javascript:setTab('eventFormTabs',3); show('bwEventTab-Scheduling'); hide('bwEventTab-Basic','bwEventTab-Details','bwEventTab-Recurrence','bwEventTab-Access');"> 
    2063             scheduling 
    2064           </a> 
    2065         </li> 
    2066         <li> 
    2067           <a href="javascript:setTab('eventFormTabs',4); show('bwEventTab-Access'); hide('bwEventTab-Details','bwEventTab-Basic','bwEventTab-Recurrence','bwEventTab-Scheduling');"> 
    2068             access 
    2069           </a> 
    2070         </li> 
    2071       </ul> 
    2072  
    2073     <!-- Basic tab --> 
    2074     <!-- ============== --> 
    2075     <!-- this tab is visible by default --> 
    2076     <div id="bwEventTab-Basic"> 
    2077       <table cellspacing="0" class="common dottedBorder"> 
    2078         <!--  Calendar in which to place event  --> 
    2079         <tr> 
    2080           <td class="fieldname"> 
    2081             Calendar: 
    2082           </td> 
    2083           <td class="fieldval"> 
    2084             <!-- the string "user/" should not be hard coded; fix this --> 
    2085             <xsl:variable name="userPath">user/<xsl:value-of select="/bedework/userid"/></xsl:variable> 
    2086             <xsl:variable name="writableCalendars"> 
    2087               <xsl:value-of select=" 
    2088                 count(/bedework/myCalendars//calendar[calType = '1' and 
    2089                        currentAccess/current-user-privilege-set/privilege/write-content]) + 
    2090                 count(/bedework/mySubscriptions//calendar[calType = '1' and 
    2091                        currentAccess/current-user-privilege-set/privilege/write-content and 
    2092                        (not(contains(path,$userPath)))])"/> 
    2093             </xsl:variable> 
    2094             <xsl:choose> 
    2095               <xsl:when test="$writableCalendars = 1"> 
    2096                 <!-- there is only 1 writable calendar, so find it by looking down both trees at once --> 
    2097                 <xsl:variable name="newCalPath"><xsl:value-of select="/bedework/myCalendars//calendar[calType = '1' and 
    2098                          currentAccess/current-user-privilege-set/privilege/write-content]/path"/><xsl:value-of select="/bedework/mySubscriptions//calendar[calType = '1' and 
    2099                        currentAccess/current-user-privilege-set/privilege/write-content and 
    2100                        (not(contains(path,$userPath)))]/path"/></xsl:variable> 
    2101  
    2102                 <input type="hidden" name="newCalPath" value="{$newCalPath}"/> 
    2103  
    2104                 <xsl:variable name="userFullPath"><xsl:value-of select="$userPath"/>/</xsl:variable> 
    2105                 <span id="bwEventCalDisplay"> 
    2106                   <xsl:choose> 
    2107                     <xsl:when test="contains($newCalPath,$userFullPath)"> 
    2108                       <xsl:value-of select="substring-after($newCalPath,$userFullPath)"/> 
    2109                     </xsl:when> 
    2110                     <xsl:otherwise> 
    2111                       <xsl:value-of select="$newCalPath"/> 
    2112                     </xsl:otherwise> 
    2113                   </xsl:choose> 
    2114                 </span> 
    2115               </xsl:when> 
    2116               <xsl:otherwise> 
    2117                 <input type="hidden" name="newCalPath" id="bwNewCalPathField"> 
    2118                   <xsl:attribute name="value"><xsl:value-of select="form/calendar/path"/></xsl:attribute> 
    2119                 </input> 
    2120  
    2121                 <xsl:variable name="userFullPath"><xsl:value-of select="$userPath"/>/</xsl:variable> 
    2122                 <span id="bwEventCalDisplay"> 
    2123                   <xsl:choose> 
    2124                     <xsl:when test="contains(form/calendar/path,$userFullPath)"> 
    2125                       <xsl:value-of select="substring-after(form/calendar/path,$userFullPath)"/> 
    2126                     </xsl:when> 
    2127                     <xsl:otherwise> 
    2128                       <xsl:value-of select="form/calendar/path"/> 
    2129                     </xsl:otherwise> 
    2130                   </xsl:choose> 
    2131                   <xsl:text> </xsl:text> 
    2132                   <!-- this final text element is required to avoid an empty 
    2133                        span element which is improperly rendered in the browser --> 
    2134                 </span> 
    2135  
    2136                 <xsl:call-template name="selectCalForEvent"/> 
    2137  
    2138               </xsl:otherwise> 
    2139             </xsl:choose> 
    2140           </td> 
    2141         </tr> 
    2142         <!--  Summary (title) of event  --> 
    2143         <tr> 
    2144           <td class="fieldname"> 
    2145             Title: 
    2146           </td> 
    2147           <td class="fieldval"> 
    2148             <xsl:variable name="title" select="form/title/input/@value"/> 
    2149             <input type="text" name="summary" size="80" value="{$title}" id="bwEventTitle"/> 
    2150           </td> 
    2151         </tr> 
    2152  
    2153         <!--  Date and Time --> 
    2154         <!--  ============= --> 
    2155         <tr> 
    2156           <td class="fieldname"> 
    2157             Date &amp; Time: 
    2158           </td> 
    2159           <td class="fieldval"> 
    2160             <!-- Set the timefields class for the first load of the page; 
    2161                  subsequent changes will take place using javascript without a 
    2162                  page reload. --> 
    2163             <xsl:variable name="timeFieldsClass"> 
    2164               <xsl:choose> 
    2165                 <xsl:when test="form/allDay/input/@checked='checked'">invisible</xsl:when> 
    2166                 <xsl:otherwise>timeFields</xsl:otherwise> 
    2167               </xsl:choose> 
    2168             </xsl:variable> 
    2169  
    2170             <!-- date only event: anniversary event - often interpreted as "all day event" --> 
    2171             <xsl:choose> 
    2172               <xsl:when test="form/allDay/input/@checked='checked'"> 
    2173                 <input type="checkbox" name="allDayFlag" onclick="swapAllDayEvent(this)" value="on" checked="checked"/> 
    2174                 <input type="hidden" name="eventStartDate.dateOnly" value="true" id="allDayStartDateField"/> 
    2175                 <input type="hidden" name="eventEndDate.dateOnly" value="true" id="allDayEndDateField"/> 
    2176               </xsl:when> 
    2177               <xsl:otherwise> 
    2178                 <input type="checkbox" name="allDayFlag" onclick="swapAllDayEvent(this)" value="off"/> 
    2179                 <input type="hidden" name="eventStartDate.dateOnly" value="false" id="allDayStartDateField"/> 
    2180                 <input type="hidden" name="eventEndDate.dateOnly" value="false" id="allDayEndDateField"/> 
    2181               </xsl:otherwise> 
    2182             </xsl:choose> 
    2183             all day 
    2184  
    2185             <!-- floating event: no timezone (and not UTC) --> 
    2186             <xsl: