Changeset 659

Show
Ignore:
Timestamp:
06/27/06 10:12:55
Author:
douglm
Message:

Mostly changes to get a resource url working in the uportal version

Fix initial calendar data to ensure user root access is correct

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/calendar3/bldfiles/buildwar.xml

    r614 r659  
    9292 
    9393    <property name="propval.app.genurl.taglib.tld" 
    94               value="struts-portlet.tld" /> 
     94              value="bedework-uportal2.tld" /> 
    9595  </target> 
    9696 
  • trunk/calendar3/bldfiles/globalDefs.xml

    r594 r659  
    22 
    33<!-- =================================================================== 
     4     bedework calendar global definitions. 
    45     This file is imported by build files that want to define all the 
    56     global settings. It defines a globalDefs target 
    67     =================================================================== --> 
    78 
    8 <project name="uwcalGlobalDefs" default="globalDefs"> 
     9<project name="bwGlobalDefs" default="globalDefs"> 
    910  <property environment="env"/> 
    1011 
  • trunk/calendar3/bldfiles/quickstart-build.xml

    r614 r659  
    3434    <echo message="Once tomcat is running you should be able to go to a"/> 
    3535    <echo message="browser and connect to"/> 
    36     <echo message="    http://localhost:8080/caladmin"/> 
    37     <echo message="and get a login prompt. Login with user 'caladmin' and"/> 
    38     <echo message="password 'uwcal'"/> 
    39     <echo message=""/> 
    40     <echo message="Connecting to"/> 
    41     <echo message="    http://localhost:8080/cal"/> 
    42     <echo message="should give you the public (guest) view of the calendar"/> 
    43     <echo message="which probably has no events."/> 
    44     <echo message=""/> 
    45     <echo message="Try entering them with the admin calendar ('add events')"/> 
    46     <echo message="and they should appear."/> 
     36    <echo message="    http://localhost:8080/bedework"/> 
     37    <echo message="and follow the instructions."/> 
    4738    <echo message=""/> 
    4839    <echo message="To build the calendar do"/> 
     
    5647    <echo message="which does a clean, build and deploy of all components"/> 
    5748    <echo message=""/> 
    58     <echo message="Creating a locally configured calendar application"/> 
    59     <echo message="should involve following the instructions for the"/> 
    60     <echo message="appsuite target in calendar/build.xml"/> 
     49    <echo message="See documentation in the docs directory or on bedework.org"/> 
     50    <echo message="for instructions on creating a locally configured calendar application"/> 
    6151    <echo message=""/> 
    6252  </target> 
  • trunk/calendar3/build.xml

    r656 r659  
    33<!-- This is the main build file for bedework which can be used in 
    44     conjunction with Ant (http://jakarta.apache.org/ant/) to 
    5      build, deploy, and distribute the UW calendar project. Type 
     5     build, deploy, and distribute the bedework calendar project. Type 
    66     "ant -projecthelp" to see a list of ant targets. 
    77 
  • trunk/calendar3/deployment/webpublic/uportal2/bedework-uportal2.tld

    r656 r659  
    2525<tag> 
    2626<name>form</name> 
    27 <tagclass>org.apache.portals.bridges.struts.taglib.FormTag</tagclass> 
     27<tagclass>ca.mun.portal.strutsbridge.taglib.CalFormTag</tagclass> 
    2828<bodycontent>JSP</bodycontent> 
    2929<attribute> 
     
    504504<tag> 
    505505<name>link</name> 
    506 <tagclass>org.apache.portals.bridges.struts.taglib.LinkTag</tagclass> 
     506<tagclass>ca.mun.portal.strutsbridge.taglib.CalLinkTag</tagclass> 
    507507<attribute> 
    508508<name>actionURL</name> 
  • trunk/calendar3/deployment/webpublic/uportal2/resources/demoskins/MainCampus/default/default/default.xsl

    r655 r659  
    9191  <xsl:variable name="eventView" select="/bedework/urlPrefixes/eventView"/> 
    9292  <xsl:variable name="addEventRef" select="/bedework/urlPrefixes/addEventRef"/> 
    93   <xsl:variable name="export" select="/bedework/urlPrefixes/export"/> 
     93  <xsl:variable name="export" select="/bedework/urlPrefixes/export/a/@href"/> 
    9494  <xsl:variable name="mailEvent" select="/bedework/urlPrefixes/mailEvent"/> 
    9595  <xsl:variable name="showPage" select="/bedework/urlPrefixes/showPage"/> 
  • trunk/calendar3/deployment/webpublic/uportal2/resources/demoskins/SoEDepartmental/default/default/default.xsl

    r637 r659  
    3030     For detailed instructions on how to work with the XSLT 
    3131     stylesheets included with this distribution, please see the 
    32                 Bedework Design Guide at 
     32    Bedework Design Guide at 
    3333     http://www.bedework.org/bedework/update.do?artcenterkey=24 
    3434 
     
    9090  <xsl:variable name="eventView" select="/bedework/urlPrefixes/eventView"/> 
    9191  <xsl:variable name="addEventRef" select="/bedework/urlPrefixes/addEventRef"/> 
    92   <xsl:variable name="export" select="/bedework/urlPrefixes/export"/> 
     92  <xsl:variable name="export" select="/bedework/urlPrefixes/export/a/@href"/> 
    9393  <xsl:variable name="mailEvent" select="/bedework/urlPrefixes/mailEvent"/> 
    9494  <xsl:variable name="showPage" select="/bedework/urlPrefixes/showPage"/> 
     
    583583        <th class="icalIcon" rowspan="2"> 
    584584          <div id="eventIcons"> 
    585                                                <xsl:variable name="id" select="id"/> 
    586                                                <xsl:variable name="subscriptionId" select="subscription/id"/> 
    587                                                <xsl:variable name="calPath" select="calendar/encodedPath"/> 
    588                                                <xsl:variable name="guid" select="guid"/> 
    589                                                <xsl:variable name="recurrenceId" select="recurrenceId"/> 
    590                                                <a href="{$privateCal}/addEventRef.do?subid={$subscriptionId}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}" title="Add event to MyCalendar" target="myCalendar"> 
    591                                                        <img class="addref" src="{$resourcesRoot}/images/add2mycal-icon.gif" width="20" height="26" border="0" alt="Add event to MyCalendar"/> 
    592                                                add to my calendar</a> 
    593                                                <xsl:variable name="eventIcalName" select="concat($id,'.ics')"/> 
    594                                                <a href="{$export}&amp;subid={$subscriptionId}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}&amp;nocache=no&amp;skinName=ical&amp;contentType=text/calendar&amp;contentName={$eventIcalName}" title="Download event as ical - for Outlook, PDAs, iCal, and other desktop calendars"> 
    595                                                        <img src="{$resourcesRoot}/images/std-ical_icon.gif" width="20" height="26" border="0" alt="Download this event"/> 
    596                                                 download</a> 
    597                                        </div> 
     585            <xsl:variable name="id" select="id"/> 
     586            <xsl:variable name="subscriptionId" select="subscription/id"/> 
     587            <xsl:variable name="calPath" select="calendar/encodedPath"/> 
     588            <xsl:variable name="guid" select="guid"/> 
     589            <xsl:variable name="recurrenceId" select="recurrenceId"/> 
     590            <a href="{$privateCal}/addEventRef.do?subid={$subscriptionId}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}" title="Add event to MyCalendar" target="myCalendar"> 
     591              <img class="addref" src="{$resourcesRoot}/images/add2mycal-icon.gif" width="20" height="26" border="0" alt="Add event to MyCalendar"/> 
     592            add to my calendar</a> 
     593            <xsl:variable name="eventIcalName" select="concat($id,'.ics')"/> 
     594            <a href="{$export}&amp;subid={$subscriptionId}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}&amp;nocache=no&amp;skinName=ical&amp;contentType=text/calendar&amp;contentName={$eventIcalName}" title="Download event as ical - for Outlook, PDAs, iCal, and other desktop calendars"> 
     595              <img src="{$resourcesRoot}/images/std-ical_icon.gif" width="20" height="26" border="0" alt="Download this event"/> 
     596            download</a> 
     597          </div> 
    598598        </th> 
    599599      </tr> 
  • trunk/calendar3/deployment/webpublic/webapp/resources/demoskins/MainCampus/default/default/default.xsl

    r655 r659  
    8282  <xsl:variable name="eventView" select="/bedework/urlPrefixes/eventView"/> 
    8383  <xsl:variable name="addEventRef" select="/bedework/urlPrefixes/addEventRef"/> 
    84   <xsl:variable name="export" select="/bedework/urlPrefixes/export"/> 
     84  <xsl:variable name="export" select="/bedework/urlPrefixes/export/a/@href"/> 
    8585  <xsl:variable name="mailEvent" select="/bedework/urlPrefixes/mailEvent"/> 
    8686  <xsl:variable name="showPage" select="/bedework/urlPrefixes/showPage"/> 
  • trunk/calendar3/deployment/webpublic/webapp/resources/demoskins/SoEDepartmental/default/default/default.xsl

    r636 r659  
    2929     For detailed instructions on how to work with the XSLT 
    3030     stylesheets included with this distribution, please see the 
    31                 Bedework Design Guide at 
     31    Bedework Design Guide at 
    3232     http://www.bedework.org/bedework/update.do?artcenterkey=24 
    3333 
     
    9393  <xsl:variable name="eventView" select="/bedework/urlPrefixes/eventView"/> 
    9494  <xsl:variable name="addEventRef" select="/bedework/urlPrefixes/addEventRef"/> 
    95   <xsl:variable name="export" select="/bedework/urlPrefixes/export"/> 
     95  <xsl:variable name="export" select="/bedework/urlPrefixes/export/a/@href"/> 
    9696  <xsl:variable name="mailEvent" select="/bedework/urlPrefixes/mailEvent"/> 
    9797  <xsl:variable name="showPage" select="/bedework/urlPrefixes/showPage"/> 
     
    586586        <th class="icalIcon" rowspan="2"> 
    587587          <div id="eventIcons"> 
    588                                                <xsl:variable name="id" select="id"/> 
    589                                                <xsl:variable name="subscriptionId" select="subscription/id"/> 
    590                                                <xsl:variable name="calPath" select="calendar/encodedPath"/> 
    591                                                <xsl:variable name="guid" select="guid"/> 
    592                                                <xsl:variable name="recurrenceId" select="recurrenceId"/> 
    593                                                <a href="{$privateCal}/addEventRef.do?subid={$subscriptionId}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}" title="Add event to MyCalendar" target="myCalendar"> 
    594                                                        <img class="addref" src="{$resourcesRoot}/images/add2mycal-icon.gif" width="20" height="26" border="0" alt="Add event to MyCalendar"/> 
    595                                                add to my calendar</a> 
    596                                                <xsl:variable name="eventIcalName" select="concat($id,'.ics')"/> 
    597                                                <a href="{$export}&amp;subid={$subscriptionId}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}&amp;nocache=no&amp;skinName=ical&amp;contentType=text/calendar&amp;contentName={$eventIcalName}" title="Download event as ical - for Outlook, PDAs, iCal, and other desktop calendars"> 
    598                                                        <img src="{$resourcesRoot}/images/std-ical_icon.gif" width="20" height="26" border="0" alt="Download this event"/> 
    599                                                 download</a> 
    600                                        </div> 
     588            <xsl:variable name="id" select="id"/> 
     589            <xsl:variable name="subscriptionId" select="subscription/id"/> 
     590            <xsl:variable name="calPath" select="calendar/encodedPath"/> 
     591            <xsl:variable name="guid" select="guid"/> 
     592            <xsl:variable name="recurrenceId" select="recurrenceId"/> 
     593            <a href="{$privateCal}/addEventRef.do?subid={$subscriptionId}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}" title="Add event to MyCalendar" target="myCalendar"> 
     594              <img class="addref" src="{$resourcesRoot}/images/add2mycal-icon.gif" width="20" height="26" border="0" alt="Add event to MyCalendar"/> 
     595            add to my calendar</a> 
     596            <xsl:variable name="eventIcalName" select="concat($id,'.ics')"/> 
     597            <a href="{$export}&amp;subid={$subscriptionId}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}&amp;nocache=no&amp;skinName=ical&amp;contentType=text/calendar&amp;contentName={$eventIcalName}" title="Download event as ical - for Outlook, PDAs, iCal, and other desktop calendars"> 
     598              <img src="{$resourcesRoot}/images/std-ical_icon.gif" width="20" height="26" border="0" alt="Download this event"/> 
     599            download</a> 
     600          </div> 
    601601        </th> 
    602602      </tr> 
  • trunk/calendar3/deployment/webuser/uportal2/bedework-uportal2.tld

    r656 r659  
    1919--> 
    2020<taglib> 
    21 <tlibversion>1.2</tlibversion> 
    22 <jspversion>1.1</jspversion> 
    23 <shortname>html</shortname> 
    24 <uri>http://portals.apache.org/bridges/struts/tags-portlet</uri> 
    25 <tag> 
    26 <name>form</name> 
    27 <tagclass>ca.mun.portal.strutsbridge.taglib.CalFormTag</tagclass> 
    28 <bodycontent>JSP</bodycontent> 
    29 <attribute> 
    30 <name>action</name> 
    31 <required>true</required> 
    32 <rtexprvalue>true</rtexprvalue> 
    33 </attribute> 
    34 <attribute> 
    35 <name>acceptCharset</name> 
    36 <required>false</required> 
    37 <rtexprvalue>true</rtexprvalue> 
    38 </attribute> 
    39 <attribute> 
    40 <name>disabled</name> 
    41 <required>false</required> 
    42 <rtexprvalue>true</rtexprvalue> 
    43 </attribute> 
    44 <attribute> 
    45 <name>enctype</name> 
    46 <required>false</required> 
    47 <rtexprvalue>true</rtexprvalue> 
    48 </attribute> 
    49 <attribute> 
    50 <name>focus</name> 
    51 <required>false</required> 
    52 <rtexprvalue>true</rtexprvalue> 
    53 </attribute> 
    54 <attribute> 
    55 <name>focusIndex</name> 
    56 <required>false</required> 
    57 <rtexprvalue>true</rtexprvalue> 
    58 </attribute> 
    59 <attribute> 
    60 <name>method</name> 
    61 <required>false</required> 
    62 <rtexprvalue>true</rtexprvalue> 
    63 </attribute> 
    64 <attribute> 
    65 <name>onreset</name> 
    66 <required>false</required> 
    67 <rtexprvalue>true</rtexprvalue> 
    68 </attribute> 
    69 <attribute> 
    70 <name>onsubmit</name> 
    71 <required>false</required> 
    72 <rtexprvalue>true</rtexprvalue> 
    73 </attribute> 
    74 <attribute> 
    75 <name>readonly</name> 
    76 <required>false</required> 
    77 <rtexprvalue>true</rtexprvalue> 
    78 </attribute> 
    79 <attribute> 
    80 <name>scriptLanguage</name> 
    81 <required>false</required> 
    82 <rtexprvalue>true</rtexprvalue> 
    83 </attribute> 
    84 <attribute> 
    85 <name>style</name> 
    86 <required>false</required> 
    87 <rtexprvalue>true</rtexprvalue> 
    88 </attribute> 
    89 <attribute> 
    90 <name>styleClass</name> 
    91 <required>false</required> 
    92 <rtexprvalue>true</rtexprvalue> 
    93 </attribute> 
    94 <attribute> 
    95 <name>styleId</name> 
    96 <required>false</required> 
    97 <rtexprvalue>true</rtexprvalue> 
    98 </attribute> 
    99 <attribute> 
    100 <name>target</name> 
    101 <required>false</required> 
    102 <rtexprvalue>true</rtexprvalue> 
    103 </attribute> 
    104 </tag> 
    105 <tag> 
    106 <name>image</name> 
    107 <tagclass>org.apache.portals.bridges.struts.taglib.ImageTag</tagclass> 
    108 <attribute> 
    109 <name>accesskey</name> 
    110 <required>false</required> 
    111 <rtexprvalue>true</rtexprvalue> 
    112 </attribute> 
    113 <attribute> 
    114 <name>align</name> 
    115 <required>false</required> 
    116 <rtexprvalue>true</rtexprvalue> 
    117 </attribute> 
    118 <attribute> 
    119 <name>alt</name> 
    120 <required>false</required> 
    121 <rtexprvalue>true</rtexprvalue> 
    122 </attribute> 
    123 <attribute> 
    124 <name>altKey</name> 
    125 <required>false</required> 
    126 <rtexprvalue>true</rtexprvalue> 
    127 </attribute> 
    128 <attribute> 
    129 <name>border</name> 
    130 <required>false</required> 
    131 <rtexprvalue>true</rtexprvalue> 
    132 </attribute> 
    133 <attribute> 
    134 <name>bundle</name> 
    135 <required>false</required> 
    136 <rtexprvalue>true</rtexprvalue> 
    137 </attribute> 
    138 <attribute> 
    139 <name>disabled</name> 
    140 <required>false</required> 
    141 <rtexprvalue>true</rtexprvalue> 
    142 </attribute> 
    143 <attribute> 
    144 <name>indexed</name> 
    145 <required>false</required> 
    146 <rtexprvalue>true</rtexprvalue> 
    147 </attribute> 
    148 <attribute> 
    149 <name>locale</name> 
    150 <required>false</required> 
    151 <rtexprvalue>true</rtexprvalue> 
    152 </attribute> 
    153 <attribute> 
    154 <name>onblur</name> 
    155 <required>false</required> 
    156 <rtexprvalue>true</rtexprvalue> 
    157 </attribute> 
    158 <attribute> 
    159 <name>onchange</name> 
    160 <required>false</required> 
    161 <rtexprvalue>true</rtexprvalue> 
    162 </attribute> 
    163 <attribute> 
    164 <name>onclick</name> 
    165 <required>false</required> 
    166 <rtexprvalue>true</rtexprvalue> 
    167 </attribute> 
    168 <attribute> 
    169 <name>ondblclick</name> 
    170 <required>false</required> 
    171 <rtexprvalue>true</rtexprvalue> 
    172 </attribute> 
    173 <attribute> 
    174 <name>onfocus</name> 
    175 <required>false</required> 
    176 <rtexprvalue>true</rtexprvalue> 
    177 </attribute> 
    178 <attribute> 
    179 <name>onkeydown</name> 
    180 <required>false</required> 
    181 <rtexprvalue>true</rtexprvalue> 
    182 </attribute> 
    183 <attribute> 
    184 <name>onkeypress</name> 
    185 <required>false</required> 
    186 <rtexprvalue>true</rtexprvalue> 
    187 </attribute> 
    188 <attribute> 
    189 <name>onkeyup</name> 
    190 <required>false</required> 
    191 <rtexprvalue>true</rtexprvalue> 
    192 </attribute> 
    193 <attribute> 
    194 <name>onmousedown</name> 
    195 <required>false</required> 
    196 <rtexprvalue>true</rtexprvalue> 
    197 </attribute> 
    198 <attribute> 
    199 <name>onmousemove</name> 
    200 <required>false</required> 
    201 <rtexprvalue>true</rtexprvalue> 
    202 </attribute> 
    203 <attribute> 
    204 <name>onmouseout</name> 
    205 <required>false</required> 
    206 <rtexprvalue>true</rtexprvalue> 
    207 </attribute> 
    208 <attribute> 
    209 <name>onmouseover</name> 
    210 <required>false</required> 
    211 <rtexprvalue>true</rtexprvalue> 
    212 </attribute> 
    213 <attribute> 
    214 <name>onmouseup</name> 
    215 <required>false</required> 
    216 <rtexprvalue>true</rtexprvalue> 
    217 </attribute> 
    218 <attribute> 
    219 <name>page</name> 
    220 <required>false</required> 
    221 <rtexprvalue>true</rtexprvalue> 
    222 </attribute> 
    223 <attribute> 
    224 <name>pageKey</name> 
    225 <required>false</required> 
    226 <rtexprvalue>true</rtexprvalue> 
    227 </attribute> 
    228 <attribute> 
    229 <name>property</name> 
    230 <required>false</required> 
    231 <rtexprvalue>true</rtexprvalue> 
    232 </attribute> 
    233 <attribute> 
    234 <name>src</name> 
    235 <required>false</required> 
    236 <rtexprvalue>true</rtexprvalue> 
    237 </attribute> 
    238 <attribute> 
    239 <name>srcKey</name> 
    240 <required>false</required> 
    241 <rtexprvalue>true</rtexprvalue> 
    242 </attribute> 
    243 <attribute> 
    244 <name>style</name> 
    245 <required>false</required> 
    246 <rtexprvalue>true</rtexprvalue> 
    247 </attribute> 
    248 <attribute> 
    249 <name>styleClass</name> 
    250 <required>false</required> 
    251 <rtexprvalue>true</rtexprvalue> 
    252 </attribute> 
    253 <attribute> 
    254 <name>styleId</name> 
    255 <required>false</required> 
    256 <rtexprvalue>true</rtexprvalue> 
    257 </attribute> 
    258 <attribute> 
    259 <name>tabindex</name> 
    260 <required>false</required> 
    261 <rtexprvalue>true</rtexprvalue> 
    262 </attribute> 
    263 <attribute> 
    264 <name>title</name> 
    265 <required>false</required> 
    266 <rtexprvalue>true</rtexprvalue> 
    267 </attribute> 
    268 <attribute> 
    269 <name>titleKey</name> 
    270 <required>false</required> 
    271 <rtexprvalue>true</rtexprvalue> 
    272 </attribute> 
    273 <attribute> 
    274 <name>value</name> 
    275 <required>false</required> 
    276 <rtexprvalue>true</rtexprvalue> 
    277 </attribute> 
    278 </tag> 
    279 <tag> 
    280 <name>img</name> 
    281 <tagclass>org.apache.portals.bridges.struts.taglib.ImgTag</tagclass> 
    282 <bodycontent>empty</bodycontent> 
    283 <attribute> 
    284 <name>align</name> 
    285 <required>false</required> 
    286 <rtexprvalue>true</rtexprvalue> 
    287 </attribute> 
    288 <attribute> 
    289 <name>alt</name> 
    290 <required>false</required> 
    291 <rtexprvalue>true</rtexprvalue> 
    292 </attribute> 
    293 <attribute> 
    294 <name>altKey</name> 
    295 <required>false</required> 
    296 <rtexprvalue>true</rtexprvalue> 
    297 </attribute> 
    298 <attribute> 
    299 <name>border</name> 
    300 <required>false</required> 
    301 <rtexprvalue>true</rtexprvalue> 
    302 </attribute> 
    303 <attribute> 
    304 <name>bundle</name> 
    305 <required>false</required> 
    306 <rtexprvalue>true</rtexprvalue> 
    307 </attribute> 
    308 <attribute> 
    309 <name>contextRelative</name> 
    310 <required>false</required> 
    311 <rtexprvalue>true</rtexprvalue> 
    312 </attribute> 
    313 <attribute> 
    314 <name>height</name> 
    315 <required>false</required> 
    316 <rtexprvalue>true</rtexprvalue> 
    317 </attribute> 
    318 <attribute> 
    319 <name>hspace</name> 
    320 <required>false</required> 
    321 <rtexprvalue>true</rtexprvalue> 
    322 </attribute> 
    323 <attribute> 
    324 <name>imageName</name> 
    325 <required>false</required> 
    326 <rtexprvalue>true</rtexprvalue> 
    327 </attribute> 
    328 <attribute> 
    329 <name>ismap</name> 
    330 <required>false</required> 
    331 <rtexprvalue>true</rtexprvalue> 
    332 </attribute> 
    333 <attribute> 
    334 <name>locale</name> 
    335 <required>false</required> 
    336 <rtexprvalue>true</rtexprvalue> 
    337 </attribute> 
    338 <attribute> 
    339 <name>lowsrc</name> 
    340 <required>false</required> 
    341 <rtexprvalue>true</rtexprvalue> 
    342 </attribute> 
    343 <attribute> 
    344 <name>name</name> 
    345 <required>false</required> 
    346 <rtexprvalue>true</rtexprvalue> 
    347 </attribute> 
    348 <attribute> 
    349 <name>onclick</name> 
    350 <required>false</required> 
    351 <rtexprvalue>true</rtexprvalue> 
    352 </attribute> 
    353 <attribute> 
    354 <name>ondblclick</name> 
    355 <required>false</required> 
    356 <rtexprvalue>true</rtexprvalue> 
    357 </attribute> 
    358 <attribute> 
    359 <name>onkeydown</name> 
    360 <required>false</required> 
    361 <rtexprvalue>true</rtexprvalue> 
    362 </attribute> 
    363 <attribute> 
    364 <name>onkeypress</name> 
    365 <required>false</required> 
    366 <rtexprvalue>true</rtexprvalue> 
    367 </attribute> 
    368 <attribute> 
    369 <name>onkeyup</name> 
    370 <required>false</required> 
    371 <rtexprvalue>true</rtexprvalue> 
    372 </attribute> 
    373 <attribute> 
    374 <name>onmousedown</name> 
    375 <required>false</required> 
    376 <rtexprvalue>true</rtexprvalue> 
    377 </attribute> 
    378 <attribute> 
    379 <name>onmousemove</name> 
    380 <required>false</required> 
    381 <rtexprvalue>true</rtexprvalue> 
    382 </attribute> 
    383 <attribute> 
    384 <name>onmouseout</name> 
    385 <required>false</required> 
    386 <rtexprvalue>true</rtexprvalue> 
    387 </attribute> 
    388 <attribute> 
    389 <name>onmouseover</name> 
    390 <required>false</required> 
    391 <rtexprvalue>true</rtexprvalue> 
    392 </attribute> 
    393 <attribute> 
    394 <name>onmouseup</name> 
    395 <required>false</required> 
    396 <rtexprvalue>true</rtexprvalue> 
    397 </attribute> 
    398 <attribute> 
    399 <name>paramId</name> 
    400 <required>false</required> 
    401 <rtexprvalue>true</rtexprvalue> 
    402 </attribute> 
    403 <attribute> 
    404 <name>page</name> 
    405 <required>false</required> 
    406 <rtexprvalue>true</rtexprvalue> 
    407 </attribute> 
    408 <attribute> 
    409 <name>pageKey</name> 
    410 <required>false</required> 
    411 <rtexprvalue>true</rtexprvalue> 
    412 </attribute> 
    413 <attribute> 
    414 <name>action</name> 
    415 <required>false</required> 
    416 <rtexprvalue>true</rtexprvalue> 
    417 </attribute> 
    418 <attribute> 
    419 <name>module</name> 
    420 <required>false</required> 
    421 <rtexprvalue>true</rtexprvalue> 
    422 </attribute> 
    423 <attribute> 
    424 <name>paramName</name> 
    425 <required>false</required> 
    426 <rtexprvalue>true</rtexprvalue> 
    427 </attribute> 
    428 <attribute> 
    429 <name>paramProperty</name> 
    430 <required>false</required> 
    431 <rtexprvalue>true</rtexprvalue> 
    432 </attribute> 
    433 <attribute> 
    434 <name>paramScope</name> 
    435 <required>false</required> 
    436 <rtexprvalue>true</rtexprvalue> 
    437 </attribute> 
    438 <attribute> 
    439 <name>property</name> 
    440 <required>false</required> 
    441 <rtexprvalue>true</rtexprvalue> 
    442 </attribute> 
    443 <attribute> 
    444 <name>scope</name> 
    445 <required>false</required> 
    446 <rtexprvalue>true</rtexprvalue> 
    447 </attribute> 
    448 <attribute> 
    449 <name>src</name> 
    450 <required>false</required> 
    451 <rtexprvalue>true</rtexprvalue> 
    452 </attribute> 
    453 <attribute> 
    454 <name>srcKey</name> 
    455 <required>false</required> 
    456 <rtexprvalue>true</rtexprvalue> 
    457 </attribute> 
    458 <attribute> 
    459 <name>style</name> 
    460 <required>false</required> 
    461 <rtexprvalue>true</rtexprvalue> 
    462 </attribute> 
    463 <attribute> 
    464 <name>styleClass</name> 
    465 <required>false</required> 
    466 <rtexprvalue>true</rtexprvalue> 
    467 </attribute> 
    468 <attribute> 
    469 <name>styleId</name> 
    470 <required>false</required> 
    471 <rtexprvalue>true</rtexprvalue> 
    472 </attribute> 
    473 <attribute> 
    474 <name>title</name> 
    475 <required>false</required> 
    476 <rtexprvalue>true</rtexprvalue> 
    477 </attribute> 
    478 <attribute> 
    479 <name>titleKey</name> 
    480 <required>false</required> 
    481 <rtexprvalue>true</rtexprvalue> 
    482 </attribute> 
    483 <attribute> 
    484 <name>useLocalEncoding</name> 
    485 <required>false</required> 
    486 <rtexprvalue>true</rtexprvalue> 
    487 </attribute> 
    488 <attribute> 
    489 <name>usemap</name> 
    490 <required>false</required> 
    491 <rtexprvalue>true</rtexprvalue> 
    492 </attribute> 
    493 <attribute> 
    494 <name>vspace</name> 
    495 <required>false</required> 
    496 <rtexprvalue>true</rtexprvalue> 
    497 </attribute> 
    498 <attribute> 
    499 <name>width</name> 
    500 <required>false</required> 
    501 <rtexprvalue>true</rtexprvalue> 
    502 </attribute> 
    503 </tag> 
    504 <tag> 
    505 <name>link</name> 
    506 <tagclass>ca.mun.portal.strutsbridge.taglib.CalLinkTag</tagclass> 
    507 <attribute> 
    508 <name>actionURL</name> 
    509 <required>false</required> 
    510 <rtexprvalue>true</rtexprvalue> 
    511 </attribute> 
    512 <attribute> 
    513 <name>renderURL</name> 
    514 <required>false</required> 
    515 <rtexprvalue>true</rtexprvalue> 
    516 </attribute> 
    517 <attribute> 
    518 <name>resourceURL</name> 
    519 <required>false</required> 
    520 <rtexprvalue>true</rtexprvalue> 
    521 </attribute> 
    522 <attribute> 
    523 <name>accesskey</name> 
    524 <required>false</required> 
    525 <rtexprvalue>true</rtexprvalue> 
    526 </attribute> 
    527 <attribute> 
    528 <name>action</name> 
    529 <required>false</required> 
    530 <rtexprvalue>true</rtexprvalue> 
    531 </attribute> 
    532 <attribute> 
    533 <name>module</name> 
    534 <required>false</required> 
    535 <rtexprvalue>true</rtexprvalue> 
    536 </attribute> 
    537 <attribute> 
    538 <name>anchor</name> 
    539 <required>false</required> 
    540 <rtexprvalue>true</rtexprvalue> 
    541 </attribute> 
    542 <attribute> 
    543 <name>forward</name> 
    544 <required>false</required> 
    545 <rtexprvalue>true</rtexprvalue> 
    546 </attribute> 
    547 <attribute> 
    548 <name>href</name> 
    549 <required>false</required> 
    550 <rtexprvalue>true</rtexprvalue> 
    551 </attribute> 
    552 <attribute> 
    553 <name>indexed</name> 
    554 <required>false</required> 
    555 <rtexprvalue>true</rtexprvalue> 
    556 </attribute> 
    557 <attribute> 
    558 <name>indexId</name> 
    559 <required>false</required> 
    560 <rtexprvalue>true</rtexprvalue> 
    561 </attribute> 
    562 <attribute> 
    563 <name>bundle</name> 
    564 <required>false</required> 
    565 <rtexprvalue>true</rtexprvalue> 
    566 </attribute> 
    567 <attribute> 
    568 <name>linkName</name> 
    569 <required>false</required> 
    570 <rtexprvalue>true</rtexprvalue> 
    571 </attribute> 
    572 <attribute> 
    573 <name>name</name> 
    574 <required>false</required> 
    575 <rtexprvalue>true</rtexprvalue> 
    576 </attribute> 
    577 <attribute> 
    578 <name>onblur</name> 
    579 <required>false</required> 
    580 <rtexprvalue>true</rtexprvalue> 
    581 </attribute> 
    582 <attribute> 
    583 <name>onclick</name> 
    584 <required>false</required> 
    585 <rtexprvalue>true</rtexprvalue> 
    586 </attribute> 
    587 <attribute> 
    588 <name>ondblclick</name> 
    589 <required>false</required> 
    590 <rtexprvalue>true</rtexprvalue> 
    591 </attribute> 
    592 <attribute> 
    593 <name>onfocus</name> 
    594 <required>false</required> 
    595 <rtexprvalue>true</rtexprvalue> 
    596 </attribute> 
    597 <attribute> 
    598 <name>onkeydown</name> 
    599 <required>false</required> 
    600 <rtexprvalue>true</rtexprvalue> 
    601 </attribute> 
    602 <attribute> 
    603 <name>onkeypress</name> 
    604 <required>false</required> 
    605 <rtexprvalue>true</rtexprvalue> 
    606 </attribute> 
    607 <attribute> 
    608 <name>onkeyup</name> 
    609 <required>false</required> 
    610 <rtexprvalue>true</rtexprvalue> 
    611 </attribute> 
    612 <attribute> 
    613 <name>onmousedown</name> 
    614 <required>false</required> 
    615 <rtexprvalue>true</rtexprvalue> 
    616 </attribute> 
    617 <attribute> 
    618 <name>onmousemove</name> 
    619 <required>false</required> 
    620 <rtexprvalue>true</rtexprvalue> 
    621 </attribute> 
    622 <attribute> 
    623 <name>onmouseout</name> 
    624 <required>false</required> 
    625 <rtexprvalue>true</rtexprvalue> 
    626 </attribute> 
    627 <attribute> 
    628 <name>onmouseover</name> 
    629 <required>false</required> 
    630 <rtexprvalue>true</rtexprvalue> 
    631 </attribute> 
    632 <attribute> 
    633 <name>onmouseup</name> 
    634 <required>false</required> 
    635 <rtexprvalue>true</rtexprvalue> 
    636 </attribute> 
    637 <attribute> 
    638 <name>page</name> 
    639 <required>false</required> 
    640 <rtexprvalue>true</rtexprvalue> 
    641 </attribute> 
    642 <attribute> 
    643 <name>paramId</name> 
    644 <required>false</required> 
    645 <rtexprvalue>true</rtexprvalue> 
    646 </attribute> 
    647 <attribute> 
    648 <name>paramName</name> 
    649 <required>false</required> 
    650 <rtexprvalue>true</rtexprvalue> 
    651 </attribute> 
    652 <attribute> 
    653 <name>paramProperty</name> 
    654 <required>false</required> 
    655 <rtexprvalue>true</rtexprvalue> 
    656 </attribute> 
    657 <attribute> 
    658 <name>paramScope</name> 
    659 <required>false</required> 
    660 <rtexprvalue>true</rtexprvalue> 
    661 </attribute> 
    662 <attribute> 
    663 <name>property</name> 
    664 <required>false</required> 
    665 <rtexprvalue>true</rtexprvalue> 
    666 </attribute> 
    667 <attribute> 
    668 <name>scope</name> 
    669 <required>false</required> 
    670 <rtexprvalue>true</rtexprvalue> 
    671 </attribute> 
    672 <attribute> 
    673 <name>style</name> 
    674 <required>false</required> 
    675 <rtexprvalue>true</rtexprvalue> 
    676 </attribute> 
    677 <attribute> 
    678 <name>styleClass</name> 
    679 <required>false</required> 
    680 <rtexprvalue>true</rtexprvalue> 
    681 </attribute> 
    682 <attribute> 
    683 <name>styleId</name> 
    684 <required>false</required> 
    685 <rtexprvalue>true</rtexprvalue> 
    686 </attribute> 
    687 <attribute> 
    688 <name>tabindex</name> 
    689 <required>false</required> 
    690 <rtexprvalue>true</rtexprvalue> 
    691 </attribute> 
    692 <attribute> 
    693 <name>target</name> 
    694 <required>false</required> 
    695 <rtexprvalue>true</rtexprvalue> 
    696 </attribute> 
    697 <attribute> 
    698 <name>title</name> 
    699 <required>false</required> 
    700 <rtexprvalue>true</rtexprvalue> 
    701 </attribute> 
    702 <attribute> 
    703 <name>titleKey</name> 
    704 <required>false</required> 
    705 <rtexprvalue>true</rtexprvalue> 
    706 </attribute> 
    707 <attribute> 
    708 <name>transaction</name> 
    709 <required>false</required> 
    710 <rtexprvalue>true</rtexprvalue> 
    711 </attribute> 
    712 <attribute> 
    713 <name>useLocalEncoding</name> 
    714 <required>false</required> 
    715 <rtexprvalue>true</rtexprvalue> 
    716 </attribute> 
    717 </tag> 
    718 <tag> 
    719 <name>rewrite</name> 
    720 <tagclass>ca.mun.portal.strutsbridge.taglib.CalRewriteTag</tagclass> 
    721 <bodycontent>empty</bodycontent> 
    722 <attribute> 
    723 <name>actionURL</name> 
    724 <required>false</required> 
    725 <rtexprvalue>true</rtexprvalue> 
    726 </attribute> 
    727 <attribute> 
    728 <name>renderURL</name> 
    729 <required>false</required> 
    730 <rtexprvalue>true</rtexprvalue> 
    731 </attribute> 
    732 <attribute> 
    733 <name>resourceURL</name> 
    734 <required>false</required> 
    735 <rtexprvalue>true</rtexprvalue> 
    736 </attribute> 
    737 <attribute> 
    738 <name>action</name> 
    739 <required>false</required> 
    740 <rtexprvalue>true</rtexprvalue> 
    741 </attribute> 
    742 <attribute> 
    743 <name>module</name> 
    744 <required>false</required> 
    745 <rtexprvalue>true</rtexprvalue> 
    746 </attribute> 
    747 <attribute> 
    748 <name>anchor</name> 
    749 <required>false</required> 
    750 <rtexprvalue>true</rtexprvalue> 
    751 </attribute> 
    752 <attribute> 
    753 <name>forward</name> 
    754 <required>false</required> 
    755 <rtexprvalue>true</rtexprvalue> 
    756 </attribute> 
    757 <attribute> 
    758 <name>href</name> 
    759 <required>false</required> 
    760 <rtexprvalue>true</rtexprvalue> 
    761 </attribute> 
    762 <attribute> 
    763 <name>name</name> 
    764 <required>false</required> 
    765 <rtexprvalue>true</rtexprvalue> 
    766 </attribute> 
    767 <attribute> 
    768 <name>page</name> 
    769 <required>false</required> 
    770 <rtexprvalue>true</rtexprvalue> 
    771 </attribute> 
    772 <attribute> 
    773 <name>paramId</name> 
    774 <required>false</required> 
    775 <rtexprvalue>true</rtexprvalue> 
    776 </attribute> 
    777 <attribute> 
    778 <name>paramName</name> 
    779 <required>false</required> 
    780 <rtexprvalue>true</rtexprvalue> 
    781 </attribute> 
    782 <attribute> 
    783 <name>paramProperty</name> 
    784 <required>false</required> 
    785 <rtexprvalue>true</rtexprvalue> 
    786 </attribute> 
    787 <attribute> 
    788 <name>paramScope</name> 
    789 <required>false</required> 
    790 <rtexprvalue>true</rtexprvalue> 
    791 </attribute> 
    792 <attribute> 
    793 <name>property</name> 
    794 <required>false</required> 
    795 <rtexprvalue>true</rtexprvalue> 
    796 </attribute> 
    797 <attribute> 
    798 <name>scope</name> 
    799 <required>false</required> 
    800 <rtexprvalue>true</rtexprvalue> 
    801 </attribute> 
    802 <attribute> 
    803 <name>transaction</name> 
    804 <required>false</required> 
    805 <rtexprvalue>true</rtexprvalue> 
    806 </attribute> 
    807 <attribute> 
    808 <name>useLocalEncoding</name> 
    809 <required>false</required> 
    810 <rtexprvalue>true</rtexprvalue> 
    811 </attribute> 
    812 </tag> 
     21  <tlibversion>1.2</tlibversion> 
     22  <jspversion>1.1</jspversion> 
     23  <shortname>html</shortname> 
     24  <uri>http://portals.apache.org/bridges/struts/tags-portlet</uri> 
     25 
     26  <tag> 
     27    <name>form</name> 
     28    <tagclass>ca.mun.portal.strutsbridge.taglib.CalFormTag</tagclass> 
     29    <bodycontent>JSP</bodycontent> 
     30    <attribute> 
     31      <name>action</name> 
     32      <required>true</required> 
     33      <rtexprvalue>true</rtexprvalue> 
     34    </attribute> 
     35    <attribute> 
     36      <name>acceptCharset</name> 
     37      <required>false</required> 
     38      <rtexprvalue>true</rtexprvalue> 
     39    </attribute> 
     40    <attribute> 
     41      <name>disabled</name> 
     42      <required>false</required> 
     43      <rtexprvalue>true</rtexprvalue> 
     44    </attribute> 
     45    <attribute> 
     46      <name>enctype</name> 
     47      <required>false</required> 
     48      <rtexprvalue>true</rtexprvalue> 
     49    </attribute> 
     50    <attribute> 
     51      <name>focus</name> 
     52      <required>false</required> 
     53      <rtexprvalue>true</rtexprvalue> 
     54    </attribute> 
     55    <attribute> 
     56      <name>focusIndex</name> 
     57      <required>false</required> 
     58      <rtexprvalue>true</rtexprvalue> 
     59    </attribute> 
     60    <attribute> 
     61      <name>method</name> 
     62      <required>false</required> 
     63      <rtexprvalue>true</rtexprvalue> 
     64    </attribute> 
     65    <attribute> 
     66      <name>onreset</name> 
     67      <required>false</required> 
     68      <rtexprvalue>true</rtexprvalue> 
     69    </attribute> 
     70    <attribute> 
     71      <name>onsubmit</name> 
     72      <required>false</required> 
     73      <rtexprvalue>true</rtexprvalue> 
     74    </attribute> 
     75    <attribute> 
     76      <name>readonly</name> 
     77      <required>false</required> 
     78      <rtexprvalue>true</rtexprvalue> 
     79    </attribute> 
     80    <attribute> 
     81      <name>scriptLanguage</name> 
     82      <required>false</required> 
     83      <rtexprvalue>true</rtexprvalue> 
     84    </attribute> 
     85    <attribute> 
     86      <name>style</name> 
     87      <required>false</required> 
     88      <rtexprvalue>true</rtexprvalue> 
     89    </attribute> 
     90    <attribute> 
     91      <name>styleClass</name> 
     92      <required>false</required> 
     93      <rtexprvalue>true</rtexprvalue> 
     94    </attribute> 
     95    <attribute> 
     96      <name>styleId</name> 
     97      <required>false</required> 
     98      <rtexprvalue>true</rtexprvalue> 
     99    </attribute> 
     100    <attribute> 
     101      <name>target</name> 
     102      <required>false</required> 
     103      <rtexprvalue>true</rtexprvalue> 
     104    </attribute> 
     105  </tag> 
     106 
     107  <tag> 
     108    <name>image</name> 
     109    <tagclass>org.apache.portals.bridges.struts.taglib.ImageTag</tagclass> 
     110    <attribute> 
     111      <name>accesskey</name> 
     112      <required>false</required> 
     113      <rtexprvalue>true</rtexprvalue> 
     114    </attribute> 
     115    <attribute> 
     116      <name>align</name> 
     117      <required>false</required> 
     118      <rtexprvalue>true</rtexprvalue> 
     119    </attribute> 
     120    <attribute> 
     121      <name>alt</name> 
     122      <required>false</required> 
     123      <rtexprvalue>true</rtexprvalue> 
     124    </attribute> 
     125    <attribute> 
     126      <name>altKey</name> 
     127      <required>false</required> 
     128      <rtexprvalue>true</rtexprvalue> 
     129    </attribute> 
     130    <attribute> 
     131      <name>border</name> 
     132      <required>false</required> 
     133      <rtexprvalue>true</rtexprvalue> 
     134    </attribute> 
     135    <attribute> 
     136      <name>bundle</name> 
     137      <required>false</required> 
     138      <rtexprvalue>true</rtexprvalue> 
     139    </attribute> 
     140    <attribute> 
     141      <name>disabled</name> 
     142      <required>false</required> 
     143      <rtexprvalue>true</rtexprvalue> 
     144    </attribute> 
     145    <attribute> 
     146      <name>indexed</name> 
     147      <required>false</required> 
     148      <rtexprvalue>true</rtexprvalue> 
     149    </attribute> 
     150    <attribute> 
     151      <name>locale</name> 
     152      <required>false</required> 
     153      <rtexprvalue>true</rtexprvalue> 
     154    </attribute> 
     155    <attribute> 
     156      <name>onblur</name> 
     157      <required>false</required> 
     158      <rtexprvalue>true</rtexprvalue> 
     159    </attribute> 
     160    <attribute> 
     161      <name>onchange</name> 
     162      <required>false</required> 
     163      <rtexprvalue>true</rtexprvalue> 
     164    </attribute> 
     165    <attribute> 
     166      <name>onclick</name> 
     167      <required>false</required> 
     168      <rtexprvalue>true</rtexprvalue> 
     169    </attribute> 
     170    <attribute> 
     171      <name>ondblclick</name> 
     172      <required>false</required> 
     173      <rtexprvalue>true</rtexprvalue> 
     174    </attribute> 
     175    <attribute> 
     176      <name>onfocus</name> 
     177      <required>false</required> 
     178      <rtexprvalue>true</rtexprvalue> 
     179    </attribute> 
     180    <attribute> 
     181      <name>onkeydown</name> 
     182      <required>false</required> 
     183      <rtexprvalue>true</rtexprvalue> 
     184    </attribute> 
     185    <attribute> 
     186      <name>onkeypress</name> 
     187      <required>false</required> 
     188      <rtexprvalue>true</rtexprvalue> 
     189    </attribute> 
     190    <attribute> 
     191      <name>onkeyup</name> 
     192      <required>false</required> 
     193      <rtexprvalue>true</rtexprvalue> 
     194    </attribute> 
     195    <attribute> 
     196      <name>onmousedown</name> 
     197      <required>false</required> 
     198      <rtexprvalue>true</rtexprvalue> 
     199    </attribute> 
     200    <attribute> 
     201      <name>onmousemove</name> 
     202      <required>false</required> 
     203      <rtexprvalue>true</rtexprvalue> 
     204    </attribute> 
     205    <attribute> 
     206      <name>onmouseout</name> 
     207      <required>false</required> 
     208      <rtexprvalue>true</rtexprvalue> 
     209    </attribute> 
     210    <attribute> 
     211      <name>onmouseover</name> 
     212      <required>false</required> 
     213      <rtexprvalue>true</rtexprvalue> 
     214    </attribute> 
     215    <attribute> 
     216      <name>onmouseup</name> 
     217      <required>false</required> 
     218      <rtexprvalue>true</rtexprvalue> 
     219    </attribute> 
     220    <attribute> 
     221      <name>page</name> 
     222      <required>false</required> 
     223      <rtexprvalue>true</rtexprvalue> 
     224    </attribute> 
     225    <attribute> 
     226      <name>pageKey</name> 
     227      <required>false</required> 
     228      <rtexprvalue>true</rtexprvalue> 
     229    </attribute> 
     230    <attribute> 
     231      <name>property</name> 
     232      <required>false</required> 
     233      <rtexprvalue>true</rtexprvalue> 
     234    </attribute> 
     235    <attribute> 
     236      <name>src</name> 
     237      <required>false</required> 
     238      <rtexprvalue>true</rtexprvalue> 
     239    </attribute> 
     240    <attribute> 
     241      <name>srcKey</name> 
     242      <required>false</required> 
     243      <rtexprvalue>true</rtexprvalue> 
     244    </attribute> 
     245    <attribute> 
     246      <name>style</name> 
     247      <required>false</required> 
     248      <rtexprvalue>true</rtexprvalue> 
     249    </attribute> 
     250    <attribute> 
     251      <name>styleClass</name> 
     252      <required>false</required> 
     253      <rtexprvalue>true</rtexprvalue> 
     254    </attribute> 
     255    <attribute> 
     256      <name>styleId</name> 
     257      <required>false</required> 
     258      <rtexprvalue>true</rtexprvalue> 
     259    </attribute> 
     260    <attribute> 
     261      <name>tabindex</name> 
     262      <required>false</required> 
     263      <rtexprvalue>true</rtexprvalue> 
     264    </attribute> 
     265    <attribute> 
     266      <name>title</name> 
     267      <required>false</required> 
     268      <rtexprvalue>true</rtexprvalue> 
     269    </attribute> 
     270    <attribute> 
     271      <name>titleKey</name> 
     272      <required>false</required> 
     273      <rtexprvalue>true</rtexprvalue> 
     274    </attribute> 
     275    <attribute> 
     276      <name>value</name> 
     277      <required>false</required> 
     278      <rtexprvalue>true</rtexprvalue> 
     279    </attribute> 
     280  </tag> 
     281 
     282  <tag> 
     283    <name>img</name> 
     284    <tagclass>org.apache.portals.bridges.struts.taglib.ImgTag</tagclass> 
     285    <bodycontent>empty</bodycontent> 
     286    <attribute> 
     287    <name>align</name> 
     288    <required>false</required> 
     289    <rtexprvalue>true</rtexprvalue> 
     290    </attribute> 
     291    <attribute> 
     292    <name>alt</name> 
     293    <required>false</required> 
     294    <rtexprvalue>true</rtexprvalue> 
     295    </attribute> 
     296    <attribute> 
     297    <name>altKey</name> 
     298    <required>false</required> 
     299    <rtexprvalue>true</rtexprvalue> 
     300    </attribute> 
     301    <attribute> 
     302    <name>border</name> 
     303    <required>false</required> 
     304    <rtexprvalue>true</rtexprvalue> 
     305    </attribute> 
     306    <attribute> 
     307    <name>bundle</name> 
     308    <required>false</required> 
     309    <rtexprvalue>true</rtexprvalue> 
     310    </attribute> 
     311    <attribute> 
     312    <name>contextRelative</name> 
     313    <required>false</required> 
     314    <rtexprvalue>true</rtexprvalue> 
     315    </attribute> 
     316    <attribute> 
     317    <name>height</name> 
     318    <required>false</required> 
     319    <rtexprvalue>true</rtexprvalue> 
     320    </attribute> 
     321    <attribute> 
     322    <name>hspace</name> 
     323    <required>false</required> 
     324    <rtexprvalue>true</rtexprvalue> 
     325    </attribute> 
     326    <attribute> 
     327    <name>imageName</name> 
     328    <required>false</required> 
     329    <rtexprvalue>true</rtexprvalue> 
     330    </attribute> 
     331    <attribute> 
     332    <name>ismap</name> 
     333    <required>false</required> 
     334    <rtexprvalue>true</rtexprvalue> 
     335    </attribute> 
     336    <attribute> 
     337    <name>locale</name> 
     338    <required>false</required> 
     339    <rtexprvalue>true</rtexprvalue> 
     340    </attribute> 
     341    <attribute> 
     342    <name>lowsrc</name> 
     343    <required>false</required> 
     344    <rtexprvalue>true</rtexprvalue> 
     345    </attribute> 
     346    <attribute> 
     347    <name>name</name> 
     348    <required>false</required> 
     349    <rtexprvalue>true</rtexprvalue> 
     350    </attribute> 
     351    <attribute> 
     352    <name>onclick</name> 
     353    <required>false</required> 
     354    <rtexprvalue>true</rtexprvalue> 
     355    </attribute> 
     356    <attribute> 
     357    <name>ondblclick</name> 
     358    <required>false</required> 
     359    <rtexprvalue>true</rtexprvalue> 
     360    </attribute> 
     361    <attribute> 
     362    <name>onkeydown</name> 
     363    <required>false</required> 
     364    <rtexprvalue>true</rtexprvalue> 
     365    </attribute> 
     366    <attribute> 
     367    <name>onkeypress</name> 
     368    <required>false</required> 
     369    <rtexprvalue>true</rtexprvalue> 
     370    </attribute> 
     371    <attribute> 
     372    <name>onkeyup</name> 
     373    <required>false</required> 
     374    <rtexprvalue>true</rtexprvalue> 
     375    </attribute> 
     376    <attribute> 
     377    <name>onmousedown</name> 
     378    <required>false</required> 
     379    <rtexprvalue>true</rtexprvalue> 
     380    </attribute> 
     381    <attribute> 
     382    <name>onmousemove</name> 
     383    <required>false</required> 
     384    <rtexprvalue>true</rtexprvalue> 
     385    </attribute> 
     386    <attribute> 
     387    <name>onmouseout</name> 
     388    <required>false</required> 
     389    <rtexprvalue>true</rtexprvalue> 
     390    </attribute> 
     391    <attribute> 
     392    <name>onmouseover</name> 
     393    <required>false</required> 
     394    <rtexprvalue>true</rtexprvalue> 
     395    </attribute> 
     396    <attribute> 
     397    <name>onmouseup</name> 
     398    <required>false</required> 
     399    <rtexprvalue>true</rtexprvalue> 
     400    </attribute> 
     401    <attribute> 
     402    <name>paramId</name> 
     403    <required>false</required> 
     404    <rtexprvalue>true</rtexprvalue> 
     405    </attribute> 
     406    <attribute> 
     407    <name>page</name> 
     408    <required>false</required> 
     409    <rtexprvalue>true</rtexprvalue> 
     410    </attribute> 
     411    <attribute> 
     412    <name>pageKey</name> 
     413    <required>false</required> 
     414    <rtexprvalue>true</rtexprvalue> 
     415    </attribute> 
     416    <attribute> 
     417    <name>action</name> 
     418    <required>false</required> 
     419    <rtexprvalue>true</rtexprvalue> 
     420    </attribute> 
     421    <attribute> 
     422    <name>module</name> 
     423    <required>false</required> 
     424    <rtexprvalue>true</rtexprvalue> 
     425    </attribute> 
     426    <attribute> 
     427    <name>paramName</name> 
     428    <required>false</required> 
     429    <rtexprvalue>true</rtexprvalue> 
     430    </attribute> 
     431    <attribute> 
     432    <name>paramProperty</name> 
     433    <required>false</required> 
     434    <rtexprvalue>true</rtexprvalue> 
     435    </attribute> 
     436    <attribute> 
     437    <name>paramScope</name> 
     438    <required>false</required> 
     439    <rtexprvalue>true</rtexprvalue> 
     440    </attribute> 
     441    <attribute> 
     442    <name>property</name> 
     443    <required>false</required> 
     444    <rtexprvalue>true</rtexprvalue> 
     445    </attribute> 
     446    <attribute> 
     447    <name>scope</name> 
     448    <required>false</required> 
     449    <rtexprvalue>true</rtexprvalue> 
     450    </attribute> 
     451    <attribute> 
     452    <name>src</name> 
     453    <required>false</required> 
     454    <rtexprvalue>true</rtexprvalue> 
     455    </attribute> 
     456    <attribute> 
     457    <name>srcKey</name> 
     458    <required>false</required> 
     459    <rtexprvalue>true</rtexprvalue> 
     460    </attribute> 
     461    <attribute> 
     462    <name>style</name> 
     463    <required>false</required> 
     464    <rtexprvalue>true</rtexprvalue> 
     465    </attribute> 
     466    <attribute> 
     467    <name>styleClass</name> 
     468    <required>false</required> 
     469    <rtexprvalue>true</rtexprvalue> 
     470    </attribute> 
     471    <attribute> 
     472    <name>styleId</name> 
     473    <required>false</required> 
     474    <rtexprvalue>true</rtexprvalue> 
     475    </attribute> 
     476    <attribute> 
     477    <name>title</name> 
     478    <required>false</required> 
     479    <rtexprvalue>true</rtexprvalue> 
     480    </attribute> 
     481    <attribute> 
     482    <name>titleKey</name> 
     483    <required>false</required> 
     484    <rtexprvalue>true</rtexprvalue> 
     485    </attribute> 
     486    <attribute> 
     487    <name>useLocalEncoding</name> 
     488    <required>false</required> 
     489    <rtexprvalue>true</rtexprvalue> 
     490    </attribute> 
     491    <attribute> 
     492    <name>usemap</name> 
     493    <required>false</required> 
     494    <rtexprvalue>true</rtexprvalue> 
     495    </attribute> 
     496    <attribute> 
     497    <name>vspace</name> 
     498    <required>false</required> 
     499    <rtexprvalue>true</rtexprvalue> 
     500    </attribute> 
     501    <attribute> 
     502    <name>width</name> 
     503    <required>false</required> 
     504    <rtexprvalue>true</rtexprvalue> 
     505    </attribute> 
     506  </tag> 
     507 
     508  <tag> 
     509    <name>link</name> 
     510    <tagclass>ca.mun.portal.strutsbridge.taglib.CalLinkTag</tagclass> 
     511    <attribute> 
     512    <name>actionURL</name> 
     513    <required>false</required> 
     514    <rtexprvalue>true</rtexprvalue> 
     515    </attribute> 
     516    <attribute> 
     517    <name>renderURL</name> 
     518    <required>false</required> 
     519    <rtexprvalue>true</rtexprvalue> 
     520    </attribute> 
     521    <attribute> 
     522    <name>resourceURL</name> 
     523    <required>false</required> 
     524    <rtexprvalue>true</rtexprvalue> 
     525    </attribute> 
     526    <attribute> 
     527    <name>accesskey</name> 
     528    <required>false</required> 
     529    <rtexprvalue>true</rtexprvalue> 
     530    </attribute> 
     531    <attribute> 
     532    <name>action</name> 
     533    <required>false</required> 
     534    <rtexprvalue>true</rtexprvalue> 
     535    </attribute> 
     536    <attribute> 
     537    <name>module</name> 
     538    <required>false</required> 
     539    <rtexprvalue>true</rtexprvalue> 
     540    </attribute> 
     541    <attribute> 
     542    <name>anchor</name> 
     543    <required>false</required> 
     544    <rtexprvalue>true</rtexprvalue> 
     545    </attribute> 
     546    <attribute> 
     547    <name>forward</name> 
     548    <required>false</required> 
     549    <rtexprvalue>true</rtexprvalue> 
     550    </attribute> 
     551    <attribute> 
     552    <name>href</name> 
     553    <required>false</required> 
     554    <rtexprvalue>true</rtexprvalue> 
     555    </attribute> 
     556    <attribute> 
     557    <name>indexed</name> 
     558    <required>false</required> 
     559    <rtexprvalue>true</rtexprvalue> 
     560    </attribute> 
     561    <attribute> 
     562    <name>indexId</name> 
     563    <required>false</required> 
     564    <rtexprvalue>true</rtexprvalue> 
     565    </attribute> 
     566    <attribute> 
     567    <name>bundle</name> 
     568    <required>false</required> 
     569    <rtexprvalue>true</rtexprvalue> 
     570    </attribute> 
     571    <attribute> 
     572    <name>linkName</name> 
     573    <required>false</required> 
     574    <rtexprvalue>true</rtexprvalue> 
     575    </attribute> 
     576    <attribute> 
     577    <name>name</name> 
     578    <required>false</required> 
     579    <rtexprvalue>true</rtexprvalue> 
     580    </attribute> 
     581    <attribute> 
     582    <name>onblur</name> 
     583    <required>false</required> 
     584    <rtexprvalue>true</rtexprvalue> 
     585    </attribute> 
     586    <attribute> 
     587    <name>onclick</name> 
     588    <required>false</required> 
     589    <rtexprvalue>true</rtexprvalue> 
     590    </attribute> 
     591    <attribute> 
     592    <name>ondblclick</name> 
     593    <required>false</required> 
     594    <rtexprvalue>true</rtexprvalue> 
     595    </attribute> 
     596    <attribute> 
     597    <name>onfocus</name> 
     598    <required>false</required> 
     599    <rtexprvalue>true</rtexprvalue> 
     600    </attribute> 
     601    <attribute> 
     602    <name>onkeydown</name> 
     603    <required>false</required> 
     604    <rtexprvalue>true</rtexprvalue> 
     605    </attribute> 
     606    <attribute> 
     607    <name>onkeypress</name> 
     608    <required>false</required> 
     609    <rtexprvalue>true</rtexprvalue> 
     610    </attribute> 
     611    <attribute> 
     612    <name>onkeyup</name> 
     613    <required>false</required> 
     614    <rtexprvalue>true</rtexprvalue> 
     615    </attribute> 
     616    <attribute> 
     617    <name>onmousedown</name> 
     618    <required>false</required> 
     619    <rtexprvalue>true</rtexprvalue> 
     620    </attribute> 
     621    <attribute> 
     622    <name>onmousemove</name> 
     623    <required>false</required> 
     624    <rtexprvalue>true</rtexprvalue> 
     625    </attribute> 
     626    <attribute> 
     627    <name>onmouseout</name> 
     628    <required>false</required> 
     629    <rtexprvalue>true</rtexprvalue> 
     630    </attribute> 
     631    <attribute> 
     632    <name>onmouseover</name> 
     633    <required>false</required> 
     634    <rtexprvalue>true</rtexprvalue> 
     635    </attribute> 
     636    <attribute> 
     637    <name>onmouseup</name> 
     638    <required>false</required> 
     639    <rtexprvalue>true</rtexprvalue> 
     640    </attribute> 
     641    <attribute> 
     642    <name>page</name> 
     643    <required>false</required> 
     644    <rtexprvalue>true</rtexprvalue> 
     645    </attribute> 
     646    <attribute> 
     647    <name>paramId</name> 
     648    <required>false</required> 
     649    <rtexprvalue>true</rtexprvalue> 
     650    </attribute> 
     651    <attribute> 
     652    <name>paramName</name> 
     653    <required>false</required> 
     654    <rtexprvalue>true</rtexprvalue> 
     655    </attribute> 
     656    <attribute> 
     657    <name>paramProperty</name> 
     658    <required>false</required> 
     659    <rtexprvalue>true</rtexprvalue> 
     660    </attribute> 
     661    <attribute> 
     662    <name>paramScope</name> 
     663    <required>false</required> 
     664    <rtexprvalue>true</rtexprvalue> 
     665    </attribute> 
     666    <attribute> 
     667    <name>property</name> 
     668    <required>false</required> 
     669    <rtexprvalue>true</rtexprvalue> 
     670    </attribute> 
     671    <attribute> 
     672    <name>scope</name> 
     673    <required>false</required> 
     674    <rtexprvalue>true</rtexprvalue> 
     675    </attribute> 
     676    <attribute> 
     677    <name>style</name> 
     678    <required>false</required> 
     679    <rtexprvalue>true</rtexprvalue> 
     680    </attribute> 
     681    <attribute> 
     682    <name>styleClass</name> 
     683    <required>false</required> 
     684    <rtexprvalue>true</rtexprvalue> 
     685    </attribute> 
     686    <attribute> 
     687    <name>styleId</name> 
     688    <required>false</required> 
     689    <rtexprvalue>true</rtexprvalue> 
     690    </attribute> 
     691    <attribute> 
     692    <name>tabindex</name> 
     693    <required>false</required> 
     694    <rtexprvalue>true</rtexprvalue> 
     695    </attribute> 
     696    <attribute> 
     697    <name>target</name> 
     698    <required>false</required> 
     699    <rtexprvalue>true</rtexprvalue> 
     700    </attribute> 
     701    <attribute> 
     702    <name>title</name> 
     703    <required>false</required> 
     704    <rtexprvalue>true</rtexprvalue> 
     705    </attribute> 
     706    <attribute> 
     707    <name>titleKey</name> 
     708    <required>false</required> 
     709    <rtexprvalue>true</rtexprvalue> 
     710    </attribute> 
     711    <attribute> 
     712    <name>transaction</name> 
     713    <required>false</required> 
     714    <rtexprvalue>true</rtexprvalue> 
     715    </attribute> 
     716    <attribute> 
     717    <name>useLocalEncoding</name> 
     718    <required>false</required> 
     719    <rtexprvalue>true</rtexprvalue> 
     720    </attribute> 
     721  </tag> 
     722  <tag> 
     723    <name>rewrite</name> 
     724    <tagclass>ca.mun.portal.strutsbridge.taglib.CalRewriteTag</tagclass> 
     725    <bodycontent>empty</bodycontent> 
     726    <attribute> 
     727    <name>actionURL</name> 
     728    <required>false</required> 
     729    <rtexprvalue>true</rtexprvalue> 
     730    </attribute> 
     731    <attribute> 
     732    <name>renderURL</name> 
     733    <required>false</required> 
     734    <rtexprvalue>true</rtexprvalue> 
     735    </attribute> 
     736    <attribute> 
     737    <name>resourceURL</name> 
     738    <required>false</required> 
     739    <rtexprvalue>true</rtexprvalue> 
     740    </attribute> 
     741    <attribute> 
     742    <name>action</name> 
     743    <required>false</required> 
     744    <rtexprvalue>true</rtexprvalue> 
     745    </attribute> 
     746    <attribute> 
     747    <name>module</name> 
     748    <required>false</required> 
     749    <rtexprvalue>true</rtexprvalue> 
     750    </attribute> 
     751    <attribute> 
     752    <name>anchor</name> 
     753    <required>false</required> 
     754    <rtexprvalue>true</rtexprvalue> 
     755    </attribute> 
     756    <attribute> 
     757    <name>forward</name> 
     758    <required>false</required> 
     759    <rtexprvalue>true</rtexprvalue> 
     760    </attribute> 
     761    <attribute> 
     762    <name>href</name> 
     763    <required>false</required> 
     764    <rtexprvalue>true</rtexprvalue> 
     765    </attribute> 
     766    <attribute> 
     767    <name>name</name> 
     768    <required>false</required> 
     769    <rtexprvalue>true</rtexprvalue> 
     770    </attribute> 
     771    <attribute> 
     772    <name>page</name> 
     773    <required>false</required> 
     774    <rtexprvalue>true</rtexprvalue> 
     775    </attribute> 
     776    <attribute> 
     777    <name>paramId</name> 
     778    <required>false</required> 
     779    <rtexprvalue>true</rtexprvalue> 
     780    </attribute> 
     781    <attribute> 
     782    <name>paramName</name> 
     783    <required>false</required> 
     784    <rtexprvalue>true</rtexprvalue> 
     785    </attribute> 
     786    <attribute> 
     787    <name>paramProperty</name> 
     788    <required>false</required> 
     789    <rtexprvalue>true</rtexprvalue> 
     790    </attribute> 
     791    <attribute> 
     792    <name>paramScope</name> 
     793    <required>false</required> 
     794    <rtexprvalue>true</rtexprvalue> 
     795    </attribute> 
     796    <attribute> 
     797    <name>property</name> 
     798    <required>false</required> 
     799    <rtexprvalue>true</rtexprvalue> 
     800    </attribute> 
     801    <attribute> 
     802    <name>scope</name> 
     803    <required>false</required> 
     804    <rtexprvalue>true</rtexprvalue> 
     805    </attribute> 
     806    <attribute> 
     807    <name>transaction</name> 
     808    <required>false</required> 
     809    <rtexprvalue>true</rtexprvalue> 
     810    </attribute> 
     811    <attribute> 
     812    <name>useLocalEncoding</name> 
     813    <required>false</required> 
     814    <rtexprvalue>true</rtexprvalue> 
     815    </attribute> 
     816  </tag> 
    813817</taglib> 
  • trunk/calendar3/deployment/webuser/uportal2/resources/demoskins/default/default/default.xsl

    r655 r659  
    7979  <xsl:variable name="delEvent" select="/bedework/urlPrefixes/delEvent"/> 
    8080  <xsl:variable name="addEventRef" select="/bedework/urlPrefixes/addEventRef"/> 
    81   <xsl:variable name="export" select="/bedework/urlPrefixes/export"/> 
     81  <xsl:variable name="export" select="/bedework/urlPrefixes/export/a/@href"/> 
    8282  <xsl:variable name="mailEvent" select="/bedework/urlPrefixes/mailEvent"/> 
    8383  <xsl:variable name="showPage" select="/bedework/urlPrefixes/showPage"/> 
  • trunk/calendar3/deployment/webuser/webapp/resources/demoskins/default/default/default.xsl

    r655 r659  
    22<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
    33<xsl:output 
    4        method="html" 
    5        indent="yes" 
    6        media-type="text/html" 
    7        doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN" 
    8        doctype-system="http://www.w3.org/TR/html4/loose.dtd" 
    9        standalone="yes" 
     4  method="html" 
     5  indent="yes" 
     6  media-type="text/html" 
     7  doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN" 
     8  doctype-system="http://www.w3.org/TR/html4/loose.dtd" 
     9  standalone="yes" 
    1010/> 
    11        <!-- ========================================= --> 
    12        <!--       PERSONAL CALENDAR STYLESHEET        --> 
    13        <!-- ========================================= --> 
    14  
    15        <!-- ********************************************************************** 
    16                Copyright 2006 Rensselaer Polytechnic Institute. All worldwide rights reserved. 
    17  
    18                Redistribution and use of this distribution in source and binary forms, 
    19                with or without modification, are permitted provided that: 
    20                         The above copyright notice and this permission notice appear in all 
    21                                copies and supporting documentation; 
    22  
    23                                The name, identifiers, and trademarks of Rensselaer Polytechnic 
    24                                Institute are not used in advertising or publicity without the 
    25                                express prior written permission of Rensselaer Polytechnic Institute; 
    26  
    27                DISCLAIMER: The software is distributed" AS IS" without any express or 
    28                implied warranty, including but not limited to, any implied warranties 
    29                of merchantability or fitness for a particular purpose or any warrant)' 
    30                of non-infringement of any current or pending patent rights. The authors 
    31                of the software make no representations about the suitability of this 
    32                software for any particular purpose. The entire risk as to the quality 
    33                and performance of the software is with the user. Should the software 
    34                prove defective, the user assumes the cost of all necessary servicing, 
    35                repair or correction. In particular, neither Rensselaer Polytechnic 
    36                Institute, nor the authors of the software are liable for any indirect, 
    37                special, consequential, or incidental damages related to the software, 
    38                to the maximum extent the law permits. --> 
    39  
    40        <!-- DEFINE INCLUDES --> 
    41        <xsl:include href="errors.xsl"/> 
    42        <xsl:include href="messages.xsl"/> 
    43  
    44        <!-- DEFINE GLOBAL CONSTANTS --> 
    45        <!-- URL of html resources (images, css, other html); by default this is 
    46                         set to the application root, but for the personal calendar 
    47                         this should be changed to point to a 
    48                         web server over https to avoid mixed content errors, e.g., 
    49        <xsl:variable name="resourcesRoot">https://mywebserver.edu/myresourcesdir</xsl:variable> 
    50                --> 
    51        <xsl:variable name="resourcesRoot" select="/bedework/approot"/> 
    52  
    53        <!-- URL of the XSL template directory --> 
    54        <!-- The approot is an appropriate place to put 
    55                         included stylesheets and xml fragments. These are generally 
    56                         referenced relatively (like errors.xsl and messages.xsl above); 
    57                         this variable is here for your convenience if you choose to 
    58                         reference it explicitly.  It is not used in this stylesheet, however, 
    59                         and can be safely removed if you so choose. --> 
    60        <xsl:variable name="appRoot" select="/bedework/approot"/> 
    61  
    62        <!-- Properly encoded prefixes to the application actions; use these to build 
    63                         urls; allows the application to be used without cookies or within a portal. 
    64                         These urls are rewritten in header.jsp and simply passed through for use 
    65                         here. Every url includes a query string (either ?b=de or a real query 
    66                         string) so that all links constructed in this stylesheet may begin the 
    67                         query string with an ampersand. --> 
    68        <xsl:variable name="setup" select="/bedework/urlPrefixes/setup"/> 
    69        <xsl:variable name="setSelection" select="/bedework/urlPrefixes/setSelection"/> 
    70        <xsl:variable name="setViewPeriod" select="/bedework/urlPrefixes/setViewPeriod"/> 
    71        <xsl:variable name="eventView" select="/bedework/urlPrefixes/eventView"/> 
    72        <xsl:variable name="initEvent" select="/bedework/urlPrefixes/initEvent"/> 
    73        <xsl:variable name="addEvent" select="/bedework/urlPrefixes/addEvent"/> 
    74        <xsl:variable name="addEventUsingPage" select="/bedework/urlPrefixes/addEventUsingPage"/> 
    75        <xsl:variable name="event-addEventRefComplete" select="/bedework/urlPrefixes/event/addEventRefComplete/a/@href"/> 
    76        <xsl:variable name="event-setAccess" select="/bedework/urlPrefixes/event/setAccess/a/@href"/> 
    77        <xsl:variable name="event-selectCalForEvent" select="/bedework/urlPrefixes/event/selectCalForEvent/a/@href"/> 
    78        <xsl:variable name="editEvent" select="/bedework/urlPrefixes/editEvent"/> 
    79        <xsl:variable name="delEvent" select="/bedework/urlPrefixes/delEvent"/> 
    80        <xsl:variable name="addEventRef" select="/bedework/urlPrefixes/addEventRef"/> 
    81        <xsl:variable name="export" select="/bedework/urlPrefixes/export"/> 
    82        <xsl:variable name="mailEvent" select="/bedework/urlPrefixes/mailEvent"/> 
    83        <xsl:variable name="showPage" select="/bedework/urlPrefixes/showPage"/> 
    84        <xsl:variable name="manageLocations" select="/bedework/urlPrefixes/manageLocations"/> 
    85        <xsl:variable name="addLocation" select="/bedework/urlPrefixes/addLocation"/> 
    86        <xsl:variable name="editLocation" select="/bedework/urlPrefixes/editLocation"/> 
    87        <xsl:variable name="delLocation" select="/bedework/urlPrefixes/delLocation"/> 
    88        <xsl:variable name="initEventAlarm" select="/bedework/urlPrefixes/initEventAlarm"/> 
    89        <xsl:variable name="setAlarm" select="/bedework/urlPrefixes/setAlarm"/> 
    90        <xsl:variable name="initUpload" select="/bedework/urlPrefixes/initUpload"/> 
    91        <xsl:variable name="upload" select="/bedework/urlPrefixes/upload"/> 
    92        <xsl:variable name="freeBusy-fetch" select="/bedework/urlPrefixes/freeBusy/fetch/a/@href"/> 
    93        <xsl:variable name="freeBusy-setAccess" select="/bedework/urlPrefixes/freeBusy/setAccess/a/@href"/> 
    94        <!-- calendars --> 
    95        <xsl:variable name="fetchPublicCalendars" select="/bedework/urlPrefixes/fetchPublicCalendars"/> 
    96        <xsl:variable name="calendar-fetch" select="/bedework/urlPrefixes/calendar/fetch/a/@href"/><!-- used --> 
    97        <xsl:variable name="calendar-fetchDescriptions" select="/bedework/urlPrefixes/calendar/fetchDescriptions/a/@href"/><!-- used --> 
    98        <xsl:variable name="calendar-initAdd" select="/bedework/urlPrefixes/calendar/initAdd/a/@href"/><!-- used --> 
    99        <xsl:variable name="calendar-delete" select="/bedework/urlPrefixes/calendar/delete/a/@href"/> 
    100        <xsl:variable name="calendar-fetchForDisplay" select="/bedework/urlPrefixes/calendar/fetchForDisplay/a/@href"/> 
    101        <xsl:variable name="calendar-fetchForUpdate" select="/bedework/urlPrefixes/calendar/fetchForUpdate/a/@href"/><!-- used --> 
    102        <xsl:variable name="calendar-update" select="/bedework/urlPrefixes/calendar/update/a/@href"/><!-- used --> 
    103        <xsl:variable name="calendar-setAccess" select="/bedework/urlPrefixes/calendar/setAccess/a/@href"/> 
    104        <!-- subscriptions --> 
    105        <xsl:variable name="subscriptions-fetch" select="/bedework/urlPrefixes/subscriptions/fetch/a/@href"/> 
    106        <xsl:variable name="subscriptions-fetchForUpdate" select="/bedework/urlPrefixes/subscriptions/fetchForUpdate/a/@href"/> 
    107        <xsl:variable name="subscriptions-addSubByUri" select="/bedework/urlPrefixes/subscriptions/addSubByUri/a/@href"/> 
    108        <xsl:variable name="subscriptions-subscribeByUri" select="/bedework/urlPrefixes/subscriptions/subscribeByUri/a/@href"/> 
    109        <xsl:variable name="subscriptions-initAdd" select="/bedework/urlPrefixes/subscriptions/initAdd/a/@href"/> 
    110        <xsl:variable name="subscriptions-subscribe" select="/bedework/urlPrefixes/subscriptions/subscribe/a/@href"/> 
    111        <!-- preferences --> 
    112        <xsl:variable name="prefs-fetchForUpdate" select="/bedework/urlPrefixes/prefs/fetchForUpdate/a/@href"/> 
    113        <xsl:variable name="prefs-update" select="/bedework/urlPrefixes/prefs/update/a/@href"/> 
    114  
    115        <!-- URL of the web application - includes web context 
    116        <xsl:variable name="urlPrefix" select="/bedework/urlprefix"/> --> 
    117  
    118        <!-- Other generally useful global variables --> 
    119        <xsl:variable name="confId" select="/bedework/confirmationid"/> 
    120        <xsl:variable name="prevdate" select="/bedework/previousdate"/> 
    121        <xsl:variable name="nextdate" select="/bedework/nextdate"/> 
    122        <xsl:variable name="curdate" select="/bedework/currentdate/date"/> 
    123        <xsl:variable name="skin">default</xsl:variable> 
    124        <xsl:variable name="publicCal">/cal</xsl:variable> 
     11  <!-- ========================================= --> 
     12  <!--       PERSONAL CALENDAR STYLESHEET        --> 
     13  <!-- ========================================= --> 
     14 
     15  <!-- ********************************************************************** 
     16    Copyright 2006 Rensselaer Polytechnic Institute. All worldwide rights reserved. 
     17 
     18    Redistribution and use of this distribution in source and binary forms, 
     19    with or without modification, are permitted provided that: 
     20      The above copyright notice and this permission notice appear in all 
     21        copies and supporting documentation; 
     22 
     23        The name, identifiers, and trademarks of Rensselaer Polytechnic 
     24        Institute are not used in advertising or publicity without the 
     25        express prior written permission of Rensselaer Polytechnic Institute; 
     26 
     27    DISCLAIMER: The software is distributed" AS IS" without any express or 
     28    implied warranty, including but not limited to, any implied warranties 
     29    of merchantability or fitness for a particular purpose or any warrant)' 
     30    of non-infringement of any current or pending patent rights. The authors 
     31    of the software make no representations about the suitability of this 
     32    software for any particular purpose. The entire risk as to the quality 
     33    and performance of the software is with the user. Should the software 
     34    prove defective, the user assumes the cost of all necessary servicing, 
     35    repair or correction. In particular, neither Rensselaer Polytechnic 
     36    Institute, nor the authors of the software are liable for any indirect, 
     37    special, consequential, or incidental damages related to the software, 
     38    to the maximum extent the law permits. --> 
     39 
     40  <!-- DEFINE INCLUDES --> 
     41  <xsl:include href="errors.xsl"/> 
     42  <xsl:include href="messages.xsl"/> 
     43 
     44  <!-- DEFINE GLOBAL CONSTANTS --> 
     45  <!-- URL of html resources (images, css, other html); by default this is 
     46      set to the application root, but for the personal calendar 
     47      this should be changed to point to a 
     48      web server over https to avoid mixed content errors, e.g., 
     49  <xsl:variable name="resourcesRoot">https://mywebserver.edu/myresourcesdir</xsl:variable> 
     50    --> 
     51  <xsl:variable name="resourcesRoot" select="/bedework/approot"/> 
     52 
     53  <!-- URL of the XSL template directory --> 
     54  <!-- The approot is an appropriate place to put 
     55      included stylesheets and xml fragments. These are generally 
     56      referenced relatively (like errors.xsl and messages.xsl above); 
     57      this variable is here for your convenience if you choose to 
     58      reference it explicitly.  It is not used in this stylesheet, however, 
     59      and can be safely removed if you so choose. --> 
     60  <xsl:variable name="appRoot" select="/bedework/approot"/> 
     61 
     62  <!-- Properly encoded prefixes to the application actions; use these to build 
     63      urls; allows the application to be used without cookies or within a portal. 
     64      These urls are rewritten in header.jsp and simply passed through for use 
     65      here. Every url includes a query string (either ?b=de or a real query 
     66      string) so that all links constructed in this stylesheet may begin the 
     67      query string with an ampersand. --> 
     68  <xsl:variable name="setup" select="/bedework/urlPrefixes/setup"/> 
     69  <xsl:variable name="setSelection" select="/bedework/urlPrefixes/setSelection"/> 
     70  <xsl:variable name="setViewPeriod" select="/bedework/urlPrefixes/setViewPeriod"/> 
     71  <xsl:variable name="eventView" select="/bedework/urlPrefixes/eventView"/> 
     72  <xsl:variable name="initEvent" select="/bedework/urlPrefixes/initEvent"/> 
     73  <xsl:variable name="addEvent" select="/bedework/urlPrefixes/addEvent"/> 
     74  <xsl:variable name="addEventUsingPage" select="/bedework/urlPrefixes/addEventUsingPage"/> 
     75  <xsl:variable name="event-addEventRefComplete" select="/bedework/urlPrefixes/event/addEventRefComplete/a/@href"/> 
     76  <xsl:variable name="event-setAccess" select="/bedework/urlPrefixes/event/setAccess/a/@href"/> 
     77  <xsl:variable name="event-selectCalForEvent" select="/bedework/urlPrefixes/event/selectCalForEvent/a/@href"/> 
     78  <xsl:variable name="editEvent" select="/bedework/urlPrefixes/editEvent"/> 
     79  <xsl:variable name="delEvent" select="/bedework/urlPrefixes/delEvent"/> 
     80  <xsl:variable name="addEventRef" select="/bedework/urlPrefixes/addEventRef"/> 
     81  <xsl:variable name="export" select="/bedework/urlPrefixes/export/a/@href"/> 
     82  <xsl:variable name="mailEvent" select="/bedework/urlPrefixes/mailEvent"/> 
     83  <xsl:variable name="showPage" select="/bedework/urlPrefixes/showPage"/> 
     84  <xsl:variable name="manageLocations" select="/bedework/urlPrefixes/manageLocations"/> 
     85  <xsl:variable name="addLocation" select="/bedework/urlPrefixes/addLocation"/> 
     86  <xsl:variable name="editLocation" select="/bedework/urlPrefixes/editLocation"/> 
     87  <xsl:variable name="delLocation" select="/bedework/urlPrefixes/delLocation"/> 
     88  <xsl:variable name="initEventAlarm" select="/bedework/urlPrefixes/initEventAlarm"/> 
     89  <xsl:variable name="setAlarm" select="/bedework/urlPrefixes/setAlarm"/> 
     90  <xsl:variable name="initUpload" select="/bedework/urlPrefixes/initUpload"/> 
     91  <xsl:variable name="upload" select="/bedework/urlPrefixes/upload"/> 
     92  <xsl:variable name="freeBusy-fetch" select="/bedework/urlPrefixes/freeBusy/fetch/a/@href"/> 
     93  <xsl:variable name="freeBusy-setAccess" select="/bedework/urlPrefixes/freeBusy/setAccess/a/@href"/> 
     94  <!-- calendars --> 
     95  <xsl:variable name="fetchPublicCalendars" select="/bedework/urlPrefixes/fetchPublicCalendars"/> 
     96  <xsl:variable name="calendar-fetch" select="/bedework/urlPrefixes/calendar/fetch/a/@href"/><!-- used --> 
     97  <xsl:variable name="calendar-fetchDescriptions" select="/bedework/urlPrefixes/calendar/fetchDescriptions/a/@href"/><!-- used --> 
     98  <xsl:variable name="calendar-initAdd" select="/bedework/urlPrefixes/calendar/initAdd/a/@href"/><!-- used --> 
     99  <xsl:variable name="calendar-delete" select="/bedework/urlPrefixes/calendar/delete/a/@href"/> 
     100  <xsl:variable name="calendar-fetchForDisplay" select="/bedework/urlPrefixes/calendar/fetchForDisplay/a/@href"/> 
     101  <xsl:variable name="calendar-fetchForUpdate" select="/bedework/urlPrefixes/calendar/fetchForUpdate/a/@href"/><!-- used --> 
     102  <xsl:variable name="calendar-update" select="/bedework/urlPrefixes/calendar/update/a/@href"/><!-- used --> 
     103  <xsl:variable name="calendar-setAccess" select="/bedework/urlPrefixes/calendar/setAccess/a/@href"/> 
     104  <!-- subscriptions --> 
     105  <xsl:variable name="subscriptions-fetch" select="/bedework/urlPrefixes/subscriptions/fetch/a/@href"/> 
     106  <xsl:variable name="subscriptions-fetchForUpdate" select="/bedework/urlPrefixes/subscriptions/fetchForUpdate/a/@href"/> 
     107  <xsl:variable name="subscriptions-addSubByUri" select="/bedework/urlPrefixes/subscriptions/addSubByUri/a/@href"/> 
     108  <xsl:variable name="subscriptions-subscribeByUri" select="/bedework/urlPrefixes/subscriptions/subscribeByUri/a/@href"/> 
     109  <xsl:variable name="subscriptions-initAdd" select="/bedework/urlPrefixes/subscriptions/initAdd/a/@href"/> 
     110  <xsl:variable name="subscriptions-subscribe" select="/bedework/urlPrefixes/subscriptions/subscribe/a/@href"/> 
     111  <!-- preferences --> 
     112  <xsl:variable name="prefs-fetchForUpdate" select="/bedework/urlPrefixes/prefs/fetchForUpdate/a/@href"/> 
     113  <xsl:variable name="prefs-update" select="/bedework/urlPrefixes/prefs/update/a/@href"/> 
     114 
     115  <!-- URL of the web application - includes web context 
     116  <xsl:variable name="urlPrefix" select="/bedework/urlprefix"/> --> 
     117 
     118  <!-- Other generally useful global variables --> 
     119  <xsl:variable name="confId" select="/bedework/confirmationid"/> 
     120  <xsl:variable name="prevdate" select="/bedework/previousdate"/> 
     121  <xsl:variable name="nextdate" select="/bedework/nextdate"/> 
     122  <xsl:variable name="curdate" select="/bedework/currentdate/date"/> 
     123  <xsl:variable name="skin">default</xsl:variable> 
     124  <xsl:variable name="publicCal">/cal</xsl:variable> 
    125125 
    126126 <!-- BEGIN MAIN TEMPLATE --> 
    127        <xsl:template match="/"> 
    128                <html lang="en"> 
    129                        <head> 
    130                                <xsl:call-template name="headSection"/> 
    131                        </head> 
    132                        <body> 
    133                        <xsl:choose> 
    134                                <xsl:when test="/bedework/page='selectCalForEvent'"> 
    135                                        <xsl:call-template name="selectCalForEvent"/> 
    136                                </xsl:when> 
    137                                <xsl:otherwise> 
    138                                                <xsl:call-template name="headBar"/> 
    139                                                <xsl:if test="/bedework/message"> 
    140                                                        <div id="messages"> 
    141                                                                <xsl:apply-templates select="/bedework/message"/> 
    142                                                        </div> 
    143                                                </xsl:if> 
    144                                                <xsl:if test="/bedework/error"> 
    145                                                        <div id="errors"> 
    146                                                                <xsl:apply-templates select="/bedework/error"/> 
    147                                                        </div> 
    148                                                </xsl:if> 
    149                                                <table id="bodyBlock" cellspacing="0"> 
    150                                                        <tr> 
    151                                                                <xsl:choose> 
    152                                                                        <xsl:when test="/bedework/appvar[key='sidebar']/value='closed'"> 
    153                                                                                <td id="sideBarClosed"> 
    154                                                                                        <img src="{$resourcesRoot}/resources/spacer.gif" width="1" height="1" border="0" alt="*"/> 
    155                                                                                </td> 
    156                                                                        </xsl:when> 
    157                                                                        <xsl:otherwise> 
    158                                                                                <td id="sideBar"> 
    159                                                                                        <xsl:call-template name="sideBar"/> 
    160                                                                                </td> 
    161                                                                        </xsl:otherwise> 
    162                                                                </xsl:choose> 
    163                                                                <td id="bodyContent"> 
    164                                                                        <xsl:call-template name="tabs"/> 
    165                                                                        <xsl:call-template name="navigation"/> 
    166                                                                        <xsl:choose> 
    167                                                                                <xsl:when test="/bedework/page='event'"> 
    168                                                                                        <!-- show an event --> 
    169                                                                                        <xsl:apply-templates select="/bedework/event"/> 
    170                                                                                </xsl:when> 
    171                                                                                <xsl:when test="/bedework/page='addEvent'"> 
    172                                                                                        <xsl:call-template name="addEvent"/> 
    173                                                                                </xsl:when> 
    174                                                                                <xsl:when test="/bedework/page='addEventRef'"> 
    175                                                                                        <xsl:apply-templates select="/bedework/event" mode="addEventRef"/> 
    176                                                                                </xsl:when> 
    177                                                                                <xsl:when test="/bedework/page='editEvent'"> 
    178                                                                                        <!-- edit an event --> 
    179                                                                                        <xsl:apply-templates select="/bedework/formElements" mode="editEvent"/> 
    180                                                                                </xsl:when> 
    181                                                                                <xsl:when test="/bedework/page='alarmOptions'"> 
    182                                                                                        <xsl:call-template name="alarmOptions" /> 
    183                                                                                </xsl:when> 
    184                                                                                <xsl:when test="/bedework/page='upload'"> 
    185                                                                                        <xsl:call-template name="upload" /> 
    186                                                                                </xsl:when> 
    187                                                                                <xsl:when test="/bedework/page='manageLocations'"> 
    188                                                                                        <xsl:call-template name="manageLocations" /> 
    189                                                                                </xsl:when> 
    190                                                                                <xsl:when test="/bedework/page='editLocation'"> 
    191                                                                                        <xsl:apply-templates select="/bedework/formElements" mode="editLocation"/> 
    192                                                                                </xsl:when> 
    193                                                                                <xsl:when test="/bedework/page='subscriptions' or 
    194                                                                                                                                                /bedework/page='modSubscription' or 
    195                                                                                                                                                /bedework/page='addSubByUri'"> 
    196                                                                                        <xsl:apply-templates select="/bedework/subscriptions"/> 
    197                                                                                </xsl:when> 
    198                                                                                <xsl:when test="/bedework/page='calendarList' or 
    199                                                                                                                                                /bedework/page='calendarDescriptions' or 
    200                                                                                                                                                /bedework/page='displayCalendar' or 
    201                                                                                                                                                /bedework/page='modCalendar' or 
    202                                                                                                                                                /bedework/page='deleteCalendarConfirm' or 
    203                                                                                                                                                /bedework/page='calendarReferenced'"> 
    204                                                                                        <xsl:apply-templates select="/bedework/calendars"/> 
    205                                                                                </xsl:when> 
    206                                                                                <xsl:when test="/bedework/page='freeBusy'"> 
    207                                                                                        <xsl:call-template name="utilBar"/> 
    208                                                                                        <xsl:apply-templates select="/bedework/freebusy"/> 
    209                                                                                </xsl:when> 
    210                                                                                <xsl:when test="/bedework/page='modPrefs'"> 
    211                                                                                        <xsl:apply-templates select="/bedework/prefs"/> 
    212                                                                                </xsl:when> 
    213                                                                                <xsl:when test="/bedework/page='other'"> 
    214                                                                                        <!-- show an arbitrary page --> 
    215                                                                                        <xsl:call-template name="selectPage"/> 
    216                                                                                </xsl:when> 
    217                                                                                <xsl:otherwise> 
    218                                                                                        <!-- otherwise, show the eventsCalendar --> 
    219                                                                                        <xsl:call-template name="utilBar"/> 
    220                                                                                        <!-- main eventCalendar content --> 
    221                                                                                        <xsl:choose> 
    222                                                                                                <xsl:when test="/bedework/periodname='Day'"> 
    223                                                                                                        <xsl:call-template name="listView"/> 
    224                                                                                                </xsl:when> 
    225                                                                                                <xsl:when test="/bedework/periodname='Week' or /bedework/periodname=''"> 
    226                                                                                                        <xsl:choose> 
    227                                                                                                                <xsl:when test="/bedework/appvar[key='weekViewMode']/value='list'"> 
    228                                                                                                                        <xsl:call-template name="listView"/> 
    229                                                                                                                </xsl:when> 
    230                                                                                                                <xsl:otherwise> 
    231                                                                                                                        <xsl:call-template name="weekView"/> 
    232                                                                                                                </xsl:otherwise> 
    233                                                                                                        </xsl:choose> 
    234                                                                                                </xsl:when> 
    235                                                                                                <xsl:when test="/bedework/periodname='Month'"> 
    236                                                                                                        <xsl:choose> 
    237                                                                                                                <xsl:when test="/bedework/appvar[key='monthViewMode']/value='list'"> 
    238                                                                                                                        <xsl:call-template name="listView"/> 
    239                                                                                                                </xsl:when> 
    240                                                                                                                <xsl:otherwise> 
    241                                                                                                                        <xsl:call-template name="monthView"/> 
    242                                                                                                                </xsl:otherwise> 
    243                                                                                                        </xsl:choose> 
    244                                                                                                </xsl:when> 
    245                                                                                                <xsl:otherwise> 
    246                                                                                                        <xsl:call-template name="yearView"/> 
    247                                                                                                </xsl:otherwise> 
    248                                                                                        </xsl:choose> 
    249                                                                                </xsl:otherwise> 
    250                                                                        </xsl:choose> 
    251                                                                </td> 
    252                                                        </tr> 
    253                                                </table> 
    254                                                <!-- footer --> 
    255                                                <xsl:call-template name="footer"/> 
    256                                        </xsl:otherwise> 
    257                                </xsl:choose> 
    258                        </body> 
    259                </html> 
    260        </xsl:template> 
    261  
    262        <!--==== HEAD SECTION  ====--> 
    263  
    264        <xsl:template name="headSection"> 
    265                <title>Bedework: Personal Calendar Client</title> 
    266                <meta name="robots" content="noindex,nofollow"/> 
    267                <link rel="stylesheet" href="{$resourcesRoot}/default/default/default.css"/> 
    268                <link rel="stylesheet" href="{$resourcesRoot}/default/default/subColors.css"/> 
    269                <link rel="stylesheet" type="text/css" media="print" href="{$resourcesRoot}/default/default/print.css" /> 
    270                <link rel="icon" type="image/ico" href="{$resourcesRoot}/resources/bedework.ico" /> 
    271                <xsl:if test="/bedework/page='addEvent' or 
    272                                                                        /bedework/page='addEventRef' or 
    273                                                                        /bedework/page='editEvent' or 
    274                                                                        /bedework/page='selectCalForEvent' or 
    275                                                                        /bedework/page='upload' or 
    276                                                                        /bedework/page='addSubByUri' or 
    277                                                                        /bedework/page='modPrefs'"> 
    278                        <script type="text/javascript" src="{$resourcesRoot}/resources/includes.js"></script> 
    279                </xsl:if> 
    280                <xsl:if test="/bedework/page='addEvent' or 
    281                                                                        /bedework/page='editEvent'"> 
    282                        <script type="text/javascript" src="{$resourcesRoot}/resources/bwClock.js"></script> 
    283                        <link rel="stylesheet" href="{$resourcesRoot}/resources/bwClock.css"/> 
    284                        <script type="text/javascript" src="{$resourcesRoot}/resources/dynCalendarWidget.js"></script> 
    285                        <link rel="stylesheet" href="{$resourcesRoot}/resources/dynCalendarWidget.css"/> 
    286                        <script type="text/javascript" src="{$resourcesRoot}/resources/browserSniffer.js"></script> 
    287                </xsl:if> 
    288        </xsl:template> 
    289  
    290        <!--==== HEADER TEMPLATES and NAVIGATION  ====--> 
    291  
    292        <xsl:template name="headBar"> 
    293                <table width="100%" border="0" cellpadding="0" cellspacing="0" id="logoTable"> 
    294                        <tr> 
    295                                <td colspan="3" id="logoCell"><a href="http://www.bedework.org/"><img src="{$resourcesRoot}/resources/bedeworkLogo.gif" width="292" height="75" border="0" alt="Bedework"/></a></td> 
    296                                <td colspan="2" id="schoolLinksCell"> 
    297                                        <h2>Personal Calendar</h2> 
    298                                        <a href="{$publicCal}">Public Calendar</a> | 
    299                                        <a href="http://www.yourschoolhere.edu">School Home</a> | 
    300                                        <a href="http://www.bedework.org/">Other Link</a> | 
    301                                        <a href="http://helpdesk.rpi.edu/update.do?catcenterkey=51"> 
    302                                                Example Calendar Help 
    303                                        </a> 
    304                                </td> 
    305                        </tr> 
    306                </table> 
    307                <table id="curDateRangeTable"  cellspacing="0"> 
    308                        <tr> 
    309                                <td class="sideBarOpenCloseIcon"> 
    310                                        <xsl:choose> 
    311                                                <xsl:when test="/bedework/appvar[key='sidebar']/value='closed'"> 
    312                                                        <a href="?setappvar=sidebar(opened)"> 
    313                                                                <img alt="open sidebar" src="{$resourcesRoot}/resources/sideBarArrowOpen.gif" width="21" height="16" border="0" align="left"/> 
    314                                                        </a> 
    315                                                </xsl:when> 
    316                                                <xsl:otherwise> 
    317                                                        <a href="?setappvar=sidebar(closed)"> 
    318                                                                <img alt="close sidebar" src="{$resourcesRoot}/resources/sideBarArrowClose.gif" width="21" height="16" border="0" align="left"/> 
    319                                                        </a> 
    320                                                </xsl:otherwise> 
    321                                        </xsl:choose> 
    322                                </td> 
    323                                <td class="date"> 
    324                                        <xsl:value-of select="/bedework/firstday/longdate"/> 
    325                                        <xsl:if test="/bedework/periodname!='Day'"> 
    326                                                
    327                                                <xsl:value-of select="/bedework/lastday/longdate"/> 
    328                                        </xsl:if> 
    329                                </td> 
    330                                <td class="rssPrint"> 
    331                                        <a href="javascript:window.print()" title="print this view"> 
    332                                                <img alt="print this view" src="{$resourcesRoot}/resources/std-print-icon.gif" width="20" height="14" border="0"/> print 
    333                                        </a> 
    334                                        <a class="rss" href="{$setSelection}&amp;setappvar=summaryMode(details)&amp;skinName=rss" title="RSS feed">RSS</a> 
    335                                </td> 
    336                        </tr> 
    337                </table> 
    338        </xsl:template> 
    339  
    340        <xsl:template name="sideBar"> 
    341                <h3> 
    342                        <!--<img alt="manage views" src="{$resourcesRoot}/resources/glassFill-icon-menuButton.gif" width="12" height="11" border="0"/>--> 
    343                        views 
    344                </h3> 
    345                <ul id="myViews"> 
    346                        <xsl:choose> 
    347                                <xsl:when test="/bedework/views/view"> 
    348                                        <xsl:for-each select="/bedework/views/view"> 
    349                                                <xsl:variable name="viewName" select="name"/> 
    350                                                <xsl:choose> 
    351                                                        <xsl:when test="/bedework/selectionState/selectionType = 'view' 
    352                                                                                                                        and name=/bedework/selectionState/view/name"> 
    353                                                                <li class="selected"><a href="{$setSelection}&amp;viewName={$viewName}"><xsl:value-of select="name"/></a></li> 
    354                                                        </xsl:when> 
    355                                                        <xsl:otherwise> 
    356                                                                <li><a href="{$setSelection}&amp;viewName={$viewName}"><xsl:value-of select="name"/></a></li> 
    357                                                        </xsl:otherwise> 
    358                                                </xsl:choose> 
    359                                        </xsl:for-each> 
    360                                </xsl:when> 
    361                                <xsl:otherwise> 
    362                                        <li class="none">no views</li> 
    363                                </xsl:otherwise> 
    364                        </xsl:choose> 
    365                </ul> 
    366  
    367                <h3> 
    368                        <a href="{$calendar-fetch}"> 
    369                                <img alt="manage calendars" src="{$resourcesRoot}/resources/glassFill-icon-menuButton.gif" width="12" height="11" border="0"/> calendars 
    370                        </a> 
    371                </h3> 
    372                <ul class="calendarTree"> 
    373                        <xsl:apply-templates select="/bedework/myCalendars/calendars/calendar" mode="myCalendars"/> 
    374                </ul> 
    375  
    376                <h3> 
    377                        <a href="{$subscriptions-fetch}" title="manage subscriptions"> 
    378                                <img alt="manage subscriptions" src="{$resourcesRoot}/resources/glassFill-icon-menuButton.gif" width="12" height="11" border="0"/> 
    379                                subscriptions 
    380                        </a> 
    381                </h3> 
    382                <ul class="calendarTree"> 
    383                        <xsl:variable name="userPath">user/<xsl:value-of select="/bedework/userid"/></xsl:variable> 
    384                        <xsl:choose> 
    385                                <xsl:when test="/bedework/mySubscriptions/subscription[not(contains(uri,$userPath))]"> 
    386                                        <xsl:apply-templates select="/bedework/mySubscriptions/subscription[not(contains(uri,$userPath))]" mode="mySubscriptions"/> 
    387                                </xsl:when> 
    388                                <xsl:otherwise> 
    389                                        <li class="none">no subscriptions</li> 
    390                                </xsl:otherwise> 
    391                        </xsl:choose> 
    392                </ul> 
    393  
    394                <h3>options</h3> 
    395                <ul id="sideBarMenu"> 
    396                        <li><a href="{$manageLocations}">Manage Locations</a></li> 
    397                        <li><a href="{$prefs-fetchForUpdate}">Preferences</a></li> 
    398                </ul> 
    399        </xsl:template> 
    400  
    401        <xsl:template name="tabs"> 
    402                <xsl:choose> 
    403                        <xsl:when test="/bedework/page='eventscalendar' or /bedework/page='freeBusy'"> 
    404                                <xsl:variable name="navAction"> 
    405                                        <xsl:choose> 
    406                                                <xsl:when test="/bedework/page='freeBusy'"><xsl:value-of select="$freeBusy-fetch"/></xsl:when> 
    407                                                <xsl:otherwise><xsl:value-of select="$setViewPeriod"/></xsl:otherwise> 
    408                                        </xsl:choose> 
    409                                </xsl:variable> 
    410                                <table border="0" cellpadding="0" cellspacing="0" id="tabsTable"> 
    411                                        <tr> 
    412                                                <td> 
    413                                                        <xsl:choose> 
    414                                                                <xsl:when test="/bedework/periodname='Day'"> 
    415                                                                        <a href="{$navAction}&amp;viewType=dayView&amp;date={$curdate}"><img src="{$resourcesRoot}/resources/std-tab-day-on.gif" width="91" height="20" border="0" alt="DAY"/></a> 
    416                                                                </xsl:when> 
    417                                                                <xsl:otherwise> 
    418                                                                        <a href="{$navAction}&amp;viewType=dayView&amp;date={$curdate}"><img src="{$resourcesRoot}/resources/std-tab-day-off.gif" width="91" height="20" border="0" alt="DAY"/></a> 
    419                                                                </xsl:otherwise> 
    420                                                        </xsl:choose> 
    421                                                </td> 
    422                                                <td> 
    423                                                        <xsl:choose> 
    424                                                                <xsl:when test="/bedework/periodname='Week' or /bedework/periodname=''"> 
    425                                                                        <a href="{$navAction}&amp;viewType=weekView&amp;date={$curdate}"><img src="{$resourcesRoot}/resources/std-tab-week-on.gif" width="92" height="20" border="0" alt="WEEK"/></a> 
    426                                                                 </xsl:when> 
    427                                                                <xsl:otherwise> 
    428                                                                        <a href="{$navAction}&amp;viewType=weekView&amp;date={$curdate}"><img src="{$resourcesRoot}/resources/std-tab-week-off.gif" width="92" height="20" border="0" alt="WEEK"/></a> 
    429                                                                 </xsl:otherwise> 
    430                                                        </xsl:choose> 
    431                                                </td> 
    432                                                <td> 
    433                                                        <xsl:choose> 
    434                                                                <xsl:when test="/bedework/periodname='Month'"> 
    435                                                                        <a href="{$navAction}&amp;viewType=monthView&amp;date={$curdate}"><img src="{$resourcesRoot}/resources/std-tab-month-on.gif" width="90" height="20" border="0" alt="MONTH"/></a> 
    436                                                                </xsl:when> 
    437                                                                <xsl:otherwise> 
    438                                                                        <a href="{$navAction}&amp;viewType=monthView&amp;date={$curdate}"><img src="{$resourcesRoot}/resources/std-tab-month-off.gif" width="90" height="20" border="0" alt="MONTH"/></a> 
    439                                                                </xsl:otherwise> 
    440                                                        </xsl:choose> 
    441                                                </td> 
    442                                                <td> 
    443                                                        <xsl:choose> 
    444                                                                <!-- don't allow switching to year for free busy view, so only use setViewPeriod action --> 
    445                                                                <xsl:when test="/bedework/periodname='Year'"> 
    446                                                                        <a href="{$setViewPeriod}&amp;viewType=yearView&amp;date={$curdate}"><img src="{$resourcesRoot}/resources/std-tab-year-on.gif" width="92" height="20" border="0" alt="YEAR"/></a> 
    447                                                                </xsl:when> 
    448                                                                <xsl:otherwise> 
    449                                                                        <a href="{$setViewPeriod}&amp;viewType=yearView&amp;date={$curdate}"><img src="{$resourcesRoot}/resources/std-tab-year-off.gif" width="92" height="20" border="0" alt="YEAR"/></a> 
    450                                                                </xsl:otherwise> 
    451                                                        </xsl:choose> 
    452                                                </td> 
    453                                                <td class="rightCell"> 
    454                                                        logged in as 
    455                                                        <xsl:text> </xsl:text> 
    456                                                        <strong><xsl:value-of select="/bedework/userid"/></strong> 
    457                                                        <xsl:text> </xsl:text> 
    458                                                        <span class="logout"><a href="{$setup}&amp;logout=true">logout</a></span> 
    459                                                </td> 
    460                                        </tr> 
    461                                </table> 
    462                        </xsl:when> 
    463                        <xsl:otherwise> 
    464                                <table border="0" cellpadding="0" cellspacing="0" id="tabsTable"> 
    465                                        <tr> 
    466                                                <td> 
    467                                                        <a href="{$setViewPeriod}&amp;viewType=dayView&amp;date={$curdate}"><img src="{$resourcesRoot}/resources/std-tab-day-off.gif" width="91" height="20" border="0" alt="DAY"/></a> 
    468                                                </td> 
    469                                                <td> 
    470                                                        <a href="{$setViewPeriod}&amp;viewType=weekView&amp;date={$curdate}"><img src="{$resourcesRoot}/resources/std-tab-week-off.gif" width="92" height="20" border="0" alt="WEEK"/></a> 
    471                                                </td> 
    472                                                <td> 
    473                                                        <a href="{$setViewPeriod}&amp;viewType=monthView&amp;date={$curdate}"><img src="{$resourcesRoot}/resources/std-tab-month-off.gif" width="90" height="20" border="0" alt="MONTH"/></a> 
    474                                                </td> 
    475                                                <td> 
    476                                                        <a href="{$setViewPeriod}&amp;viewType=yearView&amp;date={$curdate}"><img src="{$resourcesRoot}/resources/std-tab-year-off.gif" width="92" height="20" border="0" alt="YEAR"/></a> 
    477                                                </td> 
    478                                                <td class="rightCell"> 
    479                                                        logged in as 
    480                                                        <xsl:text> </xsl:text> 
    481                                                        <strong><xsl:value-of select="/bedework/userid"/></strong> 
    482                                                        <xsl:text> </xsl:text> 
    483                                                        <span class="logout"><a href="{$setup}&amp;logout=true">logout</a></span> 
    484                                                </td> 
    485                                        </tr> 
    486                                </table> 
    487                        </xsl:otherwise> 
    488                </xsl:choose> 
    489        </xsl:template> 
    490  
    491        <xsl:template name="navigation"> 
    492                <xsl:variable name="navAction"> 
    493                        <xsl:choose> 
    494                                <xsl:when test="/bedework/page='freeBusy'"><xsl:value-of select="$freeBusy-fetch"/></xsl:when> 
    495                                <xsl:otherwise><xsl:value-of select="$setViewPeriod"/></xsl:otherwise> 
    496                        </xsl:choose> 
    497                </xsl:variable> 
    498                <table border="0" cellpadding="0" cellspacing="0" id="navigationBarTable"> 
    499                        <tr> 
    500                                <td class="leftCell"> 
    501                                        <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> 
    502                                        <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> 
    503                                        <xsl:choose> 
    504                                                <xsl:when test="/bedework/periodname='Year'"> 
    505                                                        <xsl:value-of select="substring(/bedework/firstday/date,1,4)"/> 
    506                                                </xsl:when> 
    507                                                <xsl:when test="/bedework/periodname='Month'"> 
    508                                                        <xsl:value-of select="/bedework/firstday/monthname"/>, <xsl:value-of select="substring(/bedework/firstday/date,1,4)"/> 
    509                                                </xsl:when> 
    510                                                <xsl:when test="/bedework/periodname='Week'"> 
    511                                                        Week of <xsl:value-of select="substring-after(/bedework/firstday/longdate,', ')"/> 
    512                                                </xsl:when> 
    513                                                <xsl:otherwise> 
    514                                                        <xsl:value-of select="/bedework/firstday/longdate"/> 
    515                                                </xsl:otherwise> 
    516                                        </xsl:choose> 
    517                                </td> 
    518                                <td class="todayButton"> 
    519                                        <a href="{$navAction}&amp;viewType=todayView&amp;date={$curdate}"> 
    520                                                <img src="{$resourcesRoot}/resources/std-button-today-off.gif" width="54" height="22" border="0" alt="Go to Today" align="left"/> 
    521                                        </a> 
    522                                </td> 
    523                                <td align="right" class="gotoForm"> 
    524                                        <form name="calForm" method="get" action="{$navAction}"> 
    525                                                 <table border="0" cellpadding="0" cellspacing="0"> 
    526                                                        <tr> 
    527                                                                <xsl:if test="/bedework/periodname!='Year'"> 
    528                                                                        <td> 
    529                                                                                <select name="viewStartDate.month"> 
    530                                                                                        <xsl:for-each select="/bedework/monthvalues/val"> 
    531                                                                                                <xsl:variable name="temp" select="."/> 
    532                                                                                                <xsl:variable name="pos" select="position()"/> 
    533                                                                                                <xsl:choose> 
    534                                                                                                        <xsl:when test="/bedework/monthvalues[start=$temp]"> 
    535                                                                                                                <option value="{$temp}" selected="selected"> 
    536                                                                                                                        <xsl:value-of select="/bedework/monthlabels/val[position()=$pos]"/> 
    537                                                                                                                </option> 
    538                                                                                                        </xsl:when> 
    539                                                                                                        <xsl:otherwise> 
    540                                                                                                                <option value="{$temp}"> 
    541                                                                                                                        <xsl:value-of select="/bedework/monthlabels/val[position()=$pos]"/> 
    542                                                                                                                </option> 
    543                                                                                                        </xsl:otherwise> 
    544                                                                                                </xsl:choose> 
    545                                                                                        </xsl:for-each> 
    546                                                                                </select> 
    547                                                                        </td> 
    548                                                                        <xsl:if test="/bedework/periodname!='Month'"> 
    549                                                                                <td> 
    550                                                                                        <select name="viewStartDate.day"> 
    551                                                                                                <xsl:for-each select="/bedework/dayvalues/val"> 
    552                                                                                                        <xsl:variable name="temp" select="."/> 
    553                                                                                                        <xsl:variable name="pos" select="position()"/> 
    554                                                                                                        <xsl:choose> 
    555                                                                                                                <xsl:when test="/bedework/dayvalues[start=$temp]"> 
    556                                                                                                                        <option value="{$temp}" selected="selected"> 
    557                                                                                                                                <xsl:value-of select="/bedework/daylabels/val[position()=$pos]"/> 
    558                                                                                                                        </option> 
    559                                                                                                                </xsl:when> 
    560                                                                                                                <xsl:otherwise> 
    561                                                                                                                        <option value="{$temp}"> 
    562                                                                                                                                <xsl:value-of select="/bedework/daylabels/val[position()=$pos]"/> 
    563                                                                                                                        </option> 
    564                                                                                                                </xsl:otherwise> 
    565                                                                                                        </xsl:choose> 
    566                                                                                                </xsl:for-each> 
    567                                                                                        </select> 
    568                                                                                </td> 
    569                                                                        </xsl:if> 
    570                                                                </xsl:if> 
    571                                                                <td> 
    572                                                                        <xsl:variable name="temp" select="/bedework/yearvalues/start"/> 
    573                                                                        <input type="text" name="viewStartDate.year" maxlength="4" size="4" value="{$temp}"/> 
    574                                                                </td> 
    575                                                                <td> 
    576                                                                        <input name="submit" type="submit" value="go"/> 
    577                                                                </td> 
    578                                                        </tr> 
    579                                                </table> 
    580                                        </form> 
    581                                </td> 
    582                        </tr> 
    583                </table> 
    584        </xsl:template> 
    585  
    586        <xsl:template name="utilBar"> 
    587                <table width="100%" border="0" cellpadding="0" cellspacing="0" id="utilBarTable"> 
    588                         <tr> 
    589                                 <td class="leftCell"> 
    590                                         <xsl:choose> 
    591                                                 <xsl:when test="/bedework/periodname = 'day'"> 
    592                                                         <xsl:variable name="date" select="/bedework/firstday/date"/> 
    593                                                         <a href="{$initEvent}&amp;startdate={$date}" title="add event"> 
    594                                                                        <img src="{$resourcesRoot}/resources/add2mycal-icon-small.gif" width="12" height="16" border="0" alt="add event"/> 
    595                                                                        add event 
    596                                                         </a> 
    597                                                 </xsl:when> 
    598                                                 <xsl:otherwise> 
    599                                                         <a href="{$initEvent}" title="add event"> 
    600                                                                        <img src="{$resourcesRoot}/resources/add2mycal-icon-small.gif" width="12" height="16" border="0" alt="add event"/> 
    601                                                                        add event 
    602                                                         </a> 
    603                                                 </xsl:otherwise> 
    604                                         </xsl:choose> 
    605                                         <a href="{$initUpload}" title="upload event"> 
    606                                                        <img src="{$resourcesRoot}/resources/std-icalUpload-icon-small.gif" width="12" height="16" border="0" alt="upload event"/> 
    607                                                        upload 
    608                                         </a> 
    609                                 </td> 
    610                                 <td class="rightCell"> 
    611  
    612                                         <!-- show free / busy --> 
    613                                         <xsl:choose> 
    614                                                 <xsl:when test="/bedework/periodname!='Year'"> 
    615                                                         <xsl:choose> 
    616                                                                 <xsl:when test="/bedework/page='freeBusy'"> 
    617                                                                         <a href="{$setViewPeriod}&amp;date={$curdate}"><img src="{$resourcesRoot}/resources/std-button-events.gif" width="70" height="21" border="0" alt="show events"/></a> 
    618                                                                 </xsl:when> 
    619                                                                 <xsl:otherwise> 
    620                                                                         <a href="{$freeBusy-fetch}&amp;date={$curdate}"><img src="{$resourcesRoot}/resources/std-button-freebusy.gif" width="70" height="21" border="0" alt="show free/busy"/></a> 
    621                                                                 </xsl:otherwise> 
    622                                                         </xsl:choose> 
    623                                                 </xsl:when> 
    624                                                 <xsl:otherwise> 
    625                                                         <img src="{$resourcesRoot}/resources/std-button-freebusy-off.gif" width="70" height="21" border="0" alt="show free/busy"/> 
    626                                                 </xsl:otherwise> 
    627                                         </xsl:choose> 
    628  
    629                                         <!-- toggle list / calendar view --> 
    630                                         <xsl:choose> 
    631                                                 <xsl:when test="/bedework/periodname='Day'"> 
    632                                                         <img src="{$resourcesRoot}/resources/std-button-listview-off.gif" width="46" height="21" border="0" alt="toggle list/calendar view"/> 
    633                                                 </xsl:when> 
    634                                                 <xsl:when test="/bedework/periodname='Year'"> 
    635                                                         <img src="{$resourcesRoot}/resources/std-button-calview-off.gif" width="46" height="21" border="0" alt="toggle list/calendar view"/> 
    636                                                 </xsl:when> 
    637                                                 <xsl:when test="/bedework/periodname='Month'"> 
    638                                                         <xsl:choose> 
    639                                                                 <xsl:when test="/bedework/appvar[key='monthViewMode']/value='list'"> 
    640                                                                         <a href="{$setup}&amp;setappvar=monthViewMode(cal)" title="toggle list/calendar view"> 
    641                                                                                 <img src="{$resourcesRoot}/resources/std-button-calview.gif" width="46" height="21" border="0" alt="toggle list/calendar view"/> 
    642                                                                         </a> 
    643                                                                 </xsl:when> 
    644                                                                 <xsl:otherwise> 
    645                                                                         <a href="{$setup}&amp;setappvar=monthViewMode(list)" title="toggle list/calendar view"> 
    646                                                                                 <img src="{$resourcesRoot}/resources/std-button-listview.gif" width="46" height="21" border="0" alt="toggle list/calendar view"/> 
    647                                                                         </a> 
    648                                                                 </xsl:otherwise> 
    649                                                         </xsl:choose> 
    650                                                 </xsl:when> 
    651                                                 <xsl:otherwise> 
    652                                                         <xsl:choose> 
    653                                                                 <xsl:when test="/bedework/appvar[key='weekViewMode']/value='list'"> 
    654                                                                         <a href="{$setup}&amp;setappvar=weekViewMode(cal)" title="toggle list/calendar view"> 
    655                                                                                 <img src="{$resourcesRoot}/resources/std-button-calview.gif" width="46" height="21" border="0" alt="toggle list/calendar view"/> 
    656                                                                         </a> 
    657                                                                 </xsl:when> 
    658                                                                 <xsl:otherwise> 
    659                                                                         <a href="{$setup}&amp;setappvar=weekViewMode(list)" title="toggle list/calendar view"> 
    660                                                                                 <img src="{$resourcesRoot}/resources/std-button-listview.gif" width="46" height="21" border="0" alt="toggle list/calendar view"/> 
    661                                                                         </a> 
    662                                                                 </xsl:otherwise> 
    663                                                         </xsl:choose> 
    664                                                 </xsl:otherwise> 
    665                                         </xsl:choose> 
    666  
    667                                         <!-- summary / detailed mode toggle --> 
    668                                         <xsl:choose> 
    669                                                 <xsl:when test="/bedework/periodname='Year' or 
    670                                                                                                                        (/bedework/periodname='Month' and 
    671                                                                                                                        (/bedework/appvar[key='monthViewMode']/value='cal' or 
    672                                                                                                                         not(/bedework/appvar[key='monthViewMode']))) or 
    673                                                                                                                        (/bedework/periodname='Week' and 
    674                                                                                                                        (/bedework/appvar[key='weekViewMode']/value='cal' or 
    675                                                                                                                         not(/bedework/appvar[key='weekViewMode'])))"> 
    676                                                         <xsl:choose> 
    677                                                                 <xsl:when test="/bedework/appvar[key='summaryMode']/value='details'"> 
    678                                                                         <img src="{$resourcesRoot}/resources/std-button-summary-off.gif" width="62" height="21" border="0" alt="only summaries of events supported in this view"/> 
    679                                                                 </xsl:when> 
    680                                                                 <xsl:otherwise> 
    681                                                                         <img src="{$resourcesRoot}/resources/std-button-details-off.gif" width="62" height="21" border="0" alt="only summaries of events supported in this view"/> 
    682                                                                 </xsl:otherwise> 
    683                                                         </xsl:choose> 
    684                                                 </xsl:when> 
    685                                                 <xsl:otherwise> 
    686                                                         <xsl:choose> 
    687                                                                 <xsl:when test="/bedework/appvar[key='summaryMode']/value='details'"> 
    688                                                                         <a href="{$setup}&amp;setappvar=summaryMode(summary)" title="toggle summary/detailed view"> 
    689                                                                                 <img src="{$resourcesRoot}/resources/std-button-summary.gif" width="62" height="21" border="0" alt="toggle summary/detailed view"/> 
    690                                                                         </a> 
    691                                                                 </xsl:when> 
    692                                                                 <xsl:otherwise> 
    693                                                                         <a href="{$setup}&amp;setappvar=summaryMode(details)" title="toggle summary/detailed view"> 
    694                                                                                 <img src="{$resourcesRoot}/resources/std-button-details.gif" width="62" height="21" border="0" alt="toggle summary/detailed view"/> 
    695                                                                         </a> 
    696                                                                 </xsl:otherwise> 
    697                                                         </xsl:choose> 
    698                                                 </xsl:otherwise> 
    699                                         </xsl:choose> 
    700  
    701                                         <!-- refresh button --> 
    702                                         <a href="{$setup}"><img src="{$resourcesRoot}/resources/std-button-refresh.gif" width="70" height="21" border="0" alt="refresh view"/></a> 
    703                                 </td> 
    704                         </tr> 
    705                </table> 
    706        </xsl:template> 
    707  
    708        <!--==== LIST VIEW  (for day, week, and month) ====--> 
    709        <xsl:template name="listView"> 
    710                <table id="listTable" border="0" cellpadding="0" cellspacing="0"> 
    711                        <xsl:choose> 
    712                                <xsl:when test="not(/bedework/eventscalendar/year/month/week/day/event)"> 
    713                                        <tr> 
    714                                                <td class="noEventsCell"> 
    715                                                        No events to display. 
    716                                                </td> 
    717                                        </tr> 
    718                                </xsl:when> 
    719                                <xsl:otherwise> 
    720                                        <xsl:for-each select="/bedework/eventscalendar/year/month/week/day[event]"> 
    721                                                <xsl:if test="/bedework/periodname='Week' or /bedework/periodname='Month' or /bedework/periodname=''"> 
    722                                                        <tr> 
    723                                                                <td colspan="6" class="dateRow"> 
    724                                                                         <xsl:variable name="date" select="date"/> 
    725                                                                         <a href="{$initEvent}&amp;startdate={$date}" class="listAdd"> 
    726                                                                                 add event 
    727                                                                         </a> 
    728                                                                         <a href="{$setViewPeriod}&amp;viewType=dayView&amp;date={$date}"> 
    729                                                                                 <xsl:value-of select="name"/>, <xsl:value-of select="longdate"/> 
    730                                                                         </a> 
    731                                                                 </td> 
    732                                                        </tr> 
    733                                                </xsl:if> 
    734                                                <xsl:for-each select="event"> 
    735                                                        <xsl:variable name="id" select="id"/> 
    736                                                        <xsl:variable name="subscriptionId" select="subscription/id"/> 
    737                                                        <xsl:variable name="calPath" select="calendar/encodedPath"/> 
    738                                                        <xsl:variable name="guid" select="guid"/> 
    739                                                        <xsl:variable name="recurrenceId" select="recurrenceId"/> 
    740                                                        <tr> 
    741                                                                <xsl:variable name="dateRangeStyle"> 
    742                                                                        <xsl:choose> 
    743                                                                                <xsl:when test="start/shortdate = parent::day/shortdate"> 
    744                                                                                        <xsl:choose> 
    745                                                                                                <xsl:when test="start/allday = 'true'">dateRangeCrossDay</xsl:when> 
    746                                                                                                <xsl:when test="start/hour24 &lt; 6">dateRangeEarlyMorning</xsl:when> 
    747                                                                                                <xsl:when test="start/hour24 &lt; 12">dateRangeMorning</xsl:when> 
    748                                                                                                <xsl:when test="start/hour24 &lt; 18">dateRangeAfternoon</xsl:when> 
    749                                                                                                <xsl:otherwise>dateRangeEvening</xsl:otherwise> 
    750                                                                                        </xsl:choose> 
    751                                                                                </xsl:when> 
    752                                                                                <xsl:otherwise>dateRangeCrossDay</xsl:otherwise> 
    753                                                                        </xsl:choose> 
    754                                                                </xsl:variable> 
    755                                                                <xsl:choose> 
    756                                                                        <xsl:when test="start/allday = 'true' and 
    757                                                                                                                                        start/shortdate = end/shortdate"> 
    758                                                                                <td class="{$dateRangeStyle} center" colspan="3"> 
    759                                                                                        all day 
    760                                                                                </td> 
    761                                                                        </xsl:when> 
    762                                                                        <xsl:when test="start/shortdate = end/shortdate and 
    763                                                                                                                                        start/time = end/time"> 
    764                                                                                <td class="{$dateRangeStyle} center" colspan="3"> 
    765                                                                                        <a href="{$eventView}&amp;subid={$subscriptionId}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}"> 
    766                                                                                                <xsl:value-of select="start/time"/> 
    767                                                                                        </a> 
    768                                                                                </td> 
    769                                                                        </xsl:when> 
    770                                                                        <xsl:otherwise> 
    771                                                                                <td class="{$dateRangeStyle} right"> 
    772                                                                                        <a href="{$eventView}&amp;subid={$subscriptionId}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}"> 
    773                                                                                        <xsl:choose> 
    774                                                                                                <xsl:when test="start/allday = 'true' and 
    775                                                                                                                                                                parent::day/shortdate = start/shortdate"> 
    776                                                                                                        today 
    777                                                                                                </xsl:when> 
    778                                                                                                <xsl:when test="parent::day/shortdate != start/shortdate"> 
    779                                                                                                        <span class="littleArrow">&#171;</span>&#160; 
    780                                                                                                        <xsl:value-of select="start/month"/>/<xsl:value-of select="start/day"/> 
    781                                                                                                </xsl:when> 
    782                                                                                                <xsl:otherwise> 
    783                                                                                                        <xsl:value-of select="start/time"/> 
    784                                                                                                </xsl:otherwise> 
    785                                                                                        </xsl:choose> 
    786                                                                                        </a> 
    787                                                                                </td> 
    788                                                                                <td class="{$dateRangeStyle} center"> 
    789                                                                                        <a href="{$eventView}&amp;subid={$subscriptionId}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}">-</a> 
    790                                                                                </td> 
    791                                                                                <td class="{$dateRangeStyle} left"> 
    792                                                                                        <a href="{$eventView}&amp;subid={$subscriptionId}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}"> 
    793                                                                                        <xsl:choose> 
    794                                                                                                <xsl:when test="end/allday = 'true' and 
    795                                                                                                                                                                parent::day/shortdate = end/shortdate"> 
    796                                                                                                        today 
    797                                                                                                </xsl:when> 
    798                                                                                                <xsl:when test="parent::day/shortdate != end/shortdate"> 
    799                                                                                                        <xsl:value-of select="end/month"/>/<xsl:value-of select="end/day"/> 
    800                                                                                                        &#160;<span class="littleArrow">&#187;</span> 
    801                                                                                                </xsl:when> 
    802                                                                                                <xsl:otherwise> 
    803                                                                                                        <xsl:value-of select="end/time"/> 
    804                                                                                                </xsl:otherwise> 
    805                                                                                        </xsl:choose> 
    806                                                                                        </a> 
    807                                                                                </td> 
    808                                                                        </xsl:otherwise> 
    809                                                                </xsl:choose> 
    810                                                                <xsl:variable name="descriptionClass"> 
    811                                                                        <xsl:choose> 
    812                                                                                <xsl:when test="status='CANCELLED'">description bwStatusCancelled</xsl:when> 
    813                                                                                <xsl:when test="status='TENTATIVE'">description bwStatusTentative</xsl:when> 
    814                                                                                <xsl:otherwise>description</xsl:otherwise> 
    815                                                                        </xsl:choose> 
    816                                                                </xsl:variable> 
    817                                                                <xsl:variable name="subStyle" select="subscription/style"/> 
    818                                                                <td class="{$descriptionClass} {$subStyle}"> 
    819                                                                        <xsl:if test="status='CANCELLED'"><strong>CANCELLED: </strong></xsl:if> 
    820                                                                        <xsl:choose> 
    821                                                                                <xsl:when test="/bedework/appvar[key='summaryMode']/value='details'"> 
    822                                                                                        <a href="{$eventView}&amp;subid={$subscriptionId}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}"> 
    823                                                                                                <strong> 
    824                                                                                                        <xsl:value-of select="summary"/>: 
    825                                                                                                </strong> 
    826                                                                                                <xsl:value-of select="description"/>&#160; 
    827                                                                                                <em> 
    828                                                                                                        <xsl:value-of select="location/address"/> 
    829                                                                                                        <xsl:if test="location/subaddress != ''"> 
    830                                                                                                                , <xsl:value-of select="location/subaddress"/> 
    831                                                                                                        </xsl:if>.&#160; 
    832                                                                                                        <xsl:if test="cost!=''"> 
    833                                                                                                                <xsl:value-of select="cost"/>.&#160; 
    834                                                                                                        </xsl:if> 
    835                                                                                                        <xsl:if test="sponsor/name!='none'"> 
    836                                                                                                                Contact: <xsl:value-of select="sponsor/name"/> 
    837                                                                                                        </xsl:if> 
    838                                                                                                </em> 
    839                                                                                        </a> 
    840                                                                                        <xsl:if test="link != ''"> 
    841                                                                                                <xsl:variable name="link" select="link"/> 
    842                                                                                                <a href="{$link}" class="moreLink"><xsl:value-of select="link"/></a> 
    843                                                                                        </xsl:if> 
    844                                                                                </xsl:when> 
    845                                                                                <xsl:otherwise> 
    846                                                                                        <a href="{$eventView}&amp;subid={$subscriptionId}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}"> 
    847                                                                                                <xsl:value-of select="summary"/> 
    848                                                                                                <xsl:if test="location/address != ''">, <xsl:value-of select="location/address"/></xsl:if> 
    849                                                                                        </a> 
    850                                                                                </xsl:otherwise> 
    851                                                                        </xsl:choose> 
    852                                                                </td> 
    853                                                                <td class="eventLinks"> 
    854                                                                        <xsl:call-template name="eventLinks"/> 
    855                                                                </td> 
    856                                                                <td class="smallIcon"> 
    857                                                                        <xsl:variable name="eventIcalName" select="concat($guid,'.ics')"/> 
    858                                                                        <a href="{$export}&amp;subid={$subscriptionId}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}&amp;nocache=no&amp;skinName=ical&amp;contentType=text/calendar&amp;contentName={$eventIcalName}" title="Download event as ical - for Outlook, PDAs, iCal, and other desktop calendars"> 
    859                                                                                <img src="{$resourcesRoot}/resources/std-ical_icon_small.gif" width="12" height="16" border="0" alt="Download event as ical - for Outlook, PDAs, iCal, and other desktop calendars"/> 
    860                                                                        </a> 
    861                                                                </td> 
    862                                                        </tr> 
    863                                                </xsl:for-each> 
    864                                        </xsl:for-each> 
    865                                </xsl:otherwise> 
    866                        </xsl:choose> 
    867                </table> 
    868        </xsl:template> 
    869  
    870        <xsl:template name="eventLinks"> 
    871                <xsl:variable name="subscriptionId" select="subscription/id"/> 
    872                <xsl:variable name="calPath" select="calendar/encodedPath"/> 
    873                <xsl:variable name="guid" select="guid"/> 
    874                <xsl:variable name="recurrenceId" select="recurrenceId"/> 
    875                <xsl:choose> 
    876                        <xsl:when test="isAnnotation"> 
    877                                <xsl:choose> 
    878                                        <xsl:when test="recurring=true"> 
    879                                                <a href="{$delEvent}&amp;subid={$subscriptionId}&amp;calPath={$calPath}&amp;guid={$guid}&amp;confirmationid={$confId}">Remove All</a> 
    880                                        </xsl:when> 
    881                                        <xsl:otherwise> 
    882                                                <a href="{$delEvent}&amp;subid={$subscriptionId}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}&amp;confirmationid={$confId}">Remove</a> 
    883                                        </xsl:otherwise> 
    884                                </xsl:choose> 
    885                        </xsl:when> 
    886                        <xsl:when test="calendar/owner = /bedework/userid"> 
    887                                <a href="{$editEvent}&amp;subid={$subscriptionId}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}">Edit</a> | 
    888                                <xsl:choose> 
    889                                        <xsl:when test="recurring=true"> 
    890                                                <a href="{$delEvent}&amp;subid={$subscriptionId}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}&amp;confirmationid={$confId}">Delete All</a> 
    891                                        </xsl:when> 
    892                                        <xsl:otherwise> 
    893                                                <a href="{$delEvent}&amp;subid={$subscriptionId}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}&amp;confirmationid={$confId}">Delete</a> 
    894                                        </xsl:otherwise> 
    895                                </xsl:choose> 
    896                        </xsl:when> 
    897                        <xsl:otherwise> 
    898                                <a href="{$subscriptions-fetch}">Subscription</a> 
    899                        </xsl:otherwise> 
    900                </xsl:choose> 
    901        </xsl:template> 
    902  
    903        <!--==== WEEK CALENDAR VIEW ====--> 
    904        <xsl:template name="weekView"> 
    905                <table id="monthCalendarTable" border="0" cellpadding="0" cellspacing="0"> 
    906                        <tr> 
    907                                <xsl:for-each select="/bedework/daynames/val"> 
    908                                        <th class="dayHeading"><xsl:value-of select="."/></th> 
    909                                </xsl:for-each> 
    910                        </tr> 
    911                        <tr> 
    912                                <xsl:for-each select="/bedework/eventscalendar/year/month/week/day"> 
    913                                        <xsl:variable name="dayPos" select="position()"/> 
    914                                        <xsl:if test="filler='false'"> 
    915                                                <td> 
    916                                                        <xsl:variable name="dayDate" select="date"/> 
    917                                                        <a href="{$initEvent}&amp;startdate={$dayDate}" class="gridAdd" title="add event"> 
    918                                                                <img src="{$resourcesRoot}/resources/addEvent-forGrid-icon.gif" width="9" height="10" border="0" alt="add event"/> 
    919                                                        </a> 
    920                                                        <a href="{$setViewPeriod}&amp;viewType=dayView&amp;date={$dayDate}" class="dayLink" title="go to day"> 
    921                                                                <xsl:value-of select="value"/> 
    922                                                        </a> 
    923                                                        <ul> 
    924                                                                <xsl:apply-templates select="event" mode="calendarLayout"> 
    925                                                                        <xsl:with-param name="dayPos" select="$dayPos"/> 
    926                                                                </xsl:apply-templates> 
    927                                                        </ul> 
    928                                                </td> 
    929                                        </xsl:if> 
    930                                </xsl:for-each> 
    931                        </tr> 
    932                </table> 
    933        </xsl:template> 
    934  
    935        <!--==== MONTH CALENDAR VIEW ====--> 
    936        <xsl:template name="monthView"> 
    937                <table id="monthCalendarTable" border="0" cellpadding="0" cellspacing="0"> 
    938                        <tr> 
    939                                <xsl:for-each select="/bedework/daynames/val"> 
    940                                        <th class="dayHeading"><xsl:value-of select="."/></th> 
    941                                </xsl:for-each> 
    942                        </tr> 
    943                        <xsl:for-each select="/bedework/eventscalendar/year/month/week"> 
    944                                <tr> 
    945                                        <xsl:for-each select="day"> 
    946                                                <xsl:variable name="dayPos" select="position()"/> 
    947                                                <xsl:choose> 
    948                                                        <xsl:when test="filler='true'"> 
    949                                                                <td class="filler">&#160;</td> 
    950                                                        </xsl:when> 
    951                                                        <xsl:otherwise> 
    952                                                                <td> 
    953                                                                        <xsl:variable name="dayDate" select="date"/> 
    954                                                                        <a href="{$initEvent}&amp;startdate={$dayDate}" class="gridAdd" title="add event"> 
    955                                                                                <img src="{$resourcesRoot}/resources/addEvent-forGrid-icon.gif" width="10" height="10" border="0" alt="add event"/> 
    956                                                                        </a> 
    957                                                                        <a href="{$setViewPeriod}&amp;viewType=dayView&amp;date={$dayDate}" class="dayLink" title="go to day"> 
    958                                                                                <xsl:value-of select="value"/> 
    959                                                                        </a> 
    960                                                                        <ul> 
    961                                                                                <xsl:apply-templates select="event" mode="calendarLayout"> 
    962                                                                                        <xsl:with-param name="dayPos" select="$dayPos"/> 
    963                                                                                </xsl:apply-templates> 
    964                                                                        </ul> 
    965                                                                </td> 
    966                                                        </xsl:otherwise> 
    967                                                </xsl:choose> 
    968                                        </xsl:for-each> 
    969                                </tr> 
    970                        </xsl:for-each> 
    971                </table> 
    972        </xsl:template> 
    973  
    974        <xsl:template match="event" mode="calendarLayout"> 
    975                <xsl:param name="dayPos"/> 
    976                <xsl:variable name="subscriptionId" select="subscription/id"/> 
    977                <xsl:variable name="calPath" select="calendar/encodedPath"/> 
    978                <xsl:variable name="guid" select="guid"/> 
    979                <xsl:variable name="recurrenceId" select="recurrenceId"/> 
    980                <xsl:variable name="eventRootClass"> 
    981                        <xsl:choose> 
    982                                <!-- Otherwise: Alternating colors for all standard events --> 
    983                                <xsl:when test="position() = 1">event firstEvent</xsl:when> 
    984                                <xsl:otherwise>event</xsl:otherwise> 
    985                        </xsl:choose> 
    986                </xsl:variable> 
    987                <xsl:variable name="eventClass"> 
    988                        <xsl:choose> 
    989                                <!-- Special styles for the month grid --> 
    990                                <xsl:when test="status='CANCELLED'">eventCancelled</xsl:when> 
    991                                <xsl:when test="status='TENTATIVE'">eventTentative</xsl:when> 
    992                                <!-- Otherwise: Alternating colors for all standard events --> 
    993                                <xsl:when test="position() mod 2 = 1">eventLinkA</xsl:when> 
    994                                <xsl:otherwise>eventLinkB</xsl:otherwise> 
    995                        </xsl:choose> 
    996                </xsl:variable> 
    997                <!-- User defined subscription styles. 
    998                                 These are set in the add/modify subscription forms which 
    999                                 rely (in this stylesheet) on subColors.css; if present, these 
    1000                                 override the background-color set by eventClass. User styles should 
    1001                                 not be used for cancelled events (tentative is ok). --> 
    1002                <xsl:variable name="subColor"> 
    1003                        <xsl:choose> 
    1004                                 <xsl:when test="status != 'CANCELLED' and 
    1005                                                                                                subscription/style != '' and 
    1006                                                                                                subscription/style != 'default'"><xsl:value-of select="subscription/style"/></xsl:when> 
    1007                                <xsl:otherwise></xsl:otherwise> 
    1008                        </xsl:choose> 
    1009                </xsl:variable> 
    1010                <li> 
    1011                        <a href="{$eventView}&amp;subid={$subscriptionId}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}" 
    1012                                class="{$eventRootClass} {$eventClass} {$subColor}"> 
    1013                                <xsl:if test="status='CANCELLED'">CANCELLED: </xsl:if> 
    1014                                <xsl:value-of select="summary"/> 
    1015                                <xsl:variable name="eventTipClass"> 
    1016                                        <xsl:choose> 
    1017                                                <xsl:when test="$dayPos &gt; 5">eventTipReverse</xsl:when> 
    1018                                                <xsl:otherwise>eventTip</xsl:otherwise> 
    1019                                        </xsl:choose> 
    1020                                </xsl:variable> 
    1021                                <span class="{$eventTipClass}"> 
    1022                                        <xsl:if test="status='CANCELLED'"><span class="eventTipStatusCancelled">CANCELLED</span></xsl:if> 
    1023                                        <xsl:if test="status='TENTATIVE'"><span class="eventTipStatusTentative">TENTATIVE</span></xsl:if> 
    1024                                        <strong><xsl:value-of select="summary"/></strong><br/> 
    1025                                        Time: 
    1026                                        <xsl:choose> 
    1027                                                <xsl:when test="start/allday = 'false'"> 
    1028                                                        <xsl:value-of select="start/time"/> 
    1029                                                        <xsl:if test="start/time != end/time"> 
    1030                                                                - <xsl:value-of select="end/time"/> 
    1031                                                        </xsl:if> 
    1032                                                </xsl:when> 
    1033                                                <xsl:otherwise> 
    1034                                                        all day 
    1035                                                </xsl:otherwise> 
    1036                                        </xsl:choose><br/> 
    1037                                        <xsl:if test="location/address"> 
    1038                                                Location: <xsl:value-of select="location/address"/><br/> 
    1039                                        </xsl:if> 
    1040                                        Calendar: 
    1041                                                <xsl:variable name="userPath">user/<xsl:value-of select="/bedework/userid"/>/</xsl:variable> 
    1042                                                <xsl:choose> 
    1043                                                        <xsl:when test="contains(calendar/path,$userPath)"> 
    1044                                                                <xsl:value-of select="substring-after(calendar/path,$userPath)"/> 
    1045                                                        </xsl:when> 
    1046                                                        <xsl:otherwise> 
    1047                                                                <xsl:value-of select="calendar/path"/> 
    1048                                                        </xsl:otherwise> 
    1049                                                </xsl:choose><br/> 
    1050                                        Type: 
    1051                                        <xsl:choose> 
    1052                                                <xsl:when test="isAnnotation"> 
    1053                                                        public event 
    1054                                                </xsl:when> 
    1055                                                <xsl:when test="calendar/owner = /bedework/userid"> 
    1056                                                        personal event, editable 
    1057                                                </xsl:when> 
    1058                                                <xsl:otherwise> 
    1059                                                        subscription 
    1060                                                </xsl:otherwise> 
    1061                                        </xsl:choose> 
    1062                                </span> 
    1063                        </a> 
    1064                </li> 
    1065        </xsl:template> 
    1066  
    1067        <!--==== YEAR VIEW ====--> 
    1068        <xsl:template name="yearView"> 
    1069                <table id="yearCalendarTable" border="0" cellpadding="0" cellspacing="0"> 
    1070                        <tr> 
    1071                                <xsl:apply-templates select="/bedework/eventscalendar/year/month[position() &lt;= 3]"/> 
    1072                        </tr> 
    1073                        <tr> 
    1074                                <xsl:apply-templates select="/bedework/eventscalendar/year/month[(position() &gt; 3) and (position() &lt;= 6)]"/> 
    1075                        </tr> 
    1076                        <tr> 
    1077                                <xsl:apply-templates select="/bedework/eventscalendar/year/month[(position() &gt; 6) and (position() &lt;= 9)]"/> 
    1078                        </tr> 
    1079                        <tr> 
    1080                                <xsl:apply-templates select="/bedework/eventscalendar/year/month[position() &gt; 9]"/> 
    1081                        </tr> 
    1082                </table> 
    1083        </xsl:template> 
    1084  
    1085        <!-- year view month tables --> 
    1086        <xsl:template match="month"> 
    1087                <td> 
    1088                        <table class="yearViewMonthTable" border="0" cellpadding="0" cellspacing="0"> 
    1089                                <tr> 
    1090                                        <td colspan="8" class="monthName"> 
    1091                                                <xsl:variable name="firstDayOfMonth" select="week/day/date"/> 
    1092                                                <a href="{$setViewPeriod}&amp;viewType=monthView&amp;date={$firstDayOfMonth}"> 
    1093                                                        <xsl:value-of select="longname"/> 
    1094                                                </a> 
    1095                                        </td> 
    1096                                </tr> 
    1097                                <tr> 
    1098                                        <th>&#160;</th> 
    1099                                        <xsl:for-each select="/bedework/shortdaynames/val"> 
    1100                                                <th><xsl:value-of select="."/></th> 
    1101                                        </xsl:for-each> 
    1102                                </tr> 
    1103                                <xsl:for-each select="week"> 
    1104                                        <tr> 
    1105                                                <td class="weekCell"> 
    1106                                                        <xsl:variable name="firstDayOfWeek" select="day/date"/> 
    1107                                                        <a href="{$setViewPeriod}&amp;viewType=weekView&amp;date={$firstDayOfWeek}"> 
    1108                                                                <xsl:value-of select="value"/> 
    1109                                                        </a> 
    1110                                                </td> 
    1111                                                <xsl:for-each select="day"> 
    1112                                                        <xsl:choose> 
    1113                                                                <xsl:when test="filler='true'"> 
    1114                                                                        <td class="filler">&#160;</td> 
    1115                                                                </xsl:when> 
    1116                                                                <xsl:otherwise> 
    1117                                                                        <td> 
    1118                                                                                <xsl:variable name="dayDate" select="date"/> 
    1119                                                                                <a href="{$setViewPeriod}&amp;viewType=dayView&amp;date={$dayDate}"> 
    1120                                                                                        <xsl:value-of select="value"/> 
    1121                                                                                </a> 
    1122                                                                        </td> 
    1123                                                                </xsl:otherwise> 
    1124                                                        </xsl:choose> 
    1125                                                </xsl:for-each> 
    1126                                        </tr> 
    1127                                </xsl:for-each> 
    1128                        </table> 
    1129                </td> 
    1130        </xsl:template> 
    1131  
    1132        <!--==== SINGLE EVENT ====--> 
    1133        <xsl:template match="event"> 
    1134                <xsl:variable name="subscriptionId" select="subscription/id"/> 
    1135                <xsl:variable name="calPath" select="calendar/encodedPath"/> 
    1136                <xsl:variable name="guid" select="guid"/> 
    1137                <xsl:variable name="recurrenceId" select="recurrenceId"/> 
    1138                <xsl:variable name="statusClass"> 
    1139                        <xsl:choose> 
    1140                                <xsl:when test="status='CANCELLED'">bwStatusCancelled</xsl:when> 
    1141                                <xsl:when test="status='TENTATIVE'">bwStatusTentative</xsl:when> 
    1142                                <xsl:otherwise>bwStatusConfirmed</xsl:otherwise> 
    1143                        </xsl:choose> 
    1144                </xsl:variable> 
    1145                <h2 class="{$statusClass}"> 
    1146                        <xsl:if test="status='CANCELLED'">CANCELLED: </xsl:if> 
    1147                        <xsl:choose> 
    1148                                <xsl:when test="link != ''"> 
    1149                                        <xsl:variable name="link" select="link"/> 
    1150                                        <a href="{$link}"> 
    1151                                                <xsl:value-of select="summary"/> 
    1152                                        </a> 
    1153                                </xsl:when> 
    1154                                <xsl:otherwise> 
    1155                                        <xsl:value-of select="summary"/> 
    1156                                </xsl:otherwise> 
    1157                        </xsl:choose> 
    1158                </h2> 
    1159                <table class="common" cellspacing="0"> 
    1160                        <tr> 
    1161                                <th colspan="2" class="commonHeader"> 
    1162                                        <div id="eventActions"> 
    1163                                                <xsl:variable name="eventIcalName" select="concat($guid,'.ics')"/> 
    1164                                                <a href="{$export}&amp;subid={$subscriptionId}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}&amp;nocache=no&amp;skinName=ical&amp;contentType=text/calendar&amp;contentName={$eventIcalName}" title="Download event as ical - for Outlook, PDAs, iCal, and other desktop calendars"> 
    1165                                                        <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"/> 
    1166                                                        Download 
    1167                                                </a> | 
    1168                                                <xsl:choose> 
    1169                                                        <xsl:when test="isAnnotation"> 
    1170                                                                <xsl:choose> 
    1171                                                                        <xsl:when test="recurring=true"> 
    1172                                                                                <a href="{$delEvent}&amp;subid={$subscriptionId}&amp;calPath={$calPath}&amp;guid={$guid}&amp;confirmationid={$confId}"> 
    1173                                                                                        <img src="{$resourcesRoot}/resources/trashIcon.gif" width="13" height="13" border="0" alt="delete"/> 
    1174                                                                                        Remove All (recurring) 
    1175                                                                                </a> 
    1176                                                                        </xsl:when> 
    1177                                                                        <xsl:otherwise> 
    1178                                                                                <a href="{$delEvent}&amp;subid={$subscriptionId}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}&amp;confirmationid={$confId}"> 
    1179                                                                                        <img src="{$resourcesRoot}/resources/trashIcon.gif" width="13" height="13" border="0" alt="delete"/> 
    1180                                                                                        Remove 
    1181                                                                                </a> 
    1182                                                                        </xsl:otherwise> 
    1183                                                                </xsl:choose> 
    1184                                                        </xsl:when> 
    1185                                                        <xsl:when test="currentAccess/current-user-privilege-set/privilege/write-content"> 
    1186                                                                <a href="{$editEvent}&amp;subid={$subscriptionId}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}&amp;confirmationid={$confId}"> 
    1187                                                                        <img src="{$resourcesRoot}/resources/std-ical_iconEditDkGray.gif" width="12" height="16" border="0" alt="edit"/> 
    1188                                                                        Edit 
    1189                                                                </a> 
    1190                                                        </xsl:when> 
    1191                                                        <xsl:otherwise> 
    1192                                                                <a href="{$subscriptions-fetch}"> 
    1193                                                                        <img src="{$resourcesRoot}/resources/std-ical_iconSubsDkGray.gif" width="12" height="16" border="0" alt="edit"/> 
    1194                                                                        Manage Subscriptions 
    1195                                                                </a> 
    1196                                                        </xsl:otherwise> 
    1197                                                </xsl:choose> 
    1198                                                <xsl:if test="currentAccess/current-user-privilege-set/privilege/unbind and not(isAnnotation)"> 
    1199                                                        
    1200                                                        <xsl:choose> 
    1201                                                                <xsl:when test="recurring=true"> 
    1202                                                                        <a href="{$delEvent}&amp;subid={$subscriptionId}&amp;calPath={$calPath}&amp;guid={$guid}&amp;confirmationid={$confId}"> 
    1203                                                                                <img src="{$resourcesRoot}/resources/trashIcon.gif" width="13" height="13" border="0" alt="delete"/> 
    1204                                                                                Delete All (recurring) 
    1205                                                                        </a> 
    1206                                                                </xsl:when> 
    1207                                                                <xsl:otherwise> 
    1208                                                                        <a href="{$delEvent}&amp;subid={$subscriptionId}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}&amp;confirmationid={$confId}"> 
    1209                                                                                <img src="{$resourcesRoot}/resources/trashIcon.gif" width="13" height="13" border="0" alt="delete"/> 
    1210                                                                                Delete 
    1211                                                                        </a> 
    1212                                                                </xsl:otherwise> 
    1213                                                        </xsl:choose> 
    1214                                                </xsl:if> 
    1215                                        </div> 
    1216                                        <xsl:choose> 
    1217                                                <xsl:when test="calendar/owner = /bedework/userid"> 
    1218                                                        Personal Event 
    1219                                                </xsl:when> 
    1220                                                <xsl:when test="starts-with(calendar/path,'/user/')"> 
    1221                                                        User Event (<xsl:value-of select="calendar/owner"/>) 
    1222                                                </xsl:when> 
    1223                                                <xsl:when test="isAnnotation"> 
    1224                                                        Public Event 
    1225                                                </xsl:when> 
    1226                                                <xsl:otherwise> 
    1227                                                        <xsl:choose> 
    1228                                                                <xsl:when test="starts-with(calendar/path,'/public/')"> 
    1229                                                                        Public Event from Subscription 
    1230                                                                </xsl:when> 
    1231                                                                <xsl:otherwise> 
    1232                                                                        Event from Subscription 
    1233                                                                </xsl:otherwise> 
    1234                                                        </xsl:choose> 
    1235                                                </xsl:otherwise> 
    1236                                        </xsl:choose> 
    1237                                </th> 
    1238                        </tr> 
    1239                        <tr> 
    1240                                <td class="fieldname">When:</td> 
    1241                                <td class="fieldval"> 
    1242                                        <xsl:value-of select="start/dayname"/>, <xsl:value-of select="start/longdate"/><xsl:text> </xsl:text> 
    1243                                        <xsl:if test="start/allday = 'false'"> 
    1244                                                <span class="time"><xsl:value-of select="start/time"/></span> 
    1245                                        </xsl:if> 
    1246                                        <xsl:if test="(end/longdate != start/longdate) or 
    1247                                                                                                ((end/longdate = start/longdate) and (end/time != start/time))"> - </xsl:if> 
    1248                                        <xsl:if test="end/longdate != start/longdate"> 
    1249                                                <xsl:value-of select="substring(end/dayname,1,3)"/>, <xsl:value-of select="end/longdate"/><xsl:text> </xsl:text> 
    1250                                        </xsl:if> 
    1251                                        <xsl:choose> 
    1252                                                <xsl:when test="start/allday = 'true'"> 
    1253                                                        <span class="time"><em>(all day)</em></span> 
    1254                                                </xsl:when> 
    1255                                                <xsl:when test="end/longdate != start/longdate"> 
    1256                                                        <span class="time"><xsl:value-of select="end/time"/></span> 
    1257                                                </xsl:when> 
    1258                                                <xsl:when test="end/time != start/time"> 
    1259                                                        <span class="time"><xsl:value-of select="end/time"/></span> 
    1260                                                </xsl:when> 
    1261                                        </xsl:choose> 
    1262                                </td> 
    1263                                <!--<th class="icon" rowspan="2"> 
    1264                                        <xsl:variable name="eventIcalName" select="concat($guid,'.ics')"/> 
    1265                                        <a href="{$export}&amp;subid={$subscriptionId}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}&amp;nocache=no&amp;skinName=ical&amp;contentType=text/calendar&amp;contentName={$eventIcalName}" title="Download event as ical - for Outlook, PDAs, iCal, and other desktop calendars"> 
    1266                                                <img src="{$resourcesRoot}/resources/std-ical-icon.gif" width="20" height="26" border="0" align="left" alt="Download this event"/> 
    1267                                        </a> 
    1268                                </th>--> 
    1269                        </tr> 
    1270                        <tr> 
    1271                                <td class="fieldname">Where:</td> 
    1272                                <td class="fieldval"> 
    1273                                        <xsl:choose> 
    1274                                                <xsl:when test="location/link=''"> 
    1275                                                        <xsl:value-of select="location/address"/> 
    1276                                                </xsl:when> 
    1277                                                <xsl:otherwise> 
    1278                                                        <xsl:variable name="locationLink" select="location/link"/> 
    1279                                                        <a href="{$locationLink}"> 
    1280                                                                <xsl:value-of select="location/address"/> 
    1281                                                        </a> 
    1282                                                </xsl:otherwise> 
    1283                                        </xsl:choose> 
    1284                                        <xsl:if test="location/subaddress!=''"> 
    1285                                                <br/><xsl:value-of select="location/subaddress"/> 
    1286                                        </xsl:if> 
    1287                                </td> 
    1288                        </tr> 
    1289                        <tr> 
    1290                                <td class="fieldname">Description:</td> 
    1291                                <td class="fieldval"> 
    1292                                        <xsl:call-template name="replace"> 
    1293                                                <xsl:with-param name="string" select="description"/> 
    1294                                                <xsl:with-param name="pattern" select="'&#xA;'"/> 
    1295                                                <xsl:with-param name="replacement"><br/></xsl:with-param> 
    1296                                        </xsl:call-template> 
    1297                                </td> 
    1298                        </tr> 
    1299                        <xsl:if test="status !='' and status != 'CONFIRMED'"> 
    1300                                <tr> 
    1301                                        <td class="fieldname">Status:</td> 
    1302                                        <td class="fieldval"> 
    1303                                                <xsl:value-of select="status"/> 
    1304                                        </td> 
    1305                                </tr> 
    1306                        </xsl:if> 
    1307                        <xsl:if test="organizer"> 
    1308                                <tr> 
    1309                                        <td class="fieldname">Organizer:</td> 
    1310                                        <xsl:variable name="organizerUri" select="organizer/organizerUri"/> 
    1311                                        <td class="fieldval"> 
    1312                                                <strong> 
    1313                                                        <a href="{$organizerUri}"> 
    1314                                                                <xsl:value-of select="organizer/cn"/> 
    1315                                                        </a> 
    1316                                                </strong> 
    1317                                        </td> 
    1318                                </tr> 
    1319                        </xsl:if> 
    1320                        <xsl:if test="attendee"> 
    1321                                <tr> 
    1322                                        <td class="fieldname">Attendees:</td> 
    1323                                        <td class="fieldval"> 
    1324                                                <table id="attendees" cellspacing="0"> 
    1325                                                        <tr> 
    1326                                                                <th>role</th> 
    1327                                                                <th>status</th> 
    1328                                                                <th>attendee</th> 
    1329                                                        </tr> 
    1330                                                        <xsl:for-each select="attendee"> 
    1331                                                                <xsl:sort select="cn" order="ascending" case-order="upper-first"/> 
    1332                                                                <tr> 
    1333                                                                        <td class="role"> 
    1334                                                                                <xsl:value-of select="role"/> 
    1335                                                                        </td> 
    1336                                                                        <td class="status"> 
    1337                                                                                <xsl:value-of select="partstat"/> 
    1338                                                                        </td> 
    1339                                                                        <td> 
    1340                                                                                <xsl:variable name="attendeeUri" select="attendeeUri"/> 
    1341                                                                                <a href="{$attendeeUri}"><xsl:value-of select="cn"/></a> 
    1342                                                                        </td> 
    1343                                                                </tr> 
    1344                                                        </xsl:for-each> 
    1345                                                </table> 
    1346                                        </td> 
    1347                                </tr> 
    1348                        </xsl:if> 
    1349                        <xsl:if test="cost!=''"> 
    1350                                <tr> 
    1351                                        <td class="fieldname">Cost:</td> 
    1352                                        <td class="fieldval"><xsl:value-of select="cost"/></td> 
    1353                                </tr> 
    1354                        </xsl:if> 
    1355                        <xsl:if test="link != ''"> 
    1356                                <tr> 
    1357                                        <td class="fieldname">See:</td> 
    1358                                        <td class="fieldval"> 
    1359                                                <xsl:variable name="link" select="link"/> 
    1360                                                <a href="{$link}"><xsl:value-of select="link"/></a> 
    1361                                        </td> 
    1362                                </tr> 
    1363                        </xsl:if> 
    1364                        <xsl:if test="sponsor/name!='none'"> 
    1365                                <tr> 
    1366                                        <td class="fieldname">Contact:</td> 
    1367                                        <td class="fieldval"> 
    1368                                                <xsl:choose> 
    1369                                                        <xsl:when test="sponsor/link=''"> 
    1370                                                                <xsl:value-of select="sponsor/name"/> 
    1371                                                        </xsl:when> 
    1372                                                        <xsl:otherwise> 
    1373                                                                <xsl:variable name="sponsorLink" select="sponsor/link"/> 
    1374                                                                <a href="{$sponsorLink}"> 
    1375                                                                        <xsl:value-of select="sponsor/name"/> 
    1376                                                                </a> 
    1377                                                        </xsl:otherwise> 
    1378                                                </xsl:choose> 
    1379                                                <xsl:if test="sponsor/phone!=''"> 
    1380                                                        <br /><xsl:value-of select="sponsor/phone"/> 
    1381                                                </xsl:if> 
    1382                                                <xsl:if test="sponsor/email!=''"> 
    1383                                                        <br /> 
    1384                                                        <xsl:variable name="email" select="sponsor/email"/> 
    1385                                                        <xsl:variable name="subject" select="summary"/> 
    1386                                                        <a href="mailto:{$email}&amp;subject={$subject}"> 
    1387                                                                <xsl:value-of select="sponsor/email"/> 
    1388                                                        </a> 
    1389                                                </xsl:if> 
    1390                                        </td> 
    1391                                </tr> 
    1392                        </xsl:if> 
    1393                        <xsl:if test="calendar/path!=''"> 
    1394                                <tr> 
    1395                                        <td class="fieldname">Calendar:</td> 
    1396                                        <td class="fieldval"> 
    1397                                                <xsl:variable name="calUrl" select="calendar/encodedPath"/> 
    1398                                                <xsl:variable name="userPath">user/<xsl:value-of select="/bedework/userid"/>/</xsl:variable> 
    1399                                                <a href="{$setSelection}&amp;calUrl={$calUrl}"> 
    1400                                                        <xsl:choose> 
    1401                                                                <xsl:when test="contains(calendar/path,$userPath)"> 
    1402                                                                        <xsl:value-of select="substring-after(calendar/path,$userPath)"/> 
    1403                                                                </xsl:when> 
    1404                                                                <xsl:otherwise> 
    1405                                                                        <xsl:value-of select="calendar/path"/> 
    1406                                                                </xsl:otherwise> 
    1407                                                        </xsl:choose> 
    1408                                                </a> 
    1409                                        </td> 
    1410                                </tr> 
    1411                        </xsl:if> 
    1412                        <tr> 
    1413                                <td class="fieldname filler">&#160;</td> 
    1414                                <td class="fieldval">&#160;</td> 
    1415                        </tr> 
    1416                </table> 
    1417        </xsl:template> 
     127  <xsl:template match="/"> 
     128    <html lang="en"> 
     129      <head> 
     130        <xsl:call-template name="headSection"/> 
     131      </head> 
     132      <body> 
     133      <xsl:choose> 
     134        <xsl:when test="/bedework/page='selectCalForEvent'"> 
     135          <xsl:call-template name="selectCalForEvent"/> 
     136        </xsl:when> 
     137        <xsl:otherwise> 
     138            <xsl:call-template name="headBar"/> 
     139            <xsl:if test="/bedework/message"> 
     140              <div id="messages"> 
     141                <xsl:apply-templates select="/bedework/message"/> 
     142              </div> 
     143            </xsl:if> 
     144            <xsl:if test="/bedework/error"> 
     145              <div id="errors"> 
     146                <xsl:apply-templates select="/bedework/error"/> 
     147              </div> 
     148            </xsl:if> 
     149            <table id="bodyBlock" cellspacing="0"> 
     150              <tr> 
     151                <xsl:choose> 
     152                  <xsl:when test="/bedework/appvar[key='sidebar']/value='closed'"> 
     153                    <td id="sideBarClosed"> 
     154                      <img src="{$resourcesRoot}/resources/spacer.gif" width="1" height="1" border="0" alt="*"/> 
     155                    </td> 
     156                  </xsl:when> 
     157                  <xsl:otherwise> 
     158                    <td id="sideBar"> 
     159                      <xsl:call-template name="sideBar"/> 
     160                    </td> 
     161                  </xsl:otherwise> 
     162                </xsl:choose> 
     163                <td id="bodyContent"> 
     164                  <xsl:call-template name="tabs"/> 
     165                  <xsl:call-template name="navigation"/> 
     166                  <xsl:choose> 
     167                    <xsl:when test="/bedework/page='event'"> 
     168                      <!-- show an event --> 
     169                      <xsl:apply-templates select="/bedework/event"/> 
     170                    </xsl:when> 
     171                    <xsl:when test="/bedework/page='addEvent'"> 
     172                      <xsl:call-template name="addEvent"/> 
     173                    </xsl:when> 
     174                    <xsl:when test="/bedework/page='addEventRef'"> 
     175                      <xsl:apply-templates select="/bedework/event" mode="addEventRef"/> 
     176                    </xsl:when> 
     177                    <xsl:when test="/bedework/page='editEvent'"> 
     178                      <!-- edit an event --> 
     179                      <xsl:apply-templates select="/bedework/formElements" mode="editEvent"/> 
     180                    </xsl:when> 
     181                    <xsl:when test="/bedework/page='alarmOptions'"> 
     182                      <xsl:call-template name="alarmOptions" /> 
     183                    </xsl:when> 
     184                    <xsl:when test="/bedework/page='upload'"> 
     185                      <xsl:call-template name="upload" /> 
     186                    </xsl:when> 
     187                    <xsl:when test="/bedework/page='manageLocations'"> 
     188                      <xsl:call-template name="manageLocations" /> 
     189                    </xsl:when> 
     190                    <xsl:when test="/bedework/page='editLocation'"> 
     191                      <xsl:apply-templates select="/bedework/formElements" mode="editLocation"/> 
     192                    </xsl:when> 
     193                    <xsl:when test="/bedework/page='subscriptions' or 
     194                                    /bedework/page='modSubscription' or 
     195                                    /bedework/page='addSubByUri'"> 
     196                      <xsl:apply-templates select="/bedework/subscriptions"/> 
     197                    </xsl:when> 
     198                    <xsl:when test="/bedework/page='calendarList' or 
     199                                    /bedework/page='calendarDescriptions' or 
     200                                    /bedework/page='displayCalendar' or 
     201                                    /bedework/page='modCalendar' or 
     202                                    /bedework/page='deleteCalendarConfirm' or 
     203                                    /bedework/page='calendarReferenced'"> 
     204                      <xsl:apply-templates select="/bedework/calendars"/> 
     205                    </xsl:when> 
     206                    <xsl:when test="/bedework/page='freeBusy'"> 
     207                      <xsl:call-template name="utilBar"/> 
     208                      <xsl:apply-templates select="/bedework/freebusy"/> 
     209                    </xsl:when> 
     210                    <xsl:when test="/bedework/page='modPrefs'"> 
     211                      <xsl:apply-templates select="/bedework/prefs"/> 
     212                    </xsl:when> 
     213                    <xsl:when test="/bedework/page='other'"> 
     214                      <!-- show an arbitrary page --> 
     215                      <xsl:call-template name="selectPage"/> 
     216                    </xsl:when> 
     217                    <xsl:otherwise> 
     218                      <!-- otherwise, show the eventsCalendar --> 
     219                      <xsl:call-template name="utilBar"/> 
     220                      <!-- main eventCalendar content --> 
     221                      <xsl:choose> 
     222                        <xsl:when test="/bedework/periodname='Day'"> 
     223                          <xsl:call-template name="listView"/> 
     224                        </xsl:when> 
     225                        <xsl:when test="/bedework/periodname='Week' or /bedework/periodname=''"> 
     226                          <xsl:choose> 
     227                            <xsl:when test="/bedework/appvar[key='weekViewMode']/value='list'"> 
     228                              <xsl:call-template name="listView"/> 
     229                            </xsl:when> 
     230                            <xsl:otherwise> 
     231                              <xsl:call-template name="weekView"/> 
     232                            </xsl:otherwise> 
     233                          </xsl:choose> 
     234                        </xsl:when> 
     235                        <xsl:when test="/bedework/periodname='Month'"> 
     236                          <xsl:choose> 
     237                            <xsl:when test="/bedework/appvar[key='monthViewMode']/value='list'"> 
     238                              <xsl:call-template name="listView"/> 
     239                            </xsl:when> 
     240                            <xsl:otherwise> 
     241                              <xsl:call-template name="monthView"/> 
     242                            </xsl:otherwise> 
     243                          </xsl:choose> 
     244                        </xsl:when> 
     245                        <xsl:otherwise> 
     246                          <xsl:call-template name="yearView"/> 
     247                        </xsl:otherwise> 
     248                      </xsl:choose> 
     249                    </xsl:otherwise> 
     250                  </xsl:choose> 
     251                </td> 
     252              </tr> 
     253            </table> 
     254            <!-- footer --> 
     255            <xsl:call-template name="footer"/> 
     256          </xsl:otherwise> 
     257        </xsl:choose> 
     258      </body> 
     259    </html> 
     260  </xsl:template> 
     261 
     262  <!--==== HEAD SECTION  ====--> 
     263 
     264  <xsl:template name="headSection"> 
     265    <title>Bedework: Personal Calendar Client</title> 
     266    <meta name="robots" content="noindex,nofollow"/> 
     267    <link rel="stylesheet" href="{$resourcesRoot}/default/default/default.css"/> 
     268    <link rel="stylesheet" href="{$resourcesRoot}/default/default/subColors.css"/> 
     269    <link rel="stylesheet" type="text/css" media="print" href="{$resourcesRoot}/default/default/print.css" /> 
     270    <link rel="icon" type="image/ico" href="{$resourcesRoot}/resources/bedework.ico" /> 
     271    <xsl:if test="/bedework/page='addEvent' or 
     272                  /bedework/page='addEventRef' or 
     273                  /bedework/page='editEvent' or 
     274                  /bedework/page='selectCalForEvent' or 
     275                  /bedework/page='upload' or 
     276                  /bedework/page='addSubByUri' or 
     277                  /bedework/page='modPrefs'"> 
     278      <script type="text/javascript" src="{$resourcesRoot}/resources/includes.js"></script> 
     279    </xsl:if> 
     280    <xsl:if test="/bedework/page='addEvent' or 
     281                  /bedework/page='editEvent'"> 
     282      <script type="text/javascript" src="{$resourcesRoot}/resources/bwClock.js"></script> 
     283      <link rel="stylesheet" href="{$resourcesRoot}/resources/bwClock.css"/> 
     284      <script type="text/javascript" src="{$resourcesRoot}/resources/dynCalendarWidget.js"></script> 
     285      <link rel="stylesheet" href="{$resourcesRoot}/resources/dynCalendarWidget.css"/> 
     286      <script type="text/javascript" src="{$resourcesRoot}/resources/browserSniffer.js"></script> 
     287    </xsl:if> 
     288  </xsl:template> 
     289 
     290  <!--==== HEADER TEMPLATES and NAVIGATION  ====--> 
     291 
     292  <xsl:template name="headBar"> 
     293    <table width="100%" border="0" cellpadding="0" cellspacing="0" id="logoTable"> 
     294      <tr> 
     295        <td colspan="3" id="logoCell"><a href="http://www.bedework.org/"><img src="{$resourcesRoot}/resources/bedeworkLogo.gif" width="292" height="75" border="0" alt="Bedework"/></a></td> 
     296        <td colspan="2" id="schoolLinksCell"> 
     297          <h2>Personal Calendar</h2> 
     298          <a href="{$publicCal}">Public Calendar</a> | 
     299          <a href="http://www.yourschoolhere.edu">School Home</a> | 
     300          <a href="http://www.bedework.org/">Other Link</a> | 
     301          <a href="http://helpdesk.rpi.edu/update.do?catcenterkey=51"> 
     302            Example Calendar Help 
     303          </a> 
     304        </td> 
     305      </tr> 
     306    </table> 
     307    <table id="curDateRangeTable"  cellspacing="0"> 
     308      <tr> 
     309        <td class="sideBarOpenCloseIcon"> 
     310          <xsl:choose> 
     311            <xsl:when test="/bedework/appvar[key='sidebar']/value='closed'"> 
     312              <a href="?setappvar=sidebar(opened)"> 
     313                <img alt="open sidebar" src="{$resourcesRoot}/resources/sideBarArrowOpen.gif" width="21" height="16" border="0" align="left"/> 
     314              </a> 
     315            </xsl:when> 
     316            <xsl:otherwise> 
     317              <a href="?setappvar=sidebar(closed)"> 
     318                <img alt="close sidebar" src="{$resourcesRoot}/resources/sideBarArrowClose.gif" width="21" height="16" border="0" align="left"/> 
     319              </a> 
     320            </xsl:otherwise> 
     321          </xsl:choose> 
     322        </td> 
     323        <td class="date"> 
     324          <xsl:value-of select="/bedework/firstday/longdate"/> 
     325          <xsl:if test="/bedework/periodname!='Day'"> 
     326           
     327            <xsl:value-of select="/bedework/lastday/longdate"/> 
     328          </xsl:if> 
     329        </td> 
     330        <td class="rssPrint"> 
     331          <a href="javascript:window.print()" title="print this view"> 
     332            <img alt="print this view" src="{$resourcesRoot}/resources/std-print-icon.gif" width="20" height="14" border="0"/> print 
     333          </a> 
     334          <a class="rss" href="{$setSelection}&amp;setappvar=summaryMode(details)&amp;skinName=rss" title="RSS feed">RSS</a> 
     335        </td> 
     336      </tr> 
     337    </table> 
     338  </xsl:template> 
     339 
     340  <xsl:template name="sideBar"> 
     341    <h3> 
     342      <!--<img alt="manage views" src="{$resourcesRoot}/resources/glassFill-icon-menuButton.gif" width="12" height="11" border="0"/>--> 
     343      views 
     344    </h3> 
     345    <ul id="myViews"> 
     346      <xsl:choose> 
     347        <xsl:when test="/bedework/views/view"> 
     348          <xsl:for-each select="/bedework/views/view"> 
     349            <xsl:variable name="viewName" select="name"/> 
     350            <xsl:choose> 
     351              <xsl:when test="/bedework/selectionState/selectionType = 'view' 
     352                              and name=/bedework/selectionState/view/name"> 
     353                <li class="selected"><a href="{$setSelection}&amp;viewName={$viewName}"><xsl:value-of select="name"/></a></li> 
     354              </xsl:when> 
     355              <xsl:otherwise> 
     356                <li><a href="{$setSelection}&amp;viewName={$viewName}"><xsl:value-of select="name"/></a></li> 
     357              </xsl:otherwise> 
     358            </xsl:choose> 
     359          </xsl:for-each> 
     360        </xsl:when> 
     361        <xsl:otherwise> 
     362          <li class="none">no views</li> 
     363        </xsl:otherwise> 
     364      </xsl:choose> 
     365    </ul> 
     366 
     367    <h3> 
     368      <a href="{$calendar-fetch}"> 
     369        <img alt="manage calendars" src="{$resourcesRoot}/resources/glassFill-icon-menuButton.gif" width="12" height="11" border="0"/> calendars 
     370      </a> 
     371    </h3> 
     372    <ul class="calendarTree"> 
     373      <xsl:apply-templates select="/bedework/myCalendars/calendars/calendar" mode="myCalendars"/> 
     374    </ul> 
     375 
     376    <h3> 
     377      <a href="{$subscriptions-fetch}" title="manage subscriptions"> 
     378        <img alt="manage subscriptions" src="{$resourcesRoot}/resources/glassFill-icon-menuButton.gif" width="12" height="11" border="0"/> 
     379        subscriptions 
     380      </a> 
     381    </h3> 
     382    <ul class="calendarTree"> 
     383      <xsl:variable name="userPath">user/<xsl:value-of select="/bedework/userid"/></xsl:variable> 
     384      <xsl:choose> 
     385        <xsl:when test="/bedework/mySubscriptions/subscription[not(contains(uri,$userPath))]"> 
     386          <xsl:apply-templates select="/bedework/mySubscriptions/subscription[not(contains(uri,$userPath))]" mode="mySubscriptions"/> 
     387        </xsl:when> 
     388        <xsl:otherwise> 
     389          <li class="none">no subscriptions</li> 
     390        </xsl:otherwise> 
     391      </xsl:choose> 
     392    </ul> 
     393 
     394    <h3>options</h3> 
     395    <ul id="sideBarMenu"> 
     396      <li><a href="{$manageLocations}">Manage Locations</a></li> 
     397      <li><a href="{$prefs-fetchForUpdate}">Preferences</a></li> 
     398    </ul> 
     399  </xsl:template> 
     400 
     401  <xsl:template name="tabs"> 
     402    <xsl:choose> 
     403      <xsl:when test="/bedework/page='eventscalendar' or /bedework/page='freeBusy'"> 
     404        <xsl:variable name="navAction"> 
     405          <xsl:choose> 
     406            <xsl:when test="/bedework/page='freeBusy'"><xsl:value-of select="$freeBusy-fetch"/></xsl:when> 
     407            <xsl:otherwise><xsl:value-of select="$setViewPeriod"/></xsl:otherwise> 
     408          </xsl:choose> 
     409        </xsl:variable> 
     410        <table border="0" cellpadding="0" cellspacing="0" id="tabsTable"> 
     411          <tr> 
     412            <td> 
     413              <xsl:choose> 
     414                <xsl:when test="/bedework/periodname='Day'"> 
     415                  <a href="{$navAction}&amp;viewType=dayView&amp;date={$curdate}"><img src="{$resourcesRoot}/resources/std-tab-day-on.gif" width="91" height="20" border="0" alt="DAY"/></a> 
     416                </xsl:when> 
     417                <xsl:otherwise> 
     418                  <a href="{$navAction}&amp;viewType=dayView&amp;date={$curdate}"><img src="{$resourcesRoot}/resources/std-tab-day-off.gif" width="91" height="20" border="0" alt="DAY"/></a> 
     419                </xsl:otherwise> 
     420              </xsl:choose> 
     421            </td> 
     422            <td> 
     423              <xsl:choose> 
     424                <xsl:when test="/bedework/periodname='Week' or /bedework/periodname=''"> 
     425                  <a href="{$navAction}&amp;viewType=weekView&amp;date={$curdate}"><img src="{$resourcesRoot}/resources/std-tab-week-on.gif" width="92" height="20" border="0" alt="WEEK"/></a> 
     426                </xsl:when> 
     427                <xsl:otherwise> 
     428                  <a href="{$navAction}&amp;viewType=weekView&amp;date={$curdate}"><img src="{$resourcesRoot}/resources/std-tab-week-off.gif" width="92" height="20" border="0" alt="WEEK"/></a> 
     429                </xsl:otherwise> 
     430              </xsl:choose> 
     431            </td> 
     432            <td> 
     433              <xsl:choose> 
     434                <xsl:when test="/bedework/periodname='Month'"> 
     435                  <a href="{$navAction}&amp;viewType=monthView&amp;date={$curdate}"><img src="{$resourcesRoot}/resources/std-tab-month-on.gif" width="90" height="20" border="0" alt="MONTH"/></a> 
     436                </xsl:when> 
     437                <xsl:otherwise> 
     438                  <a href="{$navAction}&amp;viewType=monthView&amp;date={$curdate}"><img src="{$resourcesRoot}/resources/std-tab-month-off.gif" width="90" height="20" border="0" alt="MONTH"/></a> 
     439                </xsl:otherwise> 
     440              </xsl:choose> 
     441            </td> 
     442            <td> 
     443              <xsl:choose> 
     444                <!-- don't allow switching to year for free busy view, so only use setViewPeriod action --> 
     445                <xsl:when test="/bedework/periodname='Year'"> 
     446                  <a href="{$setViewPeriod}&amp;viewType=yearView&amp;date={$curdate}"><img src="{$resourcesRoot}/resources/std-tab-year-on.gif" width="92" height="20" border="0" alt="YEAR"/></a> 
     447                </xsl:when> 
     448                <xsl:otherwise> 
     449                  <a href="{$setViewPeriod}&amp;viewType=yearView&amp;date={$curdate}"><img src="{$resourcesRoot}/resources/std-tab-year-off.gif" width="92" height="20" border="0" alt="YEAR"/></a> 
     450                </xsl:otherwise> 
     451              </xsl:choose> 
     452            </td> 
     453            <td class="rightCell"> 
     454              logged in as 
     455              <xsl:text> </xsl:text> 
     456              <strong><xsl:value-of select="/bedework/userid"/></strong> 
     457              <xsl:text> </xsl:text> 
     458              <span class="logout"><a href="{$setup}&amp;logout=true">logout</a></span> 
     459            </td> 
     460          </tr> 
     461        </table> 
     462      </xsl:when> 
     463      <xsl:otherwise> 
     464        <table border="0" cellpadding="0" cellspacing="0" id="tabsTable"> 
     465          <tr> 
     466            <td> 
     467              <a href="{$setViewPeriod}&amp;viewType=dayView&amp;date={$curdate}"><img src="{$resourcesRoot}/resources/std-tab-day-off.gif" width="91" height="20" border="0" alt="DAY"/></a> 
     468            </td> 
     469            <td> 
     470              <a href="{$setViewPeriod}&amp;viewType=weekView&amp;date={$curdate}"><img src="{$resourcesRoot}/resources/std-tab-week-off.gif" width="92" height="20" border="0" alt="WEEK"/></a> 
     471            </td> 
     472            <td> 
     473              <a href="{$setViewPeriod}&amp;viewType=monthView&amp;date={$curdate}"><img src="{$resourcesRoot}/resources/std-tab-month-off.gif" width="90" height="20" border="0" alt="MONTH"/></a> 
     474            </td> 
     475            <td> 
     476              <a href="{$setViewPeriod}&amp;viewType=yearView&amp;date={$curdate}"><img src="{$resourcesRoot}/resources/std-tab-year-off.gif" width="92" height="20" border="0" alt="YEAR"/></a> 
     477            </td> 
     478            <td class="rightCell"> 
     479              logged in as 
     480              <xsl:text> </xsl:text> 
     481              <strong><xsl:value-of select="/bedework/userid"/></strong> 
     482              <xsl:text> </xsl:text> 
     483              <span class="logout"><a href="{$setup}&amp;logout=true">logout</a></span> 
     484            </td> 
     485          </tr> 
     486        </table> 
     487      </xsl:otherwise> 
     488    </xsl:choose> 
     489  </xsl:template> 
     490 
     491  <xsl:template name="navigation"> 
     492    <xsl:variable name="navAction"> 
     493      <xsl:choose> 
     494        <xsl:when test="/bedework/page='freeBusy'"><xsl:value-of select="$freeBusy-fetch"/></xsl:when> 
     495        <xsl:otherwise><xsl:value-of select="$setViewPeriod"/></xsl:otherwise> 
     496      </xsl:choose> 
     497    </xsl:variable> 
     498    <table border="0" cellpadding="0" cellspacing="0" id="navigationBarTable"> 
     499      <tr> 
     500        <td class="leftCell"> 
     501          <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> 
     502          <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> 
     503          <xsl:choose> 
     504            <xsl:when test="/bedework/periodname='Year'"> 
     505              <xsl:value-of select="substring(/bedework/firstday/date,1,4)"/> 
     506            </xsl:when> 
     507            <xsl:when test="/bedework/periodname='Month'"> 
     508              <xsl:value-of select="/bedework/firstday/monthname"/>, <xsl:value-of select="substring(/bedework/firstday/date,1,4)"/> 
     509            </xsl:when> 
     510            <xsl:when test="/bedework/periodname='Week'"> 
     511              Week of <xsl:value-of select="substring-after(/bedework/firstday/longdate,', ')"/> 
     512            </xsl:when> 
     513            <xsl:otherwise> 
     514              <xsl:value-of select="/bedework/firstday/longdate"/> 
     515            </xsl:otherwise> 
     516          </xsl:choose> 
     517        </td> 
     518        <td class="todayButton"> 
     519          <a href="{$navAction}&amp;viewType=todayView&amp;date={$curdate}"> 
     520            <img src="{$resourcesRoot}/resources/std-button-today-off.gif" width="54" height="22" border="0" alt="Go to Today" align="left"/> 
     521          </a> 
     522        </td> 
     523        <td align="right" class="gotoForm"> 
     524          <form name="calForm" method="get" action="{$navAction}"> 
     525            <table border="0" cellpadding="0" cellspacing="0"> 
     526              <tr> 
     527                <xsl:if test="/bedework/periodname!='Year'"> 
     528                  <td> 
     529                    <select name="viewStartDate.month"> 
     530                      <xsl:for-each select="/bedework/monthvalues/val"> 
     531                        <xsl:variable name="temp" select="."/> 
     532                        <xsl:variable name="pos" select="position()"/> 
     533                        <xsl:choose> 
     534                          <xsl:when test="/bedework/monthvalues[start=$temp]"> 
     535                            <option value="{$temp}" selected="selected"> 
     536                              <xsl:value-of select="/bedework/monthlabels/val[position()=$pos]"/> 
     537                            </option> 
     538                          </xsl:when> 
     539                          <xsl:otherwise> 
     540                            <option value="{$temp}"> 
     541                              <xsl:value-of select="/bedework/monthlabels/val[position()=$pos]"/> 
     542                            </option> 
     543                          </xsl:otherwise> 
     544                        </xsl:choose> 
     545                      </xsl:for-each> 
     546                    </select> 
     547                  </td> 
     548                  <xsl:if test="/bedework/periodname!='Month'"> 
     549                    <td> 
     550                      <select name="viewStartDate.day"> 
     551                        <xsl:for-each select="/bedework/dayvalues/val"> 
     552                          <xsl:variable name="temp" select="."/> 
     553                          <xsl:variable name="pos" select="position()"/> 
     554                          <xsl:choose> 
     555                            <xsl:when test="/bedework/dayvalues[start=$temp]"> 
     556                              <option value="{$temp}" selected="selected"> 
     557                                <xsl:value-of select="/bedework/daylabels/val[position()=$pos]"/> 
     558                              </option> 
     559                            </xsl:when> 
     560                            <xsl:otherwise> 
     561                              <option value="{$temp}"> 
     562                                <xsl:value-of select="/bedework/daylabels/val[position()=$pos]"/> 
     563                              </option> 
     564                            </xsl:otherwise> 
     565                          </xsl:choose> 
     566                        </xsl:for-each> 
     567                      </select> 
     568                    </td> 
     569                  </xsl:if> 
     570                </xsl:if> 
     571                <td> 
     572                  <xsl:variable name="temp" select="/bedework/yearvalues/start"/> 
     573                  <input type="text" name="viewStartDate.year" maxlength="4" size="4" value="{$temp}"/> 
     574                </td> 
     575                <td> 
     576                  <input name="submit" type="submit" value="go"/> 
     577                </td> 
     578              </tr> 
     579            </table> 
     580          </form> 
     581        </td> 
     582      </tr> 
     583    </table> 
     584  </xsl:template> 
     585 
     586  <xsl:template name="utilBar"> 
     587    <table width="100%" border="0" cellpadding="0" cellspacing="0" id="utilBarTable"> 
     588      <tr> 
     589        <td class="leftCell"> 
     590          <xsl:choose> 
     591            <xsl:when test="/bedework/periodname = 'day'"> 
     592              <xsl:variable name="date" select="/bedework/firstday/date"/> 
     593              <a href="{$initEvent}&amp;startdate={$date}" title="add event"> 
     594                  <img src="{$resourcesRoot}/resources/add2mycal-icon-small.gif" width="12" height="16" border="0" alt="add event"/> 
     595                  add event 
     596              </a> 
     597            </xsl:when> 
     598            <xsl:otherwise> 
     599              <a href="{$initEvent}" title="add event"> 
     600                  <img src="{$resourcesRoot}/resources/add2mycal-icon-small.gif" width="12" height="16" border="0" alt="add event"/> 
     601                  add event 
     602              </a> 
     603            </xsl:otherwise> 
     604          </xsl:choose> 
     605          <a href="{$initUpload}" title="upload event"> 
     606              <img src="{$resourcesRoot}/resources/std-icalUpload-icon-small.gif" width="12" height="16" border="0" alt="upload event"/> 
     607              upload 
     608          </a> 
     609        </td> 
     610        <td class="rightCell"> 
     611 
     612          <!-- show free / busy --> 
     613          <xsl:choose> 
     614            <xsl:when test="/bedework/periodname!='Year'"> 
     615              <xsl:choose> 
     616                <xsl:when test="/bedework/page='freeBusy'"> 
     617                  <a href="{$setViewPeriod}&amp;date={$curdate}"><img src="{$resourcesRoot}/resources/std-button-events.gif" width="70" height="21" border="0" alt="show events"/></a> 
     618                </xsl:when> 
     619                <xsl:otherwise> 
     620                  <a href="{$freeBusy-fetch}&amp;date={$curdate}"><img src="{$resourcesRoot}/resources/std-button-freebusy.gif" width="70" height="21" border="0" alt="show free/busy"/></a> 
     621                </xsl:otherwise> 
     622              </xsl:choose> 
     623            </xsl:when> 
     624            <xsl:otherwise> 
     625              <img src="{$resourcesRoot}/resources/std-button-freebusy-off.gif" width="70" height="21" border="0" alt="show free/busy"/> 
     626            </xsl:otherwise> 
     627          </xsl:choose> 
     628 
     629          <!-- toggle list / calendar view --> 
     630          <xsl:choose> 
     631            <xsl:when test="/bedework/periodname='Day'"> 
     632              <img src="{$resourcesRoot}/resources/std-button-listview-off.gif" width="46" height="21" border="0" alt="toggle list/calendar view"/> 
     633            </xsl:when> 
     634            <xsl:when test="/bedework/periodname='Year'"> 
     635              <img src="{$resourcesRoot}/resources/std-button-calview-off.gif" width="46" height="21" border="0" alt="toggle list/calendar view"/> 
     636            </xsl:when> 
     637            <xsl:when test="/bedework/periodname='Month'"> 
     638              <xsl:choose> 
     639                <xsl:when test="/bedework/appvar[key='monthViewMode']/value='list'"> 
     640                  <a href="{$setup}&amp;setappvar=monthViewMode(cal)" title="toggle list/calendar view"> 
     641                    <img src="{$resourcesRoot}/resources/std-button-calview.gif" width="46" height="21" border="0" alt="toggle list/calendar view"/> 
     642                  </a> 
     643                </xsl:when> 
     644                <xsl:otherwise> 
     645                  <a href="{$setup}&amp;setappvar=monthViewMode(list)" title="toggle list/calendar view"> 
     646                    <img src="{$resourcesRoot}/resources/std-button-listview.gif" width="46" height="21" border="0" alt="toggle list/calendar view"/> 
     647                  </a> 
     648                </xsl:otherwise> 
     649              </xsl:choose> 
     650            </xsl:when> 
     651            <xsl:otherwise> 
     652              <xsl:choose> 
     653                <xsl:when test="/bedework/appvar[key='weekViewMode']/value='list'"> 
     654                  <a href="{$setup}&amp;setappvar=weekViewMode(cal)" title="toggle list/calendar view"> 
     655                    <img src="{$resourcesRoot}/resources/std-button-calview.gif" width="46" height="21" border="0" alt="toggle list/calendar view"/> 
     656                  </a> 
     657                </xsl:when> 
     658                <xsl:otherwise> 
     659                  <a href="{$setup}&amp;setappvar=weekViewMode(list)" title="toggle list/calendar view"> 
     660                    <img src="{$resourcesRoot}/resources/std-button-listview.gif" width="46" height="21" border="0" alt="toggle list/calendar view"/> 
     661                  </a> 
     662                </xsl:otherwise> 
     663              </xsl:choose> 
     664            </xsl:otherwise> 
     665          </xsl:choose> 
     666 
     667          <!-- summary / detailed mode toggle --> 
     668          <xsl:choose> 
     669            <xsl:when test="/bedework/periodname='Year' or 
     670                              (/bedework/periodname='Month' and 
     671                              (/bedework/appvar[key='monthViewMode']/value='cal' or 
     672                              not(/bedework/appvar[key='monthViewMode']))) or 
     673                              (/bedework/periodname='Week' and 
     674                              (/bedework/appvar[key='weekViewMode']/value='cal' or 
     675                              not(/bedework/appvar[key='weekViewMode'])))"> 
     676              <xsl:choose> 
     677                <xsl:when test="/bedework/appvar[key='summaryMode']/value='details'"> 
     678                  <img src="{$resourcesRoot}/resources/std-button-summary-off.gif" width="62" height="21" border="0" alt="only summaries of events supported in this view"/> 
     679                </xsl:when> 
     680                <xsl:otherwise> 
     681                  <img src="{$resourcesRoot}/resources/std-button-details-off.gif" width="62" height="21" border="0" alt="only summaries of events supported in this view"/> 
     682                </xsl:otherwise> 
     683              </xsl:choose> 
     684            </xsl:when> 
     685            <xsl:otherwise> 
     686              <xsl:choose> 
     687                <xsl:when test="/bedework/appvar[key='summaryMode']/value='details'"> 
     688                  <a href="{$setup}&amp;setappvar=summaryMode(summary)" title="toggle summary/detailed view"> 
     689                    <img src="{$resourcesRoot}/resources/std-button-summary.gif" width="62" height="21" border="0" alt="toggle summary/detailed view"/> 
     690                  </a> 
     691                </xsl:when> 
     692                <xsl:otherwise> 
     693                  <a href="{$setup}&amp;setappvar=summaryMode(details)" title="toggle summary/detailed view"> 
     694                    <img src="{$resourcesRoot}/resources/std-button-details.gif" width="62" height="21" border="0" alt="toggle summary/detailed view"/> 
     695                  </a> 
     696                </xsl:otherwise> 
     697              </xsl:choose> 
     698            </xsl:otherwise> 
     699          </xsl:choose> 
     700 
     701          <!-- refresh button --> 
     702          <a href="{$setup}"><img src="{$resourcesRoot}/resources/std-button-refresh.gif" width="70" height="21" border="0" alt="refresh view"/></a> 
     703        </td> 
     704      </tr> 
     705    </table> 
     706  </xsl:template> 
     707 
     708  <!--==== LIST VIEW  (for day, week, and month) ====--> 
     709  <xsl:template name="listView"> 
     710    <table id="listTable" border="0" cellpadding="0" cellspacing="0"> 
     711      <xsl:choose> 
     712        <xsl:when test="not(/bedework/eventscalendar/year/month/week/day/event)"> 
     713          <tr> 
     714            <td class="noEventsCell"> 
     715              No events to display. 
     716            </td> 
     717          </tr> 
     718        </xsl:when> 
     719        <xsl:otherwise> 
     720          <xsl:for-each select="/bedework/eventscalendar/year/month/week/day[event]"> 
     721            <xsl:if test="/bedework/periodname='Week' or /bedework/periodname='Month' or /bedework/periodname=''"> 
     722              <tr> 
     723                <td colspan="6" class="dateRow"> 
     724                  <xsl:variable name="date" select="date"/> 
     725                  <a href="{$initEvent}&amp;startdate={$date}" class="listAdd"> 
     726                    add event 
     727                  </a> 
     728                  <a href="{$setViewPeriod}&amp;viewType=dayView&amp;date={$date}"> 
     729                    <xsl:value-of select="name"/>, <xsl:value-of select="longdate"/> 
     730                  </a> 
     731                </td> 
     732              </tr> 
     733            </xsl:if> 
     734            <xsl:for-each select="event"> 
     735              <xsl:variable name="id" select="id"/> 
     736              <xsl:variable name="subscriptionId" select="subscription/id"/> 
     737              <xsl:variable name="calPath" select="calendar/encodedPath"/> 
     738              <xsl:variable name="guid" select="guid"/> 
     739              <xsl:variable name="recurrenceId" select="recurrenceId"/> 
     740              <tr> 
     741                <xsl:variable name="dateRangeStyle"> 
     742                  <xsl:choose> 
     743                    <xsl:when test="start/shortdate = parent::day/shortdate"> 
     744                      <xsl:choose> 
     745                        <xsl:when test="start/allday = 'true'">dateRangeCrossDay</xsl:when> 
     746                        <xsl:when test="start/hour24 &lt; 6">dateRangeEarlyMorning</xsl:when> 
     747                        <xsl:when test="start/hour24 &lt; 12">dateRangeMorning</xsl:when> 
     748                        <xsl:when test="start/hour24 &lt; 18">dateRangeAfternoon</xsl:when> 
     749                        <xsl:otherwise>dateRangeEvening</xsl:otherwise> 
     750                      </xsl:choose> 
     751                    </xsl:when> 
     752                    <xsl:otherwise>dateRangeCrossDay</xsl:otherwise> 
     753                  </xsl:choose> 
     754                </xsl:variable> 
     755                <xsl:choose> 
     756                  <xsl:when test="start/allday = 'true' and 
     757                                  start/shortdate = end/shortdate"> 
     758                    <td class="{$dateRangeStyle} center" colspan="3"> 
     759                      all day 
     760                    </td> 
     761                  </xsl:when> 
     762                  <xsl:when test="start/shortdate = end/shortdate and 
     763                                  start/time = end/time"> 
     764                    <td class="{$dateRangeStyle} center" colspan="3"> 
     765                      <a href="{$eventView}&amp;subid={$subscriptionId}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}"> 
     766                        <xsl:value-of select="start/time"/> 
     767                      </a> 
     768                    </td> 
     769                  </xsl:when> 
     770                  <xsl:otherwise> 
     771                    <td class="{$dateRangeStyle} right"> 
     772                      <a href="{$eventView}&amp;subid={$subscriptionId}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}"> 
     773                      <xsl:choose> 
     774                        <xsl:when test="start/allday = 'true' and 
     775                                        parent::day/shortdate = start/shortdate"> 
     776                          today 
     777                        </xsl:when> 
     778                        <xsl:when test="parent::day/shortdate != start/shortdate"> 
     779                          <span class="littleArrow">&#171;</span>&#160; 
     780                          <xsl:value-of select="start/month"/>/<xsl:value-of select="start/day"/> 
     781                        </xsl:when> 
     782                        <xsl:otherwise> 
     783                          <xsl:value-of select="start/time"/> 
     784                        </xsl:otherwise> 
     785                      </xsl:choose> 
     786                      </a> 
     787                    </td> 
     788                    <td class="{$dateRangeStyle} center"> 
     789                      <a href="{$eventView}&amp;subid={$subscriptionId}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}">-</a> 
     790                    </td> 
     791                    <td class="{$dateRangeStyle} left"> 
     792                      <a href="{$eventView}&amp;subid={$subscriptionId}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}"> 
     793                      <xsl:choose> 
     794                        <xsl:when test="end/allday = 'true' and 
     795                                        parent::day/shortdate = end/shortdate"> 
     796                          today 
     797                        </xsl:when> 
     798                        <xsl:when test="parent::day/shortdate != end/shortdate"> 
     799                          <xsl:value-of select="end/month"/>/<xsl:value-of select="end/day"/> 
     800                          &#160;<span class="littleArrow">&#187;</span> 
     801                        </xsl:when> 
     802                        <xsl:otherwise> 
     803                          <xsl:value-of select="end/time"/> 
     804                        </xsl:otherwise> 
     805                      </xsl:choose> 
     806                      </a> 
     807                    </td> 
     808                  </xsl:otherwise> 
     809                </xsl:choose> 
     810                <xsl:variable name="descriptionClass"> 
     811                  <xsl:choose> 
     812                    <xsl:when test="status='CANCELLED'">description bwStatusCancelled</xsl:when> 
     813                    <xsl:when test="status='TENTATIVE'">description bwStatusTentative</xsl:when> 
     814                    <xsl:otherwise>description</xsl:otherwise> 
     815                  </xsl:choose> 
     816                </xsl:variable> 
     817                <xsl:variable name="subStyle" select="subscription/style"/> 
     818                <td class="{$descriptionClass} {$subStyle}"> 
     819                  <xsl:if test="status='CANCELLED'"><strong>CANCELLED: </strong></xsl:if> 
     820                  <xsl:choose> 
     821                    <xsl:when test="/bedework/appvar[key='summaryMode']/value='details'"> 
     822                      <a href="{$eventView}&amp;subid={$subscriptionId}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}"> 
     823                        <strong> 
     824                          <xsl:value-of select="summary"/>: 
     825                        </strong> 
     826                        <xsl:value-of select="description"/>&#160; 
     827                        <em> 
     828                          <xsl:value-of select="location/address"/> 
     829                          <xsl:if test="location/subaddress != ''"> 
     830                            , <xsl:value-of select="location/subaddress"/> 
     831                          </xsl:if>.&#160; 
     832                          <xsl:if test="cost!=''"> 
     833                            <xsl:value-of select="cost"/>.&#160; 
     834                          </xsl:if> 
     835                          <xsl:if test="sponsor/name!='none'"> 
     836                            Contact: <xsl:value-of select="sponsor/name"/> 
     837                          </xsl:if> 
     838                        </em> 
     839                      </a> 
     840                      <xsl:if test="link != ''"> 
     841                        <xsl:variable name="link" select="link"/> 
     842                        <a href="{$link}" class="moreLink"><xsl:value-of select="link"/></a> 
     843                      </xsl:if> 
     844                    </xsl:when> 
     845                    <xsl:otherwise> 
     846                      <a href="{$eventView}&amp;subid={$subscriptionId}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}"> 
     847                        <xsl:value-of select="summary"/> 
     848                        <xsl:if test="location/address != ''">, <xsl:value-of select="location/address"/></xsl:if> 
     849                      </a> 
     850                    </xsl:otherwise> 
     851                  </xsl:choose> 
     852                </td> 
     853                <td class="eventLinks"> 
     854                  <xsl:call-template name="eventLinks"/> 
     855                </td> 
     856                <td class="smallIcon"> 
     857                  <xsl:variable name="eventIcalName" select="concat($guid,'.ics')"/> 
     858                  <a href="{$export}&amp;subid={$subscriptionId}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}&amp;nocache=no&amp;skinName=ical&amp;contentType=text/calendar&amp;contentName={$eventIcalName}" title="Download event as ical - for Outlook, PDAs, iCal, and other desktop calendars"> 
     859                    <img src="{$resourcesRoot}/resources/std-ical_icon_small.gif" width="12" height="16" border="0" alt="Download event as ical - for Outlook, PDAs, iCal, and other desktop calendars"/> 
     860                  </a> 
     861                </td> 
     862              </tr> 
     863            </xsl:for-each> 
     864          </xsl:for-each> 
     865        </xsl:otherwise> 
     866      </xsl:choose> 
     867    </table> 
     868  </xsl:template> 
     869 
     870  <xsl:template name="eventLinks"> 
     871    <xsl:variable name="subscriptionId" select="subscription/id"/> 
     872    <xsl:variable name="calPath" select="calendar/encodedPath"/> 
     873    <xsl:variable name="guid" select="guid"/> 
     874    <xsl:variable name="recurrenceId" select="recurrenceId"/> 
     875    <xsl:choose> 
     876      <xsl:when test="isAnnotation"> 
     877        <xsl:choose> 
     878          <xsl:when test="recurring=true"> 
     879            <a href="{$delEvent}&amp;subid={$subscriptionId}&amp;calPath={$calPath}&amp;guid={$guid}&amp;confirmationid={$confId}">Remove All</a> 
     880          </xsl:when> 
     881          <xsl:otherwise> 
     882            <a href="{$delEvent}&amp;subid={$subscriptionId}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}&amp;confirmationid={$confId}">Remove</a> 
     883          </xsl:otherwise> 
     884        </xsl:choose> 
     885      </xsl:when> 
     886      <xsl:when test="calendar/owner = /bedework/userid"> 
     887        <a href="{$editEvent}&amp;subid={$subscriptionId}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}">Edit</a> | 
     888        <xsl:choose> 
     889          <xsl:when test="recurring=true"> 
     890            <a href="{$delEvent}&amp;subid={$subscriptionId}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}&amp;confirmationid={$confId}">Delete All</a> 
     891          </xsl:when> 
     892          <xsl:otherwise> 
     893            <a href="{$delEvent}&amp;subid={$subscriptionId}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}&amp;confirmationid={$confId}">Delete</a> 
     894          </xsl:otherwise> 
     895        </xsl:choose> 
     896      </xsl:when> 
     897      <xsl:otherwise> 
     898        <a href="{$subscriptions-fetch}">Subscription</a> 
     899      </xsl:otherwise> 
     900    </xsl:choose> 
     901  </xsl:template> 
     902 
     903  <!--==== WEEK CALENDAR VIEW ====--> 
     904  <xsl:template name="weekView"> 
     905    <table id="monthCalendarTable" border="0" cellpadding="0" cellspacing="0"> 
     906      <tr> 
     907        <xsl:for-each select="/bedework/daynames/val"> 
     908          <th class="dayHeading"><xsl:value-of select="."/></th> 
     909        </xsl:for-each> 
     910      </tr> 
     911      <tr> 
     912        <xsl:for-each select="/bedework/eventscalendar/year/month/week/day"> 
     913          <xsl:variable name="dayPos" select="position()"/> 
     914          <xsl:if test="filler='false'"> 
     915            <td> 
     916              <xsl:variable name="dayDate" select="date"/> 
     917              <a href="{$initEvent}&amp;startdate={$dayDate}" class="gridAdd" title="add event"> 
     918                <img src="{$resourcesRoot}/resources/addEvent-forGrid-icon.gif" width="9" height="10" border="0" alt="add event"/> 
     919              </a> 
     920              <a href="{$setViewPeriod}&amp;viewType=dayView&amp;date={$dayDate}" class="dayLink" title="go to day"> 
     921                <xsl:value-of select="value"/> 
     922              </a> 
     923              <ul> 
     924                <xsl:apply-templates select="event" mode="calendarLayout"> 
     925                  <xsl:with-param name="dayPos" select="$dayPos"/> 
     926                </xsl:apply-templates> 
     927              </ul> 
     928            </td> 
     929          </xsl:if> 
     930        </xsl:for-each> 
     931      </tr> 
     932    </table> 
     933  </xsl:template> 
     934 
     935  <!--==== MONTH CALENDAR VIEW ====--> 
     936  <xsl:template name="monthView"> 
     937    <table id="monthCalendarTable" border="0" cellpadding="0" cellspacing="0"> 
     938      <tr> 
     939        <xsl:for-each select="/bedework/daynames/val"> 
     940          <th class="dayHeading"><xsl:value-of select="."/></th> 
     941        </xsl:for-each> 
     942      </tr> 
     943      <xsl:for-each select="/bedework/eventscalendar/year/month/week"> 
     944        <tr> 
     945          <xsl:for-each select="day"> 
     946            <xsl:variable name="dayPos" select="position()"/> 
     947            <xsl:choose> 
     948              <xsl:when test="filler='true'"> 
     949                <td class="filler">&#160;</td> 
     950              </xsl:when> 
     951              <xsl:otherwise> 
     952                <td> 
     953                  <xsl:variable name="dayDate" select="date"/> 
     954                  <a href="{$initEvent}&amp;startdate={$dayDate}" class="gridAdd" title="add event"> 
     955                    <img src="{$resourcesRoot}/resources/addEvent-forGrid-icon.gif" width="10" height="10" border="0" alt="add event"/> 
     956                  </a> 
     957                  <a href="{$setViewPeriod}&amp;viewType=dayView&amp;date={$dayDate}" class="dayLink" title="go to day"> 
     958                    <xsl:value-of select="value"/> 
     959                  </a> 
     960                  <ul> 
     961                    <xsl:apply-templates select="event" mode="calendarLayout"> 
     962                      <xsl:with-param name="dayPos" select="$dayPos"/> 
     963                    </xsl:apply-templates> 
     964                  </ul> 
     965                </td> 
     966              </xsl:otherwise> 
     967            </xsl:choose> 
     968          </xsl:for-each> 
     969        </tr> 
     970      </xsl:for-each> 
     971    </table> 
     972  </xsl:template> 
     973 
     974  <xsl:template match="event" mode="calendarLayout"> 
     975    <xsl:param name="dayPos"/> 
     976    <xsl:variable name="subscriptionId" select="subscription/id"/> 
     977    <xsl:variable name="calPath" select="calendar/encodedPath"/> 
     978    <xsl:variable name="guid" select="guid"/> 
     979    <xsl:variable name="recurrenceId" select="recurrenceId"/> 
     980    <xsl:variable name="eventRootClass"> 
     981      <xsl:choose> 
     982        <!-- Otherwise: Alternating colors for all standard events --> 
     983        <xsl:when test="position() = 1">event firstEvent</xsl:when> 
     984        <xsl:otherwise>event</xsl:otherwise> 
     985      </xsl:choose> 
     986    </xsl:variable> 
     987    <xsl:variable name="eventClass"> 
     988      <xsl:choose> 
     989        <!-- Special styles for the month grid --> 
     990        <xsl:when test="status='CANCELLED'">eventCancelled</xsl:when> 
     991        <xsl:when test="status='TENTATIVE'">eventTentative</xsl:when> 
     992        <!-- Otherwise: Alternating colors for all standard events --> 
     993        <xsl:when test="position() mod 2 = 1">eventLinkA</xsl:when> 
     994        <xsl:otherwise>eventLinkB</xsl:otherwise> 
     995      </xsl:choose> 
     996    </xsl:variable> 
     997    <!-- User defined subscription styles. 
     998        These are set in the add/modify subscription forms which 
     999        rely (in this stylesheet) on subColors.css; if present, these 
     1000        override the background-color set by eventClass. User styles should 
     1001        not be used for cancelled events (tentative is ok). --> 
     1002    <xsl:variable name="subColor"> 
     1003      <xsl:choose> 
     1004        <xsl:when test="status != 'CANCELLED' and 
     1005                        subscription/style != '' and 
     1006                        subscription/style != 'default'"><xsl:value-of select="subscription/style"/></xsl:when> 
     1007        <xsl:otherwise></xsl:otherwise> 
     1008      </xsl:choose> 
     1009    </xsl:variable> 
     1010    <li> 
     1011      <a href="{$eventView}&amp;subid={$subscriptionId}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}" 
     1012        class="{$eventRootClass} {$eventClass} {$subColor}"> 
     1013        <xsl:if test="status='CANCELLED'">CANCELLED: </xsl:if> 
     1014        <xsl:value-of select="summary"/> 
     1015        <xsl:variable name="eventTipClass"> 
     1016          <xsl:choose> 
     1017            <xsl:when test="$dayPos &gt; 5">eventTipReverse</xsl:when> 
     1018            <xsl:otherwise>eventTip</xsl:otherwise> 
     1019          </xsl:choose> 
     1020        </xsl:variable> 
     1021        <span class="{$eventTipClass}"> 
     1022          <xsl:if test="status='CANCELLED'"><span class="eventTipStatusCancelled">CANCELLED</span></xsl:if> 
     1023          <xsl:if test="status='TENTATIVE'"><span class="eventTipStatusTentative">TENTATIVE</span></xsl:if> 
     1024          <strong><xsl:value-of select="summary"/></strong><br/> 
     1025          Time: 
     1026          <xsl:choose> 
     1027            <xsl:when test="start/allday = 'false'"> 
     1028              <xsl:value-of select="start/time"/> 
     1029              <xsl:if test="start/time != end/time"> 
     1030                - <xsl:value-of select="end/time"/> 
     1031              </xsl:if> 
     1032            </xsl:when> 
     1033            <xsl:otherwise> 
     1034              all day 
     1035            </xsl:otherwise> 
     1036          </xsl:choose><br/> 
     1037          <xsl:if test="location/address"> 
     1038            Location: <xsl:value-of select="location/address"/><br/> 
     1039          </xsl:if> 
     1040          Calendar: 
     1041            <xsl:variable name="userPath">user/<xsl:value-of select="/bedework/userid"/>/</xsl:variable> 
     1042            <xsl:choose> 
     1043              <xsl:when test="contains(calendar/path,$userPath)"> 
     1044                <xsl:value-of select="substring-after(calendar/path,$userPath)"/> 
     1045              </xsl:when> 
     1046              <xsl:otherwise> 
     1047                <xsl:value-of select="calendar/path"/> 
     1048              </xsl:otherwise> 
     1049            </xsl:choose><br/> 
     1050          Type: 
     1051          <xsl:choose> 
     1052            <xsl:when test="isAnnotation"> 
     1053              public event 
     1054            </xsl:when> 
     1055            <xsl:when test="calendar/owner = /bedework/userid"> 
     1056              personal event, editable 
     1057            </xsl:when> 
     1058            <xsl:otherwise> 
     1059              subscription 
     1060            </xsl:otherwise> 
     1061          </xsl:choose> 
     1062        </span> 
     1063      </a> 
     1064    </li> 
     1065  </xsl:template> 
     1066 
     1067  <!--==== YEAR VIEW ====--> 
     1068  <xsl:template name="yearView"> 
     1069    <table id="yearCalendarTable" border="0" cellpadding="0" cellspacing="0"> 
     1070      <tr> 
     1071        <xsl:apply-templates select="/bedework/eventscalendar/year/month[position() &lt;= 3]"/> 
     1072      </tr> 
     1073      <tr> 
     1074        <xsl:apply-templates select="/bedework/eventscalendar/year/month[(position() &gt; 3) and (position() &lt;= 6)]"/> 
     1075      </tr> 
     1076      <tr> 
     1077        <xsl:apply-templates select="/bedework/eventscalendar/year/month[(position() &gt; 6) and (position() &lt;= 9)]"/> 
     1078      </tr> 
     1079      <tr> 
     1080        <xsl:apply-templates select="/bedework/eventscalendar/year/month[position() &gt; 9]"/> 
     1081      </tr> 
     1082    </table> 
     1083  </xsl:template> 
     1084 
     1085  <!-- year view month tables --> 
     1086  <xsl:template match="month"> 
     1087    <td> 
     1088      <table class="yearViewMonthTable" border="0" cellpadding="0" cellspacing="0"> 
     1089        <tr> 
     1090          <td colspan="8" class="monthName"> 
     1091            <xsl:variable name="firstDayOfMonth" select="week/day/date"/> 
     1092            <a href="{$setViewPeriod}&amp;viewType=monthView&amp;date={$firstDayOfMonth}"> 
     1093              <xsl:value-of select="longname"/> 
     1094            </a> 
     1095          </td> 
     1096        </tr> 
     1097        <tr> 
     1098          <th>&#160;</th> 
     1099          <xsl:for-each select="/bedework/shortdaynames/val"> 
     1100            <th><xsl:value-of select="."/></th> 
     1101          </xsl:for-each> 
     1102        </tr> 
     1103        <xsl:for-each select="week"> 
     1104          <tr> 
     1105            <td class="weekCell"> 
     1106              <xsl:variable name="firstDayOfWeek" select="day/date"/> 
     1107              <a href="{$setViewPeriod}&amp;viewType=weekView&amp;date={$firstDayOfWeek}"> 
     1108                <xsl:value-of select="value"/> 
     1109              </a> 
     1110            </td> 
     1111            <xsl:for-each select="day"> 
     1112              <xsl:choose> 
     1113                <xsl:when test="filler='true'"> 
     1114                  <td class="filler">&#160;</td> 
     1115                </xsl:when> 
     1116                <xsl:otherwise> 
     1117                  <td> 
     1118                    <xsl:variable name="dayDate" select="date"/> 
     1119                    <a href="{$setViewPeriod}&amp;viewType=dayView&amp;date={$dayDate}"> 
     1120                      <xsl:value-of select="value"/> 
     1121                    </a> 
     1122                  </td> 
     1123                </xsl:otherwise> 
     1124              </xsl:choose> 
     1125            </xsl:for-each> 
     1126          </tr> 
     1127        </xsl:for-each> 
     1128      </table> 
     1129    </td> 
     1130  </xsl:template> 
     1131 
     1132  <!--==== SINGLE EVENT ====--> 
     1133  <xsl:template match="event"> 
     1134    <xsl:variable name="subscriptionId" select="subscription/id"/> 
     1135    <xsl:variable name="calPath" select="calendar/encodedPath"/> 
     1136    <xsl:variable name="guid" select="guid"/> 
     1137    <xsl:variable name="recurrenceId" select="recurrenceId"/> 
     1138    <xsl:variable name="statusClass"> 
     1139      <xsl:choose> 
     1140        <xsl:when test="status='CANCELLED'">bwStatusCancelled</xsl:when> 
     1141        <xsl:when test="status='TENTATIVE'">bwStatusTentative</xsl:when> 
     1142        <xsl:otherwise>bwStatusConfirmed</xsl:otherwise> 
     1143      </xsl:choose> 
     1144    </xsl:variable> 
     1145    <h2 class="{$statusClass}"> 
     1146      <xsl:if test="status='CANCELLED'">CANCELLED: </xsl:if> 
     1147      <xsl:choose> 
     1148        <xsl:when test="link != ''"> 
     1149          <xsl:variable name="link" select="link"/> 
     1150          <a href="{$link}"> 
     1151            <xsl:value-of select="summary"/> 
     1152          </a> 
     1153        </xsl:when> 
     1154        <xsl:otherwise> 
     1155          <xsl:value-of select="summary"/> 
     1156        </xsl:otherwise> 
     1157      </xsl:choose> 
     1158    </h2> 
     1159    <table class="common" cellspacing="0"> 
     1160      <tr> 
     1161        <th colspan="2" class="commonHeader"> 
     1162          <div id="eventActions"> 
     1163            <xsl:variable name="eventIcalName" select="concat($guid,'.ics')"/> 
     1164            <a href="{$export}&amp;subid={$subscriptionId}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}&amp;nocache=no&amp;skinName=ical&amp;contentType=text/calendar&amp;contentName={$eventIcalName}" title="Download event as ical - for Outlook, PDAs, iCal, and other desktop calendars"> 
     1165              <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"/> 
     1166              Download 
     1167            </a> | 
     1168            <xsl:choose> 
     1169              <xsl:when test="isAnnotation"> 
     1170                <xsl:choose> 
     1171                  <xsl:when test="recurring=true"> 
     1172                    <a href="{$delEvent}&amp;subid={$subscriptionId}&amp;calPath={$calPath}&amp;guid={$guid}&amp;confirmationid={$confId}"> 
     1173                      <img src="{$resourcesRoot}/resources/trashIcon.gif" width="13" height="13" border="0" alt="delete"/> 
     1174                      Remove All (recurring) 
     1175                    </a> 
     1176                  </xsl:when> 
     1177                  <xsl:otherwise> 
     1178                    <a href="{$delEvent}&amp;subid={$subscriptionId}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}&amp;confirmationid={$confId}"> 
     1179                      <img src="{$resourcesRoot}/resources/trashIcon.gif" width="13" height="13" border="0" alt="delete"/> 
     1180                      Remove 
     1181                    </a> 
     1182                  </xsl:otherwise> 
     1183                </xsl:choose> 
     1184              </xsl:when> 
     1185              <xsl:when test="currentAccess/current-user-privilege-set/privilege/write-content"> 
     1186                <a href="{$editEvent}&amp;subid={$subscriptionId}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}&amp;confirmationid={$confId}"> 
     1187                  <img src="{$resourcesRoot}/resources/std-ical_iconEditDkGray.gif" width="12" height="16" border="0" alt="edit"/> 
     1188                  Edit 
     1189                </a> 
     1190              </xsl:when> 
     1191              <xsl:otherwise> 
     1192                <a href="{$subscriptions-fetch}"> 
     1193                  <img src="{$resourcesRoot}/resources/std-ical_iconSubsDkGray.gif" width="12" height="16" border="0" alt="edit"/> 
     1194                  Manage Subscriptions 
     1195                </a> 
     1196              </xsl:otherwise> 
     1197            </xsl:choose> 
     1198            <xsl:if test="currentAccess/current-user-privilege-set/privilege/unbind and not(isAnnotation)"> 
     1199             
     1200              <xsl:choose> 
     1201                <xsl:when test="recurring=true"> 
     1202                  <a href="{$delEvent}&amp;subid={$subscriptionId}&amp;calPath={$calPath}&amp;guid={$guid}&amp;confirmationid={$confId}"> 
     1203                    <img src="{$resourcesRoot}/resources/trashIcon.gif" width="13" height="13" border="0" alt="delete"/> 
     1204                    Delete All (recurring) 
     1205                  </a> 
     1206                </xsl:when> 
     1207                <xsl:otherwise> 
     1208                  <a href="{$delEvent}&amp;subid={$subscriptionId}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}&amp;confirmationid={$confId}"> 
     1209                    <img src="{$resourcesRoot}/resources/trashIcon.gif" width="13" height="13" border="0" alt="delete"/> 
     1210                    Delete 
     1211                  </a> 
     1212                </xsl:otherwise> 
     1213              </xsl:choose> 
     1214            </xsl:if> 
     1215          </div> 
     1216          <xsl:choose> 
     1217            <xsl:when test="calendar/owner = /bedework/userid"> 
     1218              Personal Event 
     1219            </xsl:when> 
     1220            <xsl:when test="starts-with(calendar/path,'/user/')"> 
     1221              User Event (<xsl:value-of select="calendar/owner"/>) 
     1222            </xsl:when> 
     1223            <xsl:when test="isAnnotation"> 
     1224              Public Event 
     1225            </xsl:when> 
     1226            <xsl:otherwise> 
     1227              <xsl:choose> 
     1228                <xsl:when test="starts-with(calendar/path,'/public/')"> 
     1229                  Public Event from Subscription 
     1230                </xsl:when> 
     1231                <xsl:otherwise> 
     1232                  Event from Subscription 
     1233                </xsl:otherwise> 
     1234              </xsl:choose> 
     1235            </xsl:otherwise> 
     1236          </xsl:choose> 
     1237        </th> 
     1238      </tr> 
     1239      <tr> 
     1240        <td class="fieldname">When:</td> 
     1241        <td class="fieldval"> 
     1242          <xsl:value-of select="start/dayname"/>, <xsl:value-of select="start/longdate"/><xsl:text> </xsl:text> 
     1243          <xsl:if test="start/allday = 'false'"> 
     1244            <span class="time"><xsl:value-of select="start/time"/></span> 
     1245          </xsl:if> 
     1246          <xsl:if test="(end/longdate != start/longdate) or 
     1247                        ((end/longdate = start/longdate) and (end/time != start/time))"> - </xsl:if> 
     1248          <xsl:if test="end/longdate != start/longdate"> 
     1249            <xsl:value-of select="substring(end/dayname,1,3)"/>, <xsl:value-of select="end/longdate"/><xsl:text> </xsl:text> 
     1250          </xsl:if> 
     1251          <xsl:choose> 
     1252            <xsl:when test="start/allday = 'true'"> 
     1253              <span class="time"><em>(all day)</em></span> 
     1254            </xsl:when> 
     1255            <xsl:when test="end/longdate != start/longdate"> 
     1256              <span class="time"><xsl:value-of select="end/time"/></span> 
     1257            </xsl:when> 
     1258            <xsl:when test="end/time != start/time"> 
     1259              <span class="time"><xsl:value-of select="end/time"/></span> 
     1260            </xsl:when> 
     1261          </xsl:choose> 
     1262        </td> 
     1263        <!--<th class="icon" rowspan="2"> 
     1264          <xsl:variable name="eventIcalName" select="concat($guid,'.ics')"/> 
     1265          <a href="{$export}&amp;subid={$subscriptionId}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}&amp;nocache=no&amp;skinName=ical&amp;contentType=text/calendar&amp;contentName={$eventIcalName}" title="Download event as ical - for Outlook, PDAs, iCal, and other desktop calendars"> 
     1266            <img src="{$resourcesRoot}/resources/std-ical-icon.gif" width="20" height="26" border="0" align="left" alt="Download this event"/> 
     1267          </a> 
     1268        </th>--> 
     1269      </tr> 
     1270      <tr> 
     1271        <td class="fieldname">Where:</td> 
     1272        <td class="fieldval"> 
     1273          <xsl:choose> 
     1274            <xsl:when test="location/link=''"> 
     1275              <xsl:value-of select="location/address"/> 
     1276            </xsl:when> 
     1277            <xsl:otherwise> 
     1278              <xsl:variable name="locationLink" select="location/link"/> 
     1279              <a href="{$locationLink}"> 
     1280                <xsl:value-of select="location/address"/> 
     1281              </a> 
     1282            </xsl:otherwise> 
     1283          </xsl:choose> 
     1284          <xsl:if test="location/subaddress!=''"> 
     1285            <br/><xsl:value-of select="location/subaddress"/> 
     1286          </xsl:if> 
     1287        </td> 
     1288      </tr> 
     1289      <tr> 
     1290        <td class="fieldname">Description:</td> 
     1291        <td class="fieldval"> 
     1292          <xsl:call-template name="replace"> 
     1293            <xsl:with-param name="string" select="description"/> 
     1294            <xsl:with-param name="pattern" select="'&#xA;'"/> 
     1295            <xsl:with-param name="replacement"><br/></xsl:with-param> 
     1296          </xsl:call-template> 
     1297        </td> 
     1298      </tr> 
     1299      <xsl:if test="status !='' and status != 'CONFIRMED'"> 
     1300        <tr> 
     1301          <td class="fieldname">Status:</td> 
     1302          <td class="fieldval"> 
     1303            <xsl:value-of select="status"/> 
     1304          </td> 
     1305        </tr> 
     1306      </xsl:if> 
     1307      <xsl:if test="organizer"> 
     1308        <tr> 
     1309          <td class="fieldname">Organizer:</td> 
     1310          <xsl:variable name="organizerUri" select="organizer/organizerUri"/> 
     1311          <td class="fieldval"> 
     1312            <strong> 
     1313              <a href="{$organizerUri}"> 
     1314                <xsl:value-of select="organizer/cn"/> 
     1315              </a> 
     1316            </strong> 
     1317          </td> 
     1318        </tr> 
     1319      </xsl:if> 
     1320      <xsl:if test="attendee"> 
     1321        <tr> 
     1322          <td class="fieldname">Attendees:</td> 
     1323          <td class="fieldval"> 
     1324            <table id="attendees" cellspacing="0"> 
     1325              <tr> 
     1326                <th>role</th> 
     1327                <th>status</th> 
     1328                <th>attendee</th> 
     1329              </tr> 
     1330              <xsl:for-each select="attendee"> 
     1331                <xsl:sort select="cn" order="ascending" case-order="upper-first"/> 
     1332                <tr> 
     1333                  <td class="role"> 
     1334                    <xsl:value-of select="role"/> 
     1335                  </td> 
     1336                  <td class="status"> 
     1337                    <xsl:value-of select="partstat"/> 
     1338                  </td> 
     1339                  <td> 
     1340                    <xsl:variable name="attendeeUri" select="attendeeUri"/> 
     1341                    <a href="{$attendeeUri}"><xsl:value-of select="cn"/></a> 
     1342                  </td> 
     1343                </tr> 
     1344              </xsl:for-each> 
     1345            </table> 
     1346          </td> 
     1347        </tr> 
     1348      </xsl:if> 
     1349      <xsl:if test="cost!=''"> 
     1350        <tr> 
     1351          <td class="fieldname">Cost:</td> 
     1352          <td class="fieldval"><xsl:value-of select="cost"/></td> 
     1353        </tr> 
     1354      </xsl:if> 
     1355      <xsl:if test="link != ''"> 
     1356        <tr> 
     1357          <td class="fieldname">See:</td> 
     1358          <td class="fieldval"> 
     1359            <xsl:variable name="link" select="link"/> 
     1360            <a href="{$link}"><xsl:value-of select="link"/></a> 
     1361          </td> 
     1362        </tr> 
     1363      </xsl:if> 
     1364      <xsl:if test="sponsor/name!='none'"> 
     1365        <tr> 
     1366          <td class="fieldname">Contact:</td> 
     1367          <td class="fieldval"> 
     1368            <xsl:choose> 
     1369              <xsl:when test="sponsor/link=''"> 
     1370                <xsl:value-of select="sponsor/name"/> 
     1371              </xsl:when> 
     1372              <xsl:otherwise> 
     1373                <xsl:variable name="sponsorLink" select="sponsor/link"/> 
     1374                <a href="{$sponsorLink}"> 
     1375                  <xsl:value-of select="sponsor/name"/> 
     1376                </a> 
     1377              </xsl:otherwise> 
     1378            </xsl:choose> 
     1379            <xsl:if test="sponsor/phone!=''"> 
     1380              <br /><xsl:value-of select="sponsor/phone"/> 
     1381            </xsl:if> 
     1382            <xsl:if test="sponsor/email!=''"> 
     1383              <br /> 
     1384              <xsl:variable name="email" select="sponsor/email"/> 
     1385              <xsl:variable name="subject" select="summary"/> 
     1386              <a href="mailto:{$email}&amp;subject={$subject}"> 
     1387                <xsl:value-of select="sponsor/email"/> 
     1388              </a> 
     1389            </xsl:if> 
     1390          </td> 
     1391        </tr> 
     1392      </xsl:if> 
     1393      <xsl:if test="calendar/path!=''"> 
     1394        <tr> 
     1395          <td class="fieldname">Calendar:</td> 
     1396          <td class="fieldval"> 
     1397            <xsl:variable name="calUrl" select="calendar/encodedPath"/> 
     1398            <xsl:variable name="userPath">user/<xsl:value-of select="/bedework/userid"/>/</xsl:variable> 
     1399            <a href="{$setSelection}&amp;calUrl={$calUrl}"> 
     1400              <xsl:choose> 
     1401                <xsl:when test="contains(calendar/path,$userPath)"> 
     1402                  <xsl:value-of select="substring-after(calendar/path,$userPath)"/> 
     1403                </xsl:when> 
     1404                <xsl:otherwise> 
     1405                  <xsl:value-of select="calendar/path"/> 
     1406                </xsl:otherwise> 
     1407              </xsl:choose> 
     1408            </a> 
     1409          </td> 
     1410        </tr> 
     1411      </xsl:if> 
     1412      <tr> 
     1413        <td class="fieldname filler">&#160;</td> 
     1414        <td class="fieldval">&#160;</td> 
     1415      </tr> 
     1416    </table> 
     1417  </xsl:template> 
    14181418 
    14191419 <!--==== ADD EVENT ====--> 
    1420        <xsl:template name="addEvent"> 
    1421        <!-- The name "eventForm" is referenced by several javascript functions. Do not 
    1422                change it without modifying includes.js --> 
    1423                <form name="eventForm" method="post" action="{$addEventUsingPage}" id="standardForm"> 
    1424                        <input type="hidden" name="confirmationid" value="{$confId}"/> 
    1425                        <input type="hidden" name="endType" value="date"/> 
    1426                        <h2>Add Event</h2> 
    1427                        <table class="common" cellspacing="0"> 
    1428                                <tr> 
    1429                                        <td class="fieldname"> 
    1430                                                Title: 
    1431                                        </td> 
    1432                                        <td class="fieldval"> 
    1433                                                <xsl:variable name="title" select="/bedework/formElements/form/title/input/@value"/> 
    1434                                                <input type="text" name="newEvent.summary" size="80" value="{$title}"/> 
    1435                                        </td> 
    1436                                </tr> 
    1437                                <tr> 
    1438                                        <td class="fieldname"> 
    1439                                                Calendar: 
    1440                                        </td> 
    1441                                        <td class="fieldval"> 
    1442                                                <xsl:variable name="newCalPath" select="/bedework/formElements/form/calendar/path"/> 
    1443                                                <input type="hidden" name="newCalPath" value="{$newCalPath}"/> 
    1444                                                <xsl:variable name="userPath">user/<xsl:value-of select="/bedework/userid"/>/</xsl:variable> 
    1445                                                <span id="bwEventCalDisplay"> 
    1446                                                        <xsl:choose> 
    1447                                                                <xsl:when test="contains(/bedework/formElements/form/calendar/path,$userPath)"> 
    1448                                                                        <xsl:value-of select="substring-after(/bedework/formElements/form/calendar/path,$userPath)"/> 
    1449                                                                </xsl:when> 
    1450                                                                <xsl:otherwise> 
    1451                                                                        <xsl:value-of select="/bedework/formElements/form/calendar/path"/> 
    1452                                                                </xsl:otherwise> 
    1453                                                        </xsl:choose> 
    1454                                                </span> 
    1455                                                <a href="javascript:launchCalSelectWindow('{$event-selectCalForEvent}')" class="small">[change]</a> 
    1456                                        </td> 
    1457                                </tr> 
    1458                                <tr> 
    1459                                        <td class="fieldname"> 
    1460                                                Date &amp; Time: 
    1461                                        </td> 
    1462                                        <td class="fieldval"> 
    1463                                                <!-- Set the timefields class for the first load of the page; 
    1464                                                                 subsequent changes will take place using javascript without a 
    1465                                                                 page reload. --> 
    1466                                                <xsl:variable name="timeFieldsClass"> 
    1467                                                        <xsl:choose> 
    1468                                                                <xsl:when test="/bedework/formElements/form/allDay/input/@checked='checked'">invisible</xsl:when> 
    1469                                                                <xsl:otherwise>timeFields</xsl:otherwise> 
    1470                                                        </xsl:choose> 
    1471                                                </xsl:variable> 
    1472                                                <xsl:choose> 
    1473                                                        <xsl:when test="/bedework/formElements/form/allDay/input/@checked='checked'"> 
    1474                                                                <input type="checkbox" name="allDayFlag" onclick="swapAllDayEvent(this)" value="on" checked="checked"/> 
    1475                                                                <input type="hidden" name="eventStartDate.dateOnly" value="on" id="allDayStartDateField"/> 
    1476                                                                <input type="hidden" name="eventEndDate.dateOnly" value="on" id="allDayEndDateField"/> 
    1477                                                        </xsl:when> 
    1478                                                        <xsl:otherwise> 
    1479                                                                <input type="checkbox" name="allDayFlag" onclick="swapAllDayEvent(this)" value="off"/> 
    1480                                                                <input type="hidden" name="eventStartDate.dateOnly" value="off" id="allDayStartDateField"/> 
    1481                                                                <input type="hidden" name="eventEndDate.dateOnly" value="off" id="allDayEndDateField"/> 
    1482                                                        </xsl:otherwise> 
    1483                                                </xsl:choose> 
    1484                                                all day event<br/> 
    1485                                                <div class="dateStartEndBox"> 
    1486                                                        <strong>Start:</strong> 
    1487                                                        <div class="dateFields"> 
    1488                                                                <span class="startDateLabel">Date </span> 
    1489                                                                <xsl:copy-of select="/bedework/formElements/form/start/month/*"/> 
    1490                                                                <xsl:copy-of select="/bedework/formElements/form/start/day/*"/> 
    1491                                                                <xsl:choose> 
    1492                                                                        <xsl:when test="/bedework/creating = 'true'"> 
    1493                                                                                <xsl:copy-of select="/bedework/formElements/form/start/year/*"/> 
    1494                                                                        </xsl:when> 
    1495                                                                        <xsl:otherwise> 
    1496                                                                                <xsl:copy-of select="/bedework/formElements/form/start/yearText/*"/> 
    1497                                                                        </xsl:otherwise> 
    1498                                                                </xsl:choose> 
    1499                                                        </div> 
    1500                                                        <script language="JavaScript" type="text/javascript"> 
    1501                                                        <xsl:comment> 
    1502                                                                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'); 
    1503                                                        </xsl:comment> 
    1504                                                        </script> 
    1505                                                        <!--<img src="{$resourcesRoot}/resources/calIcon.gif" width="16" height="15" border="0"/>--> 
    1506                                                        <div class="{$timeFieldsClass}" id="startTimeFields"> 
    1507                                                                <span id="calWidgetStartTimeHider" class="show"> 
    1508                                                                        <xsl:copy-of select="/bedework/formElements/form/start/hour/*"/> 
    1509                                                                        <xsl:copy-of select="/bedework/formElements/form/start/minute/*"/> 
    1510                                                                        <xsl:if test="/bedework/formElements/form/start/ampm"> 
    1511                                                                                <xsl:copy-of select="/bedework/formElements/form/start/ampm/*"/> 
    1512                                                                        </xsl:if> 
    1513                                                                        <xsl:text> </xsl:text> 
    1514                                                                        <a href="javascript:bwClockLaunch('eventStartDate');"><img src="{$resourcesRoot}/resources/clockIcon.gif" width="16" height="15" border="0"/></a> 
    1515                                                                </span> 
    1516                                                        </div> 
    1517                                                </div> 
    1518                                                <div class="dateStartEndBox"> 
    1519                                                        <strong>End:</strong> 
    1520                                                        <xsl:choose> 
    1521                                                                <xsl:when test="/bedework/formElements/form/end/type='E'"> 
    1522                                                                        <input type="radio" name="eventEndType" value="E" checked="checked" onClick="changeClass('endDateTime','shown');changeClass('endDuration','invisible');"/> 
    1523                                                                </xsl:when> 
    1524                                                                <xsl:otherwise> 
    1525                                                                        <input type="radio" name="eventEndType" value="E" onClick="changeClass('endDateTime','shown');changeClass('endDuration','invisible');"/> 
    1526                                                                </xsl:otherwise> 
    1527                                                        </xsl:choose> 
    1528                                                        Date 
    1529                                                        <xsl:variable name="endDateTimeClass"> 
    1530                                                                <xsl:choose> 
    1531                                                                        <xsl:when test="/bedework/formElements/form/end/type='E'">shown</xsl:when> 
    1532                                                                        <xsl:otherwise>invisible</xsl:otherwise> 
    1533                                                                </xsl:choose> 
    1534                                                        </xsl:variable> 
    1535                                                        <div class="{$endDateTimeClass}" id="endDateTime"> 
    1536                                                                <div class="dateFields"> 
    1537                                                                        <xsl:copy-of select="/bedework/formElements/form/end/dateTime/month/*"/> 
    1538                                                                        <xsl:copy-of select="/bedework/formElements/form/end/dateTime/day/*"/> 
    1539                                                                        <xsl:choose> 
    1540                                                                                <xsl:when test="/bedework/creating = 'true'"> 
    1541                                                                                        <xsl:copy-of select="/bedework/formElements/form/end/dateTime/year/*"/> 
    1542                                                                                </xsl:when> 
    1543                                                                                <xsl:otherwise> 
    1544                                                                                        <xsl:copy-of select="/bedework/formElements/form/end/dateTime/yearText/*"/> 
    1545                                                                                </xsl:otherwise> 
    1546                                                                        </xsl:choose> 
    1547                                                                </div> 
    1548                                                                <script language="JavaScript" type="text/javascript"> 
    1549                                                                <xsl:comment> 
    1550                                                                        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'); 
    1551                                                                </xsl:comment> 
    1552                                                                </script> 
    1553                                                                <!--<img src="{$resourcesRoot}/resources/calIcon.gif" width="16" height="15" border="0"/>--> 
    1554                                                                <div class="{$timeFieldsClass}" id="endTimeFields"> 
    1555                                                                        <span id="calWidgetEndTimeHider" class="show"> 
    1556                                                                                <xsl:copy-of select="/bedework/formElements/form/end/dateTime/hour/*"/> 
    1557                                                                                <xsl:copy-of select="/bedework/formElements/form/end/dateTime/minute/*"/> 
    1558                                                                                <xsl:if test="/bedework/formElements/form/end/dateTime/ampm"> 
    1559                                                                                        <xsl:copy-of select="/bedework/formElements/form/end/dateTime/ampm/*"/> 
    1560                                                                                </xsl:if> 
    1561                                                                                <xsl:text> </xsl:text> 
    1562                                                                                <a href="javascript:bwClockLaunch('eventEndDate');"><img src="{$resourcesRoot}/resources/clockIcon.gif" width="16" height="15" border="0"/></a> 
    1563                                                                        </span> 
    1564                                                                </div> 
    1565                                                        </div><br/> 
    1566                                                        <div id="clock" class="invisible"> 
    1567                                                                <xsl:call-template name="clock"/> 
    1568                                                        </div> 
    1569                                                        <div class="dateFields"> 
    1570                                                                <xsl:choose> 
    1571                                                                        <xsl:when test="/bedework/formElements/form/end/type='D'"> 
    1572                                                                                <input type="radio" name="eventEndType" value="D" checked="checked" onClick="changeClass('endDateTime','invisible');changeClass('endDuration','shown');"/> 
    1573                                                                        </xsl:when> 
    1574                                                                        <xsl:otherwise> 
    1575                                                                                <input type="radio" name="eventEndType" value="D" onClick="changeClass('endDateTime','invisible');changeClass('endDuration','shown');"/> 
    1576                                                                        </xsl:otherwise> 
    1577                                                                </xsl:choose> 
    1578                                                                Duration 
    1579                                                                <xsl:variable name="endDurationClass"> 
    1580                                                                        <xsl:choose> 
    1581                                                                                <xsl:when test="/bedework/formElements/form/end/type='D'">shown</xsl:when> 
    1582                                                                                <xsl:otherwise>invisible</xsl:otherwise> 
    1583                                                                        </xsl:choose> 
    1584                                                                </xsl:variable> 
    1585                                                                <xsl:variable name="durationHrMinClass"> 
    1586                                                                        <xsl:choose> 
    1587                                                                                <xsl:when test="/bedework/formElements/form/allDay/input/@checked='checked'">invisible</xsl:when> 
    1588                                                                                <xsl:otherwise>shown</xsl:otherwise> 
    1589                                                                        </xsl:choose> 
    1590                                                                </xsl:variable> 
    1591                                                                <div class="{$endDurationClass}" id="endDuration"> 
    1592                                                                        <xsl:choose> 
    1593                                                                                <xsl:when test="/bedework/formElements/form/end/duration/weeks/input/@value = '0'"> 
    1594                                                                                <!-- we are using day, hour, minute format --> 
    1595                                                                                <!-- must send either no week value or week value of 0 (zero) --> 
    1596                                                                                        <div class="durationBox"> 
    1597                                                                                                <input type="radio" name="eventDuration.type" value="daytime" onclick="swapDurationType('daytime')" checked="checked"/> 
    1598                                                                                                <xsl:variable name="daysStr" select="/bedework/formElements/form/end/duration/days/input/@value"/> 
    1599                                                                                                <input type="text" name="eventDuration.daysStr" size="2" value="{$daysStr}" id="durationDays"/>days 
    1600                                                                                                <span id="durationHrMin" class="{$durationHrMinClass}"> 
    1601                                                                                                        <xsl:variable name="hoursStr" select="/bedework/formElements/form/end/duration/hours/input/@value"/> 
    1602                                                                                                        <input type="text" name="eventDuration.hoursStr" size="2" value="{$hoursStr}" id="durationHours"/>hours 
    1603                                                                                                        <xsl:variable name="minutesStr" select="/bedework/formElements/form/end/duration/minutes/input/@value"/> 
    1604                                                                                                        <input type="text" name="eventDuration.minutesStr" size="2" value="{$minutesStr}" id="durationMinutes"/>minutes 
    1605                                                                                                </span> 
    1606                                                                                        </div> 
    1607                                                                                        <span class="durationSpacerText">or</span> 
    1608                                                                                        <div class="durationBox"> 
    1609                                                                                                <input type="radio" name="eventDuration.type" value="weeks" onclick="swapDurationType('week')"/> 
    1610                                                                                                <xsl:variable name="weeksStr" select="/bedework/formElements/form/end/duration/weeks/input/@value"/> 
    1611                                                                                                <input type="text" name="eventDuration.weeksStr" size="2" value="{$weeksStr}" id="durationWeeks" disabled="true"/>weeks 
    1612                                                                                        </div> 
    1613                                                                                </xsl:when> 
    1614                                                                                <xsl:otherwise> 
    1615                                                                                        <!-- we are using week format --> 
    1616                                                                                        <div class="durationBox"> 
    1617                                                                                                <input type="radio" name="eventDuration.type" value="daytime" onclick="swapDurationType('daytime')"/> 
    1618                                                                                                <xsl:variable name="daysStr" select="/bedework/formElements/form/end/duration/days/input/@value"/> 
    1619                                                                                                <input type="text" name="eventDuration.daysStr" size="2" value="{$daysStr}" id="durationDays" disabled="true"/>days 
    1620                                                                                                <span id="durationHrMin" class="{$durationHrMinClass}"> 
    1621                                                                                                        <xsl:variable name="hoursStr" select="/bedework/formElements/form/end/duration/hours/input/@value"/> 
    1622                                                                                                        <input type="text" name="eventDuration.hoursStr" size="2" value="{$hoursStr}" id="durationHours" disabled="true"/>hours 
    1623                                                                                                        <xsl:variable name="minutesStr" select="/bedework/formElements/form/end/duration/minutes/input/@value"/> 
    1624                                                                                                        <input type="text" name="eventDuration.minutesStr" size="2" value="{$minutesStr}" id="durationMinutes" disabled="true"/>minutes 
    1625                                                                                                </span> 
    1626                                                                                        </div> 
    1627                                                                                        <span class="durationSpacerText">or</span> 
    1628                                                                                        <div class="durationBox"> 
    1629                                                                                                <input type="radio" name="eventDuration.type" value="weeks" onclick="swapDurationType('week')" checked="checked"/> 
    1630                                                                                                <xsl:variable name="weeksStr" select="/bedework/formElements/form/end/duration/weeks/input/@value"/> 
    1631                                                                                                <input type="text" name="eventDuration.weeksStr" size="2" value="{$weeksStr}" id="durationWeeks"/>weeks 
    1632                                                                                        </div> 
    1633                                                                                </xsl:otherwise> 
    1634                                                                        </xsl:choose> 
    1635                                                                </div> 
    1636                                                        </div><br/> 
    1637                                                        <div class="dateFields" id="noDuration"> 
    1638                                                                <xsl:choose> 
    1639                                                                        <xsl:when test="/bedework/formElements/form/end/type='N'"> 
    1640                                                                                <input type="radio" name="eventEndType" value="N" checked="checked" onClick="changeClass('endDateTime','invisible');changeClass('endDuration','invisible');"/> 
    1641                                                                        </xsl:when> 
    1642                                                                        <xsl:otherwise> 
    1643                                                                                <input type="radio" name="eventEndType" value="N" onClick="changeClass('endDateTime','invisible');changeClass('endDuration','invisible');"/> 
    1644                                                                        </xsl:otherwise> 
    1645                                                                </xsl:choose> 
    1646                                                                This event has no duration / end date 
    1647                                                        </div> 
    1648                                                </div> 
    1649                                        </td> 
    1650                                </tr> 
    1651                                <!--  Status  --> 
    1652                                <tr> 
    1653                                        <td class="fieldname"> 
    1654                                                Status: 
    1655                                        </td> 
    1656                                        <td class="fieldval"> 
    1657                                                <xsl:choose> 
    1658                                                        <xsl:when test="/bedework/formElements/form/status = 'TENTATIVE'"> 
    1659                                                                <input type="radio" name="newEvent.status" value="CONFIRMED"/>confirmed <input type="radio" name="newEvent.status" value="TENTATIVE" checked="checked"/>tentative <input type="radio" name="newEvent.status" value="CANCELLED"/>cancelled 
    1660                                                        </xsl:when> 
    1661                                                        <xsl:when test="/bedework/formElements/form/status = 'CANCELLED'"> 
    1662                                                                <input type="radio" name="newEvent.status" value="CONFIRMED"/>confirmed <input type="radio" name="newEvent.status" value="TENTATIVE"/>tentative <input type="radio" name="newEvent.status" value="CANCELLED" checked="checked"/>cancelled 
    1663                                                        </xsl:when> 
    1664                                                        <xsl:otherwise> 
    1665                                                                <input type="radio" name="newEvent.status" value="CONFIRMED" checked="checked"/>confirmed <input type="radio" name="newEvent.status" value="TENTATIVE"/>tentative <input type="radio" name="newEvent.status" value="CANCELLED"/>cancelled 
    1666                                                        </xsl:otherwise> 
    1667                                                </xsl:choose> 
    1668                                        </td> 
    1669                                </tr> 
    1670                                <!--  Transparency  --> 
    1671                                <tr> 
    1672                                        <td class="fieldname"> 
    1673                                                Effects free/busy: 
    1674                                        </td> 
    1675                                        <td class="fieldval"> 
    1676                                                <input type="radio" name="newEvent.transparency" value="OPAQUE" checked="checked"/>yes <span class="note">(opaque: event status affects your free/busy)</span><br/> 
    1677                                                <input type="radio" name="newEvent.transparency" value="TRANSPARENT"/>no <span class="note">(transparent: event status does not affect your free/busy)</span> 
    1678                                        </td> 
    1679                                </tr> 
    1680                                <!--  Description  --> 
    1681                                <tr> 
    1682                                        <td class="fieldname">Description:</td> 
    1683                                        <td class="fieldval"> 
    1684                                                <textarea name="newEvent.description" cols="60" rows="4"> 
    1685                                                        <xsl:value-of select="/bedework/formElements/form/desc/textarea"/> 
    1686                                                </textarea> 
    1687                                        </td> 
    1688                                </tr> 
    1689                                <tr> 
    1690                                        <td class="fieldname">Location:</td> 
    1691                                        <td class="fieldval" align="left"> 
    1692                                                <span class="std-text">choose: </span> 
    1693                                                <span id="eventFormLocationList"> 
    1694                                                        <select name="locationId"> 
    1695                                                                <option value="-1">select...</option> 
    1696                                                                <xsl:copy-of select="/bedework/formElements/form/location/locationmenu/select/*"/> 
    1697                                                        </select> 
    1698                                                </span> 
    1699                                                <span class="std-text"> or add new: </span> 
    1700                                                <input type="text" name="newLocation.address" value="" /> 
    1701                                        </td> 
    1702                                </tr> 
    1703                                <tr> 
    1704                                        <td class="fieldname">Event Link:</td> 
    1705                                        <td class="fieldval"> 
    1706                                                <xsl:variable name="link" select="/bedework/formElements/form/link/input/@value"/> 
    1707                                                <input type="text" name="newEvent.link" size="80" value="{$link}"/> 
    1708                                        </td> 
    1709                                </tr> 
    1710                                <tr> 
    1711                                        <td class="fieldname">&#160;</td> 
    1712                                        <td class="fieldval"> 
    1713                                                <input name="submit" type="submit" value="Submit Event"/>&#160; 
    1714                                                <input name="cancelled" type="submit" value="Cancel"/> 
    1715                                        </td> 
    1716                                </tr> 
    1717                        </table> 
    1718                </form> 
    1719        </xsl:template> 
    1720  
    1721        <xsl:template name="clock"> 
    1722                <div id="bwClock"> 
    1723                        <!-- Bedework 24-Hour Clock time selection widget 
    1724                                         used with resources/bwClock.js and resources/bwClock.css --> 
    1725                        <div id="bwClockClock"> 
    1726                                <img id="clockMap" src="{$resourcesRoot}/resources/clockMap.gif" width="368" height="368" border="0" alt="" usemap="#bwClockMap" /> 
    1727                        </div> 
    1728                        <div id="bwClockCover"> 
    1729                                <!-- this is a special effect div used simply to cover the pixelated edge 
    1730                                                 where the clock meets the clock box title --> 
    1731                        </div> 
    1732                        <div id="bwClockBox"> 
    1733                                <h2> 
    1734                                        Bedework 24-Hour Clock 
    1735                                </h2> 
    1736                                <div id="bwClockDateTypeIndicator"> 
    1737                                        type 
    1738                                </div> 
    1739                                <div id="bwClockTime"> 
    1740                                        select time 
    1741                                </div> 
    1742                                <div id="bwClockCloseText"> 
    1743                                        close 
    1744                                </div> 
    1745                                <div id="bwClockCloseButton"> 
    1746                                        <a href="javascript:bwClockClose();">X</a> 
    1747                                </div> 
    1748                        </div> 
    1749                        <map name="bwClockMap" id="bwClockMap"> 
    1750                                <area shape="rect" alt="close clock" title="close clock" coords="160,167, 200,200" href="javascript:bwClockClose()"/> 
    1751                                <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')" /> 
    1752                                <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')" /> 
    1753                                <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')" /> 
    1754                                <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')" /> 
    1755                                <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')" /> 
    1756                                <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')" /> 
    1757                                <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')" /> 
    1758                                <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')" /> 
    1759                                <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')" /> 
    1760                                <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')" /> 
    1761                                <area shape="poly" alt="minute 00:05" title="minute 00:05" coords="196,155, 209,164, 238,126, 206,107" href="javascript:bwClockUpdateDateTimeForm('minute','05')" /> 
    1762                                <area shape="poly" alt="minute 00:00" title="minute 00:00" coords="169,155, 196,155, 206,105, 156,105" href="javascript:bwClockUpdateDateTimeForm('minute','00')" /> 
    1763                                <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')" /> 
    1764                                <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')" /> 
    1765                                <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')" /> 
    1766                                <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')" /> 
    1767                                <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')" /> 
    1768                                <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')" /> 
    1769                                <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')" /> 
    1770                                <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')" /> 
    1771                                <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')" /> 
    1772                                <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')" /> 
    1773                                <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')" /> 
    1774                                <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')" /> 
    1775                                <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')" /> 
    1776                                <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')" /> 
    1777                                <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','09')" /> 
    1778                                <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','08')" /> 
    1779                                <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','07')" /> 
    1780                                <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','06')" /> 
    1781                                <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','05')" /> 
    1782                                <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','04')" /> 
    1783                                <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','03')" /> 
    1784                                <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','02')" /> 
    1785                                <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','01')" /> 
    1786                                <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','00')" /> 
    1787                        </map> 
    1788                </div> 
    1789        </xsl:template> 
    1790  
    1791        <!--==== EDIT EVENT ====--> 
    1792        <xsl:template match="formElements" mode="editEvent"> 
    1793                <xsl:variable name="subscriptionId" select="subscriptionId"/> 
    1794                <xsl:variable name="calPathEncoded" select="form/calendar/encodedPath"/> 
    1795                <xsl:variable name="calPath" select="form/calendar/path"/> 
    1796                <xsl:variable name="guid" select="guid"/> 
    1797                <xsl:variable name="recurrenceId" select="recurrenceId"/> 
    1798                <!-- The name "eventForm" is referenced by several javascript functions. Do not 
    1799                change it without modifying includes.js --> 
    1800                <form name="eventForm" method="post" action="{$editEvent}" id="standardForm"> 
    1801                        <input type="hidden" name="updateEvent" value="true"/> 
    1802                        <input type="hidden" name="confirmationid" value="{$confId}"/> 
    1803                        <input type="hidden" name="endType" value="date"/> 
    1804                        <h2>Edit Event</h2> 
    1805                        <table class="common" cellspacing="0"> 
    1806                                <tr> 
    1807                                        <th colspan="2" class="commonHeader"> 
    1808                                                <div id="eventActions"> 
    1809                                                        <a href="{$eventView}&amp;subid={$subscriptionId}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}&amp;confirmationid={$confId}"> 
    1810                                                                <img src="{$resourcesRoot}/resources/glassFill-icon-viewGray.gif" width="13" height="13" border="0" alt="view"/> 
    1811                                                                View 
    1812                                                        </a> 
    1813                                                        <xsl:if test="currentAccess/current-user-privilege-set/privilege/unbind"> 
    1814                                                                
    1815                                                                <a href="{$delEvent}&amp;subid={$subscriptionId}&amp;calPath={$calPathEncoded}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}&amp;confirmationid={$confId}"> 
    1816                                                                        <img src="{$resourcesRoot}/resources/trashIcon.gif" width="13" height="13" border="0" alt="delete"/> 
    1817                                                                        Delete 
    1818                                                                </a> 
    1819                                                        </xsl:if> 
    1820                                                </div> 
    1821                                                Personal Event 
    1822                                        </th> 
    1823                                </tr> 
    1824                                <tr> 
    1825                                        <td class="fieldname"> 
    1826                                                Title: 
    1827                                        </td> 
    1828                                        <td class="fieldval"> 
    1829                                                <xsl:variable name="title" select="form/title/input/@value"/> 
    1830                                                <input type="text" name="editEvent.summary" size="80" value="{$title}"/> 
    1831                                        </td> 
    1832                                </tr> 
    1833                                <tr> 
    1834                                        <td class="fieldname"> 
    1835                                                Calendar: 
    1836                                        </td> 
    1837                                        <td class="fieldval"> 
    1838                                                <xsl:variable name="newCalPath" select="/bedework/formElements/form/calendar/path"/> 
    1839                                                <input type="hidden" name="newCalPath" value="{$newCalPath}"/> 
    1840                                                <xsl:variable name="userPath">user/<xsl:value-of select="/bedework/userid"/>/</xsl:variable> 
    1841                                                <span id="bwEventCalDisplay"> 
    1842                                                        <xsl:choose> 
    1843                                                                <xsl:when test="contains(/bedework/formElements/form/calendar/path,$userPath)"> 
    1844                                                                        <xsl:value-of select="substring-after(/bedework/formElements/form/calendar/path,$userPath)"/> 
    1845                                                                </xsl:when> 
    1846                                                                <xsl:otherwise> 
    1847                                                                        <xsl:value-of select="/bedework/formElements/form/calendar/path"/> 
    1848                                                                </xsl:otherwise> 
    1849                                                        </xsl:choose> 
    1850                                                </span> 
    1851                                                <a href="javascript:launchCalSelectWindow('{$event-selectCalForEvent}')" class="small">[change]</a> 
    1852                                        </td> 
    1853                                </tr> 
    1854                                <tr> 
    1855                                        <td class="fieldname"> 
    1856                                                Date &amp; Time: 
    1857                                        </td> 
    1858                                        <td class="fieldval"> 
    1859                                                <!-- Set the timefields class for the first load of the page; 
    1860                                                                 subsequent changes will take place using javascript without a 
    1861                                                                 page reload. --> 
    1862                                                <xsl:variable name="timeFieldsClass"> 
    1863                                                        <xsl:choose> 
    1864                                                                <xsl:when test="form/allDay/input/@checked='checked'">invisible</xsl:when> 
    1865                                                                <xsl:otherwise>timeFields</xsl:otherwise> 
    1866                                                        </xsl:choose> 
    1867                                                </xsl:variable> 
    1868                                                <xsl:choose> 
    1869                                                        <xsl:when test="form/allDay/input/@checked='checked'"> 
    1870                                                                <input type="checkbox" name="allDayFlag" onclick="swapAllDayEvent(this)" value="on" checked="checked"/> 
    1871                                                                <input type="hidden" name="eventStartDate.dateOnly" value="on" id="allDayStartDateField"/> 
    1872                                                                <input type="hidden" name="eventEndDate.dateOnly" value="on" id="allDayEndDateField"/> 
    1873                                                        </xsl:when> 
    1874                                                        <xsl:otherwise> 
    1875                                                                <input type="checkbox" name="allDayFlag" onclick="swapAllDayEvent(this)" value="off"/> 
    1876                                                                <input type="hidden" name="eventStartDate.dateOnly" value="off" id="allDayStartDateField"/> 
    1877                                                                <input type="hidden" name="eventEndDate.dateOnly" value="off" id="allDayEndDateField"/> 
    1878                                                        </xsl:otherwise> 
    1879                                                </xsl:choose> 
    1880                                                all day event<br/> 
    1881                                                <div class="dateStartEndBox"> 
    1882                                                        <strong>Start:</strong> 
    1883                                                        <div class="dateFields"> 
    1884                                                                <span class="startDateLabel">Date </span> 
    1885                                                                <xsl:copy-of select="form/start/month/*"/> 
    1886                                                                <xsl:copy-of select="form/start/day/*"/> 
    1887                                                                <xsl:choose> 
    1888                                                                        <xsl:when test="/bedework/creating = 'true'"> 
    1889                                                                                <xsl:copy-of select="form/start/year/*"/> 
    1890                                                                        </xsl:when> 
    1891                                                                        <xsl:otherwise> 
    1892                                                                                <xsl:copy-of select="form/start/yearText/*"/> 
    1893                                                                        </xsl:otherwise> 
    1894                                                                </xsl:choose> 
    1895                                                        </div> 
    1896                                                        <script language="JavaScript" type="text/javascript"> 
    1897                                                        <xsl:comment> 
    1898                                                                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'); 
    1899                                                        </xsl:comment> 
    1900                                                        </script> 
    1901                                                        <!--<img src="{$resourcesRoot}/resources/calIcon.gif" width="16" height="15" border="0"/>--> 
    1902                                                        <div class="{$timeFieldsClass}" id="startTimeFields"> 
    1903                                                                <span id="calWidgetStartTimeHider" class="show"> 
    1904                                                                        <xsl:copy-of select="form/start/hour/*"/> 
    1905                                                                        <xsl:copy-of select="form/start/minute/*"/> 
    1906                                                                        <xsl:if test="form/start/ampm"> 
    1907                                                                                <xsl:copy-of select="form/start/ampm/*"/> 
    1908                                                                        </xsl:if> 
    1909                                                                        <xsl:text> </xsl:text> 
    1910                                                                        <a href="javascript:bwClockLaunch('eventStartDate');"><img src="{$resourcesRoot}/resources/clockIcon.gif" width="16" height="15" border="0"/></a> 
    1911                                                                </span> 
    1912                                                        </div> 
    1913                                                </div> 
    1914                                                <div class="dateStartEndBox"> 
    1915                                                        <strong>End:</strong> 
    1916                                                        <xsl:choose> 
    1917                                                                <xsl:when test="form/end/type='E'"> 
    1918                                                                        <input type="radio" name="eventEndType" value="E" checked="checked" onClick="changeClass('endDateTime','shown');changeClass('endDuration','invisible');"/> 
    1919                                                                </xsl:when> 
    1920                                                                <xsl:otherwise> 
    1921                                                                        <input type="radio" name="eventEndType" value="E" onClick="changeClass('endDateTime','shown');changeClass('endDuration','invisible');"/> 
    1922                                                                </xsl:otherwise> 
    1923                                                        </xsl:choose> 
    1924                                                        Date 
    1925                                                        <xsl:variable name="endDateTimeClass"> 
    1926                                                                <xsl:choose> 
    1927                                                                        <xsl:when test="form/end/type='E'">shown</xsl:when> 
    1928                                                                        <xsl:otherwise>invisible</xsl:otherwise> 
    1929                                                                </xsl:choose> 
    1930                                                        </xsl:variable> 
    1931                                                        <div class="{$endDateTimeClass}" id="endDateTime"> 
    1932                                                                <div class="dateFields"> 
    1933                                                                        <xsl:copy-of select="form/end/dateTime/month/*"/> 
    1934                                                                        <xsl:copy-of select="form/end/dateTime/day/*"/> 
    1935                                                                        <xsl:choose> 
    1936                                                                                <xsl:when test="/bedework/creating = 'true'"> 
    1937                                                                                        <xsl:copy-of select="form/end/dateTime/year/*"/> 
    1938                                                                                </xsl:when> 
    1939                                                                                <xsl:otherwise> 
    1940                                                                                        <xsl:copy-of select="form/end/dateTime/yearText/*"/> 
    1941                                                                                </xsl:otherwise> 
    1942                                                                        </xsl:choose> 
    1943                                                                </div> 
    1944                                                                <script language="JavaScript" type="text/javascript"> 
    1945                                                                <xsl:comment> 
    1946                                                                        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'); 
    1947                                                                </xsl:comment> 
    1948                                                                </script> 
    1949                                                                <!--<img src="{$resourcesRoot}/resources/calIcon.gif" width="16" height="15" border="0"/>--> 
    1950                                                                <div class="{$timeFieldsClass}" id="endTimeFields"> 
    1951                                                                        <span id="calWidgetEndTimeHider" class="show"> 
    1952                                                                                <xsl:copy-of select="form/end/dateTime/hour/*"/> 
    1953                                                                                <xsl:copy-of select="form/end/dateTime/minute/*"/> 
    1954                                                                                <xsl:if test="form/end/dateTime/ampm"> 
    1955                                                                                        <xsl:copy-of select="form/end/dateTime/ampm/*"/> 
    1956                                                                                </xsl:if> 
    1957                                                                                <xsl:text> </xsl:text> 
    1958                                                                                <a href="javascript:bwClockLaunch('eventEndDate');"><img src="{$resourcesRoot}/resources/clockIcon.gif" width="16" height="15" border="0"/></a> 
    1959                                                                        </span> 
    1960                                                                </div> 
    1961                                                        </div><br/> 
    1962                                                        <div id="clock" class="invisible"> 
    1963                                                                <xsl:call-template name="clock"/> 
    1964                                                        </div> 
    1965                                                        <div class="dateFields"> 
    1966                                                                <xsl:choose> 
    1967                                                                        <xsl:when test="form/end/type='D'"> 
    1968                                                                                <input type="radio" name="eventEndType" value="D" checked="checked" onClick="changeClass('endDateTime','invisible');changeClass('endDuration','shown');"/> 
    1969                                                                        </xsl:when> 
    1970                                                                        <xsl:otherwise> 
    1971                                                                                <input type="radio" name="eventEndType" value="D" onClick="changeClass('endDateTime','invisible');changeClass('endDuration','shown');"/> 
    1972                                                                        </xsl:otherwise> 
    1973                                                                </xsl:choose> 
    1974                                                                Duration 
    1975                                                                <xsl:variable name="endDurationClass"> 
    1976                                                                        <xsl:choose> 
    1977                                                                                <xsl:when test="form/end/type='D'">shown</xsl:when> 
    1978                                                                                <xsl:otherwise>invisible</xsl:otherwise> 
    1979                                                                        </xsl:choose> 
    1980                                                                </xsl:variable> 
    1981                                                                <xsl:variable name="durationHrMinClass"> 
    1982                                                                        <xsl:choose> 
    1983                                                                                <xsl:when test="form/allDay/input/@checked='checked'">invisible</xsl:when> 
    1984                                                                                <xsl:otherwise>shown</xsl:otherwise> 
    1985                                                                        </xsl:choose> 
    1986                                                                </xsl:variable> 
    1987                                                                <div class="{$endDurationClass}" id="endDuration"> 
    1988                                                                        <xsl:choose> 
    1989                                                                                <xsl:when test="form/end/duration/weeks/input/@value = '0'"> 
    1990                                                                                <!-- we are using day, hour, minute format --> 
    1991                                                                                <!-- must send either no week value or week value of 0 (zero) --> 
    1992                                                                                        <div class="durationBox"> 
    1993                                                                                                <input type="radio" name="eventDuration.type" value="daytime" onclick="swapDurationType('daytime')" checked="checked"/> 
    1994                                                                                                <xsl:variable name="daysStr" select="form/end/duration/days/input/@value"/> 
    1995                                                                                                <input type="text" name="eventDuration.daysStr" size="2" value="{$daysStr}" id="durationDays"/>days 
    1996                                                                                                <span id="durationHrMin" class="{$durationHrMinClass}"> 
    1997                                                                                                        <xsl:variable name="hoursStr" select="form/end/duration/hours/input/@value"/> 
    1998                                                                                                        <input type="text" name="eventDuration.hoursStr" size="2" value="{$hoursStr}" id="durationHours"/>hours 
    1999                                                                                                        <xsl:variable name="minutesStr" select="form/end/duration/minutes/input/@value"/> 
    2000                                                                                                        <input type="text" name="eventDuration.minutesStr" size="2" value="{$minutesStr}" id="durationMinutes"/>minutes 
    2001                                                                                                </span> 
    2002                                                                                        </div> 
    2003                                                                                        <span class="durationSpacerText">or</span> 
    2004                                                                                        <div class="durationBox"> 
    2005                                                                                                <input type="radio" name="eventDuration.type" value="weeks" onclick="swapDurationType('week')"/> 
    2006                                                                                                <xsl:variable name="weeksStr" select="form/end/duration/weeks/input/@value"/> 
    2007                                                                                                <input type="text" name="eventDuration.weeksStr" size="2" value="{$weeksStr}" id="durationWeeks" disabled="true"/>weeks 
    2008                                                                                        </div> 
    2009                                                                                </xsl:when> 
    2010                                                                                <xsl:otherwise> 
    2011                                                                                        <!-- we are using week format --> 
    2012                                                                                        <div class="durationBox"> 
    2013                                                                                                <input type="radio" name="eventDuration.type" value="daytime" onclick="swapDurationType('daytime')"/> 
    2014                                                                                                <xsl:variable name="daysStr" select="form/end/duration/days/input/@value"/> 
    2015                                                                                                <input type="text" name="eventDuration.daysStr" size="2" value="{$daysStr}" id="durationDays" disabled="true"/>days 
    2016                                                                                                <span id="durationHrMin" class="{$durationHrMinClass}"> 
    2017                                                                                                        <xsl:variable name="hoursStr" select="form/end/duration/hours/input/@value"/> 
    2018                                                                                                        <input type="text" name="eventDuration.hoursStr" size="2" value="{$hoursStr}" id="durationHours" disabled="true"/>hours 
    2019                                                                                                        <xsl:variable name="minutesStr" select="form/end/duration/minutes/input/@value"/> 
    2020                                                                                                        <input type="text" name="eventDuration.minutesStr" size="2" value="{$minutesStr}" id="durationMinutes" disabled="true"/>minutes 
    2021                                                                                                </span> 
    2022                                                                                        </div> 
    2023                                                                                        <span class="durationSpacerText">or</span> 
    2024                                                                                        <div class="durationBox"> 
    2025                                                                                                <input type="radio" name="eventDuration.type" value="weeks" onclick="swapDurationType('week')" checked="checked"/> 
    2026                                                                                                <xsl:variable name="weeksStr" select="form/end/duration/weeks/input/@value"/> 
    2027                                                                                                <input type="text" name="eventDuration.weeksStr" size="2" value="{$weeksStr}" id="durationWeeks"/>weeks 
    2028                                                                                        </div> 
    2029                                                                                </xsl:otherwise> 
    2030