Changeset 2890

Show
Ignore:
Timestamp:
05/03/10 19:01:58
Author:
johnsa
Message:

user client: start of breaking user client into smaller files

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/deployment/webuser/webapp/resources/demoskins/default/default/default.xsl

    r2861 r2890  
    3434  <!--       PERSONAL CALENDAR STYLESHEET        --> 
    3535  <!-- ========================================= --> 
    36  
    3736  
    3837  <!-- GENERATE KEYS --> 
     
    4241       <xsl:key name="eventUid" match="event" use="guid"/> 
    4342 
     43  <!-- DEFINE INCLUDES --> 
     44  <xsl:include href="./globals.xsl" /> 
     45  <xsl:include href="../strings.xsl" /> 
     46  <!-- xsl:include href="../localeSettings.xsl" /--> 
    4447 
    45   <!-- DEFINE INCLUDES --> 
    46   <xsl:include href="../../../bedework-common/default/default/errors.xsl"/> 
    47   <xsl:include href="../../../bedework-common/default/default/messages.xsl"/> 
    48   <xsl:include href="../../../bedework-common/default/default/util.xsl"/> 
    49   <xsl:include href="../../../bedework-common/default/default/bedeworkAccess.xsl"/> 
    50   <xsl:include href="./strings.xsl"/> 
    51  
    52   <!-- DEFINE GLOBAL CONSTANTS --> 
    53   <!-- URL of html resources (images, css, other html); by default this is 
    54        set to the application root, but for the personal calendar 
    55        this should be changed to point to a 
    56        web server over https to avoid mixed content errors, e.g., 
    57   <xsl:variable name="resourcesRoot">https://mywebserver.edu/myresourcesdir</xsl:variable> 
    58     --> 
    59   <xsl:variable name="resourcesRoot" select="/bedework/browserResourceRoot"/> 
    60  
    61   <!-- URL of the XSL template directory --> 
    62   <!-- The approot is an appropriate place to put 
    63        included stylesheets and xml fragments. These are generally 
    64        referenced relatively (like errors.xsl and messages.xsl above); 
    65        this variable is here for your convenience if you choose to 
    66        reference it explicitly.  It is not used in this stylesheet, however, 
    67        and can be safely removed if you so choose. --> 
    68   <xsl:variable name="appRoot" select="/bedework/approot"/> 
    69  
    70   <!-- Properly encoded prefixes to the application actions; use these to build 
    71        urls; allows the application to be used without cookies or within a portal. 
    72        These urls are rewritten in header.jsp and simply passed through for use 
    73        here. Every url includes a query string (either ?b=de or a real query 
    74        string) so that all links constructed in this stylesheet may begin the 
    75        query string with an ampersand. --> 
    76   <!-- main --> 
    77   <xsl:variable name="setup" select="/bedework/urlPrefixes/setup"/> 
    78   <xsl:variable name="setSelection" select="/bedework/urlPrefixes/main/setSelection"/> 
    79   <xsl:variable name="setViewPeriod" select="/bedework/urlPrefixes/main/setViewPeriod"/> 
    80   <xsl:variable name="listEvents" select="/bedework/urlPrefixes/main/listEvents"/> 
    81   <!-- events --> 
    82   <xsl:variable name="eventView" select="/bedework/urlPrefixes/event/eventView"/> 
    83   <xsl:variable name="initEvent" select="/bedework/urlPrefixes/event/initEvent"/> 
    84   <xsl:variable name="addEvent" select="/bedework/urlPrefixes/event/addEvent"/> 
    85   <xsl:variable name="event-attendeesForEvent" select="/bedework/urlPrefixes/event/attendeesForEvent"/> 
    86   <xsl:variable name="event-showAttendeesForEvent" select="/bedework/urlPrefixes/event/showAttendeesForEvent"/> 
    87   <xsl:variable name="event-initMeeting" select="/bedework/urlPrefixes/event/initMeeting"/> 
    88   <xsl:variable name="event-addEventRefComplete" select="/bedework/urlPrefixes/event/addEventRefComplete"/> 
    89   <xsl:variable name="event-showAccess" select="/bedework/urlPrefixes/event/showAccess"/> 
    90   <!-- <xsl:variable name="event-setAccess" select="/bedework/urlPrefixes/event/setAccess"/>--> 
    91   <xsl:variable name="editEvent" select="/bedework/urlPrefixes/event/editEvent"/> 
    92   <xsl:variable name="gotoEditEvent" select="/bedework/urlPrefixes/event/gotoEditEvent"/> 
    93   <xsl:variable name="updateEvent" select="/bedework/urlPrefixes/event/updateEvent"/> 
    94   <xsl:variable name="delEvent" select="/bedework/urlPrefixes/event/delEvent"/> 
    95   <xsl:variable name="delInboxEvent" select="/bedework/urlPrefixes/event/delInboxEvent"/> 
    96   <xsl:variable name="addEventRef" select="/bedework/urlPrefixes/event/addEventRef"/> 
    97   <!-- locations --> 
    98   <xsl:variable name="location-initAdd" select="/bedework/urlPrefixes/location/initAdd"/> 
    99   <xsl:variable name="location-initUpdate" select="/bedework/urlPrefixes/location/initUpdate"/> 
    100   <xsl:variable name="location-fetchForUpdate" select="/bedework/urlPrefixes/location/fetchForUpdate"/> 
    101   <xsl:variable name="location-update" select="/bedework/urlPrefixes/location/update"/> 
    102   <xsl:variable name="location-delete" select="/bedework/urlPrefixes/location/delete"/> 
    103   <!-- categories --> 
    104   <xsl:variable name="category-initAdd" select="/bedework/urlPrefixes/category/initAdd"/> 
    105   <xsl:variable name="category-initUpdate" select="/bedework/urlPrefixes/category/initUpdate"/> 
    106   <xsl:variable name="category-fetchForUpdate" select="/bedework/urlPrefixes/category/fetchForUpdate"/> 
    107   <xsl:variable name="category-update" select="/bedework/urlPrefixes/category/update"/> 
    108   <xsl:variable name="category-delete" select="/bedework/urlPrefixes/category/delete"/> 
    109   <!-- calendars --> 
    110   <xsl:variable name="fetchPublicCalendars" select="/bedework/urlPrefixes/calendar/fetchPublicCalendars"/> 
    111   <xsl:variable name="calendar-fetch" select="/bedework/urlPrefixes/calendar/fetch"/> 
    112   <xsl:variable name="calendar-fetchDescriptions" select="/bedework/urlPrefixes/calendar/fetchDescriptions"/> 
    113   <xsl:variable name="calendar-initAdd" select="/bedework/urlPrefixes/calendar/initAdd"/> 
    114   <xsl:variable name="calendar-initAddExternal" select="/bedework/urlPrefixes/calendar/initAddExternal"/> 
    115   <xsl:variable name="calendar-initAddAlias" select="/bedework/urlPrefixes/calendar/initAddAlias"/> 
    116   <xsl:variable name="calendar-initAddPublicAlias" select="/bedework/urlPrefixes/calendar/initAddPublicAlias"/> 
    117   <xsl:variable name="calendar-delete" select="/bedework/urlPrefixes/calendar/delete"/> 
    118   <xsl:variable name="calendar-fetchForDisplay" select="/bedework/urlPrefixes/calendar/fetchForDisplay"/> 
    119   <xsl:variable name="calendar-fetchForUpdate" select="/bedework/urlPrefixes/calendar/fetchForUpdate"/> 
    120   <xsl:variable name="calendar-update" select="/bedework/urlPrefixes/calendar/update"/> 
    121   <!-- <xsl:variable name="calendar-setAccess" select="/bedework/urlPrefixes/calendar/setAccess"/>--> 
    122   <xsl:variable name="calendar-trash" select="/bedework/urlPrefixes/calendar/trash"/> 
    123   <xsl:variable name="calendar-emptyTrash" select="/bedework/urlPrefixes/calendar/emptyTrash"/> 
    124   <xsl:variable name="calendar-listForExport" select="/bedework/urlPrefixes/calendar/listForExport"/> 
    125   <xsl:variable name="calendar-setPropsInGrid" select="/bedework/urlPrefixes/calendar/setPropsInGrid"/> 
    126   <xsl:variable name="calendar-setPropsInList" select="/bedework/urlPrefixes/calendar/setPropsInList"/> 
    127   <!-- subscriptions --> 
    128   <xsl:variable name="subscriptions-showSubsMenu" select="/bedework/urlPrefixes/subscriptions/showSubsMenu"/> 
    129   <xsl:variable name="subscriptions-fetch" select="/bedework/urlPrefixes/subscriptions/fetch"/> 
    130   <xsl:variable name="subscriptions-fetchForUpdate" select="/bedework/urlPrefixes/subscriptions/fetchForUpdate"/> 
    131   <xsl:variable name="subscriptions-initAdd" select="/bedework/urlPrefixes/subscriptions/initAdd"/> 
    132   <xsl:variable name="subscriptions-subscribe" select="/bedework/urlPrefixes/subscriptions/subscribe"/> 
    133   <xsl:variable name="subscriptions-inaccessible" select="/bedework/urlPrefixes/subscriptions/inaccessible"/> 
    134   <!-- preferences --> 
    135   <xsl:variable name="prefs-fetchForUpdate" select="/bedework/urlPrefixes/prefs/fetchForUpdate"/> 
    136   <xsl:variable name="prefs-update" select="/bedework/urlPrefixes/prefs/update"/> 
    137   <xsl:variable name="prefs-fetchSchedulingForUpdate" select="/bedework/urlPrefixes/prefs/fetchSchedulingForUpdate"/> 
    138   <!-- <xsl:variable name="prefs-setAccess" select="/bedework/urlPrefixes/prefs/setAccess"/>--> 
    139   <xsl:variable name="prefs-updateSchedulingPrefs" select="/bedework/urlPrefixes/prefs/updateSchedulingPrefs"/> 
    140   <!-- scheduling --> 
    141   <xsl:variable name="showInbox" select="/bedework/urlPrefixes/schedule/showInbox"/> 
    142   <xsl:variable name="showOutbox" select="/bedework/urlPrefixes/schedule/showOutbox"/> 
    143   <xsl:variable name="schedule-initAttendeeRespond" select="/bedework/urlPrefixes/schedule/initAttendeeRespond"/> 
    144   <xsl:variable name="schedule-attendeeRespond" select="/bedework/urlPrefixes/schedule/attendeeRespond"/> 
    145   <xsl:variable name="schedule-initAttendeeReply" select="/bedework/urlPrefixes/schedule/initAttendeeReply"/> 
    146   <xsl:variable name="schedule-initAttendeeUpdate" select="/bedework/urlPrefixes/schedule/initAttendeeUpdate"/> 
    147   <xsl:variable name="schedule-changeStatus" select="/bedework/urlPrefixes/schedule/changeStatus"/> 
    148   <xsl:variable name="schedule-processAttendeeReply" select="/bedework/urlPrefixes/schedule/processAttendeeReply"/> 
    149   <xsl:variable name="schedule-clearReply" select="/bedework/urlPrefixes/schedule/clearReply"/> 
    150   <xsl:variable name="schedule-processRefresh" select="/bedework/urlPrefixes/schedule/processRefresh"/> 
    151   <xsl:variable name="schedule-refresh" select="/bedework/urlPrefixes/schedule/refresh"/> 
    152   <!-- misc (mostly import and export) --> 
    153   <xsl:variable name="export" select="/bedework/urlPrefixes/misc/export"/> 
    154   <xsl:variable name="calendar-export" select="/bedework/urlPrefixes/calendar/export"/> 
    155   <xsl:variable name="initUpload" select="/bedework/urlPrefixes/misc/initUpload"/> 
    156   <xsl:variable name="upload" select="/bedework/urlPrefixes/misc/upload"/> 
    157   <!-- search --> 
    158   <xsl:variable name="search" select="/bedework/urlPrefixes/search/search"/> 
    159   <xsl:variable name="search-next" select="/bedework/urlPrefixes/search/next"/> 
    160   <!-- mail --> 
    161   <xsl:variable name="mailEvent" select="/bedework/urlPrefixes/mail/mailEvent"/> 
    162   <!-- alarm --> 
    163   <xsl:variable name="initEventAlarm" select="/bedework/urlPrefixes/alarm/initEventAlarm"/> 
    164   <xsl:variable name="setAlarm" select="/bedework/urlPrefixes/alarm/setAlarm"/> 
    165   <!-- free/busy --> 
    166   <xsl:variable name="freeBusy-fetch" select="/bedework/urlPrefixes/freeBusy/fetch"/> 
    167   <!-- <xsl:variable name="freeBusy-setAccess" select="/bedework/urlPrefixes/freeBusy/setAccess"/>--> 
    168  
    169   <!-- URL of the web application - includes web context --> 
    170   <xsl:variable name="urlPrefix" select="/bedework/urlprefix"/> 
    171  
    172   <!-- Other generally useful global variables --> 
    173   <xsl:variable name="prevdate" select="/bedework/previousdate"/> 
    174   <xsl:variable name="nextdate" select="/bedework/nextdate"/> 
    175   <xsl:variable name="curdate" select="/bedework/currentdate/date"/> 
    176   <xsl:variable name="skin">default</xsl:variable> 
    177   <xsl:variable name="publicCal">/cal</xsl:variable> 
    178  
    179   <!-- the following variable can be set to "true" or "false"; 
    180        to use jQuery widgets and fancier UI features, set to false - these are 
    181        not guaranteed to work in portals. --> 
    182   <xsl:variable name="portalFriendly">false</xsl:variable> 
    183  
    184  <!-- BEGIN MAIN TEMPLATE --> 
    185   <xsl:template match="/"> 
    186     <html lang="en"> 
    187       <head> 
    188         <xsl:call-template name="headSection"/> 
    189       </head> 
    190       <body> 
    191         <!-- 
    192         <xsl:choose> 
    193           <xsl:when test="/bedework/page != 'inbox' and 
    194                           /bedework/page != 'outbox' and 
    195                           /bedework/page != 'attendeeRespond' and 
    196                           /bedework/page != 'attendeeReply'"> 
    197             <xsl:attribute name="onload">checkStatus(<xsl:value-of select="/bedework/inboxState/numActive"/>,<xsl:value-of select="/bedework/inboxState/changed"/>,'<xsl:value-of select="$showInbox"/>')</xsl:attribute> 
    198           </xsl:when> 
    199         </xsl:choose> 
    200         --> 
    201         <xsl:choose> 
    202           <xsl:when test="/bedework/page = 'addEvent'"> 
    203             <xsl:attribute name="onload">focusElement('bwEventTitle');bwSetupDatePickers();</xsl:attribute> 
    204           </xsl:when> 
    205           <xsl:when test="/bedework/page = 'editEvent'"> 
    206             <xsl:attribute name="onload"><xsl:if test="/bedework/formElements/recurrenceId = ''">initRXDates();</xsl:if>initXProperties();focusElement('bwEventTitle');bwSetupDatePickers();</xsl:attribute> 
    207           </xsl:when> 
    208           <xsl:when test="/bedework/page = 'attendees'"> 
    209             <xsl:attribute name="onload">focusElement('bwRaUri');</xsl:attribute> 
    210           </xsl:when> 
    211           <xsl:when test="/bedework/page = 'modLocation'"> 
    212             <xsl:attribute name="onload">focusElement('bwLocMainAddress');</xsl:attribute> 
    213           </xsl:when> 
    214         </xsl:choose> 
    215         <div id="bedework"><!-- main wrapper div to keep styles encapsulated --> 
    216           <xsl:call-template name="headBar"/> 
    217           <xsl:call-template name="messagesAndErrors"/> 
    218           <xsl:call-template name="tabs"/> 
    219           <table id="bodyBlock" cellspacing="0"> 
    220             <tr> 
    221               <xsl:choose> 
    222                 <xsl:when test="/bedework/appvar[key='sidebar']/value='closed'"> 
    223                   <td id="sideBarClosed"> 
    224                     <img src="{$resourcesRoot}/resources/spacer.gif" width="1" height="1" border="0" alt="*"/> 
    225                   </td> 
    226                 </xsl:when> 
    227                 <xsl:otherwise> 
    228                   <td id="sideBar" class="sideMenus"> 
    229                     <xsl:call-template name="sideBar"/> 
    230                   </td> 
    231                 </xsl:otherwise> 
    232               </xsl:choose> 
    233               <td id="bodyContent"> 
    234                 <xsl:call-template name="navigation"/> 
    235                 <xsl:call-template name="utilBar"/> 
    236                 <xsl:choose> 
    237                   <xsl:when test="/bedework/page='event'"> 
    238                     <!-- show an event --> 
    239                     <xsl:apply-templates select="/bedework/event"/> 
    240                   </xsl:when> 
    241                   <xsl:when test="/bedework/page='eventList'"> 
    242                     <!-- show a list of discrete events in a time period --> 
    243                     <xsl:apply-templates select="/bedework/events" mode="eventList"/> 
    244                   </xsl:when> 
    245                   <xsl:when test="/bedework/page='addEvent'"> 
    246                     <xsl:apply-templates select="/bedework/formElements" mode="addEvent"/> 
    247                   </xsl:when> 
    248                   <xsl:when test="/bedework/page='attendees'"> 
    249                     <xsl:call-template name="attendees"/> 
    250                   </xsl:when> 
    251                   <xsl:when test="/bedework/page='editEvent'"> 
    252                     <xsl:apply-templates select="/bedework/formElements" mode="editEvent"/> 
    253                   </xsl:when> 
    254                   <xsl:when test="/bedework/page='addEventRef'"> 
    255                     <xsl:apply-templates select="/bedework/event" mode="addEventRef"/> 
    256                   </xsl:when> 
    257                   <xsl:when test="/bedework/page='alarmOptions'"> 
    258                     <xsl:call-template name="alarmOptions" /> 
    259                   </xsl:when> 
    260                   <xsl:when test="/bedework/page='upload'"> 
    261                     <xsl:call-template name="upload" /> 
    262                   </xsl:when> 
    263                   <xsl:when test="/bedework/page='categoryList'"> 
    264                     <xsl:call-template name="categoryList"/> 
    265                   </xsl:when> 
    266                   <xsl:when test="/bedework/page='modCategory'"> 
    267                     <xsl:call-template name="modCategory"/> 
    268                   </xsl:when> 
    269                   <xsl:when test="/bedework/page='deleteCategoryConfirm'"> 
    270                     <xsl:call-template name="deleteCategoryConfirm"/> 
    271                   </xsl:when> 
    272                   <xsl:when test="/bedework/page='locationList'"> 
    273                     <xsl:call-template name="locationList" /> 
    274                   </xsl:when> 
    275                   <xsl:when test="/bedework/page='modLocation'"> 
    276                     <xsl:call-template name="modLocation"/> 
    277                   </xsl:when> 
    278                   <xsl:when test="/bedework/page='deleteLocationConfirm'"> 
    279                     <xsl:call-template name="deleteLocationConfirm"/> 
    280                   </xsl:when> 
    281                   <xsl:when test="/bedework/page='subsMenu'"> 
    282                     <xsl:call-template name="subsMenu"/> 
    283                   </xsl:when> 
    284                   <!-- DEPRECATED 
    285                   <xsl:when test="/bedework/page='subscriptions' or 
    286                                   /bedework/page='modSubscription'"> 
    287                     <xsl:apply-templates select="/bedework/subscriptions"/> 
    288                   </xsl:when> --> 
    289                   <xsl:when test="/bedework/page='addAlias'"> 
    290                     <xsl:call-template name="addAlias"/> 
    291                   </xsl:when> 
    292                   <xsl:when test="/bedework/page='calendarList' or 
    293                                   /bedework/page='calendarDescriptions' or 
    294                                   /bedework/page='displayCalendar' or 
    295                                   /bedework/page='modCalendar' or 
    296                                   /bedework/page='deleteCalendarConfirm' or 
    297                                   /bedework/page='calendarReferenced'"> 
    298                     <xsl:apply-templates select="/bedework/calendars" mode="manageCalendars"/> 
    299                   </xsl:when> 
    300                    <xsl:when test="/bedework/page='calendarListForExport'"> 
    301                     <xsl:apply-templates select="/bedework/calendars" mode="exportCalendars"/> 
    302                   </xsl:when> 
    303                   <xsl:when test="/bedework/page='freeBusy'"> 
    304                     <xsl:apply-templates select="/bedework/freebusy" mode="freeBusyPage"/> 
    305                   </xsl:when> 
    306                   <xsl:when test="/bedework/page='modPrefs'"> 
    307                     <xsl:apply-templates select="/bedework/prefs"/> 
    308                   </xsl:when> 
    309                   <xsl:when test="/bedework/page='modSchedulingPrefs'"> 
    310                     <xsl:apply-templates select="/bedework/schPrefs"/> 
    311                   </xsl:when> 
    312                   <xsl:when test="/bedework/page='inbox'"> 
    313                     <xsl:apply-templates select="/bedework/inbox"/> 
    314                   </xsl:when> 
    315                   <xsl:when test="/bedework/page='outbox'"> 
    316                     <xsl:apply-templates select="/bedework/outbox"/> 
    317                   </xsl:when> 
    318                   <xsl:when test="/bedework/page='attendeeRespond'"> 
    319                     <xsl:apply-templates select="/bedework/formElements" mode="attendeeRespond"/> 
    320                   </xsl:when> 
    321                   <xsl:when test="/bedework/page='attendeeReply'"> 
    322                     <xsl:apply-templates select="/bedework/event" mode="attendeeReply"/> 
    323                   </xsl:when> 
    324                   <xsl:when test="/bedework/page='searchResult'"> 
    325                     <xsl:call-template name="searchResult"/> 
    326                   </xsl:when> 
    327                   <xsl:when test="/bedework/page='other'"> 
    328                     <!-- show an arbitrary page --> 
    329                     <xsl:call-template name="selectPage"/> 
    330                   </xsl:when> 
    331                   <xsl:otherwise> 
    332                     <!-- otherwise, show the eventsCalendar --> 
    333                     <!-- main eventCalendar content --> 
    334                     <xsl:choose> 
    335                       <xsl:when test="/bedework/periodname='Day'"> 
    336                         <xsl:call-template name="listView"/> 
    337                       </xsl:when> 
    338                       <xsl:when test="/bedework/periodname='Week' or /bedework/periodname=''"> 
    339                         <xsl:choose> 
    340                           <xsl:when test="/bedework/appvar[key='weekViewMode']/value='list'"> 
    341                             <xsl:call-template name="listView"/> 
    342                           </xsl:when> 
    343                           <xsl:otherwise> 
    344                             <xsl:call-template name="weekView"/> 
    345                           </xsl:otherwise> 
    346                         </xsl:choose> 
    347                       </xsl:when> 
    348                       <xsl:when test="/bedework/periodname='Month'"> 
    349                         <xsl:choose> 
    350                           <xsl:when test="/bedework/appvar[key='monthViewMode']/value='list'"> 
    351                             <xsl:call-template name="listView"/> 
    352                           </xsl:when> 
    353                           <xsl:otherwise> 
    354                             <xsl:call-template name="monthView"/> 
    355                           </xsl:otherwise> 
    356                         </xsl:choose> 
    357                       </xsl:when> 
    358                       <xsl:otherwise> 
    359                         <xsl:call-template name="yearView"/> 
    360                       </xsl:otherwise> 
    361                     </xsl:choose> 
    362                   </xsl:otherwise> 
    363                 </xsl:choose> 
    364               </td> 
    365               <xsl:choose> 
    366                 <xsl:when test="/bedework/schedulingMessages/events/event[scheduleState = 1]"> 
    367                   <td id="msgTaskBar" class="sideMenus"> 
    368                     <h3>messages</h3> 
    369                     <ul> 
    370                       <!-- only show processed messages (scheduleState = 1) --> 
    371                       <xsl:apply-templates select="/bedework/schedulingMessages/events/event[scheduleState = 1]" mode="schedNotifications"/> 
    372                     </ul> 
    373                   </td> 
    374                 </xsl:when> 
    375                 <xsl:otherwise> 
    376                   <td id="msgTaskBarPlaceholder"></td> 
    377                 </xsl:otherwise> 
    378               </xsl:choose> 
    379             </tr> 
    380           </table> 
    381           <!-- footer --> 
    382           <xsl:call-template name="footer"/> 
    383         </div> 
    384       </body> 
    385     </html> 
    386   </xsl:template> 
    387  
    388   <!--==== HEAD SECTION  ====--> 
    389   <xsl:template name="headSection"> 
    390     <title><xsl:copy-of select="$bwStr-Head-PageTitle"/></title> 
    391     <meta name="robots" content="noindex,nofollow"/> 
    392     <meta content="text/html;charset=utf-8" http-equiv="Content-Type" /> 
    393     <link rel="stylesheet" href="{$resourcesRoot}/default/default/default.css"/> 
    394     <link rel="stylesheet" type="text/css" media="print" href="{$resourcesRoot}/default/default/print.css" /> 
    395     <link rel="icon" type="image/ico" href="{$resourcesRoot}/resources/bedework.ico" /> 
    396  
    397     <!-- set globals that must be passed in from the XSLT --> 
    398     <script type="text/javascript"> 
    399       <xsl:comment> 
    400       var defaultTzid = "<xsl:value-of select="/bedework/now/defaultTzid"/>"; 
    401       var startTzid = "<xsl:value-of select="/bedework/formElements/form/start/tzid"/>"; 
    402       var endTzid = "<xsl:value-of select="/bedework/formElements/form/end/dateTime/tzid"/>"; 
    403       var resourcesRoot = "<xsl:value-of select="$resourcesRoot"/>"; 
    404       </xsl:comment> 
    405     </script> 
    406  
    407     <!-- note: the non-breaking spaces in the script bodies below are to avoid 
    408          losing the script closing tags (which avoids browser problems) --> 
    409     <script type="text/javascript" src="/bedework-common/javascript/jquery/jquery-1.3.2.min.js">&#160;</script> 
    410     <script type="text/javascript" src="/bedework-common/javascript/jquery/jquery-ui-1.7.1.custom.min.js">&#160;</script> 
    411     <link rel="stylesheet" href="/bedework-common/javascript/jquery/css/custom-theme/jquery-ui-1.7.1.custom.css"/> 
    412     <link rel="stylesheet" href="/bedework-common/javascript/jquery/css/custom-theme/bedeworkJquery.css"/> 
    413     <!-- load bedework personal client javascript libraries --> 
    414     <script type="text/javascript" src="{$resourcesRoot}/resources/bedework.js">&#160;</script> 
    415     <script type="text/javascript" src="{$resourcesRoot}/resources/bedeworkSetup.js">&#160;</script> 
    416  
    417     <xsl:if test="/bedework/page='modSchedulingPrefs' or 
    418                   /bedework/page='modPrefs' or 
    419                   /bedework/page='attendeeRespond'"> 
    420       <script type="text/javascript" src="{$resourcesRoot}/resources/bedeworkPrefs.js">&#160;</script> 
    421     </xsl:if> 
    422  
    423     <xsl:if test="/bedework/page='modCalendar' or 
    424                   /bedework/page='modSchedulingPrefs'"> 
    425       <link rel="stylesheet" href="/bedework-common/default/default/bedeworkAccess.css"/> 
    426       <script type="text/javascript" src="/bedework-common/javascript/bedework/bedeworkAccess.js">&#160;</script> 
    427       <!-- initialize calendar acls, if present --> 
    428       <xsl:if test="/bedework/currentCalendar/acl/ace"> 
    429         <script type="text/javascript"> 
    430           <xsl:apply-templates select="/bedework/currentCalendar/acl/ace" mode="initJS"/> 
    431         </script> 
    432       </xsl:if> 
    433     </xsl:if> 
    434  
    435     <xsl:if test="/bedework/page='attendees'"> 
    436       <!-- script type="text/javascript" src="/bedework-common/javascript/jquery/jquery-1.2.6.min.js">&#160;</script --> 
    437       <script type="text/javascript" src="/bedework-common/javascript/jquery/autocomplete/bw-jquery.autocomplete.js">&#160;</script> 
    438       <script type="text/javascript" src="/bedework-common/javascript/jquery/autocomplete/jquery.bgiframe.min.js">&#160;</script> 
    439       <script type="text/javascript" src="{$resourcesRoot}/resources/bedeworkAttendees.js">&#160;</script> 
    440       <link rel="stylesheet" type="text/css" href="/bedework-common/javascript/jquery/autocomplete/jquery.autocomplete.css" /> 
    441     </xsl:if> 
    442  
    443     <xsl:if test="/bedework/page='addEvent' or 
    444                   /bedework/page='editEvent' or 
    445                   /bedework/page='rdates' or 
    446                   /bedework/page='calendarListForExport'"> 
    447  
    448       <xsl:choose> 
    449         <xsl:when test="$portalFriendly = 'true'"> 
    450           <script type="text/javascript" src="{$resourcesRoot}/resources/dynCalendarWidget.js">&#160;</script> 
    451           <link rel="stylesheet" href="{$resourcesRoot}/resources/dynCalendarWidget.css"/> 
    452         </xsl:when> 
    453         <xsl:otherwise> 
    454           <script type="text/javascript"> 
    455             <xsl:comment> 
    456             $.datepicker.setDefaults({ 
    457               constrainInput: true, 
    458               dateFormat: "yy-mm-dd", 
    459               showOn: "both", 
    460               buttonImage: "<xsl:value-of select='$resourcesRoot'/>/resources/calIcon.gif", 
    461               buttonImageOnly: true, 
    462               gotoCurrent: true, 
    463               duration: "" 
    464             }); 
    465  
    466             function bwSetupDatePickers() { 
    467               // startdate 
    468               $("#bwEventWidgetStartDate").datepicker({ 
    469                 defaultDate: new Date(<xsl:value-of select="/bedework/formElements/form/start/yearText/input/@value"/>, <xsl:value-of select="number(/bedework/formElements/form/start/month/select/option[@selected = 'selected']/@value) - 1"/>, <xsl:value-of select="/bedework/formElements/form/start/day/select/option[@selected = 'selected']/@value"/>) 
    470               }).attr("readonly", "readonly"); 
    471               $("#bwEventWidgetStartDate").val('<xsl:value-of select="substring-before(/bedework/formElements/form/start/rfc3339DateTime,'T')"/>'); 
    472  
    473               // enddate 
    474               $("#bwEventWidgetEndDate").datepicker({ 
    475                 defaultDate: new Date(<xsl:value-of select="/bedework/formElements/form/end/dateTime/yearText/input/@value"/>, <xsl:value-of select="number(/bedework/formElements/form/end/dateTime/month/select/option[@selected = 'selected']/@value) - 1"/>, <xsl:value-of select="/bedework/formElements/form/end/dateTime/day/select/option[@selected = 'selected']/@value"/>) 
    476               }).attr("readonly", "readonly"); 
    477               $("#bwEventWidgetEndDate").val('<xsl:value-of select="substring-before(/bedework/formElements/form/end/rfc3339DateTime,'T')"/>'); 
    478  
    479               // recurrence until 
    480               $("#bwEventWidgetUntilDate").datepicker({ 
    481                 <xsl:choose> 
    482                   <xsl:when test="/bedework/formElements/form/recurrence/until"> 
    483                     defaultDate: new Date(<xsl:value-of select="substring(/bedework/formElements/form/recurrence/until,1,4)"/>, <xsl:value-of select="number(substring(/bedework/formElements/form/recurrence/until,5,2)) - 1"/>, <xsl:value-of select="substring(/bedework/formElements/form/recurrence/until,7,2)"/>), 
    484                   </xsl:when> 
    485                   <xsl:otherwise> 
    486                     defaultDate: new Date(<xsl:value-of select="/bedework/formElements/form/start/yearText/input/@value"/>, <xsl:value-of select="number(/bedework/formElements/form/start/month/select/option[@selected = 'selected']/@value) - 1"/>, <xsl:value-of select="/bedework/formElements/form/start/day/select/option[@selected = 'selected']/@value"/>), 
    487                   </xsl:otherwise> 
    488                 </xsl:choose> 
    489                 altField: "#bwEventUntilDate", 
    490                 altFormat: "yymmdd" 
    491               }).attr("readonly", "readonly"); 
    492               $("#bwEventWidgetUntilDate").val('<xsl:value-of select="substring-before(/bedework/formElements/form/start/rfc3339DateTime,'T')"/>'); 
    493  
    494               // rdates and xdates 
    495               $("#bwEventWidgetRdate").datepicker({ 
    496                 defaultDate: new Date(<xsl:value-of select="/bedework/formElements/form/start/yearText/input/@value"/>, <xsl:value-of select="number(/bedework/formElements/form/start/month/select/option[@selected = 'selected']/@value) - 1"/>, <xsl:value-of select="/bedework/formElements/form/start/day/select/option[@selected = 'selected']/@value"/>), 
    497                 dateFormat: "yymmdd" 
    498               }).attr("readonly", "readonly"); 
    499               $("#bwEventWidgetRdate").val('<xsl:value-of select="substring-before(/bedework/formElements/form/start/rfc3339DateTime,'T')"/>'); 
    500             } 
    501             </xsl:comment> 
    502           </script> 
    503         </xsl:otherwise> 
    504       </xsl:choose> 
    505       <script type="text/javascript" src="{$resourcesRoot}/resources/bwClock.js">&#160;</script> 
    506       <link rel="stylesheet" href="{$resourcesRoot}/resources/bwClock.css"/> 
    507       <script type="text/javascript" src="{$resourcesRoot}/resources/bedeworkEventForm.js">&#160;</script> 
    508       <script type="text/javascript" src="/bedework-common/javascript/bedework/bedeworkXProperties.js">&#160;</script> 
    509       <link rel="stylesheet" href="/bedework-common/default/default/bedeworkAccess.css"/> 
    510       <script type="text/javascript" src="/bedework-common/javascript/bedework/bedeworkAccess.js">&#160;</script> 
    511       <!-- initialize event acls, if present --> 
    512       <xsl:if test="/bedework/editableAccess/access/acl/ace"> 
    513         <script type="text/javascript"> 
    514           <xsl:apply-templates select="/bedework/editableAccess/access/acl/ace" mode="initJS"/> 
    515         </script> 
    516       </xsl:if> 
    517     </xsl:if> 
    518     <xsl:if test="/bedework/page='editEvent'"> 
    519       <script type="text/javascript"> 
    520         <xsl:comment> 
    521         function initRXDates() { 
    522           // return string values to be loaded into javascript for rdates 
    523           <xsl:for-each select="/bedework/formElements/form/rdates/rdate"> 
    524             bwRdates.update('<xsl:value-of select="date"/>','<xsl:value-of select="time"/>',false,false,false,'<xsl:value-of select="tzid"/>'); 
    525           </xsl:for-each> 
    526           // return string values to be loaded into javascript for rdates 
    527           <xsl:for-each select="/bedework/formElements/form/exdates/rdate"> 
    528             bwExdates.update('<xsl:value-of select="date"/>','<xsl:value-of select="time"/>',false,false,false,'<xsl:value-of select="tzid"/>'); 
    529           </xsl:for-each> 
    530         } 
    531         function initXProperties() { 
    532           <xsl:for-each select="/bedework/formElements/form/xproperties/node()[text()]"> 
    533             bwXProps.init('<xsl:value-of select="name()"/>',[<xsl:for-each select="parameters/node()">['<xsl:value-of select="name()"/>','<xsl:value-of select="node()"/>']<xsl:if test="position() != last()">,</xsl:if></xsl:for-each>],'<xsl:call-template name="escapeApos"><xsl:with-param name="str"><xsl:value-of select="values/text"/></xsl:with-param></xsl:call-template>'); 
    534           </xsl:for-each> 
    535         } 
    536         </xsl:comment> 
    537       </script> 
    538     </xsl:if> 
    539  
    540     <!-- page based jquery initializations --> 
    541     <xsl:if test="/bedework/page='event'"> 
    542       <!-- jQuery functions for detailed event view --> 
    543       <script type="text/javascript" src="{$resourcesRoot}/resources/bedeworkEvent.js">&#160;</script> 
    544     </xsl:if> 
    545     <xsl:if test="/bedework/page='eventscalendar'"> 
    546       <!-- jQuery functions for detailed event view --> 
    547       <script type="text/javascript" src="{$resourcesRoot}/resources/bedeworkCalendarGrid.js">&#160;</script> 
    548     </xsl:if> 
    549  
    550     <script type="text/javascript"> 
    551       <xsl:comment> 
    552       <![CDATA[ 
    553       function checkStatus(inboxCount,changed,url) { 
    554       // Check status of inbox and outbox and alert user appropriately. 
    555       // Just take care of inbox for now. 
    556         if (inboxCount && changed) { 
    557           var itemStr = "item"; 
    558           if (inboxCount > 1) { 
    559             itemStr = "items"; 
    560           } 
    561           if (confirm("You have " + inboxCount + " pending " + itemStr + " in your inbox.\nGo to inbox?")) { 
    562             window.location.replace(url); 
    563           } 
    564         } 
    565       } 
    566       function focusElement(id) { 
    567       // focuses element by id 
    568         document.getElementById(id).focus(); 
    569       } 
    570       ]]> 
    571       </xsl:comment> 
    572     </script> 
    573   </xsl:template> 
    574  
    575   <!--==== HEADER TEMPLATES and NAVIGATION  ====--> 
    576  
    577   <xsl:template name="messagesAndErrors"> 
    578     <xsl:if test="/bedework/message"> 
    579       <ul id="messages"> 
    580         <xsl:for-each select="/bedework/message"> 
    581           <li><xsl:apply-templates select="."/></li> 
    582         </xsl:for-each> 
    583       </ul> 
    584     </xsl:if> 
    585     <xsl:if test="/bedework/error"> 
    586       <ul id="errors"> 
    587         <xsl:for-each select="/bedework/error"> 
    588           <li><xsl:apply-templates select="."/></li> 
    589         </xsl:for-each> 
    590       </ul> 
    591     </xsl:if> 
    592   </xsl:template> 
    593  
    594   <xsl:template name="headBar"> 
    595     <table width="100%" border="0" cellpadding="0" cellspacing="0" id="logoTable"> 
    596       <tr> 
    597         <td colspan="3" id="logoCell"><a href="/bedework/"><img src="{$resourcesRoot}/resources/bedeworkLogo.gif" width="292" height="75" border="0" alt="Bedework"/></a></td> 
    598         <td colspan="2" id="schoolLinksCell"> 
    599           <h2><xsl:copy-of select="$bwStr-HdBr-PersonalCalendar"/></h2> 
    600           <a href="{$publicCal}"><xsl:copy-of select="$bwStr-HdBr-PublicCalendar"/></a> | 
    601           <a href="http://www.yourschoolhere.edu"><xsl:copy-of select="$bwStr-HdBr-SchoolHome"/></a> | 
    602           <a href="http://www.bedework.org/"><xsl:copy-of select="$bwStr-HdBr-OtherLink"/></a> | 
    603           <a href="http://helpdesk.rpi.edu/update.do?catcenterkey=51"> 
    604             <xsl:copy-of select="$bwStr-HdBr-ExampleCalendarHelp"/> 
    605           </a> 
    606         </td> 
    607       </tr> 
    608     </table> 
    609     <table id="curDateRangeTable"  cellspacing="0"> 
    610       <tr> 
    611         <td class="sideBarOpenCloseIcon"> 
    612           <xsl:choose> 
    613             <xsl:when test="/bedework/appvar[key='sidebar']/value='closed'"> 
    614               <a href="?setappvar=sidebar(opened)"> 
    615                 <img alt="open sidebar" src="{$resourcesRoot}/resources/sideBarArrowOpen.gif" width="21" height="16" border="0" align="left"/> 
    616               </a> 
    617             </xsl:when> 
    618             <xsl:otherwise> 
    619               <a href="?setappvar=sidebar(closed)"> 
    620                 <img alt="close sidebar" src="{$resourcesRoot}/resources/sideBarArrowClose.gif" width="21" height="16" border="0" align="left"/> 
    621               </a> 
    622             </xsl:otherwise> 
    623           </xsl:choose> 
    624         </td> 
    625         <td class="date"> 
    626           <xsl:value-of select="/bedework/firstday/longdate"/> 
    627           <xsl:if test="/bedework/periodname!='Day'"> 
    628             - 
    629             <xsl:value-of select="/bedework/lastday/longdate"/> 
    630           </xsl:if> 
    631         </td> 
    632         <td class="rssPrint"> 
    633           <a href="javascript:window.print()" title="{$bwStr-HdBr-PrintThisView}"> 
    634             <img alt="print this view" src="{$resourcesRoot}/resources/std-print-icon.gif" width="20" height="14" border="0"/> <xsl:copy-of select="$bwStr-HdBr-Print"/> 
    635           </a> 
    636           <a class="rss" href="{$listEvents}&amp;setappvar=summaryMode(details)&amp;skinName=rss-list&amp;days=3" title="{$bwStr-HdBr-RSSFeed}"><xsl:copy-of select="$bwStr-HdBr-RSS"/></a> 
    637         </td> 
    638       </tr> 
    639     </table> 
    640   </xsl:template> 
    641  
    642   <xsl:template name="sideBar"> 
    643     <h3> 
    644       <!--<img alt="manage views" src="{$resourcesRoot}/resources/glassFill-icon-menuButton.gif" width="12" height="11" border="0"/>--> 
    645       <xsl:copy-of select="$bwStr-SdBr-Views"/> 
    646     </h3> 
    647     <ul id="myViews"> 
    648       <xsl:choose> 
    649         <xsl:when test="/bedework/views/view"> 
    650           <xsl:for-each select="/bedework/views/view"> 
    651             <xsl:variable name="viewName" select="name"/> 
    652             <xsl:choose> 
    653               <xsl:when test="/bedework/selectionState/selectionType = 'view' 
    654                               and name=/bedework/selectionState/view/name"> 
    655                 <li class="selected"><a href="{$setSelection}&amp;viewName={$viewName}"><xsl:value-of select="name"/></a></li> 
    656               </xsl:when> 
    657               <xsl:otherwise> 
    658                 <li><a href="{$setSelection}&amp;viewName={$viewName}"><xsl:value-of select="name"/></a></li> 
    659               </xsl:otherwise> 
    660             </xsl:choose> 
    661           </xsl:for-each> 
    662         </xsl:when> 
    663         <xsl:otherwise> 
    664           <li class="none"><xsl:copy-of select="$bwStr-SdBr-NoViews"/></li> 
    665         </xsl:otherwise> 
    666       </xsl:choose> 
    667     </ul> 
    668  
    669     <h3> 
    670       <!--a href="{$subscriptions-showSubsMenu}" title="{$bwStr-SdBr-SubscribeToCalendarsOrICalFeeds}"> 
    671         <xsl:copy-of select="$bwStr-SdBr-Subscribe"/> 
    672       </a--> 
    673       <a href="{$calendar-fetch}" title="{$bwStr-SdBr-ManageCalendarsAndSubscriptions}" class="calManageLink"> 
    674         <xsl:copy-of select="$bwStr-SdBr-Manage"/> 
    675       </a> 
    676       <xsl:copy-of select="$bwStr-SdBr-Calendars"/> 
    677     </h3> 
    678     <!-- normal calendars --> 
    679     <ul class="calendarTree"> 
    680       <xsl:apply-templates select="/bedework/myCalendars/calendars/calendar[calType != 5 and calType != 6 and calType != 2 and calType != 3]" mode="myCalendars"/> 
    681     </ul> 
    682     <!-- special calendars: inbox, outbox, and trash --> 
    683     <ul class="calendarTree"> 
    684       <xsl:apply-templates select="/bedework/myCalendars/calendars/calendar/calendar[calType = 5]" mode="mySpecialCalendars"/> <!-- inbox --> 
    685       <xsl:apply-templates select="/bedework/myCalendars/calendars/calendar/calendar[calType = 6]" mode="mySpecialCalendars"/> <!-- outbox --> 
    686       <xsl:apply-templates select="/bedework/myCalendars/calendars/calendar/calendar[calType = 2]" mode="mySpecialCalendars"/> <!-- trash --> 
    687       <xsl:apply-templates select="/bedework/myCalendars/calendars/calendar/calendar[calType = 3]" mode="mySpecialCalendars"/> <!-- deleted --> 
    688     </ul> 
    689  
    690     <!-- 
    691     <h3> 
    692       <a href="{$subscriptions-fetch}" title="manage subscriptions"> 
    693         manage 
    694       </a> 
    695       subscriptions 
    696     </h3> 
    697     <ul class="calendarTree"> 
    698       <xsl:variable name="userPath">user/<xsl:value-of select="/bedework/userid"/></xsl:variable> 
    699       <xsl:choose> 
    700         <xsl:when test="/bedework/mySubscriptions/subscription[not(contains(uri,$userPath))]"> 
    701           <xsl:apply-templates select="/bedework/mySubscriptions/subscription[not(contains(uri,$userPath))]" mode="mySubscriptions"/> 
    702         </xsl:when> 
    703         <xsl:otherwise> 
    704           <li class="none">no subscriptions</li> 
    705         </xsl:otherwise> 
    706       </xsl:choose> 
    707     </ul>--> 
    708  
    709     <h3><xsl:copy-of select="$bwStr-SdBr-Options"/></h3> 
    710     <ul id="sideBarMenu"> 
    711       <li class="prefs"> 
    712         <a href="{$prefs-fetchForUpdate}"> 
    713           <img height="13" border="0" width="13" 
    714             src="{$resourcesRoot}/resources/prefsIcon.gif" 
    715             alt="upload event" /> 
    716           <xsl:text> </xsl:text> 
    717           <xsl:copy-of select="$bwStr-SdBr-Preferences"/> 
    718         </a> 
    719       </li> 
    720       <li> 
    721             <a href="{$initUpload}" title="{$bwStr-SdBr-UploadEvent}"> 
    722               <img height="16" border="0" width="12" 
    723                 src="{$resourcesRoot}/resources/std-icalUpload-icon-small.gif" 
    724                 alt="upload ical" /> 
    725               <xsl:text> </xsl:text> 
    726               <xsl:copy-of select="$bwStr-SdBr-UploadICal"/> 
    727             </a> 
    728           </li> 
    729           <li> 
    730             <a href="{$calendar-listForExport}" title="{$bwStr-SdBr-ExportCalendars}"> 
    731           <img height="16" border="0" width="12" 
    732             src="{$resourcesRoot}/resources/std-icalUpload-icon-small.gif" 
    733             alt="upload ical" /> 
    734           <xsl:text> </xsl:text> 
    735           <xsl:copy-of select="$bwStr-SdBr-UploadICal"/> 
    736         </a> 
    737       </li> 
    738       <li> 
    739         <a href="{$calendar-listForExport}" title="upload event"> 
    740           <img height="16" border="0" width="12" 
    741             src="{$resourcesRoot}/resources/std-icalDownload-icon-small.gif" 
    742             alt="upload event" /> 
    743           <xsl:text> </xsl:text> 
    744           <xsl:copy-of select="$bwStr-SdBr-ExportCalendars"/> 
    745         </a> 
    746       </li> 
    747     </ul> 
    748   </xsl:template> 
    749  
    750   <xsl:template name="tabs"> 
    751     <xsl:variable name="navAction"> 
    752       <xsl:choose> 
    753         <xsl:when test="/bedework/page='attendees'"><xsl:value-of select="$event-attendeesForEvent"/></xsl:when> 
    754         <xsl:when test="/bedework/page='freeBusy'"><xsl:value-of select="$freeBusy-fetch"/></xsl:when> 
    755         <xsl:otherwise><xsl:value-of select="$setViewPeriod"/></xsl:otherwise> 
    756       </xsl:choose> 
    757     </xsl:variable> 
    758     <div id="bwTabs"> 
    759       <div id="bwUserInfo"> 
    760         <xsl:copy-of select="$bwStr-Tabs-LoggedInAs"/><xsl:text> </xsl:text> 
    761         <xsl:text> </xsl:text> 
    762         <strong><xsl:value-of select="/bedework/userid"/></strong> 
    763         <xsl:text> </xsl:text> 
    764         <span class="logout"><a href="{$setup}&amp;logout=true"><xsl:copy-of select="$bwStr-Tabs-Logout"/></a></span> 
    765       </div> 
    766       <ul> 
    767         <li> 
    768           <xsl:if test="/bedework/page='eventscalendar' and /bedework/periodname='Day'"> 
    769             <xsl:attribute name="class">selected</xsl:attribute> 
    770           </xsl:if> 
    771           <a href="{$setViewPeriod}&amp;viewType=dayView&amp;date={$curdate}"><xsl:copy-of select="$bwStr-Tabs-Day"/></a> 
    772         </li> 
    773         <li> 
    774           <xsl:if test="/bedework/page='eventscalendar' and /bedework/periodname='Week' or /bedework/periodname=''"> 
    775             <xsl:attribute name="class">selected</xsl:attribute> 
    776           </xsl:if> 
    777           <a href="{$setViewPeriod}&amp;viewType=weekView&amp;date={$curdate}"><xsl:copy-of select="$bwStr-Tabs-Week"/></a> 
    778         </li> 
    779         <li> 
    780           <xsl:if test="/bedework/page='eventscalendar' and /bedework/periodname='Month'"> 
    781             <xsl:attribute name="class">selected</xsl:attribute> 
    782           </xsl:if><a href="{$setViewPeriod}&amp;viewType=monthView&amp;date={$curdate}"><xsl:copy-of select="$bwStr-Tabs-Month"/></a> 
    783         </li> 
    784         <li> 
    785           <xsl:if test="/bedework/page='eventscalendar' and /bedework/periodname='Year'"> 
    786             <xsl:attribute name="class">selected</xsl:attribute> 
    787           </xsl:if><a href="{$setViewPeriod}&amp;viewType=yearView&amp;date={$curdate}"><xsl:copy-of select="$bwStr-Tabs-Year"/></a> 
    788         </li> 
    789         <li> 
    790           <xsl:if test="/bedework/page='eventList'"> 
    791             <xsl:attribute name="class">selected</xsl:attribute> 
    792           </xsl:if><a href="{$listEvents}"><xsl:copy-of select="$bwStr-Tabs-Agenda"/></a> 
    793         </li> 
    794       </ul> 
    795     </div> 
    796   </xsl:template> 
    797  
    798   <xsl:template name="navigation"> 
    799     <xsl:variable name="navAction"> 
    800       <xsl:choose> 
    801         <xsl:when test="/bedework/page='attendees'"><xsl:value-of select="$event-attendeesForEvent"/></xsl:when> 
    802         <xsl:when test="/bedework/page='freeBusy'"><xsl:value-of select="$freeBusy-fetch"/></xsl:when> 
    803         <xsl:otherwise><xsl:value-of select="$setViewPeriod"/></xsl:otherwise> 
    804       </xsl:choose> 
    805     </xsl:variable> 
    806     <table border="0" cellpadding="0" cellspacing="0" id="navigationBarTable"> 
    807       <tr> 
    808         <td class="leftCell"> 
    809           <a href="{$navAction}&amp;date={$prevdate}"><img src="{$resourcesRoot}/resources/std-arrow-left.gif" alt="previous" width="13" height="16" class="prevImg" border="0"/></a> 
    810           <a href="{$navAction}&amp;date={$nextdate}"><img src="{$resourcesRoot}/resources/std-arrow-right.gif" alt="next" width="13" height="16" class="nextImg" border="0"/></a> 
    811           <xsl:choose> 
    812             <xsl:when test="/bedework/periodname='Year'"> 
    813               <xsl:value-of select="substring(/bedework/firstday/date,1,4)"/> 
    814             </xsl:when> 
    815             <xsl:when test="/bedework/periodname='Month'"> 
    816               <xsl:value-of select="/bedework/firstday/monthname"/>, <xsl:value-of select="substring(/bedework/firstday/date,1,4)"/> 
    817             </xsl:when> 
    818             <xsl:when test="/bedework/periodname='Week'"> 
    819               <xsl:copy-of select="$bwStr-Navi-WeekOf"/><xsl:text> </xsl:text><xsl:value-of select="substring-after(/bedework/firstday/longdate,', ')"/> 
    820             </xsl:when> 
    821             <xsl:otherwise> 
    822               <xsl:value-of select="/bedework/firstday/longdate"/> 
    823             </xsl:otherwise> 
    824           </xsl:choose> 
    825         </td> 
    826         <td class="todayButton"> 
    827           <a href="{$navAction}&amp;viewType=todayView&amp;date={$curdate}"> 
    828             <img src="{$resourcesRoot}/resources/std-button-today-off.gif" width="54" height="22" border="0" alt="Go to Today" align="left"/> 
    829           </a> 
    830         </td> 
    831         <td align="right" class="gotoForm"> 
    832           <form name="calForm" method="post" action="{$navAction}"> 
    833              <table border="0" cellpadding="0" cellspacing="0"> 
    834               <tr> 
    835                 <xsl:if test="/bedework/periodname!='Year'"> 
    836                   <td> 
    837                     <select name="viewStartDate.month"> 
    838                       <xsl:for-each select="/bedework/monthvalues/val"> 
    839                         <xsl:variable name="temp" select="."/> 
    840                         <xsl:variable name="pos" select="position()"/> 
    841                         <xsl:choose> 
    842                           <xsl:when test="/bedework/monthvalues[start=$temp]"> 
    843                             <option value="{$temp}" selected="selected"> 
    844                               <xsl:value-of select="/bedework/monthlabels/val[position()=$pos]"/> 
    845                             </option> 
    846                           </xsl:when> 
    847                           <xsl:otherwise> 
    848                             <option value="{$temp}"> 
    849                               <xsl:value-of select="/bedework/monthlabels/val[position()=$pos]"/> 
    850                             </option> 
    851                           </xsl:otherwise> 
    852                         </xsl:choose> 
    853                       </xsl:for-each> 
    854                     </select> 
    855                   </td> 
    856                   <xsl:if test="/bedework/periodname!='Month'"> 
    857                     <td> 
    858                       <select name="viewStartDate.day"> 
    859                         <xsl:for-each select="/bedework/dayvalues/val"> 
    860                           <xsl:variable name="temp" select="."/> 
    861                           <xsl:variable name="pos" select="position()"/> 
    862                           <xsl:choose> 
    863                             <xsl:when test="/bedework/dayvalues[start=$temp]"> 
    864                               <option value="{$temp}" selected="selected"> 
    865                                 <xsl:value-of select="/bedework/daylabels/val[position()=$pos]"/> 
    866                               </option> 
    867                             </xsl:when> 
    868                             <xsl:otherwise> 
    869                               <option value="{$temp}"> 
    870                                 <xsl:value-of select="/bedework/daylabels/val[position()=$pos]"/> 
    871                               </option> 
    872                             </xsl:otherwise> 
    873                           </xsl:choose> 
    874                         </xsl:for-each> 
    875                       </select> 
    876                     </td> 
    877                   </xsl:if> 
    878                 </xsl:if> 
    879                 <td> 
    880                   <xsl:variable name="temp" select="/bedework/yearvalues/start"/> 
    881                   <input type="text" name="viewStartDate.year" maxlength="4" size="4" value="{$temp}"/> 
    882                 </td> 
    883                 <td> 
    884                   <input name="submit" type="submit" value="{$bwStr-Navi-Go}"/> 
    885                 </td> 
    886               </tr> 
    887             </table> 
    888           </form> 
    889         </td> 
    890       </tr> 
    891     </table> 
    892   </xsl:template> 
    893  
    894   <xsl:template name="utilBar"> 
    895     <table width="100%" border="0" cellpadding="0" cellspacing="0" id="utilBarTable"> 
    896        <tr> 
    897          <td class="leftCell"> 
    898            <xsl:if test="/bedework/page != 'addEvent' or /bedework/page='editEvent'"> 
    899              <input type="button" value="{$bwStr-Util-Add}" id="bwAddButton"/> 
    900              <xsl:call-template name="actionIcons"> 
    901                <xsl:with-param name="actionIconsId">bwActionIcons-0</xsl:with-param> 
    902                <xsl:with-param name="startDate"> 
    903                  <xsl:choose> 
    904                    <xsl:when test="/bedework/periodname = 'Day'"><xsl:value-of select="/bedework/firstday/date"/></xsl:when> 
    905                    <xsl:otherwise><xsl:value-of select="/bedework/now/date"/></xsl:otherwise> 
    906                  </xsl:choose> 
    907                </xsl:with-param> 
    908              </xsl:call-template> 
    909            </xsl:if> 
    910          </td> 
    911          <td class="rightCell"> 
    912  
    913            <!-- search --> 
    914            <xsl:if test="/bedework/page!='searchResult'"> 
    915              <form name="searchForm" method="post" action="{$search}"> 
    916                <xsl:copy-of select="$bwStr-Util-Search"/>: 
    917                <input type="text" name="query" size="15"> 
    918                  <xsl:attribute name="value"><xsl:value-of select="/bedework/searchResults/query"/></xsl:attribute> 
    919                </input> 
    920                <input type="submit" name="submit" value="{$bwStr-Util-Go}"/> 
    921              </form> 
    922            </xsl:if> 
    923  
    924            <!-- show free / busy --> 
    925            <xsl:choose> 
    926              <xsl:when test="/bedework/periodname!='Year'"> 
    927                <xsl:choose> 
    928                  <xsl:when test="/bedework/page='freeBusy'"> 
    929                    <a class="utilButton" href="{$setViewPeriod}&amp;date={$curdate}" title="{$bwStr-Util-ShowEvents}"> 
    930                      <xsl:copy-of select="$bwStr-Util-Events"/> 
    931                    </a> 
    932                  </xsl:when> 
    933                  <xsl:otherwise> 
    934                    <a class="utilButton" href="{$freeBusy-fetch}&amp;date={$curdate}" title="{$bwStr-Util-ShowFreebusy}"> 
    935                      <xsl:copy-of select="$bwStr-Util-Freebusy"/> 
    936                    </a> 
    937                  </xsl:otherwise> 
    938                </xsl:choose> 
    939              </xsl:when> 
    940              <xsl:otherwise> 
    941                <span class="utilButtonOff"><xsl:copy-of select="$bwStr-Util-Freebusy"/></span> 
    942              </xsl:otherwise> 
    943            </xsl:choose> 
    944  
    945            <!-- toggle list / calendar view --> 
    946            <xsl:choose> 
    947              <xsl:when test="/bedework/periodname='Day' or /bedework/page='eventList'"> 
    948                <span class="utilButtonOff"><xsl:copy-of select="$bwStr-Util-List"/></span> 
    949              </xsl:when> 
    950              <xsl:when test="/bedework/periodname='Year'"> 
    951                <span class="utilButtonOff"><xsl:copy-of select="$bwStr-Util-Cal"/></span> 
    952              </xsl:when> 
    953              <xsl:when test="/bedework/periodname='Month'"> 
    954                <xsl:choose> 
    955                  <xsl:when test="/bedework/appvar[key='monthViewMode']/value='list'"> 
    956                    <a class="utilButton" href="{$setup}&amp;setappvar=monthViewMode(cal)" title="{$bwStr-Util-ToggleListCalView}"> 
    957                      <xsl:copy-of select="$bwStr-Util-Cal"/> 
    958                    </a> 
    959                  </xsl:when> 
    960                  <xsl:otherwise> 
    961                    <a class="utilButton" href="{$setup}&amp;setappvar=monthViewMode(list)" title="{$bwStr-Util-ToggleListCalView}"> 
    962                      <xsl:copy-of select="$bwStr-Util-List"/> 
    963                    </a> 
    964                  </xsl:otherwise> 
    965                </xsl:choose> 
    966              </xsl:when> 
    967              <xsl:otherwise> 
    968                <xsl:choose> 
    969                  <xsl:when test="/bedework/appvar[key='weekViewMode']/value='list'"> 
    970                    <a class="utilButton" href="{$setup}&amp;setappvar=weekViewMode(cal)" title="{$bwStr-Util-ToggleListCalView}"> 
    971                      <xsl:copy-of select="$bwStr-Util-Cal"/> 
    972                    </a> 
    973                  </xsl:when> 
    974                  <xsl:otherwise> 
    975                    <a class="utilButton" href="{$setup}&amp;setappvar=weekViewMode(list)" title="{$bwStr-Util-ToggleListCalView}"> 
    976                      <xsl:copy-of select="$bwStr-Util-List"/> 
    977                    </a> 
    978                  </xsl:otherwise> 
    979                </xsl:choose> 
    980              </xsl:otherwise> 
    981            </xsl:choose> 
    982  
    983            <!-- summary / detailed mode toggle --> 
    984            <xsl:choose> 
    985               <xsl:when test="/bedework/page = 'eventList'"> 
    986                 <xsl:choose> 
    987                   <xsl:when test="/bedework/appvar[key='listEventsSummaryMode']/value='details'"> 
    988                     <a class="utilButton" href="{$listEvents}&amp;setappvar=listEventsSummaryMode(summary)" title="{$bwStr-Util-ToggleSummDetView}"> 
    989                       <xsl:copy-of select="$bwStr-Util-Summary"/> 
    990                     </a> 
    991                   </xsl:when> 
    992                   <xsl:otherwise> 
    993                     <a class="utilButton" href="{$listEvents}&amp;setappvar=listEventsSummaryMode(details)" title="{$bwStr-Util-ToggleSummDetView}"> 
    994                       <xsl:copy-of select="$bwStr-Util-Details"/> 
    995                     </a> 
    996                   </xsl:otherwise> 
    997                 </xsl:choose> 
    998               </xsl:when> 
    999               <xsl:when test="/bedework/periodname='Year' or 
    1000                               (/bedework/periodname='Month' and 
    1001                               (/bedework/appvar[key='monthViewMode']/value='cal' or 
    1002                                not(/bedework/appvar[key='monthViewMode']))) or 
    1003                               (/bedework/periodname='Week' and 
    1004                               (/bedework/appvar[key='weekViewMode']/value='cal' or 
    1005                                not(/bedework/appvar[key='weekViewMode'])))"> 
    1006                 <xsl:choose> 
    1007                   <xsl:when test="/bedework/appvar[key='summaryMode']/value='details'"> 
    1008                     <span class="utilButtonOff"><xsl:copy-of select="$bwStr-Util-Summary"/></span> 
    1009                   </xsl:when> 
    1010                   <xsl:otherwise> 
    1011                     <span class="utilButtonOff"><xsl:copy-of select="$bwStr-Util-Details"/></span> 
    1012                   </xsl:otherwise> 
    1013                 </xsl:choose> 
    1014               </xsl:when> 
    1015               <xsl:otherwise> 
    1016                 <xsl:choose> 
    1017                   <xsl:when test="/bedework/appvar[key='summaryMode']/value='details'"> 
    1018                     <a class="utilButton" href="{$setup}&amp;setappvar=summaryMode(summary)" title="{$bwStr-Util-ToggleSummDetView}"> 
    1019                       <xsl:copy-of select="$bwStr-Util-Summary"/> 
    1020                     </a> 
    1021                   </xsl:when> 
    1022                   <xsl:otherwise> 
    1023                     <a class="utilButton" href="{$setup}&amp;setappvar=summaryMode(details)" title="{$bwStr-Util-ToggleSummDetView}"> 
    1024                       <xsl:copy-of select="$bwStr-Util-Details"/> 
    1025                     </a> 
    1026                   </xsl:otherwise> 
    1027                 </xsl:choose> 
    1028               </xsl:otherwise> 
    1029             </xsl:choose> 
    1030  
    1031            <!-- refresh button --> 
    1032            <!-- deprecate? --> 
    1033            <!-- <a href="{$setup}"><img src="{$resourcesRoot}/resources/std-button-refresh.gif" width="70" height="21" border="0" alt="refresh view"/></a> --> 
    1034          </td> 
    1035        </tr> 
    1036     </table> 
    1037   </xsl:template> 
    1038  
    1039   <xsl:template name="actionIcons"> 
    1040     <xsl:param name="startDate"/> 
    1041     <xsl:param name="startTime"/> 
    1042     <xsl:param name="actionIconsId"/> 
    1043     <xsl:variable name="dateTime"> 
    1044       <xsl:choose> 
    1045         <xsl:when test="$startTime != ''"><xsl:value-of select="$startDate"/>T<xsl:value-of select="$startTime"/></xsl:when> 
    1046         <xsl:otherwise><xsl:value-of select="$startDate"/></xsl:otherwise> 
    1047       </xsl:choose> 
    1048     </xsl:variable> 
    1049     <br/> 
    1050     <div id="{$actionIconsId}" class="bwActionIcons"> 
    1051        <a href="{$initEvent}&amp;entityType=event&amp;startdate={$dateTime}" title="{$bwStr-Actn-AddEvent}" onclick="javascript:changeClass('{$actionIconsId}','invisible')"> 
    1052           <img src="{$resourcesRoot}/resources/add2mycal-icon-small.gif" width="12" height="16" border="0" alt="add event"/> 
    1053           <xsl:text> </xsl:text> 
    1054           <xsl:copy-of select="$bwStr-Actn-AddEvent"/> 
    1055        </a> 
    1056        <a href="{$event-initMeeting}&amp;entityType=event&amp;schedule=request&amp;startdate={$dateTime}" title="schedule a meeting" onclick="javascript:changeClass('{$actionIconsId}','invisible')"> 
    1057           <img src="{$resourcesRoot}/resources/std-icalMeeting-icon-small.gif" width="12" height="16" border="0" alt="schedule meeting"/> 
    1058           <xsl:text> </xsl:text> 
    1059           <xsl:copy-of select="$bwStr-Actn-ScheduleMeeting"/> 
    1060        </a> 
    1061        <a href="{$initEvent}&amp;entityType=task&amp;startdate={$dateTime}" title="{$bwStr-Actn-AddTask}" onclick="javascript:changeClass('{$actionIconsId}','invisible')"> 
    1062           <img src="{$resourcesRoot}/resources/std-icalTask-icon-small.gif" width="12" height="16" border="0" alt="add task"/> 
    1063           <xsl:text> </xsl:text> 
    1064           <xsl:copy-of select="$bwStr-Actn-AddTask"/> 
    1065        </a> 
    1066        <a href="{$event-initMeeting}&amp;entityType=task&amp;schedule=request&amp;startdate={$dateTime}" title="{$bwStr-Actn-ScheduleTask}" onclick="javascript:changeClass('{$actionIconsId}','invisible')"> 
    1067           <img src="{$resourcesRoot}/resources/std-icalSchTask-icon-small.gif" width="12" height="16" border="0" alt="schedule task"/> 
    1068           <xsl:text> </xsl:text> 
    1069           <xsl:copy-of select="$bwStr-Actn-ScheduleTask"/> 
    1070        </a> 
    1071        <a href="{$initUpload}" title="{$bwStr-Actn-UploadEvent}" onclick="javascript:changeClass('{$actionIconsId}','invisible')"> 
    1072           <img src="{$resourcesRoot}/resources/std-icalUpload-icon-small.gif" width="12" height="16" border="0" alt="upload event"/> 
    1073           <xsl:text> </xsl:text> 
    1074           <xsl:copy-of select="$bwStr-Actn-Upload"/> 
    1075        </a> 
    1076      </div> 
    1077   </xsl:template> 
    1078  
    1079   <!--==== LIST VIEW  (for day, week, and month) ====--> 
    1080   <xsl:template name="listView"> 
    1081     <table id="listTable" border="0" cellpadding="0" cellspacing="0"> 
    1082       <xsl:choose> 
    1083         <xsl:when test="not(/bedework/eventscalendar/year/month/week/day/event[not(entityType=2)])"> 
    1084           <tr> 
    1085             <td class="noEventsCell"> 
    1086               <xsl:copy-of select="$bwStr-LsVw-NoEventsToDisplay"/> 
    1087             </td> 
    1088           </tr> 
    1089         </xsl:when> 
    1090         <xsl:otherwise> 
    1091           <xsl:for-each select="/bedework/eventscalendar/year/month/week/day[event[not(entityType=2)]]"> 
    1092           <!-- tasks (entityType=2) are displayed below the normal event listings.  Reminders (tasks without 
    1093                start or end dates) can also be represented as: 
    1094                entityType=2 and start/noStart='true' and end/type='N'; we skip them within grid and list views --> 
    1095             <xsl:if test="/bedework/periodname='Week' or /bedework/periodname='Month' or /bedework/periodname=''"> 
    1096               <tr> 
    1097                 <td colspan="6" class="dateRow"> 
    1098                    <xsl:variable name="date" select="date"/> 
    1099                    <xsl:variable name="actionIconsId">bwActionIcons-<xsl:value-of select="value"/></xsl:variable> 
    1100                    <div class="listAdd"> 
    1101                      <span class="listAddButton"> 
    1102                        <xsl:copy-of select="$bwStr-LsVw-Add"/> 
    1103                      </span> 
    1104                      <xsl:call-template name="actionIcons"> 
    1105                        <xsl:with-param name="actionIconsId"><xsl:value-of select="$actionIconsId"/></xsl:with-param> 
    1106                        <xsl:with-param name="startDate"><xsl:value-of select="$date"/></xsl:with-param> 
    1107                        <xsl:with-param name="startTime"><xsl:value-of select="/bedework/now/twodigithour24"/>0000</xsl:with-param> 
    1108                      </xsl:call-template> 
    1109                    </div> 
    1110                    <a href="{$setViewPeriod}&amp;viewType=dayView&amp;date={$date}"> 
    1111                      <xsl:value-of select="name"/>, <xsl:value-of select="longdate"/> 
    1112                    </a> 
    1113                  </td> 
    1114               </tr> 
    1115             </xsl:if> 
    1116             <xsl:for-each select="event[not(entityType=2)]"> 
    1117               <xsl:variable name="id" select="id"/> 
    1118               <xsl:variable name="calPath" select="calendar/encodedPath"/> 
    1119               <xsl:variable name="guid"><xsl:call-template name="url-encode"><xsl:with-param name="str" select="guid"/></xsl:call-template></xsl:variable> 
    1120               <xsl:variable name="recurrenceId" select="recurrenceId"/> 
    1121               <tr> 
    1122                 <xsl:variable name="dateRangeStyle"> 
    1123                   <xsl:choose> 
    1124                     <xsl:when test="start/shortdate = parent::day/shortdate"> 
    1125                       <xsl:choose> 
    1126                         <xsl:when test="start/allday = 'true'">dateRangeCrossDay</xsl:when> 
    1127                         <xsl:when test="start/hour24 &lt; 6">dateRangeEarlyMorning</xsl:when> 
    1128                         <xsl:when test="start/hour24 &lt; 12">dateRangeMorning</xsl:when> 
    1129                         <xsl:when test="start/hour24 &lt; 18">dateRangeAfternoon</xsl:when> 
    1130                         <xsl:otherwise>dateRangeEvening</xsl:otherwise> 
    1131                       </xsl:choose> 
    1132                     </xsl:when> 
    1133                     <xsl:otherwise>dateRangeCrossDay</xsl:otherwise> 
    1134                   </xsl:choose> 
    1135                 </xsl:variable> 
    1136                 <xsl:choose> 
    1137                   <xsl:when test="start/allday = 'true' and 
    1138                                   start/shortdate = end/shortdate"> 
    1139                     <td class="{$dateRangeStyle} center" colspan="3"> 
    1140                       <xsl:copy-of select="$bwStr-LsVw-AllDay"/> 
    1141                     </td> 
    1142                   </xsl:when> 
    1143                   <xsl:when test="start/shortdate = end/shortdate and 
    1144                                   start/time = end/time"> 
    1145                     <td class="{$dateRangeStyle} center" colspan="3"> 
    1146                       <a href="{$eventView}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}"> 
    1147                         <xsl:value-of select="start/time"/> 
    1148                       </a> 
    1149                     </td> 
    1150                   </xsl:when> 
    1151                   <xsl:otherwise> 
    1152                     <td class="{$dateRangeStyle} right"> 
    1153                       <a href="{$eventView}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}"> 
    1154                       <xsl:choose> 
    1155                         <xsl:when test="start/allday = 'true' and 
    1156                                         parent::day/shortdate = start/shortdate"> 
    1157                           <xsl:copy-of select="$bwStr-LsVw-Today"/> 
    1158                         </xsl:when> 
    1159                         <xsl:when test="parent::day/shortdate != start/shortdate"> 
    1160                           <span class="littleArrow">&#171;</span>&#160; 
    1161                           <xsl:value-of select="start/month"/>/<xsl:value-of select="start/day"/> 
    1162                         </xsl:when> 
    1163                         <xsl:otherwise> 
    1164                           <xsl:value-of select="start/time"/> 
    1165                         </xsl:otherwise> 
    1166                       </xsl:choose> 
    1167                       </a> 
    1168                     </td> 
    1169                     <td class="{$dateRangeStyle} center"> 
    1170                       <a href="{$eventView}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}">-</a> 
    1171                     </td> 
    1172                     <td class="{$dateRangeStyle} left"> 
    1173                       <a href="{$eventView}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}"> 
    1174                       <xsl:choose> 
    1175                         <xsl:when test="end/allday = 'true' and 
    1176                                         parent::day/shortdate = end/shortdate"> 
    1177                           <xsl:copy-of select="$bwStr-LsVw-Today"/> 
    1178                         </xsl:when> 
    1179                         <xsl:when test="parent::day/shortdate != end/shortdate"> 
    1180                           <xsl:value-of select="end/month"/>/<xsl:value-of select="end/day"/> 
    1181                           &#160;<span class="littleArrow">&#187;</span> 
    1182                         </xsl:when> 
    1183                         <xsl:otherwise> 
    1184                           <xsl:value-of select="end/time"/> 
    1185                         </xsl:otherwise> 
    1186                       </xsl:choose> 
    1187                       </a> 
    1188                     </td> 
    1189                   </xsl:otherwise> 
    1190                 </xsl:choose> 
    1191                 <xsl:variable name="descriptionClass"> 
    1192                   <xsl:choose> 
    1193                     <xsl:when test="status='CANCELLED'">description bwStatusCancelled</xsl:when> 
    1194                     <xsl:when test="status='TENTATIVE'">description bwStatusTentative</xsl:when> 
    1195                     <xsl:otherwise><xsl:copy-of select="$bwStr-LsVw-Description"/></xsl:otherwise> 
    1196                   </xsl:choose> 
    1197                 </xsl:variable> 
    1198                 <xsl:variable name="subStyle" select="subscription/subStyle"/> 
    1199                 <td class="{$descriptionClass} {$subStyle}"> 
    1200                   <xsl:if test="status='CANCELLED'"><strong><xsl:copy-of select="$bwStr-LsVw-Canceled"/><xsl:text> </xsl:text></strong></xsl:if> 
    1201                   <xsl:choose> 
    1202                     <xsl:when test="/bedework/appvar[key='summaryMode']/value='details'"> 
    1203                       <a href="{$eventView}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}"> 
    1204                         <xsl:choose> 
    1205                           <xsl:when test="summary = ''"> 
    1206                             <em><xsl:copy-of select="$bwStr-LsVw-NoTitle"/></em> 
    1207                           </xsl:when> 
    1208                           <xsl:otherwise> 
    1209                             <strong> 
    1210                               <xsl:value-of select="summary"/>: 
    1211                             </strong> 
    1212                           </xsl:otherwise> 
    1213                         </xsl:choose> 
    1214                         <xsl:value-of select="description"/>&#160; 
    1215                         <em> 
    1216                           <xsl:value-of select="location/address"/> 
    1217                           <xsl:if test="location/subaddress != ''"> 
    1218                             , <xsl:value-of select="location/subaddress"/> 
    1219                           </xsl:if>.&#160; 
    1220                           <xsl:if test="cost!=''"> 
    1221                             <xsl:value-of select="cost"/>.&#160; 
    1222                           </xsl:if> 
    1223                           <xsl:if test="sponsor/name!='none'"> 
    1224                             <xsl:copy-of select="$bwStr-LsVw-Contact"/><xsl:text> </xsl:text><xsl:value-of select="sponsor/name"/> 
    1225                           </xsl:if> 
    1226                         </em> 
    1227                       </a> 
    1228                       <xsl:if test="link != ''"> 
    1229                         <xsl:variable name="link" select="link"/> 
    1230                         <a href="{$link}" class="moreLink"><xsl:value-of select="link"/></a> 
    1231                       </xsl:if> 
    1232                     </xsl:when> 
    1233                     <xsl:otherwise> 
    1234                       <a href="{$eventView}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}"> 
    1235                         <xsl:choose> 
    1236                           <xsl:when test="summary = ''"> 
    1237                             <em><xsl:copy-of select="$bwStr-LsVw-NoTitle"/></em> 
    1238                           </xsl:when> 
    1239                           <xsl:otherwise> 
    1240                             <xsl:value-of select="summary"/> 
    1241                           </xsl:otherwise> 
    1242                         </xsl:choose> 
    1243                         <xsl:if test="location/address != ''">, <xsl:value-of select="location/address"/></xsl:if> 
    1244                       </a> 
    1245                     </xsl:otherwise> 
    1246                   </xsl:choose> 
    1247                 </td> 
    1248                 <td class="eventLinks"> 
    1249                   <xsl:call-template name="eventLinks"/> 
    1250                 </td> 
    1251                 <td class="smallIcon"> 
    1252                   <xsl:variable name="eventIcalName" select="concat($guid,'.ics')"/> 
    1253                   <a href="{$export}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}&amp;nocache=no&amp;contentName={$eventIcalName}" title="{$bwStr-LsVw-DownloadEvent}"> 
    1254                     <img src="{$resourcesRoot}/resources/std-ical_icon_small.gif" width="12" height="16" border="0" alt="{$bwStr-LsVw-DownloadEvent}"/> 
    1255                   </a> 
    1256                 </td> 
    1257               </tr> 
    1258             </xsl:for-each> 
    1259           </xsl:for-each> 
    1260         </xsl:otherwise> 
    1261       </xsl:choose> 
    1262     </table> 
    1263     <xsl:call-template name="tasks"/> 
    1264   </xsl:template> 
    1265  
    1266   <xsl:template name="eventLinks"> 
    1267     <xsl:variable name="calPath" select="calendar/encodedPath"/> 
    1268     <xsl:variable name="guid"><xsl:call-template name="url-encode"><xsl:with-param name="str" select="guid"/></xsl:call-template></xsl:variable> 
    1269     <xsl:variable name="recurrenceId" select="recurrenceId"/> 
    1270     <xsl:if test="currentAccess/current-user-privilege-set/privilege/write-content"> 
    1271       <xsl:choose> 
    1272         <xsl:when test="recurring='true' or recurrenceId != ''"> 
    1273           <xsl:copy-of select="$bwStr-EvLn-EditColon"/><xsl:text> </xsl:text> 
    1274           <a href="{$editEvent}&amp;calPath={$calPath}&amp;guid={$guid}" title="{$bwStr-EvLn-EditMaster}"><xsl:copy-of select="$bwStr-EvLn-All"/></a> 
    1275           <a href="{$editEvent}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}" title="{$bwStr-EvLn-EditInstance}"><xsl:copy-of select="$bwStr-EvLn-Instance"/></a> 
    1276           <br/> 
    1277         </xsl:when> 
    1278         <xsl:otherwise> 
    1279           <a href="{$editEvent}&amp;calPath={$calPath}&amp;guid={$guid}" title="{$bwStr-EvLn-EditEvent}"> 
    1280             <xsl:copy-of select="$bwStr-EvLn-Edit"/> 
    1281           </a> 
    1282         </xsl:otherwise> 
    1283       </xsl:choose> 
    1284     </xsl:if> 
    1285     <xsl:if test="not(currentAccess/current-user-privilege-set/privilege/write-content) and not(recurring='true' or recurrenceId != '')"> 
    1286       <!-- temporarily hide from Recurring events --> 
    1287       <a href="{$addEventRef}&amp;calPath={$calPath}&amp;guid={$guid}" title="{$bwStr-EvLn-AddEventReference}"> 
    1288         <xsl:copy-of select="$bwStr-EvLn-Link"/> 
    1289       </a> 
    1290       <xsl:text> </xsl:text> 
    1291     </xsl:if> 
    1292     <xsl:if test="currentAccess/current-user-privilege-set/privilege/unbind"> 
    1293       <xsl:choose> 
    1294         <xsl:when test="recurring='true' or recurrenceId != ''"> 
    1295           <xsl:copy-of select="$bwStr-EvLn-DeleteColon"/><xsl:text> </xsl:text> 
    1296           <a href="{$delEvent}&amp;calPath={$calPath}&amp;guid={$guid}" title="{$bwStr-EvLn-DeleteMaster}" onclick="return confirm('{$bwStr-EvLn-DeleteAllRecurrences}');"><xsl:copy-of select="$bwStr-EvLn-All"/></a> 
    1297           <a href="{$delEvent}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}" title="{$bwStr-EvLn-DeleteInstance}" onclick="return confirm('{$bwStr-EvLn-DeleteThisEvent}');"><xsl:copy-of select="$bwStr-EvLn-Instance"/></a> 
    1298         </xsl:when> 
    1299         <xsl:otherwise> 
    1300           <a href="{$delEvent}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}" title="{$bwStr-EvLn-DeleteEvent}" onclick="return confirm('{$bwStr-EvLn-DeleteThisEvent}');"> 
    1301             <xsl:copy-of select="$bwStr-EvLn-Delete"/> 
    1302           </a> 
    1303         </xsl:otherwise> 
    1304       </xsl:choose> 
    1305     </xsl:if> 
    1306   </xsl:template> 
    1307  
    1308   <!--==== LIST EVENTS - for listing discrete events ====--> 
    1309   <xsl:template match="events" mode="eventList"> 
    1310     <h2 class="bwStatusConfirmed"> 
    1311       <xsl:copy-of select="$bwStr-LsEv-Next7Days"/> 
    1312       <!-- xsl:choose> 
    1313         <xsl:when test="/bedework/now/longdate = /bedework/events/event[position()=last()]/start/longdate"><xsl:value-of select="/bedework/now/longdate"/></xsl:when> 
    1314         <xsl:otherwise><xsl:value-of select="/bedework/now/longdate"/> - <xsl:value-of select="/bedework/events/event[position()=last()]/start/longdate"/></xsl:otherwise> 
    1315       </xsl:choose--> 
    1316     </h2> 
    1317  
    1318     <div id="listEvents"> 
    1319       <ul> 
    1320         <xsl:choose> 
    1321           <xsl:when test="not(event)"> 
    1322             <li><xsl:copy-of select="$bwStr-LsEv-NoEventsToDisplay"/></li> 
    1323           </xsl:when> 
    1324           <xsl:otherwise> 
    1325             <xsl:for-each select="event"> 
    1326               <xsl:variable name="id" select="id"/> 
    1327               <xsl:variable name="calPath" select="calendar/encodedPath"/> 
    1328               <xsl:variable name="guid" select="guid"/> 
    1329               <xsl:variable name="recurrenceId" select="recurrenceId"/> 
    1330               <li> 
    1331                 <xsl:attribute name="class"> 
    1332                   <xsl:choose> 
    1333                     <xsl:when test="status='CANCELLED'">bwStatusCancelled</xsl:when> 
    1334                     <xsl:when test="status='TENTATIVE'">bwStatusTentative</xsl:when> 
    1335                     <xsl:when test="position() mod 2 = 0">even</xsl:when> 
    1336                     <xsl:otherwise>odd</xsl:otherwise> 
    1337                   </xsl:choose> 
    1338                 </xsl:attribute> 
    1339  
    1340                 <xsl:if test="status='CANCELLED'"><strong><xsl:copy-of select="$bwStr-LsEv-Canceled"/><xsl:text> </xsl:text></strong></xsl:if> 
    1341                 <xsl:if test="status='TENTATIVE'"><em><xsl:copy-of select="$bwStr-LsEv-Tentative"/><xsl:text> </xsl:text></em></xsl:if> 
    1342  
    1343                 <a class="title" href="{$eventView}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}"> 
    1344                   <xsl:value-of select="summary"/> 
    1345                 </a><xsl:if test="location/address != ''">, <xsl:value-of select="location/address"/></xsl:if> 
    1346                 <xsl:if test="/bedework/appvar[key='listEventsSummaryMode']/value='details'"> 
    1347                   <xsl:if test="location/subaddress != ''"> 
    1348                     , <xsl:value-of select="location/subaddress"/> 
    1349                   </xsl:if> 
    1350                 </xsl:if> 
    1351  
    1352                 <xsl:text> </xsl:text> 
    1353                 <xsl:variable name="eventIcalName" select="concat($id,'.ics')"/> 
    1354                 <a href="{$export}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}&amp;nocache=no&amp;contentName={$eventIcalName}" title="{$bwStr-LsEv-DownloadEvent}"> 
    1355                   <img src="{$resourcesRoot}/resources/std-ical_icon_small.gif" width="12" height="16" border="0" alt="{$bwStr-LsEv-DownloadEvent}"/> 
    1356                 </a> 
    1357  
    1358                 <br/> 
    1359  
    1360                 <xsl:value-of select="substring(start/dayname,1,3)"/>, 
    1361                 <xsl:value-of select="start/longdate"/> 
    1362                 <xsl:text> </xsl:text> 
    1363                 <xsl:if test="start/allday != 'true'"> 
    1364                   <xsl:value-of select="start/time"/> 
    1365                 </xsl:if> 
    1366                 <xsl:choose> 
    1367                   <xsl:when test="start/shortdate != end/shortdate"> 
    1368                     - 
    1369                     <xsl:value-of select="substring(end/dayname,1,3)"/>, 
    1370                     <xsl:value-of select="end/longdate"/> 
    1371                     <xsl:text> </xsl:text> 
    1372                     <xsl:if test="start/allday != 'true'"> 
    1373                       <xsl:value-of select="end/time"/> 
    1374                     </xsl:if> 
    1375                   </xsl:when> 
    1376                   <xsl:otherwise> 
    1377                     <xsl:if test="start/time != end/time"> 
    1378                       - 
    1379                       <xsl:value-of select="end/time"/> 
    1380                     </xsl:if> 
    1381                   </xsl:otherwise> 
    1382                 </xsl:choose> 
    1383  
    1384                 <xsl:if test="/bedework/appvar[key='listEventsSummaryMode']/value='details'"> 
    1385                   <br/> 
    1386                   <xsl:value-of select="description"/> 
    1387                   <xsl:if test="link != ''"> 
    1388                     <br/> 
    1389                     <xsl:variable name="link" select="link"/> 
    1390                     <a href="{$link}" class="moreLink"><xsl:value-of select="link"/></a> 
    1391                   </xsl:if> 
    1392                   <xsl:if test="categories/category"> 
    1393                     <br/> 
    1394                     <xsl:copy-of select="$bwStr-LsEv-Categories"/><xsl:text> </xsl:text> 
    1395                     <xsl:for-each select="categories/category"> 
    1396                       <xsl:value-of select="value"/><xsl:if test="position() != last()">, </xsl:if> 
    1397                     </xsl:for-each> 
    1398                   </xsl:if> 
    1399                   <br/> 
    1400                   <xsl:if test="cost!=''"> 
    1401                     <span class="cost"> 
    1402                       <xsl:value-of select="cost"/> 
    1403                       <xsl:text> </xsl:text> 
    1404                     </span> 
    1405                   </xsl:if> 
    1406                   <xsl:if test="contact/name!='none'"> 
    1407                     <span class="contact"> 
    1408                       <xsl:copy-of select="$bwStr-LsEv-Contact"/> 
    1409                       <xsl:text> </xsl:text> 
    1410                       <xsl:value-of select="contact/name"/> 
    1411                     </span> 
    1412                   </xsl:if> 
    1413                 </xsl:if> 
    1414  
    1415               </li> 
    1416             </xsl:for-each> 
    1417           </xsl:otherwise> 
    1418         </xsl:choose> 
    1419       </ul> 
    1420     </div> 
    1421   </xsl:template> 
    1422  
    1423   <!--==== WEEK CALENDAR VIEW ====--> 
    1424   <xsl:template name="weekView"> 
    1425     <table id="monthCalendarTable" border="0" cellpadding="0" cellspacing="0"> 
    1426       <tr> 
    1427         <xsl:for-each select="/bedework/daynames/val"> 
    1428           <th class="dayHeading"><xsl:value-of select="."/></th> 
    1429         </xsl:for-each> 
    1430       </tr> 
    1431       <tr> 
    1432         <xsl:for-each select="/bedework/eventscalendar/year/month/week/day"> 
    1433           <xsl:variable name="dayPos" select="position()"/> 
    1434           <xsl:if test="filler='false'"> 
    1435             <td class="bwActiveDay"> 
    1436               <xsl:if test="/bedework/now/date = date"> 
    1437                 <xsl:attribute name="class">today bwActiveDay</xsl:attribute> 
    1438               </xsl:if> 
    1439               <xsl:variable name="dayDate" select="date"/> 
    1440               <xsl:variable name="actionIconsId">bwActionIcons-<xsl:value-of select="value"/></xsl:variable> 
    1441               <a href="{$setViewPeriod}&amp;viewType=dayView&amp;date={$dayDate}" class="dayLink" title="{$bwStr-LsEv-GoToDay}"> 
    1442                 <xsl:value-of select="value"/> 
    1443               </a> 
    1444               <div class="gridAdd"> 
    1445                 <!-- a href="javascript:toggleActionIcons('{$actionIconsId}','bwActionIcons bwActionIconsInGrid')" title="add..."> 
    1446                   <img src="{$resourcesRoot}/resources/addEvent-forGrid-icon.gif" width="10" height="10" border="0" alt="add..."/> 
    1447                 </a--> 
    1448                 <xsl:call-template name="actionIcons"> 
    1449                   <xsl:with-param name="actionIconsId"><xsl:value-of select="$actionIconsId"/></xsl:with-param> 
    1450                   <xsl:with-param name="startDate"><xsl:value-of select="$dayDate"/></xsl:with-param> 
    1451                   <xsl:with-param name="startTime"><xsl:value-of select="/bedework/now/twodigithour24"/>0000</xsl:with-param> 
    1452                 </xsl:call-template> 
    1453               </div> 
    1454               <xsl:if test="event"> 
    1455                 <ul> 
    1456                   <xsl:apply-templates select="event[not(entityType=2)]" mode="calendarLayout"> 
    1457                     <xsl:with-param name="dayPos" select="$dayPos"/> 
    1458                   </xsl:apply-templates> 
    1459                 </ul> 
    1460               </xsl:if> 
    1461             </td> 
    1462           </xsl:if> 
    1463         </xsl:for-each> 
    1464       </tr> 
    1465     </table> 
    1466     <xsl:call-template name="tasks"/> 
    1467   </xsl:template> 
    1468  
    1469   <!--==== MONTH CALENDAR VIEW ====--> 
    1470   <xsl:template name="monthView"> 
    1471     <table id="monthCalendarTable" border="0" cellpadding="0" cellspacing="0"> 
    1472       <tr> 
    1473         <xsl:for-each select="/bedework/daynames/val"> 
    1474           <th class="dayHeading"><xsl:value-of select="."/></th> 
    1475         </xsl:for-each> 
    1476       </tr> 
    1477       <xsl:for-each select="/bedework/eventscalendar/year/month/week"> 
    1478         <tr> 
    1479           <xsl:for-each select="day"> 
    1480             <xsl:variable name="dayPos" select="position()"/> 
    1481             <xsl:choose> 
    1482               <xsl:when test="filler='true'"> 
    1483                 <td class="filler">&#160;</td> 
    1484               </xsl:when> 
    1485               <xsl:otherwise> 
    1486                 <td class="bwActiveDay"> 
    1487                   <xsl:if test="/bedework/now/date = date"> 
    1488                     <xsl:attribute name="class">today bwActiveDay</xsl:attribute> 
    1489                   </xsl:if> 
    1490                   <xsl:variable name="dayDate" select="date"/> 
    1491                   <xsl:variable name="actionIconsId">bwActionIcons-<xsl:value-of select="value"/></xsl:variable> 
    1492                   <a href="{$setViewPeriod}&amp;viewType=dayView&amp;date={$dayDate}" class="dayLink" title="{$bwStr-LsEv-GoToDay}"> 
    1493                     <xsl:value-of select="value"/> 
    1494                   </a> 
    1495                   <div class="gridAdd"> 
    1496                     <!-- a href="javascript:toggleActionIcons('{$actionIconsId}','bwActionIcons bwActionIconsInGrid')" title="add..."> 
    1497                       <img src="{$resourcesRoot}/resources/addEvent-forGrid-icon.gif" width="10" height="10" border="0" alt="add..."/> 
    1498                     </a --> 
    1499                    <xsl:call-template name="actionIcons"> 
    1500                      <xsl:with-param name="actionIconsId"><xsl:value-of select="$actionIconsId"/></xsl:with-param> 
    1501                      <xsl:with-param name="startDate"><xsl:value-of select="$dayDate"/></xsl:with-param> 
    1502                      <xsl:with-param name="startTime"><xsl:value-of select="/bedework/now/twodigithour24"/>0000</xsl:with-param> 
    1503                    </xsl:call-template> 
    1504                   </div> 
    1505                   <xsl:if test="event"> 
    1506                     <ul> 
    1507                       <xsl:apply-templates select="event[not(entityType=2)]" mode="calendarLayout"> 
    1508                         <xsl:with-param name="dayPos" select="$dayPos"/> 
    1509                       </xsl:apply-templates> 
    1510                     </ul> 
    1511                   </xsl:if> 
    1512                 </td> 
    1513               </xsl:otherwise> 
    1514             </xsl:choose> 
    1515           </xsl:for-each> 
    1516         </tr> 
    1517       </xsl:for-each> 
    1518     </table> 
    1519     <xsl:call-template name="tasks"/> 
    1520   </xsl:template> 
    1521  
    1522   <!--== EVENTS IN THE CALENDAR GRID ==--> 
    1523   <xsl:template match="event" mode="calendarLayout"> 
    1524     <xsl:param name="dayPos"/> 
    1525     <xsl:variable name="calPath" select="calendar/encodedPath"/> 
    1526     <xsl:variable name="guid"><xsl:call-template name="url-encode"><xsl:with-param name="str" select="guid"/></xsl:call-template></xsl:variable> 
    1527     <xsl:variable name="recurrenceId" select="recurrenceId"/> 
    1528     <xsl:variable name="eventRootClass"> 
    1529       <xsl:choose> 
    1530         <!-- Otherwise: Alternating colors for all standard events --> 
    1531         <xsl:when test="position() = 1">event firstEvent</xsl:when> 
    1532         <xsl:otherwise>event</xsl:otherwise> 
    1533       </xsl:choose> 
    1534     </xsl:variable> 
    1535     <xsl:variable name="eventClass"> 
    1536       <xsl:choose> 
    1537         <!-- Special styles for the month grid --> 
    1538         <xsl:when test="status='CANCELLED'">eventCancelled</xsl:when> 
    1539         <xsl:when test="status='TENTATIVE'">eventTentative</xsl:when> 
    1540         <!-- Otherwise: Alternating colors for all standard events --> 
    1541         <xsl:when test="position() mod 2 = 1">eventLinkA</xsl:when> 
    1542         <xsl:otherwise>eventLinkB</xsl:otherwise> 
    1543       </xsl:choose> 
    1544     </xsl:variable> 
    1545     <xsl:variable name="calendarColor"> 
    1546       <xsl:choose> 
    1547         <xsl:when test="color and color != ''"><xsl:value-of select="color"/></xsl:when> 
    1548         <xsl:when test="xproperties/X-BEDEWORK-ALIAS/values/text = /bedework/myCalendars//calendar/path"><xsl:value-of select="/bedework/myCalendars//calendar[path=xproperties/X-BEDEWORK-ALIAS/values/text]/color"/></xsl:when> 
    1549         <xsl:when test="calendar/color != ''"><xsl:value-of select="calendar/color"/></xsl:when> 
    1550       </xsl:choose> 
    1551     </xsl:variable> 
    1552     <!-- Calendar colors are set in the add/modify calendar forms which, if present, 
    1553          override the background-color set by eventClass. User styles should 
    1554          not be used for canceled events (tentative is ok). --> 
    1555     <li class="event"> 
    1556       <a href="{$eventView}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}" 
    1557         class="{$eventRootClass} {$eventClass}"> 
    1558         <xsl:if test="status != 'CANCELLED' and $calendarColor != ''"> 
    1559           <xsl:attribute name="style">background-color: <xsl:value-of select="$calendarColor"/>; color: black;</xsl:attribute> 
    1560         </xsl:if> 
    1561         <xsl:if test="status='CANCELLED'"><xsl:copy-of select="$bwStr-EvCG-Canceled"/><xsl:text> </xsl:text></xsl:if> 
    1562         <xsl:choose> 
    1563           <xsl:when test="start/shortdate != ../shortdate"> 
    1564             <xsl:copy-of select="$bwStr-EvCG-Cont"/> 
    1565           </xsl:when> 
    1566           <xsl:when test="start/allday = 'false'"> 
    1567             <xsl:value-of select="start/time"/>: 
    1568           </xsl:when> 
    1569           <xsl:otherwise> 
    1570             <xsl:copy-of select="$bwStr-EvCG-AllDayColon"/><xsl:text> </xsl:text> 
    1571           </xsl:otherwise> 
    1572         </xsl:choose> 
    1573         <xsl:choose> 
    1574           <xsl:when test="summary = ''"> 
    1575             <em><xsl:copy-of select="$bwStr-EvCG-NoTitle"/><xsl:text> </xsl:text></em> 
    1576           </xsl:when> 
    1577           <xsl:otherwise> 
    1578             <xsl:value-of select="summary"/> 
    1579           </xsl:otherwise> 
    1580         </xsl:choose> 
    1581       </a> 
    1582       <div> 
    1583         <xsl:attribute name="class"> 
    1584           <xsl:choose> 
    1585             <xsl:when test="$dayPos &gt; 5">eventTip eventTipReverse</xsl:when> 
    1586             <xsl:otherwise>eventTip</xsl:otherwise> 
    1587           </xsl:choose> 
    1588         </xsl:attribute> 
    1589         <xsl:if test="status='CANCELLED'"><span class="eventTipStatusCancelled"><xsl:copy-of select="$bwStr-EvCG-Canceled"/></span></xsl:if> 
    1590         <xsl:if test="status='TENTATIVE'"><span class="eventTipStatusTentative"><xsl:copy-of select="$bwStr-EvCG-Tentative"/></span></xsl:if> 
    1591         <div class="eventTipDetails"> 
    1592           <xsl:choose> 
    1593             <xsl:when test="summary = ''"> 
    1594               <em><xsl:copy-of select="$bwStr-EvCG-NoTitle"/></em><xsl:text> </xsl:text> 
    1595             </xsl:when> 
    1596             <xsl:otherwise> 
    1597               <strong><xsl:value-of select="summary"/></strong><br/> 
    1598             </xsl:otherwise> 
    1599           </xsl:choose> 
    1600           <xsl:copy-of select="$bwStr-EvCG-Time"/><xsl:text> </xsl:text> 
    1601           <xsl:choose> 
    1602             <xsl:when test="start/allday = 'false'"> 
    1603               <xsl:value-of select="start/time"/> 
    1604               <xsl:if test="start/time != end/time"> 
    1605                 - <xsl:value-of select="end/time"/> 
    1606               </xsl:if> 
    1607             </xsl:when> 
    1608             <xsl:otherwise> 
    1609               <xsl:copy-of select="$bwStr-EvCG-AllDay"/> 
    1610             </xsl:otherwise> 
    1611           </xsl:choose><br/> 
    1612           <xsl:if test="normalize-space(location/address) != ''"> 
    1613             <xsl:copy-of select="$bwStr-EvCG-Location"/><xsl:text> </xsl:text><xsl:value-of select="location/address"/><br/> 
    1614           </xsl:if> 
    1615           <xsl:copy-of select="$bwStr-EvCG-Type"/> 
    1616           <xsl:variable name="entityType"> 
    1617             <xsl:choose> 
    1618               <xsl:when test="entityType = '2'"><xsl:copy-of select="$bwStr-EvCG-Task"/></xsl:when> 
    1619               <xsl:when test="scheduleMethod = '2'"><xsl:copy-of select="$bwStr-EvCG-Meeting"/></xsl:when> 
    1620               <xsl:otherwise><xsl:copy-of select="$bwStr-EvCG-Event"/></xsl:otherwise> 
    1621             </xsl:choose> 
    1622           </xsl:variable> 
    1623           <xsl:if test="recurring='true' or recurrenceId != ''"> 
    1624             <xsl:copy-of select="$bwStr-EvCG-Recurring"/> 
    1625           </xsl:if> 
    1626           <xsl:variable name="userStr"><xsl:value-of select="/bedework/syspars/userPrincipalRoot"/>/<xsl:value-of select="/bedework/userid"/></xsl:variable> 
    1627           <xsl:choose> 
    1628             <xsl:when test="$userStr = owner"> 
    1629               <xsl:copy-of select="$bwStr-EvCG-Personal"/><xsl:text> </xsl:text><xsl:value-of select="$entityType"/> 
    1630             </xsl:when> 
    1631             <xsl:when test="public = 'true'"> 
    1632                <xsl:copy-of select="$bwStr-EvCG-Public"/><xsl:text> </xsl:text><xsl:value-of select="$entityType"/> 
    1633             </xsl:when> 
    1634             <xsl:otherwise> 
    1635               <xsl:value-of select="$entityType"/> 
    1636             </xsl:otherwise> 
    1637           </xsl:choose><br/> 
    1638           <xsl:copy-of select="$bwStr-EvCG-Calendar"/> 
    1639           <xsl:variable name="userPath">user/<xsl:value-of select="/bedework/userid"/>/</xsl:variable> 
    1640           <xsl:choose> 
    1641             <xsl:when test="contains(calendar/path,$userPath)"> 
    1642               <xsl:value-of select="substring-after(calendar/path,$userPath)"/> 
    1643             </xsl:when> 
    1644             <xsl:otherwise> 
    1645               <xsl:value-of select="calendar/path"/> 
    1646             </xsl:otherwise> 
    1647           </xsl:choose> 
    1648         </div> 
    1649         <ul class="eventActionsInGrid"> 
    1650           <li> 
    1651            <a href="{$eventView}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}"> 
    1652              <img src="{$resourcesRoot}/resources/glassFill-icon-viewGray.gif" width="13" height="13" border="0" alt="view"/> 
    1653              <xsl:text> </xsl:text> 
    1654              <xsl:copy-of select="$bwStr-EvCG-ViewDetails"/> 
    1655            </a> 
    1656          </li> 
    1657          <li> 
    1658            <!-- download --> 
    1659            <xsl:variable name="eventIcalName" select="concat($guid,'.ics')"/> 
    1660            <xsl:choose> 
    1661              <xsl:when test="recurring='true' or recurrenceId != ''"> 
    1662                 <img src="{$resourcesRoot}/resources/std-icalDownload-icon-small.gif" width="12" height="16" border="0" alt="{$bwStr-EvCG-DownloadEvent}"/> 
    1663                 <xsl:text> </xsl:text> 
    1664                 <xsl:copy-of select="$bwStr-EvCG-Download"/><xsl:text> </xsl:text> 
    1665                 <a href="{$export}&amp;calPath={$calPath}&amp;guid={$guid}&amp;nocache=no&amp;contentName={$eventIcalName}" title="{$bwStr-EvCG-DownloadMaster}"> 
    1666                   <xsl:copy-of select="$bwStr-EvCG-All"/> 
    1667                 </a>, 
    1668                 <a href="{$export}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}&amp;nocache=no&amp;contentName={$eventIcalName}" title="{$bwStr-EvCG-DownloadThisInstance}"> 
    1669                   <xsl:copy-of select="$bwStr-EvCG-Instance"/> 
    1670                 </a> 
    1671              </xsl:when> 
    1672              <xsl:otherwise> 
    1673                <a href="{$export}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}&amp;nocache=no&amp;contentName={$eventIcalName}" title="{$bwStr-EvCG-DownloadEvent}"> 
    1674                  <img src="{$resourcesRoot}/resources/std-icalDownload-icon-small.gif" width="12" height="16" border="0" alt="{$bwStr-EvCG-DownloadEvent}"/> 
    1675                  <xsl:text> </xsl:text> 
    1676                  <xsl:copy-of select="$bwStr-EvCG-Download"/> 
    1677                </a> 
    1678              </xsl:otherwise> 
    1679            </xsl:choose> 
    1680          </li> 
    1681          <xsl:if test="currentAccess/current-user-privilege-set/privilege/write-content"> 
    1682            <li> 
    1683              <xsl:choose> 
    1684                <xsl:when test="recurring='true' or recurrenceId != ''"> 
    1685                   <img src="{$resourcesRoot}/resources/std-ical_iconEditDkGray.gif" width="12" height="16" border="0" alt="edit master"/> 
    1686                   <xsl:text> </xsl:text> 
    1687                   <xsl:copy-of select="$bwStr-EvCG-EditColon"/><xsl:text> </xsl:text> 
    1688                   <a href="{$editEvent}&amp;calPath={$calPath}&amp;guid={$guid}" title="{$bwStr-EvCG-EditMaster}"> 
    1689                     <xsl:copy-of select="$bwStr-EvCG-All"/> 
    1690                   </a>, 
    1691                   <a href="{$editEvent}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}" title="{$bwStr-EvCG-EditThisInstance}"> 
    1692                     <xsl:copy-of select="$bwStr-EvCG-Instance"/> 
    1693                   </a> 
    1694                </xsl:when> 
    1695                <xsl:otherwise> 
    1696                  <a href="{$editEvent}&amp;calPath={$calPath}&amp;guid={$guid}" title="{$bwStr-EvCG-EditEvent}"> 
    1697                    <img src="{$resourcesRoot}/resources/std-ical_iconEditDkGray.gif" width="12" height="16" border="0" alt="edit"/> 
    1698                    <xsl:text> </xsl:text> 
    1699                    <xsl:text> </xsl:text><xsl:copy-of select="$bwStr-EvCG-Edit"/> 
    1700                  </a> 
    1701                </xsl:otherwise> 
    1702              </xsl:choose> 
    1703            </li> 
    1704           </xsl:if> 
    1705           <li> 
    1706            <xsl:choose> 
    1707              <xsl:when test="recurring='true' or recurrenceId != ''"> 
    1708                 <img src="{$resourcesRoot}/resources/std-ical_iconEditDkGray.gif" width="12" height="16" border="0" alt="edit master"/> 
    1709                 <xsl:text> </xsl:text> 
    1710                 <xsl:copy-of select="$bwStr-EvCG-CopyColon"/><xsl:text> </xsl:text> 
    1711                 <a href="{$editEvent}&amp;calPath={$calPath}&amp;guid={$guid}&amp;copy=true" title="{$bwStr-EvCG-CopyMaster}"> 
    1712                   <xsl:copy-of select="$bwStr-EvCG-All"/> 
    1713                 </a>, 
    1714                 <a href="{$editEvent}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}&amp;copy=true" title="{$bwStr-EvCG-CopyThisInstance}"> 
    1715                   <xsl:copy-of select="$bwStr-EvCG-Instance"/> 
    1716                 </a> 
    1717              </xsl:when> 
    1718              <xsl:otherwise> 
    1719                <a href="{$editEvent}&amp;calPath={$calPath}&amp;guid={$guid}&amp;copy=true" title="{$bwStr-EvCG-CopyEvent}"> 
    1720                  <img src="{$resourcesRoot}/resources/std-ical_iconEditDkGray.gif" width="12" height="16" border="0" alt="edit"/> 
    1721                  <xsl:text> </xsl:text><xsl:copy-of select="$bwStr-EvCG-Copy"/> 
    1722                </a> 
    1723              </xsl:otherwise> 
    1724            </xsl:choose> 
    1725           </li> 
    1726  
    1727           <xsl:if test="not(currentAccess/current-user-privilege-set/privilege/write-content) and not(recurring='true' or recurrenceId != '')"> 
    1728             <li> 
    1729              <!-- temporarily hide from Recurring events --> 
    1730              <xsl:choose> 
    1731                <xsl:when test="recurring='true' or recurrenceId != ''"> 
    1732                   <img src="{$resourcesRoot}/resources/std-ical_iconLinkDkGray.gif" width="12" height="16" border="0" alt="add event reference"/> 
    1733                   <xsl:text> </xsl:text> 
    1734                   <xsl:copy-of select="$bwStr-EvCG-LinkColon"/><xsl:text> </xsl:text> 
    1735                   <a href="{$addEventRef}&amp;calPath={$calPath}&amp;guid={$guid}" title="{$bwStr-EvCG-AddMasterEventReference}"> 
    1736                     <xsl:copy-of select="$bwStr-EvCG-All"/> 
    1737                   </a>, 
    1738                   <a href="{$addEventRef}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}" title="{$bwStr-EvCG-AddThisEventReference}"> 
    1739                     <xsl:copy-of select="$bwStr-EvCG-Instance"/> 
    1740                   </a> 
    1741                </xsl:when> 
    1742                <xsl:otherwise> 
    1743                  <a href="{$addEventRef}&amp;calPath={$calPath}&amp;guid={$guid}" title="{$bwStr-EvCG-AddEventReference}"> 
    1744                    <img src="{$resourcesRoot}/resources/std-ical_iconLinkDkGray.gif" width="12" height="16" border="0" alt="add event reference"/> 
    1745                    <xsl:text> </xsl:text><xsl:copy-of select="$bwStr-EvCG-Link"/> 
    1746                  </a> 
    1747                </xsl:otherwise> 
    1748              </xsl:choose> 
    1749            </li> 
    1750          </xsl:if> 
    1751  
    1752          <xsl:if test="currentAccess/current-user-privilege-set/privilege/unbind"> 
    1753            <li> 
    1754              <xsl:choose> 
    1755                <xsl:when test="recurring='true' or recurrenceId != ''"> 
    1756                   <img src="{$resourcesRoot}/resources/trashIcon.gif" width="13" height="13" border="0" alt="delete"/> 
    1757                   <xsl:text> </xsl:text> 
    1758                   <xsl:copy-of select="$bwStr-EvCG-DeleteColon"/> 
    1759                   <xsl:text> </xsl:text> 
    1760                   <a href="{$delEvent}&amp;calPath={$calPath}&amp;guid={$guid}" title="{$bwStr-EvCG-DeleteMaster}" onclick="return confirm('{$bwStr-EvCG-DeleteAllRecurrences}');"> 
    1761                     <xsl:copy-of select="$bwStr-EvCG-All"/> 
    1762                   </a>, 
    1763                   <a href="{$delEvent}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}" title="{$bwStr-EvCG-DeleteThisInstance}" onclick="return confirm('{$bwStr-EvCG-DeleteThisEvent}');"> 
    1764                     <xsl:copy-of select="$bwStr-EvCG-Instance"/> 
    1765                   </a> 
    1766                </xsl:when> 
    1767                <xsl:otherwise> 
    1768                  <a href="{$delEvent}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}" title="{$bwStr-EvCG-DeleteEvent}" onclick="return confirm('{$bwStr-EvCG-DeleteThisEvent}');"> 
    1769                    <img src="{$resourcesRoot}/resources/trashIcon.gif" width="13" height="13" border="0" alt="delete"/> 
    1770                    <xsl:text> </xsl:text><xsl:copy-of select="$bwStr-EvCG-Delete"/> 
    1771                  </a> 
    1772                </xsl:otherwise> 
    1773              </xsl:choose> 
    1774            </li> 
    1775          </xsl:if> 
    1776         </ul> 
    1777  
    1778       </div> 
    1779     </li> 
    1780   </xsl:template> 
    1781  
    1782   <!--==== YEAR VIEW ====--> 
    1783   <xsl:template name="yearView"> 
    1784     <table id="yearCalendarTable" border="0" cellpadding="0" cellspacing="0"> 
    1785       <tr> 
    1786         <xsl:apply-templates select="/bedework/eventscalendar/year/month[position() &lt;= 3]"/> 
    1787       </tr> 
    1788       <tr> 
    1789         <xsl:apply-templates select="/bedework/eventscalendar/year/month[(position() &gt; 3) and (position() &lt;= 6)]"/> 
    1790       </tr> 
    1791       <tr> 
    1792         <xsl:apply-templates select="/bedework/eventscalendar/year/month[(position() &gt; 6) and (position() &lt;= 9)]"/> 
    1793       </tr> 
    1794       <tr> 
    1795         <xsl:apply-templates select="/bedework/eventscalendar/year/month[position() &gt; 9]"/> 
    1796       </tr> 
    1797     </table> 
    1798   </xsl:template> 
    1799  
    1800   <!-- year view month tables --> 
    1801   <xsl:template match="month"> 
    1802     <td> 
    1803       <table class="yearViewMonthTable" border="0" cellpadding="0" cellspacing="0"> 
    1804         <tr> 
    1805           <td colspan="8" class="monthName"> 
    1806             <xsl:variable name="firstDayOfMonth" select="week/day/date"/> 
    1807             <a href="{$setViewPeriod}&amp;viewType=monthView&amp;date={$firstDayOfMonth}"> 
    1808               <xsl:value-of select="longname"/> 
    1809             </a> 
    1810           </td> 
    1811         </tr> 
    1812         <tr> 
    1813           <th>&#160;</th> 
    1814           <xsl:for-each select="/bedework/shortdaynames/val"> 
    1815             <th><xsl:value-of select="."/></th> 
    1816           </xsl:for-each> 
    1817         </tr> 
    1818         <xsl:for-each select="week"> 
    1819           <tr> 
    1820             <td class="weekCell"> 
    1821               <xsl:variable name="firstDayOfWeek" select="day/date"/> 
    1822               <a href="{$setViewPeriod}&amp;viewType=weekView&amp;date={$firstDayOfWeek}"> 
    1823                 <xsl:value-of select="value"/> 
    1824               </a> 
    1825             </td> 
    1826             <xsl:for-each select="day"> 
    1827               <xsl:choose> 
    1828                 <xsl:when test="filler='true'"> 
    1829                   <td class="filler">&#160;</td> 
    1830                 </xsl:when> 
    1831                 <xsl:otherwise> 
    1832                   <td class="bwActiveDay"> 
    1833                     <xsl:if test="/bedework/now/date = date"> 
    1834                       <xsl:attribute name="class">today bwActiveDay</xsl:attribute> 
    1835                     </xsl:if> 
    1836                     <xsl:variable name="dayDate" select="date"/> 
    1837                     <a href="{$setViewPeriod}&amp;viewType=dayView&amp;date={$dayDate}"> 
    1838                       <xsl:value-of select="value"/> 
    1839                     </a> 
    1840                   </td> 
    1841                 </xsl:otherwise> 
    1842               </xsl:choose> 
    1843             </xsl:for-each> 
    1844           </tr> 
    1845         </xsl:for-each> 
    1846       </table> 
    1847     </td> 
    1848   </xsl:template> 
    1849  
    1850   <!--== TASKS ==--> 
    1851   <xsl:template name="tasks"> 
    1852     <xsl:if test="/bedework/eventscalendar//event[entityType=2]"> 
    1853       <div id="tasks"> 
    1854         <h3> 
    1855           <xsl:copy-of select="$bwStr-Task-Tasks"/> &amp; <xsl:copy-of select="$bwStr-Task-Reminders"/> 
    1856         </h3> 
    1857         <ul class="tasks"> 
    1858           <xsl:apply-templates select="/bedework/eventscalendar//event[entityType=2 and generate-id() = generate-id(key('eventUid',guid)[1])]" mode="tasks"/> 
    1859         </ul> 
    1860       </div> 
    1861     </xsl:if> 
    1862   </xsl:template> 
    1863  
    1864   <xsl:template match="event" mode="tasks"> 
    1865     <xsl:variable name="calPath" select="calendar/encodedPath"/> 
    1866     <xsl:variable name="guid"><xsl:call-template name="url-encode"><xsl:with-param name="str" select="guid"/></xsl:call-template></xsl:variable> 
    1867     <xsl:variable name="recurrenceId" select="recurrenceId"/> 
    1868  
    1869     <li> 
    1870       <a href="{$eventView}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}"> 
    1871         <xsl:choose> 
    1872           <xsl:when test="summary = ''"> 
    1873             <em><xsl:copy-of select="$bwStr-TskE-NoTitle"/></em><xsl:text> </xsl:text> 
    1874           </xsl:when> 
    1875           <xsl:otherwise> 
    1876             <xsl:value-of select="summary"/> 
    1877             <xsl:if test="not(start/noStart='true')"> 
    1878               <span class="taskDate"> - <xsl:copy-of select="$bwStr-TskE-Start"/><xsl:text> </xsl:text><xsl:value-of select="start/shortdate"/></span> 
    1879             </xsl:if> 
    1880             <xsl:if test="not(end/type='N')"> 
    1881               <span class="taskDate">- <xsl:copy-of select="$bwStr-TskE-Due"/><xsl:text> </xsl:text><xsl:value-of select="end/shortdate"/></span> 
    1882             </xsl:if> 
    1883           </xsl:otherwise> 
    1884         </xsl:choose> 
    1885       </a> 
    1886     </li> 
    1887   </xsl:template> 
    1888  
    1889   <!--== MESSAGES ==--> 
    1890   <xsl:template match="event" mode="schedNotifications"> 
    1891     <xsl:variable name="calPath" select="calendar/encodedPath"/> 
    1892     <xsl:variable name="eventName" select="name"/> 
    1893     <xsl:variable name="recurrenceId" select="recurrenceId"/> 
    1894     <xsl:variable name="inboxItemAction"> 
    1895       <xsl:choose> 
    1896         <xsl:when test="scheduleMethod=2"><xsl:value-of select="$schedule-initAttendeeUpdate"/></xsl:when> 
    1897         <xsl:when test="scheduleMethod=3"><xsl:value-of select="$eventView"/></xsl:when> 
    1898         <xsl:when test="scheduleMethod=6"><xsl:value-of select="$schedule-processRefresh"/></xsl:when> 
    1899         <xsl:when test="scheduleMethod=7"><xsl:value-of select="$eventView"/></xsl:when> 
    1900         <xsl:otherwise><xsl:value-of select="$schedule-initAttendeeUpdate"/></xsl:otherwise> 
    1901       </xsl:choose> 
    1902     </xsl:variable> 
    1903     <li> 
    1904       <a href="{$inboxItemAction}&amp;calPath={$calPath}&amp;eventName={$eventName}&amp;recurrenceId={$recurrenceId}"> 
    1905         <xsl:if test="scheduleMethod=3"><xsl:copy-of select="$bwStr-ScN-Re"/><xsl:text> </xsl:text></xsl:if> 
    1906         <xsl:value-of select="summary"/> 
    1907       </a> 
    1908     </li> 
    1909   </xsl:template> 
    1910  
    1911   <!--==== SINGLE EVENT ====--> 
    1912   <xsl:template match="event"> 
    1913     <xsl:variable name="calPath" select="calendar/encodedPath"/> 
    1914     <xsl:variable name="guid"><xsl:call-template name="url-encode"><xsl:with-param name="str" select="guid"/></xsl:call-template></xsl:variable> 
    1915     <xsl:variable name="recurrenceId" select="recurrenceId"/> 
    1916     <xsl:variable name="statusClass"> 
    1917       <xsl:choose> 
    1918         <xsl:when test="status='CANCELLED'">bwStatusCancelled</xsl:when> 
    1919         <xsl:when test="status='TENTATIVE'">bwStatusTentative</xsl:when> 
    1920         <xsl:otherwise>bwStatusConfirmed</xsl:otherwise> 
    1921       </xsl:choose> 
    1922     </xsl:variable> 
    1923     <h2 class="{$statusClass}"> 
    1924       <xsl:if test="status='CANCELLED'"><xsl:copy-of select="$bwStr-SgEv-Canceled"/><xsl:text> </xsl:text></xsl:if> 
    1925       <xsl:choose> 
    1926         <xsl:when test="link != ''"> 
    1927           <xsl:variable name="link" select="link"/> 
    1928           <a href="{$link}"> 
    1929             <xsl:value-of select="summary"/> 
    1930           </a> 
    1931         </xsl:when> 
    1932         <xsl:when test="summary = ''"> 
    1933           <xsl:copy-of select="$bwStr-SgEv-Event"/> <em>(<xsl:copy-of select="$bwStr-SgEv-NoTitle"/>)</em> 
    1934         </xsl:when> 
    1935         <xsl:otherwise> 
    1936           <xsl:value-of select="summary"/> 
    1937         </xsl:otherwise> 
    1938       </xsl:choose> 
    1939     </h2> 
    1940     <table class="common" cellspacing="0"> 
    1941       <tr> 
    1942         <th colspan="2" class="commonHeader"> 
    1943           <div id="eventActions"> 
    1944  
    1945             <xsl:if test="currentAccess/current-user-privilege-set/privilege/unbind"> 
    1946               <xsl:choose> 
    1947                 <xsl:when test="recurring='true' or recurrenceId != ''"> 
    1948                   <div id="bwDeleteRecurButton" class="bwMenuButton"> 
    1949                     <img src="{$resourcesRoot}/resources/trashIcon.gif" width="13" height="13" border="0" alt="delete"/> 
    1950                     <xsl:copy-of select="$bwStr-SgEv-Delete"/> 
    1951                     <div id="bwDeleteRecurWidget" class="bwMenuWidget"> 
    1952                       <ul> 
    1953                         <li> 
    1954                           <a href="{$delEvent}&amp;calPath={$calPath}&amp;guid={$guid}" title="{$bwStr-SgEv-DeleteMaster}" onclick="return confirm('{$bwStr-SgEv-DeleteAllRecurrences}');"> 
    1955                             <xsl:copy-of select="$bwStr-SgEv-All"/> 
    1956                           </a> 
    1957                         </li> 
    1958                         <li> 
    1959                           <a href="{$delEvent}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}" title="{$bwStr-SgEv-DeleteThisInstance}" onclick="return confirm('{$bwStr-SgEv-DeleteThisEvent}');"> 
    1960                             <xsl:copy-of select="$bwStr-SgEv-Instance"/> 
    1961                           </a> 
    1962                         </li> 
    1963                       </ul> 
    1964                     </div> 
    1965                   </div> 
    1966                 </xsl:when> 
    1967                 <xsl:otherwise> 
    1968                   <a href="{$delEvent}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}" title="{$bwStr-SgEv-DeleteEvent}" class="bwMenuButton" onclick="return confirm('{$bwStr-SgEv-DeleteThisEvent}');"> 
    1969                     <img src="{$resourcesRoot}/resources/trashIcon.gif" width="13" height="13" border="0" alt="delete"/> 
    1970                     <xsl:copy-of select="$bwStr-SgEv-Delete"/><xsl:text> </xsl:text> 
    1971                   </a> 
    1972                 </xsl:otherwise> 
    1973               </xsl:choose> 
    1974             </xsl:if> 
    1975  
    1976             <xsl:if test="not(currentAccess/current-user-privilege-set/privilege/write-content) and not(recurring='true' or recurrenceId != '')"> 
    1977               <!-- temporarily hide from Recurring events --> 
    1978               <xsl:choose> 
    1979                 <xsl:when test="recurring='true' or recurrenceId != ''"> 
    1980                   <div id="bwLinkRecurButton" class="bwMenuButton"> 
    1981                     <img src="{$resourcesRoot}/resources/std-ical_iconLinkDkGray.gif" width="12" height="16" border="0" alt="add event reference"/> 
    1982                     <xsl:copy-of select="$bwStr-SgEv-Link"/> 
    1983                     <div id="bwLinkRecurWidget" class="bwMenuWidget"> 
    1984                       <ul> 
    1985                         <li> 
    1986                           <a href="{$addEventRef}&amp;calPath={$calPath}&amp;guid={$guid}" title="{$bwStr-SgEv-AddMasterEvent}"> 
    1987                             <xsl:copy-of select="$bwStr-SgEv-All"/> 
    1988                           </a> 
    1989                         </li> 
    1990                         <li> 
    1991                           <a href="{$addEventRef}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}" title="{$bwStr-SgEv-AddThisEvent}"> 
    1992                             <xsl:copy-of select="$bwStr-SgEv-Instance"/> 
    1993                           </a> 
    1994                         </li> 
    1995                       </ul> 
    1996                     </div> 
    1997                   </div> 
    1998                 </xsl:when> 
    1999                 <xsl:otherwise> 
    2000                   <a href="{$addEventRef}&amp;calPath={$calPath}&amp;guid={$guid}" title="{$bwStr-SgEv-AddEventReference}" class="bwMenuButton"> 
    2001                     <img src="{$resourcesRoot}/resources/std-ical_iconLinkDkGray.gif" width="12" height="16" border="0" alt="add event reference"/> 
    2002                     <xsl:copy-of select="$bwStr-SgEv-Link"/> 
    2003                   </a> 
    2004                 </xsl:otherwise> 
    2005               </xsl:choose> 
    2006             </xsl:if> 
    2007  
    2008             <xsl:choose> 
    2009               <xsl:when test="recurring='true' or recurrenceId != ''"> 
    2010                 <div id="bwCopyRecurButton" class="bwMenuButton"> 
    2011                   <img src="{$resourcesRoot}/resources/std-ical_iconEditDkGray.gif" width="12" height="16" border="0" alt="edit master"/> 
    2012                   <xsl:copy-of select="$bwStr-SgEv-Copy"/> 
    2013                   <div id="bwCopyRecurWidget" class="bwMenuWidget"> 
    2014                     <ul> 
    2015                       <li> 
    2016                         <a href="{$editEvent}&amp;calPath={$calPath}&amp;guid={$guid}&amp;copy=true" title="{$bwStr-SgEv-CopyMaster}"> 
    2017                           <xsl:copy-of select="$bwStr-SgEv-All"/> 
    2018                         </a> 
    2019                       </li> 
    2020                       <li> 
    2021                         <a href="{$editEvent}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}&amp;copy=true" title="{$bwStr-SgEv-CopyThisInstance}"> 
    2022                           <xsl:copy-of select="$bwStr-SgEv-Instance"/> 
    2023                         </a> 
    2024                       </li> 
    2025                     </ul> 
    2026                   </div> 
    2027                 </div> 
    2028               </xsl:when> 
    2029               <xsl:otherwise> 
    2030                 <a href="{$editEvent}&amp;calPath={$calPath}&amp;guid={$guid}&amp;copy=true" title="{$bwStr-SgEv-CopyEvent}" class="bwMenuButton"> 
    2031                   <img src="{$resourcesRoot}/resources/std-ical_iconEditDkGray.gif" width="12" height="16" border="0" alt="edit"/> 
    2032                   <xsl:copy-of select="$bwStr-SgEv-Copy"/> 
    2033                 </a> 
    2034               </xsl:otherwise> 
    2035             </xsl:choose> 
    2036  
    2037             <xsl:if test="currentAccess/current-user-privilege-set/privilege/write-content"> 
    2038               <xsl:choose> 
    2039                 <xsl:when test="recurring='true' or recurrenceId != ''"> 
    2040                   <div id="bwEditRecurButton" class="bwMenuButton"> 
    2041                     <img src="{$resourcesRoot}/resources/std-ical_iconEditDkGray.gif" width="12" height="16" border="0" alt="edit master"/> 
    2042                     <xsl:copy-of select="$bwStr-SgEv-Edit"/> 
    2043                     <div id="bwEditRecurWidget" class="bwMenuWidget"> 
    2044                       <ul> 
    2045                         <li> 
    2046                           <a href="{$editEvent}&amp;calPath={$calPath}&amp;guid={$guid}" title="{$bwStr-SgEv-EditMaster}"> 
    2047                             <xsl:copy-of select="$bwStr-SgEv-All"/> 
    2048                           </a> 
    2049                         </li> 
    2050                         <li> 
    2051                           <a href="{$editEvent}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}" title="{$bwStr-EvCG-EditThisInstance}"> 
    2052                             <xsl:copy-of select="$bwStr-SgEv-Instance"/> 
    2053                           </a> 
    2054                         </li> 
    2055                       </ul> 
    2056                     </div> 
    2057                   </div> 
    2058                 </xsl:when> 
    2059                 <xsl:otherwise> 
    2060                   <a href="{$editEvent}&amp;calPath={$calPath}&amp;guid={$guid}" title="{$bwStr-SgEv-EditEvent}" class="bwMenuButton"> 
    2061                     <img src="{$resourcesRoot}/resources/std-ical_iconEditDkGray.gif" width="12" height="16" border="0" alt="edit"/> 
    2062                     <xsl:copy-of select="$bwStr-SgEv-Edit"/> 
    2063                   </a> 
    2064                 </xsl:otherwise> 
    2065               </xsl:choose> 
    2066             </xsl:if> 
    2067  
    2068             <!-- download --> 
    2069             <xsl:variable name="eventIcalName" select="concat($guid,'.ics')"/> 
    2070             <xsl:choose> 
    2071               <xsl:when test="recurring='true' or recurrenceId != ''"> 
    2072                 <div id="bwDownloadButton" class="bwMenuButton"> 
    2073                   <img src="{$resourcesRoot}/resources/std-icalDownload-icon-small.gif" width="12" height="16" border="0" alt="{$bwStr-SgEv-DownloadEvent}"/> 
    2074                   <xsl:copy-of select="$bwStr-SgEv-Download"/> 
    2075                   <div id="bwDownloadWidget" class="bwMenuWidget"> 
    2076                     <ul> 
    2077                       <li> 
    2078                         <a href="{$export}&amp;calPath={$calPath}&amp;guid={$guid}&amp;nocache=no&amp;contentName={$eventIcalName}" title="{$bwStr-SgEv-DownloadMaster}"> 
    2079                           <xsl:copy-of select="$bwStr-SgEv-All"/> 
    2080                         </a> 
    2081                       </li> 
    2082                       <li> 
    2083                         <a href="{$export}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}&amp;nocache=no&amp;contentName={$eventIcalName}" title="{$bwStr-SgEv-DownloadThisInstance}"> 
    2084                           <xsl:copy-of select="$bwStr-SgEv-Instance"/> 
    2085                         </a> 
    2086                       </li> 
    2087                     </ul> 
    2088                   </div> 
    2089                 </div> 
    2090               </xsl:when> 
    2091               <xsl:otherwise> 
    2092                 <a href="{$export}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}&amp;nocache=no&amp;contentName={$eventIcalName}" class="bwMenuButton" title="{$bwStr-SgEv-DownloadEvent}"> 
    2093                   <img src="{$resourcesRoot}/resources/std-icalDownload-icon-small.gif" width="12" height="16" border="0" alt="Download event as ical - for Outlook, PDAs, iCal, and other desktop calendars"/> 
    2094                   <xsl:copy-of select="$bwStr-SgEv-Download"/> 
    2095                 </a> 
    2096               </xsl:otherwise> 
    2097             </xsl:choose> 
    2098           </div> 
    2099           <!-- Display type of event --> 
    2100           <xsl:variable name="entityType"> 
    2101             <xsl:choose> 
    2102               <xsl:when test="entityType = '2'"><xsl:copy-of select="$bwStr-SgEv-Task"/></xsl:when> 
    2103               <xsl:when test="scheduleMethod = '2'"><xsl:copy-of select="$bwStr-SgEv-Meeting"/></xsl:when> 
    2104               <xsl:otherwise><xsl:copy-of select="$bwStr-SgEv-Event"/></xsl:otherwise> 
    2105             </xsl:choose> 
    2106           </xsl:variable> 
    2107           <xsl:if test="recurring='true' or recurrenceId != ''"> 
    2108             <xsl:copy-of select="$bwStr-SgEv-Recurring"/> 
    2109           </xsl:if> 
    2110           <xsl:choose> 
    2111             <xsl:when test="public = 'true'"> 
    2112               <xsl:copy-of select="$bwStr-SgEv-Public"/><xsl:text> </xsl:text><xsl:value-of select="$entityType"/> 
    2113             </xsl:when> 
    2114             <xsl:when test="owner = /bedework/userid"> 
    2115               <xsl:copy-of select="$bwStr-SgEv-Personal"/><xsl:text> </xsl:text><xsl:value-of select="$entityType"/> 
    2116             </xsl:when> 
    2117             <xsl:when test="scheduleMethod = '2'"> 
    2118               <!-- a scheduled meeting ro task --> 
    2119               <xsl:value-of select="$entityType"/> - <xsl:copy-of select="$bwStr-SgEv-Organizer"/><xsl:text> </xsl:text><xsl:value-of select="substring-after(organizer/organizerUri,':')"/> 
    2120             </xsl:when> 
    2121             <xsl:otherwise> 
    2122               <xsl:value-of select="$entityType"/> 
    2123             </xsl:otherwise> 
    2124           </xsl:choose> 
    2125           <xsl:if test="recurring='true' and recurrenceId = ''"> 
    2126             <xsl:text> </xsl:text> 
    2127             <em><xsl:copy-of select="$bwStr-SgEv-RecurrenceMaster"/></em> 
    2128           </xsl:if> 
    2129           <!-- 
    2130           <xsl:if test="scheduleMethod = '2' and not(/bedework/userid = substring-before(substring-after(organizer/organizerUri,':'),'@'))"> 
    2131              /* this is a scheduled event (meeting or task) - allow a direct refresh 
    2132                 NOTE: we need to actually output the organizer account for testing, rather 
    2133                  than testing against the organizerUri...might not be the same */ 
    2134             <a href="{$schedule-refresh}&amp;method=REFRESH" id="refreshEventAction"> 
    2135               <img src="{$resourcesRoot}/resources/std-icalRefresh-icon-small.gif" width="12" height="16" border="0" alt="send a request to refresh this scheduled event"/> 
    2136               Request refresh 
    2137             </a> 
    2138           </xsl:if> 
    2139           --> 
    2140         </th> 
    2141       </tr> 
    2142       <tr> 
    2143         <td class="fieldname"><xsl:copy-of select="$bwStr-SgEv-When"/><xsl:text> </xsl:text></td> 
    2144         <td class="fieldval"> 
    2145           <!-- always display local time --> 
    2146           <xsl:value-of select="start/dayname"/>, <xsl:value-of select="start/longdate"/><xsl:text> </xsl:text> 
    2147           <xsl:if test="start/allday = 'false'"> 
    2148             <span class="time"><xsl:value-of select="start/time"/></span> 
    2149           </xsl:if> 
    2150           <xsl:if test="(end/longdate != start/longdate) or 
    2151                         ((end/longdate = start/longdate) and (end/time != start/time))"> - </xsl:if> 
    2152           <xsl:if test="end/longdate != start/longdate"> 
    2153             <xsl:value-of select="substring(end/dayname,1,3)"/>, <xsl:value-of select="end/longdate"/><xsl:text> </xsl:text> 
    2154           </xsl:if> 
    2155           <xsl:choose> 
    2156             <xsl:when test="start/allday = 'true'"> 
    2157               <span class="time"><em><xsl:copy-of select="$bwStr-SgEv-AllDay"/></em></span> 
    2158             </xsl:when> 
    2159             <xsl:when test="end/longdate != start/longdate"> 
    2160               <span class="time"><xsl:value-of select="end/time"/></span> 
    2161             </xsl:when> 
    2162             <xsl:when test="end/time != start/time"> 
    2163               <span class="time"><xsl:value-of select="end/time"/></span> 
    2164             </xsl:when> 
    2165           </xsl:choose> 
    2166           <!-- if timezones are not local, or if floating add labels: --> 
    2167           <xsl:if test="start/timezone/islocal = 'false' or end/timezone/islocal = 'false'"> 
    2168             <xsl:text> </xsl:text> 
    2169             -- 
    2170             <strong> 
    2171               <xsl:choose> 
    2172                 <xsl:when test="start/floating = 'true'"> 
    2173                   <xsl:copy-of select="$bwStr-SgEv-FloatingTime"/> 
    2174                 </xsl:when> 
    2175                 <xsl:otherwise> 
    2176                   <xsl:value-of select="/bedework/now/defaultTzid"/> 
    2177                 </xsl:otherwise> 
    2178               </xsl:choose> 
    2179             </strong> 
    2180             <br/> 
    2181           </xsl:if> 
    2182           <!-- display in timezone if not local or floating time) --> 
    2183           <xsl:if test="(start/timezone/islocal = 'false' or end/timezone/islocal = 'false') and start/floating = 'false'"> 
    2184             <xsl:choose> 
    2185               <xsl:when test="start/timezone/id != end/timezone/id"> 
    2186                 <!-- need to display both timezones if they differ from start to end --> 
    2187                 <table border="0" cellspacing="0" id="tztable"> 
    2188                   <tr> 
    2189                     <td> 
    2190                       <strong><xsl:copy-of select="$bwStr-SgEv-Start"/></strong><xsl:text> </xsl:text> 
    2191                     </td> 
    2192                     <td> 
    2193                       <xsl:choose> 
    2194                         <xsl:when test="start/timezone/islocal='true'"> 
    2195                           <xsl:value-of select="start/dayname"/>, 
    2196                           <xsl:value-of select="start/longdate"/> 
    2197                           <xsl:text> </xsl:text> 
    2198                           <span class="time"><xsl:value-of select="start/time"/></span> 
    2199                         </xsl:when> 
    2200                         <xsl:otherwise> 
    2201                           <xsl:value-of select="start/timezone/dayname"/>, 
    2202                           <xsl:value-of select="start/timezone/longdate"/> 
    2203                           <xsl:text> </xsl:text> 
    2204                           <span class="time"><xsl:value-of select="start/timezone/time"/></span> 
    2205                         </xsl:otherwise> 
    2206                       </xsl:choose> 
    2207                     </td> 
    2208                     <td> 
    2209                       -- 
    2210                       <strong><xsl:value-of select="start/timezone/id"/></strong> 
    2211                     </td> 
    2212                   </tr> 
    2213                   <tr> 
    2214                     <td> 
    2215                       <strong><xsl:copy-of select="$bwStr-SgEv-End"/></strong><xsl:text> </xsl:text> 
    2216                     </td> 
    2217                     <td> 
    2218                       <xsl:choose> 
    2219                         <xsl:when test="end/timezone/islocal='true'"> 
    2220                           <xsl:value-of select="end/dayname"/>, 
    2221                           <xsl:value-of select="end/longdate"/> 
    2222                           <xsl:text> </xsl:text> 
    2223                           <span class="time"><xsl:value-of select="end/time"/></span> 
    2224                         </xsl:when> 
    2225                         <xsl:otherwise> 
    2226                           <xsl:value-of select="end/timezone/dayname"/>, 
    2227                           <xsl:value-of select="end/timezone/longdate"/> 
    2228                           <xsl:text> </xsl:text> 
    2229                           <span class="time"><xsl:value-of select="end/timezone/time"/></span> 
    2230                         </xsl:otherwise> 
    2231                       </xsl:choose> 
    2232                     </td> 
    2233                     <td> 
    2234                       -- 
    2235                       <strong><xsl:value-of select="end/timezone/id"/></strong> 
    2236                     </td> 
    2237                   </tr> 
    2238                 </table> 
    2239               </xsl:when> 
    2240               <xsl:otherwise> 
    2241                 <!-- otherwise, timezones are the same: display as a single line  --> 
    2242                 <xsl:value-of select="start/timezone/dayname"/>, <xsl:value-of select="start/timezone/longdate"/><xsl:text> </xsl:text> 
    2243                 <xsl:if test="start/allday = 'false'"> 
    2244                   <span class="time"><xsl:value-of select="start/timezone/time"/></span> 
    2245                 </xsl:if> 
    2246                 <xsl:if test="(end/timezone/longdate != start/timezone/longdate) or 
    2247                               ((end/timezone/longdate = start/timezone/longdate) and (end/timezone/time != start/timezone/time))"> - </xsl:if> 
    2248                 <xsl:if test="end/timezone/longdate != start/timezone/longdate"> 
    2249                   <xsl:value-of select="substring(end/timezone/dayname,1,3)"/>, <xsl:value-of select="end/timezone/longdate"/><xsl:text> </xsl:text> 
    2250                 </xsl:if> 
    2251                 <xsl:choose> 
    2252                   <xsl:when test="start/allday = 'true'"> 
    2253                     <span class="time"><em><xsl:copy-of select="$bwStr-SgEv-AllDay"/></em></span> 
    2254                   </xsl:when> 
    2255                   <xsl:when test="end/timezone/longdate != start/timezone/longdate"> 
    2256                     <span class="time"><xsl:value-of select="end/timezone/time"/></span> 
    2257                   </xsl:when> 
    2258                   <xsl:when test="end/timezone/time != start/timezone/time"> 
    2259                     <span class="time"><xsl:value-of select="end/timezone/time"/></span> 
    2260                   </xsl:when> 
    2261                 </xsl:choose> 
    2262                 <xsl:text> </xsl:text> 
    2263                 -- 
    2264                 <strong><xsl:value-of select="start/timezone/id"/></strong> 
    2265               </xsl:otherwise> 
    2266             </xsl:choose> 
    2267           </xsl:if> 
    2268         </td> 
    2269         <!--<th class="icon" rowspan="2"> 
    2270           <xsl:variable name="eventIcalName" select="concat($guid,'.ics')"/> 
    2271           <a href="{$export}&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"> 
    2272             <img src="{$resourcesRoot}/resources/std-ical-icon.gif" width="20" height="26" border="0" align="left" alt="Download this event"/> 
    2273           </a> 
    2274         </th>--> 
    2275       </tr> 
    2276       <xsl:if test="location/address != ''"> 
    2277         <tr> 
    2278           <td class="fieldname"><xsl:copy-of select="$bwStr-SgEv-Where"/><xsl:text> </xsl:text></td> 
    2279           <td class="fieldval"> 
    2280             <xsl:choose> 
    2281               <xsl:when test="location/link=''"> 
    2282                 <xsl:value-of select="location/address"/> 
    2283               </xsl:when> 
    2284               <xsl:otherwise> 
    2285                 <xsl:variable name="locationLink" select="location/link"/> 
    2286                 <a href="{$locationLink}"> 
    2287                   <xsl:value-of select="location/address"/> 
    2288                 </a> 
    2289               </xsl:otherwise> 
    2290             </xsl:choose> 
    2291             <xsl:if test="location/subaddress!=''"> 
    2292               <br/><xsl:value-of select="location/subaddress"/> 
    2293             </xsl:if> 
    2294           </td> 
    2295         </tr> 
    2296       </xsl:if> 
    2297       <!--  Percent Complete (only for Tasks)  --> 
    2298       <xsl:if test="percentComplete != ''"> 
    2299         <tr> 
    2300           <td class="fieldname"> 
    2301             <xsl:copy-of select="$bwStr-SgEv-Complete"/><xsl:text> </xsl:text> 
    2302           </td> 
    2303           <td class="fieldval"> 
    2304             <xsl:value-of select="percentComplete"/>% 
    2305           </td> 
    2306         </tr> 
    2307       </xsl:if> 
    2308       <xsl:if test="scheduleMethod != 3"> 
    2309         <tr> 
    2310           <td class="fieldname"><xsl:copy-of select="$bwStr-SgEv-Description"/><xsl:text> </xsl:text></td> 
    2311           <td class="fieldval"> 
    2312             <xsl:if test="xproperties/node()[name()='X-BEDEWORK-IMAGE']"> 
    2313               <xsl:variable name="bwImage"><xsl:value-of select="xproperties/node()[name()='X-BEDEWORK-IMAGE']/values/text"/></xsl:variable> 
    2314               <img src="{$bwImage}" class="bwEventImage"/> 
    2315             </xsl:if> 
    2316             <xsl:call-template name="replace"> 
    2317               <xsl:with-param name="string" select="description"/> 
    2318               <xsl:with-param name="pattern" select="'&#xA;'"/> 
    2319               <xsl:with-param name="replacement"><br/></xsl:with-param> 
    2320             </xsl:call-template> 
    2321           </td> 
    2322         </tr> 
    2323       </xsl:if> 
    2324       <xsl:if test="status !='' and status != 'CONFIRMED'"> 
    2325         <tr> 
    2326           <td class="fieldname"><xsl:copy-of select="$bwStr-SgEv-STATUS"/></td> 
    2327           <td class="fieldval"> 
    2328             <xsl:value-of select="status"/> 
    2329           </td> 
    2330         </tr> 
    2331       </xsl:if> 
    2332       <xsl:if test="organizer"> 
    2333         <tr> 
    2334           <td class="fieldname"><xsl:copy-of select="$bwStr-SgEv-ORGANIZER"/><xsl:text> </xsl:text></td> 
    2335           <xsl:variable name="organizerUri" select="organizer/organizerUri"/> 
    2336           <td class="fieldval"> 
    2337             <xsl:choose> 
    2338               <xsl:when test="organizer/cn != ''"> 
    2339                 <xsl:value-of select="organizer/cn"/> 
    2340               </xsl:when> 
    2341               <xsl:otherwise> 
    2342                 <xsl:value-of select="substring-after(organizer/organizerUri,'mailto:')"/> 
    2343               </xsl:otherwise> 
    2344             </xsl:choose> 
    2345             <xsl:if test="organizer/organizerUri != ''"> 
    2346               <a href="{$organizerUri}" class="emailIcon" title="{$bwStr-SgEv-Email}"> 
    2347                 <img src="{$resourcesRoot}/resources/email.gif" width="16" height="10" border="0" alt="email"/> 
    2348               </a> 
    2349             </xsl:if> 
    2350           </td> 
    2351         </tr> 
    2352       </xsl:if> 
    2353       <xsl:if test="attendees/attendee"> 
    2354         <tr> 
    2355           <td class="fieldname"><xsl:copy-of select="$bwStr-SgEv-Attendees"/><xsl:text> </xsl:text></td> 
    2356           <td class="fieldval"> 
    2357             <table id="attendees" cellspacing="0"> 
    2358               <tr> 
    2359                 <th><xsl:copy-of select="$bwStr-SgEv-Attendee"/></th> 
    2360                 <th><xsl:copy-of select="$bwStr-SgEv-Role"/></th> 
    2361                 <th><xsl:copy-of select="$bwStr-SgEv-Status"/></th> 
    2362               </tr> 
    2363               <xsl:for-each select="attendees/attendee"> 
    2364                 <xsl:sort select="cn" order="ascending" case-order="upper-first"/> 
    2365                 <xsl:sort select="attendeeUri" order="ascending" case-order="upper-first"/> 
    2366                 <tr> 
    2367                   <td> 
    2368                     <xsl:variable name="attendeeUri" select="attendeeUri"/> 
    2369                     <a href="{$attendeeUri}" class="emailIcon" title="{$bwStr-SgEv-Email}"> 
    2370                       <img src="{$resourcesRoot}/resources/email.gif" width="16" height="10" border="0" alt="email"/> 
    2371                     </a> 
    2372                     <xsl:choose> 
    2373                       <xsl:when test="cn != ''"> 
    2374                         <xsl:value-of select="cn"/> 
    2375                       </xsl:when> 
    2376                       <xsl:otherwise> 
    2377                         <xsl:value-of select="substring-after(translate(attendeeUri, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'),'mailto:')"/> 
    2378                       </xsl:otherwise> 
    2379                     </xsl:choose> 
    2380                   </td> 
    2381                   <td class="role"> 
    2382                     <xsl:apply-templates select="role"/> 
    2383                   </td> 
    2384                   <td class="status"> 
    2385                     <xsl:apply-templates select="partstat"/> 
    2386                   </td> 
    2387                 </tr> 
    2388               </xsl:for-each> 
    2389             </table> 
    2390             <xsl:if test="not(organizerSchedulingObject)"> 
    2391               <p> 
    2392                 <em> 
    2393                   <a href="{$schedule-changeStatus}&amp;initUpdate=yes"> 
    2394                     <xsl:copy-of select="$bwStr-SgEv-ChangeMyStatus"/> 
    2395                   </a> 
    2396                 </em> 
    2397               </p> 
    2398             </xsl:if> 
    2399           </td> 
    2400         </tr> 
    2401       </xsl:if> 
    2402       <!-- Recipients are deprecated --> 
    2403       <!-- 
    2404       <xsl:if test="recipient"> 
    2405         <tr> 
    2406           <td class="fieldname">Recipients:</td> 
    2407           <td class="fieldval"> 
    2408             <table id="attendees" cellspacing="0"> 
    2409               <tr> 
    2410                 <th>recipient</th> 
    2411               </tr> 
    2412               <xsl:for-each select="recipient"> 
    2413                 <tr> 
    2414                   <td> 
    2415                     <xsl:choose> 
    2416                       <xsl:when test="contains(.,'mailto:')"> 
    2417                         <xsl:value-of select="substring-after(.,'mailto:')"/> 
    2418                       </xsl:when> 
    2419                       <xsl:otherwise> 
    2420                         <xsl:value-of select="."/> 
    2421                       </xsl:otherwise> 
    2422                     </xsl:choose> 
    2423                     <xsl:variable name="recipientUri" select="."/> 
    2424                     <a href="{$recipientUri}" class="emailIcon" title="email"> 
    2425                       <img src="{$resourcesRoot}/resources/email.gif" width="16" height="10" border="0" alt="email"/> 
    2426                     </a> 
    2427                   </td> 
    2428                 </tr> 
    2429               </xsl:for-each> 
    2430             </table> 
    2431           </td> 
    2432         </tr> 
    2433       </xsl:if> 
    2434       --> 
    2435       <xsl:if test="cost!=''"> 
    2436         <tr> 
    2437           <td class="fieldname"><xsl:copy-of select="$bwStr-SgEv-Cost"/></td> 
    2438           <td class="fieldval"><xsl:value-of select="cost"/></td> 
    2439         </tr> 
    2440       </xsl:if> 
    2441       <xsl:if test="link != ''"> 
    2442         <tr> 
    2443           <td class="fieldname"><xsl:copy-of select="$bwStr-SgEv-See"/></td> 
    2444           <td class="fieldval"> 
    2445             <xsl:variable name="link" select="link"/> 
    2446             <a href="{$link}"><xsl:value-of select="link"/></a> 
    2447           </td> 
    2448         </tr> 
    2449       </xsl:if> 
    2450       <xsl:if test="contact/name!='none'"> 
    2451         <tr> 
    2452           <td class="fieldname"><xsl:copy-of select="$bwStr-SgEv-Contact"/></td> 
    2453           <td class="fieldval"> 
    2454             <xsl:choose> 
    2455               <xsl:when test="contact/link=''"> 
    2456                 <xsl:value-of select="contact/name"/> 
    2457               </xsl:when> 
    2458               <xsl:otherwise> 
    2459                 <xsl:variable name="sponsorLink" select="contact/link"/> 
    2460                 <a href="{$sponsorLink}"> 
    2461                   <xsl:value-of select="contact/name"/> 
    2462                 </a> 
    2463               </xsl:otherwise> 
    2464             </xsl:choose> 
    2465             <xsl:if test="contact/phone!=''"> 
    2466               <br /><xsl:value-of select="contact/phone"/> 
    2467             </xsl:if> 
    2468             <xsl:if test="contact/email!=''"> 
    2469               <br /> 
    2470               <xsl:variable name="email" select="contact/email"/> 
    2471               <xsl:variable name="subject" select="summary"/> 
    2472               <a href="mailto:{$email}&amp;subject={$subject}"> 
    2473                 <xsl:value-of select="contact/email"/> 
    2474               </a> 
    2475             </xsl:if> 
    2476           </td> 
    2477         </tr> 
    2478       </xsl:if> 
    2479       <xsl:if test="calendar/path!=''"> 
    2480         <tr> 
    2481           <td class="fieldname"><xsl:copy-of select="$bwStr-SgEv-Calendar"/><xsl:text> </xsl:text></td> 
    2482           <td class="fieldval"> 
    2483             <!-- 
    2484             <xsl:variable name="virtualPath"><xsl:call-template name="url-encode"><xsl:with-param name="str">/user<xsl:for-each select="ancestor-or-self::calendar/name">/<xsl:value-of select="."/></xsl:for-each></xsl:with-param></xsl:call-template></xsl:variable> 
    2485             <xsl:variable name="calUrl" select="calendar/encodedPath"/> --> 
    2486             <xsl:variable name="userPath">user/<xsl:value-of select="/bedework/userid"/>/</xsl:variable> 
    2487             <!-- a href="{$setSelection}&amp;virtualPath={$virtualPath}&amp;calUrl={$calUrl}"--> 
    2488               <xsl:choose> 
    2489                 <xsl:when test="contains(calendar/path,$userPath)"> 
    2490                   <xsl:value-of select="substring-after(calendar/path,$userPath)"/> 
    2491                 </xsl:when> 
    2492                 <xsl:otherwise> 
    2493                   <xsl:value-of select="calendar/path"/> 
    2494                 </xsl:otherwise> 
    2495               </xsl:choose> 
    2496             <!-- /a--> 
    2497           </td> 
    2498         </tr> 
    2499       </xsl:if> 
    2500       <xsl:if test="categories/category"> 
    2501         <tr> 
    2502           <td class="fieldname"><xsl:copy-of select="$bwStr-SgEv-Categories"/></td> 
    2503           <td class="fieldval"> 
    2504             <xsl:for-each select="categories/category"> 
    2505               <xsl:value-of select="value"/><xsl:if test="position() != last()">, </xsl:if> 
    2506             </xsl:for-each> 
    2507           </td> 
    2508         </tr> 
    2509       </xsl:if> 
    2510       <xsl:if test="comments/comment"> 
    2511         <tr> 
    2512           <td class="fieldname"><xsl:copy-of select="$bwStr-SgEv-Comments"/></td> 
    2513           <td class="fieldval comments"> 
    2514             <xsl:for-each select="comments/comment"> 
    2515               <p><xsl:value-of select="value"/></p> 
    2516             </xsl:for-each> 
    2517           </td> 
    2518         </tr> 
    2519       </xsl:if> 
    2520       <xsl:if test="scheduleMethod = 3 and calendar/name = 'Inbox'"> 
    2521         <tr> 
    2522           <td class="fieldname"></td> 
    2523           <td class="fieldval"> 
    2524             <input name="submit" type="button" value="{$bwStr-AEEF-Clear}" onclick="window.location='{$schedule-clearReply}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}'"/> 
    2525           </td> 
    2526         </tr> 
    2527       </xsl:if> 
    2528       <tr> 
    2529         <td class="fieldname filler">&#160;</td> 
    2530         <td class="fieldval">&#160;</td> 
    2531       </tr> 
    2532     </table> 
    2533   </xsl:template> 
    2534  
    2535   <!--==== ADD EVENT ====--> 
    2536   <xsl:template match="formElements" mode="addEvent"> 
    2537   <!-- The name "eventForm" is referenced by several javascript functions. Do not 
    2538     change it without modifying bedework.js --> 
    2539     <xsl:variable name="submitter"> 
    2540       <xsl:choose> 
    2541         <xsl:when test="form/xproperties/node()[name()='X-BEDEWORK-SUBMITTEDBY']"><xsl:value-of select="form/xproperties/node()[name()='X-BEDEWORK-SUBMITTEDBY']/values/text"/></xsl:when> 
    2542         <xsl:otherwise><xsl:value-of select="/bedework/userid"/></xsl:otherwise> 
    2543       </xsl:choose> 
    2544     </xsl:variable> 
    2545     <form name="eventForm" method="post" action="{$addEvent}" id="standardForm" onsubmit="setEventFields(this,{$portalFriendly},'{$submitter}')"> 
    2546       <h2> 
    2547         <span class="formButtons"> 
    2548           <xsl:apply-templates select="form" mode="addEditEventFormButtons" /> 
    2549         </span> 
    2550         <xsl:choose> 
    2551           <xsl:when test="form/entityType = '2'"><xsl:copy-of select="$bwStr-AddE-AddTask"/></xsl:when> 
    2552           <xsl:when test="form/scheduleMethod = '2'"><xsl:copy-of select="$bwStr-AddE-AddMeeting"/></xsl:when> 
    2553           <xsl:otherwise><xsl:copy-of select="$bwStr-AddE-AddEvent"/></xsl:otherwise> 
    2554         </xsl:choose> 
    2555       </h2> 
    2556       <xsl:apply-templates select="." mode="eventForm"/> 
    2557     </form> 
    2558   </xsl:template> 
    2559  
    2560   <!--==== EDIT EVENT ====--> 
    2561   <xsl:template match="formElements" mode="editEvent"> 
    2562     <!-- The name "eventForm" is referenced by several javascript functions. Do not 
    2563     change it without modifying bedework.js --> 
    2564     <xsl:variable name="submitter"> 
    2565       <xsl:choose> 
    2566         <xsl:when test="form/xproperties/node()[name()='X-BEDEWORK-SUBMITTEDBY']"><xsl:value-of select="form/xproperties/node()[name()='X-BEDEWORK-SUBMITTEDBY']/values/text"/></xsl:when> 
    2567         <xsl:otherwise><xsl:value-of select="/bedework/userid"/></xsl:otherwise> 
    2568       </xsl:choose> 
    2569     </xsl:variable> 
    2570     <form name="eventForm" method="post" action="{$updateEvent}" id="standardForm" onsubmit="setEventFields(this,{$portalFriendly},'{$submitter}')"> 
    2571       <h2> 
    2572         <span class="formButtons"> 
    2573           <xsl:apply-templates select="form" mode="addEditEventFormButtons" /> 
    2574         </span> 
    2575         <xsl:choose> 
    2576           <xsl:when test="form/entityType = '2'"><xsl:copy-of select="$bwStr-EdtE-EditTask"/></xsl:when> 
    2577           <xsl:when test="form/scheduleMethod = '2'"><xsl:copy-of select="$bwStr-EdtE-EditMeeting"/></xsl:when> 
    2578           <xsl:otherwise><xsl:copy-of select="$bwStr-EdtE-EditEvent"/></xsl:otherwise> 
    2579         </xsl:choose> 
    2580       </h2> 
    2581       <xsl:for-each select="form/xproperties/xproperty"> 
    2582         <xsl:variable name="xprop"><xsl:value-of select="@name"/><xsl:value-of select="pars"/>:<xsl:value-of select="value"/></xsl:variable> 
    2583         <input type="hidden" name="xproperty" value="{$xprop}"/> 
    2584       </xsl:for-each> 
    2585       <xsl:apply-templates select="." mode="eventForm"/> 
    2586     </form> 
    2587   </xsl:template> 
    2588  
    2589  
    2590   <!--==== ADD and EDIT EVENT FORM ====--> 
    2591   <xsl:template match="formElements" mode="eventForm"> 
    2592     <xsl:variable name="calPathEncoded" select="form/calendar/encodedPath"/> 
    2593     <xsl:variable name="calPath" select="form/calendar/path"/> 
    2594     <xsl:variable name="guid"><xsl:call-template name="url-encode"><xsl:with-param name="str" select="guid"/></xsl:call-template></xsl:variable> 
    2595     <xsl:variable name="recurrenceId" select="recurrenceId"/> 
    2596     <input type="hidden" name="endType" value="date"/> 
    2597  
    2598       <!-- event info for edit event --> 
    2599       <xsl:if test="/bedework/creating != 'true'"> 
    2600         <table class="common" cellspacing="0"> 
    2601           <tr> 
    2602             <th colspan="2" class="commonHeader"> 
    2603               <div id="eventActions"> 
    2604                 <xsl:choose> 
    2605                   <xsl:when test="recurrenceId != ''"> 
    2606                     <div id="bwDeleteRecurButton" class="bwMenuButton"> 
    2607                       <img src="{$resourcesRoot}/resources/trashIcon.gif" width="13" height="13" border="0" alt="delete"/> 
    2608                       <xsl:copy-of select="$bwStr-AEEF-Delete"/> 
    2609                       <div id="bwDeleteRecurWidget" class="bwMenuWidget"> 
    2610                         <ul> 
    2611                           <li> 
    2612                             <a href="{$delEvent}&amp;calPath={$calPath}&amp;guid={$guid}" title="{$bwStr-AEEF-DeleteMaster}" onclick="return confirm('{$bwStr-AEEF-DeleteAllRecurrences}');"> 
    2613                               <xsl:copy-of select="$bwStr-AEEF-All"/> 
    2614                             </a> 
    2615                           </li> 
    2616                           <li> 
    2617                             <a href="{$delEvent}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}" title="${bwStr-AEEF-DeleteThisInstance}" onclick="return confirm('{$bwStr-AEEF-DeleteThisEvent}');"> 
    2618                               <xsl:copy-of select="$bwStr-AEEF-Instance"/> 
    2619                             </a> 
    2620                           </li> 
    2621                         </ul> 
    2622                       </div> 
    2623                     </div> 
    2624                   </xsl:when> 
    2625                   <xsl:otherwise> 
    2626                     <a href="{$delEvent}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}" title="{$bwStr-AEEF-DeleteEvent}" class="bwMenuButton" onclick="return confirm('{$bwStr-AEEF-DeleteThisEvent}');"> 
    2627                       <img src="{$resourcesRoot}/resources/trashIcon.gif" width="13" height="13" border="0" alt="delete"/> 
    2628                        <xsl:copy-of select="$bwStr-AEEF-Delete"/> 
    2629                       <xsl:if test="form/recurringEntity='true'"> 
    2630                         <xsl:copy-of select="$bwStr-AEEF-All"/> 
    2631                       </xsl:if> 
    2632                     </a> 
    2633                   </xsl:otherwise> 
    2634                 </xsl:choose> 
    2635                 <xsl:if test="not(form/recurringEntity = 'true' and recurrenceId = '')"> 
    2636                   <!-- don't display if a master recurring event (because the master can't be viewed) --> 
    2637                   <a href="{$eventView}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}" class="bwMenuButton"> 
    2638                     <img src="{$resourcesRoot}/resources/glassFill-icon-viewGray.gif" width="13" height="13" border="0" alt="view"/> 
    2639                      <xsl:copy-of select="$bwStr-AEEF-View"/> 
    2640                   </a> 
    2641                 </xsl:if> 
    2642               </div> 
    2643               <!-- Display type of event --> 
    2644               <xsl:variable name="entityType"> 
    2645                 <xsl:choose> 
    2646                   <xsl:when test="entityType = '2'"><xsl:copy-of select="$bwStr-AEEF-TASK"/></xsl:when> 
    2647                   <xsl:when test="scheduleMethod = '2'"><xsl:copy-of select="$bwStr-AEEF-Meeting"/></xsl:when> 
    2648                   <xsl:otherwise><xsl:copy-of select="$bwStr-AEEF-EVENT"/></xsl:otherwise> 
    2649                 </xsl:choose> 
    2650               </xsl:variable> 
    2651               <xsl:if test="form/recurringEntity='true' or recurrenceId != ''"> 
    2652                  <xsl:copy-of select="$bwStr-AEEF-Recurring"/> 
    2653               </xsl:if> 
    2654               <xsl:choose> 
    2655                 <xsl:when test="form"> 
    2656                   <!-- just a placeholder: need to add owner to the jsp --> 
    2657                    <xsl:text> </xsl:text><xsl:copy-of select="$bwStr-AEEF-Personal"/><xsl:text> </xsl:text><xsl:value-of select="$entityType"/> 
    2658                 </xsl:when> 
    2659                 <xsl:when test="public = 'true'"> 
    2660                    <xsl:text> </xsl:text><xsl:copy-of select="$bwStr-AEEF-Public"/><xsl:text> </xsl:text><xsl:value-of select="$entityType"/> 
    2661                 </xsl:when> 
    2662                 <xsl:otherwise> 
    2663                   <xsl:value-of select="$entityType"/> 
    2664                 </xsl:otherwise> 
    2665               </xsl:choose> 
    2666               <xsl:if test="form/recurringEntity='true' and recurrenceId = ''"> 
    2667                 <xsl:text> </xsl:text> 
    2668                 <em><xsl:copy-of select="$bwStr-AEEF-RecurrenceMaster"/></em> 
    2669               </xsl:if> 
    2670             </th> 
    2671           </tr> 
    2672         </table> 
    2673       </xsl:if> 
    2674  
    2675       <!-- event form submenu --> 
    2676       <ul id="eventFormTabs" class="submenu"> 
    2677         <li class="selected"> 
    2678           <a href="javascript:setTab('eventFormTabs',0); show('bwEventTab-Basic'); hide('bwEventTab-Details','bwEventTab-Recurrence','bwEventTab-Access','bwEventTab-Scheduling');"> 
    2679             <xsl:copy-of select="$bwStr-AEEF-Basic"/> 
    2680           </a> 
    2681         </li> 
    2682         <li> 
    2683           <a href="javascript:setTab('eventFormTabs',1); show('bwEventTab-Details'); hide('bwEventTab-Basic','bwEventTab-Recurrence','bwEventTab-Access','bwEventTab-Scheduling');"> 
    2684             <xsl:copy-of select="$bwStr-AEEF-Details"/> 
    2685           </a> 
    2686         </li> 
    2687         <li> 
    2688           <a href="javascript:setTab('eventFormTabs',2); show('bwEventTab-Recurrence'); hide('bwEventTab-Details','bwEventTab-Basic','bwEventTab-Access','bwEventTab-Scheduling');"> 
    2689             <xsl:copy-of select="$bwStr-AEEF-Recurrence"/> 
    2690           </a> 
    2691         </li> 
    2692         <li> 
    2693           <a href="javascript:setTab('eventFormTabs',3); show('bwEventTab-Scheduling'); hide('bwEventTab-Basic','bwEventTab-Details','bwEventTab-Recurrence','bwEventTab-Access');"> 
    2694             <xsl:copy-of select="$bwStr-AEEF-Scheduling"/> 
    2695           </a> 
    2696         </li> 
    2697         <!-- Hide from use.  If you wish to enable the access control form for 
    2698          events, uncomment this block. 
    2699         <li> 
    2700           <a href="javascript:setTab('eventFormTabs',4); show('bwEventTab-Access'); hide('bwEventTab-Details','bwEventTab-Basic','bwEventTab-Recurrence','bwEventTab-Scheduling');"> 
    2701             access 
    2702           </a> 
    2703         </li>--> 
    2704       </ul> 
    2705  
    2706     <!-- Basic tab --> 
    2707     <!-- ============== --> 
    2708     <!-- this tab is visible by default --> 
    2709     <div id="bwEventTab-Basic"> 
    2710       <table cellspacing="0" class="common dottedBorder"> 
    2711         <!--  Calendar in which to place event  --> 
    2712         <tr> 
    2713           <td class="fieldname"> 
    2714             <xsl:copy-of select="$bwStr-AEEF-Calendar"/><xsl:text> </xsl:text> 
    2715           </td> 
    2716           <td class="fieldval"> 
    2717             <!-- the string "user/" should not be hard coded; fix this --> 
    2718             <xsl:variable name="userPath">user/<xsl:value-of select="/bedework/userid"/></xsl:variable> 
    2719             <xsl:variable name="writableCalendars"> 
    2720               <xsl:value-of select=" 
    2721                 count(/bedework/myCalendars//calendar[calType = '1' and 
    2722                        currentAccess/current-user-privilege-set/privilege/write-content]) + 
    2723                 count(/bedework/mySubscriptions//calendar[calType = '1' and 
    2724                        currentAccess/current-user-privilege-set/privilege/write-content and 
    2725                        (not(contains(path,$userPath)))])"/> 
    2726             </xsl:variable> 
    2727             <xsl:choose> 
    2728               <xsl:when test="$writableCalendars = 1"> 
    2729                 <!-- there is only 1 writable calendar, so find it by looking down both trees at once --> 
    2730                 <xsl:variable name="newCalPath"><xsl:value-of select="/bedework/myCalendars//calendar[calType = '1' and 
    2731                          currentAccess/current-user-privilege-set/privilege/write-content]/path"/><xsl:value-of select="/bedework/mySubscriptions//calendar[calType = '1' and 
    2732                        currentAccess/current-user-privilege-set/privilege/write-content and 
    2733                        (not(contains(path,$userPath)))]/path"/></xsl:variable> 
    2734  
    2735                 <input type="hidden" name="newCalPath" value="{$newCalPath}"/> 
    2736  
    2737                 <xsl:variable name="userFullPath"><xsl:value-of select="$userPath"/>/</xsl:variable> 
    2738                 <span id="bwEventCalDisplay"> 
    2739                   <xsl:choose> 
    2740                     <xsl:when test="contains($newCalPath,$userFullPath)"> 
    2741                       <xsl:value-of select="substring-after($newCalPath,$userFullPath)"/> 
    2742                     </xsl:when> 
    2743                     <xsl:otherwise> 
    2744                       <xsl:value-of select="$newCalPath"/> 
    2745                     </xsl:otherwise> 
    2746                   </xsl:choose> 
    2747                 </span> 
    2748               </xsl:when> 
    2749               <xsl:otherwise> 
    2750                 <input type="hidden" name="newCalPath" id="bwNewCalPathField"> 
    2751                   <xsl:attribute name="value"><xsl:value-of select="form/calendar/path"/></xsl:attribute> 
    2752                 </input> 
    2753  
    2754                 <xsl:variable name="userFullPath"><xsl:value-of select="$userPath"/>/</xsl:variable> 
    2755                 <span id="bwEventCalDisplay"> 
    2756                   <xsl:choose> 
    2757                     <xsl:when test="contains(form/calendar/path,$userFullPath)"> 
    2758                       <xsl:value-of select="substring-after(form/calendar/path,$userFullPath)"/> 
    2759                     </xsl:when> 
    2760                     <xsl:otherwise> 
    2761                       <xsl:value-of select="form/calendar/path"/> 
    2762                     </xsl:otherwise> 
    2763                   </xsl:choose> 
    2764                   <xsl:text> </xsl:text> 
    2765                   <!-- this final text element is required to avoid an empty 
    2766                        span element which is improperly rendered in the browser --> 
    2767                 </span> 
    2768  
    2769                 <xsl:call-template name="selectCalForEvent"/> 
    2770  
    2771               </xsl:otherwise> 
    2772             </xsl:choose> 
    2773           </td> 
    2774         </tr> 
    2775         <!--  Summary (title) of event  --> 
    2776         <tr> 
    2777           <td class="fieldname"> 
    2778             <xsl:copy-of select="$bwStr-AEEF-Title"/><xsl:text> </xsl:text> 
    2779           </td> 
    2780           <td class="fieldval"> 
    2781             <xsl:variable name="title" select="form/title/input/@value"/> 
    2782             <input type="text" name="summary" size="80" value="{$title}" id="bwEventTitle"/> 
    2783           </td> 
    2784         </tr> 
    2785  
    2786         <!--  Date and Time --> 
    2787         <!--  ============= --> 
    2788         <tr> 
    2789           <td class="fieldname"> 
    2790             <xsl:copy-of select="$bwStr-AEEF-DateAndTime"/><xsl:text> </xsl:text> 
    2791           </td> 
    2792           <td class="fieldval"> 
    2793             <!-- Set the timefields class for the first load of the page; 
    2794                  subsequent changes will take place using javascript without a 
    2795                  page reload. --> 
    2796             <xsl:variable name="timeFieldsClass"> 
    2797               <xsl:choose> 
    2798                 <xsl:when test="form/allDay/input/@checked='checked'">invisible</xsl:when> 
    2799                 <xsl:otherwise>timeFields</xsl:otherwise> 
    2800               </xsl:choose> 
    2801             </xsl:variable> 
    2802  
    2803             <!-- date only event: anniversary event - often interpreted as "all day event" --> 
    2804             <xsl:choose> 
    2805               <xsl:when test="form/allDay/input/@checked='checked'"> 
    2806                 <input type="checkbox" name="allDayFlag" onclick="swapAllDayEvent(this)" value="on" checked="checked"/> 
    2807                 <input type="hidden" name="eventStartDate.dateOnly" value="true" id="allDayStartDateField"/> 
    2808                 <input type="hidden" name="eventEndDate.dateOnly" value="true" id="allDayEndDateField"/> 
    2809               </xsl:when> 
    2810               <xsl:otherwise> 
    2811                 <input type="checkbox" name="allDayFlag" onclick="swapAllDayEvent(this)" value="off"/> 
    2812                 <input type="hidden" name="eventStartDate.dateOnly" value="false" id="allDayStartDateField"/> 
    2813                 <input type="hidden" name="eventEndDate.dateOnly" value="false" id="allDayEndDateField"/> 
    2814               </xsl:otherwise> 
    2815             </xsl:choose> 
    2816             <xsl:copy-of select="$bwStr-AEEF-AllDay"/> 
    2817  
    2818             <!-- floating event: no timezone (and not UTC) --> 
    2819             <xsl:choose> 
    2820               <xsl:when test="form/floating/input/@checked='checked'"> 
    2821                 <input type="checkbox" name="floatingFlag" id="floatingFlag" onclick="swapFloatingTime(this)" value="on" checked="checked"/> 
    2822                 <input type="hidden" name="eventStartDate.floating" value="true" id="startFloating"/> 
    2823                 <input type="hidden" name="eventEndDate.floating" value="true" id="endFloating"/> 
    2824               </xsl:when> 
    2825               <xsl:otherwise> 
    2826                 <input type="checkbox" name="floatingFlag" id="floatingFlag" onclick="swapFloatingTime(this)" value="off"/> 
    2827                 <input type="hidden" name="eventStartDate.floating" value="false" id="startFloating"/> 
    2828                 <input type="hidden" name="eventEndDate.floating" value="false" id="endFloating"/> 
    2829               </xsl:otherwise> 
    2830             </xsl:choose> 
    2831             <xsl:copy-of select="$bwStr-AEEF-Floating"/> 
    2832  
    2833             <!-- store time as coordinated universal time (UTC) --> 
    2834             <xsl:choose> 
    2835               <xsl:when test="form/storeUTC/input/@checked='checked'"> 
    2836                 <input type="checkbox" name="storeUTCFlag" id="storeUTCFlag" onclick="swapStoreUTC(this)" value="on" checked="checked"/> 
    2837                 <input type="hidden" name="eventStartDate.storeUTC" value="true" id="startStoreUTC"/> 
    2838                 <input type="hidden" name="eventEndDate.storeUTC" value="true" id="endStoreUTC"/> 
    2839               </xsl:when> 
    2840               <xsl:otherwise> 
    2841                 <input type="checkbox" name="storeUTCFlag" id="storeUTCFlag" onclick="swapStoreUTC(this)" value="off"/> 
    2842                 <input type="hidden" name="eventStartDate.storeUTC" value="false" id="startStoreUTC"/> 
    2843                 <input type="hidden" name="eventEndDate.storeUTC" value="false" id="endStoreUTC"/> 
    2844               </xsl:otherwise> 
    2845             </xsl:choose> 
    2846             <xsl:copy-of select="$bwStr-AEEF-StoreAsUTC"/> 
    2847  
    2848             <br/> 
    2849             <div class="dateStartEndBox"> 
    2850               <strong><xsl:copy-of select="$bwStr-AEEF-Start"/></strong><xsl:text> </xsl:text> 
    2851               <div class="dateFields"> 
    2852                 <span class="startDateLabel"><xsl:copy-of select="$bwStr-AEEF-Date"/><xsl:text> </xsl:text></span> 
    2853                 <xsl:choose> 
    2854                   <xsl:when test="$portalFriendly = 'true'"> 
    2855                     <xsl:copy-of select="/bedework/formElements/form/start/month/*"/> 
    2856                     <xsl:copy-of select="/bedework/formElements/form/start/day/*"/> 
    2857                     <xsl:choose> 
    2858                       <xsl:when test="/bedework/creating = 'true'"> 
    2859                         <xsl:copy-of select="/bedework/formElements/form/start/year/*"/> 
    2860                       </xsl:when> 
    2861                       <xsl:otherwise> 
    2862                         <xsl:copy-of select="/bedework/formElements/form/start/yearText/*"/> 
    2863                       </xsl:otherwise> 
    2864                     </xsl:choose> 
    2865                     <script type="text/javascript"> 
    2866                       <xsl:comment> 
    2867                       startDateDynCalWidget = new dynCalendar('startDateDynCalWidget', <xsl:value-of select="number(/bedework/formElements/form/start/yearText/input/@value)"/>, <xsl:value-of select="number(/bedework/formElements/form/start/month/select/option[@selected='selected']/@value)-1"/>, <xsl:value-of select="number(/bedework/formElements/form/start/day/select/option[@selected='selected']/@value)"/>, 'startDateCalWidgetCallback', '<xsl:value-of select="$resourcesRoot"/>/resources/'); 
    2868                       </xsl:comment> 
    2869                     </script> 
    2870                   </xsl:when> 
    2871                   <xsl:otherwise> 
    2872                     <input type="text" name="bwEventWidgetStartDate" id="bwEventWidgetStartDate" size="10"/> 
    2873                     <script type="text/javascript"> 
    2874                       <xsl:comment> 
    2875                       /*$("#bwEventWidgetStartDate").datepicker({ 
    2876                         defaultDate: new Date(<xsl:value-of select="form/start/yearText/input/@value"/>, <xsl:value-of select="number(form/start/month/select/option[@selected = 'selected']/@value) - 1"/>, <xsl:value-of select="form/start/day/select/option[@selected = 'selected']/@value"/>) 
    2877                       }).attr("readonly", "readonly"); 
    2878                       $("#bwEventWidgetStartDate").val('<xsl:value-of select="substring-before(form/start/rfc3339DateTime,'T')"/>');*/ 
    2879                       </xsl:comment> 
    2880                     </script> 
    2881                     <input type="hidden" name="eventStartDate.year"> 
    2882                       <xsl:attribute name="value"><xsl:value-of select="form/start/yearText/input/@value"/></xsl:attribute> 
    2883                     </input> 
    2884                     <input type="hidden" name="eventStartDate.month"> 
    2885                       <xsl:attribute name="value"><xsl:value-of select="form/start/month/select/option[@selected = 'selected']/@value"/></xsl:attribute> 
    2886                     </input> 
    2887                     <input type="hidden" name="eventStartDate.day"> 
    2888                       <xsl:attribute name="value"><xsl:value-of select="form/start/day/select/option[@selected = 'selected']/@value"/></xsl:attribute> 
    2889                     </input> 
    2890                   </xsl:otherwise> 
    2891                 </xsl:choose> 
    2892               </div> 
    2893               <div class="{$timeFieldsClass}" id="startTimeFields"> 
    2894                 <span id="calWidgetStartTimeHider" class="show"> 
    2895                   <xsl:copy-of select="form/start/hour/*"/> 
    2896                   <xsl:copy-of select="form/start/minute/*"/> 
    2897                   <xsl:if test="form/start/ampm"> 
    2898                     <xsl:copy-of select="form/start/ampm/*"/> 
    2899                   </xsl:if> 
    2900                   <xsl:text> </xsl:text> 
    2901                   <a href="javascript:bwClockLaunch('eventStartDate');"><img src="{$resourcesRoot}/resources/clockIcon.gif" width="16" height="15" border="0" alt="bwClock"/></a> 
    2902  
    2903                   <select name="eventStartDate.tzid" id="startTzid" class="timezones"> 
    2904                     <xsl:if test="form/floating/input/@checked='checked'"><xsl:attribute name="disabled">disabled</xsl:attribute></xsl:if> 
    2905                     <option value="-1"><xsl:copy-of select="$bwStr-AEEF-SelectTimezone"/></option> 
    2906                     <!--  deprecated: now calling timezone server.  See bedeworkEventForm.js --> 
    2907                     <!-- 
    2908                     <xsl:variable name="startTzId" select="form/start/tzid"/> 
    2909                     <xsl:for-each select="/bedework/timezones/timezone"> 
    2910                       <option> 
    2911                         <xsl:attribute name="value"><xsl:value-of select="id"/></xsl:attribute> 
    2912                         <xsl:if test="$startTzId = id"><xsl:attribute name="selected">selected</xsl:attribute></xsl:if> 
    2913                         <xsl:value-of select="name"/> 
    2914                       </option> 
    2915                     </xsl:for-each> 
    2916                     --> 
    2917                   </select> 
    2918                 </span> 
    2919               </div> 
    2920             </div> 
    2921             <div class="dateStartEndBox"> 
    2922               <strong> 
    2923                 <xsl:choose> 
    2924                   <xsl:when test="form/entityType = '2'"><xsl:copy-of select="$bwStr-AEEF-Due"/><xsl:text> </xsl:text></xsl:when> 
    2925                   <xsl:otherwise><xsl:copy-of select="$bwStr-AEEF-End"/><xsl:text> </xsl:text></xsl:otherwise> 
    2926                 </xsl:choose> 
    2927               </strong> 
    2928               <xsl:choose> 
    2929                 <xsl:when test="form/end/type='E'"> 
    2930                   <input type="radio" name="eventEndType" value="E" checked="checked" onclick="changeClass('endDateTime','shown');changeClass('endDuration','invisible');"/> 
    2931                 </xsl:when> 
    2932                 <xsl:otherwise> 
    2933                   <input type="radio" name="eventEndType" value="E" onclick="changeClass('endDateTime','shown');changeClass('endDuration','invisible');"/> 
    2934                 </xsl:otherwise> 
    2935               </xsl:choose> 
    2936               <xsl:copy-of select="$bwStr-AEEF-Date"/> 
    2937               <xsl:text> </xsl:text> 
    2938               <xsl:variable name="endDateTimeClass"> 
    2939                 <xsl:choose> 
    2940                   <xsl:when test="form/end/type='E'">shown</xsl:when> 
    2941                   <xsl:otherwise>invisible</xsl:otherwise> 
    2942                 </xsl:choose> 
    2943               </xsl:variable> 
    2944               <div class="{$endDateTimeClass}" id="endDateTime"> 
    2945                 <div class="dateFields"> 
    2946                   <xsl:choose> 
    2947                     <xsl:when test="$portalFriendly = 'true'"> 
    2948                       <xsl:copy-of select="/bedework/formElements/form/end/dateTime/month/*"/> 
    2949                       <xsl:copy-of select="/bedework/formElements/form/end/dateTime/day/*"/> 
    2950                       <xsl:choose> 
    2951                         <xsl:when test="/bedework/creating = 'true'"> 
    2952                           <xsl:copy-of select="/bedework/formElements/form/end/dateTime/year/*"/> 
    2953                         </xsl:when> 
    2954                         <xsl:otherwise> 
    2955                           <xsl:copy-of select="/bedework/formElements/form/end/dateTime/yearText/*"/> 
    2956                         </xsl:otherwise> 
    2957                       </xsl:choose> 
    2958                       <script type="text/javascript"> 
    2959                       <xsl:comment> 
    2960                         endDateDynCalWidget = new dynCalendar('endDateDynCalWidget', <xsl:value-of select="number(/bedework/formElements/form/start/yearText/input/@value)"/>, <xsl:value-of select="number(/bedework/formElements/form/start/month/select/option[@selected='selected']/@value)-1"/>, <xsl:value-of select="number(/bedework/formElements/form/start/day/select/option[@selected='selected']/@value)"/>, 'endDateCalWidgetCallback', '<xsl:value-of select="$resourcesRoot"/>/resources/'); 
    2961                       </xsl:comment> 
    2962                       </script> 
    2963                     </xsl:when> 
    2964                     <xsl:otherwise> 
    2965                       <!-- span dojoType="dropdowndatepicker" formatLength="medium" value="today" saveFormat="yyyyMMdd" id="bwEventWidgetEndDate" iconURL="{$resourcesRoot}/resources/calIcon.gif"> 
    2966                         <xsl:attribute name="value"><xsl:value-of select="form/end/rfc3339DateTime"/></xsl:attribute> 
    2967                         <xsl:text> </xsl:text> 
    2968                       </span--> 
    2969                       <input type="text" name="bwEventWidgetEndDate" id="bwEventWidgetEndDate" size="10"/> 
    2970                       <script type="text/javascript"> 
    2971                         <xsl:comment> 
    2972                         /*$("#bwEventWidgetEndDate").datepicker({ 
    2973                           defaultDate: new Date(<xsl:value-of select="form/end/dateTime/yearText/input/@value"/>, <xsl:value-of select="number(form/end/dateTime/month/select/option[@selected = 'selected']/@value) - 1"/>, <xsl:value-of select="form/end/dateTime/day/select/option[@selected = 'selected']/@value"/>) 
    2974                         }).attr("readonly", "readonly"); 
    2975                         $("#bwEventWidgetEndDate").val('<xsl:value-of select="substring-before(form/end/rfc3339DateTime,'T')"/>');*/ 
    2976                         </xsl:comment> 
    2977                       </script> 
    2978                       <input type="hidden" name="eventEndDate.year"> 
    2979                         <xsl:attribute name="value"><xsl:value-of select="form/end/dateTime/yearText/input/@value"/></xsl:attribute> 
    2980                       </input> 
    2981                       <input type="hidden" name="eventEndDate.month"> 
    2982                         <xsl:attribute name="value"><xsl:value-of select="form/end/dateTime/month/select/option[@selected = 'selected']/@value"/></xsl:attribute> 
    2983                       </input> 
    2984                       <input type="hidden" name="eventEndDate.day"> 
    2985                         <xsl:attribute name="value"><xsl:value-of select="form/end/dateTime/day/select/option[@selected = 'selected']/@value"/></xsl:attribute> 
    2986                       </input> 
    2987                     </xsl:otherwise> 
    2988                   </xsl:choose> 
    2989                 </div> 
    2990                 <div class="{$timeFieldsClass}" id="endTimeFields"> 
    2991                   <span id="calWidgetEndTimeHider" class="show"> 
    2992                     <xsl:copy-of select="form/end/dateTime/hour/*"/> 
    2993                     <xsl:copy-of select="form/end/dateTime/minute/*"/> 
    2994                     <xsl:if test="form/end/dateTime/ampm"> 
    2995                       <xsl:copy-of select="form/end/dateTime/ampm/*"/> 
    2996                     </xsl:if> 
    2997                     <xsl:text> </xsl:text> 
    2998                     <a href="javascript:bwClockLaunch('eventEndDate');"><img src="{$resourcesRoot}/resources/clockIcon.gif" width="16" height="15" border="0" alt="bwClock"/></a> 
    2999  
    3000                     <select name="eventEndDate.tzid" id="endTzid" class="timezones"> 
    3001                       <xsl:if test="form/floating/input/@checked='checked'"><xsl:attribute name="disabled">disabled</xsl:attribute></xsl:if> 
    3002                       <option value="-1"><xsl:copy-of select="$bwStr-AEEF-SelectTimezone"/></option> 
    3003                       <!--  deprecated: now calling timezone server.  See bedeworkEventForm.js --> 
    3004                       <!-- 
    3005                       <xsl:variable name="endTzId" select="form/end/dateTime/tzid"/> 
    3006                       <xsl:for-each select="/bedework/timezones/timezone"> 
    3007                         <option> 
    3008                           <xsl:attribute name="value"><xsl:value-of select="id"/></xsl:attribute> 
    3009                             <xsl:if test="$endTzId = id"><xsl:attribute name="selected">selected</xsl:attribute></xsl:if> 
    3010                           <xsl:value-of select="name"/> 
    3011                         </option> 
    3012                       </xsl:for-each> 
    3013                       --> 
    3014                     </select> 
    3015                   </span> 
    3016                 </div> 
    3017               </div><br/> 
    3018               <div id="clock" class="invisible"> 
    3019                 <xsl:call-template name="clock"/> 
    3020               </div> 
    3021               <div class="dateFields"> 
    3022                 <xsl:choose> 
    3023                   <xsl:when test="form/end/type='D'"> 
    3024                     <input type="radio" name="eventEndType" value="D" checked="checked" onclick="changeClass('endDateTime','invisible');changeClass('endDuration','shown');"/> 
    3025                   </xsl:when> 
    3026                   <xsl:otherwise> 
    3027                     <input type="radio" name="eventEndType" value="D" onclick="changeClass('endDateTime','invisible');changeClass('endDuration','shown');"/> 
    3028                   </xsl:otherwise> 
    3029                 </xsl:choose> 
    3030                 <xsl:copy-of select="$bwStr-AEEF-Duration"/> 
    3031                 <xsl:variable name="endDurationClass"> 
    3032                   <xsl:choose> 
    3033                     <xsl:when test="form/end/type='D'">shown</xsl:when> 
    3034                     <xsl:otherwise>invisible</xsl:otherwise> 
    3035                   </xsl:choose> 
    3036                 </xsl:variable> 
    3037                 <xsl:variable name="durationHrMinClass"> 
    3038                   <xsl:choose> 
    3039                     <xsl:when test="form/allDay/input/@checked='checked'">invisible</xsl:when> 
    3040                     <xsl:otherwise>shown</xsl:otherwise> 
    3041                   </xsl:choose> 
    3042                 </xsl:variable> 
    3043                 <div class="{$endDurationClass}" id="endDuration"> 
    3044                   <xsl:choose> 
    3045                     <xsl:when test="form/end/duration/weeks/input/@value = '0'"> 
    3046                     <!-- we are using day, hour, minute format --> 
    3047                     <!-- must send either no week value or week value of 0 (zero) --> 
    3048                       <div class="durationBox"> 
    3049                         <input type="radio" name="eventDuration.type" value="daytime" onclick="swapDurationType('daytime')" checked="checked"/> 
    3050                         <input type="text" name="eventDuration.daysStr" size="2" id="durationDays"> 
    3051                           <xsl:attribute name="value"> 
    3052                             <xsl:choose> 
    3053                               <xsl:when test="/bedework/creating='true' and form/allDay/input/@checked='checked'">1</xsl:when> 
    3054                               <xsl:when test="/bedework/creating='true' and form/allDay/input/@checked!='checked'">0</xsl:when> 
    3055                               <xsl:otherwise><xsl:value-of select="form/end/duration/days/input/@value"/></xsl:otherwise> 
    3056                             </xsl:choose> 
    3057                           </xsl:attribute> 
    3058                         </input> 
    3059                         <xsl:copy-of select="$bwStr-AEEF-Days"/> 
    3060                         <xsl:text> </xsl:text> 
    3061                         <span id="durationHrMin" class="{$durationHrMinClass}"> 
    3062                           <input type="text" name="eventDuration.hoursStr" size="2" id="durationHours"> 
    3063                             <xsl:attribute name="value"> 
    3064                               <xsl:choose> 
    3065                                 <xsl:when test="/bedework/creating='true'">1</xsl:when> 
    3066                                 <xsl:otherwise><xsl:value-of select="form/end/duration/hours/input/@value"/></xsl:otherwise> 
    3067                               </xsl:choose> 
    3068                             </xsl:attribute> 
    3069                           </input> 
    3070                           <xsl:copy-of select="$bwStr-AEEF-Hours"/> 
    3071                           <xsl:text> </xsl:text> 
    3072                           <input type="text" name="eventDuration.minutesStr" size="2" id="durationMinutes"> 
    3073                             <xsl:attribute name="value"> 
    3074                               <xsl:choose> 
    3075                                 <xsl:when test="/bedework/creating='true'">0</xsl:when> 
    3076                                 <xsl:otherwise><xsl:value-of select="form/end/duration/minutes/input/@value"/></xsl:otherwise> 
    3077                               </xsl:choose> 
    3078                             </xsl:attribute> 
    3079                           </input> 
    3080                           <xsl:copy-of select="$bwStr-AEEF-Minutes"/> 
    3081                         </span> 
    3082                       </div> 
    3083                       <span class="durationSpacerText"><xsl:copy-of select="$bwStr-AEEF-Or"/></span> 
    3084                       <div class="durationBox"> 
    3085                         <input type="radio" name="eventDuration.type" value="weeks" onclick="swapDurationType('week')"/> 
    3086                         <xsl:variable name="weeksStr" select="form/end/duration/weeks/input/@value"/> 
    3087                         <input type="text" name="eventDuration.weeksStr" size="2" value="{$weeksStr}" id="durationWeeks" disabled="disabled"/><xsl:copy-of select="$bwStr-AEEF-Weeks"/> 
    3088                       </div> 
    3089                     </xsl:when> 
    3090                     <xsl:otherwise> 
    3091                       <!-- we are using week format --> 
    3092                       <div class="durationBox"> 
    3093                         <input type="radio" name="eventDuration.type" value="daytime" onclick="swapDurationType('daytime')"/> 
    3094                         <xsl:variable name="daysStr" select="form/end/duration/days/input/@value"/> 
    3095                         <input type="text" name="eventDuration.daysStr" size="2" value="{$daysStr}" id="durationDays" disabled="disabled"/><xsl:copy-of select="$bwStr-AEEF-Days"/> 
    3096                         <span id="durationHrMin" class="{$durationHrMinClass}"> 
    3097                           <xsl:variable name="hoursStr" select="form/end/duration/hours/input/@value"/> 
    3098                           <input type="text" name="eventDuration.hoursStr" size="2" value="{$hoursStr}" id="durationHours" disabled="disabled"/><xsl:copy-of select="$bwStr-AEEF-Hours"/> 
    3099                           <xsl:variable name="minutesStr" select="form/end/duration/minutes/input/@value"/> 
    3100                           <input type="text" name="eventDuration.minutesStr" size="2" value="{$minutesStr}" id="durationMinutes" disabled="disabled"/><xsl:copy-of select="$bwStr-AEEF-Minutes"/> 
    3101                         </span> 
    3102                       </div> 
    3103                       <span class="durationSpacerText"><xsl:copy-of select="$bwStr-AEEF-Or"/></span> 
    3104                       <div class="durationBox"> 
    3105                         <input type="radio" name="eventDuration.type" value="weeks" onclick="swapDurationType('week')" checked="checked"/> 
    3106                         <xsl:variable name="weeksStr" select="form/end/duration/weeks/input/@value"/> 
    3107                         <input type="text" name="eventDuration.weeksStr" size="2" value="{$weeksStr}" id="durationWeeks"/><xsl:copy-of select="$bwStr-AEEF-Weeks"/> 
    3108                       </div> 
    3109                     </xsl:otherwise> 
    3110                   </xsl:choose> 
    3111                 </div> 
    3112               </div><br/> 
    3113               <div class="dateFields" id="noDuration"> 
    3114                 <xsl:choose> 
    3115                   <xsl:when test="form/end/type='N'"> 
    3116                     <input type="radio" name="eventEndType" value="N" checked="checked" onclick="changeClass('endDateTime','invisible');changeClass('endDuration','invisible');"/> 
    3117                   </xsl:when> 
    3118                   <xsl:otherwise> 
    3119                     <input type="radio" name="eventEndType" value="N" onclick="changeClass('endDateTime','invisible');changeClass('endDuration','invisible');"/> 
    3120                   </xsl:otherwise> 
    3121                 </xsl:choose> 
    3122                 <xsl:copy-of select="$bwStr-AEEF-This"/><xsl:text> </xsl:text> 
    3123                 <xsl:choose> 
    3124                   <xsl:when test="form/entityType = '2'"><xsl:copy-of select="$bwStr-AEEF-Task"/><xsl:text> </xsl:text></xsl:when> 
    3125                   <xsl:otherwise><xsl:copy-of select="$bwStr-AEEF-Event"/><xsl:text> </xsl:text></xsl:otherwise> 
    3126                 </xsl:choose> 
    3127                 <xsl:copy-of select="$bwStr-AEEF-HasNoDurationEndDate"/> 
    3128               </div> 
    3129             </div> 
    3130           </td> 
    3131         </tr> 
    3132  
    3133         <!--  Percent Complete (only for Tasks)  --> 
    3134         <xsl:if test="form/entityType = '2'"> 
    3135           <tr> 
    3136             <td class="fieldname"> 
    3137               <xsl:copy-of select="$bwStr-AEEF-Complete"/><xsl:text> </xsl:text> 
    3138             </td> 
    3139             <td class="fieldval" align="left"> 
    3140               <input type="text" name="percentComplete" size="3" maxlength="3"> 
    3141                 <xsl:attribute name="value"><xsl:value-of select="form/percentComplete"/></xsl:attribute> 
    3142               </input>% 
    3143             </td> 
    3144           </tr> 
    3145         </xsl:if> 
    3146  
    3147         <!--  Transparency  --> 
    3148         <tr> 
    3149           <td class="fieldname padMeTop"> 
    3150             <xsl:copy-of select="$bwStr-AEEF-AffectsFreeBusy"/><xsl:text> </xsl:text> 
    3151           </td> 
    3152           <td align="left" class="padMeTop"> 
    3153             <input type="radio" value="OPAQUE" name="transparency"> 
    3154               <xsl:if test="form/transparency = 'OPAQUE'"> 
    3155                 <xsl:attribute name="checked">checked</xsl:attribute> 
    3156               </xsl:if> 
    3157             </input> 
    3158             <xsl:copy-of select="$bwStr-AEEF-Yes"/><xsl:text> </xsl:text><span class="note"><xsl:copy-of select="$bwStr-AEEF-Opaque"/></span><br/> 
    3159  
    3160             <input type="radio" value="TRANSPARENT" name="transparency"> 
    3161               <xsl:if test="form/transparency = 'TRANSPARENT'"> 
    3162                 <xsl:attribute name="checked">checked</xsl:attribute> 
    3163               </xsl:if> 
    3164             </input> 
    3165             <xsl:copy-of select="$bwStr-AEEF-No"/><xsl:text> </xsl:text><span class="note"><xsl:copy-of select="$bwStr-AEEF-Transparent"/></span><br/> 
    3166           </td> 
    3167         </tr> 
    3168  
    3169         <!--  Category  --> 
    3170         <tr> 
    3171           <td class="fieldname"> 
    3172             <xsl:copy-of select="$bwStr-AEEF-Categories"/><xsl:text> </xsl:text> 
    3173           </td> 
    3174           <td class="fieldval" align="left"> 
    3175             <xsl:variable name="catCount" select="count(form/categories/all/category)"/> 
    3176             <xsl:choose> 
    3177               <xsl:when test="not(form/categories/all/category)"> 
    3178                 <xsl:copy-of select="$bwStr-AEEF-NoCategoriesDefined"/> 
    3179                 <span class="note">(<a href="{$category-initAdd}"><xsl:copy-of select="$bwStr-AEEF-AddCategory"/></a>)</span> 
    3180               </xsl:when> 
    3181               <xsl:otherwise> 
    3182                 <table cellpadding="0" id="allCategoryCheckboxes"> 
    3183                   <tr> 
    3184                     <td> 
    3185                       <xsl:for-each select="form/categories/all/category[position() &lt;= ceiling($catCount div 2)]"> 
    3186                         <input type="checkbox" name="catUid"/> 
    3187                           <xsl:attribute name="value"><xsl:value-of select="uid"/></xsl:attribute> 
    3188                           <xsl:if test="uid = form/categories/current//category/uid"><xsl:attribute name="checked">checked</xsl:attribute></xsl:if> 
    3189                           <xsl:value-of select="value"/> 
    3190                         <br/> 
    3191                       </xsl:for-each> 
    3192                     </td> 
    3193                     <td> 
    3194                       <xsl:for-each select="form/categories/all/category[position() &gt; ceiling($catCount div 2)]"> 
    3195                         <input type="checkbox" name="catUid"/> 
    3196                           <xsl:attribute name="value"><xsl:value-of select="uid"/></xsl:attribute> 
    3197                           <xsl:if test="uid = form/categories/current//category/uid"><xsl:attribute name="checked">checked</xsl:attribute></xsl:if> 
    3198                           <xsl:value-of select="value"/> 
    3199                         <br/> 
    3200                       </xsl:for-each> 
    3201                     </td> 
    3202                   </tr> 
    3203                 </table> 
    3204               </xsl:otherwise> 
    3205             </xsl:choose> 
    3206           </td> 
    3207         </tr> 
    3208       </table> 
    3209     </div> 
    3210  
    3211  
    3212     <!-- Details tab --> 
    3213     <!-- ============== --> 
    3214     <div id="bwEventTab-Details" class="invisible"> 
    3215       <table cellspacing="0" class="common dottedBorder"> 
    3216         <!--  Location  --> 
    3217         <tr> 
    3218           <td class="fieldname"><xsl:copy-of select="$bwStr-AEEF-Location"/></td> 
    3219           <td class="fieldval" align="left"> 
    3220             <span class="std-text"><xsl:copy-of select="$bwStr-AEEF-Choose"/><xsl:text> </xsl:text></span> 
    3221             <span id="eventFormLocationList"> 
    3222               <!-- 
    3223               <xsl:choose> 
    3224                 <xsl:when test="/bedework/creating = 'true'"> 
    3225                   <select name="locationUid"> 
    3226                     <option value="-1">select...</option> 
    3227                     <xsl:copy-of select="form/location/locationmenu/select/*"/> 
    3228                   </select> 
    3229                 </xsl:when> 
    3230                 <xsl:otherwise> 
    3231                   <select name="eventLocationUid"> 
    3232                     <option value="-1">select...</option> 
    3233                     <xsl:copy-of select="form/location/locationmenu/select/*"/> 
    3234                   </select> 
    3235                 </xsl:otherwise> 
    3236               </xsl:choose> 
    3237               --> 
    3238               <select name="locationUid"> 
    3239                 <option value=""><xsl:copy-of select="$bwStr-AEEF-Select"/></option> 
    3240                 <xsl:copy-of select="form/location/locationmenu/select/*"/> 
    3241               </select> 
    3242             </span> 
    3243             <span class="std-text"><xsl:text> </xsl:text><xsl:copy-of select="$bwStr-AEEF-OrAddNew"/><xsl:text> </xsl:text></span> 
    3244             <input type="text" name="locationAddress.value" value="" /> 
    3245           </td> 
    3246         </tr> 
    3247         <!--  Link (url associated with event)  --> 
    3248         <tr> 
    3249           <td class="fieldname"><xsl:copy-of select="$bwStr-AEEF-EventLink"/><xsl:text> </xsl:text></td> 
    3250           <td class="fieldval"> 
    3251             <xsl:variable name="link" select="form/link/input/@value"/> 
    3252             <input type="text" name="eventLink" size="80" value="{$link}"/> 
    3253           </td> 
    3254         </tr> 
    3255         <!--  Description  --> 
    3256         <tr> 
    3257           <td class="fieldname"><xsl:copy-of select="$bwStr-AEEF-Description"/><xsl:text> </xsl:text></td> 
    3258           <td class="fieldval"> 
    3259             <xsl:choose> 
    3260               <xsl:when test="normalize-space(form/desc/textarea) = ''"> 
    3261                 <textarea name="description" cols="60" rows="4"> 
    3262                   <xsl:text> </xsl:text> 
    3263                 </textarea> 
    3264                 <!-- keep this space to avoid browser 
    3265                 rendering errors when the text area is empty --> 
    3266               </xsl:when> 
    3267               <xsl:otherwise> 
    3268                 <textarea name="description" cols="60" rows="4"> 
    3269                   <xsl:value-of select="form/desc/textarea"/> 
    3270                 </textarea> 
    3271               </xsl:otherwise> 
    3272             </xsl:choose> 
    3273           </td> 
    3274         </tr> 
    3275         <!--<tr> 
    3276           <td class="fieldname"> 
    3277             Type: 
    3278           </td> 
    3279           <td class="fieldval"> 
    3280             <input type="radio" name="schedule" size="80" value="none" checked="checked"> 
    3281               <xsl:if test="form/scheduleMethod = '0'"><xsl:attribute name="checked">checked</xsl:attribute></xsl:if> 
    3282               my event 
    3283             </input> 
    3284             <input type="radio" name="schedule" size="80" value="request"> 
    3285               <xsl:if test="form/scheduleMethod = '2'"><xsl:attribute name="checked">checked</xsl:attribute></xsl:if> 
    3286               meeting request 
    3287             </input> 
    3288             <input type="radio" name="schedule" size="80" value="publish"> 
    3289               <xsl:if test="form/scheduleMethod = '1'"><xsl:attribute name="checked">checked</xsl:attribute></xsl:if> 
    3290               published event 
    3291             </input> 
    3292             <xsl:if test="/bedework/creating = 'false' and form/scheduleMethod = '2'"> 
    3293               <br/><input type="checkbox" name="schedule" value="reconfirm "/> ask attendees to reconfirm 
    3294             </xsl:if> 
    3295           </td> 
    3296         </tr>--> 
    3297         <!--  Recipients and Attendees  --> 
    3298         <!-- 
    3299         <tr> 
    3300           <td class="fieldname"> 
    3301             Recipients &amp;<br/> Attendees: 
    3302           </td> 
    3303           <td class="fieldval posrelative"> 
    3304             <input type="button" value="Manage recipients and attendees" onclick="launchSizedWindow('{$event-showAttendeesForEvent}','500','400')" class="small"/> 
    3305           </td> 
    3306         </tr>--> 
    3307         <!--  Status  --> 
    3308         <tr> 
    3309           <td class="fieldname"> 
    3310             <xsl:copy-of select="$bwStr-AEEF-Status"/><xsl:text> </xsl:text> 
    3311           </td> 
    3312           <td class="fieldval"> 
    3313             <input type="radio" name="eventStatus" value="CONFIRMED"> 
    3314               <xsl:if test="form/status = 'CONFIRMED' or /bedework/creating = 'true' or form/status = ''"><xsl:attribute name="checked">checked</xsl:attribute></xsl:if> 
    3315             </input> 
    3316             <xsl:copy-of select="$bwStr-AEEF-Confirmed"/> 
    3317             <input type="radio" name="eventStatus" value="TENTATIVE"> 
    3318               <xsl:if test="form/status = 'TENTATIVE'"><xsl:attribute name="checked">checked</xsl:attribute></xsl:if> 
    3319             </input> 
    3320             <xsl:copy-of select="$bwStr-AEEF-Tentative"/> 
    3321             <input type="radio" name="eventStatus" value="CANCELLED"> 
    3322               <xsl:if test="form/status = 'CANCELLED'"><xsl:attribute name="checked">checked</xsl:attribute></xsl:if> 
    3323             </input> 
    3324             <xsl:copy-of select="$bwStr-AEEF-Canceled"/> 
    3325           </td> 
    3326         </tr> 
    3327         <!--  Transparency  --> 
    3328         <xsl:if test="entityType != '2'"><!-- no transparency for Tasks --> 
    3329           <tr> 
    3330             <td class="fieldname"> 
    3331               <xsl:copy-of select="$bwStr-AEEF-AffectsFreeBusy"/> 
    3332             </td> 
    3333             <td class="fieldval"> 
    3334               <xsl:choose> 
    3335                 <xsl:when test="form/transparency = 'TRANSPARENT'"> 
    3336                   <input type="radio" name="transparency" value="OPAQUE"/><xsl:copy-of select="$bwStr-AEEF-Yes"/> <span class="note"><xsl:copy-of select="$bwStr-AEEF-Opaque"/></span><br/> 
    3337                   <input type="radio" name="transparency" value="TRANSPARENT" checked="checked"/><xsl:copy-of select="$bwStr-AEEF-No"/><xsl:text> </xsl:text><span class="note"><xsl:copy-of select="$bwStr-AEEF-Transparent"/></span> 
    3338                 </xsl:when> 
    3339                 <xsl:otherwise> 
    3340                   <input type="radio" name="transparency" value="OPAQUE" checked="checked"/><xsl:copy-of select="$bwStr-AEEF-Yes"/> <span class="note"><xsl:copy-of select="$bwStr-AEEF-Opaque"/></span><br/> 
    3341                   <input type="radio" name="transparency" value="TRANSPARENT"/><xsl:copy-of select="$bwStr-AEEF-No"/> <span class="note"><xsl:copy-of select="$bwStr-AEEF-Transparent"/></span> 
    3342                 </xsl:otherwise> 
    3343               </xsl:choose> 
    3344             </td> 
    3345           </tr> 
    3346         </xsl:if> 
    3347       </table> 
    3348     </div> 
    3349  
    3350  
    3351     <!-- Recurrence tab --> 
    3352     <!-- ============== --> 
    3353     <div id="bwEventTab-Recurrence" class="invisible"> 
    3354       <xsl:choose> 
    3355         <xsl:when test="recurrenceId != ''"> 
    3356           <!-- recurrence instances can not themselves recur, 
    3357                so provide access to master event --> 
    3358           <em><xsl:copy-of select="$bwStr-AEEF-ThisEventRecurrenceInstance"/></em><br/> 
    3359           <a href="{$editEvent}&amp;calPath={$calPath}&amp;guid={$guid}" title="{$bwStr-AEEF-EditMaster}"><xsl:copy-of select="$bwStr-AEEF-EditMasterEvent"/></a> 
    3360         </xsl:when> 
    3361         <xsl:otherwise> 
    3362           <!-- has recurrenceId, so is master --> 
    3363  
    3364           <div id="recurringSwitch"> 
    3365             <!-- set or remove "recurring" and show or hide all recurrence fields: --> 
    3366             <input type="radio" name="recurring" value="true" onclick="swapRecurrence(this)"> 
    3367               <xsl:if test="form/recurringEntity = 'true'"><xsl:attribute name="checked">checked</xsl:attribute></xsl:if> 
    3368             </input> <xsl:copy-of select="$bwStr-AEEF-EventRecurs"/> 
    3369             <input type="radio" name="recurring" value="false" onclick="swapRecurrence(this)"> 
    3370               <xsl:if test="form/recurringEntity = 'false'"><xsl:attribute name="checked">checked</xsl:attribute></xsl:if> 
    3371             </input> <xsl:copy-of select="$bwStr-AEEF-EventDoesNotRecur"/> 
    3372           </div> 
    3373  
    3374           <!-- wrapper for all recurrence fields (rrules and rdates): --> 
    3375           <div id="recurrenceFields" class="invisible"> 
    3376             <xsl:if test="form/recurringEntity = 'true'"><xsl:attribute name="class">visible</xsl:attribute></xsl:if> 
    3377  
    3378             <h4><xsl:copy-of select="$bwStr-AEEF-RecurrenceRules"/></h4> 
    3379             <!-- show or hide rrules fields when editing: --> 
    3380             <xsl:if test="form/recurrence"> 
    3381               <input type="checkbox" name="rrulesFlag" onclick="swapRrules(this)" value="on"/> 
    3382               <span id="rrulesSwitch"> 
    3383                 <xsl:copy-of select="$bwStr-AEEF-ChangeRecurrenceRules"/> 
    3384               </span> 
    3385             </xsl:if> 
    3386             <span id="rrulesUiSwitch"> 
    3387               <xsl:if test="form/recurrence"> 
    3388                 <xsl:attribute name="class">invisible</xsl:attribute> 
    3389               </xsl:if> 
    3390               <input type="checkbox" name="rrulesUiSwitch" value="advanced" onchange="swapVisible(this,'advancedRrules')"/> 
    3391               <xsl:copy-of select="$bwStr-AEEF-ShowAdvancedRecurrenceRules"/> 
    3392             </span> 
    3393  
    3394             <xsl:if test="form/recurrence"> 
    3395               <!-- Output descriptive recurrence rules information.  Probably not 
    3396                    complete yet. Replace all strings so can be 
    3397                    more easily internationalized. --> 
    3398               <div id="recurrenceInfo"> 
    3399                 <xsl:copy-of select="$bwStr-AEEF-EVERY"/><xsl:text> </xsl:text> 
    3400                 <xsl:choose> 
    3401                   <xsl:when test="form/recurrence/interval &gt; 1"> 
    3402                     <xsl:value-of select="form/recurrence/interval"/> 
    3403                   </xsl:when> 
    3404                 </xsl:choose> 
    3405                 <xsl:text> </xsl:text> 
    3406                 <xsl:choose> 
    3407                   <xsl:when test="form/recurrence/freq = 'HOURLY'"><xsl:copy-of select="$bwStr-AEEF-Hour"/></xsl:when> 
    3408                   <xsl:when test="form/recurrence/freq = 'DAILY'"><xsl:copy-of select="$bwStr-AEEF-Day"/></xsl:when> 
    3409                   <xsl:when test="form/recurrence/freq = 'WEEKLY'"><xsl:copy-of select="$bwStr-AEEF-Week"/></xsl:when> 
    3410                   <xsl:when test="form/recurrence/freq = 'MONTHLY'"><xsl:copy-of select="$bwStr-AEEF-Month"/></xsl:when> 
    3411                   <xsl:when test="form/recurrence/freq = 'YEARLY'"><xsl:copy-of select="$bwStr-AEEF-Year"/></xsl:when> 
    3412                 </xsl:choose> 
    3413                 <xsl:text> </xsl:text> 
    3414  
    3415                 <xsl:if test="form/recurrence/byday"> 
    3416                   <xsl:for-each select="form/recurrence/byday/pos"> 
    3417                     <xsl:if test="position() != 1"> <xsl:copy-of select="$bwStr-AEEF-And"/> </xsl:if> 
    3418                     <xsl:copy-of select="$bwStr-AEEF-On"/> 
    3419                     <xsl:choose> 
    3420                       <xsl:when test="@val='1'"> 
    3421                         <xsl:copy-of select="$bwStr-AEEF-TheFirst"/> 
    3422                       </xsl:when> 
    3423                       <xsl:when test="@val='2'"> 
    3424                         <xsl:copy-of select="$bwStr-AEEF-TheSecond"/> 
    3425                       </xsl:when> 
    3426                       <xsl:when test="@val='3'"> 
    3427                         <xsl:copy-of select="$bwStr-AEEF-TheThird"/> 
    3428                       </xsl:when> 
    3429                       <xsl:when test="@val='4'"> 
    3430                         <xsl:copy-of select="$bwStr-AEEF-TheFourth"/> 
    3431                       </xsl:when> 
    3432                       <xsl:when test="@val='5'"> 
    3433                         <xsl:copy-of select="$bwStr-AEEF-TheFifth"/> 
    3434                       </xsl:when> 
    3435                       <xsl:when test="@val='-1'"> 
    3436                         <xsl:copy-of select="$bwStr-AEEF-TheLast"/> 
    3437                       </xsl:when> 
    3438                       <!-- don't output "every" --> 
    3439                       <!--<xsl:otherwise> 
    3440                         every 
    3441                       </xsl:otherwise>--> 
    3442                     </xsl:choose> 
    3443                     <xsl:for-each select="day"> 
    3444                       <xsl:if test="position() != 1 and position() = last()"> <xsl:copy-of select="$bwStr-AEEF-And"/> </xsl:if> 
    3445                       <xsl:variable name="dayVal" select="."/> 
    3446                       <xsl:variable name="dayPos"> 
    3447                         <xsl:for-each select="/bedework/recurdayvals/val"> 
    3448                           <xsl:if test="node() = $dayVal"><xsl:value-of select="position()"/></xsl:if> 
    3449                         </xsl:for-each> 
    3450                       </xsl:variable> 
    3451                       <xsl:value-of select="/bedework/shortdaynames/val[position() = $dayPos]"/> 
    3452                       <xsl:if test="position() != last()">, </xsl:if> 
    3453                     </xsl:for-each> 
    3454                   </xsl:for-each> 
    3455                 </xsl:if> 
    3456  
    3457                 <xsl:if test="form/recurrence/bymonth"> 
    3458                   <xsl:copy-of select="$bwStr-AEEF-In"/> 
    3459                   <xsl:for-each select="form/recurrence/bymonth/val"> 
    3460                     <xsl:if test="position() != 1 and position() = last()"> <xsl:copy-of select="$bwStr-AEEF-And"/> </xsl:if> 
    3461                     <xsl:variable name="monthNum" select="number(.)"/> 
    3462                     <xsl:value-of select="/bedework/monthlabels/val[position() = $monthNum]"/> 
    3463                     <xsl:if test="position() != last()">, </xsl:if> 
    3464                   </xsl:for-each> 
    3465                 </xsl:if> 
    3466  
    3467                 <xsl:if test="form/recurrence/bymonthday"> 
    3468                   <xsl:copy-of select="$bwStr-AEEF-OnThe"/> 
    3469                   <xsl:apply-templates select="form/recurrence/bymonthday/val" mode="weekMonthYearNumbers"/> 
    3470                   <xsl:copy-of select="$bwStr-AEEF-DayOfTheMonth"/> 
    3471                 </xsl:if> 
    3472  
    3473                 <xsl:if test="form/recurrence/byyearday"> 
    3474                   <xsl:copy-of select="$bwStr-AEEF-OnThe"/> 
    3475                   <xsl:apply-templates select="form/recurrence/byyearday/val" mode="weekMonthYearNumbers"/> 
    3476                   <xsl:copy-of select="$bwStr-AEEF-DayOfTheYear"/> 
    3477                 </xsl:if> 
    3478  
    3479                 <xsl:if test="form/recurrence/byweekno"> 
    3480                   <xsl:copy-of select="$bwStr-AEEF-InThe"/> 
    3481                   <xsl:apply-templates select="form/recurrence/byweekno/val" mode="weekMonthYearNumbers"/> 
    3482                   <xsl:copy-of select="$bwStr-AEEF-WeekOfTheYear"/> 
    3483                 </xsl:if> 
    3484  
    3485                 <xsl:copy-of select="$bwStr-AEEF-Repeating"/> 
    3486                 <xsl:choose> 
    3487                   <xsl:when test="form/recurrence/count = '-1'"><xsl:text> </xsl:text><xsl:copy-of select="$bwStr-AEEF-Forever"/></xsl:when> 
    3488                   <xsl:when test="form/recurrence/until"> 
    3489                     <xsl:copy-of select="$bwStr-AEEF-Until"/> <xsl:value-of select="substring(form/recurrence/until,1,4)"/>-<xsl:value-of select="substring(form/recurrence/until,5,2)"/>-<xsl:value-of select="substring(form/recurrence/until,7,2)"/> 
    3490                   </xsl:when> 
    3491                   <xsl:otherwise> 
    3492                     <xsl:value-of select="form/recurrence/count"/> 
    3493                     <xsl:copy-of select="$bwStr-AEEF-Time"/> 
    3494                   </xsl:otherwise> 
    3495                 </xsl:choose> 
    3496               </div> 
    3497             </xsl:if> 
    3498  
    3499             <!-- set these dynamically when form is submitted --> 
    3500             <input type="hidden" name="interval" value=""/> 
    3501             <input type="hidden" name="count" value=""/> 
    3502             <input type="hidden" name="until" value=""/> 
    3503             <input type="hidden" name="byday" value=""/> 
    3504             <input type="hidden" name="bymonthday" value=""/> 
    3505             <input type="hidden" name="bymonth" value=""/> 
    3506             <input type="hidden" name="byweekno" value=""/> 
    3507             <input type="hidden" name="byyearday" value=""/> 
    3508             <input type="hidden" name="wkst" value=""/> 
    3509             <input type="hidden" name="setpos" value=""/> 
    3510  
    3511             <!-- wrapper for rrules: --> 
    3512             <table id="rrulesTable" cellspacing="0"> 
    3513               <xsl:if test="form/recurrence"> 
    3514                 <xsl:attribute name="class">invisible</xsl:attribute> 
    3515               </xsl:if> 
    3516               <tr> 
    3517                 <td id="recurrenceFrequency" rowspan="2"> 
    3518                   <em><xsl:copy-of select="$bwStr-AEEF-Frequency"/></em><br/> 
    3519                   <input type="radio" name="freq" value="NONE" onclick="showRrules(this.value)" checked="checked"/><xsl:copy-of select="$bwStr-AEEF-None"/><br/> 
    3520                   <!--<input type="radio" name="freq" value="HOURLY" onclick="showRrules(this.value)"/>hourly<br/>--> 
    3521                   <input type="radio" name="freq" value="DAILY" onclick="showRrules(this.value)"/><xsl:copy-of select="$bwStr-AEEF-Daily"/><br/> 
    3522                   <input type="radio" name="freq" value="WEEKLY" onclick="showRrules(this.value)"/><xsl:copy-of select="$bwStr-AEEF-Weekly"/><br/> 
    3523                   <input type="radio" name="freq" value="MONTHLY" onclick="showRrules(this.value)"/><xsl:copy-of select="$bwStr-AEEF-Monthly"/><br/> 
    3524                   <input type="radio" name="freq" value="YEARLY" onclick="showRrules(this.value)"/><xsl:copy-of select="$bwStr-AEEF-Yearly"/> 
    3525                 </td> 
    3526                 <!-- recurrence count, until, forever --> 
    3527                 <td id="recurrenceUntil"> 
    3528                   <div id="noneRecurrenceRules"> 
    3529                     <xsl:copy-of select="$bwStr-AEEF-NoRecurrenceRules"/> 
    3530                   </div> 
    3531                   <div id="recurrenceUntilRules" class="invisible"> 
    3532                     <em><xsl:copy-of select="$bwStr-AEEF-Repeat"/></em> 
    3533                     <p> 
    3534                       <input type="radio" name="recurCountUntil" value="forever"> 
    3535                         <xsl:if test="not(form/recurring) or form/recurring/count = '-1'"> 
    3536                           <xsl:attribute name="checked">checked</xsl:attribute> 
    3537                         </xsl:if> 
    3538                       </input> 
    3539                       <xsl:copy-of select="$bwStr-AEEF-Forever"/> 
    3540                       <input type="radio" name="recurCountUntil" value="count" id="recurCount"> 
    3541                         <xsl:if test="form/recurring/count != '-1'"> 
    3542                           <xsl:attribute name="checked">checked</xsl:attribute> 
    3543                         </xsl:if> 
    3544                       </input> 
    3545                       <input type="text" value="1" size="2" name="countHolder"  onfocus="selectRecurCountUntil('recurCount')"> 
    3546                         <xsl:if test="form/recurring/count and form/recurring/count != '-1'"> 
    3547                           <xsl:attribute name="value"><xsl:value-of select="form/recurring/count"/></xsl:attribute> 
    3548                         </xsl:if> 
    3549                       </input> 
    3550                       <xsl:copy-of select="$bwStr-AEEF-Time"/> 
    3551                       <input type="radio" name="recurCountUntil" value="until" id="recurUntil"> 
    3552                         <xsl:if test="form/recurring/until"> 
    3553                           <xsl:attribute name="checked">checked</xsl:attribute> 
    3554                         </xsl:if> 
    3555                       </input> 
    3556                       <xsl:copy-of select="$bwStr-AEEF-Until"/> 
    3557                       <span id="untilHolder"> 
    3558                         <!-- span dojoType="dropdowndatepicker" formatLength="medium" value="today" saveFormat="yyyyMMdd" id="bwEventWidgetUntilDate" iconURL="{$resourcesRoot}/resources/calIcon.gif"> 
    3559                           <xsl:attribute name="value"><xsl:value-of select="form/start/rfc3339DateTime"/></xsl:attribute> 
    3560                           <xsl:text> </xsl:text> 
    3561                         </span --> 
    3562                         <input type="hidden" name="bwEventUntilDate" id="bwEventUntilDate" size="10"/> 
    3563                         <input type="text" name="bwEventWidgetUntilDate" id="bwEventWidgetUntilDate" size="10" onfocus="selectRecurCountUntil('recurUntil')"/> 
    3564                         <script type="text/javascript"> 
    3565                           <xsl:comment> 
    3566                           /*$("#bwEventWidgetUntilDate").datepicker({ 
    3567                             <xsl:choose> 
    3568                               <xsl:when test="form/recurrence/until"> 
    3569                                 defaultDate: new Date(<xsl:value-of select="substring(form/recurrence/until,1,4)"/>, <xsl:value-of select="number(substring(form/recurrence/until,5,2)) - 1"/>, <xsl:value-of select="substring(form/recurrence/until,7,2)"/>), 
    3570                               </xsl:when> 
    3571                               <xsl:otherwise> 
    3572                                 defaultDate: new Date(<xsl:value-of select="form/start/yearText/input/@value"/>, <xsl:value-of select="number(form/start/month/select/option[@selected = 'selected']/@value) - 1"/>, <xsl:value-of select="form/start/day/select/option[@selected = 'selected']/@value"/>), 
    3573                               </xsl:otherwise> 
    3574                             </xsl:choose> 
    3575                             altField: "#bwEventUntilDate", 
    3576                             altFormat: "yymmdd" 
    3577                           }).attr("readonly", "readonly"); 
    3578                           $("#bwEventWidgetUntilDate").val('<xsl:value-of select="substring-before(form/start/rfc3339DateTime,'T')"/>');*/ 
    3579                           </xsl:comment> 
    3580                         </script> 
    3581                       </span> 
    3582                     </p> 
    3583                   </div> 
    3584                 </td> 
    3585               </tr> 
    3586               <tr> 
    3587                 <td id="advancedRrules" class="invisible"> 
    3588                   <!-- hourly --> 
    3589                   <div id="hourlyRecurrenceRules" class="invisible"> 
    3590                     <p> 
    3591                       <em><xsl:copy-of select="$bwStr-AEEF-Interval"/></em> 
    3592                       <xsl:copy-of select="$bwStr-AEEF-Every"/> 
    3593                       <input type="text" name="hourlyInterval" size="2" value="1"> 
    3594                         <xsl:if test="form/recurrence/interval"> 
    3595                           <xsl:attribute name="value"><xsl:value-of select="form/recurrence/interval"/></xsl:attribute> 
    3596                         </xsl:if> 
    3597                       </input> 
    3598                       <xsl:copy-of select="$bwStr-AEEF-Hour"/> 
    3599                     </p> 
    3600                   </div> 
    3601                   <!-- daily --> 
    3602                   <div id="dailyRecurrenceRules" class="invisible"> 
    3603                     <p> 
    3604                       <em><xsl:copy-of select="$bwStr-AEEF-Interval"/></em> 
    3605                       <xsl:copy-of select="$bwStr-AEEF-Every"/> 
    3606                       <input type="text" name="dailyInterval" size="2" value="1"> 
    3607                         <xsl:if test="form/recurrence/interval"> 
    3608                           <xsl:attribute name="value"><xsl:value-of select="form/recurrence/interval"/></xsl:attribute> 
    3609                         </xsl:if> 
    3610                       </input> 
    3611                       <xsl:copy-of select="$bwStr-AEEF-Day"/> 
    3612                     </p> 
    3613                     <div> 
    3614                       <input type="checkbox" name="swapDayMonthCheckBoxList" value="" onclick="swapVisible(this,'dayMonthCheckBoxList')"/> 
    3615                       <xsl:copy-of select="$bwStr-AEEF-InTheseMonths"/> 
    3616                       <div id="dayMonthCheckBoxList" class="invisible"> 
    3617                         <xsl:for-each select="/bedework/monthlabels/val"> 
    3618                           <xsl:variable name="pos"><xsl:value-of select="position()"/></xsl:variable> 
    3619                           <span class="chkBoxListItem"> 
    3620                             <input type="checkbox" name="dayMonths"> 
    3621                               <xsl:attribute name="value"><xsl:value-of select="/bedework/monthvalues/val[position() = $pos]"/></xsl:attribute> 
    3622                             </input> 
    3623                             <xsl:value-of select="."/> 
    3624                           </span> 
    3625                           <xsl:if test="$pos mod 6 = 0"><br/></xsl:if> 
    3626                         </xsl:for-each> 
    3627                       </div> 
    3628                     </div> 
    3629                     <!--<p> 
    3630                       <input type="checkbox" name="swapDaySetPos" value="" onclick="swapVisible(this,'daySetPos')"/> 
    3631                       limit to: 
    3632                       <div id="daySetPos" class="invisible"> 
    3633                       </div> 
    3634                     </p>--> 
    3635                   </div> 
    3636                   <!-- weekly --> 
    3637                   <div id="weeklyRecurrenceRules" class="invisible"> 
    3638                     <p> 
    3639                       <em><xsl:copy-of select="$bwStr-AEEF-Interval"/><xsl:text> </xsl:text></em> 
    3640                       <xsl:copy-of select="$bwStr-AEEF-Every"/> 
    3641                       <input type="text" name="weeklyInterval" size="2" value="1"> 
    3642                         <xsl:if test="form/recurrence/interval"> 
    3643                           <xsl:attribute name="value"><xsl:value-of select="form/recurrence/interval"/></xsl:attribute> 
    3644                         </xsl:if> 
    3645                       </input> 
    3646                       <xsl:copy-of select="$bwStr-AEEF-WeekOn"/> 
    3647                     </p> 
    3648                     <div id="weekRecurFields"> 
    3649                       <xsl:call-template name="byDayChkBoxList"> 
    3650                         <xsl:with-param name="name">byDayWeek</xsl:with-param> 
    3651                       </xsl:call-template> 
    3652                     </div> 
    3653                     <p class="weekRecurLinks"> 
    3654                       <a href="javascript:recurSelectWeekdays('weekRecurFields')"><xsl:copy-of select="$bwStr-AEEF-SelectWeekdays"/></a> | 
    3655                       <a href="javascript:recurSelectWeekends('weekRecurFields')"><xsl:copy-of select="$bwStr-AEEF-SelectWeekends"/></a> 
    3656                     </p> 
    3657                     <p> 
    3658                       <xsl:copy-of select="$bwStr-AEEF-WeekStart"/> 
    3659                       <select name="weekWkst"> 
    3660                         <xsl:for-each select="/bedework/shortdaynames/val"> 
    3661                           <xsl:variable name="pos" select="position()"/> 
    3662                           <option> 
    3663                             <xsl:attribute name="value"><xsl:value-of select="/bedework/recurdayvals/val[position() = $pos]"/></xsl:attribute> 
    3664                             <xsl:value-of select="."/> 
    3665                           </option> 
    3666                         </xsl:for-each> 
    3667                       </select> 
    3668                     </p> 
    3669                   </div> 
    3670                   <!-- monthly --> 
    3671                   <div id="monthlyRecurrenceRules" class="invisible"> 
    3672                     <p> 
    3673                       <em><xsl:copy-of select="$bwStr-AEEF-Interval"/></em> 
    3674                       <xsl:copy-of select="$bwStr-AEEF-Every"/> 
    3675                       <input type="text" name="monthlyInterval" size="2" value="1"> 
    3676                         <xsl:if test="form/recurrence/interval"> 
    3677                           <xsl:attribute name="value"><xsl:value-of select="form/recurrence/interval"/></xsl:attribute> 
    3678                         </xsl:if> 
    3679                       </input> 
    3680                       <xsl:copy-of select="$bwStr-AEEF-Month"/> 
    3681                     </p> 
    3682                     <div id="monthRecurFields"> 
    3683                       <div id="monthRecurFields1"> 
    3684                         <xsl:copy-of select="$bwStr-AEEF-On"/> 
    3685                         <select name="bymonthposPos1" size="7" onchange="changeClass('monthRecurFields2','shown')"> 
    3686                           <xsl:call-template name="recurrenceDayPosOptions"/> 
    3687                         </select> 
    3688                         <xsl:call-template name="byDayChkBoxList"/> 
    3689                       </div> 
    3690                       <xsl:call-template name="buildRecurFields"> 
    3691                         <xsl:with-param name="current">2</xsl:with-param> 
    3692                         <xsl:with-param name="total">10</xsl:with-param> 
    3693                         <xsl:with-param name="name">month</xsl:with-param> 
    3694                       </xsl:call-template> 
    3695                     </div> 
    3696                     <div> 
    3697                       <input type="checkbox" name="swapMonthDaysCheckBoxList" value="" onclick="swapVisible(this,'monthDaysCheckBoxList')"/> 
    3698                       <xsl:copy-of select="$bwStr-AEEF-OnTheseDays"/><br/> 
    3699                       <div id="monthDaysCheckBoxList" class="invisible"> 
    3700                         <xsl:call-template name="buildCheckboxList"> 
    3701                           <xsl:with-param name="current">1</xsl:with-param> 
    3702                           <xsl:with-param name="end">31</xsl:with-param> 
    3703                           <xsl:with-param name="name">monthDayBoxes</xsl:with-param> 
    3704                         </xsl:call-template> 
    3705                       </div> 
    3706                     </div> 
    3707                   </div> 
    3708                   <!-- yearly --> 
    3709                   <div id="yearlyRecurrenceRules" class="invisible"> 
    3710                     <p> 
    3711                       <em><xsl:copy-of select="$bwStr-AEEF-Interval"/><xsl:text> </xsl:text></em> 
    3712                       <xsl:copy-of select="$bwStr-AEEF-Every"/> 
    3713                       <input type="text" name="yearlyInterval" size="2" value="1"> 
    3714                         <xsl:if test="form/recurrence/interval"> 
    3715                           <xsl:attribute name="value"><xsl:value-of select="form/recurrence/interval"/></xsl:attribute> 
    3716                         </xsl:if> 
    3717                       </input> 
    3718                       <xsl:copy-of select="$bwStr-AEEF-Year"/> 
    3719                     </p> 
    3720                     <div id="yearRecurFields"> 
    3721                       <div id="yearRecurFields1"> 
    3722                         <xsl:copy-of select="$bwStr-AEEF-On"/> 
    3723                         <select name="byyearposPos1" size="7" onchange="changeClass('yearRecurFields2','shown')"> 
    3724                           <xsl:call-template name="recurrenceDayPosOptions"/> 
    3725                         </select> 
    3726                         <xsl:call-template name="byDayChkBoxList"/> 
    3727                       </div> 
    3728                       <xsl:call-template name="buildRecurFields"> 
    3729                         <xsl:with-param name="current">2</xsl:with-param> 
    3730                         <xsl:with-param name="total">10</xsl:with-param> 
    3731                         <xsl:with-param name="name">year</xsl:with-param> 
    3732                       </xsl:call-template> 
    3733                     </div> 
    3734                     <div> 
    3735                       <input type="checkbox" name="swapYearMonthCheckBoxList" value="" onclick="swapVisible(this,'yearMonthCheckBoxList')"/> 
    3736                       <xsl:copy-of select="$bwStr-AEEF-InTheseMonths"/> 
    3737                       <div id="yearMonthCheckBoxList" class="invisible"> 
    3738                         <xsl:for-each select="/bedework/monthlabels/val"> 
    3739                           <xsl:variable name="pos"><xsl:value-of select="position()"/></xsl:variable> 
    3740                           <span class="chkBoxListItem"> 
    3741                             <input type="checkbox" name="yearMonths"> 
    3742                               <xsl:attribute name="value"><xsl:value-of select="/bedework/monthvalues/val[position() = $pos]"/></xsl:attribute> 
    3743                             </input> 
    3744                             <xsl:value-of select="."/> 
    3745                           </span> 
    3746                           <xsl:if test="$pos mod 6 = 0"><br/></xsl:if> 
    3747                         </xsl:for-each> 
    3748                       </div> 
    3749                     </div> 
    3750                     <div> 
    3751                       <input type="checkbox" name="swapYearMonthDaysCheckBoxList" value="" onclick="swapVisible(this,'yearMonthDaysCheckBoxList')"/> 
    3752                       <xsl:copy-of select="$bwStr-AEEF-OnTheseDaysOfTheMonth"/><br/> 
    3753                       <div id="yearMonthDaysCheckBoxList" class="invisible"> 
    3754                         <xsl:call-template name="buildCheckboxList"> 
    3755                           <xsl:with-param name="current">1</xsl:with-param> 
    3756                           <xsl:with-param name="end">31</xsl:with-param> 
    3757                           <xsl:with-param name="name">yearMonthDayBoxes</xsl:with-param> 
    3758                         </xsl:call-template> 
    3759                       </div> 
    3760                     </div> 
    3761                     <div> 
    3762                       <input type="checkbox" name="swapYearWeeksCheckBoxList" value="" onclick="swapVisible(this,'yearWeeksCheckBoxList')"/> 
    3763                       <xsl:copy-of select="$bwStr-AEEF-InTheseWeeksOfTheYear"/><br/> 
    3764                       <div id="yearWeeksCheckBoxList" class="invisible"> 
    3765                         <xsl:call-template name="buildCheckboxList"> 
    3766                           <xsl:with-param name="current">1</xsl:with-param> 
    3767                           <xsl:with-param name="end">53</xsl:with-param> 
    3768                           <xsl:with-param name="name">yearWeekBoxes</xsl:with-param> 
    3769                         </xsl:call-template> 
    3770                       </div> 
    3771                     </div> 
    3772                     <div> 
    3773                       <input type="checkbox" name="swapYearDaysCheckBoxList" value="" onclick="swapVisible(this,'yearDaysCheckBoxList')"/> 
    3774                       <xsl:copy-of select="$bwStr-AEEF-OnTheseDaysOfTheYear"/><br/> 
    3775                       <div id="yearDaysCheckBoxList" class="invisible"> 
    3776                         <xsl:call-template name="buildCheckboxList"> 
    3777                           <xsl:with-param name="current">1</xsl:with-param> 
    3778                           <xsl:with-param name="end">366</xsl:with-param> 
    3779                           <xsl:with-param name="name">yearDayBoxes</xsl:with-param> 
    3780                         </xsl:call-template> 
    3781                       </div> 
    3782                     </div> 
    3783                     <p> 
    3784                       <xsl:copy-of select="$bwStr-AEEF-WeekStart"/> 
    3785                       <select name="yearWkst"> 
    3786                         <xsl:for-each select="/bedework/shortdaynames/val"> 
    3787                           <xsl:variable name="pos" select="position()"/> 
    3788                           <option> 
    3789                             <xsl:attribute name="value"><xsl:value-of select="/bedework/recurdayvals/val[position() = $pos]"/></xsl:attribute> 
    3790                             <xsl:value-of select="."/> 
    3791                           </option> 
    3792                         </xsl:for-each> 
    3793                       </select> 
    3794                     </p> 
    3795                   </div> 
    3796                 </td> 
    3797               </tr> 
    3798             </table> 
    3799  
    3800             <h4> 
    3801               <xsl:copy-of select="$bwStr-AEEF-RecurrenceAndExceptionDates"/> 
    3802             </h4> 
    3803             <div id="raContent"> 
    3804               <div class="dateStartEndBox" id="rdatesFormFields"> 
    3805                 <!-- 
    3806                 <input type="checkbox" name="dateOnly" id="rdateDateOnly" onclick="swapRdateAllDay(this)" value="true"/> 
    3807                 all day 
    3808                 <input type="checkbox" name="floating" id="rdateFloating" onclick="swapRdateFloatingTime(this)" value="true"/> 
    3809                 floating 
    3810                 <input type="checkbox" name="storeUTC" id="rdateStoreUTC" onclick="swapRdateStoreUTC(this)" value="true"/> 
    3811                 store as UTC<br/>--> 
    3812                 <div class="dateFields"> 
    3813                   <!-- input name="eventRdate.date" 
    3814                          dojoType="dropdowndatepicker" 
    3815                          formatLength="medium" 
    3816                          value="today" 
    3817                          saveFormat="yyyyMMdd" 
    3818                          id="bwEventWidgetRdate" 
    3819                          iconURL="{$resourcesRoot}/resources/calIcon.gif"/--> 
    3820                   <input type="text" name="eventRdate.date" id="bwEventWidgetRdate" size="10"/> 
    3821                   <script type="text/javascript"> 
    3822                     <xsl:comment> 
    3823                    /* $("#bwEventWidgetRdate").datepicker({ 
    3824                       defaultDate: new Date(<xsl:value-of select="form/start/yearText/input/@value"/>, <xsl:value-of select="number(form/start/month/select/option[@selected = 'selected']/@value) - 1"/>, <xsl:value-of select="form/start/day/select/option[@selected = 'selected']/@value"/>), 
    3825                       dateFormat: "yymmdd" 
    3826                     }).attr("readonly", "readonly"); 
    3827                     $("#bwEventWidgetRdate").val('<xsl:value-of select="substring-before(form/start/rfc3339DateTime,'T')"/>');*/ 
    3828                     </xsl:comment> 
    3829                   </script> 
    3830                 </div> 
    3831                 <div id="rdateTimeFields" class="timeFields"> 
    3832                  <select name="eventRdate.hour"> 
    3833                     <option value="00">00</option> 
    3834                     <option value="01">01</option> 
    3835                     <option value="02">02</option> 
    3836                     <option value="03">03</option> 
    3837                     <option value="04">04</option> 
    3838                     <option value="05">05</option> 
    3839                     <option value="06">06</option> 
    3840                     <option value="07">07</option> 
    3841                     <option value="08">08</option> 
    3842                     <option value="09">09</option> 
    3843                     <option value="10">10</option> 
    3844                     <option value="11">11</option> 
    3845                     <option value="12" selected="selected">12</option> 
    3846                     <option value="13">13</option> 
    3847                     <option value="14">14</option> 
    3848                     <option value="15">15</option> 
    3849                     <option value="16">16</option> 
    3850                     <option value="17">17</option> 
    3851                     <option value="18">18</option> 
    3852                     <option value="19">19</option> 
    3853                     <option value="20">20</option> 
    3854                     <option value="21">21</option> 
    3855                     <option value="22">22</option> 
    3856                     <option value="23">23</option> 
    3857                   </select> 
    3858                   <select name="eventRdate.minute"> 
    3859                     <option value="00" selected="selected">00</option> 
    3860                     <option value="05">05</option> 
    3861                     <option value="10">10</option> 
    3862                     <option value="15">15</option> 
    3863                     <option value="20">20</option> 
    3864                     <option value="25">25</option> 
    3865                     <option value="30">30</option> 
    3866                     <option value="35">35</option> 
    3867                     <option value="40">40</option> 
    3868                     <option value="45">45</option> 
    3869                     <option value="50">50</option> 
    3870                     <option value="55">55</option> 
    3871                   </select> 
    3872                  <xsl:text> </xsl:text> 
    3873  
    3874                   <select name="tzid" id="rdateTzid" class="timezones"> 
    3875                     <xsl:if test="form/floating/input/@checked='checked'"><xsl:attribute name="disabled">disabled</xsl:attribute></xsl:if> 
    3876                     <option value=""><xsl:copy-of select="$bwStr-AEEF-SelectTimezone"/></option> 
    3877                     <!--  deprecated: now calling timezone server.  See bedeworkEventForm.js --> 
    3878                     <!-- 
    3879                     <option value="">select timezone...</option> 
    3880                     <xsl:variable name="rdateTzId" select="/bedework/now/defaultTzid"/> 
    3881                     <xsl:for-each select="/bedework/timezones/timezone"> 
    3882                       <option> 
    3883                         <xsl:attribute name="value"><xsl:value-of select="id"/></xsl:attribute> 
    3884                         <xsl:if test="$rdateTzId = id"><xsl:attribute name="selected">selected</xsl:attribute></xsl:if> 
    3885                         <xsl:value-of select="name"/> 
    3886                       </option> 
    3887                     </xsl:for-each> 
    3888                     --> 
    3889                   </select> 
    3890                 </div> 
    3891                 <xsl:text> </xsl:text> 
    3892                 <!--bwRdates.update() accepts: date, time, allDay, floating, utc, tzid--> 
    3893                 <input type="button" name="rdate" value="{$bwStr-AEEF-AddRecurance}" onclick="bwRdates.update(this.form['eventRdate.date'].value,this.form['eventRdate.hour'].value + this.form['eventRdate.minute'].value,false,false,false,this.form.tzid.value)"/> 
    3894                 <!-- input type="button" name="exdate" value="{$bwStr-AEEF-AddException}" onclick="bwExdates.update(this.form['eventRdate.date'].value,this.form['eventRdate.hour'].value + this.form['eventRdate.minute'].value,false,false,false,this.form.tzid.value)"/--> 
    3895                 <br class="clear"/> 
    3896                 <input type="hidden" name="rdates" value="" id="bwRdatesField" /> 
    3897                 <!-- if there are no recurrence dates, the following table will show --> 
    3898                 <table cellspacing="0" class="invisible" id="bwCurrentRdatesNone"> 
    3899                   <tr><th><xsl:copy-of select="$bwStr-AEEF-RecurrenceDates"/></th></tr> 
    3900                   <tr><td><xsl:copy-of select="$bwStr-AEEF-NoRecurrenceDates"/></td></tr> 
    3901                 </table> 
    3902  
    3903                 <!-- if there are recurrence dates, the following table will show --> 
    3904                 <table cellspacing="0" class="invisible" id="bwCurrentRdates"> 
    3905                   <tr> 
    3906                     <th colspan="4"><xsl:copy-of select="$bwStr-AEEF-RecurrenceDates"/></th> 
    3907                   </tr> 
    3908                   <tr class="colNames"> 
    3909                     <td><xsl:copy-of select="$bwStr-AEEF-Date"/></td> 
    3910                     <td><xsl:copy-of select="$bwStr-AEEF-TIME"/></td> 
    3911                     <td><xsl:copy-of select="$bwStr-AEEF-TZid"/></td> 
    3912                     <td></td> 
    3913                   </tr> 
    3914                 </table> 
    3915  
    3916                 <input type="hidden" name="exdates" value="" id="bwExdatesField" /> 
    3917                 <!-- if there are no exception dates, the following table will show --> 
    3918                 <table cellspacing="0" class="invisible" id="bwCurrentExdatesNone"> 
    3919                   <tr><th><xsl:copy-of select="$bwStr-AEEF-ExceptionDates"/></th></tr> 
    3920                   <tr><td><xsl:copy-of select="$bwStr-AEEF-NoExceptionDates"/></td></tr> 
    3921                 </table> 
    3922  
    3923                 <!-- if there are exception dates, the following table will show --> 
    3924                 <table cellspacing="0" class="invisible" id="bwCurrentExdates"> 
    3925                   <tr> 
    3926                     <th colspan="4"><xsl:copy-of select="$bwStr-AEEF-ExceptionDates"/></th> 
    3927                   </tr> 
    3928                   <tr class="colNames"> 
    3929           <td><xsl:copy-of select="$bwStr-AEEF-Date"/></td> 
    3930                     <td><xsl:copy-of select="$bwStr-AEEF-Time"/></td> 
    3931                     <td><xsl:copy-of select="$bwStr-AEEF-TZid"/></td> 
    3932                     <td></td> 
    3933                   </tr> 
    3934                 </table> 
    3935                 <p> 
    3936                   <xsl:copy-of select="$bwStr-AEEF-ExceptionDatesMayBeCreated"/> 
    3937                 </p> 
    3938               </div> 
    3939             </div> 
    3940           </div> 
    3941         </xsl:otherwise> 
    3942       </xsl:choose> 
    3943     </div> 
    3944  
    3945     <!-- Access tab --> 
    3946     <!-- ========== --> 
    3947     <div id="bwEventTab-Access" class="invisible"> 
    3948       <div id="sharingBox"> 
    3949         <h3>Current Access:</h3> 
    3950         <div id="bwCurrentAccessWidget">&#160;</div> 
    3951         <script type="text/javascript"> 
    3952           bwAcl.display("bwCurrentAccessWidget"); 
    3953         </script> 
    3954         <xsl:call-template name="entityAccessForm"> 
    3955           <xsl:with-param name="outputId">bwCurrentAccessWidget</xsl:with-param> 
    3956         </xsl:call-template> 
    3957       </div> 
    3958     </div> 
    3959  
    3960     <!-- Scheduling tab --> 
    3961     <!-- ============== --> 
    3962     <div id="bwEventTab-Scheduling" class="invisible"> 
    3963       <div id="scheduling"> 
    3964         <xsl:if test="form/attendees/attendee"> 
    3965           <xsl:apply-templates select="form/attendees"> 
    3966             <xsl:with-param name="trash">no</xsl:with-param> 
    3967           </xsl:apply-templates> 
    3968         </xsl:if> 
    3969         <!-- Recipients are deprecated --> 
    3970         <!-- 
    3971         <xsl:if test="form/recipients/recipient"> 
    3972           <xsl:apply-templates select="form/recipients"> 
    3973             <xsl:with-param name="trash">no</xsl:with-param> 
    3974           </xsl:apply-templates> 
    3975         </xsl:if> 
    3976         --> 
    3977         <div class="editAttendees"> 
    3978           <xsl:choose> 
    3979             <xsl:when test="form/organizerSchedulingObject"> 
    3980               <input name="editEventAttendees" type="submit" value="{$bwStr-AEEF-EditAttendees}"/> 
    3981             </xsl:when> 
    3982             <xsl:when test="form/attendeeSchedulingObject"> 
    3983               <p> 
    3984                 <em> 
    3985                   <a href="{$schedule-changeStatus}&amp;initUpdate=yes"> 
    3986                     <xsl:copy-of select="$bwStr-AEEF-ChangeMyStatus"/> 
    3987                   </a> 
    3988                 </em> 
    3989               </p> 
    3990             </xsl:when> 
    3991             <xsl:otherwise> 
    3992               <xsl:choose> 
    3993                 <xsl:when test="form/entityType = '2'"> 
    3994                   <input name="makeEventIntoMeeting" type="submit" value="{$bwStr-AEEF-ScheduleThisTask}"/> 
    3995                 </xsl:when> 
    3996                 <xsl:otherwise> 
    3997                   <input name="makeEventIntoMeeting" type="submit" value="{$bwStr-AEEF-MakeIntoMeeting}"/> 
    3998                 </xsl:otherwise> 
    3999               </xsl:choose> 
    4000             </xsl:otherwise> 
    4001           </xsl:choose> 
    4002         </div> 
    4003       </div> 
    4004     </div> 
    4005  
    4006     <div class="eventSubmitButtons"> 
    4007       <xsl:apply-templates select="form" mode="addEditEventFormButtons" /> 
    4008     </div> 
    4009   </xsl:template> 
    4010  
    4011   <xsl:template match="form" mode="addEditEventFormButtons"> 
    4012     <xsl:choose> 
    4013       <!-- the following test on the organizerSchedulingObject is not good - will need to fix --> 
    4014       <xsl:when test="scheduleMethod = '2' and organizerSchedulingObject"> 
    4015         <input name="submitAndSend" type="submit" value="{$bwStr-AEEF-SaveAndSendInvites}"/> 
    4016         <!-- dissalow: at the moment there's no way to send invitations after the first save 
    4017         <input name="submit" type="submit" value="{$bwStr-AEEF-SaveDraft}"/> --> 
    4018       </xsl:when> 
    4019       <xsl:otherwise> 
    4020         <input name="submit" type="submit" value="{$bwStr-AEEF-Save}"/> 
    4021       </xsl:otherwise> 
    4022     </xsl:choose> 
    4023     <input name="cancelled" type="submit" value="{$bwStr-AEEF-Cancel}"/> 
    4024   </xsl:template> 
    4025  
    4026   <xsl:template match="val" mode="weekMonthYearNumbers"> 
    4027     <xsl:if test="position() != 1 and position() = last()"> and </xsl:if> 
    4028     <xsl:value-of select="."/><xsl:choose> 
    4029       <xsl:when test="substring(., string-length(.)-1, 2) = '11' or 
    4030                       substring(., string-length(.)-1, 2) = '12' or 
    4031                       substring(., string-length(.)-1, 2) = '13'">th</xsl:when> 
    4032       <xsl:when test="substring(., string-length(.), 1) = '1'">st</xsl:when> 
    4033       <xsl:when test="substring(., string-length(.), 1) = '2'">nd</xsl:when> 
    4034       <xsl:when test="substring(., string-length(.), 1) = '3'">rd</xsl:when> 
    4035       <xsl:otherwise>th</xsl:otherwise> 
    4036     </xsl:choose> 
    4037     <xsl:if test="position() != last()">, </xsl:if> 
    4038   </xsl:template> 
    4039  
    4040   <xsl:template name="byDayChkBoxList"> 
    4041     <xsl:param name="name"/> 
    4042     <xsl:for-each select="/bedework/shortdaynames/val"> 
    4043       <xsl:variable name="pos" select="position()"/> 
    4044       <input type="checkbox"> 
    4045         <xsl:attribute name="value"><xsl:value-of select="/bedework/recurdayvals/val[position() = $pos]"/></xsl:attribute> 
    4046         <xsl:attribute name="name"><xsl:value-of select="$name"/></xsl:attribute> 
    4047       </input> 
    4048       <xsl:value-of select="."/> 
    4049     </xsl:for-each> 
    4050   </xsl:template> 
    4051  
    4052   <xsl:template name="buildCheckboxList"> 
    4053     <xsl:param name="current"/> 
    4054     <xsl:param name="end"/> 
    4055     <xsl:param name="name"/> 
    4056     <xsl:param name="splitter">10</xsl:param> 
    4057     <span class="chkBoxListItem"> 
    4058       <input type="checkbox"> 
    4059         <xsl:attribute name="name"><xsl:value-of select="$name"/></xsl:attribute> 
    4060         <xsl:attribute name="value"><xsl:value-of select="$current"/></xsl:attribute> 
    4061       </input> 
    4062       <xsl:value-of select="$current"/> 
    4063     </span> 
    4064     <xsl:if test="$current mod $splitter = 0"><br/></xsl:if> 
    4065     <xsl:if test="$current = $end"><br/></xsl:if> 
    4066     <xsl:if test="$current &lt; $end"> 
    4067       <xsl:call-template name="buildCheckboxList"> 
    4068         <xsl:with-param name="current"><xsl:value-of select="$current + 1"/></xsl:with-param> 
    4069         <xsl:with-param name="end"><xsl:value-of select="$end"/></xsl:with-param> 
    4070         <xsl:with-param name="name"><xsl:value-of select="$name"/></xsl:with-param> 
    4071       </xsl:call-template> 
    4072     </xsl:if> 
    4073   </xsl:template> 
    4074  
    4075   <xsl:template name="recurrenceDayPosOptions"> 
    4076     <option value="0"><xsl:copy-of select="$bwStr-RCPO-None"/></option> 
    4077     <option value="1"><xsl:copy-of select="$bwStr-RCPO-TheFirst"/></option> 
    4078     <option value="2"><xsl:copy-of select="$bwStr-RCPO-TheSecond"/></option> 
    4079     <option value="3"><xsl:copy-of select="$bwStr-RCPO-TheThird"/></option> 
    4080     <option value="4"><xsl:copy-of select="$bwStr-RCPO-TheFourth"/></option> 
    4081     <option value="5"><xsl:copy-of select="$bwStr-RCPO-TheFifth"/></option> 
    4082     <option value="-1"><xsl:copy-of select="$bwStr-RCPO-TheLast"/></option> 
    4083     <option value=""><xsl:copy-of select="$bwStr-RCPO-Every"/></option> 
    4084   </xsl:template> 
    4085  
    4086   <xsl:template name="buildRecurFields"> 
    4087     <xsl:param name="current"/> 
    4088     <xsl:param name="total"/> 
    4089     <xsl:param name="name"/> 
    4090     <div class="invisible"> 
    4091       <xsl:attribute name="id"><xsl:value-of select="$name"/>RecurFields<xsl:value-of select="$current"/></xsl:attribute> 
    4092       <xsl:copy-of select="$bwStr-BuRF-And"/> 
    4093       <select size="12"> 
    4094         <xsl:attribute name="name">by<xsl:value-of select="$name"/>posPos<xsl:value-of select="$current"/></xsl:attribute> 
    4095         <xsl:if test="$current != $total"> 
    4096           <xsl:attribute name="onchange">changeClass('<xsl:value-of select="$name"/>RecurFields<xsl:value-of select="$current+1"/>','shown')</xsl:attribute> 
    4097         </xsl:if> 
    4098         <xsl:call-template name="recurrenceDayPosOptions"/> 
    4099       </select> 
    4100       <xsl:call-template name="byDayChkBoxList"/> 
    4101     </div> 
    4102     <xsl:if test="$current &lt; $total"> 
    4103       <xsl:call-template name="buildRecurFields"> 
    4104         <xsl:with-param name="current"><xsl:value-of select="$current+1"/></xsl:with-param> 
    4105         <xsl:with-param name="total"><xsl:value-of select="$total"/></xsl:with-param> 
    4106         <xsl:with-param name="name"><xsl:value-of select="$name"/></xsl:with-param> 
    4107       </xsl:call-template> 
    4108     </xsl:if> 
    4109   </xsl:template> 
    4110  
    4111   <xsl:template name="buildNumberOptions"> 
    4112     <xsl:param name="current"/> 
    4113     <xsl:param name="total"/> 
    4114     <option value="{$current}"><xsl:value-of select="$current"/></option> 
    4115     <xsl:if test="$current &lt; $total"> 
    4116       <xsl:call-template name="buildNumberOptions"> 
    4117         <xsl:with-param name="current"><xsl:value-of select="$current+1"/></xsl:with-param> 
    4118         <xsl:with-param name="total"><xsl:value-of select="$total"/></xsl:with-param> 
    4119       </xsl:call-template> 
    4120     </xsl:if> 
    4121   </xsl:template> 
    4122  
    4123   <xsl:template name="clock"> 
    4124     <div id="bwClock"> 
    4125       <!-- Bedework 24-Hour Clock time selection widget 
    4126            used with resources/bwClock.js and resources/bwClock.css --> 
    4127       <xsl:variable name="hour24" select="/bedework/hour24"/><!-- true or false --> 
    4128       <div id="bwClockClock"> 
    4129         <img id="clockMap" src="{$resourcesRoot}/resources/clockMap.gif" width="368" height="368" border="0" alt="bwClock" usemap="#bwClockMap" /> 
    4130       </div> 
    4131       <div id="bwClockCover"> 
    4132         &#160; 
    4133         <!-- this is a special effect div used simply to cover the pixelated edge 
    4134              where the clock meets the clock box title --> 
    4135       </div> 
    4136       <div id="bwClockBox"> 
    4137         <h2> 
    4138           <xsl:copy-of select="$bwStr-Cloc-Bedework24HourClock"/> 
    4139         </h2> 
    4140         <div id="bwClockDateTypeIndicator"> 
    4141           <xsl:copy-of select="$bwStr-Cloc-Type"/> 
    4142         </div> 
    4143         <div id="bwClockTime"> 
    4144           <xsl:copy-of select="$bwStr-Cloc-SelectTime"/> 
    4145         </div> 
    4146         <div id="bwClockSwitch"> 
    4147           <xsl:copy-of select="$bwStr-Cloc-Switch"/> 
    4148         </div> 
    4149         <div id="bwClockCloseText"> 
    4150           <xsl:copy-of select="$bwStr-Cloc-Close"/> 
    4151         </div> 
    4152         <div id="bwClockCloseButton"> 
    4153           <a href="javascript:bwClockClose();">X</a> 
    4154         </div> 
    4155       </div> 
    4156       <map name="bwClockMap" id="bwClockMap"> 
    4157         <area shape="rect" alt="close clock" title="{$bwStr-Cloc-CloseClock}" coords="160,167, 200,200" href="javascript:bwClockClose()"/> 
    4158         <area shape="poly" alt="minute 00:55" title="minute 00:55" coords="156,164, 169,155, 156,107, 123,128" href="javascript:bwClockUpdateDateTimeForm('minute','55')" /> 
    4159         <area shape="poly" alt="minute 00:50" title="minute 00:50" coords="150,175, 156,164, 123,128, 103,161" href="javascript:bwClockUpdateDateTimeForm('minute','50')" /> 
    4160         <area shape="poly" alt="minute 00:45" title="minute 00:45" coords="150,191, 150,175, 103,161, 103,206" href="javascript:bwClockUpdateDateTimeForm('minute','45')" /> 
    4161         <area shape="poly" alt="minute 00:40" title="minute 00:40" coords="158,208, 150,191, 105,206, 123,237" href="javascript:bwClockUpdateDateTimeForm('minute','40')" /> 
    4162         <area shape="poly" alt="minute 00:35" title="minute 00:35" coords="171,218, 158,208, 123,238, 158,261" href="javascript:bwClockUpdateDateTimeForm('minute','35')" /> 
    4163         <area shape="poly" alt="minute 00:30" title="minute 00:30" coords="193,218, 172,218, 158,263, 209,263" href="javascript:bwClockUpdateDateTimeForm('minute','30')" /> 
    4164         <area shape="poly" alt="minute 00:25" title="minute 00:25" coords="209,210, 193,218, 209,261, 241,240" href="javascript:bwClockUpdateDateTimeForm('minute','25')" /> 
    4165         <area shape="poly" alt="minute 00:20" title="minute 00:20" coords="216,196, 209,210, 241,240, 261,206" href="javascript:bwClockUpdateDateTimeForm('minute','20')" /> 
    4166         <area shape="poly" alt="minute 00:15" title="minute 00:15" coords="216,178, 216,196, 261,206, 261,159" href="javascript:bwClockUpdateDateTimeForm('minute','15')" /> 
    4167         <area shape="poly" alt="minute 00:10" title="minute 00:10" coords="209,164, 216,178, 261,159, 240,126" href="javascript:bwClockUpdateDateTimeForm('minute','10')" /> 
    4168         <area shape="poly" alt="minute 00:05" title="minute 00:05" coords="196,155, 209,164, 238,126, 206,107" href="javascript:bwClockUpdateDateTimeForm('minute','5')" /> 
    4169         <area shape="poly" alt="minute 00:00" title="minute 00:00" coords="169,155, 196,155, 206,105, 156,105" href="javascript:bwClockUpdateDateTimeForm('minute','0')" /> 
    4170         <area shape="poly" alt="11 PM, 2300 hour" title="11 PM, 2300 hour" coords="150,102, 172,96, 158,1, 114,14" href="javascript:bwClockUpdateDateTimeForm('hour','23',{$hour24})" /> 
    4171         <area shape="poly" alt="10 PM, 2200 hour" title="10 PM, 2200 hour" coords="131,114, 150,102, 114,14, 74,36" href="javascript:bwClockUpdateDateTimeForm('hour','22',{$hour24})" /> 
    4172         <area shape="poly" alt="9 PM, 2100 hour" title="9 PM, 2100 hour" coords="111,132, 131,114, 74,36, 40,69" href="javascript:bwClockUpdateDateTimeForm('hour','21',{$hour24})" /> 
    4173         <area shape="poly" alt="8 PM, 2000 hour" title="8 PM, 2000 hour" coords="101,149, 111,132, 40,69, 15,113" href="javascript:bwClockUpdateDateTimeForm('hour','20',{$hour24})" /> 
    4174         <area shape="poly" alt="7 PM, 1900 hour" title="7 PM, 1900 hour" coords="95,170, 101,149, 15,113, 1,159" href="javascript:bwClockUpdateDateTimeForm('hour','19',{$hour24})" /> 
    4175         <area shape="poly" alt="6 PM, 1800 hour" title="6 PM, 1800 hour" coords="95,196, 95,170, 0,159, 0,204" href="javascript:bwClockUpdateDateTimeForm('hour','18',{$hour24})" /> 
    4176         <area shape="poly" alt="5 PM, 1700 hour" title="5 PM, 1700 hour" coords="103,225, 95,196, 1,205, 16,256" href="javascript:bwClockUpdateDateTimeForm('hour','17',{$hour24})" /> 
    4177         <area shape="poly" alt="4 PM, 1600 hour" title="4 PM, 1600 hour" coords="116,245, 103,225, 16,256, 41,298" href="javascript:bwClockUpdateDateTimeForm('hour','16',{$hour24})" /> 
    4178         <area shape="poly" alt="3 PM, 1500 hour" title="3 PM, 1500 hour" coords="134,259, 117,245, 41,298, 76,332" href="javascript:bwClockUpdateDateTimeForm('hour','15',{$hour24})" /> 
    4179         <area shape="poly" alt="2 PM, 1400 hour" title="2 PM, 1400 hour" coords="150,268, 134,259, 76,333, 121,355" href="javascript:bwClockUpdateDateTimeForm('hour','14',{$hour24})" /> 
    4180         <area shape="poly" alt="1 PM, 1300 hour" title="1 PM, 1300 hour" coords="169,273, 150,268, 120,356, 165,365" href="javascript:bwClockUpdateDateTimeForm('hour','13',{$hour24})" /> 
    4181         <area shape="poly" alt="Noon, 1200 hour" title="Noon, 1200 hour" coords="193,273, 169,273, 165,365, 210,364" href="javascript:bwClockUpdateDateTimeForm('hour','12',{$hour24})" /> 
    4182         <area shape="poly" alt="11 AM, 1100 hour" title="11 AM, 1100 hour" coords="214,270, 193,273, 210,363, 252,352" href="javascript:bwClockUpdateDateTimeForm('hour','11',{$hour24})" /> 
    4183         <area shape="poly" alt="10 AM, 1000 hour" title="10 AM, 1000 hour" coords="232,259, 214,270, 252,352, 291,330" href="javascript:bwClockUpdateDateTimeForm('hour','10',{$hour24})" /> 
    4184         <area shape="poly" alt="9 AM, 0900 hour" title="9 AM, 0900 hour" coords="251,240, 232,258, 291,330, 323,301" href="javascript:bwClockUpdateDateTimeForm('hour','9',{$hour24})" /> 
    4185         <area shape="poly" alt="8 AM, 0800 hour" title="8 AM, 0800 hour" coords="263,219, 251,239, 323,301, 349,261" href="javascript:bwClockUpdateDateTimeForm('hour','8',{$hour24})" /> 
    4186         <area shape="poly" alt="7 AM, 0700 hour" title="7 AM, 0700 hour" coords="269,194, 263,219, 349,261, 363,212" href="javascript:bwClockUpdateDateTimeForm('hour','7',{$hour24})" /> 
    4187         <area shape="poly" alt="6 AM, 0600 hour" title="6 AM, 0600 hour" coords="269,172, 269,193, 363,212, 363,155" href="javascript:bwClockUpdateDateTimeForm('hour','6',{$hour24})" /> 
    4188         <area shape="poly" alt="5 AM, 0500 hour" title="5 AM, 0500 hour" coords="263,150, 269,172, 363,155, 351,109" href="javascript:bwClockUpdateDateTimeForm('hour','5',{$hour24})" /> 
    4189         <area shape="poly" alt="4 AM, 0400 hour" title="4 AM, 0400 hour" coords="251,130, 263,150, 351,109, 325,68" href="javascript:bwClockUpdateDateTimeForm('hour','4',{$hour24})" /> 
    4190         <area shape="poly" alt="3 AM, 0300 hour" title="3 AM, 0300 hour" coords="234,112, 251,130, 325,67, 295,37" href="javascript:bwClockUpdateDateTimeForm('hour','3',{$hour24})" /> 
    4191         <area shape="poly" alt="2 AM, 0200 hour" title="2 AM, 0200 hour" coords="221,102, 234,112, 295,37, 247,11" href="javascript:bwClockUpdateDateTimeForm('hour','2',{$hour24})" /> 
    4192         <area shape="poly" alt="1 AM, 0100 hour" title="1 AM, 0100 hour" coords="196,96, 221,102, 247,10, 209,-1, 201,61, 206,64, 205,74, 199,75" href="javascript:bwClockUpdateDateTimeForm('hour','1',{$hour24})" /> 
    4193         <area shape="poly" alt="Midnight, 0000 hour" title="Midnight, 0000 hour" coords="172,96, 169,74, 161,73, 161,65, 168,63, 158,-1, 209,-1, 201,61, 200,62, 206,64, 205,74, 198,75, 196,96, 183,95" href="javascript:bwClockUpdateDateTimeForm('hour','0',{$hour24})" /> 
    4194       </map> 
    4195     </div> 
    4196   </xsl:template> 
    4197  
    4198   <xsl:template name="attendees"> 
    4199     <h2> 
    4200       <span class="formButtons"><input type="button" value="{$bwStr-Atnd-Continue}" onclick="window.location='{$gotoEditEvent}'"/></span> 
    4201         <xsl:copy-of select="$bwStr-Atnd-SchedulMeetingOrTask"/> 
    4202     </h2> 
    4203  
    4204     <div id="recipientsAndAttendees"> 
    4205       <h4><xsl:copy-of select="$bwStr-Atnd-AddAttendees"/></h4> 
    4206       <form name="raForm" id="recipientsAndAttendeesForm" action="{$event-attendeesForEvent}" method="post"> 
    4207         <div id="raContent"> 
    4208           <div id="raFields"> 
    4209             <input type="text" name="uri" width="40" id="bwRaUri"/> 
    4210             <input type="submit" value="{$bwStr-Atnd-Add}" /> 
    4211             <!-- Recipients are deprecated: default all to attendees --> 
    4212             <input type="hidden" name="recipient" value="true"/> 
    4213             <input type="hidden" name="attendee"  value="true"/> 
    4214             <xsl:text> </xsl:text> 
    4215             <xsl:copy-of select="$bwStr-Atnd-RoleColon"/> 
    4216             <select name="role"> 
    4217               <option value="REQ-PARTICIPANT"><xsl:copy-of select="$bwStr-Atnd-RequiredParticipant"/></option> 
    4218               <option value="OPT-PARTICIPANT"><xsl:copy-of select="$bwStr-Atnd-OptionalParticipant"/></option> 
    4219               <option value="CHAIR"><xsl:copy-of select="$bwStr-Atnd-Chair"/></option> 
    4220               <option value="NON-PARTICIPANT"><xsl:copy-of select="$bwStr-Atnd-NonParticipant"/></option> 
    4221             </select> 
    4222             <xsl:text> </xsl:text> 
    4223             <xsl:copy-of select="$bwStr-Atnd-StatusColon"/> 
    4224             <select name="partstat"> 
    4225               <option value="NEEDS-ACTION"><xsl:copy-of select="$bwStr-Atnd-NeedsAction"/></option> 
    4226               <option value="ACCEPTED"><xsl:copy-of select="$bwStr-Atnd-Accepted"/></option> 
    4227               <option value="DECLINED"><xsl:copy-of select="$bwStr-Atnd-Declined"/></option> 
    4228               <option value="TENTATIVE"><xsl:copy-of select="$bwStr-Atnd-Tentative"/></option> 
    4229               <option value="DELEGATED"><xsl:copy-of select="$bwStr-Atnd-Delegated"/></option> 
    4230             </select> 
    4231           </div> 
    4232  
    4233           <xsl:if test="/bedework/attendees/attendee"> 
    4234             <xsl:apply-templates select="/bedework/attendees"/> 
    4235           </xsl:if> 
    4236  
    4237           <!-- Recipients are deprecated --> 
    4238           <!-- 
    4239           <xsl:if test="/bedework/recipients/recipient"> 
    4240             <xsl:apply-templates select="/bedework/recipients"/> 
    4241           </xsl:if> 
    4242           --> 
    4243  
    4244           <xsl:apply-templates select="/bedework/freebusy" mode="freeBusyGrid"> 
    4245             <xsl:with-param name="aggregation">true</xsl:with-param> 
    4246             <xsl:with-param name="type">meeting</xsl:with-param> 
    4247           </xsl:apply-templates> 
    4248  
    4249           <div class="eventSubmitButtons"> 
    4250             <input type="button" value="{$bwStr-AEEF-Continue}" onclick="window.location='{$gotoEditEvent}'"/> 
    4251           </div> 
    4252         </div> 
    4253       </form> 
    4254     </div> 
    4255   </xsl:template> 
    4256  
    4257   <xsl:template match="freebusy" mode="freeBusyGrid"> 
    4258     <xsl:param name="aggregation">false</xsl:param> 
    4259     <xsl:param name="type">normal</xsl:param> 
    4260       <table id="freeBusy"> 
    4261         <tr> 
    4262           <td>&#160;</td> 
    4263           <td colspan="24" class="left"> 
    4264             <xsl:copy-of select="$bwStr-FrBu-FreebusyFor"/><xsl:text> </xsl:text> 
    4265             <span class="who"> 
    4266               <xsl:choose> 
    4267                 <xsl:when test="$aggregation = 'true'"> 
    4268                   <xsl:copy-of select="$bwStr-FrBu-AllAttendees"/> 
    4269                 </xsl:when> 
    4270                 <xsl:when test="starts-with(fbattendee/recipient,'mailto:')"> 
    4271                   <xsl:value-of select="substring-after(fbattendee/recipient,'mailto:')"/> 
    4272                 </xsl:when> 
    4273                 <xsl:otherwise> 
    4274                   <xsl:value-of select="fbattendee/recipient"/> 
    4275                 </xsl:otherwise> 
    4276               </xsl:choose> 
    4277             </span> 
    4278           </td> 
    4279           <!-- at some point allow switching of timezones: 
    4280           <td colspan="24" class="right"> 
    4281             <xsl:variable name="currentTimezone">America/Los_Angeles</xsl:variable> 
    4282             <xsl:value-of select="$formattedStartDate"/> to <xsl:value-of select="$formattedEndDate"/> 
    4283             <select name="timezone" id="timezonesDropDown" onchange="submit()"> 
    4284               <xsl:for-each select="/bedework-fbaggregator/timezones/tzid"> 
    4285                 <option> 
    4286                   <xsl:attribute name="value"><xsl:value-of select="."/></xsl:attribute> 
    4287                   <xsl:if test="node() = $currentTimezone"><xsl:attribute name="selected">selected</xsl:attribute></xsl:if> 
    4288                   <xsl:value-of select="."/> 
    4289                 </option> 
    4290               </xsl:for-each> 
    4291             </select> 
    4292           </td>--> 
    4293         </tr> 
    4294         <tr> 
    4295           <td>&#160;</td> 
    4296           <td colspan="12" class="morning"><xsl:copy-of select="$bwStr-FrBu-AM"/></td> 
    4297           <td colspan="12" class="evening"><xsl:copy-of select="$bwStr-FrBu-PM"/></td> 
    4298         </tr> 
    4299         <tr> 
    4300           <td>&#160;</td> 
    4301           <xsl:for-each select="day[position()=1]/period"> 
    4302             <td class="timeLabels"> 
    4303               <xsl:choose> 
    4304                 <xsl:when test="number(start) mod 200 = 0"> 
    4305                   <xsl:call-template name="timeFormatter"> 
    4306                     <xsl:with-param name="timeString" select="start"/> 
    4307                     <xsl:with-param name="showMinutes">no</xsl:with-param> 
    4308                     <xsl:with-param name="showAmPm">no</xsl:with-param> 
    4309                   </xsl:call-template> 
    4310                 </xsl:when> 
    4311                 <xsl:otherwise> 
    4312                   &#160; 
    4313                 </xsl:otherwise> 
    4314               </xsl:choose> 
    4315             </td> 
    4316           </xsl:for-each> 
    4317         </tr> 
    4318         <xsl:for-each select="day"> 
    4319           <tr> 
    4320             <td class="dayDate"><xsl:value-of select="number(substring(dateString,5,2))"/>-<xsl:value-of select="number(substring(dateString,7,2))"/></td> 
    4321             <xsl:for-each select="period"> 
    4322               <xsl:variable name="startTime" select="start"/> 
    4323               <!-- the start date for the add event link is a concat of the day's date plus the period's time (+ seconds)--> 
    4324               <xsl:variable name="startDate"><xsl:value-of select="../dateString"/>T<xsl:value-of select="start"/>00</xsl:variable> 
    4325               <xsl:variable name="meetingDuration" select="length"/> 
    4326               <td> 
    4327                 <xsl:attribute name="class"> 
    4328                   <xsl:choose> 
    4329                     <xsl:when test="fbtype = '0'"><xsl:copy-of select="$bwStr-FrBu-Busy"/></xsl:when> 
    4330                     <xsl:when test="fbtype = '3'"><xsl:copy-of select="$bwStr-FrBu-Tentative"/></xsl:when> 
    4331                     <xsl:otherwise><xsl:copy-of select="$bwStr-FrBu-Free"/></xsl:otherwise> 
    4332                   </xsl:choose> 
    4333                 </xsl:attribute> 
    4334                 <xsl:variable name="action"> 
    4335                   <xsl:choose> 
    4336                     <xsl:when test="$aggregation = 'true'"><xsl:value-of select="$updateEvent"/></xsl:when> 
    4337                     <xsl:otherwise><xsl:value-of select="$initEvent"/></xsl:otherwise> 
    4338                   </xsl:choose> 
    4339                 </xsl:variable> 
    4340                 <xsl:variable name="urlString"> 
    4341                   <xsl:choose> 
    4342                    <xsl:when test="$type='meeting'"><xsl:value-of select="$action"/>&amp;meetingStartdt=<xsl:value-of select="$startDate"/>&amp;meetingDuration=<xsl:value-of select="$meetingDuration"/>&amp;initDates=yes</xsl:when> 
    4343                    <xsl:otherwise><xsl:value-of select="$action"/>&amp;startdate=<xsl:value-of select="$startDate"/>&amp;minutes=<xsl:value-of select="$meetingDuration"/></xsl:otherwise> 
    4344                  </xsl:choose> 
    4345                 </xsl:variable> 
    4346                 <a href="{$urlString}"> 
    4347                   <xsl:choose> 
    4348                     <xsl:when test="((numBusy &gt; 0) and (numBusy &lt; 9)) or ((numTentative &gt; 0) and (numTentative &lt; 9)) and (number(numBusy) + number(numTentative) &lt; 9)"> 
    4349                       <xsl:value-of select="number(numBusy) + number(numTentative)"/> 
    4350                     </xsl:when> 
    4351                     <xsl:otherwise><img src="{$resourcesRoot}/resources/spacer.gif" width="10" height="20" border="0" alt="f"/></xsl:otherwise> 
    4352                   </xsl:choose> 
    4353                   <span class="eventTip"> 
    4354                     <xsl:value-of select="substring(../dateString,1,4)"/>-<xsl:value-of select="number(substring(../dateString,5,2))"/>-<xsl:value-of select="number(substring(../dateString,7,2))"/> 
    4355                     <br/> 
    4356                     <strong> 
    4357                       <xsl:call-template name="timeFormatter"> 
    4358                         <xsl:with-param name="timeString" select="$startTime"/> 
    4359                       </xsl:call-template> 
    4360                     </strong> 
    4361                     <xsl:if test="numBusy &gt; 0"> 
    4362                       <br/><xsl:value-of select="numBusy"/><xsl:text> </xsl:text><xsl:copy-of select="$bwStr-FrBu-Busy"/> 
    4363                     </xsl:if> 
    4364                     <xsl:if test="numTentative &gt; 0"> 
    4365                       <br/><xsl:value-of select="numTentative"/><xsl:text> </xsl:text><xsl:copy-of select="$bwStr-FrBu-Tentative"/> 
    4366                     </xsl:if> 
    4367                     <xsl:if test="numBusy = 0 and numTentative = 0"> 
    4368                       <br/><em><xsl:copy-of select="$bwStr-FrBu-AllFree"/></em> 
    4369                     </xsl:if> 
    4370                   </span> 
    4371                 </a> 
    4372               </td> 
    4373             </xsl:for-each> 
    4374           </tr> 
    4375         </xsl:for-each> 
    4376       </table> 
    4377  
    4378       <table id="freeBusyKey"> 
    4379         <tr> 
    4380           <td class="free">*</td> 
    4381           <td><xsl:copy-of select="$bwStr-FrBu-Free"/></td> 
    4382           <td>&#160;</td> 
    4383           <td class="busy">*</td> 
    4384           <td><xsl:copy-of select="$bwStr-FrBu-Busy"/></td> 
    4385           <td>&#160;</td> 
    4386           <td class="tentative">*</td> 
    4387           <td><xsl:copy-of select="$bwStr-FrBu-Tentative"/></td> 
    4388         </tr> 
    4389       </table> 
    4390   </xsl:template> 
    4391  
    4392   <xsl:template match="attendees"> 
    4393     <xsl:param name="trash">yes</xsl:param> 
    4394     <table id="attendees" class="widget" cellspacing="0"> 
    4395       <tr> 
    4396         <th colspan="4"><xsl:copy-of select="$bwStr-Atnd-Attendees"/></th> 
    4397       </tr> 
    4398       <tr class="subHead"> 
    4399         <xsl:if test="$trash = 'yes'"><td></td></xsl:if> 
    4400         <td><xsl:copy-of select="$bwStr-Atnd-Attendee"/></td> 
    4401         <td><xsl:copy-of select="$bwStr-Atnd-Role"/></td> 
    4402         <td><xsl:copy-of select="$bwStr-Atnd-Status"/></td> 
    4403       </tr> 
    4404       <xsl:for-each select="attendee"> 
    4405         <xsl:sort select="cn" order="ascending" case-order="upper-first"/> 
    4406         <xsl:sort select="attendeeUri" order="ascending" case-order="upper-first"/> 
    4407         <xsl:variable name="attendeeUri" select="attendeeUri"/> 
    4408         <tr> 
    4409           <xsl:if test="$trash = 'yes'"> 
    4410             <td class="trash"> 
    4411               <a href="{$event-attendeesForEvent}&amp;uri={$attendeeUri}&amp;attendee=true&amp;delete=true" title="{$bwStr-Atnd-Remove}"> 
    4412                 <img src="{$resourcesRoot}/resources/trashIcon.gif" width="13" height="13" border="0" alt="remove"/> 
    4413               </a> 
    4414             </td> 
    4415           </xsl:if> 
    4416           <td> 
    4417             <a href="{$attendeeUri}"> 
    4418               <xsl:choose> 
    4419                 <xsl:when test="cn != ''"> 
    4420                   <xsl:value-of select="cn"/> 
    4421                 </xsl:when> 
    4422                 <xsl:otherwise> 
    4423                   <xsl:value-of select="attendeeUri"/> 
    4424                 </xsl:otherwise> 
    4425               </xsl:choose> 
    4426             </a> 
    4427           </td> 
    4428           <td class="role"> 
    4429             <xsl:apply-templates select="role"/> 
    4430           </td> 
    4431           <td class="status"> 
    4432             <xsl:apply-templates select="partstat"/> 
    4433           </td> 
    4434         </tr> 
    4435       </xsl:for-each> 
    4436     </table> 
    4437   </xsl:template> 
    4438  
    4439   <xsl:template match="partstat"> 
    4440     <xsl:choose> 
    4441       <xsl:when test=". = 'NEEDS-ACTION' or . = ''"><xsl:copy-of select="$bwStr-ptst-NeedsAction"/></xsl:when> 
    4442       <xsl:when test=". = 'ACCEPTED'"><xsl:copy-of select="$bwStr-ptst-Accepted"/></xsl:when> 
    4443       <xsl:when test=". = 'DECLINED'"><xsl:copy-of select="$bwStr-ptst-Declined"/></xsl:when> 
    4444       <xsl:when test=". = 'TENTATIVE'"><xsl:copy-of select="$bwStr-ptst-Tentative"/></xsl:when> 
    4445       <xsl:when test=". = 'DELEGATED'"><xsl:copy-of select="$bwStr-ptst-Delegated"/></xsl:when> 
    4446       <xsl:otherwise><xsl:value-of select="."/></xsl:otherwise> 
    4447     </xsl:choose> 
    4448   </xsl:template> 
    4449  
    4450   <xsl:template match="role"> 
    4451     <xsl:choose> 
    4452       <xsl:when test=". = 'REQ-PARTICIPANT' or . = ''">required participant</xsl:when> 
    4453       <xsl:when test=". = 'CHAIR'">chair</xsl:when> 
    4454       <xsl:when test=". = 'OPT-PARTICIPANT'">optional participant</xsl:when> 
    4455       <xsl:when test=". = 'NON-PARTICIPANT'">non-participant</xsl:when> 
    4456       <xsl:otherwise><xsl:value-of select="."/></xsl:otherwise> 
    4457     </xsl:choose> 
    4458   </xsl:template> 
    4459  
    4460   <!-- Recipients are deprecated --> 
    4461   <xsl:template match="recipients"> 
    4462     <xsl:param name="trash">yes</xsl:param> 
    4463     <table id="recipients" class="widget" cellspacing="0"> 
    4464       <tr> 
    4465         <th colspan="2"><xsl:copy-of select="$bwStr-Rcpt-Recipients"/></th> 
    4466       </tr> 
    4467       <tr class="subHead"> 
    4468         <xsl:if test="$trash = 'yes'"><td></td></xsl:if> 
    4469         <td><xsl:copy-of select="$bwStr-Rcpt-Recipient"/></td> 
    4470       </tr> 
    4471       <xsl:for-each select="recipient"> 
    4472         <xsl:variable name="recipientUri" select="."/> 
    4473         <tr> 
    4474           <xsl:if test="$trash = 'yes'"> 
    4475             <td class="trash"> 
    4476               <a href="{$event-attendeesForEvent}&amp;uri={$recipientUri}&amp;recipient=true&amp;delete=true" title="{$bwStr-Rcpt-Remove}"> 
    4477                 <img src="{$resourcesRoot}/resources/trashIcon.gif" width="13" height="13" border="0" alt="remove"/> 
    4478               </a> 
    4479             </td> 
    4480           </xsl:if> 
    4481           <td> 
    4482             <a href="{$recipientUri}"> 
    4483               <xsl:value-of select="."/> 
    4484             </a> 
    4485           </td> 
    4486         </tr> 
    4487       </xsl:for-each> 
    4488     </table> 
    4489   </xsl:template> 
    4490  
    4491   <xsl:template match="event" mode="addEventRef"> 
    4492   <!-- The name "eventForm" is referenced by several javascript functions. Do not 
    4493     change it without modifying bedework.js --> 
    4494     <form name="eventForm" method="post" action="{$event-addEventRefComplete}" id="standardForm"  enctype="multipart/form-data"> 
    4495       <xsl:variable name="calPath" select="calendar/path"/> 
    4496       <xsl:variable name="guid"><xsl:call-template name="url-encode"><xsl:with-param name="str" select="guid"/></xsl:call-template></xsl:variable> 
    4497       <xsl:variable name="recurrenceId" select="recurrenceId"/> 
    4498       <input type="hidden" name="calPath" value="{$calPath}"/> 
    4499       <input type="hidden" name="guid" value="{$guid}"/> 
    4500       <input type="hidden" name="recurrenceId" value="{$recurrenceId}"/> 
    4501       <!-- newCalPath is the path to the calendar in which the reference 
    4502            should be placed.  If no value, then default calendar. --> 
    4503       <input type="hidden" name="newCalPath" value="" id="bwNewCalPathField"/> 
    4504  
    4505       <h2><xsl:copy-of select="$bwStr-AEEF-AddEventReference"/></h2> 
    4506       <table class="common" cellspacing="0"> 
    4507         <tr> 
    4508           <td class="fieldname"> 
    4509             <xsl:copy-of select="$bwStr-AEEF-EventColon"/> 
    4510           </td> 
    4511           <td> 
    4512             <xsl:choose> 
    4513               <xsl:when test="summary = ''"> 
    4514                 <em><xsl:copy-of select="$bwStr-AEEF-NoTitle"/></em><xsl:text> </xsl:text> 
    4515               </xsl:when> 
    4516               <xsl:otherwise> 
    4517                 <xsl:value-of select="summary"/> 
    4518               </xsl:otherwise> 
    4519             </xsl:choose> 
    4520           </td> 
    4521         </tr> 
    4522         <tr> 
    4523           <td class="fieldname"> 
    4524             <xsl:copy-of select="$bwStr-AEEF-IntoCalendar"/> 
    4525           </td> 
    4526           <td align="left"> 
    4527             <span id="bwEventCalDisplay"> 
    4528               <em><xsl:copy-of select="$bwStr-AEEF-DefaultCalendar"/></em> 
    4529             </span> 
    4530             <xsl:call-template name="selectCalForEvent"/> 
    4531           </td> 
    4532         </tr> 
    4533         <tr> 
    4534           <td class="fieldname"> 
    4535             <xsl:copy-of select="$bwStr-AEEF-AffectsFreeBusy"/> 
    4536           </td> 
    4537           <td align="left"> 
    4538             <input type="radio" value="OPAQUE" name="transparency"/><xsl:text> </xsl:text><xsl:copy-of select="$bwStr-AEEF-Yes"/><xsl:text> </xsl:text><span class="note"><xsl:copy-of select="$bwStr-AEEF-Opaque"/></span><br/> 
    4539             <input type="radio" value="TRANSPARENT" name="transparency" checked="checked"/><xsl:text> </xsl:text><xsl:copy-of select="$bwStr-AEEF-No"/><xsl:text> </xsl:text><span class="note"><xsl:copy-of select="$bwStr-AEEF-Transparent"/></span> 
    4540           </td> 
    4541         </tr> 
    4542       </table> 
    4543       <table border="0" id="submitTable"> 
    4544         <tr> 
    4545           <td> 
    4546             <input name="submit" type="submit" value="{$bwStr-AEEF-Continue}"/> 
    4547             <input name="cancelled" type="submit" value="{$bwStr-AEEF-Cancel}"/> 
    4548           </td> 
    4549         </tr> 
    4550       </table> 
    4551     </form> 
    4552   </xsl:template> 
    4553  
    4554   <!--+++++++++++++++ Free / Busy ++++++++++++++++++++--> 
    4555   <xsl:template match="freebusy" mode="freeBusyPage"> 
    4556     <span id="freeBusyShareLink"> 
    4557       <a href="{$calendar-fetch}">share my free-busy</a> 
    4558       <!--<div dojoType="FloatingPane" id="bwHelpWidget-shareFreeBusy" 
    4559                title="Bedework Help" toggle="plain" 
    4560                windowState="minimized" hasShadow="true" 
    4561                displayMinimizeAction="true" resizable="false" 
    4562                constrainToContainer="true"> 
    4563         You may share your free busy with a user or group 
    4564         by <a href="{$calendar-fetch}">setting 
    4565         access to "read freebusy" on calendars</a> you wish to share. 
    4566         To share all your free busy, grant 
    4567         "read freebusy" access on your root folder. 
    4568       </div> 
    4569       <span class="contextHelp"> 
    4570         <a href="javascript:launchHelpWidget('bwHelpWidget-shareFreeBusy')"> 
    4571           <img src="{$resourcesRoot}/resources/std-button-help.gif" width="13" height="13" border="0" alt="help"/> 
    4572         </a> 
    4573       </span>--> 
    4574       <span class="contextHelp"> 
    4575         <img src="{$resourcesRoot}/resources/std-button-help.gif" width="13" height="13" alt="help" onmouseover="changeClass('helpShareFreeBusy','visible helpBox');" onmouseout="changeClass('helpShareFreeBusy','invisible');"/> 
    4576       </span> 
    4577       <div id="helpShareFreeBusy" class="helpBox invisible"> 
    4578           <xsl:copy-of select="$bwStr-FrBu-YouMayShareYourFreeBusy"/> 
    4579       </div> 
    4580     </span> 
    4581     <h2> 
    4582       <xsl:copy-of select="$bwStr-FrBu-FreeBusy"/> 
    4583     </h2> 
    4584  
    4585     <div id="freeBusyPage"> 
    4586       <form name="viewFreeBusyForm" id="viewFreeBusyForm" method="post" action="{$freeBusy-fetch}"> 
    4587         <xsl:copy-of select="$bwStr-FrBu-ViewUsersFreeBusy"/> 
    4588         <input type="text" name="userid" size="20"/> 
    4589         <input type="submit" name="submit" value="Submit"/> 
    4590       </form> 
    4591       <xsl:apply-templates select="." mode="freeBusyGrid"> 
    4592         <xsl:with-param name="type">normal</xsl:with-param> 
    4593       </xsl:apply-templates> 
    4594     </div> 
    4595   </xsl:template> 
    4596  
    4597   <!--+++++++++++++++ Categories ++++++++++++++++++++--> 
    4598   <xsl:template name="categoryList"> 
    4599     <h2><xsl:copy-of select="$bwStr-Ctgy-ManagePreferences"/></h2> 
    4600     <ul class="submenu"> 
    4601       <li> 
    4602         <a href="{$prefs-fetchForUpdate}"><xsl:copy-of select="$bwStr-Ctgy-General"/></a> 
    4603       </li> 
    4604       <li class="selected"><xsl:copy-of select="$bwStr-Ctgy-Categories"/></li> 
    4605       <li> 
    4606         <a href="{$location-initUpdate}"><xsl:copy-of select="$bwStr-Ctgy-Locations"/></a> 
    4607       </li> 
    4608       <li> 
    4609         <a href="{$prefs-fetchSchedulingForUpdate}"><xsl:copy-of select="$bwStr-Ctgy-SchedulingMeetings"/></a> 
    4610       </li> 
    4611     </ul> 
    4612     <table class="common" id="manage" cellspacing="0"> 
    4613       <tr> 
    4614         <th class="commonHeader"><xsl:copy-of select="$bwStr-Ctgy-ManageCategories"/></th> 
    4615       </tr> 
    4616       <tr> 
    4617         <td> 
    4618           <input type="button" name="return" value="{$bwStr-Ctgy-Type}" onclick="javascript:location.replace('{$category-initAdd}')" class="titleButton"/> 
    4619           <ul> 
    4620             <xsl:choose> 
    4621               <xsl:when test="/bedework/categories/category"> 
    4622                 <xsl:for-each select="/bedework/categories/category"> 
    4623                   <xsl:variable name="catUid" select="uid"/> 
    4624                   <li> 
    4625                     <a href="{$category-fetchForUpdate}&amp;catUid={$catUid}"> 
    4626                       <xsl:value-of select="value"/> 
    4627                     </a> 
    4628                   </li> 
    4629                 </xsl:for-each> 
    4630               </xsl:when> 
    4631               <xsl:otherwise> 
    4632                 <li> 
    4633                   <xsl:copy-of select="$bwStr-Ctgy-NoCategoriesDefined"/> 
    4634                 </li> 
    4635               </xsl:otherwise> 
    4636             </xsl:choose> 
    4637           </ul> 
    4638         </td> 
    4639       </tr> 
    4640     </table> 
    4641   </xsl:template> 
    4642  
    4643   <xsl:template name="modCategory"> 
    4644     <h2><xsl:copy-of select="$bwStr-MCat-ManagePreferences"/></h2> 
    4645     <ul class="submenu"> 
    4646       <li> 
    4647         <a href="{$prefs-fetchForUpdate}"><xsl:copy-of select="$bwStr-MCat-General"/></a> 
    4648       </li> 
    4649       <li class="selected"><xsl:copy-of select="$bwStr-MCat-Categories"/></li> 
    4650       <li> 
    4651         <a href="{$location-initUpdate}"><xsl:copy-of select="$bwStr-MCat-Locations"/></a> 
    4652       </li> 
    4653       <li> 
    4654         <a href="{$prefs-fetchSchedulingForUpdate}"><xsl:copy-of select="$bwStr-MCat-SchedulingMeetings"/></a> 
    4655       </li> 
    4656     </ul> 
    4657     <xsl:choose> 
    4658       <xsl:when test="/bedework/creating='true'"> 
    4659         <form action="{$category-update}" method="post"> 
    4660           <table class="common" cellspacing="0"> 
    4661             <tr> 
    4662               <th class="commonHeader" colspan="2"><xsl:copy-of select="$bwStr-MCat-AddCategory"/></th> 
    4663             </tr> 
    4664             <tr> 
    4665               <td class="fieldname"> 
    4666                 <xsl:copy-of select="$bwStr-MCat-Keyword"/> 
    4667               </td> 
    4668               <td> 
    4669                 <input type="text" name="categoryWord.value" value="" size="40"/> 
    4670               </td> 
    4671             </tr> 
    4672             <tr> 
    4673               <td class="fieldname optional"> 
    4674                 <xsl:copy-of select="$bwStr-MCat-Description"/> 
    4675               </td> 
    4676               <td> 
    4677                 <textarea name="categoryDesc.value" rows="3" cols="60"> 
    4678                   <xsl:text> </xsl:text> 
    4679                 </textarea> 
    4680               </td> 
    4681             </tr> 
    4682           </table> 
    4683           <table border="0" id="submitTable"> 
    4684             <tr> 
    4685               <td> 
    4686                 <input type="submit" name="addCategory" value="{$bwStr-MCat-AddCategory}"/> 
    4687                 <input type="submit" name="cancelled" value="{$bwStr-MCat-Cancel}"/> 
    4688               </td> 
    4689             </tr> 
    4690           </table> 
    4691         </form> 
    4692       </xsl:when> 
    4693       <xsl:otherwise> 
    4694         <form action="{$category-update}" method="post"> 
    4695           <table class="common" cellspacing="0"> 
    4696             <tr> 
    4697               <th class="commonHeader" colspan="2"><xsl:copy-of select="$bwStr-MCat-AddCategory"/></th> 
    4698             </tr> 
    4699             <tr> 
    4700               <td class="fieldname"> 
    4701                 <xsl:copy-of select="$bwStr-MCat-Keyword"/> 
    4702               </td> 
    4703               <td> 
    4704                 <input type="text" name="categoryWord.value" value="" size="40"> 
    4705                   <xsl:attribute name="value"><xsl:value-of select="normalize-space(/bedework/currentCategory/category/value)"/></xsl:attribute> 
    4706                 </input> 
    4707               </td> 
    4708             </tr> 
    4709             <tr> 
    4710               <td class="fieldname optional"> 
    4711                 <xsl:copy-of select="$bwStr-MCat-Description"/> 
    4712               </td> 
    4713               <td> 
    4714                 <textarea name="categoryDesc.value" rows="3" cols="60"> 
    4715                   <xsl:value-of select="normalize-space(/bedework/currentCategory/category/desc)"/> 
    4716                   <xsl:if test="normalize-space(/bedework/currentCategory/category/desc/textarea) = ''"> 
    4717                     <xsl:text> </xsl:text> 
    4718                     <!-- keep this space to avoid browser 
    4719                     rendering errors when the text area is empty --> 
    4720                   </xsl:if> 
    4721                 </textarea> 
    4722               </td> 
    4723             </tr> 
    4724           </table> 
    4725  
    4726           <table border="0" id="submitTable"> 
    4727             <tr> 
    4728               <td> 
    4729                 <input type="submit" name="updateCategory" value="{$bwStr-MCat-UpdateCategory}"/> 
    4730                 <input type="submit" name="cancelled" value="{$bwStr-MCat-Cancel}"/> 
    4731               </td> 
    4732               <td align="right"> 
    4733                 <input type="submit" name="delete" value="{$bwStr-MCat-DeleteCategory}"/> 
    4734               </td> 
    4735             </tr> 
    4736           </table> 
    4737         </form> 
    4738       </xsl:otherwise> 
    4739     </xsl:choose> 
    4740   </xsl:template> 
    4741  
    4742   <xsl:template name="deleteCategoryConfirm"> 
    4743     <h2><xsl:copy-of select="$bwStr-DlCC-OKtoDeleteCategory"/></h2> 
    4744  
    4745     <table class="common" cellspacing="0"> 
    4746       <tr> 
    4747         <th class="commonHeader" colspan="2"><xsl:copy-of select="$bwStr-DlCC-DeleteCategory"/></th> 
    4748       </tr> 
    4749       <tr> 
    4750         <td class="fieldname"> 
    4751           <xsl:copy-of select="$bwStr-DlCC-Keyword"/> 
    4752         </td> 
    4753         <td> 
    4754           <xsl:value-of select="/bedework/currentCategory/category/value"/> 
    4755         </td> 
    4756       </tr> 
    4757       <tr> 
    4758         <td class="fieldname optional"> 
    4759           <xsl:copy-of select="$bwStr-DlCC-Description"/> 
    4760         </td> 
    4761         <td> 
    4762           <xsl:value-of select="/bedework/currentCategory/category/desc"/> 
    4763         </td> 
    4764       </tr> 
    4765     </table> 
    4766  
    4767     <form action="{$category-delete}" method="post"> 
    4768       <input type="submit" name="deleteCategory" value="{$bwStr-DlCC-YesDeleteCategory}"/> 
    4769       <input type="submit" name="cancelled" value="{$bwStr-DlCC-NoCancel}"/> 
    4770     </form> 
    4771   </xsl:template> 
    4772  
    4773   <!--+++++++++++++++ Calendars ++++++++++++++++++++--> 
    4774  
    4775    <!-- 
    4776     Calendar templates depend heavily on calendar types: 
    4777  
    4778     calTypes: 0 - Folder 
    4779               1 - Calendar 
    4780               2 - Trash 
    4781               3 - Deleted 
    4782               4 - Busy 
    4783               5 - Inbox 
    4784               6 - Outbox 
    4785               7 - Alias (internal - the underlying calType will be returned; check for the isSubscription property) 
    4786               8 - External subscription (internal - the underlying calType will be returned; check for the isSubscription property and check on the item's status) 
    4787               9 - Resource collection 
    4788   --> 
    4789  
    4790   <xsl:template match="calendars" mode="manageCalendars"> 
    4791     <h2><xsl:copy-of select="$bwStr-Cals-ManageCalendarsSubscriptions"/></h2> 
    4792     <table id="calendarTable"> 
    4793       <tr> 
    4794         <td class="cals"> 
    4795           <h3><xsl:copy-of select="$bwStr-Cals-Calendars"/></h3> 
    4796           <ul class="calendarTree"> 
    4797             <xsl:choose> 
    4798               <xsl:when test="/bedework/page='calendarDescriptions' or 
    4799                               /bedework/page='displayCalendar'"> 
    4800                 <xsl:apply-templates select="calendar[number(calType) &lt; 2 or number(calType) = 4 or number(calType) &gt; 6]" mode="listForDisplay"/> 
    4801               </xsl:when> 
    4802               <xsl:otherwise> 
    4803                 <xsl:apply-templates select="calendar" mode="listForUpdate"/> 
    4804               </xsl:otherwise> 
    4805             </xsl:choose> 
    4806           </ul> 
    4807         </td> 
    4808         <td class="calendarContent"> 
    4809           <xsl:choose> 
    4810             <xsl:when test="/bedework/page='calendarList' or 
    4811                             /bedework/page='calendarReferenced'"> 
    4812               <xsl:call-template name="calendarList"/> 
    4813             </xsl:when> 
    4814             <xsl:when test="/bedework/page='calendarDescriptions'"> 
    4815               <xsl:call-template name="calendarDescriptions"/> 
    4816             </xsl:when> 
    4817             <xsl:when test="/bedework/page='displayCalendar'"> 
    4818               <xsl:apply-templates select="/bedework/currentCalendar" mode="displayCalendar"/> 
    4819             </xsl:when> 
    4820             <xsl:when test="/bedework/page='deleteCalendarConfirm'"> 
    4821               <xsl:apply-templates select="/bedework/currentCalendar" mode="deleteCalendarConfirm"/> 
    4822             </xsl:when> 
    4823             <xsl:when test="/bedework/creating='true'"> 
    4824               <xsl:apply-templates select="/bedework/currentCalendar" mode="addCalendar"/> 
    4825             </xsl:when> 
    4826             <xsl:otherwise> 
    4827               <xsl:apply-templates select="/bedework/currentCalendar" mode="modCalendar"/> 
    4828             </xsl:otherwise> 
    4829           </xsl:choose> 
    4830         </td> 
    4831       </tr> 
    4832     </table> 
    4833   </xsl:template> 
    4834  
    4835   <xsl:template match="calendar" mode="myCalendars"> 
    4836     <!-- this template receives calType 0,1,4,7,8,9  --> 
    4837     <xsl:variable name="id" select="id"/> 
    4838     <li> 
    4839       <xsl:attribute name="class"> 
    4840         <xsl:choose> 
    4841           <xsl:when test="disabled = 'true'">unknown</xsl:when> 
    4842           <xsl:when test="lastRefreshStatus &gt; 300">unknown</xsl:when> 
    4843           <xsl:when test="/bedework/selectionState/selectionType = 'collections' 
    4844                           and path = /bedework/selectionState/collection/virtualpath">selected</xsl:when> 
    4845           <xsl:when test="isSubscription = 'true'"> 
    4846             <xsl:choose> 
    4847               <xsl:when test="calType = '0'">aliasFolder</xsl:when> 
    4848               <xsl:otherwise>alias</xsl:otherwise> 
    4849             </xsl:choose> 
    4850           </xsl:when> 
    4851           <xsl:when test="calType = '0'">folder</xsl:when> 
    4852           <xsl:otherwise>calendar</xsl:otherwise> 
    4853         </xsl:choose> 
    4854       </xsl:attribute> 
    4855       <xsl:if test="currentAccess/current-user-privilege-set/privilege/write-content"> 
    4856         <xsl:variable name="userRootCalendar">/user/<xsl:value-of select="/bedework/userid"/></xsl:variable> 
    4857         <form name="bwHideDisplayCal" class="bwHideDisplayCal" method="post"> 
    4858           <xsl:attribute name="action"> 
    4859             <xsl:choose> 
    4860               <xsl:when test="/bedework/page = 'eventList'"><xsl:value-of select="$calendar-setPropsInList"/></xsl:when> 
    4861               <xsl:otherwise><xsl:value-of select="$calendar-setPropsInGrid"/></xsl:otherwise> 
    4862             </xsl:choose> 
    4863           </xsl:attribute> 
    4864           <input type="hidden" name="calPath"> 
    4865             <xsl:attribute name="value"><xsl:value-of select="path"/></xsl:attribute> 
    4866           </input> 
    4867           <xsl:choose> 
    4868             <xsl:when test="display = 'true'"> 
    4869               <!-- set the value of display to false so that when the form is submitted we toggle --> 
    4870               <input type="hidden" name="display" value="false"/> 
    4871               <input type="checkbox" name="bwDisplaySetter" checked="checked"  onclick="this.form.submit()"> 
    4872                 <xsl:if test="(/bedework/page != 'eventscalendar' and 
    4873                                /bedework/page != 'eventList') or 
    4874                                $userRootCalendar = path"><xsl:attribute name="disabled">disabled</xsl:attribute></xsl:if> 
    4875               </input> 
    4876             </xsl:when> 
    4877             <xsl:otherwise> 
    4878               <!-- set the value of display to true so that when the form is submitted we toggle --> 
    4879               <input type="hidden" name="display" value="true"/> 
    4880               <input type="checkbox" name="bwDisplaySetter" onclick="this.form.submit()"> 
    4881                 <xsl:if test="(/bedework/page != 'eventscalendar' and 
    4882                                /bedework/page != 'eventList') or 
    4883                                $userRootCalendar = path"><xsl:attribute name="disabled">disabled</xsl:attribute></xsl:if> 
    4884               </input> 
    4885             </xsl:otherwise> 
    4886           </xsl:choose> 
    4887         </form> 
    4888         <xsl:text> </xsl:text> 
    4889       </xsl:if> 
    4890       <xsl:variable name="virtualPath"><xsl:call-template name="url-encode"><xsl:with-param name="str">/user<xsl:for-each select="ancestor-or-self::calendar/name">/<xsl:value-of select="."/></xsl:for-each></xsl:with-param></xsl:call-template></xsl:variable> 
    4891       <xsl:variable name="calPath" select="encodedPath"/> 
    4892       <a href="{$setSelection}&amp;virtualPath={$virtualPath}&amp;calUrl={$calPath}"> 
    4893         <xsl:if test="lastRefreshStatus &gt;= 300"> 
    4894           <xsl:attribute name="title"> 
    4895             <xsl:call-template name="httpStatusCodes"> 
    4896               <xsl:with-param name="code"><xsl:value-of  select="lastRefreshStatus"/></xsl:with-param> 
    4897             </xsl:call-template> 
    4898           </xsl:attribute> 
    4899         </xsl:if> 
    4900         <xsl:value-of select="name"/> 
    4901       </a> 
    4902       <xsl:if test="color != '' and color != 'null'"> 
    4903         <!-- the spacer gif approach allows us to avoid some IE misbehavior --> 
    4904         <xsl:variable name="color" select="color"/> 
    4905         <img src="{$resourcesRoot}/resources/spacer.gif" width="6" height="6" alt="calendar color" class="bwCalendarColor" style="background-color: {$color}; color:black;"/> 
    4906       </xsl:if> 
    4907       <xsl:if test="calendar"> 
    4908         <ul> 
    4909           <xsl:apply-templates select="calendar[canAlias = 'true']" mode="myCalendars"> 
    4910             <xsl:sort select="name" order="ascending" case-order="upper-first"/> 
    4911           </xsl:apply-templates> 
    4912         </ul> 
    4913       </xsl:if> 
    4914     </li> 
    4915   </xsl:template> 
    4916  
    4917   <xsl:template match="calendar" mode="mySpecialCalendars"> 
    4918     <!-- this template receives calType 2,3,5,6  --> 
    4919     <xsl:variable name="id" select="id"/> 
    4920     <li> 
    4921       <xsl:attribute name="class"> 
    4922         <xsl:choose> 
    4923           <xsl:when test="/bedework/selectionState/selectionType = 'collections' 
    4924                           and path = /bedework/selectionState/subscriptions/subscription/calendar/path">selected</xsl:when> 
    4925           <xsl:when test="calType='2' or calType='3'">trash</xsl:when> 
    4926           <xsl:when test="calType='5'">inbox</xsl:when> 
    4927           <xsl:when test="calType='6'">outbox</xsl:when> 
    4928           <xsl:when test="calType='0'">folder</xsl:when> 
    4929           <xsl:otherwise>calendar</xsl:otherwise> 
    4930         </xsl:choose> 
    4931       </xsl:attribute> 
    4932       <xsl:variable name="calPath" select="encodedPath"/> 
    4933       <xsl:choose> 
    4934         <xsl:when test="calType='5'"> 
    4935           <a href="{$showInbox}" title="{$bwStr-Cals-IncomingSchedulingRequests}"> 
    4936             <xsl:value-of select="name"/> 
    4937           </a> 
    4938           <xsl:text> </xsl:text> 
    4939           <xsl:if test="/bedework/inboxState/numActive != '0'"> 
    4940             <span class="inoutboxActive">(<xsl:value-of select="/bedework/inboxState/numActive"/>)</span> 
    4941           </xsl:if> 
    4942         </xsl:when> 
    4943         <xsl:when test="calType='6'"> 
    4944           <a href="{$showOutbox}" title="{$bwStr-Cals-OutgoingSchedulingRequests}"> 
    4945             <xsl:value-of select="name"/> 
    4946           </a> 
    4947           <xsl:text> </xsl:text> 
    4948           <xsl:if test="/bedework/outboxState/numActive != '0'"> 
    4949             <span class="inoutboxActive">(<xsl:value-of select="/bedework/outboxState/numActive"/>)</span> 
    4950           </xsl:if> 
    4951         </xsl:when> 
    4952         <xsl:otherwise> 
    4953           <xsl:variable name="virtualPath"><xsl:call-template name="url-encode"><xsl:with-param name="str">/user<xsl:for-each select="ancestor-or-self::calendar/name">/<xsl:value-of select="."/></xsl:for-each></xsl:with-param></xsl:call-template></xsl:variable> 
    4954           <a href="{$setSelection}&amp;virtualPath={$virtualPath}&amp;calUrl={$calPath}"> 
    4955             <xsl:attribute name="title"> 
    4956               <xsl:choose> 
    4957                 <xsl:when test="calType = 2">Contains items you have access to delete.</xsl:when> 
    4958                 <xsl:when test="calType = 3">Used to mask items you do not have access to truly delete, such as many subscribed events.</xsl:when> 
    4959               </xsl:choose> 
    4960             </xsl:attribute> 
    4961             <xsl:value-of select="name"/> 
    4962           </a> 
    4963         </xsl:otherwise> 
    4964       </xsl:choose> 
    4965       <xsl:if test="calendar"> 
    4966         <ul> 
    4967           <xsl:apply-templates select="calendar" mode="myCalendars"/> 
    4968         </ul> 
    4969       </xsl:if> 
    4970     </li> 
    4971   </xsl:template> 
    4972  
    4973   <xsl:template match="calendar" mode="listForUpdate"> 
    4974     <!-- this template receives all calTypes --> 
    4975     <xsl:variable name="calPath" select="encodedPath"/> 
    4976     <li> 
    4977       <xsl:attribute name="class"> 
    4978         <xsl:choose> 
    4979           <xsl:when test="disabled = 'true'">unknown</xsl:when> 
    4980           <xsl:when test="lastRefreshStatus &gt;= 300">unknown</xsl:when> 
    4981           <xsl:when test="isSubscription = 'true'"> 
    4982             <xsl:choose> 
    4983               <xsl:when test="calType = '0'">aliasFolder</xsl:when> 
    4984               <xsl:otherwise>alias</xsl:otherwise> 
    4985             </xsl:choose> 
    4986           </xsl:when> 
    4987           <xsl:when test="calType = '0'">folder</xsl:when> 
    4988           <xsl:when test="calType='2' or calType='3'">trash</xsl:when> 
    4989           <xsl:when test="calType='5'">inbox</xsl:when> 
    4990           <xsl:when test="calType='6'">outbox</xsl:when> 
    4991           <xsl:otherwise>calendar</xsl:otherwise> 
    4992         </xsl:choose> 
    4993       </xsl:attribute> 
    4994       <a href="{$calendar-fetchForUpdate}&amp;calPath={$calPath}" title="{$bwStr-Cals-Update}"> 
    4995         <xsl:value-of select="name"/> 
    4996       </a> 
    4997       <xsl:if test="calType = '0' and isSubscription = 'false'"> 
    4998         <xsl:text> </xsl:text> 
    4999         <a href="{$calendar-initAdd}&amp;calPath={$calPath}" title="{$bwStr-Cals-AddCalendarOrFolder}"> 
    5000           <img src="{$resourcesRoot}/resources/calAddIcon.gif" width="13" height="13" alt="add a calendar or folder" border="0"/> 
    5001         </a> 
    5002       </xsl:if> 
    5003       <xsl:if test="calendar and isSubscription='false'"> 
    5004         <ul> 
    5005           <xsl:apply-templates select="calendar" mode="listForUpdate"> 
    5006             <xsl:sort select="name" order="ascending" case-order="upper-first"/> 
    5007           </xsl:apply-templates> 
    5008         </ul> 
    5009       </xsl:if> 
    5010     </li> 
    5011   </xsl:template> 
    5012  
    5013   <xsl:template match="calendar" mode="listForDisplay"> 
    5014     <!-- this template receives calType 0,1,4,7,8,9 --> 
    5015     <xsl:variable name="calPath" select="encodedPath"/> 
    5016     <li> 
    5017       <xsl:attribute name="class"> 
    5018         <xsl:choose> 
    5019           <xsl:when test="isSubscription = 'true'">alias</xsl:when> 
    5020           <xsl:when test="calType = '0'">folder</xsl:when> 
    5021           <xsl:otherwise>calendar</xsl:otherwise> 
    5022         </xsl:choose> 
    5023       </xsl:attribute> 
    5024       <a href="{$calendar-fetchForDisplay}&amp;calPath={$calPath}" title="{$bwStr-Cals-Display}"> 
    5025         <xsl:value-of select="name"/> 
    5026       </a> 
    5027       <xsl:if test="calendar"> 
    5028         <ul> 
    5029           <xsl:apply-templates select="calendar[number(calType) &lt; 2 or number(calType) = 4 or number(calType) &gt; 6]" mode="listForDisplay"> 
    5030             <xsl:sort select="name" order="ascending" case-order="upper-first"/> 
    5031           </xsl:apply-templates> 
    5032         </ul> 
    5033       </xsl:if> 
    5034     </li> 
    5035   </xsl:template> 
    5036  
    5037   <xsl:template name="selectCalForEvent"> 
    5038   <!-- selectCalForEvent creates a calendar tree in a pop-up window. 
    5039       Used when selecting a calendar while adding or editing an event. 
    5040  
    5041       This template will be called when 
    5042       a) we add an event by date with no specific calendar selected 
    5043       b) we import an event 
    5044       c) we add an event ref 
    5045       d) we edit an event and change it's calendar (or change it while adding) 
    5046  
    5047       The intention is to load the calendar listing in a "pop-up" widget as a 
    5048       tree of myCalendars and writable calendars associated with subscriptions. 
    5049       The xml for the tree is already in header.jsp in myCalendars and 
    5050       mySubscriptions. 
    5051        --> 
    5052     <input type="button" onclick="javascript:changeClass('calSelectWidget','visible')" value="select calendar" class="small"/> 
    5053     <div id="calSelectWidget" class="invisible"> 
    5054       <h2><xsl:copy-of select="$bwStr-SCfE-SelectACalendar"/></h2> 
    5055       <a href="javascript:changeClass('calSelectWidget','invisible')" id="calSelectWidgetCloser" title="{$bwStr-SCfE-Close}">x</a> 
    5056       <ul class="calendarTree"> 
    5057         <xsl:choose> 
    5058           <xsl:when test="/bedework/formElements/form/calendars/select/option"> 
    5059             <xsl:apply-templates select="/bedework/myCalendars/calendars/calendar" mode="selectCalForEventCalTree"> 
    5060               <xsl:sort select="name" order="ascending" case-order="upper-first"/> 
    5061             </xsl:apply-templates> 
    5062           </xsl:when> 
    5063           <xsl:otherwise> 
    5064             <li><em><xsl:copy-of select="$bwStr-SCfE-NoWritableCals"/></em></li> 
    5065           </xsl:otherwise> 
    5066         </xsl:choose> 
    5067       </ul> 
    5068     </div> 
    5069   </xsl:template> 
    5070  
    5071   <xsl:template match="calendar" mode="selectCalForEventCalTree"> 
    5072     <xsl:variable name="id" select="id"/> 
    5073     <li> 
    5074       <xsl:attribute name="class"> 
    5075         <xsl:choose> 
    5076           <xsl:when test="/bedework/selectionState/selectionType = 'calendar' 
    5077                           and name = /bedework/selectionState/subscriptions/subscription/calendar/name">selected</xsl:when> 
    5078           <xsl:when test="isSubscription = 'true'">alias</xsl:when> 
    5079           <xsl:when test="name='Trash'">trash</xsl:when> 
    5080           <xsl:when test="calType = '0'">folder</xsl:when> 
    5081           <xsl:otherwise>calendar</xsl:otherwise> 
    5082         </xsl:choose> 
    5083       </xsl:attribute> 
    5084       <xsl:variable name="calPath" select="path"/> 
    5085       <xsl:variable name="userPath">user/<xsl:value-of select="/bedework/userid"/>/</xsl:variable> 
    5086       <xsl:variable name="calDisplay"> 
    5087         <xsl:choose> 
    5088           <xsl:when test="contains(path,$userPath)"> 
    5089             <xsl:value-of select="substring-after(path,$userPath)"/> 
    5090           </xsl:when> 
    5091           <xsl:otherwise> 
    5092             <xsl:value-of select="path"/> 
    5093           </xsl:otherwise> 
    5094         </xsl:choose> 
    5095       </xsl:variable> 
    5096       <xsl:choose> 
    5097         <xsl:when test="path = /bedework/formElements/form/calendars/select//option/@value and (calType != '0')"> 
    5098           <a href="javascript:updateEventFormCalendar('{$calPath}','{$calDisplay}')"> 
    5099             <strong><xsl:value-of select="name"/></strong> 
    5100           </a> 
    5101         </xsl:when> 
    5102         <xsl:otherwise> 
    5103           <xsl:value-of select="name"/> 
    5104         </xsl:otherwise> 
    5105       </xsl:choose> 
    5106       <xsl:if test="calendar"> 
    5107         <ul> 
    5108           <xsl:apply-templates select="calendar[calType &lt; 2]" mode="selectCalForEventCalTree"> 
    5109             <xsl:sort select="name" order="ascending" case-order="upper-first"/> 
    5110           </xsl:apply-templates> 
    5111         </ul> 
    5112       </xsl:if> 
    5113     </li> 
    5114   </xsl:template> 
    5115  
    5116   <xsl:template name="selectCalForPublicAlias"> 
    5117   <!-- This template is DEPRECATED ... selectCalForPublicAliasCalTree is now used instead. --> 
    5118   <!-- selectCalForPublicAlias creates a calendar tree pop-up window for 
    5119        selecting a public calendar subscription (alias). --> 
    5120  
    5121     <input type="button" onclick="javascript:changeClass('calSelectWidget','visible')" value="select calendar" class="small"/> 
    5122     <div id="calSelectWidget" class="invisible"> 
    5123       <h2><xsl:copy-of select="$bwStr-SCPA-SelectACalendar"/></h2> 
    5124       <a href="javascript:changeClass('calSelectWidget','invisible')" id="calSelectWidgetCloser" title="{$bwStr-SCPA-Close}">x</a> 
    5125       <ul class="calendarTree"> 
    5126         <xsl:apply-templates select="/bedework/publicCalendars/calendar" mode="selectCalForPublicAliasCalTree"/> 
    5127       </ul> 
    5128       <!-- Uncomment the following to use a three column format 
    5129       <xsl:variable name="topCalsCount" select="count(/bedework/calendars/calendar/calendar)"/> 
    5130       <xsl:variable name="topCalsDivThree" select="floor($topCalsCount div 3)"/> 
    5131       <xsl:variable name="topCalsTopSet" select="number($topCalsCount - $topCalsDivThree)"/> 
    5132       <ul class="calendarTree left"> 
    5133         <xsl:apply-templates select="/bedework/calendars/calendar/calendar[canAlias='true' and (position() &lt;= $topCalsDivThree)]" mode="selectCalForPublicAliasCalTree"/> 
    5134       </ul> 
    5135       <ul class="calendarTree left"> 
    5136         <xsl:apply-templates select="/bedework/calendars/calendar/calendar[canAlias='true' and (position() &gt; $topCalsDivThree) and (position() &lt;= $topCalsTopSet)]" mode="selectCalForPublicAliasCalTree"/> 
    5137       </ul> 
    5138       <ul class="calendarTree left"> 
    5139         <xsl:apply-templates select="/bedework/calendars/calendar/calendar[canAlias='true' and (position() &gt; $topCalsTopSet)]" mode="selectCalForPublicAliasCalTree"/> 
    5140       </ul> 
    5141       --> 
    5142     </div> 
    5143   </xsl:template> 
    5144  
    5145   <xsl:template match="calendar" mode="selectCalForPublicAliasCalTree"> 
    5146     <xsl:variable name="id" select="id"/> 
    5147     <li> 
    5148       <xsl:attribute name="class"> 
    5149         <xsl:choose> 
    5150           <xsl:when test="name='Trash'">trash</xsl:when> 
    5151           <xsl:when test="isSubscription = 'true'">alias</xsl:when> 
    5152           <xsl:when test="calType = '0'">folder</xsl:when> 
    5153           <xsl:otherwise>calendar</xsl:otherwise> 
    5154         </xsl:choose> 
    5155       </xsl:attribute> 
    5156       <xsl:variable name="calPath" select="path"/> 
    5157       <xsl:variable name="calDisplay" select="path"/> 
    5158       <xsl:variable name="calendarCollection" select="calendarCollection"/> 
    5159       <xsl:choose> 
    5160         <xsl:when test="canAlias = 'true'"> 
    5161           <a href="javascript:updatePublicCalendarAlias('{$calPath}','{$calDisplay}','{$calendarCollection}')"> 
    5162             <xsl:value-of select="name"/> 
    5163           </a> 
    5164         </xsl:when> 
    5165         <xsl:otherwise> 
    5166           <xsl:value-of select="name"/> 
    5167         </xsl:otherwise> 
    5168       </xsl:choose> 
    5169       <xsl:if test="calendar"> 
    5170         <ul> 
    5171           <xsl:apply-templates select="calendar" mode="selectCalForPublicAliasCalTree"/> 
    5172         </ul> 
    5173       </xsl:if> 
    5174     </li> 
    5175   </xsl:template> 
    5176  
    5177   <xsl:template match="currentCalendar" mode="addCalendar"> 
    5178     <h3><xsl:copy-of select="$bwStr-CuCa-AddCalFolderOrSubscription"/></h3> 
    5179     <form name="addCalForm" method="post" action="{$calendar-update}" onsubmit="setCalendarAlias(this)"> 
    5180       <table class="common"> 
    5181         <tr> 
    5182           <th><xsl:copy-of select="$bwStr-CuCa-Name"/></th> 
    5183           <td> 
    5184             <xsl:variable name="curCalName" select="name"/> 
    5185             <input name="calendar.name" value="{$curCalName}" size="40"/> 
    5186           </td> 
    5187         </tr> 
    5188         <tr> 
    5189           <th><xsl:copy-of select="$bwStr-CuCa-Summary"/></th> 
    5190           <td> 
    5191             <xsl:variable name="curCalSummary" select="summary"/> 
    5192             <input type="text" name="calendar.summary" value="{$curCalSummary}" size="40"/> 
    5193           </td> 
    5194         </tr> 
    5195         <tr> 
    5196           <th><xsl:copy-of select="$bwStr-CuCa-Description"/></th> 
    5197           <td> 
    5198             <textarea name="calendar.description" cols="30" rows="4"> 
    5199               <xsl:value-of select="desc"/> 
    5200               <xsl:if test="normalize-space(desc) = ''"> 
    5201                 <xsl:text> </xsl:text> 
    5202                 <!-- keep this non-breaking space to avoid browser 
    5203                 rendering errors when the text area is empty --> 
    5204               </xsl:if> 
    5205             </textarea> 
    5206           </td> 
    5207         </tr> 
    5208         <tr id="bwColorField"> 
    5209           <th><xsl:copy-of select="$bwStr-CuCa-Color"/></th> 
    5210           <td> 
    5211             <input type="text" name="calendar.color" id="bwCalColor" value="" size="7"/> 
    5212             <xsl:call-template name="colorPicker"> 
    5213               <xsl:with-param name="colorFieldId">bwCalColor</xsl:with-param> 
    5214             </xsl:call-template> 
    5215           </td> 
    5216         </tr> 
    5217         <tr> 
    5218           <th><xsl:copy-of select="$bwStr-CuCa-Display"/></th> 
    5219           <td> 
    5220             <input type="hidden" name="calendar.display"> 
    5221               <xsl:attribute name="value"><xsl:value-of select="display"/></xsl:attribute> 
    5222             </input> 
    5223             <input type="checkbox" name="displayHolder" size="40" onclick="setCalDisplayFlag(this.form['calendar.display'],this.checked);"> 
    5224               <xsl:if test="display = 'true'"> 
    5225                 <xsl:attribute name="checked">checked</xsl:attribute> 
    5226               </xsl:if> 
    5227             </input><xsl:text> </xsl:text><xsl:copy-of select="$bwStr-CuCa-DisplayItemsInThisCollection"/> 
    5228           </td> 
    5229         </tr> 
    5230         <tr> 
    5231           <th><xsl:copy-of select="$bwStr-CuCa-FilterExpression"/></th> 
    5232           <td> 
    5233             <input type="text" name="fexpr" value="" size="40"/> 
    5234           </td> 
    5235         </tr> 
    5236         <tr> 
    5237           <th><xsl:copy-of select="$bwStr-CuCa-Type"/></th> 
    5238           <td> 
    5239             <!-- we will set the value of "calendarCollection on submit. 
    5240                  Value is false only for folders, so we default it to true here.  --> 
    5241             <input type="hidden" value="true" name="calendarCollection"/> 
    5242             <!-- type is defaulted to calendar.  It is changed when a typeSwitch is clicked. --> 
    5243             <input type="hidden" value="calendar" name="type" id="bwCalType"/> 
    5244             <input type="radio" value="calendar" name="typeSwitch" checked="checked" onclick="changeClass('subscriptionTypes','invisible');setField('bwCalType',this.value);"/><xsl:text> </xsl:text><xsl:copy-of select="$bwStr-CuCa-Calendar"/> 
    5245             <input type="radio" value="folder" name="typeSwitch" onclick="changeClass('subscriptionTypes','invisible');setField('bwCalType',this.value);"/><xsl:text> </xsl:text><xsl:copy-of select="$bwStr-CuCa-Folder"/> 
    5246             <input type="radio" value="subscription" name="typeSwitch" onclick="changeClass('subscriptionTypes','visible');setField('bwCalType',this.value);"/><xsl:text> </xsl:text><xsl:copy-of select="$bwStr-CuCa-Subscription"/> 
    5247           </td> 
    5248         </tr> 
    5249       </table> 
    5250       <div id="subscriptionTypes" class="invisible"> 
    5251         <!-- If we are making a subscription, we will set the hidden value of "aliasUri" based 
    5252              on the subscription type. --> 
    5253         <input type="hidden" name="aliasUri" value=""/> 
    5254         <p> 
    5255           <strong><xsl:copy-of select="$bwStr-CuCa-SubscriptionType"/></strong><br/> 
    5256           <!-- subType is defaulted to public.  It is changed when a subTypeSwitch is clicked. --> 
    5257           <input type="hidden" value="public" name="subType" id="bwSubType"/> 
    5258           <input type="radio" name="subTypeSwitch" value="public" checked="checked" onclick="changeClass('subscriptionTypePublic','visible');changeClass('subscriptionTypeExternal','invisible');changeClass('subscriptionTypeUser','invisible');setField('bwSubType',this.value);"/><xsl:text> </xsl:text><xsl:copy-of select="$bwStr-CuCa-PublicCalendar"/> 
    5259           <input type="radio" name="subTypeSwitch" value="user" onclick="changeClass('subscriptionTypePublic','invisible');changeClass('subscriptionTypeExternal','invisible');changeClass('subscriptionTypeUser','visible');setField('bwSubType',this.value);"/><xsl:text> </xsl:text><xsl:copy-of select="$bwStr-CuCa-UserCalendar"/> 
    5260           <input type="radio" name="subTypeSwitch" value="external" onclick="changeClass('subscriptionTypePublic','invisible');changeClass('subscriptionTypeExternal','visible');changeClass('subscriptionTypeUser','invisible');setField('bwSubType',this.value);"/><xsl:text> </xsl:text><xsl:copy-of select="$bwStr-CuCa-URL"/> 
    5261         </p> 
    5262  
    5263         <div id="subscriptionTypePublic"> 
    5264           <input type="hidden" value="" name="publicAliasHolder" id="publicAliasHolder"/> 
    5265           <div id="bwPublicCalDisplay"> 
    5266             <button type="button" onclick="showPublicCalAliasTree();"><xsl:copy-of select="$bwStr-CuCa-SelectAPublicCalOrFolder"/></button> 
    5267           </div> 
    5268           <ul id="publicSubscriptionTree" class="invisible"> 
    5269             <xsl:apply-templates select="/bedework/publicCalendars/calendar" mode="selectCalForPublicAliasCalTree"/> 
    5270           </ul> 
    5271         </div> 
    5272  
    5273         <div id="subscriptionTypeUser" class="invisible"> 
    5274           <table class="common"> 
    5275             <tr> 
    5276               <th><xsl:copy-of select="$bwStr-CuCa-UsersID"/></th> 
    5277               <td> 
    5278                 <input type="text" name="userIdHolder" value="" size="40"/> 
    5279               </td> 
    5280             </tr> 
    5281             <tr> 
    5282               <th><xsl:copy-of select="$bwStr-CuCa-CalendarPath"/></th> 
    5283               <td> 
    5284                 <input type="text" name="userCalHolder" value="calendar" size="40"/><br/> 
    5285                 <span class="note"><xsl:copy-of select="$bwStr-CuCa-DefaultCalendarOrSomeCalendar"/></span> 
    5286               </td> 
    5287             </tr> 
    5288           </table> 
    5289         </div> 
    5290  
    5291  
    5292         <div class="invisible" id="subscriptionTypeExternal"> 
    5293           <table class="common"> 
    5294             <tr> 
    5295               <th><xsl:copy-of select="$bwStr-CuCa-URLToCalendar"/></th> 
    5296               <td> 
    5297                 <input type="text" name="aliasUriHolder" id="aliasUriHolder" value="" size="40"/> 
    5298               </td> 
    5299             </tr> 
    5300             <tr> 
    5301               <th><xsl:copy-of select="$bwStr-CuCa-ID"/></th> 
    5302               <td> 
    5303                 <input type="text" name="remoteId" value="" size="40"/> 
    5304               </td> 
    5305             </tr> 
    5306             <tr> 
    5307               <th><xsl:copy-of select="$bwStr-CuCa-Password"/></th> 
    5308               <td> 
    5309                 <input type="password" name="remotePw" value="" size="40"/> 
    5310               </td> 
    5311             </tr> 
    5312           </table> 
    5313         </div> 
    5314       </div> 
    5315       <div class="submitButtons"> 
    5316         <input type="submit" name="addCalendar" value="{$bwStr-CuCa-Add}"/> 
    5317         <input type="submit" name="cancelled" value="{$bwStr-CuCa-Cancel}"/> 
    5318       </div> 
    5319     </form> 
    5320  
    5321     <div id="sharingBox"> 
    5322       <h3><xsl:copy-of select="$bwStr-CuCa-CurrentAccess"/></h3> 
    5323       <xsl:copy-of select="$bwStr-CuCa-SharingMayBeAdded"/> 
    5324     </div> 
    5325   </xsl:template> 
    5326  
    5327   <xsl:template match="currentCalendar" mode="modCalendar"> 
    5328     <xsl:variable name="calPath" select="path"/> 
    5329     <xsl:variable name="calPathEncoded" select="encodedPath"/> 
    5330  
    5331     <form name="modCalForm" method="post" action="{$calendar-update}"> 
    5332       <xsl:choose> 
    5333         <xsl:when test="isSubscription='true'"> 
    5334           <h3><xsl:copy-of select="$bwStr-CuCa-ModifySubscription"/></h3> 
    5335           <input type="hidden" value="true" name="calendarCollection"/> 
    5336         </xsl:when> 
    5337         <xsl:when test="calType = '0'"> 
    5338           <h3><xsl:copy-of select="$bwStr-CuCa-ModifyFolder"/></h3> 
    5339           <input type="hidden" value="false" name="calendarCollection"/> 
    5340         </xsl:when> 
    5341         <xsl:otherwise> 
    5342           <h3><xsl:copy-of select="$bwStr-CuCa-ModifyCalendar"/></h3> 
    5343           <input type="hidden" value="true" name="calendarCollection"/> 
    5344         </xsl:otherwise> 
    5345       </xsl:choose> 
    5346  
    5347       <table border="0" id="submitTable"> 
    5348         <tr> 
    5349           <td> 
    5350             <xsl:choose> 
    5351               <xsl:when test="isSubscription='true'"> 
    5352                 <input type="submit" name="updateCalendar" value="{$bwStr-CuCa-UpdateSubscription}"/> 
    5353               </xsl:when> 
    5354               <xsl:when test="calType = '0'"> 
    5355                 <input type="submit" name="updateCalendar" value="{$bwStr-CuCa-UpdateFolder}"/> 
    5356               </xsl:when> 
    5357               <xsl:otherwise> 
    5358                 <input type="submit" name="updateCalendar" value="{$bwStr-CuCa-UpdateCalendar}"/> 
    5359               </xsl:otherwise> 
    5360             </xsl:choose> 
    5361             <input type="submit" name="cancelled" value="{$bwStr-CuCa-Cancel}"/> 
    5362           </td> 
    5363           <td align="right"> 
    5364             <xsl:if test="calType != '3' and calType != '5' and calType != '6'"> 
    5365               <xsl:choose> 
    5366                 <xsl:when test="isSubscription='true'"> 
    5367                   <input type="submit" name="delete" value="{$bwStr-CuCa-DeleteSubscription}"/> 
    5368                 </xsl:when> 
    5369                 <xsl:when test="calType = '0'"> 
    5370                   <input type="submit" name="delete" value="{$bwStr-CuCa-DeleteFolder}"/> 
    5371                 </xsl:when> 
    5372                 <xsl:otherwise> 
    5373                   <input type="submit" name="delete" value="{$bwStr-CuCa-DeleteCalendar}"/> 
    5374                 </xsl:otherwise> 
    5375               </xsl:choose> 
    5376             </xsl:if> 
    5377           </td> 
    5378         </tr> 
    5379       </table> 
    5380  
    5381       <table class="common"> 
    5382         <tr> 
    5383           <th class="commonHeader" colspan="2"> 
    5384             <xsl:value-of select="path"/> 
    5385           </th> 
    5386         </tr> 
    5387         <xsl:if test="lastRefreshStatus &gt;= 300"> 
    5388           <tr class="httpStatusMsg"> 
    5389             <th><xsl:copy-of select="$bwStr-CuCa-HttpStatus"/></th> 
    5390             <td> 
    5391               <xsl:call-template name="httpStatusCodes"> 
    5392                 <xsl:with-param name="code"><xsl:value-of  select="lastRefreshStatus"/></xsl:with-param> 
    5393               </xsl:call-template> 
    5394             </td> 
    5395           </tr> 
    5396         </xsl:if> 
    5397         <tr> 
    5398           <th><xsl:copy-of select="$bwStr-CuCa-Name"/></th> 
    5399           <td> 
    5400             <xsl:value-of select="name"/> 
    5401           </td> 
    5402         </tr> 
    5403         <!-- tr> 
    5404           <th>Mailing List ID:</th> 
    5405           <td> 
    5406             <xsl:value-of select="mailListId"/> 
    5407           </td> 
    5408         </tr --> 
    5409         <tr> 
    5410           <th><xsl:copy-of select="$bwStr-CuCa-Summary"/></th> 
    5411           <td> 
    5412             <xsl:variable name="curCalSummary" select="summary"/> 
    5413             <input type="text" name="calendar.summary" value="{$curCalSummary}" size="40"/> 
    5414           </td> 
    5415         </tr> 
    5416         <tr> 
    5417           <th><xsl:copy-of select="$bwStr-CuCa-Description"/></th> 
    5418           <td> 
    5419             <textarea name="calendar.description" cols="40" rows="4"> 
    5420               <xsl:value-of select="desc"/> 
    5421               <xsl:if test="normalize-space(desc) = ''"> 
    5422                 <xsl:text> </xsl:text> 
    5423                 <!-- keep this non-breaking space to avoid browser 
    5424                 rendering errors when the text area is empty --> 
    5425               </xsl:if> 
    5426             </textarea> 
    5427           </td> 
    5428         </tr> 
    5429         <!-- xsl:if test="isSubscription='false'" --> 
    5430           <!-- we can't color subscriptions yet --> 
    5431           <tr> 
    5432             <th><xsl:copy-of select="$bwStr-CuCa-Color"/></th> 
    5433             <td> 
    5434               <input type="text" name="calendar.color" id="bwCalColor" size="7"> 
    5435                 <xsl:attribute name="value"><xsl:value-of select="color"/></xsl:attribute> 
    5436                 <xsl:attribute name="style">background-color: <xsl:value-of select="color"/>;color: black;</xsl:attribute> 
    5437               </input> 
    5438               <xsl:call-template name="colorPicker"> 
    5439                 <xsl:with-param name="colorFieldId">bwCalColor</xsl:with-param> 
    5440               </xsl:call-template> 
    5441             </td> 
    5442           </tr> 
    5443         <!-- /xsl:if --> 
    5444         <tr> 
    5445           <th><xsl:copy-of select="$bwStr-CuCa-Display"/></th> 
    5446           <td> 
    5447             <input type="hidden" name="calendar.display"> 
    5448               <xsl:attribute name="value"><xsl:value-of select="display"/></xsl:attribute> 
    5449             </input> 
    5450             <input type="checkbox" name="displayHolder" size="40" onclick="setCalDisplayFlag(this.form['calendar.display'],this.checked)"> 
    5451               <xsl:if test="display = 'true'"> 
    5452                 <xsl:attribute name="checked">checked</xsl:attribute> 
    5453               </xsl:if> 
    5454             </input><xsl:text> </xsl:text><xsl:copy-of select="$bwStr-CuCa-DisplayItemsInThisCollection"/> 
    5455           </td> 
    5456         </tr> 
    5457         <xsl:if test="disabled = 'true'"> 
    5458           <tr> 
    5459             <xsl:attribute name="class">disabled</xsl:attribute> 
    5460             <th><xsl:copy-of select="$bwStr-CuCa-Disabled"/></th> 
    5461             <td> 
    5462               <input type="hidden" name="calendar.disabled" size="40"> 
    5463                 <xsl:attribute name="value"><xsl:value-of select="disabled"/></xsl:attribute> 
    5464               </input> 
    5465               <xsl:value-of select="disabled"/> 
    5466               <xsl:if test="disabled = 'true'"> 
    5467                 <span class="disabledNote"> 
    5468                   <xsl:copy-of select="$bwStr-CuCa-ThisItemIsInaccessible"/> 
    5469                 </span> 
    5470               </xsl:if> 
    5471             </td> 
    5472           </tr> 
    5473         </xsl:if> 
    5474         <tr> 
    5475           <th><xsl:copy-of select="$bwStr-CuCa-FilterExpression"/></th> 
    5476           <td> 
    5477             <input type="text" name="fexpr" value="" size="40"> 
    5478               <xsl:attribute name="value"><xsl:value-of select="filterExpr"/></xsl:attribute> 
    5479             </input> 
    5480           </td> 
    5481         </tr> 
    5482         <xsl:if test="isSubscription = 'true'"> 
    5483           <tr> 
    5484             <th><xsl:copy-of select="$bwStr-CuCa-URL"/></th> 
    5485             <td> 
    5486               <input name="aliasUri" value="" size="40"> 
    5487                 <xsl:attribute name="value"><xsl:value-of select="aliasUri"/></xsl:attribute> 
    5488               </input> 
    5489             </td> 
    5490           </tr> 
    5491           <xsl:if test="externalSub = 'true'"> 
    5492             <tr> 
    5493               <th><xsl:copy-of select="$bwStr-CuCa-ID"/></th> 
    5494               <td> 
    5495                 <input name="remoteId" value="" size="40"/> 
    5496               </td> 
    5497             </tr> 
    5498             <tr> 
    5499               <th><xsl:copy-of select="$bwStr-CuCa-Password"/></th> 
    5500               <td> 
    5501                 <input type="password" name="remotePw" value="" size="40"/> 
    5502               </td> 
    5503             </tr> 
    5504           </xsl:if> 
    5505         </xsl:if> 
    5506       </table> 
    5507  
    5508       <div id="sharingBox"> 
    5509         <h3><xsl:copy-of select="$bwStr-CuCa-CurrentAccess"/>Current Access:</h3> 
    5510         <div id="bwCurrentAccessWidget">&#160;</div> 
    5511         <script type="text/javascript"> 
    5512           bwAcl.display("bwCurrentAccessWidget"); 
    5513         </script> 
    5514         <xsl:call-template name="entityAccessForm"> 
    5515           <xsl:with-param name="outputId">bwCurrentAccessWidget</xsl:with-param> 
    5516         </xsl:call-template> 
    5517       </div> 
    5518  
    5519       <div class="note"> 
    5520         <xsl:copy-of select="$bwStr-CuCa-AccessNote"/> 
    5521       </div> 
    5522  
    5523       <table border="0" id="submitTable"> 
    5524         <tr> 
    5525           <td> 
    5526             <xsl:choose> 
    5527               <xsl:when test="isSubscription='true'"> 
    5528                 <input type="submit" name="updateCalendar" value="{$bwStr-CuCa-UpdateSubscription}"/> 
    5529               </xsl:when> 
    5530               <xsl:when test="calType = '0'"> 
    5531                 <input type="submit" name="updateCalendar" value="{$bwStr-CuCa-UpdateFolder}"/> 
    5532               </xsl:when> 
    5533               <xsl:otherwise> 
    5534                 <input type="submit" name="updateCalendar" value="{$bwStr-CuCa-UpdateCalendar}"/> 
    5535               </xsl:otherwise> 
    5536             </xsl:choose> 
    5537             <input type="submit" name="cancelled" value="{$bwStr-CuCa-Cancel}"/> 
    5538           </td> 
    5539           <td align="right"> 
    5540             <xsl:if test="calType != '3' and calType != '5' and calType != '6'"> 
    5541               <xsl:choose> 
    5542                 <xsl:when test="isSubscription='true'"> 
    5543                   <input type="submit" name="delete" value="{$bwStr-CuCa-DeleteSubscription}"/> 
    5544                 </xsl:when> 
    5545                 <xsl:when test="calType = '0'"> 
    5546                   <input type="submit" name="delete" value="{$bwStr-CuCa-DeleteFolder}"/> 
    5547                 </xsl:when> 
    5548                 <xsl:otherwise> 
    5549                   <input type="submit" name="delete" value="{$bwStr-CuCa-DeleteCalendar}"/> 
    5550                 </xsl:otherwise> 
    5551               </xsl:choose> 
    5552             </xsl:if> 
    5553           </td> 
    5554         </tr> 
    5555       </table> 
    5556     </form> 
    5557     <!-- Method 1 access setting is now deprecated. 
    5558          see the "entityAccessForm" template for more information --> 
    5559     <!--  div id="sharingBox"> 
    5560       <xsl:apply-templates select="acl" mode="currentAccess"> 
    5561         <xsl:with-param name="action" select="$calendar-setAccess"/> 
    5562         <xsl:with-param name="calPathEncoded" select="$calPathEncoded"/> 
    5563       </xsl:apply-templates> 
    5564       <form name="calendarShareForm" method="post" action="{$calendar-setAccess}" id="shareForm" onsubmit="setAccessHow(this)"> 
    5565         <input type="hidden" name="calPath" value="{$calPath}"/> 
    5566         <xsl:call-template name="entityAccessForm"> 
    5567           <xsl:with-param name="type"> 
    5568             <xsl:choose> 
    5569               <xsl:when test="calType = '5'">inbox</xsl:when> 
    5570               <xsl:when test="calType = '6'">outbox</xsl:when> 
    5571               <xsl:otherwise>normal</xsl:otherwise> 
    5572             </xsl:choose> 
    5573           </xsl:with-param> 
    5574         </xsl:call-template> 
    5575       </form> 
    5576     </div --> 
    5577   </xsl:template> 
    5578  
    5579   <xsl:template name="colorPicker"> 
    5580     <xsl:param name="colorFieldId"/><!-- required: id of text field to be updated --> 
    5581     <script type="text/javascript"> 
    5582       $.ui.dialog.defaults.bgiframe = true; 
    5583       $(function() { 
    5584         $("#bwColorPicker").dialog({ autoOpen: false, width: 214 }); 
    5585       }); 
    5586       $(function() { 
    5587         $('#bwColorPickerButton').click(function() { 
    5588           $('#bwColorPicker').dialog('open'); 
    5589         }); 
    5590       }); 
    5591     </script> 
    5592     <button type="button" id="bwColorPickerButton" value="{$bwStr-CoPi-Pick}"><img src="{$resourcesRoot}/resources/colorIcon.gif" width="16" height="13" alt="pick a color"/></button> 
    5593  
    5594     <div id="bwColorPicker" title="{$bwStr-CoPi-SelectColor}"> 
    5595       <xsl:for-each select="document('../../../bedework-common/default/default/subColors.xml')/subscriptionColors/color"> 
    5596         <xsl:variable name="color" select="."/> 
    5597         <xsl:variable name="colorName" select="@name"/> 
    5598         <a href="javascript:bwUpdateColor('{$color}','{$colorFieldId}')" 
    5599            style="display:block;float:left;background-color:{$color};color:black;width=25px;height=25px;margin:0;padding:0;" 
    5600            title="{$colorName}" 
    5601            onclick="$('#bwColorPicker').dialog('close');"> 
    5602           <img src="{$resourcesRoot}/resources/spacer.gif" width="25" height="25" style="border:1px solid #333;margin:0;padding:0;" alt="{$colorName}"/> 
    5603         </a> 
    5604         <xsl:if test="position() mod 6 = 0"><br style="clear:both;"/></xsl:if> 
    5605       </xsl:for-each> 
    5606       <p><a href="javascript:bwUpdateColor('','{$colorFieldId}')" onclick="$('#bwColorPicker').dialog('close');"><xsl:copy-of select="$bwStr-CoPi-UseDefaultColors"/></a></p> 
    5607     </div> 
    5608   </xsl:template> 
    5609  
    5610   <xsl:template name="calendarList"> 
    5611     <h3><xsl:copy-of select="$bwStr-CaLi-ManagingCalendars"/></h3> 
    5612     <ul> 
    5613       <li><xsl:copy-of select="$bwStr-CaLi-SelectFromCalendar"/><xsl:text> </xsl:text>(<img src="{$resourcesRoot}/resources/calIcon-sm.gif" width="13" height="13" alt="true" border="0"/>), 
    5614       <xsl:copy-of select="$bwStr-CaLi-Subscription"/><xsl:text> </xsl:text>(<img src="{$resourcesRoot}/resources/calIconAlias2-sm.gif" width="17" height="13" alt="true" border="0"/>)<xsl:copy-of select="$bwStr-CaLi-OrFolder"/><xsl:text> </xsl:text>(<img src="{$resourcesRoot}/resources/catIcon.gif" width="13" height="13" alt="true" border="0"/>).</li> 
    5615       <li><xsl:copy-of select="$bwStr-CaLi-Select"/><xsl:text> </xsl:text> 
    5616       <img src="{$resourcesRoot}/resources/calAddIcon.gif" width="13" height="13" alt="true" border="0"/> 
    5617       <xsl:text> </xsl:text><xsl:copy-of select="$bwStr-CaLi-Icon"/> 
    5618         <ul> 
    5619           <li><xsl:copy-of select="$bwStr-CaLi-Folders"/></li> 
    5620           <li><xsl:copy-of select="$bwStr-CaLi-Calendars"/></li> 
    5621         </ul> 
    5622       </li> 
    5623     </ul> 
    5624   </xsl:template> 
    5625  
    5626   <xsl:template name="calendarDescriptions"> 
    5627     <h2><xsl:copy-of select="$bwStr-CaDe-CalInfo"/></h2> 
    5628     <ul> 
    5629       <li><xsl:copy-of select="$bwStr-CaDe-SelectAnItem"/></li> 
    5630     </ul> 
    5631  
    5632     <p><strong><xsl:copy-of select="$bwStr-CaDe-AllCalDescriptions"/></strong></p> 
    5633     <table id="flatCalendarDescriptions" cellspacing="0"> 
    5634       <tr> 
    5635         <th><xsl:copy-of select="$bwStr-CaDe-Name"/></th> 
    5636         <th><xsl:copy-of select="$bwStr-CaDe-Description"/></th> 
    5637       </tr> 
    5638       <xsl:for-each select="//calendar[calType &lt; 2]"> 
    5639         <xsl:variable name="descClass"> 
    5640           <xsl:choose> 
    5641             <xsl:when test="position() mod 2 = 0">even</xsl:when> 
    5642             <xsl:otherwise>odd</xsl:otherwise> 
    5643           </xsl:choose> 
    5644         </xsl:variable> 
    5645         <tr class="{$descClass}"> 
    5646           <td> 
    5647             <xsl:value-of select="name"/> 
    5648           </td> 
    5649           <td> 
    5650             <xsl:value-of select="desc"/> 
    5651           </td> 
    5652         </tr> 
    5653       </xsl:for-each> 
    5654     </table> 
    5655   </xsl:template> 
    5656  
    5657   <xsl:template match="currentCalendar" mode="displayCalendar"> 
    5658     <h2><xsl:copy-of select="$bwStr-CuCa-CalendarInformation"/></h2> 
    5659     <table class="common"> 
    5660       <tr> 
    5661         <th><xsl:copy-of select="$bwStr-CuCa-Name"/></th> 
    5662         <td> 
    5663           <xsl:value-of select="name"/> 
    5664         </td> 
    5665       </tr> 
    5666       <tr> 
    5667         <th><xsl:copy-of select="$bwStr-CuCa-Path"/></th> 
    5668         <td> 
    5669           <xsl:value-of select="path"/> 
    5670         </td> 
    5671       </tr> 
    5672       <tr> 
    5673         <th><xsl:copy-of select="$bwStr-CuCa-Summary"/></th> 
    5674         <td> 
    5675           <xsl:value-of select="summary"/> 
    5676         </td> 
    5677       </tr> 
    5678       <tr> 
    5679         <th><xsl:copy-of select="$bwStr-CuCa-Description"/></th> 
    5680         <td> 
    5681           <xsl:value-of select="desc"/> 
    5682         </td> 
    5683       </tr> 
    5684     </table> 
    5685   </xsl:template> 
    5686  
    5687   <xsl:template match="currentCalendar" mode="deleteCalendarConfirm"> 
    5688     <xsl:choose> 
    5689       <xsl:when test="calType = '0'"> 
    5690         <h3><xsl:copy-of select="$bwStr-CuCa-DeleteFolder"/></h3> 
    5691         <p> 
    5692           <xsl:copy-of select="$bwStr-CuCa-TheFollowingFolder"/> 
    5693         </p> 
    5694       </xsl:when> 
    5695       <xsl:otherwise> 
    5696         <h3><xsl:copy-of select="$bwStr-CuCa-DeleteCalendar"/></h3> 
    5697         <p> 
    5698           <xsl:copy-of select="$bwStr-CuCa-TheFollowingCalendar"/> 
    5699         </p> 
    5700       </xsl:otherwise> 
    5701     </xsl:choose> 
    5702  
    5703     <form name="delCalForm" method="post" action="{$calendar-delete}"> 
    5704       <input type="hidden" name="deleteContent" value="true"/> 
    5705       <table class="common"> 
    5706         <tr> 
    5707           <th><xsl:copy-of select="$bwStr-CuCa-Path"/></th> 
    5708           <td> 
    5709             <xsl:value-of select="path"/> 
    5710           </td> 
    5711         </tr> 
    5712         <tr> 
    5713           <th><xsl:copy-of select="$bwStr-CuCa-Name"/></th> 
    5714           <td> 
    5715             <xsl:value-of select="name"/> 
    5716           </td> 
    5717         </tr> 
    5718         <tr> 
    5719           <th><xsl:copy-of select="$bwStr-CuCa-Summary"/></th> 
    5720           <td> 
    5721             <xsl:value-of select="summary"/> 
    5722           </td> 
    5723         </tr> 
    5724         <tr> 
    5725           <th><xsl:copy-of select="$bwStr-CuCa-Description"/></th> 
    5726           <td> 
    5727             <xsl:value-of select="desc"/> 
    5728           </td> 
    5729         </tr> 
    5730       </table> 
    5731  
    5732       <table border="0" id="submitTable"> 
    5733         <tr> 
    5734           <td> 
    5735             <input type="submit" name="cancelled" value="{$bwStr-CuCa-Cancel}"/> 
    5736           </td> 
    5737           <td align="right"> 
    5738             <xsl:choose> 
    5739               <xsl:when test="calType = '0'"> 
    5740                 <input type="submit" name="delete" value="{$bwStr-CuCa-YesDeleteFolder}"/> 
    5741               </xsl:when> 
    5742               <xsl:otherwise> 
    5743                 <input type="submit" name="delete" value="{$bwStr-CuCa-YesDeleteCalendar}"/> 
    5744               </xsl:otherwise> 
    5745             </xsl:choose> 
    5746           </td> 
    5747         </tr> 
    5748       </table> 
    5749     </form> 
    5750  
    5751   </xsl:template> 
    5752  
    5753   <xsl:template match="calendars" mode="exportCalendars"> 
    5754     <h2><xsl:copy-of select="$bwStr-Cals-ExportCals"/></h2> 
    5755     <form name="eventForm" id="exportCalendarForm" action="{$export}" method="post"> 
    5756       <input type="hidden" name="calPath" value=""/> 
    5757       <input type="hidden" name="nocache" value="no"/> 
    5758       <input type="hidden" name="contentName" value="calendar.ics"/> 
    5759  
    5760       <table class="common" cellspacing="0"> 
    5761         <tr> 
    5762           <th class="commonHeader"> 
    5763               <xsl:copy-of select="$bwStr-Cals-EventDateLimits"/> 
    5764               <input type="radio" name="dateLimits" value="active" checked="checked" onclick="changeClass('exportDateRange','invisible')"/> <xsl:copy-of select="$bwStr-Cals-TodayForward"/> 
    5765               <input type="radio" name="dateLimits" value="none" onclick="changeClass('exportDateRange','invisible')"/> <xsl:copy-of select="$bwStr-Cals-AllDates"/> 
    5766               <input type="radio" name="dateLimits" value="limited" onclick="changeClass('exportDateRange','visible')"/> <xsl:copy-of select="$bwStr-Cals-DateRange"/> 
    5767           </th> 
    5768         </tr> 
    5769         <tr id="exportDateRange" class="invisible"> 
    5770           <td class="dates"> 
    5771             <xsl:copy-of select="$bwStr-Cals-Start"/> 
    5772             <div class="dateFields"> 
    5773               <xsl:copy-of select="/bedework/formElements/form/start/month/*"/> 
    5774               <xsl:copy-of select="/bedework/formElements/form/start/day/*"/> 
    5775               <xsl:copy-of select="/bedework/formElements/form/start/yearText/*"/> 
    5776             </div> 
    5777             &#160;&#160; 
    5778             <xsl:copy-of select="$bwStr-Cals-End"/> 
    5779             <div class="dateFields"> 
    5780               <xsl:copy-of select="/bedework/formElements/form/end/month/*"/> 
    5781               <xsl:copy-of select="/bedework/formElements/form/end/day/*"/> 
    5782               <xsl:copy-of select="/bedework/formElements/form/end/yearText/*"/> 
    5783             </div> 
    5784           </td> 
    5785         </tr> 
    5786         <tr> 
    5787           <th class="borderRight"> 
    5788             <xsl:copy-of select="$bwStr-Cals-MyCalendars"/> 
    5789           </th> 
    5790         </tr> 
    5791         <tr> 
    5792           <td class="borderRight"> 
    5793             <!-- My Calendars --> 
    5794             <ul class="calendarTree"> 
    5795               <!-- list normal calendars first --> 
    5796               <xsl:for-each select="/bedework/myCalendars/calendars/calendar//calendar[calType = '1']"> 
    5797                 <li class="calendar"> 
    5798                   <xsl:variable name="calPath" select="path"/> 
    5799                   <xsl:variable name="name" select="name"/> 
    5800                   <a href="javascript:exportCalendar('exportCalendarForm','{$name}','{$calPath}')"> 
    5801                     <xsl:value-of select="name"/> 
    5802                   </a> 
    5803                 </li> 
    5804               </xsl:for-each> 
    5805             </ul> 
    5806             <ul class="calendarTree"> 
    5807               <!-- list special calendars next --> 
    5808               <xsl:for-each select="/bedework/myCalendars/calendars/calendar//calendar[calType &gt; 1]"> 
    5809                 <li class="calendar"> 
    5810                   <xsl:variable name="calPath" select="path"/> 
    5811                   <xsl:variable name="name" select="name"/> 
    5812                   <a href="javascript:exportCalendar('exportCalendarForm','{$name}','{$calPath}')"> 
    5813                     <xsl:value-of select="name"/> 
    5814                   </a> 
    5815                 </li> 
    5816               </xsl:for-each> 
    5817             </ul> 
    5818           </td> 
    5819           <!-- td> 
    5820             <ul class="calendarTree"> 
    5821               <xsl:apply-templates select="./calendar" mode="buildExportTree"/> 
    5822             </ul> 
    5823           </td--> 
    5824         </tr> 
    5825       </table> 
    5826     </form> 
    5827   </xsl:template> 
    5828  
    5829   <xsl:template match="calendar" mode="buildExportTree"> 
    5830     <xsl:choose> 
    5831       <xsl:when test="calType = '0'"> 
    5832         <li class="folder"> 
    5833           <xsl:value-of select="name"/> 
    5834           <xsl:if test="calendar"> 
    5835             <ul> 
    5836               <xsl:apply-templates select="calendar" mode="buildExportTree"/> 
    5837             </ul> 
    5838           </xsl:if> 
    5839         </li> 
    5840       </xsl:when> 
    5841       <xsl:otherwise> 
    5842         <li class="calendar"> 
    5843           <xsl:variable name="calPath" select="path"/> 
    5844           <xsl:variable name="name" select="name"/> 
    5845           <a href="javascript:exportCalendar('exportCalendarForm','{$name}','{$calPath}')"> 
    5846             <xsl:value-of select="name"/> 
    5847           </a> 
    5848         </li> 
    5849       </xsl:otherwise> 
    5850     </xsl:choose> 
    5851   </xsl:template> 
    5852  
    5853   <!--+++++++++++++++ Subscriptions ++++++++++++++++++++--> 
    5854   <xsl:template name="subsMenu"> 
    5855     <!-- This top-level menu adds subscriptions to the root of the user's calendar tree. 
    5856          Contextual menus on the calendar tree (will) allow for adding subscriptions under 
    5857          subfolders.  --> 
    5858     <xsl:variable name="userid" select="/bedework/userid"/> 
    5859     <h2><xsl:copy-of select="$bwStr-SuMe-AddSubs"/></h2> 
    5860     <div id="content"> 
    5861       <h4><xsl:copy-of select="$bwStr-SuMe-SubscribeTo"/></h4> 
    5862       <ul id="subsMenu"> 
    5863         <li> 
    5864           <a href="{$calendar-initAddPublicAlias}&amp;calPath=/user/{$userid}" title="{$bwStr-SuMe-SubscribeToPublicCalendar}"> 
    5865             <xsl:copy-of select="$bwStr-SuMe-PublicCal"/> 
    5866           </a> 
    5867         </li> 
    5868         <li> 
    5869           <a href="{$calendar-initAddAlias}&amp;calPath=/user/{$userid}" title="{$bwStr-SuMe-SubscribeToUserCalendar}"> 
    5870             <xsl:copy-of select="$bwStr-SuMe-UserCal"/> 
    5871           </a> 
    5872         </li> 
    5873         <li> 
    5874           <a href="{$calendar-initAddExternal}&amp;calPath=/user/{$userid}" title="{$bwStr-SuMe-SubscribeToExternalCalendar}"> 
    5875             <xsl:copy-of select="$bwStr-SuMe-ExternalFeed"/> 
    5876           </a> 
    5877         </li> 
    5878       </ul> 
    5879     </div> 
    5880   </xsl:template> 
    5881  
    5882  
    5883   <xsl:template match="calendar" mode="subscribe"> 
    5884     <xsl:variable name="calPath" select="encodedPath"/> 
    5885     <xsl:variable name="itemClass"> 
    5886       <xsl:choose> 
    5887         <xsl:when test="calType = '0'"><xsl:copy-of select="$bwStr-Calr-Folder"/></xsl:when> 
    5888         <xsl:otherwise><xsl:copy-of select="$bwStr-Calr-Calendar"/></xsl:otherwise> 
    5889       </xsl:choose> 
    5890     </xsl:variable> 
    5891     <li class="{$itemClass}"> 
    5892       <a href="{$subscriptions-initAdd}&amp;calPath={$calPath}"> 
    5893         <xsl:value-of select="name"/> 
    5894       </a> 
    5895       <xsl:if test="calendar"> 
    5896         <ul> 
    5897           <xsl:apply-templates select="calendar" mode="subscribe"> 
    5898             <!--<xsl:sort select="title" order="ascending" case-order="upper-first"/>--> 
    5899           </xsl:apply-templates> 
    5900         </ul> 
    5901       </xsl:if> 
    5902     </li> 
    5903   </xsl:template> 
    5904  
    5905   <!-- add a subscription to a user calendar by user and path --> 
    5906   <xsl:template name="addAlias"> 
    5907     <h2><xsl:copy-of select="$bwStr-AddA-SubscribeToUserCal"/></h2> 
    5908     <div id="content"> 
    5909       <p class="note"><xsl:copy-of select="$bwStr-AddA-SubscriptionMustBeUnique"/></p> 
    5910       <form name="subscribeForm" action="{$calendar-update}" onsubmit="return setBwSubscriptionUri(this, false)" method="post"> 
    5911         <table class="common" cellspacing="0"> 
    5912           <tr> 
    5913             <td class="fieldname"><xsl:copy-of select="$bwStr-AddA-Name"/></td> 
    5914             <td> 
    5915               <input type="text" value="" name="calendar.name" size="60"/> 
    5916             </td> 
    5917           </tr> 
    5918           <!-- the following would be for an arbitrary URI.  We'll add this later. 
    5919           <tr> 
    5920             <td class="fieldname">Uri:</td> 
    5921             <td> 
    5922               <input type="text" value="" name="aliasUri" size="60"/> 
    5923             </td> 
    5924           </tr>--> 
    5925           <tr> 
    5926             <td class="fieldname"><xsl:copy-of select="$bwStr-AddA-UserID"/></td> 
    5927             <td> 
    5928               <input type="hidden" value="" name="aliasUri"/> 
    5929               <input type="text" value="" name="userId" size="20"/> 
    5930               <span class="note"><xsl:text> </xsl:text><xsl:copy-of select="$bwStr-AddA-ExJaneDoe"/></span> 
    5931             </td> 
    5932           </tr> 
    5933           <tr> 
    5934             <td class="fieldname"><xsl:copy-of select="$bwStr-AddA-CalendarPath"/></td> 
    5935             <td> 
    5936               <input type="text" value="" name="userPath" size="20"/> 
    5937               <span class="note"><xsl:text> </xsl:text><xsl:copy-of select="$bwStr-AddA-ExCalendar"/></span> 
    5938             </td> 
    5939           </tr> 
    5940           <!--<tr> 
    5941             <td class="fieldname">Display:</td> 
    5942             <td> 
    5943               <input type="radio" value="true" name="display" checked="checked"/> yes 
    5944               <input type="radio" value="false" name="display"/> no 
    5945             </td> 
    5946           </tr>--> 
    5947           <tr> 
    5948             <td class="fieldname"><xsl:copy-of select="$bwStr-AddA-AffectsFreeBusy"/></td> 
    5949             <td> 
    5950               <input type="radio" value="true" name="affectsFreeBusy"/><xsl:text> </xsl:text><xsl:copy-of select="$bwStr-AddA-Yes"/> 
    5951               <input type="radio" value="false" name="affectsFreeBusy" checked="checked"/><xsl:text> </xsl:text><xsl:copy-of select="$bwStr-AddA-No"/> 
    5952             </td> 
    5953           </tr> 
    5954           <tr> 
    5955             <td class="fieldname">Color:</td> 
    5956             <td> 
    5957               <select name="calendar.color"> 
    5958                 <option value="default"><xsl:copy-of select="$bwStr-AddA-Default"/></option> 
    5959                 <xsl:for-each select="document('subColors.xml')/subscriptionColors/color"> 
    5960                   <xsl:variable name="subColor" select="."/> 
    5961                   <option value="{$subColor}" class="{$subColor}"> 
    5962                     <xsl:value-of select="@name"/> 
    5963                   </option> 
    5964                 </xsl:for-each> 
    5965               </select> 
    5966             </td> 
    5967           </tr> 
    5968           <!--<tr> 
    5969             <td class="fieldname">Unremovable:</td> 
    5970             <td> 
    5971               <input type="radio" value="true" name="unremoveable" size="60"/> true 
    5972               <input type="radio" value="false" name="unremoveable" size="60" checked="checked"/> false 
    5973             </td> 
    5974           </tr>--> 
    5975         </table> 
    5976         <table border="0" id="submitTable"> 
    5977           <tr> 
    5978             <td> 
    5979               <input type="submit" name="addSubscription" value="{$bwStr-AddA-AddSubscription}"/> 
    5980               <input type="submit" name="cancelled" value="{$bwStr-AddA-Cancel}"/> 
    5981             </td> 
    5982           </tr> 
    5983         </table> 
    5984       </form> 
    5985  
    5986       <xsl:copy-of select="$bwStr-AddA-NoteAboutAccess"/> 
    5987     </div> 
    5988   </xsl:template> 
    5989  
    5990   <!--==== ALARM OPTIONS ====--> 
    5991   <xsl:template name="alarmOptions"> 
    5992     <form method="post" action="{$setAlarm}" id="standardForm"> 
    5993       <input type="hidden" name="updateAlarmOptions" value="true"/> 
    5994       <table class="common" cellspacing="0"> 
    5995         <tr> 
    5996           <th colspan="2" class="commonHeader"><xsl:copy-of select="$bwStr-AlOp-AlarmOptions"/></th> 
    5997         </tr> 
    5998         <tr> 
    5999           <td class="fieldname"> 
    6000             <xsl:copy-of select="$bwStr-AlOp-AlarmDateTime"/> 
    6001             <xsl:copy-of select="/bedework/alarmoptionsform/form/alarmTriggerSelectorDate/*"/> 
    6002           </td> 
    6003           <td class="fieldval"> 
    6004             <xsl:copy-of select="/bedework/alarmoptionsform/form/alarmdate/*"/> 
    6005             <span class="std-text"><xsl:copy-of select="$bwStr-AlOp-At"/><xsl:text> </xsl:text></span> 
    6006             <xsl:copy-of select="/bedework/alarmoptionsform/form/alarmtime/*"/> 
    6007           </td> 
    6008         </tr> 
    6009         <tr> 
    6010           <td class="fieldname"> 
    6011             <xsl:copy-of select="$bwStr-AlOp-OrBeforeAfterEvent"/> 
    6012             <xsl:copy-of select="/bedework/alarmoptionsform/form/alarmTriggerSelectorDuration/*"/> 
    6013           </td> 
    6014           <td align="left"> 
    6015             <xsl:copy-of select="/bedework/alarmoptionsform/form/alarmduration/days/*"/> 
    6016             <xsl:copy-of select="$bwStr-AlOp-Days"/> 
    6017             <xsl:copy-of select="/bedework/alarmoptionsform/form/alarmduration/hours/*"/> 
    6018             <xsl:copy-of select="$bwStr-AlOp-Hours"/> 
    6019             <xsl:copy-of select="/bedework/alarmoptionsform/form/alarmduration/minutes/*"/> 
    6020             <xsl:copy-of select="$bwStr-AlOp-Minutes"/> 
    6021             <xsl:copy-of select="/bedework/alarmoptionsform/form/alarmduration/seconds/*"/> 
    6022             <xsl:copy-of select="$bwStr-AlOp-SecondsOr"/> 
    6023             <xsl:copy-of select="/bedework/alarmoptionsform/form/alarmduration/weeks/*"/> 
    6024             <xsl:copy-of select="$bwStr-AlOp-Weeks"/> 
    6025             &#160; 
    6026             <xsl:copy-of select="/bedework/alarmoptionsform/form/alarmDurationBefore/*"/> 
    6027             <xsl:copy-of select="$bwStr-AlOp-Before"/> 
    6028             <xsl:copy-of select="/bedework/alarmoptionsform/form/alarmDurationAfter/*"/> 
    6029             <xsl:copy-of select="$bwStr-AlOp-After"/> 
    6030             &#160; 
    6031             <xsl:copy-of select="/bedework/alarmoptionsform/form/alarmDurationRelStart/*"/> 
    6032             <xsl:copy-of select="$bwStr-AlOp-Start"/> 
    6033             <xsl:copy-of select="/bedework/alarmoptionsform/form/alarmDurationRelEnd/*"/> 
    6034             <xsl:copy-of select="$bwStr-AlOp-End"/> 
    6035           </td> 
    6036         </tr> 
    6037         <tr> 
    6038           <td> 
    6039             <xsl:copy-of select="$bwStr-AlOp-EmailAddress"/> 
    6040           </td> 
    6041           <td align="left"> 
    6042             <xsl:copy-of select="/bedework/alarmoptionsform/form/email/*"/> 
    6043           </td> 
    6044         </tr> 
    6045         <tr> 
    6046           <td> 
    6047             <xsl:copy-of select="$bwStr-AlOp-Subject"/> 
    6048           </td> 
    6049           <td align="left"> 
    6050             <xsl:copy-of select="/bedework/alarmoptionsform/form/subject/*"/> 
    6051           </td> 
    6052         </tr> 
    6053         <tr> 
    6054           <td>&#160;</td> 
    6055           <td> 
    6056             <input name="submit" type="submit" value="{$bwStr-AlOp-Continue}"/>&#160; 
    6057             <input name="cancelled" type="submit" value="{$bwStr-AlOp-Cancel}"/> 
    6058           </td> 
    6059         </tr> 
    6060       </table> 
    6061     </form> 
    6062   </xsl:template> 
    6063  
    6064   <!--==== UPLOAD ====--> 
    6065   <xsl:template name="upload"> 
    6066   <!-- The name "eventForm" is referenced by several javascript functions. Do not 
    6067     change it without modifying bedework.js --> 
    6068     <form name="eventForm" method="post" action="{$upload}" id="standardForm"  enctype="multipart/form-data"> 
    6069       <h2><xsl:copy-of select="$bwStr-Upld-UploadICalFile"/></h2> 
    6070       <table class="common" cellspacing="0"> 
    6071         <tr> 
    6072           <td class="fieldname"> 
    6073             <xsl:copy-of select="$bwStr-Upld-Filename"/> 
    6074           </td> 
    6075           <td align="left"> 
    6076             <input type="file" name="uploadFile" size="60" /> 
    6077           </td> 
    6078         </tr> 
    6079         <tr> 
    6080           <td class="fieldname padMeTop"> 
    6081             <xsl:copy-of select="$bwStr-Upld-IntoCalendar"/> 
    6082           </td> 
    6083           <td align="left" class="padMeTop"> 
    6084             <input type="hidden" name="newCalPath" id="bwNewCalPathField" value=""/> 
    6085             <span id="bwEventCalDisplay"> 
    6086               <em><xsl:copy-of select="$bwStr-Upld-DefaultCalendar"/></em> 
    6087             </span> 
    6088             <xsl:call-template name="selectCalForEvent"/> 
    6089           </td> 
    6090         </tr> 
    6091         <tr> 
    6092           <td class="fieldname padMeTop"> 
    6093             <xsl:copy-of select="$bwStr-Upld-AffectsFreeBusy"/> 
    6094           </td> 
    6095           <td align="left" class="padMeTop"> 
    6096             <input type="radio" value="" name="transparency" checked="checked"/><xsl:text> </xsl:text><xsl:copy-of select="$bwStr-Upld-AcceptEventsSettings"/><br/> 
    6097             <input type="radio" value="OPAQUE" name="transparency"/><xsl:text> </xsl:text><xsl:copy-of select="$bwStr-Upld-Yes"/><xsl:text> </xsl:text><span class="note"><xsl:copy-of select="$bwStr-Upld-Opaque"/></span><br/> 
    6098             <input type="radio" value="TRANSPARENT" name="transparency"/><xsl:text> </xsl:text><xsl:copy-of select="$bwStr-Upld-No"/><xsl:text> </xsl:text><span class="note"><xsl:copy-of select="$bwStr-Upld-Transparent"/></span><br/> 
    6099           </td> 
    6100         </tr> 
    6101         <tr> 
    6102           <td class="fieldname padMeTop"> 
    6103             <xsl:copy-of select="$bwStr-Upld-Status"/> 
    6104           </td> 
    6105           <td align="left" class="padMeTop"> 
    6106             <input type="radio" value="" name="status" checked="checked"/><xsl:text> </xsl:text><xsl:copy-of select="$bwStr-Upld-AcceptEventsStatus"/><br/> 
    6107             <input type="radio" value="CONFIRMED" name="status"/><xsl:text> </xsl:text><xsl:copy-of select="$bwStr-Upld-Confirmed"/><br/> 
    6108             <input type="radio" value="TENTATIVE" name="status"/><xsl:text> </xsl:text><xsl:copy-of select="$bwStr-Upld-Tentative"/><br/> 
    6109             <input type="radio" value="CANCELLED" name="status"/><xsl:text> </xsl:text><xsl:copy-of select="$bwStr-Upld-Canceled"/><br/> 
    6110           </td> 
    6111         </tr> 
    6112         <tr> 
    6113           <td class="fieldname padMeTop"> 
    6114             <xsl:copy-of select="$bwStr-Upld-StripAlarms"/> 
    6115           </td> 
    6116           <td align="left" class="padMeTop"> 
    6117             <input type="radio" value="true" name="stripAlarms" checked="checked"/><xsl:text> </xsl:text><xsl:copy-of select="$bwStr-Upld-Yes"/><br/> 
    6118             <input type="radio" value="false" name="stripAlarms"/><xsl:text> </xsl:text><xsl:copy-of select="$bwStr-Upld-Yes"/><xsl:text> </xsl:text><span class="note"><xsl:copy-of select="$bwStr-Upld-No"/></span><br/> 
    6119           </td> 
    6120         </tr> 
    6121       </table> 
    6122       <table border="0" id="submitTable"> 
    6123         <tr> 
    6124           <td> 
    6125             <input name="submit" type="submit" value="{$bwStr-Upld-Continue}"/> 
    6126             <input name="cancelled" type="submit" value="{$bwStr-Upld-Cancel}"/> 
    6127           </td> 
    6128         </tr> 
    6129       </table> 
    6130     </form> 
    6131   </xsl:template> 
    6132  
    6133   <!--==== EMAIL OPTIONS ====--> 
    6134   <xsl:template name="emailOptions"> 
    6135     <form method="post" action="{$mailEvent}" id="standardForm"> 
    6136       <input type="hidden" name="updateEmailOptions" value="true"/> 
    6137       <table class="common" cellspacing="0"> 
    6138         <tr> 
    6139           <th colspan="2" class="commonHeader"><xsl:copy-of select="$bwStr-EmOp-UpdateEmailOptions"/></th> 
    6140         </tr> 
    6141         <tr> 
    6142           <td> 
    6143             <xsl:copy-of select="$bwStr-EmOp-EmailAddress"/> 
    6144           </td> 
    6145           <td align="left"> 
    6146             <xsl:copy-of select="/bedework/emailoptionsform/form/email/*"/> 
    6147           </td> 
    6148         </tr> 
    6149         <tr> 
    6150           <td> 
    6151             <xsl:copy-of select="$bwStr-EmOp-Subject"/> 
    6152           </td> 
    6153           <td align="left"> 
    6154             <xsl:copy-of select="/bedework/emailoptionsform/form/subject/*"/> 
    6155           </td> 
    6156         </tr> 
    6157         <tr> 
    6158           <td>&#160;</td> 
    6159           <td> 
    6160             <input name="submit" type="submit" value="{$bwStr-EmOp-Continue}"/>&#160; 
    6161             <input name="cancelled" type="submit" value="{$bwStr-EmOp-Cancel}"/> 
    6162           </td> 
    6163         </tr> 
    6164       </table> 
    6165     </form> 
    6166   </xsl:template> 
    6167  
    6168   <!--==== MANAGE LOCATIONS ====--> 
    6169   <xsl:template name="locationList"> 
    6170     <h2> 
    6171       <xsl:copy-of select="$bwStr-LocL-ManagePreferences"/> 
    6172     </h2> 
    6173     <ul class="submenu"> 
    6174       <li> 
    6175         <a href="{$prefs-fetchForUpdate}"><xsl:copy-of select="$bwStr-LocL-General"/></a> 
    6176       </li> 
    6177       <li> 
    6178         <a href="{$category-initUpdate}"><xsl:copy-of select="$bwStr-LocL-Categories"/></a> 
    6179       </li> 
    6180       <li class="selected"><xsl:copy-of select="$bwStr-LocL-Locations"/></li> 
    6181       <li> 
    6182         <a href="{$prefs-fetchSchedulingForUpdate}"><xsl:copy-of select="$bwStr-LocL-SchedulingMeetings"/></a> 
    6183       </li> 
    6184     </ul> 
    6185     <table class="common" id="manage" cellspacing="0"> 
    6186       <tr> 
    6187         <th class="commonHeader"><xsl:copy-of select="$bwStr-LocL-ManageLocations"/></th> 
    6188       </tr> 
    6189       <tr> 
    6190         <td> 
    6191           <input type="button" name="return" value="{$bwStr-LocL-AddNewLocation}" onclick="javascript:location.replace('{$location-initAdd}')" class="titleButton"/> 
    6192           <xsl:if test="/bedework/locations/location"> 
    6193             <ul> 
    6194               <xsl:for-each select="/bedework/locations/location"> 
    6195                 <xsl:sort select="."/> 
    6196                 <li> 
    6197                   <xsl:variable name="uid" select="uid"/> 
    6198                   <a href="{$location-fetchForUpdate}&amp;uid={$uid}"><xsl:value-of select="address"/></a> 
    6199                 </li> 
    6200               </xsl:for-each> 
    6201             </ul> 
    6202           </xsl:if> 
    6203         </td> 
    6204       </tr> 
    6205     </table> 
    6206   </xsl:template> 
    6207  
    6208   <xsl:template name="modLocation"> 
    6209     <h2> 
    6210       <xsl:copy-of select="$bwStr-ModL-ManagePreferences"/> 
    6211     </h2> 
    6212     <ul class="submenu"> 
    6213       <li> 
    6214         <a href="{$prefs-fetchForUpdate}"><xsl:copy-of select="$bwStr-ModL-General"/></a> 
    6215       </li> 
    6216       <li> 
    6217         <a href="{$category-initUpdate}"><xsl:copy-of select="$bwStr-ModL-Categories"/></a> 
    6218       </li> 
    6219       <li class="selected"> 
    6220         <a href="{$location-initUpdate}"><xsl:copy-of select="$bwStr-ModL-Locations"/></a> 
    6221       </li> 
    6222       <li> 
    6223         <a href="{$prefs-fetchSchedulingForUpdate}"><xsl:copy-of select="$bwStr-ModL-SchedulingMeetings"/></a> 
    6224       </li> 
    6225     </ul> 
    6226     <xsl:choose> 
    6227       <xsl:when test="/bedework/creating = 'true'"> 
    6228         <form name="addLocationForm" method="post" action="{$location-update}" id="standardForm"> 
    6229           <table class="common" cellspacing="0"> 
    6230             <tr> 
    6231               <th class="commonHeader" colspan="2"><xsl:copy-of select="$bwStr-ModL-AddLocation"/></th> 
    6232             </tr> 
    6233             <tr> 
    6234               <td class="fieldname"> 
    6235                 <xsl:copy-of select="$bwStr-ModL-MainAddress"/> 
    6236               </td> 
    6237               <td> 
    6238                 <input size="60" name="locationAddress.value" type="text" id="bwLocMainAddress"/> 
    6239               </td> 
    6240             </tr> 
    6241             <tr> 
    6242               <td class="fieldname"> 
    6243                 <xsl:copy-of select="$bwStr-ModL-SubAddress"/> 
    6244               </td> 
    6245               <td> 
    6246                 <input size="60" name="locationSubaddress.value" type="text"/> 
    6247               </td> 
    6248             </tr> 
    6249             <tr> 
    6250               <td class="fieldname"> 
    6251                 <xsl:copy-of select="$bwStr-ModL-LocationLink"/> 
    6252               </td> 
    6253               <td> 
    6254                 <input size="60" name="location.link" type="text"/> 
    6255               </td> 
    6256             </tr> 
    6257           </table> 
    6258           <table border="0" id="submitTable"> 
    6259             <tr> 
    6260               <td> 
    6261                 <input name="submit" type="submit" value="{$bwStr-ModL-SubmitLocation}"/> 
    6262                 <input name="cancelled" type="submit" value="{$bwStr-ModL-Cancel}"/> 
    6263               </td> 
    6264             </tr> 
    6265           </table> 
    6266         </form> 
    6267       </xsl:when> 
    6268       <xsl:otherwise> 
    6269         <form name="editLocationForm" method="post" action="{$location-update}" id="standardForm"> 
    6270           <input type="hidden" name="updateLocation" value="true"/> 
    6271           <table class="common" cellspacing="0"> 
    6272             <tr> 
    6273               <th colspan="2" class="commonHeader"> 
    6274                 <xsl:copy-of select="$bwStr-ModL-EditLocation"/> 
    6275               </th> 
    6276             </tr> 
    6277             <tr> 
    6278               <td class="fieldname"> 
    6279                 <xsl:copy-of select="$bwStr-ModL-MainAddress"/> 
    6280               </td> 
    6281               <td align="left"> 
    6282                 <input size="60" name="locationAddress.value" type="text" id="bwLocMainAddress"> 
    6283                   <xsl:attribute name="value"><xsl:value-of select="/bedework/currentLocation/address"/></xsl:attribute> 
    6284                 </input> 
    6285               </td> 
    6286             </tr> 
    6287             <tr> 
    6288               <td class="fieldname"> 
    6289                 <xsl:copy-of select="$bwStr-ModL-SubAddress"/> 
    6290               </td> 
    6291               <td align="left"> 
    6292                 <input size="60" name="locationSubaddress.value" type="text"> 
    6293                   <xsl:attribute name="value"><xsl:value-of select="/bedework/currentLocation/subaddress"/></xsl:attribute> 
    6294                 </input> 
    6295               </td> 
    6296             </tr> 
    6297             <tr> 
    6298               <td class="fieldname"> 
    6299                 <xsl:copy-of select="$bwStr-ModL-LocationLink"/> 
    6300               </td> 
    6301               <td> 
    6302                 <input size="60" name="location.link" type="text"> 
    6303                   <xsl:attribute name="value"><xsl:value-of select="/bedework/currentLocation/link"/></xsl:attribute> 
    6304                 </input> 
    6305               </td> 
    6306             </tr> 
    6307           </table> 
    6308           <table border="0" id="submitTable"> 
    6309             <tr> 
    6310               <td> 
    6311                 <input name="submit" type="submit" value="{$bwStr-ModL-SubmitLocation}"/> 
    6312                 <input name="cancelled" type="submit" value="{$bwStr-ModL-Cancel}"/> 
    6313               </td> 
    6314               <td align="right"> 
    6315                 <input type="submit" name="delete" value="{$bwStr-ModL-DeleteLocation}"/> 
    6316               </td> 
    6317             </tr> 
    6318           </table> 
    6319         </form> 
    6320       </xsl:otherwise> 
    6321     </xsl:choose> 
    6322   </xsl:template> 
    6323  
    6324   <xsl:template name="deleteLocationConfirm"> 
    6325     <h2><xsl:copy-of select="$bwStr-OKDL-OKToDeleteLocation"/></h2> 
    6326  
    6327     <table class="common" cellspacing="0"> 
    6328       <tr> 
    6329         <th class="commonHeader" colspan="2"><xsl:copy-of select="$bwStr-OKDL-DeleteLocation"/></th> 
    6330       </tr> 
    6331       <tr> 
    6332         <td class="fieldname"> 
    6333           <xsl:copy-of select="$bwStr-OKDL-MainAddress"/> 
    6334         </td> 
    6335         <td align="left"> 
    6336           <xsl:value-of select="/bedework/currentLocation/address"/> 
    6337         </td> 
    6338       </tr> 
    6339       <tr> 
    6340         <td class="fieldname"> 
    6341           <xsl:copy-of select="$bwStr-OKDL-Subaddress"/> 
    6342         </td> 
    6343         <td align="left"> 
    6344           <xsl:value-of select="/bedework/currentLocation/subaddress"/> 
    6345         </td> 
    6346       </tr> 
    6347       <tr> 
    6348         <td class="fieldname"> 
    6349           <xsl:copy-of select="$bwStr-OKDL-LocationLink"/> 
    6350         </td> 
    6351         <td> 
    6352           <xsl:variable name="link" select="/bedework/currentLocation/link"/> 
    6353           <a href="{$link}"><xsl:value-of select="$link"/></a> 
    6354         </td> 
    6355       </tr> 
    6356     </table> 
    6357  
    6358     <form action="{$location-delete}" method="post"> 
    6359       <input type="submit" name="updateCategory" value="{$bwStr-OKDL-YesDeleteLocation}"/> 
    6360       <input type="submit" name="cancelled" value="{$bwStr-OKDL-Cancel}"/> 
    6361     </form> 
    6362   </xsl:template> 
    6363  
    6364   <!--==== INBOX, OUTBOX, and SCHEDULING ====--> 
    6365   <xsl:template match="inbox"> 
    6366     <h2 class="common"><xsl:copy-of select="$bwStr-Inbx-Inbox"/></h2> 
    6367     <table id="inoutbox" class="common" cellspacing="0"> 
    6368       <tr> 
    6369         <th class="commonHeader">&#160;</th> 
    6370         <th class="commonHeader"><xsl:copy-of select="$bwStr-Inbx-Sent"/></th> 
    6371         <th class="commonHeader"><xsl:copy-of select="$bwStr-Inbx-From"/></th> 
    6372         <th class="commonHeader"><xsl:copy-of select="$bwStr-Inbx-Title"/></th> 
    6373         <th class="commonHeader"><xsl:copy-of select="$bwStr-Inbx-Start"/></th> 
    6374         <th class="commonHeader"><xsl:copy-of select="$bwStr-Inbx-End"/></th> 
    6375         <th class="commonHeader"><xsl:copy-of select="$bwStr-Inbx-Method"/></th> 
    6376         <th class="commonHeader"><xsl:copy-of select="$bwStr-Inbx-Status"/></th> 
    6377         <th class="commonHeader">&#160;</th> 
    6378         <th class="commonHeader">&#160;</th> 
    6379       </tr> 
    6380       <xsl:for-each select="events/event"> 
    6381         <xsl:sort select="lastmod" order="descending"/> 
    6382         <xsl:variable name="guid"><xsl:call-template name="url-encode"><xsl:with-param name="str" select="guid"/></xsl:call-template></xsl:variable> 
    6383         <xsl:variable name="calPath" select="calendar/encodedPath"/> 
    6384         <xsl:variable name="eventName" select="name"/> 
    6385         <xsl:variable name="recurrenceId" select="recurrenceId"/> 
    6386         <xsl:variable name="inboxItemAction"> 
    6387           <xsl:choose> 
    6388             <xsl:when test="scheduleMethod=2"><xsl:value-of select="$schedule-initAttendeeUpdate"/></xsl:when> 
    6389             <xsl:when test="scheduleMethod=3"><xsl:value-of select="$eventView"/></xsl:when> 
    6390             <xsl:when test="scheduleMethod=6"><xsl:value-of select="$schedule-processRefresh"/></xsl:when> 
    6391             <xsl:when test="scheduleMethod=7"><xsl:value-of select="$eventView"/></xsl:when> 
    6392             <xsl:otherwise><xsl:value-of select="$schedule-initAttendeeUpdate"/></xsl:otherwise> 
    6393           </xsl:choose> 
    6394         </xsl:variable> 
    6395         <tr> 
    6396           <xsl:attribute name="class"> 
    6397             <xsl:choose> 
    6398               <xsl:when test="scheduleState=0"><xsl:copy-of select="$bwStr-Inbx-Unprocessed"/></xsl:when> 
    6399               <xsl:when test="scheduleMethod=1"><xsl:copy-of select="$bwStr-Inbx-Publish"/></xsl:when> 
    6400               <xsl:when test="scheduleMethod=2"><xsl:copy-of select="$bwStr-Inbx-Request"/></xsl:when> 
    6401               <xsl:when test="scheduleMethod=5"><xsl:copy-of select="$bwStr-Inbx-Cancel"/></xsl:when> 
    6402               <xsl:when test="scheduleMethod=7 or scheduleMethod=8"><xsl:copy-of select="$bwStr-Inbx-Counter"/></xsl:when> 
    6403             </xsl:choose> 
    6404           </xsl:attribute> 
    6405           <td> 
    6406             <a href="{$inboxItemAction}&amp;calPath={$calPath}&amp;eventName={$eventName}&amp;recurrenceId={$recurrenceId}" title="{$bwStr-Inbx-CheckMessage}"> 
    6407               <img src="{$resourcesRoot}/resources/calIconSchedule-sm.gif" width="13" height="13" border="0" alt="{$bwStr-Inbx-CheckMessage}"/> 
    6408             </a> 
    6409           </td> 
    6410           <td> 
    6411             <a href="{$inboxItemAction}&amp;calPath={$calPath}&amp;eventName={$eventName}&amp;recurrenceId={$recurrenceId}" title="check message"> 
    6412               <!--<xsl:value-of select="dtstamp/shortdate"/><xsl:text> </xsl:text><xsl:value-of select="dtstamp/time"/>--> 
    6413               <!--<xsl:value-of select="lastmod"/>--> 
    6414               <xsl:variable name="dt" select="substring-before(lastmod,'T')"/> 
    6415               <xsl:variable name="tm" select="substring-after(lastmod,'T')"/> 
    6416               <xsl:value-of select="substring($dt,1,4)"/>-<xsl:value-of select="substring($dt,5,2)"/>-<xsl:value-of select="substring($dt,7,2)"/> 
    6417               <xsl:text> </xsl:text> 
    6418               <xsl:value-of select="substring($tm,1,2)"/>:<xsl:value-of select="substring($tm,3,2)"/> 
    6419             </a> 
    6420           </td> 
    6421           <td> 
    6422             <xsl:choose> 
    6423               <xsl:when test="scheduleMethod = '1' or 
    6424                               scheduleMethod = '2' or 
    6425                               scheduleMethod = '4' or 
    6426                               scheduleMethod = '5' or 
    6427                               scheduleMethod = '8'"> 
    6428                 <xsl:if test="organizer"> 
    6429                   <xsl:variable name="organizerUri" select="organizer/organizerUri"/> 
    6430                   <xsl:choose> 
    6431                     <xsl:when test="organizer/cn != ''"> 
    6432                       <xsl:value-of select="organizer/cn"/> 
    6433                     </xsl:when> 
    6434                     <xsl:otherwise> 
    6435                       <xsl:value-of select="substring-after(organizer/organizerUri,'mailto:')"/> 
    6436                     </xsl:otherwise> 
    6437                   </xsl:choose> 
    6438                   <xsl:if test="organizer/organizerUri != ''"> 
    6439                     <a href="{$organizerUri}" class="emailIcon" title="{$bwStr-Inbx-Email}"> 
    6440                       <img src="{$resourcesRoot}/resources/email.gif" width="16" height="10" border="0" alt="email"/> 
    6441                     </a> 
    6442                   </xsl:if> 
    6443                 </xsl:if> 
    6444               </xsl:when> 
    6445               <xsl:otherwise> 
    6446                 <xsl:if test="attendees/attendee"> 
    6447                   <!-- there will only be one attendee at this point --> 
    6448                   <xsl:variable name="attendeeUri" select="attendees/attendee/attendeeUri"/> 
    6449                   <xsl:choose> 
    6450                     <xsl:when test="attendees/attendee/cn != ''"> 
    6451                       <xsl:value-of select="attendees/attendee/cn"/> 
    6452                     </xsl:when> 
    6453                     <xsl:otherwise> 
    6454                       <xsl:value-of select="substring-after(attendees/attendee/attendeeUri,'mailto:')"/> 
    6455                     </xsl:otherwise> 
    6456                   </xsl:choose> 
    6457                   <xsl:if test="$attendeeUri != ''"> 
    6458                     <a href="{$attendeeUri}" class="emailIcon" title="{$bwStr-Inbx-Email}"> 
    6459                       <img src="{$resourcesRoot}/resources/email.gif" width="16" height="10" border="0" alt="email"/> 
    6460                     </a> 
    6461                   </xsl:if> 
    6462                 </xsl:if> 
    6463               </xsl:otherwise> 
    6464             </xsl:choose> 
    6465           </td> 
    6466           <td> 
    6467             <a href="{$inboxItemAction}&amp;calPath={$calPath}&amp;eventName={$eventName}&amp;recurrenceId={$recurrenceId}" title="{$bwStr-Inbx-CheckMessage}"> 
    6468               <xsl:value-of select="title"/> 
    6469             </a> 
    6470           </td> 
    6471           <td><xsl:value-of select="start/shortdate"/><xsl:text> </xsl:text><xsl:value-of select="start/time"/></td> 
    6472           <td><xsl:value-of select="end/shortdate"/><xsl:text> </xsl:text><xsl:value-of select="end/time"/></td> 
    6473           <td><xsl:apply-templates select="scheduleMethod"/></td> 
    6474           <td> 
    6475             <a href="{$inboxItemAction}&amp;calPath={$calPath}&amp;eventName={$eventName}&amp;recurrenceId={$recurrenceId}" title="{$bwStr-Inbx-CheckMessage}"> 
    6476               <xsl:choose> 
    6477                 <xsl:when test="scheduleState=0"><em><xsl:copy-of select="$bwStr-Inbx-Unprocessed"/></em></xsl:when> 
    6478                 <xsl:otherwise><xsl:copy-of select="$bwStr-Inbx-Processed"/></xsl:otherwise> 
    6479               </xsl:choose> 
    6480             </a> 
    6481           </td> 
    6482           <td> 
    6483             <xsl:variable name="eventIcalName" select="concat($guid,'.ics')"/> 
    6484             <a href="{$export}&amp;calPath={$calPath}&amp;&amp;eventName={$eventName}&amp;recurrenceId={$recurrenceId}&amp;nocache=no&amp;contentName={$eventIcalName}" title="{$bwStr-Inbx-Download}"> 
    6485               <img src="{$resourcesRoot}/resources/std-ical_icon_small.gif" width="12" height="16" border="0" alt="{$bwStr-Inbx-Download}"/> 
    6486             </a> 
    6487           </td> 
    6488           <td> 
    6489             <a href="{$delInboxEvent}&amp;calPath={$calPath}&amp;&amp;eventName={$eventName}&amp;recurrenceId={$recurrenceId}" title="{$bwStr-Inbx-Delete}"> 
    6490               <img src="{$resourcesRoot}/resources/trashIcon.gif" width="13" height="13" border="0" alt="{$bwStr-Inbx-Delete}"/> 
    6491             </a> 
    6492           </td> 
    6493         </tr> 
    6494       </xsl:for-each> 
    6495     </table> 
    6496   </xsl:template> 
    6497  
    6498   <xsl:template match="outbox"> 
    6499     <h2 class="common"><xsl:copy-of select="$bwStr-Oubx-Outbox"/></h2> 
    6500     <table id="inoutbox" class="common" cellspacing="0"> 
    6501       <tr> 
    6502         <th class="commonHeader">&#160;</th> 
    6503         <th class="commonHeader"><xsl:copy-of select="$bwStr-Oubx-Sent"/></th> 
    6504         <th class="commonHeader"><xsl:copy-of select="$bwStr-Oubx-Organizer"/></th> 
    6505         <th class="commonHeader"><xsl:copy-of select="$bwStr-Oubx-Title"/></th> 
    6506         <th class="commonHeader"><xsl:copy-of select="$bwStr-Oubx-Start"/></th> 
    6507         <th class="commonHeader"><xsl:copy-of select="$bwStr-Oubx-End"/></th> 
    6508         <th class="commonHeader"><xsl:copy-of select="$bwStr-Oubx-Method"/></th> 
    6509         <th class="commonHeader"><xsl:copy-of select="$bwStr-Oubx-Status"/></th> 
    6510         <th class="commonHeader">&#160;</th> 
    6511         <th class="commonHeader">&#160;</th> 
    6512       </tr> 
    6513       <xsl:for-each select="events/event"> 
    6514         <xsl:sort select="lastmod" order="descending"/> 
    6515         <xsl:variable name="guid"><xsl:call-template name="url-encode"><xsl:with-param name="str" select="guid"/></xsl:call-template></xsl:variable> 
    6516         <xsl:variable name="calPath" select="calendar/encodedPath"/> 
    6517         <xsl:variable name="eventName" select="name"/> 
    6518         <xsl:variable name="recurrenceId" select="recurrenceId"/> 
    6519         <xsl:variable name="inboxItemAction"> 
    6520           <xsl:choose> 
    6521             <xsl:when test="scheduleMethod=2"><xsl:value-of select="$schedule-initAttendeeRespond"/></xsl:when> 
    6522             <xsl:when test="scheduleMethod=3"><xsl:value-of select="$schedule-initAttendeeReply"/></xsl:when> 
    6523             <xsl:otherwise><xsl:value-of select="$schedule-initAttendeeRespond"/></xsl:otherwise> 
    6524           </xsl:choose> 
    6525         </xsl:variable> 
    6526         <tr> 
    6527           <xsl:attribute name="class"> 
    6528             <xsl:choose> 
    6529               <xsl:when test="scheduleMethod=1"><xsl:copy-of select="$bwStr-Oubx-Publish"/></xsl:when> 
    6530               <xsl:when test="scheduleMethod=2"><xsl:copy-of select="$bwStr-Oubx-Request"/></xsl:when> 
    6531               <xsl:when test="scheduleMethod=5"><xsl:copy-of select="$bwStr-Oubx-Cancel"/></xsl:when> 
    6532               <xsl:when test="scheduleMethod=7 or scheduleMethod=8"><xsl:copy-of select="$bwStr-Oubx-Counter"/></xsl:when> 
    6533             </xsl:choose> 
    6534           </xsl:attribute> 
    6535           <td> 
    6536             <a href="{$inboxItemAction}&amp;calPath={$calPath}&amp;eventName={$eventName}&amp;recurrenceId={$recurrenceId}" title="{$bwStr-Oubx-CheckMessage}"> 
    6537               <img src="{$resourcesRoot}/resources/calIconSchedule-sm.gif" width="13" height="13" border="0" alt="{$bwStr-Oubx-CheckMessage}"/> 
    6538             </a> 
    6539           </td> 
    6540           <td> 
    6541             <a href="{$inboxItemAction}&amp;calPath={$calPath}&amp;eventName={$eventName}&amp;recurrenceId={$recurrenceId}" title="{$bwStr-Oubx-CheckMessage}"> 
    6542               <!-- <xsl:value-of select="dtstamp/shortdate"/><xsl:text> </xsl:text><xsl:value-of select="dtstamp/time"/>--> 
    6543               <!--<xsl:value-of select="lastmod"/>--> 
    6544               <xsl:variable name="dt" select="substring-before(lastmod,'T')"/> 
    6545               <xsl:variable name="tm" select="substring-after(lastmod,'T')"/> 
    6546               <xsl:value-of select="substring($dt,1,4)"/>-<xsl:value-of select="substring($dt,5,2)"/>-<xsl:value-of select="substring($dt,7,2)"/> 
    6547               <xsl:text> </xsl:text> 
    6548               <xsl:value-of select="substring($tm,1,2)"/>:<xsl:value-of select="substring($tm,3,2)"/> 
    6549             </a> 
    6550           </td> 
    6551           <td> 
    6552             <xsl:if test="organizer"> 
    6553               <xsl:variable name="organizerUri" select="organizer/organizerUri"/> 
    6554               <xsl:choose> 
    6555                 <xsl:when test="organizer/cn != ''"> 
    6556                   <xsl:value-of select="organizer/cn"/> 
    6557                 </xsl:when> 
    6558                 <xsl:otherwise> 
    6559                   <xsl:value-of select="substring-after(organizer/organizerUri,'mailto:')"/> 
    6560                 </xsl:otherwise> 
    6561               </xsl:choose> 
    6562               <xsl:if test="organizer/organizerUri != ''"> 
    6563                 <a href="{$organizerUri}" class="emailIcon" title="{$bwStr-Oubx-Email}"> 
    6564                   <img src="{$resourcesRoot}/resources/email.gif" width="16" height="10" border="0" alt="{$bwStr-Oubx-Email}"/> 
    6565                 </a> 
    6566               </xsl:if> 
    6567             </xsl:if> 
    6568           </td> 
    6569           <td> 
    6570             <a href="{$inboxItemAction}&amp;calPath={$calPath}&amp;eventName={$eventName}&amp;recurrenceId={$recurrenceId}"> 
    6571               <xsl:value-of select="title"/> 
    6572             </a> 
    6573           </td> 
    6574           <td><xsl:value-of select="start/shortdate"/><xsl:text> </xsl:text><xsl:value-of select="start/time"/></td> 
    6575           <td><xsl:value-of select="end/shortdate"/><xsl:text> </xsl:text><xsl:value-of select="end/time"/></td> 
    6576           <td><xsl:apply-templates select="scheduleMethod"/></td> 
    6577           <td> 
    6578             <a href="{$inboxItemAction}&amp;calPath={$calPath}&amp;eventName={$eventName}&amp;recurrenceId={$recurrenceId}"> 
    6579               <xsl:choose> 
    6580                 <xsl:when test="scheduleState=0"><em><xsl:copy-of select="$bwStr-Oubx-Unprocessed"/></em></xsl:when> 
    6581                 <xsl:otherwise><xsl:copy-of select="$bwStr-Oubx-Processed"/></xsl:otherwise> 
    6582               </xsl:choose> 
    6583             </a> 
    6584           </td> 
    6585           <td> 
    6586             <xsl:variable name="eventIcalName" select="concat($guid,'.ics')"/> 
    6587             <a href="{$export}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}&amp;nocache=no&amp;contentName={$eventIcalName}" title="{$bwStr-Oubx-Download}"> 
    6588               <img src="{$resourcesRoot}/resources/std-ical_icon_small.gif" width="12" height="16" border="0" alt="{$bwStr-Oubx-Download}"/> 
    6589             </a> 
    6590           </td> 
    6591           <td> 
    6592             <a href="{$delEvent}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}" title="{$bwStr-Oubx-Delete}"> 
    6593               <img src="{$resourcesRoot}/resources/trashIcon.gif" width="13" height="13" border="0" alt="{$bwStr-Oubx-Delete}"/> 
    6594             </a> 
    6595           </td> 
    6596         </tr> 
    6597       </xsl:for-each> 
    6598     </table> 
    6599   </xsl:template> 
    6600  
    6601   <xsl:template match="scheduleMethod"> 
    6602     <xsl:choose> 
    6603       <xsl:when test="node()=1"><xsl:copy-of select="$bwStr-ScMe-Publish"/></xsl:when> 
    6604       <xsl:when test="node()=2"><xsl:copy-of select="$bwStr-ScMe-Request"/></xsl:when> 
    6605       <xsl:when test="node()=3"><xsl:copy-of select="$bwStr-ScMe-Reply"/></xsl:when> 
    6606       <xsl:when test="node()=4"><xsl:copy-of select="$bwStr-ScMe-Add"/></xsl:when> 
    6607       <xsl:when test="node()=5"><xsl:copy-of select="$bwStr-ScMe-Cancel"/></xsl:when> 
    6608       <xsl:when test="node()=6"><xsl:copy-of select="$bwStr-ScMe-Refresh"/></xsl:when> 
    6609       <xsl:when test="node()=7"><xsl:copy-of select="$bwStr-ScMe-Counter"/></xsl:when> 
    6610       <xsl:when test="node()=8"><xsl:copy-of select="$bwStr-ScMe-Declined"/></xsl:when><!-- declinecounter --> 
    6611       <xsl:otherwise>unknown</xsl:otherwise> 
    6612     </xsl:choose> 
    6613   </xsl:template> 
    6614  
    6615   <xsl:template match="formElements" mode="attendeeRespond"> 
    6616     <xsl:variable name="calPathEncoded" select="form/calendar/encodedPath"/> 
    6617     <xsl:variable name="calPath" select="form/calendar/path"/> 
    6618     <xsl:variable name="guid"><xsl:call-template name="url-encode"><xsl:with-param name="str" select="guid"/></xsl:call-template></xsl:variable> 
    6619     <xsl:variable name="recurrenceId" select="recurrenceId"/> 
    6620     <!-- The name "eventForm" is referenced by several javascript functions. Do not 
    6621     change it without modifying bedework.js --> 
    6622     <form name="eventForm" method="post" action="{$schedule-attendeeRespond}" id="standardForm"> 
    6623       <input type="hidden" name="updateEvent" value="true"/> 
    6624       <input type="hidden" name="endType" value="date"/> 
    6625       <h2> 
    6626         <xsl:choose> 
    6627           <xsl:when test="scheduleMethod = '5'"> 
    6628             <xsl:copy-of select="$bwStr-AtRe-MeetingCanceled"/> 
    6629           </xsl:when> 
    6630           <xsl:when test="scheduleMethod = '8'"> 
    6631             <xsl:copy-of select="$bwStr-AtRe-MeetingCounterDeclined"/> 
    6632           </xsl:when> 
    6633           <xsl:otherwise> 
    6634             <xsl:copy-of select="$bwStr-AtRe-MeetingRequest"/> 
    6635           </xsl:otherwise> 
    6636         </xsl:choose> 
    6637       </h2> 
    6638       <table class="common" cellspacing="0"> 
    6639         <tr> 
    6640           <th colspan="2" class="commonHeader"> 
    6641             <xsl:copy-of select="$bwStr-AtRe-Organizer"/> 
    6642             <xsl:choose> 
    6643               <xsl:when test="organizer/cn != ''"> 
    6644                 <xsl:value-of select="organizer/cn"/> 
    6645               </xsl:when> 
    6646               <xsl:otherwise> 
    6647                 <xsl:value-of select="substring-after(organizer/organizerUri,'mailto:')"/> 
    6648               </xsl:otherwise> 
    6649             </xsl:choose> 
    6650           </th> 
    6651         </tr> 
    6652         <xsl:choose> 
    6653           <xsl:when test="scheduleMethod = '5'"> 
    6654             <tr> 
    6655               <td colspan="2" class="highlight"> 
    6656                 <xsl:copy-of select="$bwStr-AtRe-ThisMeetingCanceled"/> 
    6657               </td> 
    6658             </tr> 
    6659           </xsl:when> 
    6660           <xsl:when test="scheduleMethod = '8'"> 
    6661             <tr> 
    6662               <td colspan="2" class="highlight"> 
    6663                 <xsl:copy-of select="$bwStr-AtRe-CounterReqDeclined"/> 
    6664               </td> 
    6665             </tr> 
    6666           </xsl:when> 
    6667         </xsl:choose> 
    6668         <!-- 
    6669         <tr> 
    6670           <td class="fieldname"> 
    6671             <xsl:copy-of select="$bwStr-AtRe-Calendar"/> 
    6672           </td> 
    6673           <td class="fieldval scheduleActions"> 
    6674             <xsl:choose> 
    6675               <xsl:when test="not(guidcals/calendar)"> 
    6676               <!- - the event has not been added to a calendar, so this is the 
    6677                    first request - - > 
    6678  
    6679                 <!- - the string "user/" should not be hard coded; fix this - - > 
    6680                 <xsl:variable name="userPath">user/<xsl:value-of select="/bedework/userid"/></xsl:variable> 
    6681                 <xsl:variable name="writableCalendars"> 
    6682                   <xsl:value-of select=" 
    6683                     count(/bedework/myCalendars//calendar[calType = '1' and 
    6684                            currentAccess/current-user-privilege-set/privilege/write-content]) + 
    6685                     count(/bedework/mySubscriptions//calendar[calType = '1' and 
    6686                            currentAccess/current-user-privilege-set/privilege/write-content and 
    6687                            (not(contains(path,$userPath)))])"/> 
    6688                 </xsl:variable> 
    6689                 <xsl:choose> 
    6690                   <xsl:when test="$writableCalendars = 1"> 
    6691                     <!- - there is only 1 writable calendar, so find it by looking down both trees at once - - > 
    6692                     <xsl:variable name="newCalPath"><xsl:value-of select="/bedework/myCalendars//calendar[calType = '1' and 
    6693                              currentAccess/current-user-privilege-set/privilege/write-content]/path"/><xsl:value-of select="/bedework/mySubscriptions//calendar[calType = '1' and 
    6694                            currentAccess/current-user-privilege-set/privilege/write-content and 
    6695                            (not(contains(path,$userPath)))]/path"/></xsl:variable> 
    6696  
    6697                     <input type="hidden" name="newCalPath" value="{$newCalPath}"/> 
    6698  
    6699                     <xsl:variable name="userFullPath"><xsl:value-of select="$userPath"/>/</xsl:variable> 
    6700                     <span id="bwEventCalDisplay"> 
    6701                       <xsl:choose> 
    6702                         <xsl:when test="contains($newCalPath,$userFullPath)"> 
    6703                           <xsl:value-of select="substring-after($newCalPath,$userFullPath)"/> 
    6704                         </xsl:when> 
    6705                         <xsl:otherwise> 
    6706                           <xsl:value-of select="$newCalPath"/> 
    6707                         </xsl:otherwise> 
    6708                       </xsl:choose> 
    6709                     </span> 
    6710                   </xsl:when> 
    6711                   <xsl:otherwise> 
    6712                     <input type="hidden" name="newCalPath" id="bwNewCalPathField" value=""/> 
    6713                     <!- - 
    6714                       <xsl:if test="form/calendar/calType = '1'"><xsl:attribute name="value"><xsl:value-of select="form/calendar/path"/></xsl:attribute></xsl:if> 
    6715                     </input>- - > 
    6716  
    6717                     <xsl:variable name="userFullPath"><xsl:value-of select="$userPath"/>/</xsl:variable> 
    6718  
    6719                     <span id="bwEventCalDisplay"> 
    6720                       <xsl:if test="form/calendar/calType = '1'"> 
    6721                         <xsl:choose> 
    6722                           <xsl:when test="contains(form/calendar/path,$userFullPath)"> 
    6723                             <xsl:value-of select="substring-after(form/calendar/path,$userFullPath)"/> 
    6724                           </xsl:when> 
    6725                           <xsl:otherwise> 
    6726                             <xsl:value-of select="form/calendar/path"/> 
    6727                           </xsl:otherwise> 
    6728                         </xsl:choose> 
    6729                       </xsl:if> 
    6730                       <xsl:text> </xsl:text> 
    6731                       <!- - this final text element is required to avoid an empty 
    6732                            span element which is improperly rendered in the browser - - > 
    6733                     </span> 
    6734  
    6735                     <xsl:call-template name="selectCalForEvent"/> 
    6736  
    6737                   </xsl:otherwise> 
    6738                 </xsl:choose> 
    6739  
    6740               </xsl:when> 
    6741               <xsl:otherwise> 
    6742                 <!- - the event exists in calendars already, so this is a 
    6743                      subsequent follow-up.  Let the user choose which copies 
    6744                      of the event to update.  For now, we'll just list them 
    6745                      and add calPath request parameters. 
    6746  
    6747                      This should be changed - we will only have one of these so 
    6748                      the for-each is not needed - - > 
    6749                 <ul> 
    6750                   <xsl:for-each select="guidcals/calendar"> 
    6751                     <li class="calendar"> 
    6752                       <xsl:value-of select="name"/> 
    6753                       <input type="hidden" name="calPath"> 
    6754                         <xsl:attribute name="value"><xsl:value-of select="path"/></xsl:attribute> 
    6755                       </input> 
    6756                     </li> 
    6757                   </xsl:for-each> 
    6758                 </ul> 
    6759               </xsl:otherwise> 
    6760             </xsl:choose> 
    6761           </td> 
    6762         </tr> 
    6763         --> 
    6764         <xsl:if test="scheduleMethod != '8'"> 
    6765           <tr> 
    6766             <td class="fieldname"><xsl:copy-of select="$bwStr-AtRe-Action"/></td> 
    6767             <td class="fieldval scheduleActions"> 
    6768               <xsl:choose> 
    6769                 <xsl:when test="scheduleMethod = '5' or scheduleMethod = '8'"> 
    6770                 <!-- respond to a cancel --> 
    6771                   <input type="hidden" name="method" value="REPLY"/> 
    6772                   <select name="cancelAction"> 
    6773                     <option value="mark"><xsl:copy-of select="$bwStr-AtRe-MarkEventAsCanceled"/></option> 
    6774                     <option value="delete"><xsl:copy-of select="$bwStr-AtRe-DeleteEvent"/></option> 
    6775                   </select> 
    6776                 </xsl:when> 
    6777                 <xsl:otherwise> 
    6778                 <!-- respond to a request --> 
    6779                   <input type="radio" name="method" value="REPLY" checked="checked" onclick="swapScheduleDisplay('hide');"/><xsl:copy-of select="$bwStr-AtRe-ReplyAs"/> 
    6780                   <select name="partstat"> 
    6781                     <option value="ACCEPTED"><xsl:copy-of select="$bwStr-AtRe-Accepted"/></option> 
    6782                     <option value="DECLINED"><xsl:copy-of select="$bwStr-AtRe-Declined"/></option> 
    6783                     <option value="TENTATIVE"><xsl:copy-of select="$bwStr-AtRe-Tentative"/></option> 
    6784                   </select><br/> 
    6785                   <!--<input type="radio" name="method" value="REFRESH" onclick="swapScheduleDisplay('hide');"/>refresh this event<br/>--> 
    6786                   <input type="radio" name="method" value="DELEGATE" onclick="swapScheduleDisplay('hide');"/><xsl:copy-of select="$bwStr-AtRe-DelegateTo"/> 
    6787                   <input type="test" name="delegate" value=""/><xsl:text> </xsl:text><xsl:copy-of select="$bwStr-AtRe-URIOrAccount"/><br/> 
    6788                   <input type="radio" name="method" value="COUNTER" onclick="swapScheduleDisplay('show');"/><xsl:copy-of select="$bwStr-AtRe-CounterSuggest"/> 
    6789                 </xsl:otherwise> 
    6790               </xsl:choose> 
    6791             </td> 
    6792           </tr> 
    6793           <tr id="scheduleDateEdit" class="invisible"> 
    6794             <td class="fieldname"><xsl:copy-of select="$bwStr-AtRe-NewDateTime"/></td> 
    6795             <td class="fieldval scheduleActions"> 
    6796               <!-- Set the timefields class for the first load of the page; 
    6797                    subsequent changes will take place using javascript without a 
    6798                    page reload. --> 
    6799               <xsl:variable name="timeFieldsClass"> 
    6800                 <xsl:choose> 
    6801                   <xsl:when test="form/allDay/input/@checked='checked'"><xsl:copy-of select="$bwStr-AtRe-Invisible"/>invisible</xsl:when> 
    6802                   <xsl:otherwise><xsl:copy-of select="$bwStr-AtRe-TimeFields"/></xsl:otherwise> 
    6803                 </xsl:choose> 
    6804               </xsl:variable> 
    6805               <xsl:choose> 
    6806                 <xsl:when test="form/allDay/input/@checked='checked'"> 
    6807                   <input type="checkbox" name="allDayFlag" onclick="swapAllDayEvent(this)" value="on" checked="checked"/> 
    6808                   <input type="hidden" name="eventStartDate.dateOnly" value="on" id="allDayStartDateField"/> 
    6809                   <input type="hidden" name="eventEndDate.dateOnly" value="on" id="allDayEndDateField"/> 
    6810                 </xsl:when> 
    6811                 <xsl:otherwise> 
    6812                   <input type="checkbox" name="allDayFlag" onclick="swapAllDayEvent(this)" value="off"/> 
    6813             &nbs