root/trunk/deployment/websubmit/webapp/resources/demoskins/es_ES/default/default.xsl

Revision 3448 (checked in by johnsa, 1 year ago)

Web clients:
- public themes can display underlying calendar structure in explorer view
- references to www.bedework.org updated to www.jasig.org/bedework, etc
- some clean up and prep for 3.8 release

  • Property svn:mime-type set to text/plain
Line 
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3     Licensed to Jasig under one or more contributor license
4     agreements. See the NOTICE file distributed with this work
5     for additional information regarding copyright ownership.
6     Jasig licenses this file to you under the Apache License,
7     Version 2.0 (the "License"); you may not use this file
8     except in compliance with the License. You may obtain a
9     copy of the License at:
10    
11     http://www.apache.org/licenses/LICENSE-2.0
12    
13     Unless required by applicable law or agreed to in writing,
14     software distributed under the License is distributed on
15     an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16     KIND, either express or implied. See the License for the
17     specific language governing permissions and limitations
18     under the License.
19 -->
20 <xsl:stylesheet
21   version="1.0"
22   xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
23   xmlns="http://www.w3.org/1999/xhtml">
24 <xsl:output
25   method="xml"
26   indent="no"
27   media-type="text/html"
28   doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
29   doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
30   standalone="yes"
31   omit-xml-declaration="yes"/>
32
33   <!-- ========================================================= -->
34   <!--         PUBLIC EVENTS SUBMISSION CALENDAR STYLESHEET      -->
35   <!-- ========================================================= -->
36
37   <!-- DEFINE INCLUDES -->
38   <xsl:include href="/bedework-common/default/default/util.xsl"/>
39  
40   <!-- include the language string libraries -->
41   <xsl:include href="/bedework-common/es_ES/default/errors.xsl"/>
42   <xsl:include href="/bedework-common/es_ES/default/messages.xsl"/>
43   <xsl:include href="./strings.xsl"/>
44
45   <!-- DEFINE GLOBAL CONSTANTS -->
46   <!-- URL of html resources (images, css, other html); by default this is
47        set to the application root, but for the personal calendar
48        this should be changed to point to a
49        web server over https to avoid mixed content errors, e.g.,
50   <xsl:variable name="resourcesRoot">https://mywebserver.edu/myresourcesdir</xsl:variable>
51     -->
52   <xsl:variable name="resourcesRoot" select="/bedework/browserResourceRoot"/>
53
54   <!-- URL of the XSL template directory -->
55   <!-- The approot is an appropriate place to put
56        included stylesheets and xml fragments. These are generally
57        referenced relatively (like errors.xsl and messages.xsl above);
58        this variable is here for your convenience if you choose to
59        reference it explicitly.  It is not used in this stylesheet, however,
60        and can be safely removed if you so choose. -->
61   <xsl:variable name="appRoot" select="/bedework/approot"/>
62
63   <!-- Properly encoded prefixes to the application actions; use these to build
64        urls; allows the application to be used without cookies or within a portal.
65        These urls are rewritten in header.jsp and simply passed through for use
66        here. Every url includes a query string (either ?b=de or a real query
67        string) so that all links constructed in this stylesheet may begin the
68        query string with an ampersand. -->
69
70   <xsl:variable name="submissionsRootEncoded" select="/bedework/submissionsRoot/encoded"/>
71   <xsl:variable name="submissionsRootUnencoded" select="/bedework/submissionsRoot/unencoded"/>
72
73   <!-- main -->
74   <xsl:variable name="setup" select="/bedework/urlPrefixes/setup"/>
75   <xsl:variable name="initEvent" select="/bedework/urlPrefixes/event/initEvent"/>
76   <xsl:variable name="initPendingEvents" select="/bedework/urlPrefixes/event/initPendingEvents"/>
77   <xsl:variable name="addEvent" select="/bedework/urlPrefixes/event/addEvent"/>
78   <xsl:variable name="editEvent" select="/bedework/urlPrefixes/event/editEvent"/>
79   <xsl:variable name="gotoEditEvent" select="/bedework/urlPrefixes/event/gotoEditEvent"/>
80   <xsl:variable name="updateEvent" select="/bedework/urlPrefixes/event/updateEvent"/>
81   <xsl:variable name="delEvent" select="/bedework/urlPrefixes/event/delEvent"/>
82   <xsl:variable name="initUpload" select="/bedework/urlPrefixes/misc/initUpload"/>
83   <xsl:variable name="upload" select="/bedework/urlPrefixes/misc/upload"/>
84
85   <!-- URL of the web application - includes web context -->
86   <xsl:variable name="urlPrefix" select="/bedework/urlprefix"/>
87
88   <!-- Other generally useful global variables -->
89   <xsl:variable name="prevdate" select="/bedework/previousdate"/>
90   <xsl:variable name="nextdate" select="/bedework/nextdate"/>
91   <xsl:variable name="curdate" select="/bedework/currentdate/date"/>
92   <xsl:variable name="skin">default</xsl:variable>
93   <xsl:variable name="publicCal">/cal</xsl:variable>
94
95   <!-- the following variable can be set to "true" or "false";
96        to use jQuery widgets and fancier UI features, set to false - these are
97        not guaranteed to work in portals. -->
98   <xsl:variable name="portalFriendly">false</xsl:variable>
99
100  <!-- BEGIN MAIN TEMPLATE -->
101   <xsl:template match="/">
102     <html lang="en">
103       <head>
104         <xsl:call-template name="headSection"/>
105       </head>
106       <body>
107         <xsl:choose>
108           <xsl:when test="/bedework/page = 'addEvent'">
109             <xsl:attribute name="onload">focusElement('bwEventTitle');bwSetupDatePickers();</xsl:attribute>
110           </xsl:when>
111           <xsl:when test="/bedework/page = 'editEvent'">
112             <xsl:attribute name="onload">initRXDates();initXProperties();bwSetupDatePickers();</xsl:attribute>
113           </xsl:when>
114         </xsl:choose>
115         <div id="bedework"><!-- main wrapper div -->
116           <xsl:call-template name="header"/>
117           <xsl:call-template name="messagesAndErrors"/>
118           <xsl:call-template name="menuTabs"/>
119           <div id="bodyContent">
120             <xsl:choose>
121               <xsl:when test="/bedework/page='addEvent'">
122                 <xsl:apply-templates select="/bedework/formElements" mode="addEvent"/>
123               </xsl:when>
124               <xsl:when test="/bedework/page='eventList'">
125                 <xsl:call-template name="eventList"/>
126               </xsl:when>
127               <xsl:when test="/bedework/page='editEvent'">
128                 <xsl:apply-templates select="/bedework/formElements" mode="editEvent"/>
129               </xsl:when>
130               <xsl:when test="/bedework/page='upload'">
131                 <xsl:call-template name="upload" />
132               </xsl:when>
133               <xsl:otherwise>
134                 <!-- home / entrance screen -->
135                 <xsl:call-template name="home"/>
136               </xsl:otherwise>
137             </xsl:choose>
138           </div>
139           <!-- footer -->
140           <xsl:call-template name="footer"/>
141         </div>
142       </body>
143     </html>
144   </xsl:template>
145
146   <!--==== HEAD SECTION  ====-->
147   <xsl:template name="headSection">
148     <title><xsl:copy-of select="$bwStr-Head-BedeworkSubmitPubEv"/></title>
149     <meta name="robots" content="noindex,nofollow"/>
150     <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
151     <link rel="stylesheet" href="{$resourcesRoot}/default/default/default.css"/>
152     <link rel="icon" type="image/ico" href="{$resourcesRoot}/resources/bedework.ico" />
153    
154     <!-- note: the non-breaking spaces in the script bodies below are to avoid
155          losing the script closing tags (which avoids browser problems) -->
156     <script type="text/javascript" src="/bedework-common/javascript/jquery/jquery-1.3.2.min.js">&#160;</script>
157     <script type="text/javascript" src="/bedework-common/javascript/jquery/jquery-ui-1.7.1.custom.min.js">&#160;</script>
158     <link rel="stylesheet" href="/bedework-common/javascript/jquery/css/custom-theme/jquery-ui-1.7.1.custom.css"/>
159     <link rel="stylesheet" href="/bedework-common/javascript/jquery/css/custom-theme/bedeworkJquery.css"/>
160    
161     <script type="text/javascript" src="{$resourcesRoot}/resources/bedework.js">&#160;</script>
162    
163     <xsl:if test="/bedework/page='addEvent' or /bedework/page='editEvent'">
164       <script type="text/javascript" src="/bedework-common/javascript/bedework/bwClock.js">&#160;</script>
165       <link rel="stylesheet" href="/bedework-common/javascript/bedework/bwClock.css"/>
166       <xsl:choose>
167         <xsl:when test="$portalFriendly = 'true'">
168           <script type="text/javascript" src="{$resourcesRoot}/resources/dynCalendarWidget.js">&#160;</script>
169           <link rel="stylesheet" href="{$resourcesRoot}/resources/dynCalendarWidget.css"/>
170         </xsl:when>
171         <xsl:otherwise>
172           <script type="text/javascript">
173             <xsl:comment>
174             $.datepicker.setDefaults({
175               constrainInput: true,
176               dateFormat: "yy-mm-dd",
177               showOn: "both",
178               buttonImage: "<xsl:value-of select='$resourcesRoot'/>/resources/calIcon.gif",
179               buttonImageOnly: true,
180               gotoCurrent: true,
181               duration: ""
182             });
183
184             function bwSetupDatePickers() {
185               // startdate
186               $("#bwEventWidgetStartDate").datepicker({
187                 defaultDate: new Date(<xsl:value-of select="/bedework/formElements/form/start/yearText/input/@value"/>, <xsl:value-of select="number(/bedework/formElements/form/start/month/select/option[@selected = 'selected']/@value) - 1"/>, <xsl:value-of select="/bedework/formElements/form/start/day/select/option[@selected = 'selected']/@value"/>)
188               }).attr("readonly", "readonly");
189               $("#bwEventWidgetStartDate").val('<xsl:value-of select="substring-before(/bedework/formElements/form/start/rfc3339DateTime,'T')"/>');
190              
191               // starttime
192               $("#bwStartClock").bwTimePicker({
193                 hour24: <xsl:value-of select="/bedework/hour24"/>,
194                 attachToId: "calWidgetStartTimeHider",
195                 hourIds: ["eventStartDateHour","eventStartDateSchedHour"],
196                 minuteIds: ["eventStartDateMinute","eventStartDateSchedMinute"],
197                 ampmIds: ["eventStartDateAmpm","eventStartDateSchedAmpm"],
198                 hourLabel: "<xsl:value-of select="$bwStr-Cloc-Hour"/>",
199                 minuteLabel: "<xsl:value-of select="$bwStr-Cloc-Minute"/>",
200                 amLabel: "<xsl:value-of select="$bwStr-Cloc-AM"/>",
201                 pmLabel: "<xsl:value-of select="$bwStr-Cloc-PM"/>"
202               });
203              
204               // enddate
205               $("#bwEventWidgetEndDate").datepicker({
206                 defaultDate: new Date(<xsl:value-of select="/bedework/formElements/form/end/dateTime/yearText/input/@value"/>, <xsl:value-of select="number(/bedework/formElements/form/end/dateTime/month/select/option[@selected = 'selected']/@value) - 1"/>, <xsl:value-of select="/bedework/formElements/form/end/dateTime/day/select/option[@selected = 'selected']/@value"/>)
207               }).attr("readonly", "readonly");
208               $("#bwEventWidgetEndDate").val('<xsl:value-of select="substring-before(/bedework/formElements/form/end/rfc3339DateTime,'T')"/>');
209              
210               // endtime
211               $("#bwEndClock").bwTimePicker({
212                 hour24: <xsl:value-of select="/bedework/hour24"/>,
213                 attachToId: "calWidgetEndTimeHider",
214                 hourIds: ["eventEndDateHour"],
215                 minuteIds: ["eventEndDateMinute"],
216                 ampmIds: ["eventEndDateAmpm"],
217                 hourLabel: "<xsl:value-of select="$bwStr-Cloc-Hour"/>",
218                 minuteLabel: "<xsl:value-of select="$bwStr-Cloc-Minute"/>",
219                 amLabel: "<xsl:value-of select="$bwStr-Cloc-AM"/>",
220                 pmLabel: "<xsl:value-of select="$bwStr-Cloc-PM"/>"
221               });
222             }
223             </xsl:comment>
224           </script>
225         </xsl:otherwise>
226       </xsl:choose>
227       <script type="text/javascript" src="{$resourcesRoot}/resources/bedeworkEventForm.js">&#160;</script>
228       <script type="text/javascript" src="/bedework-common/javascript/bedework/bedeworkXProperties.js">&#160;</script>
229       <script type="text/javascript" src="/bedework-common/javascript/bedework/bedeworkUtil.js">&#160;</script>
230     </xsl:if>
231     <script type="text/javascript">
232       <xsl:comment>
233       function focusElement(id) {
234       // focuses element by id
235         document.getElementById(id).focus();
236       }
237       function initRXDates() {
238         // return string values to be loaded into javascript for rdates
239         <xsl:for-each select="/bedework/formElements/form/rdates/rdate">
240           bwRdates.update('<xsl:value-of select="date"/>','<xsl:value-of select="time"/>',false,false,false,'<xsl:value-of select="tzid"/>');
241         </xsl:for-each>
242         // return string values to be loaded into javascript for exdates
243         <xsl:for-each select="/bedework/formElements/form/exdates/rdate">
244           bwExdates.update('<xsl:value-of select="date"/>','<xsl:value-of select="time"/>',false,false,false,'<xsl:value-of select="tzid"/>');
245         </xsl:for-each>
246       }
247       function initXProperties() {
248         <xsl:for-each select="/bedework/formElements/form/xproperties/node()[text()]">
249           bwXProps.init("<xsl:value-of select="name()"/>",[<xsl:for-each select="parameters/node()">["<xsl:value-of select="name()"/>","<xsl:value-of select="node()"/>"]<xsl:if test="position() != last()">,</xsl:if></xsl:for-each>],"<xsl:call-template name="escapeJson"><xsl:with-param name="string"><xsl:value-of select="values/text"/></xsl:with-param></xsl:call-template>");
250         </xsl:for-each>
251       }
252       </xsl:comment>
253     </script>
254   </xsl:template>
255
256   <!--==== HEADER TEMPLATES and NAVIGATION  ====-->
257
258   <xsl:template name="header">
259     <div id="header">
260       <a href="/bedework/">
261         <img id="logo"
262             alt="logo"
263             src="{$resourcesRoot}/resources/bedeworkAdminLogo.gif"
264             width="217"
265             height="40"
266             border="0"/>
267       </a>
268       <!-- set the page heading: -->
269       <h1>
270         <xsl:copy-of select="$bwStr-Hedr-BedeworkPubEventSub"/>
271       </h1>
272     </div>
273     <div id="statusBar">
274       <xsl:copy-of select="$bwStr-Hedr-LoggedInAs"/>
275           <xsl:text> </xsl:text>
276           <strong><xsl:value-of select="/bedework/userid"/></strong>
277           <xsl:text> </xsl:text>
278           <span class="logout"><a href="{$setup}&amp;logout=true"><xsl:copy-of select="$bwStr-Hedr-Logout"/></a></span>
279     </div>
280   </xsl:template>
281
282   <xsl:template name="messagesAndErrors">
283     <xsl:if test="/bedework/message">
284       <ul id="messages">
285         <xsl:for-each select="/bedework/message">
286           <li><xsl:apply-templates select="."/></li>
287         </xsl:for-each>
288       </ul>
289     </xsl:if>
290     <xsl:if test="/bedework/error">
291       <ul id="errors">
292         <xsl:for-each select="/bedework/error">
293           <li><xsl:apply-templates select="."/></li>
294         </xsl:for-each>
295       </ul>
296     </xsl:if>
297   </xsl:template>
298
299   <!--==== MENUTABS ====-->
300   <xsl:template name="menuTabs">
301     <ul id="menuTabs">
302       <xsl:choose>
303         <xsl:when test="/bedework/page='home'">
304           <li class="selected"><xsl:copy-of select="$bwStr-MeTa-Overview"/></li>
305           <li><a href="{$initEvent}"><xsl:copy-of select="$bwStr-MeTa-AddEvent"/></a></li>
306           <li><a href="{$initPendingEvents}&amp;calPath={$submissionsRootEncoded}&amp;listAllEvents=true"><xsl:copy-of select="$bwStr-MeTa-MyPendingEvents"/></a></li>
307         </xsl:when>
308         <xsl:when test="/bedework/page='eventList'">
309           <li><a href="{$setup}"><xsl:copy-of select="$bwStr-MeTa-Overview"/></a></li>
310           <li><a href="{$initEvent}"><xsl:copy-of select="$bwStr-MeTa-AddEvent"/></a></li>
311           <li class="selected"><xsl:copy-of select="$bwStr-MeTa-MyPendingEvents"/></li>
312         </xsl:when>
313         <xsl:otherwise>
314           <li><a href="{$setup}"><xsl:copy-of select="$bwStr-MeTa-Overview"/></a></li>
315           <li class="selected"><xsl:copy-of select="$bwStr-MeTa-AddEvent"/></li>
316           <li><a href="{$initPendingEvents}&amp;calPath={$submissionsRootEncoded}&amp;listAllEvents=true"><xsl:copy-of select="$bwStr-MeTa-MyPendingEvents"/></a></li>
317         </xsl:otherwise>
318       </xsl:choose>
319     </ul>
320   </xsl:template>
321
322   <!--==== HOME ====-->
323   <xsl:template name="home">
324     <div class="navButtons navBox">
325       <a href="{$initEvent}"><xsl:copy-of select="$bwStr-Home-Start"/>
326         <img alt="previous"
327           src="{$resourcesRoot}/resources/arrowRight.gif"
328           width="13"
329           height="13"
330           border="0"/>
331       </a>
332     </div>
333     <h1><xsl:copy-of select="$bwStr-Home-EnteringEvents"/></h1>
334     <ol id="introduction">
335       <li>
336         <xsl:copy-of select="$bwStr-Home-BeforeSubmitting"/><xsl:text> </xsl:text><a href="/cal"><xsl:copy-of select="$bwStr-Home-SeeIfItHasBeenEntered"/></a>.<xsl:text> </xsl:text><xsl:copy-of select="$bwStr-Home-ItIsPossible"/>
337       </li>
338       <li>
339         <xsl:copy-of select="$bwStr-Home-MakeYourTitles"/>
340       </li>
341       <li>
342         <xsl:copy-of select="$bwStr-Home-DoNotInclude"/>
343       </li>
344     </ol>
345   </xsl:template>
346
347   <!--==== ADD EVENT ====-->
348   <xsl:template match="formElements" mode="addEvent">
349     <xsl:variable name="submitter">
350       <xsl:choose>
351         <xsl:when test="form/xproperties/node()[name()='X-BEDEWORK-SUBMITTEDBY']"><xsl:value-of select="form/xproperties/node()[name()='X-BEDEWORK-SUBMITTEDBY']/values/text"/></xsl:when>
352         <xsl:otherwise><xsl:value-of select="/bedework/userid"/></xsl:otherwise>
353       </xsl:choose>
354     </xsl:variable>
355     <form name="eventForm" method="post" action="{$addEvent}" id="standardForm" onsubmit="return setEventFields(this,{$portalFriendly},'{$submitter}');">
356       <xsl:apply-templates select="." mode="eventForm"/>
357     </form>
358   </xsl:template>
359
360   <!--==== EDIT EVENT ====-->
361   <xsl:template match="formElements" mode="editEvent">
362     <xsl:variable name="submitter">
363       <xsl:choose>
364         <xsl:when test="form/xproperties/node()[name()='X-BEDEWORK-SUBMITTEDBY']"><xsl:value-of select="form/xproperties/node()[name()='X-BEDEWORK-SUBMITTEDBY']/values/text"/></xsl:when>
365         <xsl:otherwise><xsl:value-of select="/bedework/userid"/></xsl:otherwise>
366       </xsl:choose>
367     </xsl:variable>
368     <form name="eventForm" method="post" action="{$updateEvent}" id="standardForm" onsubmit="return setEventFields(this,{$portalFriendly},'{$submitter}');">
369       <xsl:apply-templates select="." mode="eventForm"/>
370     </form>
371   </xsl:template>
372
373
374   <!--==== ADD and EDIT EVENT FORM ====-->
375   <xsl:template match="formElements" mode="eventForm">
376     <xsl:variable name="calPathEncoded" select="form/calendar/encodedPath"/>
377     <xsl:variable name="calPath" select="form/calendar/path"/>
378     <xsl:variable name="guid" select="guid"/>
379     <xsl:variable name="recurrenceId" select="recurrenceId"/>
380     <!-- comment field to hold the user's suggestions:  -->
381     <input type="hidden" name="xbwsubmitcomment" id="bwEventComment" value=""/>
382
383       <!-- event info for edit event -->
384       <xsl:if test="/bedework/creating != 'true'">
385
386         <table class="common" cellspacing="0">
387           <tr>
388             <th colspan="2" class="commonHeader">
389               <div id="eventActions">
390                 <xsl:choose>
391                   <xsl:when test="recurrenceId != ''">
392                     <img src="{$resourcesRoot}/resources/trashIcon.gif" width="13" height="13" border="0" alt="delete"/>
393                     <xsl:copy-of select="$bwStr-FoEl-DeleteColon"/>
394                     <a href="{$delEvent}&amp;calPath={$calPath}&amp;guid={$guid}" title="delete master (recurring event)"><xsl:copy-of select="$bwStr-FoEl-All"/></a>,
395                     <a href="{$delEvent}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}" title="delete instance (recurring event)"><xsl:copy-of select="$bwStr-FoEl-Instance"/>instance</a>
396                   </xsl:when>
397                   <xsl:otherwise>
398                     <a href="{$delEvent}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}" title="delete event">
399                       <img src="{$resourcesRoot}/resources/trashIcon.gif" width="13" height="13" border="0" alt="delete"/>
400                       <xsl:copy-of select="$bwStr-FoEl-Delete"/>
401                       <xsl:if test="form/recurringEntity='true'">
402                         <xsl:copy-of select="$bwStr-FoEl-All"/>
403                       </xsl:if>
404                     </a>
405                   </xsl:otherwise>
406                 </xsl:choose>
407               </div>
408               <!-- Display type of event -->
409               <xsl:variable name="entityType">
410                 <xsl:choose>
411                   <xsl:when test="entityType = '2'"><xsl:copy-of select="$bwStr-FoEl-TASK"/></xsl:when>
412                   <xsl:when test="scheduleMethod = '2'"><xsl:copy-of select="$bwStr-FoEl-Meeting"/></xsl:when>
413                   <xsl:otherwise><xsl:copy-of select="$bwStr-FoEl-EVENT"/></xsl:otherwise>
414                 </xsl:choose>
415               </xsl:variable>
416               <xsl:if test="form/recurringEntity='true' or recurrenceId != ''">
417                 <xsl:copy-of select="$bwStr-FoEl-Recurring"/>
418               </xsl:if>
419               <xsl:choose>
420                 <xsl:when test="form">
421                   <!-- just a placeholder: need to add owner to the jsp -->
422                   <xsl:copy-of select="$bwStr-FoEl-Personal"/><xsl:text> </xsl:text><xsl:value-of select="$entityType"/>
423                 </xsl:when>
424                 <xsl:when test="public = 'true'">
425                   <xsl:copy-of select="$bwStr-FoEl-Public"/><xsl:text> </xsl:text><xsl:value-of select="$entityType"/>
426                 </xsl:when>
427                 <xsl:otherwise>
428                   <xsl:value-of select="$entityType"/> (<xsl:value-of select="calendar/owner"/>)
429                 </xsl:otherwise>
430               </xsl:choose>
431               <xsl:if test="form/recurringEntity='true' and recurrenceId = ''">
432                 <xsl:text> </xsl:text>
433                 <em><xsl:copy-of select="$bwStr-FoEl-RecurrenceMaster"/></em>
434               </xsl:if>
435             </th>
436           </tr>
437         </table>
438       </xsl:if>
439
440     <div id="instructions">
441       <div id="bwHelp-Details">
442         <div class="navButtons">
443           <a href="javascript:show('bwEventTab-Location','bwHelp-Location','bwBottomNav-Location');hide('bwEventTab-Details','bwHelp-Details','bwBottomNav-Details');"
444              onclick="return validateStep1();">
445             <xsl:copy-of select="$bwStr-FoEl-Next"/>
446             <xsl:text> </xsl:text>
447             <img alt="{$bwStr-FoEl-Next}"
448               src="{$resourcesRoot}/resources/arrowRight.gif"
449               width="13"
450               height="13"
451               border="0"/>
452           </a>
453         </div>
454         <xsl:copy-of select="$bwStr-FoEl-Step1"/>
455       </div>
456       <div id="bwHelp-Location" class="invisible">
457         <div class="navButtons">
458           <a href="javascript:show('bwEventTab-Details','bwHelp-Details','bwBottomNav-Details'); hide('bwEventTab-Location','bwHelp-Location','bwBottomNav-Location');">
459             <img alt="{$bwStr-FoEl-Previous}"
460               src="{$resourcesRoot}/resources/arrowLeft.gif"
461               width="13"
462               height="13"
463               border="0"/>
464             <xsl:text> </xsl:text>
465             <xsl:copy-of select="$bwStr-FoEl-Previous"/>
466           </a> |
467           <a href="javascript:show('bwEventTab-Contact','bwHelp-Contact','bwBottomNav-Contact'); hide('bwEventTab-Location','bwHelp-Location','bwBottomNav-Location');"
468              onclick="return validateStep2();">
469             <xsl:copy-of select="$bwStr-FoEl-Next"/>
470             <xsl:text> </xsl:text>
471             <img alt="{$bwStr-FoEl-Next}"
472               src="{$resourcesRoot}/resources/arrowRight.gif"
473               width="13"
474               height="13"
475               border="0"/>
476           </a>
477         </div>
478         <xsl:copy-of select="$bwStr-FoEl-Step2"/>
479       </div>
480       <div id="bwHelp-Contact" class="invisible">
481         <div class="navButtons">
482           <a href="javascript:show('bwEventTab-Location','bwHelp-Location','bwBottomNav-Location'); hide('bwHelp-Contact','bwEventTab-Contact','bwBottomNav-Contact');">
483             <img alt="{$bwStr-FoEl-Previous}"
484               src="{$resourcesRoot}/resources/arrowLeft.gif"
485               width="13"
486               height="13"
487               border="0"/>
488             <xsl:text> </xsl:text>
489             <xsl:copy-of select="$bwStr-FoEl-Previous"/>
490           </a> |
491           <a href="javascript:show('bwEventTab-Categories','bwHelp-Categories','bwBottomNav-Categories'); hide('bwHelp-Contact','bwEventTab-Contact','bwBottomNav-Contact');"
492              onclick="return validateStep3();">
493             <xsl:copy-of select="$bwStr-FoEl-Next"/>
494             <xsl:text> </xsl:text>
495             <img alt="{$bwStr-FoEl-Next}"
496               src="{$resourcesRoot}/resources/arrowRight.gif"
497               width="13"
498               height="13"
499               border="0"/>
500           </a>
501         </div>
502         <xsl:copy-of select="$bwStr-FoEl-Step3"/>
503       </div>
504       <div id="bwHelp-Categories" class="invisible">
505         <!-- this tab is now "topical areas - we will leave the ids named "categories" for now. -->
506         <div class="navButtons">
507           <a href="javascript:show('bwEventTab-Contact','bwHelp-Contact','bwBottomNav-Contact'); hide('bwHelp-Categories','bwEventTab-Categories','bwBottomNav-Categories');">
508             <img alt="{$bwStr-FoEl-Previous}"
509               src="{$resourcesRoot}/resources/arrowLeft.gif"
510               width="13"
511               height="13"
512               border="0"/>
513             <xsl:text> </xsl:text>
514             <xsl:copy-of select="$bwStr-FoEl-Previous"/>
515           </a> |
516           <a href="javascript:show('bwHelp-Review','bwEventTab-Review','bwBottomNav-Review'); hide('bwHelp-Categories','bwEventTab-Categories','bwBottomNav-Categories'); ">
517             <xsl:copy-of select="$bwStr-FoEl-Next"/>
518             <xsl:text> </xsl:text>
519             <img alt="{$bwStr-FoEl-Next}"
520               src="{$resourcesRoot}/resources/arrowRight.gif"
521               width="13"
522               height="13"
523               border="0"/>
524           </a>
525         </div>
526         <xsl:copy-of select="$bwStr-FoEl-Step4"/>
527       </div>
528       <div id="bwHelp-Review" class="invisible">
529         <div class="navButtons">
530           <a href="javascript:show('bwHelp-Categories','bwEventTab-Categories','bwBottomNav-Categories'); hide('bwHelp-Review','bwEventTab-Review','bwBottomNav-Review'); ">
531             <img alt="{$bwStr-FoEl-Previous}"
532               src="{$resourcesRoot}/resources/arrowLeft.gif"
533               width="13"
534               height="13"
535               border="0"/>
536             <xsl:text> </xsl:text>
537             <xsl:copy-of select="$bwStr-FoEl-Previous"/>
538           </a>
539           <span class="hidden">
540             <!-- this is here just to take up the appropriate space  -->
541             <xsl:text> </xsl:text>|<xsl:text> </xsl:text>
542             <xsl:copy-of select="$bwStr-FoEl-Next"/>
543             <xsl:text> </xsl:text>
544             <img alt="{$bwStr-FoEl-Next}"
545               src="{$resourcesRoot}/resources/arrowRight.gif"
546               width="13"
547               height="13"
548               border="0"/>
549           </span>
550         </div>
551         <xsl:copy-of select="$bwStr-FoEl-Step5"/>
552       </div>
553     </div>
554
555     <div id="eventFormContent">
556       <!-- Basic tab -->
557       <!-- ============== -->
558       <!-- this tab is visible by default -->
559       <div id="bwEventTab-Details">
560         <table cellspacing="0" class="common">
561           <!-- Calendar -->
562           <!-- ======== -->
563           <xsl:variable name="submissionCalendars">
564             <xsl:value-of select="count(/bedework/myCalendars//calendar[calType='1'])"/>
565           </xsl:variable>
566           <tr>
567             <xsl:if test="$submissionCalendars = 1">
568               <xsl:attribute name="class">invisible</xsl:attribute>
569               <!-- hide this row altogether if there is only one calendar; if you want the calendar
570                    path displayed, comment out this xsl:if. -->
571             </xsl:if>
572             <td class="fieldname">
573               <xsl:copy-of select="$bwStr-FoEl-Calendar"/>
574             </td>
575             <td class="fieldval">
576               <xsl:choose>
577                 <xsl:when test="$submissionCalendars = 1">
578                   <!-- there is only 1 writable calendar, just send a hidden field -->
579                   <xsl:variable name="newCalPath"><xsl:value-of select="/bedework/myCalendars//calendar[calType='1']/path"/></xsl:variable>
580                   <input type="hidden" name="newCalPath" value="{$newCalPath}"/>
581                   <span id="bwEventCalDisplay">
582                     <xsl:value-of select="$newCalPath"/>
583                   </span>
584                 </xsl:when>
585                 <xsl:otherwise>
586                   <select name="newCalPath" id="bwNewCalPathField">
587                     <xsl:for-each select="/bedework/myCalendars//calendar[calType='1']">
588                       <option>
589                         <xsl:attribute name="value"><xsl:value-of select="path"/></xsl:attribute>
590                         <xsl:value-of select="substring-after(substring-after(path,/bedework/submissionsRoot/unencoded),'/')"/>
591                       </option>
592                     </xsl:for-each>
593                   </select>
594                 </xsl:otherwise>
595               </xsl:choose>
596             </td>
597           </tr>
598           <!--  Summary (title) of event  -->
599           <!--  ========================= -->
600           <tr>
601             <td class="fieldname">
602               <xsl:copy-of select="$bwStr-FoEl-Title"/>
603             </td>
604             <td class="fieldval">
605               <div id="bwEventTitleNotice" class="invisible"><xsl:copy-of select="$bwStr-FoEl-MustIncludeTitle"/></div> <!-- a holder for validation notes -->
606               <xsl:variable name="title" select="form/title/input/@value"/>
607               <input type="text" name="summary" size="80" value="{$title}" id="bwEventTitle"/>
608             </td>
609           </tr>
610
611           <!--  Date and Time -->
612           <!--  ============= -->
613           <tr>
614             <td class="fieldname">
615               <xsl:copy-of select="$bwStr-FoEl-DateAndTime"/>
616             </td>
617             <td class="fieldval">
618               <!-- Set the timefields class for the first load of the page;
619                    subsequent changes will take place using javascript without a
620                    page reload. -->
621               <xsl:variable name="timeFieldsClass">
622                 <xsl:choose>
623                   <xsl:when test="form/allDay/input/@checked='checked'">invisible</xsl:when>
624                   <xsl:otherwise>timeFields</xsl:otherwise>
625                 </xsl:choose>
626               </xsl:variable>
627
628               <!-- date only event: anniversary event - often interpreted as "all day event" -->
629               <xsl:choose>
630                 <xsl:when test="form/allDay/input/@checked='checked'">
631                   <input type="checkbox" name="allDayFlag" onclick="swapAllDayEvent(this)" value="on" checked="checked"/>
632                   <input type="hidden" name="eventStartDate.dateOnly" value="true" id="allDayStartDateField"/>
633                   <input type="hidden" name="eventEndDate.dateOnly" value="true" id="allDayEndDateField"/>
634                 </xsl:when>
635                 <xsl:otherwise>
636                   <input type="checkbox" name="allDayFlag" onclick="swapAllDayEvent(this)" value="off"/>
637                   <input type="hidden" name="eventStartDate.dateOnly" value="false" id="allDayStartDateField"/>
638                   <input type="hidden" name="eventEndDate.dateOnly" value="false" id="allDayEndDateField"/>
639                 </xsl:otherwise>
640               </xsl:choose>
641               <xsl:copy-of select="$bwStr-FoEl-AllDay"/>
642
643               <!-- HIDE floating event: no timezone (and not UTC)
644               <xsl:choose>
645                 <xsl:when test="form/floating/input/@checked='checked'">
646                   <input type="checkbox" name="floatingFlag" id="floatingFlag" onclick="swapFloatingTime(this)" value="on" checked="checked"/>
647                   <input type="hidden" name="eventStartDate.floating" value="true" id="startFloating"/>
648                   <input type="hidden" name="eventEndDate.floating" value="true" id="endFloating"/>
649                 </xsl:when>
650                 <xsl:otherwise>
651                   <input type="checkbox" name="floatingFlag" id="floatingFlag" onclick="swapFloatingTime(this)" value="off"/>
652                   <input type="hidden" name="eventStartDate.floating" value="false" id="startFloating"/>
653                   <input type="hidden" name="eventEndDate.floating" value="false" id="endFloating"/>
654                 </xsl:otherwise>
655               </xsl:choose>
656               floating -->
657
658               <!-- HIDE store time as coordinated universal time (UTC)
659               <xsl:choose>
660                 <xsl:when test="form/storeUTC/input/@checked='checked'">
661                   <input type="checkbox" name="storeUTCFlag" id="storeUTCFlag" onclick="swapStoreUTC(this)" value="on" checked="checked"/>
662                   <input type="hidden" name="eventStartDate.storeUTC" value="true" id="startStoreUTC"/>
663                   <input type="hidden" name="eventEndDate.storeUTC" value="true" id="endStoreUTC"/>
664                 </xsl:when>
665                 <xsl:otherwise>
666                   <input type="checkbox" name="storeUTCFlag" id="storeUTCFlag" onclick="swapStoreUTC(this)" value="off"/>
667                   <input type="hidden" name="eventStartDate.storeUTC" value="false" id="startStoreUTC"/>
668                   <input type="hidden" name="eventEndDate.storeUTC" value="false" id="endStoreUTC"/>
669                 </xsl:otherwise>
670               </xsl:choose>
671               store as UTC-->
672
673               <br/>
674               <div class="dateStartEndBox">
675                 <strong><xsl:copy-of select="$bwStr-FoEl-Start"/></strong>
676                 <div class="dateFields">
677                   <span class="startDateLabel"><xsl:copy-of select="$bwStr-FoEl-Date"/><xsl:text> </xsl:text></span>
678                   <xsl:choose>
679                     <xsl:when test="$portalFriendly = 'true'">
680                       <xsl:copy-of select="/bedework/formElements/form/start/month/*"/>
681                       <xsl:copy-of select="/bedework/formElements/form/start/day/*"/>
682                       <xsl:choose>
683                         <xsl:when test="/bedework/creating = 'true'">
684                           <xsl:copy-of select="/bedework/formElements/form/start/year/*"/>
685                         </xsl:when>
686                         <xsl:otherwise>
687                           <xsl:copy-of select="/bedework/formElements/form/start/yearText/*"/>
688                         </xsl:otherwise>
689                       </xsl:choose>
690                       <script language="JavaScript" type="text/javascript">
691                         <xsl:comment>
692                         startDateDynCalWidget = new dynCalendar('startDateDynCalWidget', <xsl:value-of select="number(/bedework/formElements/form/start/yearText/input/@value)"/>, <xsl:value-of select="number(/bedework/formElements/form/start/month/select/option[@selected='selected']/@value)-1"/>, <xsl:value-of select="number(/bedework/formElements/form/start/day/select/option[@selected='selected']/@value)"/>, 'startDateCalWidgetCallback', '<xsl:value-of select="$resourcesRoot"/>/resources/');
693                         </xsl:comment>
694                       </script>
695                     </xsl:when>
696                     <xsl:otherwise>
697                       <input type="text" name="bwEventWidgetStartDate" id="bwEventWidgetStartDate" size="10"/>
698                       <script language="JavaScript" type="text/javascript">
699                         <xsl:comment>
700                         /*$("#bwEventWidgetStartDate").datepicker({
701                           defaultDate: new Date(<xsl:value-of select="form/start/yearText/input/@value"/>, <xsl:value-of select="number(form/start/month/select/option[@selected = 'selected']/@value) - 1"/>, <xsl:value-of select="form/start/day/select/option[@selected = 'selected']/@value"/>)
702                         }).attr("readonly", "readonly");
703                         $("#bwEventWidgetStartDate").val('<xsl:value-of select="substring-before(form/start/rfc3339DateTime,'T')"/>');
704                         */
705                         </xsl:comment>
706                       </script>
707                       <input type="hidden" name="eventStartDate.year">
708                         <xsl:attribute name="value"><xsl:value-of select="form/start/yearText/input/@value"/></xsl:attribute>
709                       </input>
710                       <input type="hidden" name="eventStartDate.month">
711                         <xsl:attribute name="value"><xsl:value-of select="form/start/month/select/option[@selected = 'selected']/@value"/></xsl:attribute>
712                       </input>
713                       <input type="hidden" name="eventStartDate.day">
714                         <xsl:attribute name="value"><xsl:value-of select="form/start/day/select/option[@selected = 'selected']/@value"/></xsl:attribute>
715                       </input>
716                     </xsl:otherwise>
717                   </xsl:choose>
718                 </div>
719                 <div class="{$timeFieldsClass}" id="startTimeFields">
720                   <span id="calWidgetStartTimeHider" class="show">
721                           <select name="eventStartDate.hour" id="eventStartDateHour">
722                             <xsl:copy-of select="form/start/hour/select/*"/>
723                           </select>
724                           <select name="eventStartDate.minute" id="eventStartDateMinute">
725                             <xsl:copy-of select="form/start/minute/select/*"/>
726                           </select>
727                           <xsl:if test="form/start/ampm">
728                             <select name="eventStartDate.ampm" id="eventStartDateAmpm">
729                               <xsl:copy-of select="form/start/ampm/select/*"/>
730                             </select>
731                           </xsl:if>
732                     <xsl:text> </xsl:text>
733                     <img src="{$resourcesRoot}/resources/clockIcon.gif" width="16" height="15" border="0" alt="bwClock" id="bwStartClock"/>
734
735                     <select name="eventStartDate.tzid" id="startTzid" class="timezones">
736                       <xsl:if test="form/floating/input/@checked='checked'"><xsl:attribute name="disabled">disabled</xsl:attribute></xsl:if>
737                       <option value="-1"><xsl:copy-of select="$bwStr-FoEl-SelectTimezone"/></option>
738                       <xsl:variable name="startTzId" select="form/start/tzid"/>
739                       <xsl:for-each select="/bedework/timezones/timezone">
740                         <option>
741                           <xsl:attribute name="value"><xsl:value-of select="id"/></xsl:attribute>
742                           <xsl:if test="$startTzId = id"><xsl:attribute name="selected">selected</xsl:attribute></xsl:if>
743                           <xsl:value-of select="name"/>
744                         </option>
745                       </xsl:for-each>
746                     </select>
747                   </span>
748                 </div>
749               </div>
750               <div class="dateStartEndBox">
751                 <strong>
752                   <xsl:choose>
753                     <xsl:when test="form/entityType = '2'"><xsl:copy-of select="$bwStr-FoEl-Due"/></xsl:when>
754                     <xsl:otherwise><xsl:copy-of select="$bwStr-FoEl-End"/></xsl:otherwise>
755                   </xsl:choose>
756                 </strong>
757                 <xsl:choose>
758                   <xsl:when test="form/end/type='E'">
759                     <input type="radio" name="eventEndType" value="E" checked="checked" onclick="changeClass('endDateTime','shown');changeClass('endDuration','invisible');"/>
760                   </xsl:when>
761                   <xsl:otherwise>
762                     <input type="radio" name="eventEndType" value="E" onclick="changeClass('endDateTime','shown');changeClass('endDuration','invisible');"/>
763                   </xsl:otherwise>
764                 </xsl:choose>
765                 <xsl:copy-of select="$bwStr-FoEl-Date"/>
766                 <xsl:variable name="endDateTimeClass">
767                   <xsl:choose>
768                     <xsl:when test="form/end/type='E'">shown</xsl:when>
769                     <xsl:otherwise>invisible</xsl:otherwise>
770                   </xsl:choose>
771                 </xsl:variable>
772                 <div class="{$endDateTimeClass}" id="endDateTime">
773                   <div class="dateFields">
774                     <xsl:choose>
775                       <xsl:when test="$portalFriendly = 'true'">
776                         <xsl:copy-of select="/bedework/formElements/form/end/dateTime/month/*"/>
777                         <xsl:copy-of select="/bedework/formElements/form/end/dateTime/day/*"/>
778                         <xsl:choose>
779                           <xsl:when test="/bedework/creating = 'true'">
780                             <xsl:copy-of select="/bedework/formElements/form/end/dateTime/year/*"/>
781                           </xsl:when>
782                           <xsl:otherwise>
783                             <xsl:copy-of select="/bedework/formElements/form/end/dateTime/yearText/*"/>
784                           </xsl:otherwise>
785                         </xsl:choose>
786                         <script language="JavaScript" type="text/javascript">
787                         <xsl:comment>
788                           endDateDynCalWidget = new dynCalendar('endDateDynCalWidget', <xsl:value-of select="number(/bedework/formElements/form/start/yearText/input/@value)"/>, <xsl:value-of select="number(/bedework/formElements/form/start/month/select/option[@selected='selected']/@value)-1"/>, <xsl:value-of select="number(/bedework/formElements/form/start/day/select/option[@selected='selected']/@value)"/>, 'endDateCalWidgetCallback', '<xsl:value-of select="$resourcesRoot"/>/resources/');
789                         </xsl:comment>
790                         </script>
791                       </xsl:when>
792                       <xsl:otherwise>
793                         <input type="text" name="bwEventWidgetEndDate" id="bwEventWidgetEndDate" size="10"/>
794                         <script language="JavaScript" type="text/javascript">
795                           <xsl:comment>
796                           /*$("#bwEventWidgetEndDate").datepicker({
797                             defaultDate: new Date(<xsl:value-of select="form/end/dateTime/yearText/input/@value"/>, <xsl:value-of select="number(form/end/dateTime/month/select/option[@selected = 'selected']/@value) - 1"/>, <xsl:value-of select="form/end/dateTime/day/select/option[@selected = 'selected']/@value"/>)
798                           }).attr("readonly", "readonly");
799                           $("#bwEventWidgetEndDate").val('<xsl:value-of select="substring-before(form/end/rfc3339DateTime,'T')"/>');
800                           */
801                           </xsl:comment>
802                         </script>
803                         <input type="hidden" name="eventEndDate.year">
804                           <xsl:attribute name="value"><xsl:value-of select="form/end/dateTime/yearText/input/@value"/></xsl:attribute>
805                         </input>
806                         <input type="hidden" name="eventEndDate.month">
807                           <xsl:attribute name="value"><xsl:value-of select="form/end/dateTime/month/select/option[@selected = 'selected']/@value"/></xsl:attribute>
808                         </input>
809                         <input type="hidden" name="eventEndDate.day">
810                           <xsl:attribute name="value"><xsl:value-of select="form/end/dateTime/day/select/option[@selected = 'selected']/@value"/></xsl:attribute>
811                         </input>
812                       </xsl:otherwise>
813                     </xsl:choose>
814                   </div>
815                   <div class="{$timeFieldsClass}" id="endTimeFields">
816                     <span id="calWidgetEndTimeHider" class="show">
817                             <select name="eventEndDate.hour" id="eventEndDateHour">
818                               <xsl:copy-of select="form/end/dateTime/hour/select/*"/>
819                             </select>
820                             <select name="eventEndDate.minute" id="eventEndDateMinute">
821                               <xsl:copy-of select="form/end/dateTime/minute/select/*"/>
822                             </select>
823                             <xsl:if test="form/start/ampm">
824                               <select name="eventEndDate.ampm" id="eventEndDateAmpm">
825                                 <xsl:copy-of select="form/end/dateTime/ampm/select/*"/>
826                               </select>
827                             </xsl:if>
828                       <xsl:text> </xsl:text>
829                       <img src="{$resourcesRoot}/resources/clockIcon.gif" width="16" height="15" border="0" alt="bwClock" id="bwEndClock"/>
830
831                       <select name="eventEndDate.tzid" id="endTzid" class="timezones">
832                         <xsl:if test="form/floating/input/@checked='checked'"><xsl:attribute name="disabled">disabled</xsl:attribute></xsl:if>
833                         <option value="-1"><xsl:copy-of select="$bwStr-FoEl-SelectTimezone"/></option>
834                         <xsl:variable name="endTzId" select="form/end/dateTime/tzid"/>
835                         <xsl:for-each select="/bedework/timezones/timezone">
836                           <option>
837                             <xsl:attribute name="value"><xsl:value-of select="id"/></xsl:attribute>
838                               <xsl:if test="$endTzId = id"><xsl:attribute name="selected">selected</xsl:attribute></xsl:if>
839                             <xsl:value-of select="name"/>
840                           </option>
841                         </xsl:for-each>
842                       </select>
843                     </span>
844                   </div>
845                 </div><br/>
846                 <div id="clock" class="invisible">
847                   <xsl:call-template name="clock"/>
848                 </div>
849                 <div class="dateFields">
850                   <xsl:choose>
851                     <xsl:when test="form/end/type='D'">
852                       <input type="radio" name="eventEndType" value="D" checked="checked" onclick="changeClass('endDateTime','invisible');changeClass('endDuration','shown');"/>
853                     </xsl:when>
854                     <xsl:otherwise>
855                       <input type="radio" name="eventEndType" value="D" onclick="changeClass('endDateTime','invisible');changeClass('endDuration','shown');"/>
856                     </xsl:otherwise>
857                   </xsl:choose>
858                   <xsl:copy-of select="$bwStr-FoEl-Duration"/>
859                   <xsl:variable name="endDurationClass">
860                     <xsl:choose>
861                       <xsl:when test="form/end/type='D'">shown</xsl:when>
862                       <xsl:otherwise>invisible</xsl:otherwise>
863                     </xsl:choose>
864                   </xsl:variable>
865                   <xsl:variable name="durationHrMinClass">
866                     <xsl:choose>
867                       <xsl:when test="form/allDay/input/@checked='checked'">invisible</xsl:when>
868                       <xsl:otherwise>shown</xsl:otherwise>
869                     </xsl:choose>
870                   </xsl:variable>
871                   <div class="{$endDurationClass}" id="endDuration">
872                     <xsl:choose>
873                       <xsl:when test="form/end/duration/weeks/input/@value = '0'">
874                       <!-- we are using day, hour, minute format -->
875                       <!-- must send either no week value or week value of 0 (zero) -->
876                         <div class="durationBox">
877                           <input type="radio" name="eventDuration.type" value="daytime" onclick="swapDurationType('daytime')" checked="checked"/>
878                           <xsl:variable name="daysStr" select="form/end/duration/days/input/@value"/>
879                           <input type="text" name="eventDuration.daysStr" size="2" value="{$daysStr}" id="durationDays"/><xsl:copy-of select="$bwStr-FoEl-Days"/>
880                           <span id="durationHrMin" class="{$durationHrMinClass}">
881                             <xsl:variable name="hoursStr" select="form/end/duration/hours/input/@value"/>
882                             <input type="text" name="eventDuration.hoursStr" size="2" value="{$hoursStr}" id="durationHours"/><xsl:copy-of select="$bwStr-FoEl-Hours"/>
883                             <xsl:variable name="minutesStr" select="form/end/duration/minutes/input/@value"/>
884                             <input type="text" name="eventDuration.minutesStr" size="2" value="{$minutesStr}" id="durationMinutes"/><xsl:copy-of select="$bwStr-FoEl-Minutes"/>
885                           </span>
886                         </div>
887                         <span class="durationSpacerText"><xsl:copy-of select="$bwStr-FoEl-Or"/></span>
888                         <div class="durationBox">
889                           <input type="radio" name="eventDuration.type" value="weeks" onclick="swapDurationType('week')"/>
890                           <xsl:variable name="weeksStr" select="form/end/duration/weeks/input/@value"/>
891                           <input type="text" name="eventDuration.weeksStr" size="2" value="{$weeksStr}" id="durationWeeks" disabled="disabled"/><xsl:copy-of select="$bwStr-FoEl-Weeks"/>
892                         </div>
893                       </xsl:when>
894                       <xsl:otherwise>
895                         <!-- we are using week format -->
896                         <div class="durationBox">
897                           <input type="radio" name="eventDuration.type" value="daytime" onclick="swapDurationType('daytime')"/>
898                           <xsl:variable name="daysStr" select="form/end/duration/days/input/@value"/>
899                           <input type="text" name="eventDuration.daysStr" size="2" value="{$daysStr}" id="durationDays" disabled="disabled"/><xsl:copy-of select="$bwStr-FoEl-Days"/>
900                           <span id="durationHrMin" class="{$durationHrMinClass}">
901                             <xsl:variable name="hoursStr" select="form/end/duration/hours/input/@value"/>
902                             <input type="text" name="eventDuration.hoursStr" size="2" value="{$hoursStr}" id="durationHours" disabled="disabled"/><xsl:copy-of select="$bwStr-FoEl-Hours"/>
903                             <xsl:variable name="minutesStr" select="form/end/duration/minutes/input/@value"/>
904                             <input type="text" name="eventDuration.minutesStr" size="2" value="{$minutesStr}" id="durationMinutes" disabled="disabled"/><xsl:copy-of select="$bwStr-FoEl-Minutes"/>
905                           </span>
906                         </div>
907                         <span class="durationSpacerText"><xsl:copy-of select="$bwStr-FoEl-Or"/></span>
908                         <div class="durationBox">
909                           <input type="radio" name="eventDuration.type" value="weeks" onclick="swapDurationType('week')" checked="checked"/>
910                           <xsl:variable name="weeksStr" select="form/end/duration/weeks/input/@value"/>
911                           <input type="text" name="eventDuration.weeksStr" size="2" value="{$weeksStr}" id="durationWeeks"/><xsl:copy-of select="$bwStr-FoEl-Weeks"/>
912                         </div>
913                       </xsl:otherwise>
914                     </xsl:choose>
915                   </div>
916                 </div><br/>
917                 <div class="dateFields" id="noDuration">
918                   <xsl:choose>
919                     <xsl:when test="form/end/type='N'">
920                       <input type="radio" name="eventEndType" value="N" checked="checked" onclick="changeClass('endDateTime','invisible');changeClass('endDuration','invisible');"/>
921                     </xsl:when>
922                     <xsl:otherwise>
923                       <input type="radio" name="eventEndType" value="N" onclick="changeClass('endDateTime','invisible');changeClass('endDuration','invisible');"/>
924                     </xsl:otherwise>
925                   </xsl:choose>
926                   <xsl:copy-of select="$bwStr-FoEl-This"/><xsl:text> </xsl:text>
927                   <xsl:choose>
928                     <xsl:when test="form/entityType = '2'"><xsl:copy-of select="$bwStr-FoEl-Task"/></xsl:when>
929                     <xsl:otherwise><xsl:copy-of select="$bwStr-FoEl-Event"/></xsl:otherwise>
930                   </xsl:choose>
931                   <xsl:text> </xsl:text><xsl:copy-of select="$bwStr-FoEl-HasNoDurationEndDate"/>
932                 </div>
933               </div>
934             </td>
935           </tr>
936
937           <!--  Description  -->
938           <tr>
939             <td class="fieldname"><xsl:copy-of select="$bwStr-FoEl-Description"/></td>
940             <td class="fieldval">
941               <div id="bwEventDescNotice" class="invisible"><xsl:copy-of select="$bwStr-FoEl-MustIncludeDescription"/></div> <!-- a holder for validation notes -->
942               <xsl:choose>
943                 <xsl:when test="normalize-space(form/desc/textarea) = ''">
944                   <textarea name="description" cols="60" rows="4" id="bwEventDesc">
945                     <xsl:text> </xsl:text>
946                   </textarea>
947                   <!-- keep this space to avoid browser
948                   rendering errors when the text area is empty -->
949                 </xsl:when>
950                 <xsl:otherwise>
951                   <textarea name="description" cols="60" rows="4" id="bwEventDesc">
952                     <xsl:value-of select="form/desc/textarea"/>
953                   </textarea>
954                 </xsl:otherwise>
955               </xsl:choose>
956             </td>
957           </tr>
958           <!--  Status  -->
959           <tr>
960             <td class="fieldname">
961               <xsl:copy-of select="$bwStr-FoEl-Status"/>
962             </td>
963             <td class="fieldval">
964               <input type="radio" name="eventStatus" value="CONFIRMED">
965                 <xsl:if test="form/status = 'CONFIRMED' or /bedework/creating = 'true' or form/status = ''"><xsl:attribute name="checked">checked</xsl:attribute></xsl:if>
966               </input>
967               <xsl:copy-of select="$bwStr-FoEl-Confirmed"/>
968               <input type="radio" name="eventStatus" value="TENTATIVE">
969                 <xsl:if test="form/status = 'TENTATIVE'"><xsl:attribute name="checked">checked</xsl:attribute></xsl:if>
970               </input>
971               <xsl:copy-of select="$bwStr-FoEl-Tentative"/>
972               <input type="radio" name="eventStatus" value="CANCELLED">
973                 <xsl:if test="form/status = 'CANCELLED'"><xsl:attribute name="checked">checked</xsl:attribute></xsl:if>
974               </input>
975               <xsl:copy-of select="$bwStr-FoEl-Canceled"/>
976             </td>
977           </tr>
978           <!-- Cost -->
979           <tr>
980             <td class="fieldname"><em><xsl:copy-of select="$bwStr-FoEl-Cost"/></em></td>
981             <td class="fieldval">
982               <input type="text" name="eventCost" size="30" value="">
983                 <xsl:attribute name="value"><xsl:value-of select="form/cost/input/@value"/></xsl:attribute>
984               </input>
985               <span class="note"><xsl:text> </xsl:text><xsl:copy-of select="$bwStr-FoEl-CostOptional"/></span>
986             </td>
987           </tr>
988           <!--  Link (url associated with event)  -->
989           <tr>
990             <td class="fieldname"><em><xsl:copy-of select="$bwStr-FoEl-EventURL"/></em></td>
991             <td class="fieldval">
992               <input type="text" name="eventLink" size="30" value="">
993                 <xsl:attribute name="value"><xsl:value-of select="form/link/input/@value"/></xsl:attribute>
994               </input>
995               <span class="note"><xsl:text> </xsl:text><xsl:copy-of select="$bwStr-FoEl-EventURLOptional"/></span>
996             </td>
997           </tr>
998           <!-- Image Url -->
999           <tr>
1000             <td class="fieldname"><em><xsl:copy-of select="$bwStr-FoEl-ImageURL"/></em></td>
1001             <td class="fieldval">
1002               <input type="text" name="xBwImageHolder" size="30" value="">
1003                 <xsl:attribute name="value"><xsl:value-of select="form/xproperties/node()[name()='X-BEDEWORK-IMAGE']/values/text" disable-output-escaping="yes"/></xsl:attribute>
1004               </input>
1005               <xsl:text> </xsl:text>
1006               <span class="note"><xsl:text> </xsl:text><xsl:copy-of select="$bwStr-FoEl-ImageURLOptional"/></span>
1007             </td>
1008           </tr>
1009         </table>
1010       </div>
1011
1012       <!-- Location tab -->
1013       <!-- ============== -->
1014       <div id="bwEventTab-Location" class="invisible">
1015         <div id="bwLocationUidNotice" class="invisible"><xsl:copy-of select="$bwStr-FoEl-MustSelectLocation"/></div>
1016         <div class="mainForm">
1017           <span id="eventFormLocationList">
1018             <select name="locationUid" class="bigSelect" id="bwLocationUid">
1019               <option value=""><xsl:copy-of select="$bwStr-FoEl-SelectExistingLocation"/></option>
1020               <xsl:copy-of select="form/location/locationmenu/select/*"/>
1021             </select>
1022           </span>
1023         </div>
1024         <p class="subFormMessage">
1025           <xsl:copy-of select="$bwStr-FoEl-DidntFindLocation"/>
1026         </p>
1027         <div class="subForm">
1028           <p>
1029             <label for="commentLocationAddress"><xsl:copy-of select="$bwStr-FoEl-Address"/><xsl:text> </xsl:text></label>
1030             <input type="text" name="commentLocationAddress" id="bwCommentLocationAddress">
1031               <xsl:attribute name="value"><xsl:value-of select="form/xproperties/node()[name()='X-BEDEWORK-LOCATION']/values/text" disable-output-escaping="yes"/></xsl:attribute>
1032             </input>
1033           </p>
1034           <p>
1035             <label for="commentLocationSubaddress"><em><xsl:copy-of select="$bwStr-FoEl-SubAddress"/></em> </label>
1036             <input type="text" name="commentLocationSubaddress" id="commentLocationSubaddress">
1037               <xsl:attribute name="value"><xsl:value-of select="form/xproperties/node()[name()='X-BEDEWORK-LOCATION']/parameters/node()[name()='X-BEDEWORK-PARAM-SUBADDRESS']" disable-output-escaping="yes"/></xsl:attribute>
1038             </input>
1039             <span class="note"><xsl:text> </xsl:text><xsl:copy-of select="$bwStr-FoEl-Optional"/></span>
1040           </p>
1041           <p>
1042             <label for="commentLocationURL"><em><xsl:copy-of select="$bwStr-FoEl-URL"/></em> </label>
1043             <input type="text" name="commentLocationURL" id="commentLocationURL">
1044               <xsl:attribute name="value"><xsl:value-of select="form/xproperties/node()[name()='X-BEDEWORK-LOCATION']/parameters/node()[name()='X-BEDEWORK-PARAM-URL']" disable-output-escaping="yes"/></xsl:attribute>
1045             </input>
1046             <span class="note"><xsl:text> </xsl:text><xsl:copy-of select="$bwStr-FoEl-Optional"/></span>
1047           </p>
1048         </div>
1049       </div>
1050
1051       <!-- Contact tab -->
1052       <!-- ============== -->
1053       <div id="bwEventTab-Contact" class="invisible">
1054         <div id="bwContactUidNotice" class="invisible"><xsl:copy-of select="$bwStr-FoEl-MustSelectContact"/></div>
1055         <div class="mainForm">
1056           <select name="contactUid" id="bwContactUid" class="bigSelect">
1057             <option value="">
1058               <xsl:copy-of select="$bwStr-FoEl-SelectExistingContact"/>
1059             </option>
1060             <xsl:copy-of select="form/contact/all/select/*"/>
1061           </select>
1062         </div>
1063         <p class="subFormMessage">
1064           <xsl:copy-of select="$bwStr-FoEl-DidntFindContact"/>
1065         </p>
1066         <div class="subForm">
1067           <p>
1068             <label for="commentContactName"><xsl:copy-of select="$bwStr-FoEl-OrganizationName"/><xsl:text> </xsl:text> </label>
1069             <input type="text" name="commentContactName" id="bwCommentContactName" size="40">
1070               <xsl:attribute name="value"><xsl:value-of select="form/xproperties/node()[name()='X-BEDEWORK-CONTACT']/values/text" disable-output-escaping="yes"/></xsl:attribute>
1071             </input>
1072             <span class="note"><xsl:text> </xsl:text><xsl:copy-of select="$bwStr-FoEl-PleaseLimitContacts"/></span>
1073           </p>
1074           <p>
1075             <label for="commentContactPhone"><em><xsl:copy-of select="$bwStr-FoEl-Phone"/></em> </label>
1076             <input type="text" name="commentContactPhone">
1077               <xsl:attribute name="value"><xsl:value-of select="form/xproperties/node()[name()='X-BEDEWORK-CONTACT']/parameters/node()[name()='X-BEDEWORK-PARAM-PHONE']" disable-output-escaping="yes"/></xsl:attribute>
1078             </input>
1079             <span class="note"><xsl:text> </xsl:text><xsl:copy-of select="$bwStr-FoEl-Optional"/></span>
1080           </p>
1081           <p>
1082             <label for="commentContactURL"><em><xsl:copy-of select="$bwStr-FoEl-URL"/></em> </label>
1083             <input type="text" name="commentContactURL">
1084               <xsl:attribute name="value"><xsl:value-of select="form/xproperties/node()[name()='X-BEDEWORK-CONTACT']/parameters/node()[name()='X-BEDEWORK-PARAM-URL']" disable-output-escaping="yes"/></xsl:attribute>
1085             </input>
1086             <span class="note"><xsl:text> </xsl:text><xsl:copy-of select="$bwStr-FoEl-Optional"/></span>
1087           </p>
1088           <p>
1089             <label for="commentContactEmail"><em><xsl:copy-of select="$bwStr-FoEl-Email"/></em> </label>
1090             <input type="text" name="commentContactEmail">
1091               <xsl:attribute name="value"><xsl:value-of select="form/xproperties/node()[name()='X-BEDEWORK-CONTACT']/parameters/node()[name()='X-BEDEWORK-PARAM-EMAIL']" disable-output-escaping="yes"/></xsl:attribute>
1092             </input>
1093             <span class="note"><xsl:text> </xsl:text><xsl:copy-of select="$bwStr-FoEl-Optional"/></span>
1094           </p>
1095         </div>
1096       </div>
1097
1098       <!-- Categories tab (now Topical areas) -->
1099       <!-- ================================== -->
1100       <div id="bwEventTab-Categories" class="invisible">
1101         <!-- Topical area  -->
1102         <!-- These are the subscriptions (aliases) where the events should show up.
1103              By selecting one or more of these, appropriate categories will be set on the event -->
1104         <ul class="aliasTree">
1105           <!-- hard coding the "aliases" name is not best, but will do for now -->
1106           <xsl:apply-templates select="form/calendars/calendar/calendar[name='aliases']" mode="showEventFormAliases">
1107             <xsl:with-param name="root">true</xsl:with-param>
1108           </xsl:apply-templates>
1109         </ul>
1110         <p class="subFormMessage">
1111           <xsl:copy-of select="$bwStr-FoEl-MissingTopicalArea"/>
1112         </p>
1113         <div class="subForm">
1114           <p>
1115             <label for="commentCategories"><xsl:copy-of select="$bwStr-FoEl-TypeOfEvent"/><xsl:text> </xsl:text></label>
1116             <input type="text" name="commentCategories" size="80">
1117               <xsl:attribute name="value"><xsl:value-of select="form/xproperties/node()[name()='X-BEDEWORK-CATEGORIES']/values/text" disable-output-escaping="yes"/></xsl:attribute>
1118             </input>
1119           </p>
1120         </div>
1121         <!-- xsl:variable name="catCount" select="count(form/categories/all/category)"/>
1122         <xsl:choose>
1123           <xsl:when test="not(form/categories/all/category)">
1124             no categories defined
1125           </xsl:when>
1126           <xsl:otherwise>
1127             <table cellpadding="0" id="allCategoryCheckboxes">
1128               <tr>
1129                 <td>
1130                   <xsl:for-each select="form/categories/all/category[position() &lt;= ceiling($catCount div 2)]">
1131                     <input type="checkbox" name="catUid">
1132                       <xsl:attribute name="value"><xsl:value-of select="uid"/></xsl:attribute>
1133                       <xsl:if test="uid = ../../current//category/uid"><xsl:attribute name="checked">checked</xsl:attribute></xsl:if>
1134                       <xsl:value-of select="value"/>
1135                     </input><br/>
1136                   </xsl:for-each>
1137                 </td>
1138                 <td>
1139                   <xsl:for-each select="form/categories/all/category[position() &gt; ceiling($catCount div 2)]">
1140                     <input type="checkbox" name="catUid">
1141                       <xsl:attribute name="value"><xsl:value-of select="uid"/></xsl:attribute>
1142                       <xsl:if test="uid = ../../current//category/uid"><xsl:attribute name="checked">checked</xsl:attribute></xsl:if>
1143                       <xsl:value-of select="value"/>
1144                     </input><br/>
1145                   </xsl:for-each>
1146                 </td>
1147               </tr>
1148             </table>
1149           </xsl:otherwise>
1150         </xsl:choose>
1151         <p class="subFormMessage">
1152           Didn't find the category you want?  Suggest a new one:
1153         </p>
1154         <div class="subForm">
1155           <p>
1156             <label for="commentCategories">Category suggestion: </label>
1157             <input type="text" name="commentCategories" size="30">
1158               <xsl:attribute name="value"><xsl:value-of select="form/xproperties/node()[name()='X-BEDEWORK-CATEGORIES']/values/text" disable-output-escaping="yes"/></xsl:attribute>
1159             </input>
1160           </p>
1161         </div-->
1162       </div>
1163
1164       <!--   Review tab   -->
1165       <!-- ============== -->
1166       <div id="bwEventTab-Review" class="invisible">
1167         <!--  <table id="bwEventSubmitReview" class="common">
1168           <tr>
1169             <th colspan="2">Event Details</th>
1170           </tr>-->
1171           <!-- the form elements will be inserted here -->
1172         <!-- </table>-->
1173
1174         <div id="bwCommentNotes">
1175           <!-- holders for validation notes -->
1176           <div id="xBwEmailHolderNotice" class="invisible"><xsl:copy-of select="$bwStr-FoEl-MustIncludeEmail"/></div>
1177           <div id="xBwEmailHolderInvalidNotice" class="invisible"><xsl:copy-of select="$bwStr-FoEl-InvalidEmailAddress"/></div>
1178           <p>
1179             <label for="xBwEmailHolder"><xsl:copy-of select="$bwStr-FoEl-EnterEmailAddress"/><xsl:text> </xsl:text></label><br/>
1180             <input type="text" name="xBwEmailHolder" id="xBwEmailHolder" size="80">
1181               <xsl:attribute name="value"><xsl:value-of select="form/xproperties/node()[name()='X-BEDEWORK-SUBMITTER-EMAIL']/values/text"/></xsl:attribute>
1182             </input>
1183           </p>
1184
1185           <p>
1186             <xsl:copy-of select="$bwStr-FoEl-FinalNotes"/><br/>
1187           <!-- note: don't remove the #160 from the textarea or browsers will see it as a closed tag when empty -->
1188            <textarea name="commentNotes" cols="60" rows="4"><!--
1189            --><xsl:value-of select="normalize-space(form/xproperties/node()[name()='X-BEDEWORK-SUBMIT-COMMENT']/values/text)" disable-output-escaping="yes"/><!--
1190            --><xsl:if test="normalize-space(form/xproperties/node()[name()='X-BEDEWORK-SUBMIT-COMMENT']/values/text) = ''"><xsl:text> </xsl:text></xsl:if><!--
1191            --></textarea>
1192           </p>
1193         </div>
1194         <div class="eventSubmitButtons">
1195           <input name="submit" class="submit" type="submit" value="{$bwStr-FoEl-SubmitForApproval}"/>
1196           <input name="cancelled" type="submit" value="{$bwStr-FoEl-Cancel}"/>
1197         </div>
1198       </div>
1199     </div>
1200
1201     <div id="bwBottomNav">
1202       <div id="bwBottomNav-Details">
1203         <div class="navButtons">
1204           <a href="javascript:show('bwEventTab-Location','bwHelp-Location','bwBottomNav-Location'); hide('bwEventTab-Details','bwHelp-Details','bwBottomNav-Details');"
1205              onclick="return validateStep1();">
1206             <xsl:copy-of select="$bwStr-FoEl-Next"/>
1207             <xsl:text> </xsl:text>
1208             <img alt="{$bwStr-FoEl-Next}"
1209               src="{$resourcesRoot}/resources/arrowRight.gif"
1210               width="13"
1211               height="13"
1212               border="0"/>
1213           </a>
1214         </div>
1215       </div>
1216       <div id="bwBottomNav-Location" class="invisible">
1217         <div class="navButtons">
1218           <a href="javascript:show('bwEventTab-Details','bwHelp-Details','bwBottomNav-Details'); hide('bwEventTab-Location','bwHelp-Location','bwBottomNav-Location');">
1219             <img alt="{$bwStr-FoEl-Previous}"
1220               src="{$resourcesRoot}/resources/arrowLeft.gif"
1221               width="13"
1222               height="13"
1223               border="0"/>
1224             <xsl:text> </xsl:text>
1225             <xsl:copy-of select="$bwStr-FoEl-Previous"/>
1226           </a> |
1227           <a href="javascript:show('bwEventTab-Contact','bwHelp-Contact','bwBottomNav-Contact'); hide('bwEventTab-Location','bwHelp-Location','bwBottomNav-Location');"
1228              onclick="return validateStep2();">
1229             <xsl:copy-of select="$bwStr-FoEl-Next"/>
1230             <xsl:text> </xsl:text>
1231             <img alt="{$bwStr-FoEl-Next}"
1232               src="{$resourcesRoot}/resources/arrowRight.gif"
1233               width="13"
1234               height="13"
1235               border="0"/>
1236           </a>
1237         </div>
1238       </div>
1239       <div id="bwBottomNav-Contact" class="invisible">
1240         <div class="navButtons">
1241           <a href="javascript:show('bwEventTab-Location','bwHelp-Location','bwBottomNav-Location'); hide('bwHelp-Contact','bwEventTab-Contact','bwBottomNav-Contact');">
1242             <img alt="{$bwStr-FoEl-Previous}"
1243               src="{$resourcesRoot}/resources/arrowLeft.gif"
1244               width="13"
1245               height="13"
1246               border="0"/>
1247             <xsl:text> </xsl:text>
1248             <xsl:copy-of select="$bwStr-FoEl-Previous"/>
1249           </a> |
1250           <a href="javascript:show('bwEventTab-Categories','bwHelp-Categories','bwBottomNav-Categories'); hide('bwHelp-Contact','bwEventTab-Contact','bwBottomNav-Contact');"
1251              onclick="return validateStep3();">
1252             <xsl:copy-of select="$bwStr-FoEl-Next"/>
1253             <xsl:text> </xsl:text>
1254             <img alt="{$bwStr-FoEl-Next}"
1255               src="{$resourcesRoot}/resources/arrowRight.gif"
1256               width="13"
1257               height="13"
1258               border="0"/>
1259           </a>
1260         </div>
1261       </div>
1262       <div id="bwBottomNav-Categories" class="invisible">
1263         <div class="navButtons">
1264           <a href="javascript:show('bwEventTab-Contact','bwHelp-Contact','bwBottomNav-Contact'); hide('bwHelp-Categories','bwEventTab-Categories','bwBottomNav-Categories');">
1265             <img alt="{$bwStr-FoEl-Previous}"
1266               src="{$resourcesRoot}/resources/arrowLeft.gif"
1267               width="13"
1268               height="13"
1269               border="0"/>
1270             <xsl:text> </xsl:text>
1271             <xsl:copy-of select="$bwStr-FoEl-Previous"/>
1272           </a> |
1273           <a href="javascript:show('bwHelp-Review','bwEventTab-Review','bwBottomNav-Review'); hide('bwHelp-Categories','bwEventTab-Categories','bwBottomNav-Categories');">
1274             <!-- displayReview('standardForm','bwEventSubmitReview',1) -->
1275             <xsl:copy-of select="$bwStr-FoEl-Next"/>
1276             <xsl:text> </xsl:text>
1277             <img alt="{$bwStr-FoEl-Next}"
1278               src="{$resourcesRoot}/resources/arrowRight.gif"
1279               width="13"
1280               height="13"
1281               border="0"/>
1282           </a>
1283         </div>
1284       </div>
1285       <div id="bwBottomNav-Review" class="invisible">
1286         <div class="navButtons">
1287           <a href="javascript:show('bwHelp-Categories','bwEventTab-Categories','bwBottomNav-Categories'); hide('bwHelp-Review','bwEventTab-Review','bwBottomNav-Review'); ">
1288             <img alt="{$bwStr-FoEl-Previous}"
1289               src="{$resourcesRoot}/resources/arrowLeft.gif"
1290               width="13"
1291               height="13"
1292               border="0"/>
1293             <xsl:text> </xsl:text>
1294             <xsl:copy-of select="$bwStr-FoEl-Previous"/>
1295           </a>
1296           <span class="hidden">
1297             <xsl:text> </xsl:text>|<xsl:text> </xsl:text>
1298             <xsl:copy-of select="$bwStr-FoEl-Next"/>
1299             <xsl:text> </xsl:text>
1300             <img alt="{$bwStr-FoEl-Next}"
1301               src="{$resourcesRoot}/resources/arrowRight.gif"
1302               width="13"
1303               height="13"
1304               border="0"/>
1305           </span>
1306         </div>
1307       </div>
1308     </div>
1309   </xsl:template>
1310
1311   <xsl:template match="calendar" mode="showEventFormAliases">
1312     <xsl:param name="root">false</xsl:param>
1313     <li>
1314       <xsl:if test="$root != 'true'">
1315         <!-- hide the root calendar. -->
1316         <xsl:choose>
1317           <xsl:when test="calType = '7' or calType = '8'">
1318             <!-- we've hit an unresolvable alias; stop descending -->
1319             <input type="checkbox" name="forDiplayOnly" disabled="disabled"/>
1320             <em><xsl:value-of select="summary"/>?</em>
1321           </xsl:when>
1322           <xsl:when test="calType = '0'">
1323             <!-- no direct selecting of folders or folder aliases: we only want users to select the
1324                  underlying calendar aliases -->
1325             <img src="{$resourcesRoot}/resources/catIcon.gif" width="13" height="13" alt="folder" class="folderForAliasTree" border="0"/>
1326             <xsl:value-of select="summary"/>
1327           </xsl:when>
1328           <xsl:otherwise>
1329             <xsl:variable name="virtualPath">/user<xsl:for-each select="ancestor-or-self::calendar/name">/<xsl:value-of select="."/></xsl:for-each></xsl:variable>
1330             <xsl:variable name="displayName" select="summary"/>
1331             <input type="checkbox" name="alias" onclick="toggleBedeworkXProperty('X-BEDEWORK-SUBMIT-ALIAS','{$displayName}','{$virtualPath}',this.checked)">
1332               <xsl:attribute name="value"><xsl:value-of select="$virtualPath"/></xsl:attribute>
1333               <xsl:if test="$virtualPath = /bedework/formElements/form/xproperties//X-BEDEWORK-SUBMIT-ALIAS/values/text"><xsl:attribute name="checked"><xsl:value-of select="checked"/></xsl:attribute></xsl:if>
1334             </input>
1335             <xsl:choose>
1336               <xsl:when test="$virtualPath = /bedework/formElements/form/xproperties//X-BEDEWORK-SUBMIT-ALIAS/values/text">
1337                 <strong><xsl:value-of select="summary"/></strong>
1338               </xsl:when>
1339               <xsl:otherwise>
1340                 <xsl:value-of select="summary"/>
1341               </xsl:otherwise>
1342             </xsl:choose>
1343           </xsl:otherwise>
1344         </xsl:choose>
1345       </xsl:if>
1346
1347       <xsl:if test="calendar">
1348         <ul>
1349           <xsl:apply-templates select="calendar" mode="showEventFormAliases"/>
1350         </ul>
1351       </xsl:if>
1352     </li>
1353   </xsl:template>
1354
1355   <xsl:template match="val" mode="weekMonthYearNumbers">
1356     <xsl:if test="position() != 1 and position() = last()"><xsl:text> </xsl:text><xsl:copy-of select="$bwStr-WMYN-Next"/><xsl:text> </xsl:text></xsl:if>
1357     <xsl:value-of select="."/><xsl:choose>
1358       <xsl:when test="substring(., string-length(.)-1, 2) = '11' or
1359                       substring(., string-length(.)-1, 2) = '12' or
1360                       substring(., string-length(.)-1, 2) = '13'">th</xsl:when>
1361       <xsl:when test="substring(., string-length(.), 1) = '1'">st</xsl:when>
1362       <xsl:when test="substring(., string-length(.), 1) = '2'">nd</xsl:when>
1363       <xsl:when test="substring(., string-length(.), 1) = '3'">rd</xsl:when>
1364       <xsl:otherwise>th</xsl:otherwise>
1365     </xsl:choose>
1366     <xsl:if test="position() != last()">, </xsl:if>
1367   </xsl:template>
1368
1369   <xsl:template name="byDayChkBoxList">
1370     <xsl:param name="name"/>
1371     <xsl:for-each select="/bedework/shortdaynames/val">
1372       <xsl:variable name="pos" select="position()"/>
1373       <input type="checkbox">
1374         <xsl:attribute name="value"><xsl:value-of select="/bedework/recurdayvals/val[position() = $pos]"/></xsl:attribute>
1375         <xsl:attribute name="name"><xsl:value-of select="$name"/></xsl:attribute>
1376       </input>
1377       <xsl:value-of select="."/>
1378     </xsl:for-each>
1379   </xsl:template>
1380
1381   <xsl:template name="buildCheckboxList">
1382     <xsl:param name="current"/>
1383     <xsl:param name="end"/>
1384     <xsl:param name="name"/>
1385     <xsl:param name="splitter">10</xsl:param>
1386     <span class="chkBoxListItem">
1387       <input type="checkbox">
1388         <xsl:attribute name="name"><xsl:value-of select="$name"/></xsl:attribute>
1389         <xsl:attribute name="value"><xsl:value-of select="$current"/></xsl:attribute>
1390       </input>
1391       <xsl:value-of select="$current"/>
1392     </span>
1393     <xsl:if test="$current mod $splitter = 0"><br/></xsl:if>
1394     <xsl:if test="$current = $end"><br/></xsl:if>
1395     <xsl:if test="$current &lt; $end">
1396       <xsl:call-template name="buildCheckboxList">
1397         <xsl:with-param name="current"><xsl:value-of select="$current + 1"/></xsl:with-param>
1398         <xsl:with-param name="end"><xsl:value-of select="$end"/></xsl:with-param>
1399         <xsl:with-param name="name"><xsl:value-of select="$name"/></xsl:with-param>
1400       </xsl:call-template>
1401     </xsl:if>
1402   </xsl:template>
1403
1404   <xsl:template name="recurrenceDayPosOptions">
1405     <option value="0"><xsl:copy-of select="$bwStr-RDPO-None"/></option>
1406     <option value="1"><xsl:copy-of select="$bwStr-RDPO-TheFirst"/></option>
1407     <option value="2"><xsl:copy-of select="$bwStr-RDPO-TheSecond"/></option>
1408     <option value="3"><xsl:copy-of select="$bwStr-RDPO-TheThird"/></option>
1409     <option value="4"><xsl:copy-of select="$bwStr-RDPO-TheFourth"/></option>
1410     <option value="5"><xsl:copy-of select="$bwStr-RDPO-TheFifth"/></option>
1411     <option value="-1"><xsl:copy-of select="$bwStr-RDPO-TheLast"/></option>
1412     <option value=""><xsl:copy-of select="$bwStr-RDPO-Every"/></option>
1413   </xsl:template>
1414
1415   <xsl:template name="buildRecurFields">
1416     <xsl:param name="current"/>
1417     <xsl:param name="total"/>
1418     <xsl:param name="name"/>
1419     <div class="invisible">
1420       <xsl:attribute name="id"><xsl:value-of select="$name"/>RecurFields<xsl:value-of select="$current"/></xsl:attribute>
1421       <xsl:copy-of select="$bwStr-BReF-And"/>
1422       <select width="12em">
1423         <xsl:attribute name="name">by<xsl:value-of select="$name"/>posPos<xsl:value-of select="$current"/></xsl:attribute>
1424         <xsl:if test="$current != $total">
1425           <xsl:attribute name="onchange">changeClass('<xsl:value-of select="$name"/>RecurFields<xsl:value-of select="$current+1"/>','shown')</xsl:attribute>
1426         </xsl:if>
1427         <xsl:call-template name="recurrenceDayPosOptions"/>
1428       </select>
1429       <xsl:call-template name="byDayChkBoxList"/>
1430     </div>
1431     <xsl:if test="$current &lt; $total">
1432       <xsl:call-template name="buildRecurFields">
1433         <xsl:with-param name="current"><xsl:value-of select="$current+1"/></xsl:with-param>
1434         <xsl:with-param name="total"><xsl:value-of select="$total"/></xsl:with-param>
1435         <xsl:with-param name="name"><xsl:value-of select="$name"/></xsl:with-param>
1436       </xsl:call-template>
1437     </xsl:if>
1438   </xsl:template>
1439
1440   <xsl:template name="buildNumberOptions">
1441     <xsl:param name="current"/>
1442     <xsl:param name="total"/>
1443     <option value="{$current}"><xsl:value-of select="$current"/></option>
1444     <xsl:if test="$current &lt; $total">
1445       <xsl:call-template name="buildNumberOptions">
1446         <xsl:with-param name="current"><xsl:value-of select="$current+1"/></xsl:with-param>
1447         <xsl:with-param name="total"><xsl:value-of select="$total"/></xsl:with-param>
1448       </xsl:call-template>
1449     </xsl:if>
1450   </xsl:template>
1451
1452   <xsl:template name="clock">
1453     <div id="bwClock">
1454       <!-- Bedework 24-Hour Clock time selection widget
1455            used with resources/bwClock.js and resources/bwClock.css -->
1456       <xsl:variable name="hour24" select="/bedework/hour24"/><!-- true or false -->
1457       <div id="bwClockClock">
1458         <img id="clockMap" src="{$resourcesRoot}/resources/clockMap.gif" width="368" height="368" border="0" alt="bwClock" usemap="#bwClockMap" />
1459       </div>
1460       <div id="bwClockCover">
1461         &#160;
1462         <!-- this is a special effect div used simply to cover the pixelated edge
1463              where the clock meets the clock box title -->
1464       </div>
1465       <div id="bwClockBox">
1466         <h2>
1467           <xsl:copy-of select="$bwStr-Cloc-Bedework24HourClock"/>
1468         </h2>
1469         <div id="bwClockDateTypeIndicator">
1470           <xsl:copy-of select="$bwStr-Cloc-Type"/>
1471         </div>
1472         <div id="bwClockTime">
1473           <xsl:copy-of select="$bwStr-Cloc-SelectTime"/>
1474         </div>
1475         <div id="bwClockSwitch">
1476           <xsl:copy-of select="$bwStr-Cloc-Switch"/>
1477         </div>
1478         <div id="bwClockCloseText">
1479           <xsl:copy-of select="$bwStr-Cloc-Close"/>
1480         </div>
1481         <div id="bwClockCloseButton">
1482           <a href="javascript:bwClockClose();">X</a>
1483         </div>
1484       </div>
1485       <map name="bwClockMap" id="bwClockMap">
1486         <area shape="rect" alt="close clock" title="close clock" coords="160,167, 200,200" href="javascript:bwClockClose()"/>
1487         <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')" />
1488         <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')" />
1489         <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')" />
1490         <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')" />
1491         <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')" />
1492         <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')" />
1493         <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')" />
1494         <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')" />
1495         <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')" />
1496         <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')" />
1497         <area shape="poly" alt="minute 00:05" title="minute 00:05" coords="196,155, 209,164, 238,126, 206,107" href="javascript:bwClockUpdateDateTimeForm('minute','5')" />
1498         <area shape="poly" alt="minute 00:00" title="minute 00:00" coords="169,155, 196,155, 206,105, 156,105" href="javascript:bwClockUpdateDateTimeForm('minute','0')" />
1499         <area shape="poly" alt="11 PM, 2300 hour" title="11 PM, 2300 hour" coords="150,102, 172,96, 158,1, 114,14" href="javascript:bwClockUpdateDateTimeForm('hour','23',{$hour24})" />
1500         <area shape="poly" alt="10 PM, 2200 hour" title="10 PM, 2200 hour" coords="131,114, 150,102, 114,14, 74,36" href="javascript:bwClockUpdateDateTimeForm('hour','22',{$hour24})" />
1501         <area shape="poly" alt="9 PM, 2100 hour" title="9 PM, 2100 hour" coords="111,132, 131,114, 74,36, 40,69" href="javascript:bwClockUpdateDateTimeForm('hour','21',{$hour24})" />
1502         <area shape="poly" alt="8 PM, 2000 hour" title="8 PM, 2000 hour" coords="101,149, 111,132, 40,69, 15,113" href="javascript:bwClockUpdateDateTimeForm('hour','20',{$hour24})" />
1503         <area shape="poly" alt="7 PM, 1900 hour" title="7 PM, 1900 hour" coords="95,170, 101,149, 15,113, 1,159" href="javascript:bwClockUpdateDateTimeForm('hour','19',{$hour24})" />
1504         <area shape="poly" alt="6 PM, 1800 hour" title="6 PM, 1800 hour" coords="95,196, 95,170, 0,159, 0,204" href="javascript:bwClockUpdateDateTimeForm('hour','18',{$hour24})" />
1505         <area shape="poly" alt="5 PM, 1700 hour" title="5 PM, 1700 hour" coords="103,225, 95,196, 1,205, 16,256" href="javascript:bwClockUpdateDateTimeForm('hour','17',{$hour24})" />
1506         <area shape="poly" alt="4 PM, 1600 hour" title="4 PM, 1600 hour" coords="116,245, 103,225, 16,256, 41,298" href="javascript:bwClockUpdateDateTimeForm('hour','16',{$hour24})" />
1507         <area shape="poly" alt="3 PM, 1500 hour" title="3 PM, 1500 hour" coords="134,259, 117,245, 41,298, 76,332" href="javascript:bwClockUpdateDateTimeForm('hour','15',{$hour24})" />
1508         <area shape="poly" alt="2 PM, 1400 hour" title="2 PM, 1400 hour" coords="150,268, 134,259, 76,333, 121,355" href="javascript:bwClockUpdateDateTimeForm('hour','14',{$hour24})" />
1509         <area shape="poly" alt="1 PM, 1300 hour" title="1 PM, 1300 hour" coords="169,273, 150,268, 120,356, 165,365" href="javascript:bwClockUpdateDateTimeForm('hour','13',{$hour24})" />
1510         <area shape="poly" alt="Noon, 1200 hour" title="Noon, 1200 hour" coords="193,273, 169,273, 165,365, 210,364" href="javascript:bwClockUpdateDateTimeForm('hour','12',{$hour24})" />
1511         <area shape="poly" alt="11 AM, 1100 hour" title="11 AM, 1100 hour" coords="214,270, 193,273, 210,363, 252,352" href="javascript:bwClockUpdateDateTimeForm('hour','11',{$hour24})" />
1512         <area shape="poly" alt="10 AM, 1000 hour" title="10 AM, 1000 hour" coords="232,259, 214,270, 252,352, 291,330" href="javascript:bwClockUpdateDateTimeForm('hour','10',{$hour24})" />
1513         <area shape="poly" alt="9 AM, 0900 hour" title="9 AM, 0900 hour" coords="251,240, 232,258, 291,330, 323,301" href="javascript:bwClockUpdateDateTimeForm('hour','9',{$hour24})" />
1514         <area shape="poly" alt="8 AM, 0800 hour" title="8 AM, 0800 hour" coords="263,219, 251,239, 323,301, 349,261" href="javascript:bwClockUpdateDateTimeForm('hour','8',{$hour24})" />
1515         <area shape="poly" alt="7 AM, 0700 hour" title="7 AM, 0700 hour" coords="269,194, 263,219, 349,261, 363,212" href="javascript:bwClockUpdateDateTimeForm('hour','7',{$hour24})" />
1516         <area shape="poly" alt="6 AM, 0600 hour" title="6 AM, 0600 hour" coords="269,172, 269,193, 363,212, 363,155" href="javascript:bwClockUpdateDateTimeForm('hour','6',{$hour24})" />
1517         <area shape="poly" alt="5 AM, 0500 hour" title="5 AM, 0500 hour" coords="263,150, 269,172, 363,155, 351,109" href="javascript:bwClockUpdateDateTimeForm('hour','5',{$hour24})" />
1518         <area shape="poly" alt="4 AM, 0400 hour" title="4 AM, 0400 hour" coords="251,130, 263,150, 351,109, 325,68" href="javascript:bwClockUpdateDateTimeForm('hour','4',{$hour24})" />
1519         <area shape="poly" alt="3 AM, 0300 hour" title="3 AM, 0300 hour" coords="234,112, 251,130, 325,67, 295,37" href="javascript:bwClockUpdateDateTimeForm('hour','3',{$hour24})" />
1520         <area shape="poly" alt="2 AM, 0200 hour" title="2 AM, 0200 hour" coords="221,102, 234,112, 295,37, 247,11" href="javascript:bwClockUpdateDateTimeForm('hour','2',{$hour24})" />
1521         <area shape="poly" alt="1 AM, 0100 hour" title="1 AM, 0100 hour" coords="196,96, 221,102, 247,10, 209,-1, 201,61, 206,64, 205,74, 199,75" href="javascript:bwClockUpdateDateTimeForm('hour','1',{$hour24})" />
1522         <area shape="poly" alt="Midnight, 0000 hour" title="Midnight, 0000 hour" coords="172,96, 169,74, 161,73, 161,65, 168,63, 158,-1, 209,-1, 201,61, 200,62, 206,64, 205,74, 198,75, 196,96, 183,95" href="javascript:bwClockUpdateDateTimeForm('hour','0',{$hour24})" />
1523       </map>
1524     </div>
1525   </xsl:template>
1526
1527   <!--++++++++++++++++++ Events ++++++++++++++++++++-->
1528   <xsl:template name="eventList">
1529     <h1><xsl:copy-of select="$bwStr-EvLs-PendingEvents"/></h1>
1530     <p>
1531       <xsl:copy-of select="$bwStr-EvLs-EventsBelowWaiting"/>
1532     </p>
1533     <xsl:call-template name="eventListCommon"/>
1534   </xsl:template>
1535
1536   <xsl:template name="eventListCommon">
1537     <table id="commonListTable">
1538       <tr>
1539         <th><xsl:copy-of select="$bwStr-EvLC-Title"/></th>
1540         <th><xsl:copy-of select="$bwStr-EvLC-ClaimedBy"/></th>
1541         <th><xsl:copy-of select="$bwStr-EvLC-Start"/></th>
1542         <th><xsl:copy-of select="$bwStr-EvLC-End"/></th>
1543         <th><xsl:copy-of select="$bwStr-EvLC-TopicalAreas"/></th>
1544         <th><xsl:copy-of select="$bwStr-EvLC-Description"/></th>
1545       </tr>
1546
1547       <xsl:for-each select="/bedework/events/event">
1548         <xsl:variable name="calPath" select="calendar/encodedPath"/>
1549         <xsl:variable name="guid" select="guid"/>
1550         <xsl:variable name="recurrenceId" select="recurrenceId"/>
1551         <tr>
1552           <td>
1553             <a href="{$editEvent}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}">
1554               <xsl:choose>
1555                 <xsl:when test="summary != ''">
1556                   <xsl:value-of select="summary"/>
1557                 </xsl:when>
1558                 <xsl:otherwise>
1559                   <em><xsl:copy-of select="$bwStr-EvLC-NoTitle"/></em>
1560                 </xsl:otherwise>
1561               </xsl:choose>
1562             </a>
1563           </td>
1564           <xsl:choose>
1565             <xsl:when test="xproperties/X-BEDEWORK-SUBMISSION-CLAIMANT">
1566               <td>
1567                 <xsl:value-of select="xproperties/X-BEDEWORK-SUBMISSION-CLAIMANT/values/text"/>
1568                 <xsl:text> </xsl:text>
1569                 (<xsl:value-of select="xproperties/X-BEDEWORK-SUBMISSION-CLAIMANT/parameters/X-BEDEWORK-SUBMISSION-CLAIMANT-USER"/>)
1570               </td>
1571             </xsl:when>
1572             <xsl:otherwise>
1573               <td class="unclaimed"><xsl:copy-of select="$bwStr-EvLC-Unclaimed"/></td>
1574             </xsl:otherwise>
1575           </xsl:choose>
1576           <td class="date">
1577             <xsl:value-of select="start/shortdate"/>
1578             <xsl:text> </xsl:text>
1579             <xsl:value-of select="start/time"/>
1580           </td>
1581           <td class="date">
1582             <xsl:value-of select="end/shortdate"/>
1583             <xsl:text> </xsl:text>
1584             <xsl:value-of select="end/time"/>
1585           </td>
1586           <td>
1587             <xsl:for-each select="xproperties/X-BEDEWORK-SUBMIT-ALIAS">
1588               <xsl:call-template name="substring-afterLastInstanceOf">
1589                 <xsl:with-param name="string" select="values/text"/>
1590                 <xsl:with-param name="char">/</xsl:with-param>
1591               </xsl:call-template><br/>
1592             </xsl:for-each>
1593           </td>
1594           <td>
1595             <xsl:value-of select="description"/>
1596             <xsl:if test="recurring = 'true' or recurrenceId != ''">
1597               <div class="recurrenceEditLinks">
1598                 <xsl:copy-of select="$bwStr-EvLC-RecurringEvent"/>
1599                 <xsl:copy-of select="$bwStr-EvLC-Edit"/>
1600                 <a href="{$editEvent}&amp;calPath={$calPath}&amp;guid={$guid}">
1601                   <xsl:copy-of select="$bwStr-EvLC-Master"/>
1602                 </a> |
1603                 <a href="{$editEvent}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}">
1604                   <xsl:copy-of select="$bwStr-EvLC-Instance"/>
1605                 </a>
1606               </div>
1607             </xsl:if>
1608           </td>
1609         </tr>
1610       </xsl:for-each>
1611     </table>
1612   </xsl:template>
1613
1614   <!--==== UPLOAD ====-->
1615   <xsl:template name="upload">
1616   <!-- The name "eventForm" is referenced by several javascript functions. Do not
1617     change it without modifying bedework.js -->
1618     <form name="eventForm" method="post" action="{$upload}" id="standardForm"  enctype="multipart/form-data">
1619       <h2><xsl:copy-of select="$bwStr-Upld-UploadICalFile"/></h2>
1620       <table class="common" cellspacing="0">
1621         <tr>
1622           <td class="fieldname">
1623             <xsl:copy-of select="$bwStr-Upld-Filename"/>
1624           </td>
1625           <td align="left">
1626             <input type="file" name="uploadFile" size="60" />
1627           </td>
1628         </tr>
1629         <tr>
1630           <td class="fieldname padMeTop">
1631             <xsl:copy-of select="$bwStr-Upld-IntoCalendar"/>
1632           </td>
1633           <td align="left" class="padMeTop">
1634             <input type="hidden" name="newCalPath" id="bwNewCalPathField" value=""/>
1635             <span id="bwEventCalDisplay">
1636               <em><xsl:copy-of select="$bwStr-Upld-DefaultCalendar"/></em>
1637             </span>
1638           </td>
1639         </tr>
1640         <tr>
1641           <td class="fieldname padMeTop">
1642             <xsl:copy-of select="$bwStr-Upld-AffectsFreeBusy"/>
1643           </td>
1644           <td align="left" class="padMeTop">
1645             <input type="radio" value="" name="transparency" checked="checked"/><xsl:text> </xsl:text><xsl:copy-of select="$bwStr-Upld-AcceptEventsSettings"/><br/>
1646             <input type="radio" value="OPAQUE" name="transparency"/><xsl:text> </xsl:text><xsl:copy-of select="$bwStr-Upld-Opaque"/><xsl:text> </xsl:text><span class="note"><xsl:copy-of select="$bwStr-Upld-Yes"/></span><br/>
1647             <input type="radio" value="TRANSPARENT" name="transparency"/><xsl:text> </xsl:text><xsl:copy-of select="$bwStr-Upld-No"/><xsl:text> </xsl:text><span class="note"><xsl:copy-of select="$bwStr-Upld-Transparent"/></span><br/>
1648           </td>
1649         </tr>
1650         <tr>
1651           <td class="fieldname padMeTop">
1652             <xsl:copy-of select="$bwStr-Upld-Status"/>
1653           </td>
1654           <td align="left" class="padMeTop">
1655             <input type="radio" value="" name="status" checked="checked"/><xsl:text> </xsl:text><xsl:copy-of select="$bwStr-Upld-AcceptEventsStatus"/><br/>
1656             <input type="radio" value="CONFIRMED" name="status"/><xsl:text> </xsl:text><xsl:copy-of select="$bwStr-Upld-Confirmed"/><br/>
1657             <input type="radio" value="TENTATIVE" name="status"/><xsl:text> </xsl:text><xsl:copy-of select="$bwStr-Upld-Tentative"/><br/>
1658             <input type="radio" value="CANCELLED" name="status"/><xsl:text> </xsl:text><xsl:copy-of select="$bwStr-Upld-Canceled"/><br/>
1659           </td>
1660         </tr>
1661       </table>
1662       <table border="0" id="submitTable">
1663         <tr>
1664           <td>
1665             <input name="submit" type="submit" value="{$bwStr-Upld-Continue}"/>
1666             <input name="cancelled" type="submit" value="{$bwStr-Upld-Cancel}"/>
1667           </td>
1668         </tr>
1669       </table>
1670     </form>
1671   </xsl:template>
1672
1673   <!--==== UTILITY TEMPLATES ====-->
1674
1675   <!-- time formatter (should be extended as needed) -->
1676   <xsl:template name="timeFormatter">
1677     <xsl:param name="timeString"/><!-- required -->
1678     <xsl:param name="showMinutes">yes</xsl:param>
1679     <xsl:param name="showAmPm">yes</xsl:param>
1680     <xsl:param name="hour24">no</xsl:param>
1681     <xsl:variable name="hour" select="number(substring($timeString,1,2))"/>
1682     <xsl:variable name="minutes" select="substring($timeString,3,2)"/>
1683     <xsl:variable name="AmPm">
1684       <xsl:choose>
1685         <xsl:when test="$hour &lt; 12"><xsl:copy-of select="$bwStr-TiFo-AM"/></xsl:when>
1686         <xsl:otherwise><xsl:copy-of select="$bwStr-TiFo-PM"/></xsl:otherwise>
1687       </xsl:choose>
1688     </xsl:variable>
1689     <xsl:choose>
1690       <xsl:when test="hour24 = 'yes'">
1691         <xsl:value-of select="$hour"/><!--
1692      --><xsl:if test="$showMinutes = 'yes'">:<xsl:value-of select="$minutes"/></xsl:if>
1693       </xsl:when>
1694       <xsl:otherwise>
1695         <xsl:choose>
1696           <xsl:when test="$hour = 0">12</xsl:when>
1697           <xsl:when test="$hour &lt; 13"><xsl:value-of select="$hour"/></xsl:when>
1698           <xsl:otherwise><xsl:value-of select="$hour - 12"/></xsl:otherwise>
1699         </xsl:choose><!--
1700      --><xsl:if test="$showMinutes = 'yes'">:<xsl:value-of select="$minutes"/></xsl:if>
1701         <xsl:if test="$showAmPm = 'yes'">
1702           <xsl:text> </xsl:text>
1703           <xsl:value-of select="$AmPm"/>
1704         </xsl:if>
1705       </xsl:otherwise>
1706     </xsl:choose>
1707   </xsl:template>
1708
1709   <!--==== FOOTER ====-->
1710   <xsl:template name="footer">
1711     <div id="footer">
1712       <xsl:copy-of select="$bwStr-Foot-BasedOnThe"/><xsl:text> </xsl:text><a href="http://www.jasig.org/bedework"><xsl:copy-of select="$bwStr-Foot-BedeworkCalendarSystem"/></a>
1713     </div>
1714     <div id="subfoot">
1715       <a href="http://www.jasig.org/bedework"><xsl:copy-of select="$bwStr-Foot-BedeworkWebsite"/></a> |
1716       <a href="?noxslt=yes"><xsl:copy-of select="$bwStr-Foot-ShowXML"/></a> |
1717       <a href="?refreshXslt=yes"><xsl:copy-of select="$bwStr-Foot-RefreshXSLT"/></a>
1718     </div>
1719   </xsl:template>
1720
1721 </xsl:stylesheet>
Note: See TracBrowser for help on using the browser.