root/trunk/deployment/webuser/webapp/resources/demoskins/themes/bedeworkTheme/eventForm.xsl

Revision 3723 (checked in by johnsa, 4 months ago)

user client: correct rxdate initialization; strip space in description when adding an event

Line 
1 <!--
2     Licensed to Jasig under one or more contributor license
3     agreements. See the NOTICE file distributed with this work
4     for additional information regarding copyright ownership.
5     Jasig licenses this file to you under the Apache License,
6     Version 2.0 (the "License"); you may not use this file
7     except in compliance with the License. You may obtain a
8     copy of the License at:
9    
10     http://www.apache.org/licenses/LICENSE-2.0
11    
12     Unless required by applicable law or agreed to in writing,
13     software distributed under the License is distributed on
14     an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15     KIND, either express or implied. See the License for the
16     specific language governing permissions and limitations
17     under the License.
18 -->
19 <xsl:stylesheet
20   version="1.0"
21   xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
22   xmlns="http://www.w3.org/1999/xhtml">
23  
24   <!--==== ADD EVENT ====-->
25   <xsl:template match="formElements" mode="addEvent">
26   <!-- The name "eventForm" is referenced by several javascript functions. Do not
27     change it without modifying bedework.js -->
28     <xsl:variable name="submitter">
29       <xsl:choose>
30         <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>
31         <xsl:otherwise><xsl:value-of select="/bedework/userid"/></xsl:otherwise>
32       </xsl:choose>
33     </xsl:variable>
34     <form name="eventForm" method="post" action="{$addEvent}" id="standardForm" onsubmit="setEventFields(this,{$portalFriendly},'{$submitter}')">
35       <h2>
36         <span class="formButtons">
37           <xsl:apply-templates select="form" mode="addEditEventFormButtons" />
38         </span>
39         <xsl:choose>
40           <xsl:when test="form/entityType = '2'"><xsl:copy-of select="$bwStr-AddE-AddTask"/></xsl:when>
41           <xsl:when test="form/scheduleMethod = '2'"><xsl:copy-of select="$bwStr-AddE-AddMeeting"/></xsl:when>
42           <xsl:otherwise><xsl:copy-of select="$bwStr-AddE-AddEvent"/></xsl:otherwise>
43         </xsl:choose>
44       </h2>
45       <xsl:apply-templates select="." mode="eventForm"/>
46     </form>
47   </xsl:template>
48
49   <!--==== EDIT EVENT ====-->
50   <xsl:template match="formElements" mode="editEvent">
51     <!-- The name "eventForm" is referenced by several javascript functions. Do not
52     change it without modifying bedework.js -->
53     <xsl:variable name="submitter">
54       <xsl:choose>
55         <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>
56         <xsl:otherwise><xsl:value-of select="/bedework/userid"/></xsl:otherwise>
57       </xsl:choose>
58     </xsl:variable>
59     <form name="eventForm" method="post" action="{$updateEvent}" id="standardForm" onsubmit="setEventFields(this,{$portalFriendly},'{$submitter}')">
60       <h2>
61         <span class="formButtons">
62           <xsl:apply-templates select="form" mode="addEditEventFormButtons" />
63         </span>
64         <xsl:choose>
65           <xsl:when test="guid=''">
66             <!-- we are copying an existing event, so we are actually "adding" -->
67             <xsl:choose>
68               <xsl:when test="form/entityType = '2'"><xsl:copy-of select="$bwStr-AddE-AddTask"/></xsl:when>
69               <xsl:when test="form/scheduleMethod = '2'"><xsl:copy-of select="$bwStr-AddE-AddMeeting"/></xsl:when>
70               <xsl:otherwise><xsl:copy-of select="$bwStr-AddE-AddEvent"/></xsl:otherwise>
71             </xsl:choose>
72           </xsl:when>
73           <xsl:otherwise>
74             <!-- we are just editing -->
75             <xsl:choose>
76                                 <xsl:when test="form/entityType = '2'"><xsl:copy-of select="$bwStr-EdtE-EditTask"/></xsl:when>
77                                 <xsl:when test="form/scheduleMethod = '2'"><xsl:copy-of select="$bwStr-EdtE-EditMeeting"/></xsl:when>
78                                 <xsl:otherwise><xsl:copy-of select="$bwStr-EdtE-EditEvent"/></xsl:otherwise>
79                               </xsl:choose>
80           </xsl:otherwise>
81         </xsl:choose>
82       </h2>
83       <xsl:for-each select="form/xproperties/xproperty">
84         <xsl:variable name="xprop"><xsl:value-of select="@name"/><xsl:value-of select="pars"/>:<xsl:value-of select="value"/></xsl:variable>
85         <input type="hidden" name="xproperty" value="{$xprop}"/>
86       </xsl:for-each>
87       <xsl:apply-templates select="." mode="eventForm"/>
88     </form>
89   </xsl:template>
90
91
92   <!--==== ADD and EDIT EVENT FORM ====-->
93   <xsl:template match="formElements" mode="eventForm">
94     <xsl:variable name="calPathEncoded" select="form/calendar/encodedPath"/>
95     <xsl:variable name="calPath" select="form/calendar/path"/>
96     <xsl:variable name="guid"><xsl:call-template name="url-encode"><xsl:with-param name="str" select="guid"/></xsl:call-template></xsl:variable>
97     <xsl:variable name="recurrenceId" select="recurrenceId"/>
98     <input type="hidden" name="endType" value="date"/>
99
100       <!-- event info for edit event -->
101       <xsl:if test="/bedework/creating != 'true'">
102         <table class="common" cellspacing="0">
103           <tr>
104             <th colspan="2" class="commonHeader">
105               <div id="eventActions">
106                 <xsl:choose>
107                   <xsl:when test="recurrenceId != ''">
108                     <div id="bwDeleteRecurButton" class="bwMenuButton">
109                       <img src="{$resourcesRoot}/images/trashIcon.gif" width="13" height="13" border="0" alt="delete"/>
110                       <xsl:copy-of select="$bwStr-AEEF-Delete"/>
111                       <div id="bwDeleteRecurWidget" class="bwMenuWidget">
112                         <ul>
113                           <li>
114                             <a href="{$delEvent}&amp;calPath={$calPath}&amp;guid={$guid}" title="{$bwStr-AEEF-DeleteMaster}" onclick="return confirm('{$bwStr-AEEF-DeleteAllRecurrences}');">
115                               <xsl:copy-of select="$bwStr-AEEF-All"/>
116                             </a>
117                           </li>
118                           <li>
119                             <a href="{$delEvent}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}" title="${bwStr-AEEF-DeleteThisInstance}" onclick="return confirm('{$bwStr-AEEF-DeleteThisEvent}');">
120                               <xsl:copy-of select="$bwStr-AEEF-Instance"/>
121                             </a>
122                           </li>
123                         </ul>
124                       </div>
125                     </div>
126                   </xsl:when>
127                   <xsl:otherwise>
128                     <a href="{$delEvent}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}" title="{$bwStr-AEEF-DeleteEvent}" class="bwMenuButton" onclick="return confirm('{$bwStr-AEEF-DeleteThisEvent}');">
129                       <img src="{$resourcesRoot}/images/trashIcon.gif" width="13" height="13" border="0" alt="delete"/>
130                        <xsl:copy-of select="$bwStr-AEEF-Delete"/>
131                       <xsl:if test="form/recurringEntity='true'">
132                         <xsl:copy-of select="$bwStr-AEEF-All"/>
133                       </xsl:if>
134                     </a>
135                   </xsl:otherwise>
136                 </xsl:choose>
137                 <xsl:if test="not(form/recurringEntity = 'true' and recurrenceId = '')">
138                   <!-- don't display if a master recurring event (because the master can't be viewed) -->
139                   <a href="{$eventView}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}" class="bwMenuButton">
140                     <img src="{$resourcesRoot}/images/glassFill-icon-viewGray.gif" width="13" height="13" border="0" alt="view"/>
141                      <xsl:copy-of select="$bwStr-AEEF-View"/>
142                   </a>
143                 </xsl:if>
144               </div>
145               <!-- Display type of event -->
146               <xsl:variable name="entityType">
147                 <xsl:choose>
148                   <xsl:when test="form/entityType = '2'"><xsl:copy-of select="$bwStr-AEEF-TASK"/></xsl:when>
149                   <xsl:when test="form/scheduleMethod = '2'"><xsl:copy-of select="$bwStr-AEEF-Meeting"/></xsl:when>
150                   <xsl:otherwise><xsl:copy-of select="$bwStr-AEEF-EVENT"/></xsl:otherwise>
151                 </xsl:choose>
152               </xsl:variable>
153               <xsl:if test="form/recurringEntity='true' or recurrenceId != ''">
154                  <xsl:copy-of select="$bwStr-AEEF-Recurring"/>
155               </xsl:if>
156               <xsl:choose>
157                 <xsl:when test="form">
158                   <!-- just a placeholder: need to add owner to the jsp -->
159                    <xsl:text> </xsl:text><xsl:copy-of select="$bwStr-AEEF-Personal"/><xsl:text> </xsl:text><xsl:value-of select="$entityType"/>
160                 </xsl:when>
161                 <xsl:when test="public = 'true'">
162                    <xsl:text> </xsl:text><xsl:copy-of select="$bwStr-AEEF-Public"/><xsl:text> </xsl:text><xsl:value-of select="$entityType"/>
163                 </xsl:when>
164                 <xsl:otherwise>
165                   <xsl:value-of select="$entityType"/>
166                 </xsl:otherwise>
167               </xsl:choose>
168               <xsl:if test="form/recurringEntity='true' and recurrenceId = ''">
169                 <xsl:text> </xsl:text>
170                 <em><xsl:copy-of select="$bwStr-AEEF-RecurrenceMaster"/></em>
171               </xsl:if>
172             </th>
173           </tr>
174         </table>
175       </xsl:if>
176
177       <!-- event form submenu -->
178       <ul id="eventFormTabs" class="submenu">
179         <li class="selected">
180           <a href="javascript:setTab('eventFormTabs',0); show('bwEventTab-Basic'); hide('bwEventTab-Details','bwEventTab-Recurrence','bwEventTab-Access','bwEventTab-Scheduling');">
181             <xsl:copy-of select="$bwStr-AEEF-Basic"/>
182           </a>
183         </li>
184         <li>
185           <a href="javascript:setTab('eventFormTabs',1); show('bwEventTab-Details'); hide('bwEventTab-Basic','bwEventTab-Recurrence','bwEventTab-Access','bwEventTab-Scheduling');">
186             <xsl:copy-of select="$bwStr-AEEF-Details"/>
187           </a>
188         </li>
189         <li>
190           <a href="javascript:setTab('eventFormTabs',2); show('bwEventTab-Recurrence'); hide('bwEventTab-Details','bwEventTab-Basic','bwEventTab-Access','bwEventTab-Scheduling');">
191             <xsl:copy-of select="$bwStr-AEEF-Recurrence"/>
192           </a>
193         </li>
194         <li>
195           <a href="javascript:setTab('eventFormTabs',3); show('bwEventTab-Scheduling'); hide('bwEventTab-Basic','bwEventTab-Details','bwEventTab-Recurrence','bwEventTab-Access');">
196             <xsl:choose>
197               <xsl:when test="form/entityType = '2'"> <!-- "scheduling" for a task -->
198                 <xsl:copy-of select="$bwStr-AEEF-Scheduling"/>
199               </xsl:when>
200               <xsl:otherwise> <!-- "meeting" for a normal event -->
201                 <xsl:copy-of select="$bwStr-AEEF-Meetingtab"/>
202               </xsl:otherwise>
203             </xsl:choose>
204           </a>
205         </li>
206         <!-- Hide from use.  If you wish to enable the access control form for
207          events, uncomment this block and the access control block further down in this file.
208         <li>
209           <a href="javascript:setTab('eventFormTabs',4); show('bwEventTab-Access'); hide('bwEventTab-Details','bwEventTab-Basic','bwEventTab-Recurrence','bwEventTab-Scheduling');">
210             access
211           </a>
212         </li>-->
213       </ul>
214      
215
216     <!-- Basic tab -->
217     <!-- ============== -->
218     <!-- this tab is visible by default -->
219     <div id="bwEventTab-Basic">
220       <table cellspacing="0" class="common dottedBorder">
221      
222         <!--  Calendar  -->
223         <xsl:choose>
224           <xsl:when test="count(form/calendars/select/option) = 1">
225             <!-- there is only 1 writable calendar -->
226             <xsl:variable name="newCalPath"><xsl:value-of select="form/calendars/select/option/@value"/></xsl:variable>
227             <tr class="hidden"><td><input type="hidden" name="newCalPath" value="{$newCalPath}"/></td></tr>
228           </xsl:when>
229           <xsl:otherwise>
230             <tr>
231           <td class="fieldname">
232             <xsl:copy-of select="$bwStr-AEEF-Calendar"/><xsl:text> </xsl:text>
233           </td>
234           <td class="fieldval">
235               <input type="hidden" name="newCalPath" id="bwNewCalPathField">
236                 <xsl:attribute name="value"><xsl:value-of select="form/calendar/path"/></xsl:attribute>
237               </input>
238               <span id="bwEventCalDisplay">
239                 <xsl:choose>
240                   <xsl:when test="/bedework/creating = 'true'"><!-- display nothing --></xsl:when>
241                               <xsl:when test="not(starts-with(form/calendar/path,/bedework/myCalendars/calendars/calendar/path))">
242                                 <!-- this event comes from a subscription / shared calendar; look up and display the local name -->
243                                 <xsl:variable name="remotePath"><xsl:value-of select="form/calendar/path"/></xsl:variable>
244                                 <strong><xsl:value-of select="/bedework/myCalendars/calendars//calendar[substring-after(aliasUri,'bwcal://')=$remotePath]/summary"/></strong>
245                                 <br/><em>(<xsl:value-of select="$remotePath"/>)</em>
246                               </xsl:when>
247                               <xsl:otherwise>
248                                 <strong><xsl:value-of select="form/calendar/summary"/></strong>
249                               </xsl:otherwise>
250                             </xsl:choose>
251                 <xsl:text> </xsl:text>
252               </span>
253               <xsl:call-template name="selectCalForEvent"/>
254             </td>
255           </tr>
256           </xsl:otherwise>
257         </xsl:choose>
258        
259         <!--  Summary (title) of event  -->
260         <tr>
261           <td class="fieldname">
262             <xsl:copy-of select="$bwStr-AEEF-Title"/><xsl:text> </xsl:text>
263           </td>
264           <td class="fieldval">
265             <xsl:variable name="title" select="form/title/input/@value"/>
266             <input type="text" name="summary" size="80" value="{$title}" id="bwEventTitle"/>
267           </td>
268         </tr>
269
270         <!--  Date and Time -->
271         <!--  ============= -->
272         <tr>
273           <td class="fieldname">
274             <xsl:copy-of select="$bwStr-AEEF-DateAndTime"/><xsl:text> </xsl:text>
275           </td>
276           <td class="fieldval">
277             <!-- Set the timefields class for the first load of the page;
278                  subsequent changes will take place using javascript without a
279                  page reload. -->
280             <xsl:variable name="timeFieldsClass">
281               <xsl:choose>
282                 <xsl:when test="form/allDay/input/@checked='checked'">invisible</xsl:when>
283                 <xsl:otherwise>timeFields</xsl:otherwise>
284               </xsl:choose>
285             </xsl:variable>
286
287             <!-- date only event: anniversary event - often interpreted as "all day event" -->
288             <xsl:choose>
289               <xsl:when test="form/allDay/input/@checked='checked'">
290                 <input type="checkbox" name="allDayFlag" onclick="swapAllDayEvent(this)" value="on" checked="checked"/>
291                 <input type="hidden" name="eventStartDate.dateOnly" value="true" id="allDayStartDateField"/>
292                 <input type="hidden" name="eventEndDate.dateOnly" value="true" id="allDayEndDateField"/>
293               </xsl:when>
294               <xsl:otherwise>
295                 <input type="checkbox" name="allDayFlag" onclick="swapAllDayEvent(this)" value="off"/>
296                 <input type="hidden" name="eventStartDate.dateOnly" value="false" id="allDayStartDateField"/>
297                 <input type="hidden" name="eventEndDate.dateOnly" value="false" id="allDayEndDateField"/>
298               </xsl:otherwise>
299             </xsl:choose>
300             <xsl:copy-of select="$bwStr-AEEF-AllDay"/>
301
302             <!-- floating event: no timezone (and not UTC) -->
303             <xsl:choose>
304               <xsl:when test="form/floating/input/@checked='checked'">
305                 <input type="checkbox" name="floatingFlag" id="floatingFlag" onclick="swapFloatingTime(this)" value="on" checked="checked"/>
306                 <input type="hidden" name="eventStartDate.floating" value="true" id="startFloating"/>
307                 <input type="hidden" name="eventEndDate.floating" value="true" id="endFloating"/>
308               </xsl:when>
309               <xsl:otherwise>
310                 <input type="checkbox" name="floatingFlag" id="floatingFlag" onclick="swapFloatingTime(this)" value="off"/>
311                 <input type="hidden" name="eventStartDate.floating" value="false" id="startFloating"/>
312                 <input type="hidden" name="eventEndDate.floating" value="false" id="endFloating"/>
313               </xsl:otherwise>
314             </xsl:choose>
315             <xsl:copy-of select="$bwStr-AEEF-Floating"/>
316
317             <!-- store time as coordinated universal time (UTC) -->
318             <xsl:choose>
319               <xsl:when test="form/storeUTC/input/@checked='checked'">
320                 <input type="checkbox" name="storeUTCFlag" id="storeUTCFlag" onclick="swapStoreUTC(this)" value="on" checked="checked"/>
321                 <input type="hidden" name="eventStartDate.storeUTC" value="true" id="startStoreUTC"/>
322                 <input type="hidden" name="eventEndDate.storeUTC" value="true" id="endStoreUTC"/>
323               </xsl:when>
324               <xsl:otherwise>
325                 <input type="checkbox" name="storeUTCFlag" id="storeUTCFlag" onclick="swapStoreUTC(this)" value="off"/>
326                 <input type="hidden" name="eventStartDate.storeUTC" value="false" id="startStoreUTC"/>
327                 <input type="hidden" name="eventEndDate.storeUTC" value="false" id="endStoreUTC"/>
328               </xsl:otherwise>
329             </xsl:choose>
330             <xsl:copy-of select="$bwStr-AEEF-StoreAsUTC"/>
331
332             <br/>
333             <div class="dateStartEndBox">
334               <strong><xsl:copy-of select="$bwStr-AEEF-Start"/></strong><xsl:text> </xsl:text>
335               <div class="dateFields">
336                 <span class="startDateLabel"><xsl:copy-of select="$bwStr-AEEF-Date"/><xsl:text> </xsl:text></span>
337                 <xsl:choose>
338                   <xsl:when test="$portalFriendly = 'true'">
339                     <xsl:copy-of select="/bedework/formElements/form/start/month/*"/>
340                     <xsl:copy-of select="/bedework/formElements/form/start/day/*"/>
341                     <xsl:choose>
342                       <xsl:when test="/bedework/creating = 'true'">
343                         <xsl:copy-of select="/bedework/formElements/form/start/year/*"/>
344                       </xsl:when>
345                       <xsl:otherwise>
346                         <xsl:copy-of select="/bedework/formElements/form/start/yearText/*"/>
347                       </xsl:otherwise>
348                     </xsl:choose>
349                     <script type="text/javascript">
350                       <xsl:comment>
351                       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"/>/images/');
352                       </xsl:comment>
353                     </script>
354                   </xsl:when>
355                   <xsl:otherwise>
356                     <input type="text" name="bwEventWidgetStartDate" id="bwEventWidgetStartDate" size="10"/>
357                     <input type="hidden" name="eventStartDate.year">
358                       <xsl:attribute name="value"><xsl:value-of select="form/start/yearText/input/@value"/></xsl:attribute>
359                     </input>
360                     <input type="hidden" name="eventStartDate.month">
361                       <xsl:attribute name="value"><xsl:value-of select="form/start/month/select/option[@selected = 'selected']/@value"/></xsl:attribute>
362                     </input>
363                     <input type="hidden" name="eventStartDate.day">
364                       <xsl:attribute name="value"><xsl:value-of select="form/start/day/select/option[@selected = 'selected']/@value"/></xsl:attribute>
365                     </input>
366                   </xsl:otherwise>
367                 </xsl:choose>
368               </div>
369               <div class="{$timeFieldsClass}" id="startTimeFields">
370                 <span id="calWidgetStartTimeHider" class="show">
371                         <select name="eventStartDate.hour" id="eventStartDateHour">
372                           <xsl:copy-of select="form/start/hour/select/*"/>
373                         </select>
374                         <select name="eventStartDate.minute" id="eventStartDateMinute">
375                           <xsl:copy-of select="form/start/minute/select/*"/>
376                         </select>
377                         <xsl:if test="form/start/ampm">
378                           <select name="eventStartDate.ampm" id="eventStartDateAmpm">
379                             <xsl:copy-of select="form/start/ampm/select/*"/>
380                           </select>
381                         </xsl:if>
382                   <xsl:text> </xsl:text>
383                   <img src="{$resourcesRoot}/images/clockIcon.gif" width="16" height="15" border="0" alt="bwClock" id="bwStartClock"/>
384
385                   <select name="eventStartDate.tzid" id="startTzid" class="timezones">
386                     <xsl:if test="form/floating/input/@checked='checked'"><xsl:attribute name="disabled">disabled</xsl:attribute></xsl:if>
387                     <option value="-1"><xsl:copy-of select="$bwStr-AEEF-SelectTimezone"/></option>
388                     <!-- options filled from timezone server.  See bedeworkEventForm.js -->
389                   </select>
390                 </span>
391               </div>
392             </div>
393             <div class="dateStartEndBox">
394               <strong>
395                 <xsl:choose>
396                   <xsl:when test="form/entityType = '2'"><xsl:copy-of select="$bwStr-AEEF-Due"/><xsl:text> </xsl:text></xsl:when>
397                   <xsl:otherwise><xsl:copy-of select="$bwStr-AEEF-End"/><xsl:text> </xsl:text></xsl:otherwise>
398                 </xsl:choose>
399               </strong>
400               <xsl:choose>
401                 <xsl:when test="form/end/type='E'">
402                   <input type="radio" name="eventEndType" id="eventEndTypeDateTime" value="E" checked="checked" onclick="changeClass('endDateTime','shown');changeClass('endDuration','invisible');"/>
403                 </xsl:when>
404                 <xsl:otherwise>
405                   <input type="radio" name="eventEndType" id="eventEndTypeDateTime" value="E" onclick="changeClass('endDateTime','shown');changeClass('endDuration','invisible');"/>
406                 </xsl:otherwise>
407               </xsl:choose>
408               <xsl:copy-of select="$bwStr-AEEF-Date"/>
409               <xsl:text> </xsl:text>
410               <xsl:variable name="endDateTimeClass">
411                 <xsl:choose>
412                   <xsl:when test="form/end/type='E'">shown</xsl:when>
413                   <xsl:otherwise>invisible</xsl:otherwise>
414                 </xsl:choose>
415               </xsl:variable>
416               <div class="{$endDateTimeClass}" id="endDateTime">
417                 <div class="dateFields">
418                   <xsl:choose>
419                     <xsl:when test="$portalFriendly = 'true'">
420                       <xsl:copy-of select="/bedework/formElements/form/end/dateTime/month/*"/>
421                       <xsl:copy-of select="/bedework/formElements/form/end/dateTime/day/*"/>
422                       <xsl:choose>
423                         <xsl:when test="/bedework/creating = 'true'">
424                           <xsl:copy-of select="/bedework/formElements/form/end/dateTime/year/*"/>
425                         </xsl:when>
426                         <xsl:otherwise>
427                           <xsl:copy-of select="/bedework/formElements/form/end/dateTime/yearText/*"/>
428                         </xsl:otherwise>
429                       </xsl:choose>
430                       <script type="text/javascript">
431                       <xsl:comment>
432                         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"/>/images/');
433                       </xsl:comment>
434                       </script>
435                     </xsl:when>
436                     <xsl:otherwise>
437                       <input type="text" name="bwEventWidgetEndDate" id="bwEventWidgetEndDate" size="10"/>
438                       <input type="hidden" name="eventEndDate.year">
439                         <xsl:attribute name="value"><xsl:value-of select="form/end/dateTime/yearText/input/@value"/></xsl:attribute>
440                       </input>
441                       <input type="hidden" name="eventEndDate.month">
442                         <xsl:attribute name="value"><xsl:value-of select="form/end/dateTime/month/select/option[@selected = 'selected']/@value"/></xsl:attribute>
443                       </input>
444                       <input type="hidden" name="eventEndDate.day">
445                         <xsl:attribute name="value"><xsl:value-of select="form/end/dateTime/day/select/option[@selected = 'selected']/@value"/></xsl:attribute>
446                       </input>
447                     </xsl:otherwise>
448                   </xsl:choose>
449                 </div>
450                 <div class="{$timeFieldsClass}" id="endTimeFields">
451                   <span id="calWidgetEndTimeHider" class="show">
452                     <select name="eventEndDate.hour" id="eventEndDateHour">
453                             <xsl:copy-of select="form/end/dateTime/hour/select/*"/>
454                           </select>
455                           <select name="eventEndDate.minute" id="eventEndDateMinute">
456                             <xsl:copy-of select="form/end/dateTime/minute/select/*"/>
457                           </select>
458                           <xsl:if test="form/start/ampm">
459                             <select name="eventEndDate.ampm" id="eventEndDateAmpm">
460                               <xsl:copy-of select="form/end/dateTime/ampm/select/*"/>
461                             </select>
462                           </xsl:if>
463                     <xsl:text> </xsl:text>
464                     <img src="{$resourcesRoot}/images/clockIcon.gif" width="16" height="15" border="0" alt="bwClock" id="bwEndClock"/>
465
466                     <select name="eventEndDate.tzid" id="endTzid" class="timezones">
467                       <xsl:if test="form/floating/input/@checked='checked'"><xsl:attribute name="disabled">disabled</xsl:attribute></xsl:if>
468                       <option value="-1"><xsl:copy-of select="$bwStr-AEEF-SelectTimezone"/></option>
469                       <!--  Timezone options come from the timezone server.  See bedeworkEventForm.js -->
470                     </select>
471                   </span>
472                 </div>
473               </div>
474               <div id="clock" class="invisible">
475                 <xsl:call-template name="clock"/>
476               </div>
477               <br/>
478               <div class="dateFields">
479                 <xsl:choose>
480                   <xsl:when test="form/end/type='D'">
481                     <input type="radio" name="eventEndType" id="eventEndTypeDuration" value="D" checked="checked" onclick="changeClass('endDateTime','invisible');changeClass('endDuration','shown');"/>
482                   </xsl:when>
483                   <xsl:otherwise>
484                     <input type="radio" name="eventEndType" id="eventEndTypeDuration" value="D" onclick="changeClass('endDateTime','invisible');changeClass('endDuration','shown');"/>
485                   </xsl:otherwise>
486                 </xsl:choose>
487                 <xsl:copy-of select="$bwStr-AEEF-Duration"/>
488                 <xsl:variable name="endDurationClass">
489                   <xsl:choose>
490                     <xsl:when test="form/end/type='D'">shown</xsl:when>
491                     <xsl:otherwise>invisible</xsl:otherwise>
492                   </xsl:choose>
493                 </xsl:variable>
494                 <xsl:variable name="durationHrMinClass">
495                   <xsl:choose>
496                     <xsl:when test="form/allDay/input/@checked='checked'">invisible</xsl:when>
497                     <xsl:otherwise>shown</xsl:otherwise>
498                   </xsl:choose>
499                 </xsl:variable>
500                 <div class="{$endDurationClass}" id="endDuration">
501                   <xsl:choose>
502                     <xsl:when test="form/end/duration/weeks/input/@value = '0'">
503                     <!-- we are using day, hour, minute format -->
504                     <!-- must send either no week value or week value of 0 (zero) -->
505                       <div class="durationBox">
506                         <input type="radio" name="eventDuration.type" value="daytime" onclick="swapDurationType('daytime')" checked="checked"/>
507                         <input type="text" name="eventDuration.daysStr" size="2" id="durationDays">
508                           <xsl:attribute name="value">
509                             <xsl:choose>
510                               <xsl:when test="/bedework/creating='true' and form/allDay/input/@checked='checked'">1</xsl:when>
511                               <xsl:when test="/bedework/creating='true' and form/allDay/input/@checked!='checked'">0</xsl:when>
512                               <xsl:otherwise><xsl:value-of select="form/end/duration/days/input/@value"/></xsl:otherwise>
513                             </xsl:choose>
514                           </xsl:attribute>
515                         </input>
516                         <xsl:copy-of select="$bwStr-AEEF-Days"/>
517                         <xsl:text> </xsl:text>
518                         <span id="durationHrMin" class="{$durationHrMinClass}">
519                           <input type="text" name="eventDuration.hoursStr" size="2" id="durationHours">
520                             <xsl:attribute name="value">
521                               <xsl:choose>
522                                 <xsl:when test="/bedework/creating='true'">1</xsl:when>
523                                 <xsl:otherwise><xsl:value-of select="form/end/duration/hours/input/@value"/></xsl:otherwise>
524                               </xsl:choose>
525                             </xsl:attribute>
526                           </input>
527                           <xsl:copy-of select="$bwStr-AEEF-Hours"/>
528                           <xsl:text> </xsl:text>
529                           <input type="text" name="eventDuration.minutesStr" size="2" id="durationMinutes">
530                             <xsl:attribute name="value">
531                               <xsl:choose>
532                                 <xsl:when test="/bedework/creating='true'">0</xsl:when>
533                                 <xsl:otherwise><xsl:value-of select="form/end/duration/minutes/input/@value"/></xsl:otherwise>
534                               </xsl:choose>
535                             </xsl:attribute>
536                           </input>
537                           <xsl:copy-of select="$bwStr-AEEF-Minutes"/>
538                         </span>
539                       </div>
540                       <span class="durationSpacerText"><xsl:copy-of select="$bwStr-AEEF-Or"/></span>
541                       <div class="durationBox">
542                         <input type="radio" name="eventDuration.type" value="weeks" onclick="swapDurationType('week')"/>
543                         <xsl:variable name="weeksStr" select="form/end/duration/weeks/input/@value"/>
544                         <input type="text" name="eventDuration.weeksStr" size="2" value="{$weeksStr}" id="durationWeeks" disabled="disabled"/><xsl:copy-of select="$bwStr-AEEF-Weeks"/>
545                       </div>
546                     </xsl:when>
547                     <xsl:otherwise>
548                       <!-- we are using week format -->
549                       <div class="durationBox">
550                         <input type="radio" name="eventDuration.type" value="daytime" onclick="swapDurationType('daytime')"/>
551                         <xsl:variable name="daysStr" select="form/end/duration/days/input/@value"/>
552                         <input type="text" name="eventDuration.daysStr" size="2" value="{$daysStr}" id="durationDays" disabled="disabled"/><xsl:copy-of select="$bwStr-AEEF-Days"/>
553                         <span id="durationHrMin" class="{$durationHrMinClass}">
554                           <xsl:variable name="hoursStr" select="form/end/duration/hours/input/@value"/>
555                           <input type="text" name="eventDuration.hoursStr" size="2" value="{$hoursStr}" id="durationHours" disabled="disabled"/><xsl:copy-of select="$bwStr-AEEF-Hours"/>
556                           <xsl:variable name="minutesStr" select="form/end/duration/minutes/input/@value"/>
557                           <input type="text" name="eventDuration.minutesStr" size="2" value="{$minutesStr}" id="durationMinutes" disabled="disabled"/><xsl:copy-of select="$bwStr-AEEF-Minutes"/>
558                         </span>
559                       </div>
560                       <span class="durationSpacerText"><xsl:copy-of select="$bwStr-AEEF-Or"/></span>
561                       <div class="durationBox">
562                         <input type="radio" name="eventDuration.type" value="weeks" onclick="swapDurationType('week')" checked="checked"/>
563                         <xsl:variable name="weeksStr" select="form/end/duration/weeks/input/@value"/>
564                         <input type="text" name="eventDuration.weeksStr" size="2" value="{$weeksStr}" id="durationWeeks"/><xsl:copy-of select="$bwStr-AEEF-Weeks"/>
565                       </div>
566                     </xsl:otherwise>
567                   </xsl:choose>
568                 </div>
569               </div><br/>
570               <div class="dateFields" id="noDuration">
571                 <xsl:choose>
572                   <xsl:when test="form/end/type='N'">
573                     <input type="radio" name="eventEndType" id="eventEndTypeNone" value="N" checked="checked" onclick="changeClass('endDateTime','invisible');changeClass('endDuration','invisible');"/>
574                   </xsl:when>
575                   <xsl:otherwise>
576                     <input type="radio" name="eventEndType" id="eventEndTypeNone" value="N" onclick="changeClass('endDateTime','invisible');changeClass('endDuration','invisible');"/>
577                   </xsl:otherwise>
578                 </xsl:choose>
579                 <xsl:copy-of select="$bwStr-AEEF-This"/><xsl:text> </xsl:text>
580                 <xsl:choose>
581                   <xsl:when test="form/entityType = '2'"><xsl:copy-of select="$bwStr-AEEF-Task"/><xsl:text> </xsl:text></xsl:when>
582                   <xsl:otherwise><xsl:copy-of select="$bwStr-AEEF-Event"/><xsl:text> </xsl:text></xsl:otherwise>
583                 </xsl:choose>
584                 <xsl:copy-of select="$bwStr-AEEF-HasNoDurationEndDate"/>
585               </div>
586             </div>
587           </td>
588         </tr>
589
590         <!--  Location  -->
591         <tr>
592           <td class="fieldname"><xsl:copy-of select="$bwStr-AEEF-Location"/></td>
593           <td class="fieldval">
594             <span class="std-text"><xsl:copy-of select="$bwStr-AEEF-Choose"/><xsl:text> </xsl:text></span>
595             <span id="eventFormLocationList">
596               <!--
597               <xsl:choose>
598                 <xsl:when test="/bedework/creating = 'true'">
599                   <select name="locationUid">
600                     <option value="-1">select...</option>
601                     <xsl:copy-of select="form/location/locationmenu/select/*"/>
602                   </select>
603                 </xsl:when>
604                 <xsl:otherwise>
605                   <select name="eventLocationUid">
606                     <option value="-1">select...</option>
607                     <xsl:copy-of select="form/location/locationmenu/select/*"/>
608                   </select>
609                 </xsl:otherwise>
610               </xsl:choose>
611               -->
612               <select name="locationUid">
613                 <option value=""><xsl:copy-of select="$bwStr-AEEF-Select"/></option>
614                 <xsl:copy-of select="form/location/locationmenu/select/*"/>
615               </select>
616             </span>
617             <span class="std-text"><xsl:text> </xsl:text><xsl:copy-of select="$bwStr-AEEF-OrAddNew"/><xsl:text> </xsl:text></span>
618             <input type="text" name="locationAddress.value" value="" />
619           </td>
620         </tr>
621        
622         <!--  Percent Complete (only for Tasks)  -->
623         <xsl:if test="form/entityType = '2'">
624           <tr>
625             <td class="fieldname">
626               <xsl:copy-of select="$bwStr-AEEF-Complete"/><xsl:text> </xsl:text>
627             </td>
628             <td class="fieldval" align="left">
629               <input type="text" name="percentComplete" size="3" maxlength="3">
630                 <xsl:attribute name="value"><xsl:value-of select="form/percentComplete"/></xsl:attribute>
631               </input>%
632             </td>
633           </tr>
634         </xsl:if>
635
636         <!--  Category  -->
637         <tr>
638           <td class="fieldname">
639             <xsl:copy-of select="$bwStr-AEEF-Categories"/><xsl:text> </xsl:text>
640           </td>
641           <td class="fieldval">
642             <xsl:variable name="catCount" select="count(form/categories/all/category)"/>
643             <xsl:choose>
644               <xsl:when test="not(form/categories/all/category)">
645                 <xsl:copy-of select="$bwStr-AEEF-NoCategoriesDefined"/>
646                 <span class="note">(<a href="{$category-initAdd}"><xsl:copy-of select="$bwStr-AEEF-AddCategory"/></a>)</span>
647               </xsl:when>
648               <xsl:otherwise>
649                 <table cellpadding="0" id="allCategoryCheckboxes">
650                   <tr>
651                     <td>
652                       <xsl:for-each select="form/categories/all/category[position() &lt;= ceiling($catCount div 2)]">
653                         <input type="checkbox" name="catUid">
654                           <xsl:attribute name="value"><xsl:value-of select="uid"/></xsl:attribute>
655                           <xsl:if test="uid = ../../current//category/uid"><xsl:attribute name="checked">checked</xsl:attribute></xsl:if>
656                         </input>
657                         <xsl:value-of select="value"/>
658                         <br/>
659                       </xsl:for-each>
660                     </td>
661                     <td>
662                       <xsl:for-each select="form/categories/all/category[position() &gt; ceiling($catCount div 2)]">
663                         <input type="checkbox" name="catUid">
664                           <xsl:attribute name="value"><xsl:value-of select="uid"/></xsl:attribute>
665                           <xsl:if test="uid = ../../current//category/uid"><xsl:attribute name="checked">checked</xsl:attribute></xsl:if>
666                         </input>
667                         <xsl:value-of select="value"/>
668                         <br/>
669                       </xsl:for-each>
670                     </td>
671                   </tr>
672                 </table>
673               </xsl:otherwise>
674             </xsl:choose>
675           </td>
676         </tr>
677       </table>
678     </div>
679
680
681     <!-- Details tab -->
682     <!-- ============== -->
683     <div id="bwEventTab-Details" class="invisible">
684       <table cellspacing="0" class="common dottedBorder">
685
686         <!--  Link (url associated with event)  -->
687         <tr>
688           <td class="fieldname"><xsl:copy-of select="$bwStr-AEEF-EventLink"/><xsl:text> </xsl:text></td>
689           <td class="fieldval">
690             <xsl:variable name="link" select="form/link/input/@value"/>
691             <input type="text" name="eventLink" size="80" value="{$link}"/>
692           </td>
693         </tr>
694
695         <!--  Description  -->
696         <tr>
697           <td class="fieldname"><xsl:copy-of select="$bwStr-AEEF-Description"/><xsl:text> </xsl:text></td>
698           <td class="fieldval">
699             <xsl:choose>
700               <xsl:when test="normalize-space(form/desc/textarea) = ''">
701                 <textarea name="description" id="description" cols="60" rows="4"><xsl:text> </xsl:text></textarea>
702                 <!-- keep this space to avoid browser
703                 rendering errors when the text area is empty -->
704               </xsl:when>
705               <xsl:otherwise>
706                 <textarea name="description" id="description" cols="60" rows="4"><xsl:value-of select="form/desc/textarea"/></textarea>
707               </xsl:otherwise>
708             </xsl:choose>
709           </td>
710         </tr>
711
712         <!--<tr>
713           <td class="fieldname">
714             Type:
715           </td>
716           <td class="fieldval">
717             <input type="radio" name="schedule" size="80" value="none" checked="checked">
718               <xsl:if test="form/scheduleMethod = '0'"><xsl:attribute name="checked">checked</xsl:attribute></xsl:if>
719               my event
720             </input>
721             <input type="radio" name="schedule" size="80" value="request">
722               <xsl:if test="form/scheduleMethod = '2'"><xsl:attribute name="checked">checked</xsl:attribute></xsl:if>
723               meeting request
724             </input>
725             <input type="radio" name="schedule" size="80" value="publish">
726               <xsl:if test="form/scheduleMethod = '1'"><xsl:attribute name="checked">checked</xsl:attribute></xsl:if>
727               published event
728             </input>
729             <xsl:if test="/bedework/creating = 'false' and form/scheduleMethod = '2'">
730               <br/><input type="checkbox" name="schedule" value="reconfirm "/> ask attendees to reconfirm
731             </xsl:if>
732           </td>
733         </tr>-->
734         <!--  Recipients and Attendees  -->
735         <!--
736         <tr>
737           <td class="fieldname">
738             Recipients &amp;<br/> Attendees:
739           </td>
740           <td class="fieldval posrelative">
741             <input type="button" value="Manage recipients and attendees" onclick="launchSizedWindow('{$event-showAttendeesForEvent}','500','400')" class="small"/>
742           </td>
743         </tr>-->
744
745         <!--  Status  -->
746         <tr>
747           <td class="fieldname">
748             <xsl:copy-of select="$bwStr-AEEF-Status"/><xsl:text> </xsl:text>
749           </td>
750           <td class="fieldval">
751             <input type="radio" name="eventStatus" value="CONFIRMED">
752               <xsl:if test="form/status = 'CONFIRMED' or /bedework/creating = 'true' or form/status = ''"><xsl:attribute name="checked">checked</xsl:attribute></xsl:if>
753             </input>
754             <xsl:copy-of select="$bwStr-AEEF-Confirmed"/>
755             <input type="radio" name="eventStatus" value="TENTATIVE">
756               <xsl:if test="form/status = 'TENTATIVE'"><xsl:attribute name="checked">checked</xsl:attribute></xsl:if>
757             </input>
758             <xsl:copy-of select="$bwStr-AEEF-Tentative"/>
759             <input type="radio" name="eventStatus" value="CANCELLED">
760               <xsl:if test="form/status = 'CANCELLED'"><xsl:attribute name="checked">checked</xsl:attribute></xsl:if>
761             </input>
762             <xsl:copy-of select="$bwStr-AEEF-Canceled"/>
763           </td>
764         </tr>
765
766         <!--  Transparency ("Affects free/busy")  -->
767         <xsl:if test="form/entityType != '2'"><!-- no transparency for Tasks -->
768           <tr>
769             <td class="fieldname padMeTop">
770               <xsl:copy-of select="$bwStr-AEEF-AffectsFreeBusy"/><xsl:text> </xsl:text>
771             </td>
772             <td class="fieldval padMeTop">
773               <input type="radio" value="OPAQUE" name="transparency">
774                 <xsl:if test="form/transparency = 'OPAQUE'">
775                   <xsl:attribute name="checked">checked</xsl:attribute>
776                 </xsl:if>
777               </input>
778               <xsl:copy-of select="$bwStr-AEEF-Yes"/><xsl:text> </xsl:text><span class="note"><xsl:copy-of select="$bwStr-AEEF-Opaque"/></span><br/>
779  
780               <input type="radio" value="TRANSPARENT" name="transparency">
781                 <xsl:if test="form/transparency = 'TRANSPARENT'">
782                   <xsl:attribute name="checked">checked</xsl:attribute>
783                 </xsl:if>
784               </input>
785               <xsl:copy-of select="$bwStr-AEEF-No"/><xsl:text> </xsl:text><span class="note"><xsl:copy-of select="$bwStr-AEEF-Transparent"/></span><br/>
786             </td>
787           </tr>
788         </xsl:if>
789       </table>
790     </div>
791
792
793     <!-- Recurrence tab -->
794     <!-- ============== -->
795     <div id="bwEventTab-Recurrence" class="invisible">
796       <xsl:choose>
797         <xsl:when test="recurrenceId != ''">
798           <!-- recurrence instances can not themselves recur,
799                so provide access to master event -->
800           <em><xsl:copy-of select="$bwStr-AEEF-ThisEventRecurrenceInstance"/></em><br/>
801           <a href="{$editEvent}&amp;calPath={$calPath}&amp;guid={$guid}" title="{$bwStr-AEEF-EditMaster}"><xsl:copy-of select="$bwStr-AEEF-EditMasterEvent"/></a>
802         </xsl:when>
803         <xsl:otherwise>
804           <!-- has recurrenceId, so is master -->
805          
806           <xsl:choose>
807             <xsl:when test="form/recurringEntity = 'false'">
808                           <!-- the switch is required to turn recurrence on - maybe we can infer this instead? -->
809                           <div id="recurringSwitch">
810                             <!-- set or remove "recurring" and show or hide all recurrence fields: -->
811                             <input type="radio" name="recurring" value="true" onclick="swapRecurrence(this)">
812                               <xsl:if test="form/recurringEntity = 'true'"><xsl:attribute name="checked">checked</xsl:attribute></xsl:if>
813                             </input> <xsl:copy-of select="$bwStr-AEEF-EventRecurs"/>
814                             <input type="radio" name="recurring" value="false" onclick="swapRecurrence(this)">
815                               <xsl:if test="form/recurringEntity = 'false'"><xsl:attribute name="checked">checked</xsl:attribute></xsl:if>
816                             </input> <xsl:copy-of select="$bwStr-AEEF-EventDoesNotRecur"/>
817                           </div>
818                         </xsl:when>
819                         <xsl:otherwise>
820                           <!-- is a recurring event; once created as such, it can no longer be made non-recurring. -->
821                           <input type="hidden" name="recurring" value="true"/>
822                         </xsl:otherwise>
823           </xsl:choose>
824          
825           <!-- wrapper for all recurrence fields (rrules and rdates): -->
826           <div id="recurrenceFields" class="invisible">
827             <xsl:if test="form/recurringEntity = 'true'"><xsl:attribute name="class">visible</xsl:attribute></xsl:if>
828
829             <h4><xsl:copy-of select="$bwStr-AEEF-RecurrenceRules"/></h4>
830             <!-- show or hide rrules fields when editing: -->
831             <xsl:if test="form/recurrence">
832               <input type="checkbox" name="rrulesFlag" onclick="swapRrules(this)" value="on"/>
833               <span id="rrulesSwitch">
834                 <xsl:copy-of select="$bwStr-AEEF-ChangeRecurrenceRules"/>
835               </span>
836             </xsl:if>
837             <span id="rrulesUiSwitch">
838               <xsl:if test="form/recurrence">
839                 <xsl:attribute name="class">invisible</xsl:attribute>
840               </xsl:if>
841               <input type="checkbox" name="rrulesUiSwitch" value="advanced" onchange="swapVisible(this,'advancedRrules')"/>
842               <xsl:copy-of select="$bwStr-AEEF-ShowAdvancedRecurrenceRules"/>
843             </span>
844
845             <xsl:if test="form/recurrence">
846               <!-- Output descriptive recurrence rules information.  Probably not
847                    complete yet. Replace all strings so can be
848                    more easily internationalized. -->
849               <div id="recurrenceInfo">
850                 <xsl:copy-of select="$bwStr-AEEF-EVERY"/><xsl:text> </xsl:text>
851                 <xsl:choose>
852                   <xsl:when test="form/recurrence/interval &gt; 1">
853                     <xsl:value-of select="form/recurrence/interval"/>
854                   </xsl:when>
855                 </xsl:choose>
856                 <xsl:text> </xsl:text>
857                 <xsl:choose>
858                   <xsl:when test="form/recurrence/freq = 'HOURLY'"><xsl:copy-of select="$bwStr-AEEF-Hour"/><xsl:text> </xsl:text></xsl:when>
859                   <xsl:when test="form/recurrence/freq = 'DAILY'"><xsl:copy-of select="$bwStr-AEEF-Day"/><xsl:text> </xsl:text></xsl:when>
860                   <xsl:when test="form/recurrence/freq = 'WEEKLY'"><xsl:copy-of select="$bwStr-AEEF-Week"/><xsl:text> </xsl:text></xsl:when>
861                   <xsl:when test="form/recurrence/freq = 'MONTHLY'"><xsl:copy-of select="$bwStr-AEEF-Month"/><xsl:text> </xsl:text></xsl:when>
862                   <xsl:when test="form/recurrence/freq = 'YEARLY'"><xsl:copy-of select="$bwStr-AEEF-Year"/><xsl:text> </xsl:text></xsl:when>
863                 </xsl:choose>
864                 <xsl:text> </xsl:text>
865
866                 <xsl:if test="form/recurrence/byday">
867                   <xsl:for-each select="form/recurrence/byday/pos">
868                     <xsl:if test="position() != 1"> <xsl:copy-of select="$bwStr-AEEF-And"/> </xsl:if>
869                     <xsl:copy-of select="$bwStr-AEEF-On"/>
870                     <xsl:text> </xsl:text>
871                     <xsl:choose>
872                       <xsl:when test="@val='1'">
873                         <xsl:copy-of select="$bwStr-AEEF-TheFirst"/><xsl:text> </xsl:text>
874                       </xsl:when>
875                       <xsl:when test="@val='2'">
876                         <xsl:copy-of select="$bwStr-AEEF-TheSecond"/><xsl:text> </xsl:text>
877                       </xsl:when>
878                       <xsl:when test="@val='3'">
879                         <xsl:copy-of select="$bwStr-AEEF-TheThird"/><xsl:text> </xsl:text>
880                       </xsl:when>
881                       <xsl:when test="@val='4'">
882                         <xsl:copy-of select="$bwStr-AEEF-TheFourth"/><xsl:text> </xsl:text>
883                       </xsl:when>
884                       <xsl:when test="@val='5'">
885                         <xsl:copy-of select="$bwStr-AEEF-TheFifth"/><xsl:text> </xsl:text>
886                       </xsl:when>
887                       <xsl:when test="@val='-1'">
888                         <xsl:copy-of select="$bwStr-AEEF-TheLast"/><xsl:text> </xsl:text>
889                       </xsl:when>
890                       <!-- don't output "every" -->
891                       <!--<xsl:otherwise>
892                         every
893                       </xsl:otherwise>-->
894                     </xsl:choose>
895                     <xsl:for-each select="day">
896                       <xsl:text> </xsl:text>
897                       <xsl:if test="position() != 1 and position() = last()"><xsl:text> </xsl:text><xsl:copy-of select="$bwStr-AEEF-And"/><xsl:text> </xsl:text></xsl:if>
898                       <xsl:variable name="dayVal" select="."/>
899                       <xsl:variable name="dayPos">
900                         <xsl:for-each select="/bedework/recurdayvals/val">
901                           <xsl:if test="node() = $dayVal"><xsl:value-of select="position()"/></xsl:if>
902                         </xsl:for-each>
903                       </xsl:variable>
904                       <xsl:value-of select="/bedework/shortdaynames/val[position() = $dayPos]"/>
905                       <xsl:if test="position() != last()">, </xsl:if>
906                       <xsl:text> </xsl:text>
907                     </xsl:for-each>
908                   </xsl:for-each>
909                 </xsl:if>
910
911                 <xsl:if test="form/recurrence/bymonth">
912                   <xsl:copy-of select="$bwStr-AEEF-In"/>
913                   <xsl:for-each select="form/recurrence/bymonth/val">
914                     <xsl:if test="position() != 1 and position() = last()"> <xsl:copy-of select="$bwStr-AEEF-And"/><xsl:text> </xsl:text></xsl:if>
915                     <xsl:variable name="monthNum" select="number(.)"/>
916                     <xsl:value-of select="/bedework/monthlabels/val[position() = $monthNum]"/>
917                     <xsl:if test="position() != last()">, </xsl:if>
918                   </xsl:for-each>
919                 </xsl:if>
920
921                 <xsl:if test="form/recurrence/bymonthday">
922                   <xsl:text> </xsl:text>
923                   <xsl:copy-of select="$bwStr-AEEF-OnThe"/>
924                   <xsl:text> </xsl:text>
925                   <xsl:apply-templates select="form/recurrence/bymonthday/val" mode="weekMonthYearNumbers"/>
926                   <xsl:text> </xsl:text>
927                   <xsl:copy-of select="$bwStr-AEEF-DayOfTheMonth"/>
928                   <xsl:text> </xsl:text>
929                 </xsl:if>
930
931                 <xsl:if test="form/recurrence/byyearday">
932                   <xsl:text> </xsl:text>
933                   <xsl:copy-of select="$bwStr-AEEF-OnThe"/>
934                   <xsl:text> </xsl:text>
935                   <xsl:apply-templates select="form/recurrence/byyearday/val" mode="weekMonthYearNumbers"/>
936                   <xsl:text> </xsl:text>
937                   <xsl:copy-of select="$bwStr-AEEF-DayOfTheYear"/>
938                   <xsl:text> </xsl:text>
939                 </xsl:if>
940
941                 <xsl:if test="form/recurrence/byweekno">
942                   <xsl:text> </xsl:text>
943                   <xsl:copy-of select="$bwStr-AEEF-InThe"/>
944                   <xsl:text> </xsl:text>
945                   <xsl:apply-templates select="form/recurrence/byweekno/val" mode="weekMonthYearNumbers"/>
946                   <xsl:text> </xsl:text>
947                   <xsl:copy-of select="$bwStr-AEEF-WeekOfTheYear"/>
948                   <xsl:text> </xsl:text>
949                 </xsl:if>
950
951                 <xsl:copy-of select="$bwStr-AEEF-Repeating"/>
952                 <xsl:choose>
953                   <xsl:when test="form/recurrence/count = '-1'"><xsl:text> </xsl:text><xsl:copy-of select="$bwStr-AEEF-Forever"/></xsl:when>
954                   <xsl:when test="form/recurrence/until">
955                     <xsl:text> </xsl:text>
956                     <xsl:copy-of select="$bwStr-AEEF-Until"/>
957                     <xsl:text> </xsl:text>
958                     <xsl:value-of select="substring(form/recurrence/until,1,4)"/>-<xsl:value-of select="substring(form/recurrence/until,5,2)"/>-<xsl:value-of select="substring(form/recurrence/until,7,2)"/>
959                   </xsl:when>
960                   <xsl:otherwise>
961                     <xsl:text> </xsl:text>
962                     <xsl:value-of select="form/recurrence/count"/>
963                     <xsl:text> </xsl:text>
964                     <xsl:copy-of select="$bwStr-AEEF-Time"/>
965                   </xsl:otherwise>
966                 </xsl:choose>
967               </div>
968             </xsl:if>
969
970             <!-- set these dynamically when form is submitted -->
971             <input type="hidden" name="interval" value=""/>
972             <input type="hidden" name="count" value=""/>
973             <input type="hidden" name="until" value=""/>
974             <input type="hidden" name="byday" value=""/>
975             <input type="hidden" name="bymonthday" value=""/>
976             <input type="hidden" name="bymonth" value=""/>
977             <input type="hidden" name="byweekno" value=""/>
978             <input type="hidden" name="byyearday" value=""/>
979             <input type="hidden" name="wkst" value=""/>
980             <input type="hidden" name="setpos" value=""/>
981
982             <!-- wrapper for rrules: -->
983             <table id="rrulesTable" cellspacing="0">
984               <xsl:if test="form/recurrence">
985                 <xsl:attribute name="class">invisible</xsl:attribute>
986               </xsl:if>
987               <tr>
988                 <td id="recurrenceFrequency" rowspan="2">
989                   <em><xsl:copy-of select="$bwStr-AEEF-Frequency"/></em><br/>
990                   <input type="radio" name="freq" value="NONE" onclick="showRrules(this.value)" checked="checked"/><xsl:copy-of select="$bwStr-AEEF-None"/><br/>
991                   <!--<input type="radio" name="freq" value="HOURLY" onclick="showRrules(this.value)"/>hourly<br/>-->
992                   <input type="radio" name="freq" value="DAILY" onclick="showRrules(this.value)"/><xsl:copy-of select="$bwStr-AEEF-Daily"/><br/>
993                   <input type="radio" name="freq" value="WEEKLY" onclick="showRrules(this.value)"/><xsl:copy-of select="$bwStr-AEEF-Weekly"/><br/>
994                   <input type="radio" name="freq" value="MONTHLY" onclick="showRrules(this.value)"/><xsl:copy-of select="$bwStr-AEEF-Monthly"/><br/>
995                   <input type="radio" name="freq" value="YEARLY" onclick="showRrules(this.value)"/><xsl:copy-of select="$bwStr-AEEF-Yearly"/>
996                 </td>
997                 <!-- recurrence count, until, forever -->
998                 <td id="recurrenceUntil">
999                   <div id="noneRecurrenceRules">
1000                     <xsl:copy-of select="$bwStr-AEEF-NoRecurrenceRules"/>
1001                   </div>
1002                   <div id="recurrenceUntilRules" class="invisible">
1003                     <em><xsl:copy-of select="$bwStr-AEEF-Repeat"/></em>
1004                     <p>
1005                       <input type="radio" name="recurCountUntil" value="forever">
1006                         <xsl:if test="not(form/recurring) or form/recurring/count = '-1'">
1007                           <xsl:attribute name="checked">checked</xsl:attribute>
1008                         </xsl:if>
1009                       </input>
1010                       <xsl:copy-of select="$bwStr-AEEF-Forever"/>
1011                       <input type="radio" name="recurCountUntil" value="count" id="recurCount">
1012                         <xsl:if test="form/recurring/count != '-1'">
1013                           <xsl:attribute name="checked">checked</xsl:attribute>
1014                         </xsl:if>
1015                       </input>
1016                       <input type="text" value="1" size="2" name="countHolder"  onfocus="selectRecurCountUntil('recurCount')">
1017                         <xsl:if test="form/recurring/count and form/recurring/count != '-1'">
1018                           <xsl:attribute name="value"><xsl:value-of select="form/recurring/count"/></xsl:attribute>
1019                         </xsl:if>
1020                       </input>
1021                       <xsl:copy-of select="$bwStr-AEEF-Time"/>
1022                       <input type="radio" name="recurCountUntil" value="until" id="recurUntil">
1023                         <xsl:if test="form/recurring/until">
1024                           <xsl:attribute name="checked">checked</xsl:attribute>
1025                         </xsl:if>
1026                       </input>
1027                       <xsl:copy-of select="$bwStr-AEEF-Until"/>
1028                       <span id="untilHolder">
1029                         <input type="hidden" name="bwEventUntilDate" id="bwEventUntilDate" size="10"/>
1030                         <input type="text" name="bwEventWidgetUntilDate" id="bwEventWidgetUntilDate" size="10" onfocus="selectRecurCountUntil('recurUntil')"/>
1031                       </span>
1032                     </p>
1033                   </div>
1034                 </td>
1035               </tr>
1036               <tr>
1037                 <td id="advancedRrules" class="invisible">
1038                   <!-- hourly -->
1039                   <div id="hourlyRecurrenceRules" class="invisible">
1040                     <p>
1041                       <em><xsl:copy-of select="$bwStr-AEEF-Interval"/></em>
1042                       <xsl:copy-of select="$bwStr-AEEF-Every"/>
1043                       <input type="text" name="hourlyInterval" size="2" value="1">
1044                         <xsl:if test="form/recurrence/interval">
1045                           <xsl:attribute name="value"><xsl:value-of select="form/recurrence/interval"/></xsl:attribute>
1046                         </xsl:if>
1047                       </input>
1048                       <xsl:copy-of select="$bwStr-AEEF-Hour"/>
1049                     </p>
1050                   </div>
1051                   <!-- daily -->
1052                   <div id="dailyRecurrenceRules" class="invisible">
1053                     <p>
1054                       <em><xsl:copy-of select="$bwStr-AEEF-Interval"/></em>
1055                       <xsl:copy-of select="$bwStr-AEEF-Every"/>
1056                       <input type="text" name="dailyInterval" size="2" value="1">
1057                         <xsl:if test="form/recurrence/interval">
1058                           <xsl:attribute name="value"><xsl:value-of select="form/recurrence/interval"/></xsl:attribute>
1059                         </xsl:if>
1060                       </input>
1061                       <xsl:copy-of select="$bwStr-AEEF-Day"/>
1062                     </p>
1063                     <div>
1064                       <input type="checkbox" name="swapDayMonthCheckBoxList" value="" onclick="swapVisible(this,'dayMonthCheckBoxList')"/>
1065                       <xsl:copy-of select="$bwStr-AEEF-InTheseMonths"/>
1066                       <div id="dayMonthCheckBoxList" class="invisible">
1067                         <xsl:for-each select="/bedework/monthlabels/val">
1068                           <xsl:variable name="pos"><xsl:value-of select="position()"/></xsl:variable>
1069                           <span class="chkBoxListItem">
1070                             <input type="checkbox" name="dayMonths">
1071                               <xsl:attribute name="value"><xsl:value-of select="/bedework/monthvalues/val[position() = $pos]"/></xsl:attribute>
1072                             </input>
1073                             <xsl:value-of select="."/>
1074                           </span>
1075                           <xsl:if test="$pos mod 6 = 0"><br/></xsl:if>
1076                         </xsl:for-each>
1077                       </div>
1078                     </div>
1079                     <!--<p>
1080                       <input type="checkbox" name="swapDaySetPos" value="" onclick="swapVisible(this,'daySetPos')"/>
1081                       limit to:
1082                       <div id="daySetPos" class="invisible">
1083                       </div>
1084                     </p>-->
1085                   </div>
1086                   <!-- weekly -->
1087                   <div id="weeklyRecurrenceRules" class="invisible">
1088                     <p>
1089                       <em><xsl:copy-of select="$bwStr-AEEF-Interval"/><xsl:text> </xsl:text></em>
1090                       <xsl:copy-of select="$bwStr-AEEF-Every"/>
1091                       <input type="text" name="weeklyInterval" size="2" value="1">
1092                         <xsl:if test="form/recurrence/interval">
1093                           <xsl:attribute name="value"><xsl:value-of select="form/recurrence/interval"/></xsl:attribute>
1094                         </xsl:if>
1095                       </input>
1096                       <xsl:copy-of select="$bwStr-AEEF-WeekOn"/>
1097                     </p>
1098                     <div id="weekRecurFields">
1099                       <xsl:call-template name="byDayChkBoxList">
1100                         <xsl:with-param name="name">byDayWeek</xsl:with-param>
1101                       </xsl:call-template>
1102                     </div>
1103                     <p class="weekRecurLinks">
1104                       <a href="javascript:recurSelectWeekdays('weekRecurFields')"><xsl:copy-of select="$bwStr-AEEF-SelectWeekdays"/></a> |
1105                       <a href="javascript:recurSelectWeekends('weekRecurFields')"><xsl:copy-of select="$bwStr-AEEF-SelectWeekends"/></a>
1106                     </p>
1107                     <p>
1108                       <xsl:copy-of select="$bwStr-AEEF-WeekStart"/>
1109                       <select name="weekWkst">
1110                         <xsl:for-each select="/bedework/shortdaynames/val">
1111                           <xsl:variable name="pos" select="position()"/>
1112                           <option>
1113                             <xsl:attribute name="value"><xsl:value-of select="/bedework/recurdayvals/val[position() = $pos]"/></xsl:attribute>
1114                             <xsl:value-of select="."/>
1115                           </option>
1116                         </xsl:for-each>
1117                       </select>
1118                     </p>
1119                   </div>
1120                   <!-- monthly -->
1121                   <div id="monthlyRecurrenceRules" class="invisible">
1122                     <p>
1123                       <em><xsl:copy-of select="$bwStr-AEEF-Interval"/></em>
1124                       <xsl:copy-of select="$bwStr-AEEF-Every"/>
1125                       <input type="text" name="monthlyInterval" size="2" value="1">
1126                         <xsl:if test="form/recurrence/interval">
1127                           <xsl:attribute name="value"><xsl:value-of select="form/recurrence/interval"/></xsl:attribute>
1128                         </xsl:if>
1129                       </input>
1130                       <xsl:copy-of select="$bwStr-AEEF-Month"/>
1131                     </p>
1132                     <div id="monthRecurFields">
1133                       <div id="monthRecurFields1">
1134                         <xsl:copy-of select="$bwStr-AEEF-On"/>
1135                         <select name="bymonthposPos1" size="7" onchange="changeClass('monthRecurFields2','shown')">
1136                           <xsl:call-template name="recurrenceDayPosOptions"/>
1137                         </select>
1138                         <xsl:call-template name="byDayChkBoxList"/>
1139                       </div>
1140                       <xsl:call-template name="buildRecurFields">
1141                         <xsl:with-param name="current">2</xsl:with-param>
1142                         <xsl:with-param name="total">10</xsl:with-param>
1143                         <xsl:with-param name="name">month</xsl:with-param>
1144                       </xsl:call-template>
1145                     </div>
1146                     <div>
1147                       <input type="checkbox" name="swapMonthDaysCheckBoxList" value="" onclick="swapVisible(this,'monthDaysCheckBoxList')"/>
1148                       <xsl:copy-of select="$bwStr-AEEF-OnTheseDays"/><br/>
1149                       <div id="monthDaysCheckBoxList" class="invisible">
1150                         <xsl:call-template name="buildCheckboxList">
1151                           <xsl:with-param name="current">1</xsl:with-param>
1152                           <xsl:with-param name="end">31</xsl:with-param>
1153                           <xsl:with-param name="name">monthDayBoxes</xsl:with-param>
1154                         </xsl:call-template>
1155                       </div>
1156                     </div>
1157                   </div>
1158                   <!-- yearly -->
1159                   <div id="yearlyRecurrenceRules" class="invisible">
1160                     <p>
1161                       <em><xsl:copy-of select="$bwStr-AEEF-Interval"/><xsl:text> </xsl:text></em>
1162                       <xsl:copy-of select="$bwStr-AEEF-Every"/>
1163                       <input type="text" name="yearlyInterval" size="2" value="1">
1164                         <xsl:if test="form/recurrence/interval">
1165                           <xsl:attribute name="value"><xsl:value-of select="form/recurrence/interval"/></xsl:attribute>
1166                         </xsl:if>
1167                       </input>
1168                       <xsl:copy-of select="$bwStr-AEEF-Year"/>
1169                     </p>
1170                     <div id="yearRecurFields">
1171                       <div id="yearRecurFields1">
1172                         <xsl:copy-of select="$bwStr-AEEF-On"/>
1173                         <select name="byyearposPos1" size="7" onchange="changeClass('yearRecurFields2','shown')">
1174                           <xsl:call-template name="recurrenceDayPosOptions"/>
1175                         </select>
1176                         <xsl:call-template name="byDayChkBoxList"/>
1177                       </div>
1178                       <xsl:call-template name="buildRecurFields">
1179                         <xsl:with-param name="current">2</xsl:with-param>
1180                         <xsl:with-param name="total">10</xsl:with-param>
1181                         <xsl:with-param name="name">year</xsl:with-param>
1182                       </xsl:call-template>
1183                     </div>
1184                     <div>
1185                       <input type="checkbox" name="swapYearMonthCheckBoxList" value="" onclick="swapVisible(this,'yearMonthCheckBoxList')"/>
1186                       <xsl:copy-of select="$bwStr-AEEF-InTheseMonths"/>
1187                       <div id="yearMonthCheckBoxList" class="invisible">
1188                         <xsl:for-each select="/bedework/monthlabels/val">
1189                           <xsl:variable name="pos"><xsl:value-of select="position()"/></xsl:variable>
1190                           <span class="chkBoxListItem">
1191                             <input type="checkbox" name="yearMonths">
1192                               <xsl:attribute name="value"><xsl:value-of select="/bedework/monthvalues/val[position() = $pos]"/></xsl:attribute>
1193                             </input>
1194                             <xsl:value-of select="."/>
1195                           </span>
1196                           <xsl:if test="$pos mod 6 = 0"><br/></xsl:if>
1197                         </xsl:for-each>
1198                       </div>
1199                     </div>
1200                     <div>
1201                       <input type="checkbox" name="swapYearMonthDaysCheckBoxList" value="" onclick="swapVisible(this,'yearMonthDaysCheckBoxList')"/>
1202                       <xsl:copy-of select="$bwStr-AEEF-OnTheseDaysOfTheMonth"/><br/>
1203                       <div id="yearMonthDaysCheckBoxList" class="invisible">
1204                         <xsl:call-template name="buildCheckboxList">
1205                           <xsl:with-param name="current">1</xsl:with-param>
1206                           <xsl:with-param name="end">31</xsl:with-param>
1207                           <xsl:with-param name="name">yearMonthDayBoxes</xsl:with-param>
1208                         </xsl:call-template>
1209                       </div>
1210                     </div>
1211                     <div>
1212                       <input type="checkbox" name="swapYearWeeksCheckBoxList" value="" onclick="swapVisible(this,'yearWeeksCheckBoxList')"/>
1213                       <xsl:copy-of select="$bwStr-AEEF-InTheseWeeksOfTheYear"/><br/>
1214                       <div id="yearWeeksCheckBoxList" class="invisible">
1215                         <xsl:call-template name="buildCheckboxList">
1216                           <xsl:with-param name="current">1</xsl:with-param>
1217                           <xsl:with-param name="end">53</xsl:with-param>
1218                           <xsl:with-param name="name">yearWeekBoxes</xsl:with-param>
1219                         </xsl:call-template>
1220                       </div>
1221                     </div>
1222                     <div>
1223                       <input type="checkbox" name="swapYearDaysCheckBoxList" value="" onclick="swapVisible(this,'yearDaysCheckBoxList')"/>
1224                       <xsl:copy-of select="$bwStr-AEEF-OnTheseDaysOfTheYear"/><br/>
1225                       <div id="yearDaysCheckBoxList" class="invisible">
1226                         <xsl:call-template name="buildCheckboxList">
1227                           <xsl:with-param name="current">1</xsl:with-param>
1228                           <xsl:with-param name="end">366</xsl:with-param>
1229                           <xsl:with-param name="name">yearDayBoxes</xsl:with-param>
1230                         </xsl:call-template>
1231                       </div>
1232                     </div>
1233                     <p>
1234                       <xsl:copy-of select="$bwStr-AEEF-WeekStart"/>
1235                       <select name="yearWkst">
1236                         <xsl:for-each select="/bedework/shortdaynames/val">
1237                           <xsl:variable name="pos" select="position()"/>
1238                           <option>
1239                             <xsl:attribute name="value"><xsl:value-of select="/bedework/recurdayvals/val[position() = $pos]"/></xsl:attribute>
1240                             <xsl:value-of select="."/>
1241                           </option>
1242                         </xsl:for-each>
1243                       </select>
1244                     </p>
1245                   </div>
1246                 </td>
1247               </tr>
1248             </table>
1249
1250             <h4>
1251               <xsl:copy-of select="$bwStr-AEEF-RecurrenceAndExceptionDates"/>
1252             </h4>
1253             <div id="raContent">
1254               <div class="dateStartEndBox" id="rdatesFormFields">
1255                 <div class="dateFields">
1256                   <input type="text" name="eventRdate.date" id="bwEventWidgetRdate" size="10"/>
1257                 </div>
1258                 <div id="rdateTimeFields" class="timeFields">
1259                  <select name="eventRdate.hour" id="eventRdateHour">
1260                     <option value="00">00</option>
1261                     <option value="01">01</option>
1262                     <option value="02">02</option>
1263                     <option value="03">03</option>
1264                     <option value="04">04</option>
1265                     <option value="05">05</option>
1266                     <option value="06">06</option>
1267                     <option value="07">07</option>
1268                     <option value="08">08</option>
1269                     <option value="09">09</option>
1270                     <option value="10">10</option>
1271                     <option value="11">11</option>
1272                     <option value="12" selected="selected">12</option>
1273                     <option value="13">13</option>
1274                     <option value="14">14</option>
1275                     <option value="15">15</option>
1276                     <option value="16">16</option>
1277                     <option value="17">17</option>
1278                     <option value="18">18</option>
1279                     <option value="19">19</option>
1280                     <option value="20">20</option>
1281                     <option value="21">21</option>
1282                     <option value="22">22</option>
1283                     <option value="23">23</option>
1284                   </select>
1285                   <select name="eventRdate.minute" id="eventRdateMinute">
1286                     <option value="00" selected="selected">00</option>
1287                     <option value="05">05</option>
1288                     <option value="10">10</option>
1289                     <option value="15">15</option>
1290                     <option value="20">20</option>
1291                     <option value="25">25</option>
1292                     <option value="30">30</option>
1293                     <option value="35">35</option>
1294                     <option value="40">40</option>
1295                     <option value="45">45</option>
1296                     <option value="50">50</option>
1297                     <option value="55">55</option>
1298                   </select>
1299                   <xsl:text> </xsl:text>
1300                   <img src="{$resourcesRoot}/images/clockIcon.gif" width="16" height="15" border="0" alt="bwClock" id="bwRecExcClock"/>
1301
1302                   <select name="tzid" id="rdateTzid" class="timezones">
1303                     <xsl:if test="form/floating/input/@checked='checked'"><xsl:attribute name="disabled">disabled</xsl:attribute></xsl:if>
1304                     <option value=""><xsl:copy-of select="$bwStr-AEEF-SelectTimezone"/></option>
1305                     <!--  Timezone options are called from the timezone server.  See bedeworkEventForm.js -->
1306                   </select>
1307                 </div>
1308                 <xsl:text> </xsl:text>
1309                 <!--bwRdates.update() accepts: date, time, allDay, floating, utc, tzid-->
1310                 <input type="button" name="rdate" value="{$bwStr-AEEF-AddRecurance}" onclick="bwRdates.update(this.form['eventRdate.date'].value,this.form['eventRdate.hour'].value + this.form['eventRdate.minute'].value,false,false,false,this.form.tzid.value)"/>
1311                 <!-- input type="button" name="exdate" value="{$bwStr-AEEF-AddException}" onclick="bwExdates.update(this.form['eventRdate.date'].value,this.form['eventRdate.hour'].value + this.form['eventRdate.minute'].value,false,false,false,this.form.tzid.value)"/-->
1312                 <br class="clear"/>
1313                 <input type="hidden" name="rdates" value="" id="bwRdatesField" />
1314                 <!-- if there are no recurrence dates, the following table will show -->
1315                 <table cellspacing="0" class="invisible" id="bwCurrentRdatesNone">
1316                   <tr><th><xsl:copy-of select="$bwStr-AEEF-RecurrenceDates"/></th></tr>
1317                   <tr><td><xsl:copy-of select="$bwStr-AEEF-NoRecurrenceDates"/></td></tr>
1318                 </table>
1319
1320                 <!-- if there are recurrence dates, the following table will show -->
1321                 <table cellspacing="0" class="invisible" id="bwCurrentRdates">
1322                   <tr>
1323                     <th colspan="4"><xsl:copy-of select="$bwStr-AEEF-RecurrenceDates"/></th>
1324                   </tr>
1325                   <tr class="colNames">
1326                     <td><xsl:copy-of select="$bwStr-AEEF-Date"/></td>
1327                     <td><xsl:copy-of select="$bwStr-AEEF-TIME"/></td>
1328                     <td><xsl:copy-of select="$bwStr-AEEF-TZid"/></td>
1329                     <td></td>
1330                   </tr>
1331                 </table>
1332
1333                 <input type="hidden" name="exdates" value="" id="bwExdatesField" />
1334                 <!-- if there are no exception dates, the following table will show -->
1335                 <table cellspacing="0" class="invisible" id="bwCurrentExdatesNone">
1336                   <tr><th><xsl:copy-of select="$bwStr-AEEF-ExceptionDates"/></th></tr>
1337                   <tr><td><xsl:copy-of select="$bwStr-AEEF-NoExceptionDates"/></td></tr>
1338                 </table>
1339
1340                 <!-- if there are exception dates, the following table will show -->
1341                 <table cellspacing="0" class="invisible" id="bwCurrentExdates">
1342                   <tr>
1343                     <th colspan="4"><xsl:copy-of select="$bwStr-AEEF-ExceptionDates"/></th>
1344                   </tr>
1345                   <tr class="colNames">
1346                     <td><xsl:copy-of select="$bwStr-AEEF-Date"/></td>
1347                     <td><xsl:copy-of select="$bwStr-AEEF-Time"/></td>
1348                     <td><xsl:copy-of select="$bwStr-AEEF-TZid"/></td>
1349                     <td></td>
1350                   </tr>
1351                 </table>
1352                 <p>
1353                   <xsl:copy-of select="$bwStr-AEEF-ExceptionDatesMayBeCreated"/>
1354                 </p>
1355               </div>
1356             </div>
1357           </div>
1358         </xsl:otherwise>
1359       </xsl:choose>
1360     </div>
1361
1362     <!-- Access tab -->
1363     <!-- if you want to expose access control on events, uncomment
1364          the tab in the event form submenu at the top of this file -->
1365     <!-- ========== -->
1366     <div id="bwEventTab-Access" class="invisible">
1367       <div id="accessBox">
1368         <h3>Current Access:</h3>
1369         <div id="bwCurrentAccessWidget">&#160;</div>
1370         <script type="text/javascript">
1371           bwAcl.display("bwCurrentAccessWidget");
1372         </script>
1373         <xsl:call-template name="entityAccessForm">
1374           <xsl:with-param name="outputId">bwCurrentAccessWidget</xsl:with-param>
1375         </xsl:call-template>
1376       </div>
1377     </div>
1378
1379     <!-- Meeting / Scheduling tab -->
1380     <!-- ======================== -->
1381     <div id="bwEventTab-Scheduling" class="invisible">
1382       <!--
1383       <h4><xsl:copy-of select="$bwStr-Atnd-AddAttendees"/></h4>
1384       <form name="raForm" id="recipientsAndAttendeesForm" action="{$requestFreeBusy}" method="post">
1385         <div id="raFields">
1386           <input type="text" name="uri" width="40" id="bwRaUri"/>
1387           <input type="submit" value="{$bwStr-Atnd-Add}" />
1388           <input type="hidden" name="recipient" value="true"/>
1389           <input type="hidden" name="attendee"  value="true"/>
1390           <xsl:text> </xsl:text>
1391           <xsl:copy-of select="$bwStr-Atnd-RoleColon"/>
1392           <select name="role">
1393             <option value="REQ-PARTICIPANT"><xsl:copy-of select="$bwStr-Atnd-RequiredParticipant"/></option>
1394             <option value="OPT-PARTICIPANT"><xsl:copy-of select="$bwStr-Atnd-OptionalParticipant"/></option>
1395             <option value="CHAIR"><xsl:copy-of select="$bwStr-Atnd-Chair"/></option>
1396             <option value="NON-PARTICIPANT"><xsl:copy-of select="$bwStr-Atnd-NonParticipant"/></option>
1397           </select>
1398           <xsl:text> </xsl:text>
1399           <xsl:copy-of select="$bwStr-Atnd-StatusColon"/>
1400           <select name="partstat">
1401             <option value="NEEDS-ACTION"><xsl:copy-of select="$bwStr-Atnd-NeedsAction"/></option>
1402             <option value="ACCEPTED"><xsl:copy-of select="$bwStr-Atnd-Accepted"/></option>
1403             <option value="DECLINED"><xsl:copy-of select="$bwStr-Atnd-Declined"/></option>
1404             <option value="TENTATIVE"><xsl:copy-of select="$bwStr-Atnd-Tentative"/></option>
1405             <option value="DELEGATED"><xsl:copy-of select="$bwStr-Atnd-Delegated"/></option>
1406           </select>
1407         </div>
1408       </form>
1409       -->
1410      
1411             <div id="bwSchedule">
1412               <div id="bwFreeBusyDisplay">
1413                 loading...
1414               </div>
1415              
1416               <table id="bwScheduleControls">
1417                 <tr>
1418                   <td>
1419                     <input type="button" id="bwPickPrevious" onclick="bwGrid.pickPrevious();" value="{$bwStr-AEEF-PickPrevious}"/>
1420                   </td>
1421                   <td>
1422                     <input type="button" id="bwPickNext" onclick="bwGrid.pickNext();" value="{$bwStr-AEEF-PickNext}"/>
1423                   </td>
1424                   <td class="dateLabel">
1425                     <strong><xsl:copy-of select="$bwStr-AEEF-Start"/></strong>
1426                   </td>
1427                   <td class="schedDate">
1428                     <input type="text" name="bwEventWidgetStartDateSched" id="bwEventWidgetStartDateSched" size="10"/>
1429               <xsl:text> </xsl:text>
1430               <span class="schedTime" id="schedTime">
1431                 <select name="eventStartDateSched.hour" id="eventStartDateSchedHour">
1432                   <xsl:copy-of select="form/start/hour/select/*"/>
1433                 </select>
1434                 <select name="eventStartDateSched.minute" id="eventStartDateSchedMinute">
1435                   <xsl:copy-of select="form/start/minute/select/*"/>
1436                 </select>
1437                 <xsl:if test="form/start/ampm">
1438                   <select name="eventStartDateSched.ampm" id="eventStartDateSchedAmpm">
1439                     <xsl:copy-of select="form/start/ampm/select/*"/>
1440                   </select>
1441                 </xsl:if>
1442                 <xsl:text> </xsl:text>
1443                 <img src="{$resourcesRoot}/images/clockIcon.gif" width="16" height="15" border="0" alt="bwClock" id="bwSchedClock"/>
1444               </span>
1445                   </td>
1446                 </tr>
1447                 <tr>
1448                   <td class="zoom">
1449                     <!--  hid the zoom for now - may not use it. -->
1450                     <!--             
1451                     <span class="zoomControl">-</span>
1452                     <select name="zoom">
1453                       <option>300%</option>
1454                       <option>200%</option>
1455                       <option>150%</option>
1456                       <option selected="selected">100%</option>
1457                       <option>75%</option>
1458                       <option>50%</option>
1459                     </select>
1460                     <span class="zoomControl">+</span>
1461                     -->
1462                   </td>
1463                   <td>
1464                     <ul id="bwSchedOptionsContainer">
1465                       <li>
1466                                     <input type="button" id="bwSchedOptions" value="{$bwStr-AEEF-Options}"/>
1467                               <ul id="bwFbOptionsMenu">
1468                                 <li id="bwSched24Hours"><span id="bwSched24HoursText"><xsl:copy-of select="$bwStr-AEEF-24Hours"/></span> <input type="checkbox" id="bwSched24HoursCb"/></li>
1469                               </ul>
1470                             </li>
1471                     </ul>
1472                   </td>
1473                   <td class="dateLabel">
1474                     <strong><xsl:copy-of select="$bwStr-AEEF-Duration-Sched"/></strong>
1475                   </td>
1476                   <td class="schedDate">
1477               <!-- force day, hour, minute format -->
1478               <input type="text" name="eventDurationSched.daysStr" size="2" id="durationDaysSched">
1479                 <xsl:attribute name="value">
1480                   <xsl:choose>
1481                     <xsl:when test="/bedework/creating='true' and form/allDay/input/@checked='checked'">1</xsl:when>
1482                     <xsl:when test="/bedework/creating='true' and form/allDay/input/@checked!='checked'">0</xsl:when>
1483                     <xsl:otherwise><xsl:value-of select="form/end/duration/days/input/@value"/></xsl:otherwise>
1484                   </xsl:choose>
1485                 </xsl:attribute>
1486               </input>
1487               <xsl:text> </xsl:text>
1488               <xsl:copy-of select="$bwStr-AEEF-Days"/>
1489               <xsl:text> </xsl:text>
1490               <span id="durationHrMinSched">
1491                 <input type="text" name="eventDurationSched.hoursStr" size="2" id="durationHoursSched">
1492                   <xsl:attribute name="value">
1493                     <xsl:choose>
1494                       <xsl:when test="/bedework/creating='true'">1</xsl:when>
1495                       <xsl:otherwise><xsl:value-of select="form/end/duration/hours/input/@value"/></xsl:otherwise>
1496                     </xsl:choose>
1497                   </xsl:attribute>
1498                 </input>
1499                 <xsl:text> </xsl:text>
1500                 <xsl:copy-of select="$bwStr-AEEF-Hours"/>
1501                 <xsl:text> </xsl:text>
1502                 <input type="text" name="eventDurationSched.minutesStr" size="2" id="durationMinutesSched">
1503                   <xsl:attribute name="value">
1504                     <xsl:choose>
1505                       <xsl:when test="/bedework/creating='true'">0</xsl:when>
1506                       <xsl:otherwise><xsl:value-of select="form/end/duration/minutes/input/@value"/></xsl:otherwise>
1507                     </xsl:choose>
1508                   </xsl:attribute>
1509                 </input>
1510                 <xsl:text> </xsl:text>
1511                 <xsl:copy-of select="$bwStr-AEEF-Minutes"/>
1512               </span>
1513              
1514                   </td>
1515                 </tr> 
1516               </table>
1517                        
1518             </div>
1519     </div>
1520
1521     <div class="eventSubmitButtons">
1522       <xsl:apply-templates select="form" mode="addEditEventFormButtons" />
1523     </div>
1524   </xsl:template>
1525
1526   <xsl:template match="form" mode="addEditEventFormButtons">
1527     <xsl:choose>
1528       <!-- the following test on the organizerSchedulingObject is not good - will need to fix -->
1529       <xsl:when test="scheduleMethod = '2' and organizerSchedulingObject">
1530         <input name="submitAndSend" type="submit" value="{$bwStr-AEEF-SaveAndSendInvites}" class="bwEventFormSubmit"/>
1531         <!-- dissalow: at the moment there's no way to send invitations after the first save
1532         <input name="submit" type="submit" value="{$bwStr-AEEF-SaveDraft}"/> -->
1533       </xsl:when>
1534       <xsl:otherwise>
1535         <input name="submit" type="submit" value="{$bwStr-AEEF-Save}" class="bwEventFormSubmit"/>
1536       </xsl:otherwise>
1537     </xsl:choose>
1538     <input name="cancelled" type="submit" value="{$bwStr-AEEF-Cancel}"/>
1539   </xsl:template>
1540
1541   <xsl:template match="val" mode="weekMonthYearNumbers">
1542     <xsl:if test="position() != 1 and position() = last()"> and </xsl:if>
1543     <xsl:value-of select="."/><xsl:choose>
1544       <xsl:when test="substring(., string-length(.)-1, 2) = '11' or
1545                       substring(., string-length(.)-1, 2) = '12' or
1546                       substring(., string-length(.)-1, 2) = '13'">th</xsl:when>
1547       <xsl:when test="substring(., string-length(.), 1) = '1'">st</xsl:when>
1548       <xsl:when test="substring(., string-length(.), 1) = '2'">nd</xsl:when>
1549       <xsl:when test="substring(., string-length(.), 1) = '3'">rd</xsl:when>
1550       <xsl:otherwise>th</xsl:otherwise>
1551     </xsl:choose>
1552     <xsl:if test="position() != last()">, </xsl:if>
1553   </xsl:template>
1554
1555   <xsl:template name="byDayChkBoxList">
1556     <xsl:param name="name"/>
1557     <xsl:for-each select="/bedework/shortdaynames/val">
1558       <xsl:variable name="pos" select="position()"/>
1559       <input type="checkbox">
1560         <xsl:attribute name="value"><xsl:value-of select="/bedework/recurdayvals/val[position() = $pos]"/></xsl:attribute>
1561         <xsl:attribute name="name"><xsl:value-of select="$name"/></xsl:attribute>
1562       </input>
1563       <xsl:value-of select="."/>
1564     </xsl:for-each>
1565   </xsl:template>
1566
1567   <xsl:template name="buildCheckboxList">
1568     <xsl:param name="current"/>
1569     <xsl:param name="end"/>
1570     <xsl:param name="name"/>
1571     <xsl:param name="splitter">10</xsl:param>
1572     <span class="chkBoxListItem">
1573       <input type="checkbox">
1574         <xsl:attribute name="name"><xsl:value-of select="$name"/></xsl:attribute>
1575         <xsl:attribute name="value"><xsl:value-of select="$current"/></xsl:attribute>
1576       </input>
1577       <xsl:value-of select="$current"/>
1578     </span>
1579     <xsl:if test="$current mod $splitter = 0"><br/></xsl:if>
1580     <xsl:if test="$current = $end"><br/></xsl:if>
1581     <xsl:if test="$current &lt; $end">
1582       <xsl:call-template name="buildCheckboxList">
1583         <xsl:with-param name="current"><xsl:value-of select="$current + 1"/></xsl:with-param>
1584         <xsl:with-param name="end"><xsl:value-of select="$end"/></xsl:with-param>
1585         <xsl:with-param name="name"><xsl:value-of select="$name"/></xsl:with-param>
1586       </xsl:call-template>
1587     </xsl:if>
1588   </xsl:template>
1589
1590   <xsl:template name="recurrenceDayPosOptions">
1591     <option value="0"><xsl:copy-of select="$bwStr-RCPO-None"/></option>
1592     <option value="1"><xsl:copy-of select="$bwStr-RCPO-TheFirst"/></option>
1593     <option value="2"><xsl:copy-of select="$bwStr-RCPO-TheSecond"/></option>
1594     <option value="3"><xsl:copy-of select="$bwStr-RCPO-TheThird"/></option>
1595     <option value="4"><xsl:copy-of select="$bwStr-RCPO-TheFourth"/></option>
1596     <option value="5"><xsl:copy-of select="$bwStr-RCPO-TheFifth"/></option>
1597     <option value="-1"><xsl:copy-of select="$bwStr-RCPO-TheLast"/></option>
1598     <option value=""><xsl:copy-of select="$bwStr-RCPO-Every"/></option>
1599   </xsl:template>
1600
1601   <xsl:template name="buildRecurFields">
1602     <xsl:param name="current"/>
1603     <xsl:param name="total"/>
1604     <xsl:param name="name"/>
1605     <div class="invisible">
1606       <xsl:attribute name="id"><xsl:value-of select="$name"/>RecurFields<xsl:value-of select="$current"/></xsl:attribute>
1607       <xsl:copy-of select="$bwStr-BuRF-And"/>
1608       <select size="12">
1609         <xsl:attribute name="name">by<xsl:value-of select="$name"/>posPos<xsl:value-of select="$current"/></xsl:attribute>
1610         <xsl:if test="$current != $total">
1611           <xsl:attribute name="onchange">changeClass('<xsl:value-of select="$name"/>RecurFields<xsl:value-of select="$current+1"/>','shown')</xsl:attribute>
1612         </xsl:if>
1613         <xsl:call-template name="recurrenceDayPosOptions"/>
1614       </select>
1615       <xsl:call-template name="byDayChkBoxList"/>
1616     </div>
1617     <xsl:if test="$current &lt; $total">
1618       <xsl:call-template name="buildRecurFields">
1619         <xsl:with-param name="current"><xsl:value-of select="$current+1"/></xsl:with-param>
1620         <xsl:with-param name="total"><xsl:value-of select="$total"/></xsl:with-param>
1621         <xsl:with-param name="name"><xsl:value-of select="$name"/></xsl:with-param>
1622       </xsl:call-template>
1623     </xsl:if>
1624   </xsl:template>
1625
1626   <xsl:template name="buildNumberOptions">
1627     <xsl:param name="current"/>
1628     <xsl:param name="total"/>
1629     <option value="{$current}"><xsl:value-of select="$current"/></option>
1630     <xsl:if test="$current &lt; $total">
1631       <xsl:call-template name="buildNumberOptions">
1632         <xsl:with-param name="current"><xsl:value-of select="$current+1"/></xsl:with-param>
1633         <xsl:with-param name="total"><xsl:value-of select="$total"/></xsl:with-param>
1634       </xsl:call-template>
1635     </xsl:if>
1636   </xsl:template>
1637
1638   <xsl:template name="clock">
1639     <div id="bwClock">
1640       <!-- Bedework 24-Hour Clock time selection widget
1641            used with bwClock.js and bwClock.css -->
1642       <xsl:variable name="hour24" select="/bedework/hour24"/><!-- true or false -->
1643       <div id="bwClockClock">
1644         <img id="clockMap" src="{$resourcesRoot}/images/clockMap.gif" width="368" height="368" border="0" alt="bwClock" usemap="#bwClockMap" />
1645       </div>
1646       <div id="bwClockCover">
1647         &#160;
1648         <!-- this is a special effect div used simply to cover the pixelated edge
1649              where the clock meets the clock box title -->
1650       </div>
1651       <div id="bwClockBox">
1652         <h2>
1653           <xsl:copy-of select="$bwStr-Cloc-Bedework24HourClock"/>
1654         </h2>
1655         <div id="bwClockDateTypeIndicator">
1656           <xsl:copy-of select="$bwStr-Cloc-Type"/>
1657         </div>
1658         <div id="bwClockTime">
1659           <xsl:copy-of select="$bwStr-Cloc-SelectTime"/>
1660         </div>
1661         <div id="bwClockSwitch">
1662           <xsl:copy-of select="$bwStr-Cloc-Switch"/>
1663         </div>
1664         <div id="bwClockCloseText">
1665           <xsl:copy-of select="$bwStr-Cloc-Close"/>
1666         </div>
1667         <div id="bwClockCloseButton">
1668           <a href="javascript:bwClockClose();">X</a>
1669         </div>
1670       </div>
1671       <map name="bwClockMap" id="bwClockMap">
1672         <area shape="rect" alt="close clock" title="{$bwStr-Cloc-CloseClock}" coords="160,167, 200,200" href="javascript:bwClockClose()"/>
1673         <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')" />
1674         <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')" />
1675         <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')" />
1676         <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')" />
1677         <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')" />
1678         <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')" />
1679         <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')" />
1680         <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')" />
1681         <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')" />
1682         <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')" />
1683         <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')" />
1684         <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')" />
1685         <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})" />
1686         <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})" />
1687         <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})" />
1688         <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})" />
1689         <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})" />
1690         <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})" />
1691         <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})" />
1692         <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})" />
1693         <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})" />
1694         <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})" />
1695         <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})" />
1696         <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})" />
1697         <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})" />
1698         <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})" />
1699         <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})" />
1700         <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})" />
1701         <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})" />
1702         <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})" />
1703         <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})" />
1704         <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})" />
1705         <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})" />
1706         <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})" />
1707         <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})" />
1708         <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})" />
1709       </map>
1710     </div>
1711   </xsl:template>
1712  
1713 </xsl:stylesheet>
Note: See TracBrowser for help on using the browser.