root/trunk/deployment/webadmin/webapp/resources/default/default/temp.xsl

Revision 2174 (checked in by johnsa, 4 years ago)

admin client: part way through implementing cross-tagging of events

Line 
1 Belongs on line 2951 of default.xsl - needs debugging.
2
3         <form name="eventForm" method="post" action="{$event-update}" onsubmit="bwXProps.generate(this)">
4
5           <!-- output some hidden fields that need not be displayed -->
6
7           <input type="hidden" name="transparency">
8             <xsl:attribute name="value"><xsl:value-of select="form/transparency"/></xsl:attribute>
9           </input>
10
11           <input type="hidden" name="newCalPath">
12             <xsl:attribute name="value"><xsl:value-of select="form/calendar/all/select/option[@selected]/@value"/></xsl:attribute>
13           </input>
14
15           <xsl:call-template name="submitEventButtons">
16             <xsl:with-param name="eventTitle" select="$eventTitle"/>
17             <xsl:with-param name="eventUrlPrefix" select="$eventUrlPrefix"/>
18           </xsl:call-template>
19
20           <table class="eventFormTable">
21             <tr>
22               <td class="fieldName">
23                 Title:
24               </td>
25               <td>
26                 <xsl:hidden name="summary">
27                   <xsl:attribute name="value"><xsl:value-of select="form/title/input/@value"/></xsl:attribute>
28                 </xsl:hidden>
29                 <xsl:value-of select="form/title/input/@value"/>
30               </td>
31             </tr>
32
33             <tr>
34               <td class="fieldName">
35                 Date &amp; Time:
36               </td>
37               <td>
38                 <!-- Set the timefields class for the first load of the page;
39                      subsequent changes will take place using javascript without a
40                      page reload. -->
41                 <xsl:variable name="timeFieldsClass">
42                   <xsl:choose>
43                     <xsl:when test="form/allDay/input/@checked='checked'">invisible</xsl:when>
44                     <xsl:otherwise>timeFields</xsl:otherwise>
45                   </xsl:choose>
46                 </xsl:variable>
47                 <xsl:choose>
48                   <xsl:when test="form/allDay/input/@checked='checked'">
49                     <input type="checkbox" name="allDayFlag" onclick="swapAllDayEvent(this)" value="on" checked="checked"/>
50                     <input type="hidden" name="eventStartDate.dateOnly" value="on" id="allDayStartDateField"/>
51                     <input type="hidden" name="eventEndDate.dateOnly" value="on" id="allDayEndDateField"/>
52                   </xsl:when>
53                   <xsl:otherwise>
54                     <input type="checkbox" name="allDayFlag" onclick="swapAllDayEvent(this)" value="off"/>
55                     <input type="hidden" name="eventStartDate.dateOnly" value="off" id="allDayStartDateField"/>
56                     <input type="hidden" name="eventEndDate.dateOnly" value="off" id="allDayEndDateField"/>
57                   </xsl:otherwise>
58                 </xsl:choose>
59                 all day
60
61                 <!-- floating event: no timezone (and not UTC) -->
62                 <xsl:choose>
63                   <xsl:when test="form/floating/input/@checked='checked'">
64                     <input type="checkbox" name="floatingFlag" id="floatingFlag" onclick="swapFloatingTime(this)" value="on" checked="checked"/>
65                     <input type="hidden" name="eventStartDate.floating" value="on" id="startFloating"/>
66                     <input type="hidden" name="eventEndDate.floating" value="on" id="endFloating"/>
67                   </xsl:when>
68                   <xsl:otherwise>
69                     <input type="checkbox" name="floatingFlag" id="floatingFlag" onclick="swapFloatingTime(this)" value="off"/>
70                     <input type="hidden" name="eventStartDate.floating" value="off" id="startFloating"/>
71                     <input type="hidden" name="eventEndDate.floating" value="off" id="endFloating"/>
72                   </xsl:otherwise>
73                 </xsl:choose>
74                 floating
75
76                 <!-- store time as coordinated universal time (UTC) -->
77                 <xsl:choose>
78                   <xsl:when test="form/storeUTC/input/@checked='checked'">
79                     <input type="checkbox" name="storeUTCFlag" id="storeUTCFlag" onclick="swapStoreUTC(this)" value="on" checked="checked"/>
80                     <input type="hidden" name="eventStartDate.storeUTC" value="on" id="startStoreUTC"/>
81                     <input type="hidden" name="eventEndDate.storeUTC" value="on" id="endStoreUTC"/>
82                   </xsl:when>
83                   <xsl:otherwise>
84                     <input type="checkbox" name="storeUTCFlag" id="storeUTCFlag" onclick="swapStoreUTC(this)" value="off"/>
85                     <input type="hidden" name="eventStartDate.storeUTC" value="off" id="startStoreUTC"/>
86                     <input type="hidden" name="eventEndDate.storeUTC" value="off" id="endStoreUTC"/>
87                   </xsl:otherwise>
88                 </xsl:choose>
89                 store as UTC
90
91                 <br/>
92                 <div class="dateStartEndBox">
93                   <strong>Start:</strong>
94                   <div class="dateFields">
95                     <span class="startDateLabel">Date </span>
96                     <xsl:choose>
97                       <xsl:when test="$portalFriendly = 'true'">
98                         <xsl:copy-of select="form/start/month/*"/>
99                         <xsl:copy-of select="form/start/day/*"/>
100                         <xsl:choose>
101                           <xsl:when test="/bedework/creating = 'true'">
102                             <xsl:copy-of select="form/start/year/*"/>
103                           </xsl:when>
104                           <xsl:otherwise>
105                             <xsl:copy-of select="form/start/yearText/*"/>
106                           </xsl:otherwise>
107                         </xsl:choose>
108                         <script language="JavaScript" type="text/javascript">
109                           <xsl:comment>
110                           startDateDynCalWidget = new dynCalendar('startDateDynCalWidget', <xsl:value-of select="number(form/start/yearText/input/@value)"/>, <xsl:value-of select="number(form/start/month/select/option[@selected='selected']/@value)-1"/>, <xsl:value-of select="number(form/start/day/select/option[@selected='selected']/@value)"/>, 'startDateCalWidgetCallback',true,'<xsl:value-of select="$resourcesRoot"/>/resources/');
111                           </xsl:comment>
112                         </script>
113                       </xsl:when>
114                       <xsl:otherwise>
115                         <!-- span dojoType="dropdowndatepicker" formatLength="medium" value="today" saveFormat="yyyyMMdd" id="bwEventWidgetStartDate" iconURL="{$resourcesRoot}/resources/calIcon.gif">
116                           <xsl:attribute name="value"><xsl:value-of select="form/start/rfc3339DateTime"/></xsl:attribute>
117                           <xsl:text> </xsl:text>
118                         </span-->
119                         <input type="text" name="bwEventWidgetStartDate" id="bwEventWidgetStartDate" size="10"/>
120                         <script language="JavaScript" type="text/javascript">
121                           <xsl:comment>
122                           $("#bwEventWidgetStartDate").datepicker({
123                             defaultDate: new Date(<xsl:value-of select="form/start/yearText/input/@value"/>, <xsl:value-of select="number(form/start/month/select/option[@selected = 'selected']/@value) - 1"/>, <xsl:value-of select="form/start/day/select/option[@selected = 'selected']/@value"/>)
124                           }).attr("readonly", "readonly");
125                           $("#bwEventWidgetStartDate").val('<xsl:value-of select="substring-before(form/start/rfc3339DateTime,'T')"/>');
126                           //alert($("#bwEventWidgetStartDate").datepicker("getDate"));
127                           </xsl:comment>
128                         </script>
129                         <input type="hidden" name="eventStartDate.year">
130                           <xsl:attribute name="value"><xsl:value-of select="form/start/yearText/input/@value"/></xsl:attribute>
131                         </input>
132                         <input type="hidden" name="eventStartDate.month">
133                           <xsl:attribute name="value"><xsl:value-of select="form/start/month/select/option[@selected = 'selected']/@value"/></xsl:attribute>
134                         </input>
135                         <input type="hidden" name="eventStartDate.day">
136                           <xsl:attribute name="value"><xsl:value-of select="form/start/day/select/option[@selected = 'selected']/@value"/></xsl:attribute>
137                         </input>
138                       </xsl:otherwise>
139                     </xsl:choose>
140                   </div>
141                   <div class="{$timeFieldsClass}" id="startTimeFields">
142                     <span id="calWidgetStartTimeHider" class="show">
143                       <xsl:copy-of select="form/start/hour/*"/>
144                       <xsl:copy-of select="form/start/minute/*"/>
145                       <xsl:if test="form/start/ampm">
146                         <xsl:copy-of select="form/start/ampm/*"/>
147                       </xsl:if>
148                       <xsl:text> </xsl:text>
149                       <a href="javascript:bwClockLaunch('eventStartDate');"><img src="{$resourcesRoot}/resources/clockIcon.gif" width="16" height="15" border="0"/></a>
150
151                       <select name="eventStartDate.tzid" id="startTzid" class="timezones">
152                         <xsl:if test="form/floating/input/@checked='checked'"><xsl:attribute name="disabled">true</xsl:attribute></xsl:if>
153                         <option value="-1">select timezone...</option>
154                         <xsl:variable name="startTzId" select="form/start/tzid"/>
155                         <xsl:for-each select="/bedework/timezones/timezone">
156                           <option>
157                             <xsl:attribute name="value"><xsl:value-of select="id"/></xsl:attribute>
158                             <xsl:if test="$startTzId = id"><xsl:attribute name="selected">selected</xsl:attribute></xsl:if>
159                             <xsl:value-of select="name"/>
160                           </option>
161                         </xsl:for-each>
162                       </select>
163                     </span>
164                   </div>
165                 </div>
166                 <div class="dateStartEndBox">
167                   <strong>End:</strong>
168                   <xsl:choose>
169                     <xsl:when test="form/end/type='E'">
170                       <input type="radio" name="eventEndType" id="bwEndDateTimeButton" value="E" checked="checked" onClick="changeClass('endDateTime','shown');changeClass('endDuration','invisible');"/>
171                     </xsl:when>
172                     <xsl:otherwise>
173                       <input type="radio" name="eventEndType" id="bwEndDateTimeButton" value="E" onClick="changeClass('endDateTime','shown');changeClass('endDuration','invisible');"/>
174                     </xsl:otherwise>
175                   </xsl:choose>
176                   Date
177                   <xsl:variable name="endDateTimeClass">
178                     <xsl:choose>
179                       <xsl:when test="form/end/type='E'">shown</xsl:when>
180                       <xsl:otherwise>invisible</xsl:otherwise>
181                     </xsl:choose>
182                   </xsl:variable>
183                   <div class="{$endDateTimeClass}" id="endDateTime">
184                     <div class="dateFields">
185                       <xsl:choose>
186                         <xsl:when test="$portalFriendly = 'true'">
187                           <xsl:copy-of select="form/end/dateTime/month/*"/>
188                           <xsl:copy-of select="form/end/dateTime/day/*"/>
189                           <xsl:choose>
190                             <xsl:when test="/bedework/creating = 'true'">
191                               <xsl:copy-of select="form/end/dateTime/year/*"/>
192                             </xsl:when>
193                             <xsl:otherwise>
194                               <xsl:copy-of select="form/end/dateTime/yearText/*"/>
195                             </xsl:otherwise>
196                           </xsl:choose>
197                           <script language="JavaScript" type="text/javascript">
198                             <xsl:comment>
199                             endDateDynCalWidget = new dynCalendar('endDateDynCalWidget', <xsl:value-of select="number(form/start/yearText/input/@value)"/>, <xsl:value-of select="number(form/start/month/select/option[@selected='selected']/@value)-1"/>, <xsl:value-of select="number(form/start/day/select/option[@selected='selected']/@value)"/>, 'endDateCalWidgetCallback',true,'<xsl:value-of select="$resourcesRoot"/>/resources/');
200                           </xsl:comment>
201                           </script>
202                         </xsl:when>
203                         <xsl:otherwise>
204                           <!-- span dojoType="dropdowndatepicker" formatLength="medium" value="today" saveFormat="yyyyMMdd" id="bwEventWidgetEndDate" iconURL="{$resourcesRoot}/resources/calIcon.gif">
205                             <xsl:attribute name="value"><xsl:value-of select="form/end/rfc3339DateTime"/></xsl:attribute>
206                             <xsl:text> </xsl:text>
207                           </span-->
208                           <input type="text" name="bwEventWidgetEndDate" id="bwEventWidgetEndDate" size="10"/>
209                           <script language="JavaScript" type="text/javascript">
210                             <xsl:comment>
211                             $("#bwEventWidgetEndDate").datepicker({
212                               defaultDate: new Date(<xsl:value-of select="form/end/dateTime/yearText/input/@value"/>, <xsl:value-of select="number(form/end/dateTime/month/select/option[@selected = 'selected']/@value) - 1"/>, <xsl:value-of select="form/end/dateTime/day/select/option[@selected = 'selected']/@value"/>)
213                             }).attr("readonly", "readonly");
214                             $("#bwEventWidgetEndDate").val('<xsl:value-of select="substring-before(form/end/rfc3339DateTime,'T')"/>');
215                             </xsl:comment>
216                           </script>
217                           <input type="hidden" name="eventEndDate.year">
218                             <xsl:attribute name="value"><xsl:value-of select="form/end/dateTime/yearText/input/@value"/></xsl:attribute>
219                           </input>
220                           <input type="hidden" name="eventEndDate.month">
221                             <xsl:attribute name="value"><xsl:value-of select="form/end/dateTime/month/select/option[@selected = 'selected']/@value"/></xsl:attribute>
222                           </input>
223                           <input type="hidden" name="eventEndDate.day">
224                             <xsl:attribute name="value"><xsl:value-of select="form/end/dateTime/day/select/option[@selected = 'selected']/@value"/></xsl:attribute>
225                           </input>
226                         </xsl:otherwise>
227                       </xsl:choose>
228                     </div>
229                     <div class="{$timeFieldsClass}" id="endTimeFields">
230                       <span id="calWidgetEndTimeHider" class="show">
231                         <xsl:copy-of select="form/end/dateTime/hour/*"/>
232                         <xsl:copy-of select="form/end/dateTime/minute/*"/>
233                         <xsl:if test="form/end/dateTime/ampm">
234                           <xsl:copy-of select="form/end/dateTime/ampm/*"/>
235                         </xsl:if>
236                         <xsl:text> </xsl:text>
237                         <a href="javascript:bwClockLaunch('eventEndDate');"><img src="{$resourcesRoot}/resources/clockIcon.gif" width="16" height="15" border="0"/></a>
238
239                         <select name="eventEndDate.tzid" id="endTzid" class="timezones">
240                           <xsl:if test="form/floating/input/@checked='checked'"><xsl:attribute name="disabled">true</xsl:attribute></xsl:if>
241                           <option value="-1">select timezone...</option>
242                           <xsl:variable name="endTzId" select="form/end/dateTime/tzid"/>
243                           <xsl:for-each select="/bedework/timezones/timezone">
244                             <option>
245                               <xsl:attribute name="value"><xsl:value-of select="id"/></xsl:attribute>
246                               <xsl:if test="$endTzId = id"><xsl:attribute name="selected">selected</xsl:attribute></xsl:if>
247                               <xsl:value-of select="name"/>
248                             </option>
249                           </xsl:for-each>
250                         </select>
251                       </span>
252                     </div>
253                   </div>
254                   <br/>
255                   <div id="clock" class="invisible">
256                     <xsl:call-template name="clock"/>
257                   </div>
258                   <div class="dateFields">
259                     <xsl:choose>
260                       <xsl:when test="form/end/type='D'">
261                         <input type="radio" name="eventEndType" value="D" checked="checked" onClick="changeClass('endDateTime','invisible');changeClass('endDuration','shown');"/>
262                       </xsl:when>
263                       <xsl:otherwise>
264                         <input type="radio" name="eventEndType" value="D" onClick="changeClass('endDateTime','invisible');changeClass('endDuration','shown');"/>
265                       </xsl:otherwise>
266                     </xsl:choose>
267                     Duration
268                     <xsl:variable name="endDurationClass">
269                       <xsl:choose>
270                         <xsl:when test="form/end/type='D'">shown</xsl:when>
271                         <xsl:otherwise>invisible</xsl:otherwise>
272                       </xsl:choose>
273                     </xsl:variable>
274                     <xsl:variable name="durationHrMinClass">
275                       <xsl:choose>
276                         <xsl:when test="form/allDay/input/@checked='checked'">invisible</xsl:when>
277                         <xsl:otherwise>shown</xsl:otherwise>
278                       </xsl:choose>
279                     </xsl:variable>
280                     <div class="{$endDurationClass}" id="endDuration">
281                       <xsl:choose>
282                         <xsl:when test="form/end/duration/weeks/input/@value = '0'">
283                         <!-- we are using day, hour, minute format -->
284                         <!-- must send either no week value or week value of 0 (zero) -->
285                           <div class="durationBox">
286                             <input type="radio" name="eventDuration.type" value="daytime" onclick="swapDurationType('daytime')" checked="checked"/>
287                             <xsl:variable name="daysStr" select="form/end/duration/days/input/@value"/>
288                             <input type="text" name="eventDuration.daysStr" size="2" value="{$daysStr}" id="durationDays"/>days
289                             <span id="durationHrMin" class="{$durationHrMinClass}">
290                               <xsl:variable name="hoursStr" select="form/end/duration/hours/input/@value"/>
291                               <input type="text" name="eventDuration.hoursStr" size="2" value="{$hoursStr}" id="durationHours"/>hours
292                               <xsl:variable name="minutesStr" select="form/end/duration/minutes/input/@value"/>
293                               <input type="text" name="eventDuration.minutesStr" size="2" value="{$minutesStr}" id="durationMinutes"/>minutes
294                             </span>
295                           </div>
296                           <span class="durationSpacerText">or</span>
297                           <div class="durationBox">
298                             <input type="radio" name="eventDuration.type" value="weeks" onclick="swapDurationType('week')"/>
299                             <xsl:variable name="weeksStr" select="form/end/duration/weeks/input/@value"/>
300                             <input type="text" name="eventDuration.weeksStr" size="2" value="{$weeksStr}" id="durationWeeks" disabled="true"/>weeks
301                           </div>
302                         </xsl:when>
303                         <xsl:otherwise>
304                           <!-- we are using week format -->
305                           <div class="durationBox">
306                             <input type="radio" name="eventDuration.type" value="daytime" onclick="swapDurationType('daytime')"/>
307                             <xsl:variable name="daysStr" select="form/end/duration/days/input/@value"/>
308                             <input type="text" name="eventDuration.daysStr" size="2" value="{$daysStr}" id="durationDays" disabled="true"/>days
309                             <span id="durationHrMin" class="{$durationHrMinClass}">
310                               <xsl:variable name="hoursStr" select="form/end/duration/hours/input/@value"/>
311                               <input type="text" name="eventDuration.hoursStr" size="2" value="{$hoursStr}" id="durationHours" disabled="true"/>hours
312                               <xsl:variable name="minutesStr" select="form/end/duration/minutes/input/@value"/>
313                               <input type="text" name="eventDuration.minutesStr" size="2" value="{$minutesStr}" id="durationMinutes" disabled="true"/>minutes
314                             </span>
315                           </div>
316                           <span class="durationSpacerText">or</span>
317                           <div class="durationBox">
318                             <input type="radio" name="eventDuration.type" value="weeks" onclick="swapDurationType('week')" checked="checked"/>
319                             <xsl:variable name="weeksStr" select="form/end/duration/weeks/input/@value"/>
320                             <input type="text" name="eventDuration.weeksStr" size="2" value="{$weeksStr}" id="durationWeeks"/>weeks
321                           </div>
322                         </xsl:otherwise>
323                       </xsl:choose>
324                     </div>
325                   </div>
326                   <br/>
327                   <div class="dateFields" id="noDuration">
328                     <xsl:choose>
329                       <xsl:when test="form/end/type='N'">
330                         <input type="radio" name="eventEndType" value="N" checked="checked" onClick="changeClass('endDateTime','invisible');changeClass('endDuration','invisible');"/>
331                       </xsl:when>
332                       <xsl:otherwise>
333                         <input type="radio" name="eventEndType" value="N" onClick="changeClass('endDateTime','invisible');changeClass('endDuration','invisible');"/>
334                       </xsl:otherwise>
335                     </xsl:choose>
336                     This event has no duration / end date
337                   </div>
338                 </div>
339               </td>
340             </tr>
341             <!-- Recurrence fields -->
342             <!-- ================= -->
343             <tr>
344               <td class="fieldName">
345                 Recurrence:
346               </td>
347               <td>
348                 <xsl:choose>
349                   <xsl:when test="recurrenceId != ''">
350                     <!-- recurrence instances can not themselves recur,
351                          so provide access to master event -->
352                     <em>This event is a recurrence instance.</em><br/>
353                     <a href="{$event-fetchForUpdate}&amp;calPath={$calPath}&amp;guid={$guid}" title="edit master (recurring event)">edit master event</a>
354                   </xsl:when>
355                   <xsl:otherwise>
356                     <!-- has recurrenceId, so is master -->
357
358                     <div id="recurringSwitch">
359                       <!-- set or remove "recurring" and show or hide all recurrence fields: -->
360                       <input type="radio" name="recurring" value="true" onclick="swapRecurrence(this)">
361                         <xsl:if test="form/recurringEntity = 'true'"><xsl:attribute name="checked">checked</xsl:attribute></xsl:if>
362                       </input> event recurs
363                       <input type="radio" name="recurring" value="false" onclick="swapRecurrence(this)">
364                         <xsl:if test="form/recurringEntity = 'false'"><xsl:attribute name="checked">checked</xsl:attribute></xsl:if>
365                       </input> event does not recur
366                     </div>
367
368                     <!-- wrapper for all recurrence fields (rrules and rdates): -->
369                     <div id="recurrenceFields" class="invisible">
370                       <xsl:if test="form/recurringEntity = 'true'"><xsl:attribute name="class">visible</xsl:attribute></xsl:if>
371
372                       <h4>Recurrence Rules</h4>
373                       <!-- show or hide rrules fields when editing: -->
374                       <xsl:if test="form/recurrence">
375                         <input type="checkbox" name="rrulesFlag" onclick="swapRrules(this)" value="on"/>
376                         <span id="rrulesSwitch">
377                           change recurrence rules
378                         </span>
379                       </xsl:if>
380                       <span id="rrulesUiSwitch">
381                         <xsl:if test="form/recurrence">
382                           <xsl:attribute name="class">invisible</xsl:attribute>
383                         </xsl:if>
384                         <input type="checkbox" name="rrulesUiSwitch" value="advanced" onchange="swapVisible(this,'advancedRrules')"/>
385                         show advanced recurrence rules
386                       </span>
387
388                       <xsl:if test="form/recurrence">
389                         <!-- Output descriptive recurrence rules information.  Probably not
390                              complete yet. Replace all strings so can be
391                              more easily internationalized. -->
392                         <div id="recurrenceInfo">
393                           Every
394                           <xsl:choose>
395                             <xsl:when test="form/recurrence/interval &gt; 1">
396                               <xsl:value-of select="form/recurrence/interval"/>
397                             </xsl:when>
398                           </xsl:choose>
399                           <xsl:text> </xsl:text>
400                           <xsl:choose>
401                             <xsl:when test="form/recurrence/freq = 'HOURLY'">hour</xsl:when>
402                             <xsl:when test="form/recurrence/freq = 'DAILY'">day</xsl:when>
403                             <xsl:when test="form/recurrence/freq = 'WEEKLY'">week</xsl:when>
404                             <xsl:when test="form/recurrence/freq = 'MONTHLY'">month</xsl:when>
405                             <xsl:when test="form/recurrence/freq = 'YEARLY'">year</xsl:when>
406                           </xsl:choose><xsl:if test="form/recurrence/interval &gt; 1">s</xsl:if>
407                           <xsl:text> </xsl:text>
408
409                           <xsl:if test="form/recurrence/byday">
410                             <xsl:for-each select="form/recurrence/byday/pos">
411                               <xsl:if test="position() != 1"> and </xsl:if>
412                               on
413                               <xsl:choose>
414                                 <xsl:when test="@val='1'">
415                                   the first
416                                 </xsl:when>
417                                 <xsl:when test="@val='2'">
418                                   the second
419                                 </xsl:when>
420                                 <xsl:when test="@val='3'">
421                                   the third
422                                 </xsl:when>
423                                 <xsl:when test="@val='4'">
424                                   the fourth
425                                 </xsl:when>
426                                 <xsl:when test="@val='5'">
427                                   the fifth
428                                 </xsl:when>
429                                 <xsl:when test="@val='-1'">
430                                   the last
431                                 </xsl:when>
432                                 <!-- don't output "every" -->
433                                 <!--<xsl:otherwise>
434                                   every
435                                 </xsl:otherwise>-->
436                               </xsl:choose>
437                               <xsl:for-each select="day">
438                                 <xsl:if test="position() != 1 and position() = last()"> and </xsl:if>
439                                 <xsl:variable name="dayVal" select="."/>
440                                 <xsl:variable name="dayPos">
441                                   <xsl:for-each select="/bedework/recurdayvals/val">
442                                     <xsl:if test="node() = $dayVal"><xsl:value-of select="position()"/></xsl:if>
443                                   </xsl:for-each>
444                                 </xsl:variable>
445                                 <xsl:value-of select="/bedework/shortdaynames/val[position() = $dayPos]"/>
446                                 <xsl:if test="position() != last()">, </xsl:if>
447                               </xsl:for-each>
448                             </xsl:for-each>
449                           </xsl:if>
450
451                           <xsl:if test="form/recurrence/bymonth">
452                             in
453                             <xsl:for-each select="form/recurrence/bymonth/val">
454                               <xsl:if test="position() != 1 and position() = last()"> and </xsl:if>
455                               <xsl:variable name="monthNum" select="number(.)"/>
456                               <xsl:value-of select="/bedework/monthlabels/val[position() = $monthNum]"/>
457                               <xsl:if test="position() != last()">, </xsl:if>
458                             </xsl:for-each>
459                           </xsl:if>
460
461                           <xsl:if test="form/recurrence/bymonthday">
462                             on the
463                             <xsl:apply-templates select="form/recurrence/bymonthday/val" mode="weekMonthYearNumbers"/>
464                             day<xsl:if test="form/recurrence/bymonthday/val[position()=2]">s</xsl:if> of the month
465                           </xsl:if>
466
467                           <xsl:if test="form/recurrence/byyearday">
468                             on the
469                             <xsl:apply-templates select="form/recurrence/byyearday/val" mode="weekMonthYearNumbers"/>
470                             day<xsl:if test="form/recurrence/byyearday/val[position()=2]">s</xsl:if> of the year
471                           </xsl:if>
472
473                           <xsl:if test="form/recurrence/byweekno">
474                             in the
475                             <xsl:apply-templates select="form/recurrence/byweekno/val" mode="weekMonthYearNumbers"/>
476                             week<xsl:if test="form/recurrence/byweekno/val[position()=2]">s</xsl:if> of the year
477                           </xsl:if>
478
479                           repeating
480                           <xsl:choose>
481                             <xsl:when test="form/recurrence/count = '-1'">forever</xsl:when>
482                             <xsl:when test="form/recurrence/until">
483                               until <xsl:value-of select="substring(form/recurrence/until,1,4)"/>-<xsl:value-of select="substring(form/recurrence/until,5,2)"/>-<xsl:value-of select="substring(form/recurrence/until,7,2)"/>
484                             </xsl:when>
485                             <xsl:otherwise>
486                               <xsl:value-of select="form/recurrence/count"/>
487                               time<xsl:if test="form/recurrence/count &gt; 1">s</xsl:if>
488                             </xsl:otherwise>
489                           </xsl:choose>
490                         </div>
491                       </xsl:if>
492
493                       <!-- set these dynamically when form is submitted -->
494                       <input type="hidden" name="interval" value=""/>
495                       <input type="hidden" name="count" value=""/>
496                       <input type="hidden" name="until" value=""/>
497                       <input type="hidden" name="byday" value=""/>
498                       <input type="hidden" name="bymonthday" value=""/>
499                       <input type="hidden" name="bymonth" value=""/>
500                       <input type="hidden" name="byweekno" value=""/>
501                       <input type="hidden" name="byyearday" value=""/>
502                       <input type="hidden" name="wkst" value=""/>
503                       <input type="hidden" name="setpos" value=""/>
504
505                       <!-- wrapper for rrules: -->
506                       <table id="rrulesTable" cellspacing="0">
507                       <xsl:if test="form/recurrence">
508                         <xsl:attribute name="class">invisible</xsl:attribute>
509                       </xsl:if>
510                         <tr>
511                           <td id="recurrenceFrequency" rowspan="2">
512                             <em>Frequency:</em><br/>
513                             <input type="radio" name="freq" value="NONE" onclick="showRrules(this.value)" checked="checked"/>none<br/>
514                             <!--<input type="radio" name="freq" value="HOURLY" onclick="showRrules(this.value)"/>hourly<br/>-->
515                             <input type="radio" name="freq" value="DAILY" onclick="showRrules(this.value)"/>daily<br/>
516                             <input type="radio" name="freq" value="WEEKLY" onclick="showRrules(this.value)"/>weekly<br/>
517                             <input type="radio" name="freq" value="MONTHLY" onclick="showRrules(this.value)"/>monthly<br/>
518                             <input type="radio" name="freq" value="YEARLY" onclick="showRrules(this.value)"/>yearly
519                           </td>
520                           <!-- recurrence count, until, forever -->
521                           <td id="recurrenceUntil">
522                             <div id="noneRecurrenceRules">
523                               no recurrence rules
524                             </div>
525                             <div id="recurrenceUntilRules" class="invisible">
526                               <em>Repeat:</em>
527                               <p>
528                                 <input type="radio" name="recurCountUntil" value="forever">
529                                   <xsl:if test="not(form/recurring) or form/recurring/count = '-1'">
530                                     <xsl:attribute name="checked">checked</xsl:attribute>
531                                   </xsl:if>
532                                 </input>
533                                 forever
534                                 <input type="radio" name="recurCountUntil" value="count" id="recurCount">
535                                   <xsl:if test="form/recurring/count != '-1'">
536                                     <xsl:attribute name="checked">checked</xsl:attribute>
537                                   </xsl:if>
538                                 </input>
539                                 <input type="text" value="1" size="2" name="countHolder"  onfocus="selectRecurCountUntil('recurCount')">
540                                   <xsl:if test="form/recurring/count and form/recurring/count != '-1'">
541                                     <xsl:attribute name="value"><xsl:value-of select="form/recurring/count"/></xsl:attribute>
542                                   </xsl:if>
543                                 </input>
544                                 time(s)
545                                 <input type="radio" name="recurCountUntil" value="until" id="recurUntil">
546                                   <xsl:if test="form/recurring/until">
547                                     <xsl:attribute name="checked">checked</xsl:attribute>
548                                   </xsl:if>
549                                 </input>
550                                 until
551                                 <span id="untilHolder">
552                                   <!-- span dojoType="dropdowndatepicker" formatLength="medium" value="today" saveFormat="yyyyMMdd" id="bwEventWidgetUntilDate" iconURL="{$resourcesRoot}/resources/calIcon.gif">
553                                     <xsl:attribute name="value"><xsl:value-of select="form/start/rfc3339DateTime"/></xsl:attribute>
554                                     <xsl:text> </xsl:text>
555                                   </span -->
556                                   <input type="hidden" name="bwEventUntilDate" id="bwEventUntilDate" size="10"/>
557                                   <input type="text" name="bwEventWidgetUntilDate" id="bwEventWidgetUntilDate" size="10" onfocus="selectRecurCountUntil('recurUntil')"/>
558                                   <script language="JavaScript" type="text/javascript">
559                                     <xsl:comment>
560                                     $("#bwEventWidgetUntilDate").datepicker({
561                                       <xsl:choose>
562                                         <xsl:when test="form/recurrence/until">
563                                           defaultDate: new Date(<xsl:value-of select="substring(form/recurrence/until,1,4)"/>, <xsl:value-of select="number(substring(form/recurrence/until,5,2)) - 1"/>, <xsl:value-of select="substring(form/recurrence/until,7,2)"/>),
564                                         </xsl:when>
565                                         <xsl:otherwise>
566                                           defaultDate: new Date(<xsl:value-of select="form/start/yearText/input/@value"/>, <xsl:value-of select="number(form/start/month/select/option[@selected = 'selected']/@value) - 1"/>, <xsl:value-of select="form/start/day/select/option[@selected = 'selected']/@value"/>),
567                                         </xsl:otherwise>
568                                       </xsl:choose>
569                                       altField: "#bwEventUntilDate",
570                                       altFormat: "yymmdd"
571                                     }).attr("readonly", "readonly");
572                                     $("#bwEventWidgetUntilDate").val('<xsl:value-of select="substring-before(form/start/rfc3339DateTime,'T')"/>');
573                                     </xsl:comment>
574                                   </script>
575                                 </span>
576                               </p>
577                             </div>
578                           </td>
579                         </tr>
580                         <tr>
581                           <td id="advancedRrules" class="invisible">
582                             <!-- hourly -->
583                             <div id="hourlyRecurrenceRules" class="invisible">
584                               <p>
585                                 <em>Interval:</em>
586                                 every
587                                 <input type="text" name="hourlyInterval" size="2" value="1">
588                                   <xsl:if test="form/recurrence/interval">
589                                     <xsl:attribute name="value"><xsl:value-of select="form/recurrence/interval"/></xsl:attribute>
590                                   </xsl:if>
591                                 </input>
592                                 hour(s)
593                               </p>
594                             </div>
595                             <!-- daily -->
596                             <div id="dailyRecurrenceRules" class="invisible">
597                               <p>
598                                 <em>Interval:</em>
599                                 every
600                                 <input type="text" name="dailyInterval" size="2" value="1">
601                                   <xsl:if test="form/recurrence/interval">
602                                     <xsl:attribute name="value"><xsl:value-of select="form/recurrence/interval"/></xsl:attribute>
603                                   </xsl:if>
604                                 </input>
605                                 day(s)
606                               </p>
607                               <p>
608                                 <input type="checkbox" name="swapDayMonthCheckBoxList" value="" onclick="swapVisible(this,'dayMonthCheckBoxList')"/>
609                                 in these months:
610                                 <div id="dayMonthCheckBoxList" class="invisible">
611                                   <xsl:for-each select="/bedework/monthlabels/val">
612                                     <xsl:variable name="pos"><xsl:value-of select="position()"/></xsl:variable>
613                                     <span class="chkBoxListItem">
614                                       <input type="checkbox" name="dayMonths">
615                                         <xsl:attribute name="value"><xsl:value-of select="/bedework/monthvalues/val[position() = $pos]"/></xsl:attribute>
616                                       </input>
617                                       <xsl:value-of select="."/>
618                                     </span>
619                                     <xsl:if test="$pos mod 6 = 0"><br/></xsl:if>
620                                   </xsl:for-each>
621                                 </div>
622                               </p>
623                               <!--<p>
624                                 <input type="checkbox" name="swapDaySetPos" value="" onclick="swapVisible(this,'daySetPos')"/>
625                                 limit to:
626                                 <div id="daySetPos" class="invisible">
627                                 </div>
628                               </p>-->
629                             </div>
630                             <!-- weekly -->
631                             <div id="weeklyRecurrenceRules" class="invisible">
632                               <p>
633                                 <em>Interval:</em>
634                                 every
635                                 <input type="text" name="weeklyInterval" size="2" value="1">
636                                   <xsl:if test="form/recurrence/interval">
637                                     <xsl:attribute name="value"><xsl:value-of select="form/recurrence/interval"/></xsl:attribute>
638                                   </xsl:if>
639                                 </input>
640                                 week(s) on:
641                               </p>
642                               <p>
643                                 <div id="weekRecurFields">
644                                   <xsl:call-template name="byDayChkBoxList">
645                                     <xsl:with-param name="name">byDayWeek</xsl:with-param>
646                                   </xsl:call-template>
647                                 </div>
648                               </p>
649                               <p class="weekRecurLinks">
650                                 <a href="javascript:recurSelectWeekdays('weekRecurFields')">select weekdays</a> |
651                                 <a href="javascript:recurSelectWeekends('weekRecurFields')">select weekends</a>
652                               </p>
653                               <p>
654                                 Week start:
655                                 <select name="weekWkst">
656                                   <xsl:for-each select="/bedework/shortdaynames/val">
657                                     <xsl:variable name="pos" select="position()"/>
658                                     <option>
659                                       <xsl:attribute name="value"><xsl:value-of select="/bedework/recurdayvals/val[position() = $pos]"/></xsl:attribute>
660                                       <xsl:value-of select="."/>
661                                     </option>
662                                   </xsl:for-each>
663                                 </select>
664                               </p>
665                             </div>
666                             <!-- monthly -->
667                             <div id="monthlyRecurrenceRules" class="invisible">
668                               <p>
669                                 <em>Interval:</em>
670                                 every
671                                 <input type="text" name="monthlyInterval" size="2" value="1">
672                                   <xsl:if test="form/recurrence/interval">
673                                     <xsl:attribute name="value"><xsl:value-of select="form/recurrence/interval"/></xsl:attribute>
674                                   </xsl:if>
675                                 </input>
676                                 month(s)
677                               </p>
678                               <div id="monthRecurFields">
679                                 <div id="monthRecurFields1">
680                                   on
681                                   <select name="bymonthposPos1" width="7em" onchange="changeClass('monthRecurFields2','shown')">
682                                     <xsl:call-template name="recurrenceDayPosOptions"/>
683                                   </select>
684                                   <xsl:call-template name="byDayChkBoxList"/>
685                                 </div>
686                                 <xsl:call-template name="buildRecurFields">
687                                   <xsl:with-param name="current">2</xsl:with-param>
688                                   <xsl:with-param name="total">10</xsl:with-param>
689                                   <xsl:with-param name="name">month</xsl:with-param>
690                                 </xsl:call-template>
691                               </div>
692                               <p>
693                                 <input type="checkbox" name="swapMonthDaysCheckBoxList" value="" onclick="swapVisible(this,'monthDaysCheckBoxList')"/>
694                                 on these days:<br/>
695                                 <div id="monthDaysCheckBoxList" class="invisible">
696                                   <xsl:call-template name="buildCheckboxList">
697                                     <xsl:with-param name="current">1</xsl:with-param>
698                                     <xsl:with-param name="end">31</xsl:with-param>
699                                     <xsl:with-param name="name">monthDayBoxes</xsl:with-param>
700                                   </xsl:call-template>
701                                 </div>
702                               </p>
703                             </div>
704                             <!-- yearly -->
705                             <div id="yearlyRecurrenceRules" class="invisible">
706                               <p>
707                                 <em>Interval:</em>
708                                 every
709                                 <input type="text" name="yearlyInterval" size="2" value="1">
710                                   <xsl:if test="form/recurrence/interval">
711                                     <xsl:attribute name="value"><xsl:value-of select="form/recurrence/interval"/></xsl:attribute>
712                                   </xsl:if>
713                                 </input>
714                                 years(s)
715                               </p>
716                               <div id="yearRecurFields">
717                                 <div id="yearRecurFields1">
718                                   on
719                                   <select name="byyearposPos1" width="7em" onchange="changeClass('yearRecurFields2','shown')">
720                                     <xsl:call-template name="recurrenceDayPosOptions"/>
721                                   </select>
722                                   <xsl:call-template name="byDayChkBoxList"/>
723                                 </div>
724                                 <xsl:call-template name="buildRecurFields">
725                                   <xsl:with-param name="current">2</xsl:with-param>
726                                   <xsl:with-param name="total">10</xsl:with-param>
727                                   <xsl:with-param name="name">year</xsl:with-param>
728                                 </xsl:call-template>
729                               </div>
730                               <p>
731                                 <input type="checkbox" name="swapYearMonthCheckBoxList" value="" onclick="swapVisible(this,'yearMonthCheckBoxList')"/>
732                                 in these months:
733                                 <div id="yearMonthCheckBoxList" class="invisible">
734                                   <xsl:for-each select="/bedework/monthlabels/val">
735                                     <xsl:variable name="pos"><xsl:value-of select="position()"/></xsl:variable>
736                                     <span class="chkBoxListItem">
737                                       <input type="checkbox" name="yearMonths">
738                                         <xsl:attribute name="value"><xsl:value-of select="/bedework/monthvalues/val[position() = $pos]"/></xsl:attribute>
739                                       </input>
740                                       <xsl:value-of select="."/>
741                                     </span>
742                                     <xsl:if test="$pos mod 6 = 0"><br/></xsl:if>
743                                   </xsl:for-each>
744                                 </div>
745                               </p>
746                               <p>
747                                 <input type="checkbox" name="swapYearMonthDaysCheckBoxList" value="" onclick="swapVisible(this,'yearMonthDaysCheckBoxList')"/>
748                                 on these days of the month:<br/>
749                                 <div id="yearMonthDaysCheckBoxList" class="invisible">
750                                   <xsl:call-template name="buildCheckboxList">
751                                     <xsl:with-param name="current">1</xsl:with-param>
752                                     <xsl:with-param name="end">31</xsl:with-param>
753                                     <xsl:with-param name="name">yearMonthDayBoxes</xsl:with-param>
754                                   </xsl:call-template>
755                                 </div>
756                               </p>
757                               <p>
758                                 <input type="checkbox" name="swapYearWeeksCheckBoxList" value="" onclick="swapVisible(this,'yearWeeksCheckBoxList')"/>
759                                 in these weeks of the year:<br/>
760                                 <div id="yearWeeksCheckBoxList" class="invisible">
761                                   <xsl:call-template name="buildCheckboxList">
762                                     <xsl:with-param name="current">1</xsl:with-param>
763                                     <xsl:with-param name="end">53</xsl:with-param>
764                                     <xsl:with-param name="name">yearWeekBoxes</xsl:with-param>
765                                   </xsl:call-template>
766                                 </div>
767                               </p>
768                               <p>
769                                 <input type="checkbox" name="swapYearDaysCheckBoxList" value="" onclick="swapVisible(this,'yearDaysCheckBoxList')"/>
770                                 on these days of the year:<br/>
771                                 <div id="yearDaysCheckBoxList" class="invisible">
772                                   <xsl:call-template name="buildCheckboxList">
773                                     <xsl:with-param name="current">1</xsl:with-param>
774                                     <xsl:with-param name="end">366</xsl:with-param>
775                                     <xsl:with-param name="name">yearDayBoxes</xsl:with-param>
776                                   </xsl:call-template>
777                                 </div>
778                               </p>
779                               <p>
780                                 Week start:
781                                 <select name="yearWkst">
782                                   <xsl:for-each select="/bedework/shortdaynames/val">
783                                     <xsl:variable name="pos" select="position()"/>
784                                     <option>
785                                       <xsl:attribute name="value"><xsl:value-of select="/bedework/recurdayvals/val[position() = $pos]"/></xsl:attribute>
786                                       <xsl:value-of select="."/>
787                                     </option>
788                                   </xsl:for-each>
789                                 </select>
790                               </p>
791                             </div>
792                           </td>
793                         </tr>
794                       </table>
795                       <h4>
796                         Recurrence and Exception Dates
797                       </h4>
798                       <div id="raContent">
799                         <div class="dateStartEndBox" id="rdatesFormFields">
800                           <!--
801                           <input type="checkbox" name="dateOnly" id="rdateDateOnly" onclick="swapRdateAllDay(this)" value="true"/>
802                           all day
803                           <input type="checkbox" name="floating" id="rdateFloating" onclick="swapRdateFloatingTime(this)" value="true"/>
804                           floating
805                           store time as coordinated universal time (UTC)
806                           <input type="checkbox" name="storeUTC" id="rdateStoreUTC" onclick="swapRdateStoreUTC(this)" value="true"/>
807                           store as UTC<br/>-->
808                           <div class="dateFields">
809                             <!-- input name="eventRdate.date"
810                                    dojoType="dropdowndatepicker"
811                                    formatLength="medium"
812                                    value="today"
813                                    saveFormat="yyyyMMdd"
814                                    id="bwEventWidgeRdate"
815                                    iconURL="{$resourcesRoot}/resources/calIcon.gif"/-->
816                             <input type="text" name="eventRdate.date" id="bwEventWidgetRdate" size="10"/>
817                             <script language="JavaScript" type="text/javascript">
818                               <xsl:comment>
819                               $("#bwEventWidgetRdate").datepicker({
820                                 defaultDate: new Date(<xsl:value-of select="form/start/yearText/input/@value"/>, <xsl:value-of select="number(form/start/month/select/option[@selected = 'selected']/@value) - 1"/>, <xsl:value-of select="form/start/day/select/option[@selected = 'selected']/@value"/>),
821                                 dateFormat: "yymmdd"
822                               }).attr("readonly", "readonly");
823                               $("#bwEventWidgetRdate").val('<xsl:value-of select="substring-before(form/start/rfc3339DateTime,'T')"/>');
824                               </xsl:comment>
825                             </script>
826                           </div>
827                           <div id="rdateTimeFields" class="timeFields">
828                            <select name="eventRdate.hour">
829                               <option value="00">00</option>
830                               <option value="01">01</option>
831                               <option value="02">02</option>
832                               <option value="03">03</option>
833                               <option value="04">04</option>
834                               <option value="05">05</option>
835                               <option value="06">06</option>
836                               <option value="07">07</option>
837                               <option value="08">08</option>
838                               <option value="09">09</option>
839                               <option value="10">10</option>
840                               <option value="11">11</option>
841                               <option value="12" selected="selected">12</option>
842                               <option value="13">13</option>
843                               <option value="14">14</option>
844                               <option value="15">15</option>
845                               <option value="16">16</option>
846                               <option value="17">17</option>
847                               <option value="18">18</option>
848                               <option value="19">19</option>
849                               <option value="20">20</option>
850                               <option value="21">21</option>
851                               <option value="22">22</option>
852                               <option value="23">23</option>
853                             </select>
854                             <select name="eventRdate.minute">
855                               <option value="00" selected="selected">00</option>
856                               <option value="05">05</option>
857                               <option value="10">10</option>
858                               <option value="15">15</option>
859                               <option value="20">20</option>
860                               <option value="25">25</option>
861                               <option value="30">30</option>
862                               <option value="35">35</option>
863                               <option value="40">40</option>
864                               <option value="45">45</option>
865                               <option value="50">50</option>
866                               <option value="55">55</option>
867                             </select>
868                            <xsl:text> </xsl:text>
869
870                             <select name="tzid" id="rdateTzid" class="timezones">
871                               <xsl:if test="form/floating/input/@checked='checked'"><xsl:attribute name="disabled">disabled</xsl:attribute></xsl:if>
872                               <option value="">select timezone...</option>
873                               <xsl:variable name="rdateTzId" select="/bedework/now/defaultTzid"/>
874                               <xsl:for-each select="/bedework/timezones/timezone">
875                                 <option>
876                                   <xsl:attribute name="value"><xsl:value-of select="id"/></xsl:attribute>
877                                   <xsl:if test="$rdateTzId = id"><xsl:attribute name="selected">selected</xsl:attribute></xsl:if>
878                                   <xsl:value-of select="name"/>
879                                 </option>
880                               </xsl:for-each>
881                             </select>
882                           </div>
883                           <xsl:text> </xsl:text>
884                           <!--bwRdates.update() accepts: date, time, allDay, floating, utc, tzid-->
885                           <input type="button" name="rdate" value="add recurrence" 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)"/>
886                           <input type="button" name="exdate" value="add exception" 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)"/>
887
888                           <input type="hidden" name="rdates" value="" id="bwRdatesField" />
889                           <!-- if there are no recurrence dates, the following table will show -->
890                           <table cellspacing="0" class="invisible" id="bwCurrentRdatesNone">
891                             <tr><th>Recurrence Dates</th></tr>
892                             <tr><td>No recurrence dates</td></tr>
893                           </table>
894
895                           <!-- if there are recurrence dates, the following table will show -->
896                           <table cellspacing="0" class="invisible" id="bwCurrentRdates">
897                             <tr>
898                               <th colspan="4">Recurrence Dates</th>
899                             </tr>
900                             <tr class="colNames">
901                               <td>Date</td>
902                               <td>Time</td>
903                               <td>TZid</td>
904                               <td></td>
905                             </tr>
906                           </table>
907
908                           <input type="hidden" name="exdates" value="" id="bwExdatesField" />
909                           <!-- if there are no exception dates, the following table will show -->
910                           <table cellspacing="0" class="invisible" id="bwCurrentExdatesNone">
911                             <tr><th>Exception Dates</th></tr>
912                             <tr><td>No exception dates</td></tr>
913                           </table>
914
915                           <!-- if there are exception dates, the following table will show -->
916                           <table cellspacing="0" class="invisible" id="bwCurrentExdates">
917                             <tr>
918                               <th colspan="4">Exception Dates</th>
919                             </tr>
920                             <tr class="colNames">
921                               <td>Date</td>
922                               <td>Time</td>
923                               <td>TZid</td>
924                               <td></td>
925                             </tr>
926                           </table>
927                           <p>
928                             Exception dates may also be created by deleting an instance
929                             of a recurring event.
930                           </p>
931                         </div>
932                       </div>
933                     </div>
934                   </xsl:otherwise>
935                 </xsl:choose>
936               </td>
937             </tr>
938             <!--  Status  -->
939             <tr>
940               <td class="fieldName">
941                 Status:
942               </td>
943               <td>
944                 <input type="hidden" name="eventStatus">
945                   <xsl:attribute name="value"><xsl:value-of select="form/status"/></xsl:attribute>
946                 </input>
947                 <xsl:value-of select="form/status"/>
948               </td>
949             </tr>
950             <!--  Description  -->
951             <tr>
952               <td class="fieldName">
953                 Description:
954               </td>
955               <td>
956                 <input type="hidden" name="description">
957                   <xsl:attribute name="value"><xsl:value-of select="form/desc/textarea"/></xsl:attribute>
958                 </input>
959                 <xsl:value-of select="form/desc/textarea"/>
960               </td>
961             </tr>
962             <!-- Cost -->
963             <tr>
964               <td class="optional">
965                 Cost:
966               </td>
967               <td>
968                 <input type="hidden" name="event.cost">
969                   <xsl:attribute name="value"><xsl:value-of select="form/cost/input/@value"/></xsl:attribute>
970                 </input>
971                 <xsl:value-of select="form/cost/input/@value"/>
972               </td>
973             </tr>
974             <!-- Url -->
975             <tr>
976               <td class="optional">
977                 Event URL:
978               </td>
979               <td>
980                 <xsl:variable name="link" select="form/link/input/@value"/>
981                 <input type="hidden" name="eventLink" value="{$link}"/>
982                 <a href="{$link}"><xsl:value-of select="$link"/></a>
983               </td>
984             </tr>
985
986             <!-- Image Url -->
987             <tr>
988               <td class="optional">
989                 Image URL:
990               </td>
991               <td>
992                 <xsl:value-of select="form/xproperties/node()[name()='X-BEDEWORK-IMAGE']/values/text"/>
993               </td>
994             </tr>
995
996             <!-- Location -->
997             <tr>
998               <td class="fieldName">
999                 Location:
1000               </td>
1001               <td>
1002                 <select name="allLocationId" id="bwAllLocationList">
1003                   <xsl:copy-of select="form/location/all/select/*"/>
1004                 </select>
1005               </td>
1006             </tr>
1007
1008             <!-- Contact -->
1009             <tr>
1010               <td class="fieldName">
1011                 Contact:
1012               </td>
1013               <td>
1014                 <select name="allContactId" id="bwAllContactList">
1015                   <xsl:copy-of select="form/contact/all/select/*"/>
1016                 </select>
1017               </td>
1018             </tr>
1019
1020             <!-- Topical area  -->
1021             <!-- These are the subscriptions (aliases) where the events should show up.
1022                  By selecting one or more of these, appropriate categories will be set on the event -->
1023             <tr>
1024               <td class="fieldName">
1025                 Topical area:
1026               </td>
1027               <td>
1028                 <ul class="aliasTree">
1029                   <xsl:apply-templates select="form/subscriptions/calsuite/calendars/calendar" mode="showEventFormAliases">
1030                     <xsl:with-param name="root">true</xsl:with-param>
1031                   </xsl:apply-templates>
1032                 </ul>
1033               </td>
1034             </tr>
1035
1036           </table>
1037           <xsl:call-template name="submitEventButtons">
1038             <xsl:with-param name="eventTitle" select="$eventTitle"/>
1039             <xsl:with-param name="eventUrlPrefix" select="$eventUrlPrefix"/>
1040           </xsl:call-template>
1041         </form>
Note: See TracBrowser for help on using the browser.