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

Revision 250 (checked in by johnsa, 7 years ago)

year select box becomes text field after creation so that old events may be edited.

Line 
1 <?xml version="1.0" encoding="UTF-8"?>
2 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
3 <xsl:output
4   method="html"
5   indent="yes"
6   media-type="text/html"
7   doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN"
8   doctype-system="http://www.w3.org/TR/html4/strict.dtd"
9   standalone="yes"
10   omit-xml-declaration="yes"/>
11    <!-- ======================================== -->
12   <!--      BEDEWORK ADMIN CLIENT STYLESHEET     -->
13   <!-- ========================================= -->
14
15   <!-- DEFINE INCLUDES -->
16   <xsl:include href="errors.xsl"/>
17   <xsl:include href="messages.xsl"/>
18
19   <!-- DEFINE GLOBAL CONSTANTS -->
20   <!-- URL of html resources (images, css, other html); by default this is
21        set to the application root, but for the admin client
22        this should be changed to point to a
23        web server over https to avoid mixed content errors, e.g.,
24   <xsl:variable name="resourcesRoot" select="'https://mywebserver.edu/myresourcesdir'"/>
25     -->
26   <xsl:variable name="resourcesRoot" select="/bedeworkadmin/approot"/>
27
28   <!-- URL of the XSL template directory -->
29   <!-- The approot is an appropriate place to put
30        included stylesheets and xml fragments. These are generally
31        referenced relatively (like errors.xsl and messages.xsl above);
32        this variable is here for your convenience if you choose to
33        reference it explicitly.  It is not used in this stylesheet, however,
34        and can be safely removed if you so choose. -->
35   <xsl:variable name="appRoot" select="/bedeworkadmin/approot"/>
36
37   <!-- Properly encoded prefixes to the application actions; use these to build
38        urls; allows the application to be used without cookies or within a portal. -->
39   <xsl:variable name="setup" select="/bedeworkadmin/urlPrefixes/setup/a/@href"/> <!-- used -->
40   <xsl:variable name="logout" select="/bedeworkadmin/urlPrefixes/logout/a/@href"/><!-- used -->
41   <xsl:variable name="event-showEvent" select="/bedeworkadmin/urlPrefixes/event/showEvent/a/@href"/>
42   <xsl:variable name="event-showModForm" select="/bedeworkadmin/urlPrefixes/event/showModForm/a/@href"/>
43   <xsl:variable name="event-showUpdateList" select="/bedeworkadmin/urlPrefixes/event/showUpdateList/a/@href"/><!-- used -->
44   <xsl:variable name="event-showDeleteConfirm" select="/bedeworkadmin/urlPrefixes/event/showDeleteConfirm/a/@href"/>
45   <xsl:variable name="event-initAddEvent" select="/bedeworkadmin/urlPrefixes/event/initAddEvent/a/@href"/><!-- used -->
46   <xsl:variable name="event-initUpdateEvent" select="/bedeworkadmin/urlPrefixes/event/initUpdateEvent/a/@href"/><!-- used -->
47   <xsl:variable name="event-delete" select="/bedeworkadmin/urlPrefixes/event/delete/a/@href"/>
48   <xsl:variable name="event-fetchForDisplay" select="/bedeworkadmin/urlPrefixes/event/fetchForDisplay/a/@href"/>
49   <xsl:variable name="event-fetchForUpdate" select="/bedeworkadmin/urlPrefixes/event/fetchForUpdate/a/@href"/>
50   <xsl:variable name="event-update" select="/bedeworkadmin/urlPrefixes/event/update/a/@href"/>
51   <xsl:variable name="sponsor-showSponsor" select="/bedeworkadmin/urlPrefixes/sponsor/showSponsor/a/@href"/>
52   <xsl:variable name="sponsor-showReferenced" select="/bedeworkadmin/urlPrefixes/sponsor/showReferenced/a/@href"/>
53   <xsl:variable name="sponsor-showModForm" select="/bedeworkadmin/urlPrefixes/sponsor/showModForm/a/@href"/>
54   <xsl:variable name="sponsor-showUpdateList" select="/bedeworkadmin/urlPrefixes/sponsor/showUpdateList/a/@href"/>
55   <xsl:variable name="sponsor-showDeleteConfirm" select="/bedeworkadmin/urlPrefixes/sponsor/showDeleteConfirm/a/@href"/>
56   <xsl:variable name="sponsor-initAdd" select="/bedeworkadmin/urlPrefixes/sponsor/initAdd/a/@href"/><!-- used -->
57   <xsl:variable name="sponsor-initUpdate" select="/bedeworkadmin/urlPrefixes/sponsor/initUpdate/a/@href"/>
58   <xsl:variable name="sponsor-delete" select="/bedeworkadmin/urlPrefixes/sponsor/delete/a/@href"/>
59   <xsl:variable name="sponsor-fetchForDisplay" select="/bedeworkadmin/urlPrefixes/sponsor/fetchForDisplay/a/@href"/>
60   <xsl:variable name="sponsor-fetchForUpdate" select="/bedeworkadmin/urlPrefixes/sponsor/fetchForUpdate/a/@href"/>
61   <xsl:variable name="sponsor-update" select="/bedeworkadmin/urlPrefixes/sponsor/update/a/@href"/>
62   <xsl:variable name="location-showLocation" select="/bedeworkadmin/urlPrefixes/location/showLocation/a/@href"/>
63   <xsl:variable name="location-showReferenced" select="/bedeworkadmin/urlPrefixes/location/showReferenced/a/@href"/>
64   <xsl:variable name="location-showModForm" select="/bedeworkadmin/urlPrefixes/location/showModForm/a/@href"/>
65   <xsl:variable name="location-showUpdateList" select="/bedeworkadmin/urlPrefixes/location/showUpdateList/a/@href"/>
66   <xsl:variable name="location-showDeleteConfirm" select="/bedeworkadmin/urlPrefixes/location/showDeleteConfirm/a/@href"/>
67   <xsl:variable name="location-initAdd" select="/bedeworkadmin/urlPrefixes/location/initAdd/a/@href"/><!-- used -->
68   <xsl:variable name="location-initUpdate" select="/bedeworkadmin/urlPrefixes/location/initUpdate/a/@href"/>
69   <xsl:variable name="location-delete" select="/bedeworkadmin/urlPrefixes/location/delete/a/@href"/>
70   <xsl:variable name="location-fetchForDisplay" select="/bedeworkadmin/urlPrefixes/location/fetchForDisplay/a/@href"/>
71   <xsl:variable name="location-fetchForUpdate" select="/bedeworkadmin/urlPrefixes/location/fetchForUpdate/a/@href"/>
72   <xsl:variable name="location-update" select="/bedeworkadmin/urlPrefixes/location/update/a/@href"/>
73   <!-- cals should all be good -->
74   <xsl:variable name="calendar-fetch" select="/bedeworkadmin/urlPrefixes/calendar/fetch/a/@href"/><!-- used -->
75   <xsl:variable name="calendar-fetchDescriptions" select="/bedeworkadmin/urlPrefixes/calendar/fetchDescriptions/a/@href"/><!-- used -->
76   <xsl:variable name="calendar-initAdd" select="/bedeworkadmin/urlPrefixes/calendar/initAdd/a/@href"/><!-- used -->
77   <xsl:variable name="calendar-delete" select="/bedeworkadmin/urlPrefixes/calendar/delete/a/@href"/>
78   <xsl:variable name="calendar-fetchForDisplay" select="/bedeworkadmin/urlPrefixes/calendar/fetchForDisplay/a/@href"/>
79   <xsl:variable name="calendar-fetchForUpdate" select="/bedeworkadmin/urlPrefixes/calendar/fetchForUpdate/a/@href"/><!-- used -->
80   <xsl:variable name="calendar-update" select="/bedeworkadmin/urlPrefixes/calendar/update/a/@href"/><!-- used -->
81   <!-- all good - no need to clean any of these out  -->
82   <xsl:variable name="subscriptions-fetch" select="/bedeworkadmin/urlPrefixes/subscriptions/fetch/a/@href"/>
83   <xsl:variable name="subscriptions-fetchForUpdate" select="/bedeworkadmin/urlPrefixes/subscriptions/fetchForUpdate/a/@href"/>
84   <xsl:variable name="subscriptions-initAdd" select="/bedeworkadmin/urlPrefixes/subscriptions/initAdd/a/@href"/>
85   <xsl:variable name="subscriptions-subscribe" select="/bedeworkadmin/urlPrefixes/subscriptions/subscribe/a/@href"/>
86   <xsl:variable name="view-fetch" select="/bedeworkadmin/urlPrefixes/view/fetch/a/@href"/>
87   <xsl:variable name="view-fetchForUpdate" select="/bedeworkadmin/urlPrefixes/view/fetchForUpdate/a/@href"/>
88   <xsl:variable name="view-addView" select="/bedeworkadmin/urlPrefixes/view/addView/a/@href"/>
89   <xsl:variable name="view-update" select="/bedeworkadmin/urlPrefixes/view/update/a/@href"/>
90   <xsl:variable name="view-remove" select="/bedeworkadmin/urlPrefixes/view/remove/a/@href"/>
91   <xsl:variable name="system-fetch" select="/bedeworkadmin/urlPrefixes/system/fetch/a/@href"/>
92   <xsl:variable name="system-update" select="/bedeworkadmin/urlPrefixes/system/update/a/@href"/>
93   <xsl:variable name="timezones-initUpload" select="/bedeworkadmin/urlPrefixes/timezones/initUpload/a/@href"/>
94   <xsl:variable name="timezones-upload" select="/bedeworkadmin/urlPrefixes/timezones/upload/a/@href"/>
95   <xsl:variable name="stats-update" select="/bedeworkadmin/urlPrefixes/stats/update/a/@href"/>
96   <!-- === -->
97   <xsl:variable name="authuser-showModForm" select="/bedeworkadmin/urlPrefixes/authuser/showModForm/a/@href"/>
98   <xsl:variable name="authuser-showUpdateList" select="/bedeworkadmin/urlPrefixes/authuser/showUpdateList/a/@href"/>
99   <xsl:variable name="authuser-initUpdate" select="/bedeworkadmin/urlPrefixes/authuser/initUpdate/a/@href"/>
100   <xsl:variable name="authuser-fetchForUpdate" select="/bedeworkadmin/urlPrefixes/authuser/fetchForUpdate/a/@href"/><!-- used -->
101   <xsl:variable name="authuser-update" select="/bedeworkadmin/urlPrefixes/authuser/update/a/@href"/>
102   <xsl:variable name="prefs-fetchForUpdate" select="/bedeworkadmin/urlPrefixes/prefs/fetchForUpdate/a/@href"/><!-- used -->
103   <xsl:variable name="prefs-update" select="/bedeworkadmin/urlPrefixes/prefs/update/a/@href"/><!-- used -->
104   <xsl:variable name="admingroup-showModForm" select="/bedeworkadmin/urlPrefixes/admingroup/showModForm/a/@href"/>
105   <xsl:variable name="admingroup-showModMembersForm" select="/bedeworkadmin/urlPrefixes/admingroup/showModMembersForm/a/@href"/>
106   <xsl:variable name="admingroup-showUpdateList" select="/bedeworkadmin/urlPrefixes/admingroup/showUpdateList/a/@href"/>
107   <xsl:variable name="admingroup-showChooseGroup" select="/bedeworkadmin/urlPrefixes/admingroup/showChooseGroup/a/@href"/>
108   <xsl:variable name="admingroup-showDeleteConfirm" select="/bedeworkadmin/urlPrefixes/admingroup/showDeleteConfirm/a/@href"/>
109   <xsl:variable name="admingroup-initAdd" select="/bedeworkadmin/urlPrefixes/admingroup/initAdd/a/@href"/><!-- used -->
110   <xsl:variable name="admingroup-initUpdate" select="/bedeworkadmin/urlPrefixes/admingroup/initUpdate/a/@href"/><!-- used -->
111   <xsl:variable name="admingroup-delete" select="/bedeworkadmin/urlPrefixes/admingroup/delete/a/@href"/>
112   <xsl:variable name="admingroup-fetchUpdateList" select="/bedeworkadmin/urlPrefixes/admingroup/fetchUpdateList/a/@href"/><!-- used -->
113   <xsl:variable name="admingroup-fetchForUpdate" select="/bedeworkadmin/urlPrefixes/admingroup/fetchForUpdate/a/@href"/><!-- used -->
114   <xsl:variable name="admingroup-fetchForUpdateMembers" select="/bedeworkadmin/urlPrefixes/admingroup/fetchForUpdateMembers/a/@href"/><!-- used -->
115   <xsl:variable name="admingroup-update" select="/bedeworkadmin/urlPrefixes/admingroup/update/a/@href"/><!-- used -->
116   <xsl:variable name="admingroup-updateMembers" select="/bedeworkadmin/urlPrefixes/admingroup/updateMembers/a/@href"/><!-- used -->
117   <xsl:variable name="admingroup-switch" select="/bedeworkadmin/urlPrefixes/admingroup/switch/a/@href"/>
118
119   <!-- URL of the web application - includes web context
120   <xsl:variable name="urlPrefix" select="/bedeworkadmin/urlprefix"/> -->
121
122   <!-- Other generally useful global variables -->
123   <xsl:variable name="publicCal">/cal</xsl:variable>
124
125   <!--==== MAIN TEMPLATE  ====-->
126   <xsl:template match="/">
127     <html lang="en">
128       <head>
129         <title>Calendar Admin: Events Calendar Administration</title>
130         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
131         <link rel="stylesheet" href="{$resourcesRoot}/default/default/default.css"/>
132         <xsl:if test="/bedeworkadmin/page='modEvent'">
133           <script type="text/javascript" src="{$resourcesRoot}/resources/includes.js"></script>
134           <script type="text/javascript" src="{$resourcesRoot}/resources/bwClock.js"></script>
135           <link rel="stylesheet" href="{$resourcesRoot}/resources/bwClock.css"/>
136           <script type="text/javascript" src="{$resourcesRoot}/resources/dynCalendarWidget.js"></script>
137           <link rel="stylesheet" href="{$resourcesRoot}/resources/dynCalendarWidget.css"/>
138           <script type="text/javascript" src="{$resourcesRoot}/resources/browserSniffer.js"></script>
139         </xsl:if>
140         <xsl:if test="/bedeworkadmin/page='calendarDescriptions' or
141                       /bedeworkadmin/page='displayCalendar'">
142           <link rel="stylesheet" href="{$resourcesRoot}/resources/calendarDescriptions.css"/>
143         </xsl:if>
144         <link rel="icon" type="image/ico" href="{$resourcesRoot}/resources/bedework.ico" />
145         <script language="JavaScript" type="text/javascript">
146         <xsl:comment>
147         <![CDATA[
148         // places the cursor in the first available form element when the page is loaded
149         // (if a form exists on the page)
150         function focusFirstElement() {
151           if (window.document.forms[0]) {
152             window.document.forms[0].elements[0].focus();
153           }
154         }]]>
155         </xsl:comment>
156       </script>
157       </head>
158       <body onLoad="focusFirstElement()">
159         <xsl:call-template name="header"/>
160         <div id="content">
161           <xsl:choose>
162             <xsl:when test="/bedeworkadmin/page='eventList'">
163               <xsl:call-template name="eventList"/>
164             </xsl:when>
165             <xsl:when test="/bedeworkadmin/page='modEvent'">
166               <xsl:call-template name="modEvent"/>
167             </xsl:when>
168             <xsl:when test="/bedeworkadmin/page='displayEvent' or
169                             /bedeworkadmin/page='deleteEventConfirm'">
170               <xsl:apply-templates select="/bedeworkadmin/event" mode="displayEvent"/>
171             </xsl:when>
172             <xsl:when test="/bedeworkadmin/page='sponsorList'">
173               <xsl:call-template name="sponsorList"/>
174             </xsl:when>
175             <xsl:when test="/bedeworkadmin/page='modSponsor'">
176               <xsl:call-template name="modSponsor"/>
177             </xsl:when>
178             <xsl:when test="/bedeworkadmin/page='deleteSponsorConfirm'">
179               <xsl:call-template name="deleteSponsorConfirm"/>
180             </xsl:when>
181             <xsl:when test="/bedeworkadmin/page='locationList'">
182               <xsl:call-template name="locationList"/>
183             </xsl:when>
184             <xsl:when test="/bedeworkadmin/page='modLocation'">
185               <xsl:call-template name="modLocation"/>
186             </xsl:when>
187             <xsl:when test="/bedeworkadmin/page='deleteLocationConfirm'">
188               <xsl:call-template name="deleteLocationConfirm"/>
189             </xsl:when>
190             <xsl:when test="/bedeworkadmin/page='calendarList' or
191                             /bedeworkadmin/page='calendarDescriptions' or
192                             /bedeworkadmin/page='displayCalendar' or
193                             /bedeworkadmin/page='modCalendar' or
194                             /bedeworkadmin/page='deleteCalendarConfirm' or
195                             /bedeworkadmin/page='calendarReferenced'">
196               <xsl:apply-templates select="/bedeworkadmin/calendars"/>
197             </xsl:when>
198             <xsl:when test="/bedeworkadmin/page='subscriptions' or /bedeworkadmin/page='modSubscription'">
199               <xsl:apply-templates select="/bedeworkadmin/subscriptions"/>
200             </xsl:when>
201             <xsl:when test="/bedeworkadmin/page='views'">
202               <xsl:apply-templates select="/bedeworkadmin/views" mode="viewList"/>
203             </xsl:when>
204             <xsl:when test="/bedeworkadmin/page='modView'">
205               <xsl:call-template name="modView"/>
206             </xsl:when>
207             <xsl:when test="/bedeworkadmin/page='modSyspars'">
208               <xsl:call-template name="modSyspars"/>
209             </xsl:when>
210             <xsl:when test="/bedeworkadmin/page='deleteViewConfirm'">
211               <xsl:call-template name="deleteViewConfirm"/>
212             </xsl:when>
213             <xsl:when test="/bedeworkadmin/page='authUserList'">
214               <xsl:call-template name="authUserList"/>
215             </xsl:when>
216             <xsl:when test="/bedeworkadmin/page='modAuthUser'">
217               <xsl:call-template name="modAuthUser"/>
218             </xsl:when>
219             <xsl:when test="/bedeworkadmin/page='modPrefs'">
220               <xsl:call-template name="modPrefs"/>
221             </xsl:when>
222             <xsl:when test="/bedeworkadmin/page='chooseGroup'">
223               <xsl:apply-templates select="/bedeworkadmin/groups" mode="chooseGroup"/>
224             </xsl:when>
225             <xsl:when test="/bedeworkadmin/page='adminGroupList'">
226               <xsl:call-template name="listAdminGroups"/>
227             </xsl:when>
228             <xsl:when test="/bedeworkadmin/page='modAdminGroup'">
229               <xsl:call-template name="modAdminGroup"/>
230             </xsl:when>
231             <xsl:when test="/bedeworkadmin/page='modAdminGroupMembers'">
232               <xsl:call-template name="modAdminGroupMembers"/>
233             </xsl:when>
234             <xsl:when test="/bedeworkadmin/page='deleteAdminGroupConfirm'">
235               <xsl:call-template name="deleteAdminGroupConfirm"/>
236             </xsl:when>
237             <xsl:when test="/bedeworkadmin/page='noGroup'">
238               <h2>No administrative group</h2>
239               <p>Your userid has not been assigned to an administrative group.
240                 Please inform your administrator.</p>
241             </xsl:when>
242             <xsl:when test="/bedeworkadmin/page='uploadTimezones'">
243               <xsl:call-template name="uploadTimezones"/>
244             </xsl:when>
245             <xsl:when test="/bedeworkadmin/page='showSysStats'">
246               <xsl:apply-templates select="/bedeworkadmin/sysStats" mode="showSysStats"/>
247             </xsl:when>
248             <xsl:when test="/bedeworkadmin/page='noAccess'">
249               <h2>No Access</h2>
250               <p>
251                 You have no access to the action you just attempted. If you believe
252                 you should have access and the problem persists, contact your
253                 administrator.
254               </p>
255               <p><a href="{$setup}">continue</a></p>
256             </xsl:when>
257             <xsl:when test="/bedeworkadmin/page='error'">
258               <h2>Application error</h2>
259               <p>An application error occurred.</p>
260               <p><a href="{$setup}">continue</a></p>
261             </xsl:when>
262             <xsl:otherwise>
263               <xsl:call-template name="mainMenu"/>
264             </xsl:otherwise>
265           </xsl:choose>
266         </div>
267         <!-- footer -->
268         <xsl:call-template name="footer"/>
269       </body>
270     </html>
271   </xsl:template>
272
273   <!--==============================================-->
274   <!--==============================================-->
275   <!--============= PAGE TEMPLATES =================-->
276   <!--==============================================-->
277   <!--==============================================-->
278
279   <!--+++++++++++++++ Main Menu ++++++++++++++++++++-->
280   <xsl:template name="mainMenu">
281     <h2 class="menuTitle">Main Menu</h2>
282     <table id="mainMenuTable">
283       <tr>
284         <th>Events</th>
285         <td>
286           <a id="addEventLink" href="{$event-initAddEvent}" >
287             Add
288           </a>
289         </td>
290         <td>
291           <a href="{$event-initUpdateEvent}" >
292             Edit / Delete
293           </a>
294         </td>
295         <!--
296         Disable direct selection by ID; we'll need to find another way
297         of quickly getting to events: search and grid views should be implemented. -->
298         <!--
299         <td>
300           Event ID:
301           <xsl:copy-of select="/bedeworkadmin/formElements/*"/>
302         </td>-->
303       </tr>
304       <tr>
305         <th>Contacts</th>
306         <td>
307           <a id="addSponsorLink" href="{$sponsor-initAdd}" >
308             Add
309           </a>
310         </td>
311         <td>
312           <a href="{$sponsor-initUpdate}" >
313             Edit / Delete
314           </a>
315         </td>
316       </tr>
317       <tr>
318         <th>Locations</th>
319         <td>
320           <a id="addLocationLink" href="{$location-initAdd}" >
321             Add
322           </a>
323         </td>
324         <td>
325           <a href="{$location-initUpdate}" >
326             Edit / Delete
327           </a>
328         </td>
329       </tr>
330     </table>
331
332
333     <!-- Content admin and super user segment of the page.
334          Super user will have content admin access. -->
335
336     <xsl:if test="/bedeworkadmin/userInfo/contentAdminUser='true'">
337       <h2 class="menuTitle">Administrator's Menu</h2>
338       <xsl:if test="/bedeworkadmin/userInfo/superUser='true'">
339         <ul class="adminMenu">
340           <li>
341             <a href="{$calendar-fetch}">
342               Manage calendars
343             </a>
344           </li>
345           <li>
346             <a href="{$subscriptions-fetch}">
347               Manage subscriptions
348             </a>
349           </li>
350           <li>
351             <a href="{$view-fetch}">
352               Manage views
353             </a>
354           </li>
355           <li>
356             <a href="{$system-fetch}">
357               Manage system preferences
358             </a>
359           </li>
360           <li>
361             <a href="{$timezones-initUpload}" >
362               Upload and replace system timezones
363             </a>
364           </li>
365           <li>
366             System statistics:
367             <ul>
368               <li>
369                 <a href="{$stats-update}&amp;fetch=yes">
370                   admin web client
371                 </a>
372               </li>
373               <li>
374                 <a href="{$publicCal}/stats.do" target="pubClient">
375                   public web client
376                 </a>
377               </li>
378             </ul>
379           </li>
380         </ul>
381       </xsl:if>
382       <h4 class="menuTitle">User management</h4>
383       <ul class="adminMenu">
384         <xsl:if test="/bedeworkadmin/userInfo/userMaintOK='true'">
385           <li>
386             <a href="{$authuser-initUpdate}" >
387               Manage public event administrators
388             </a>
389           </li>
390         </xsl:if>
391         <xsl:if test="/bedeworkadmin/userInfo/adminGroupMaintOk='true'">
392           <li>
393             <a href="{$admingroup-initUpdate}">
394               Manage admin groups
395             </a>
396           </li>
397         </xsl:if>
398         <li>
399           <a href="{$admingroup-switch}">
400             Choose/change group...
401           </a>
402         </li>
403         <xsl:if test="/bedeworkadmin/userInfo/userMaintOK='true'">
404           <li>
405             <form action="{$prefs-fetchForUpdate}" method="post">
406               Edit user preferences (enter userid): <input type="text" name="user" size="15"/>
407               <input type="submit" name="getPrefs" value="go"/>
408             </form>
409           </li>
410         </xsl:if>
411       </ul>
412     </xsl:if>
413   </xsl:template>
414
415   <!--++++++++++++++++++ Events ++++++++++++++++++++-->
416   <xsl:template name="eventList">
417     <h2>Edit Events</h2>
418     <p>
419       Select the event that you would like to update:
420       <input type="button" name="return" value="Add new event" onclick="javascript:location.replace('{$event-initAddEvent}')"/>
421     </p>
422
423     <form name="peForm" method="post" action="{$event-initUpdateEvent}">
424       <table>
425         <tr>
426           <td style="padding-right: 1em;">Show:</td>
427           <td>
428             <xsl:copy-of select="/bedeworkadmin/formElements/form/listAllSwitchFalse/*"/>
429             Active
430           </td>
431           <td>
432             <xsl:copy-of select="/bedeworkadmin/formElements/form/listAllSwitchTrue/*"/>
433             All
434           </td>
435         </tr>
436       </table>
437     </form>
438
439     <table id="commonListTable">
440       <tr>
441         <th>Title</th>
442         <th>Start Date</th>
443         <th>End Date</th>
444         <th>Description</th>
445       </tr>
446
447       <xsl:for-each select="/bedeworkadmin/events/event">
448         <tr>
449           <td>
450             <xsl:copy-of select="title/*"/>
451           </td>
452           <td class="date">
453             <xsl:value-of select="start"/>
454           </td>
455           <td class="date">
456             <xsl:value-of select="end"/>
457           </td>
458           <td>
459             <xsl:value-of select="desc"/>
460           </td>
461         </tr>
462       </xsl:for-each>
463     </table>
464   </xsl:template>
465
466   <xsl:template name="modEvent">
467     <h2>Event Information</h2>
468
469     <xsl:variable name="modEventAction" select="/bedeworkadmin/formElements/form/@action"/>
470     <form  name="peForm" method="post" action="{$modEventAction}">
471       <table class="eventFormTable">
472         <tr>
473           <td class="fieldName">
474             Title:
475           </td>
476           <td>
477             <xsl:copy-of select="/bedeworkadmin/formElements/form/title/*"/>
478           </td>
479         </tr>
480         <tr>
481           <td class="fieldName">
482             Calendar**:
483           </td>
484           <td>
485             <xsl:if test="/bedeworkadmin/formElements/form/calendar/preferred/select/option">
486               <select name="prefCalendarId">
487                 <option value="-1">
488                   Select preferred:
489                 </option>
490                 <xsl:copy-of select="/bedeworkadmin/formElements/form/calendar/preferred/select/*"/>
491               </select>
492               or Calendar (all):
493             </xsl:if>
494             <select name="calendarId">
495               <option value="-1">
496                 Select:
497               </option>
498               <xsl:copy-of select="/bedeworkadmin/formElements/form/calendar/all/select/*"/>
499             </select>
500             <xsl:text> </xsl:text>
501             <span id="calDescriptionsLink"><a href="javascript:launchSimpleWindow('{$calendar-fetchDescriptions}')">calendar descriptions</a></span>
502           </td>
503         </tr>
504
505         <tr>
506           <td class="fieldName">
507             Date &amp; Time:
508           </td>
509           <td>
510             <!-- Set the timefields class for the first load of the page;
511                  subsequent changes will take place using javascript without a
512                  page reload. -->
513             <xsl:variable name="timeFieldsClass">
514               <xsl:choose>
515                 <xsl:when test="/bedeworkadmin/formElements/form/allDay/input/@checked='checked'">invisible</xsl:when>
516                 <xsl:otherwise>timeFields</xsl:otherwise>
517               </xsl:choose>
518             </xsl:variable>
519             <xsl:choose>
520               <xsl:when test="/bedeworkadmin/formElements/form/allDay/input/@checked='checked'">
521                 <input type="checkbox" name="allDayFlag" onclick="swapAllDayEvent(this)" value="on" checked="checked"/>
522                 <input type="hidden" name="eventStartDate.dateOnly" value="on" id="allDayStartDateField"/>
523                 <input type="hidden" name="eventEndDate.dateOnly" value="on" id="allDayEndDateField"/>
524               </xsl:when>
525               <xsl:otherwise>
526                 <input type="checkbox" name="allDayFlag" onclick="swapAllDayEvent(this)" value="off"/>
527                 <input type="hidden" name="eventStartDate.dateOnly" value="off" id="allDayStartDateField"/>
528                 <input type="hidden" name="eventEndDate.dateOnly" value="off" id="allDayEndDateField"/>
529               </xsl:otherwise>
530             </xsl:choose>
531             all day event<br/>
532             <div class="dateStartEndBox">
533               <strong>Start:</strong>
534               <div class="dateFields">
535                 <span class="startDateLabel">Date </span>
536                 <xsl:copy-of select="/bedeworkadmin/formElements/form/start/month/*"/>
537                 <xsl:copy-of select="/bedeworkadmin/formElements/form/start/day/*"/>
538                 <xsl:choose>
539                   <xsl:when test="/bedeworkadmin/creating = 'true'">
540                     <xsl:copy-of select="/bedeworkadmin/formElements/form/start/year/*"/>
541                   </xsl:when>
542                   <xsl:otherwise>
543                     <xsl:copy-of select="/bedeworkadmin/formElements/form/start/yearText/*"/>
544                   </xsl:otherwise>
545                 </xsl:choose>
546               </div>
547               <script language="JavaScript" type="text/javascript">
548               <xsl:comment>
549                 startDateDynCalWidget = new dynCalendar('startDateDynCalWidget', 'startDateCalWidgetCallback');
550               </xsl:comment>
551               </script>
552               <!--<img src="{$resourcesRoot}/resources/calIcon.gif" width="16" height="15" border="0"/>-->
553               <div class="{$timeFieldsClass}" id="startTimeFields">
554                 <span id="calWidgetStartTimeHider" class="show">
555                   <xsl:copy-of select="/bedeworkadmin/formElements/form/start/hour/*"/>
556                   <xsl:copy-of select="/bedeworkadmin/formElements/form/start/minute/*"/>
557                   <xsl:if test="/bedeworkadmin/formElements/form/start/ampm">
558                     <xsl:copy-of select="/bedeworkadmin/formElements/form/start/ampm/*"/>
559                   </xsl:if>
560                   <xsl:text> </xsl:text>
561                   <a href="javascript:bwClockLaunch('eventStartDate');"><img src="{$resourcesRoot}/resources/clockIcon.gif" width="16" height="15" border="0"/></a>
562                 </span>
563               </div>
564             </div>
565             <div class="dateStartEndBox">
566               <strong>End:</strong>
567               <xsl:choose>
568                 <xsl:when test="/bedeworkadmin/formElements/form/end/type='E'">
569                   <input type="radio" name="eventEndType" value="E" checked="checked" onClick="changeClass('endDateTime','shown');changeClass('endDuration','invisible');"/>
570                 </xsl:when>
571                 <xsl:otherwise>
572                   <input type="radio" name="eventEndType" value="E" onClick="changeClass('endDateTime','shown');changeClass('endDuration','invisible');"/>
573                 </xsl:otherwise>
574               </xsl:choose>
575               Date
576               <xsl:variable name="endDateTimeClass">
577                 <xsl:choose>
578                   <xsl:when test="/bedeworkadmin/formElements/form/end/type='E'">shown</xsl:when>
579                   <xsl:otherwise>invisible</xsl:otherwise>
580                 </xsl:choose>
581               </xsl:variable>
582               <div class="{$endDateTimeClass}" id="endDateTime">
583                 <div class="dateFields">
584                   <xsl:copy-of select="/bedeworkadmin/formElements/form/end/dateTime/month/*"/>
585                   <xsl:copy-of select="/bedeworkadmin/formElements/form/end/dateTime/day/*"/>
586                   <xsl:choose>
587                     <xsl:when test="/bedeworkadmin/creating = 'true'">
588                       <xsl:copy-of select="/bedeworkadmin/formElements/form/end/dateTime/year/*"/>
589                     </xsl:when>
590                     <xsl:otherwise>
591                       <xsl:copy-of select="/bedeworkadmin/formElements/form/end/dateTime/yearText/*"/>
592                     </xsl:otherwise>
593                   </xsl:choose>
594                 </div>
595                 <script language="JavaScript" type="text/javascript">
596                 <xsl:comment>
597                   endDateDynCalWidget = new dynCalendar('endDateDynCalWidget', 'endDateCalWidgetCallback');
598                 </xsl:comment>
599                 </script>
600                 <!--<img src="{$resourcesRoot}/resources/calIcon.gif" width="16" height="15" border="0"/>-->
601                 <div class="{$timeFieldsClass}" id="endTimeFields">
602                   <span id="calWidgetEndTimeHider" class="show">
603                     <xsl:copy-of select="/bedeworkadmin/formElements/form/end/dateTime/hour/*"/>
604                     <xsl:copy-of select="/bedeworkadmin/formElements/form/end/dateTime/minute/*"/>
605                     <xsl:if test="/bedeworkadmin/formElements/form/end/dateTime/ampm">
606                       <xsl:copy-of select="/bedeworkadmin/formElements/form/end/dateTime/ampm/*"/>
607                     </xsl:if>
608                     <xsl:text> </xsl:text>
609                     <a href="javascript:bwClockLaunch('eventEndDate');"><img src="{$resourcesRoot}/resources/clockIcon.gif" width="16" height="15" border="0"/></a>
610                   </span>
611                 </div>
612               </div><br/>
613               <div id="clock" class="invisible">
614                 <xsl:call-template name="clock"/>
615               </div>
616               <div class="dateFields">
617                 <xsl:choose>
618                   <xsl:when test="/bedeworkadmin/formElements/form/end/type='D'">
619                     <input type="radio" name="eventEndType" value="D" checked="checked" onClick="changeClass('endDateTime','invisible');changeClass('endDuration','shown');"/>
620                   </xsl:when>
621                   <xsl:otherwise>
622                     <input type="radio" name="eventEndType" value="D" onClick="changeClass('endDateTime','invisible');changeClass('endDuration','shown');"/>
623                   </xsl:otherwise>
624                 </xsl:choose>
625                 Duration
626                 <xsl:variable name="endDurationClass">
627                   <xsl:choose>
628                     <xsl:when test="/bedeworkadmin/formElements/form/end/type='D'">shown</xsl:when>
629                     <xsl:otherwise>invisible</xsl:otherwise>
630                   </xsl:choose>
631                 </xsl:variable>
632                 <xsl:variable name="durationHrMinClass">
633                   <xsl:choose>
634                     <xsl:when test="/bedeworkadmin/formElements/form/allDay/input/@checked='checked'">invisible</xsl:when>
635                     <xsl:otherwise>shown</xsl:otherwise>
636                   </xsl:choose>
637                 </xsl:variable>
638                 <div class="{$endDurationClass}" id="endDuration">
639                   <xsl:choose>
640                     <xsl:when test="/bedeworkadmin/formElements/form/end/duration/weeks/input/@value = '0'">
641                     <!-- we are using day, hour, minute format -->
642                     <!-- must send either no week value or week value of 0 (zero) -->
643                       <div class="durationBox">
644                         <input type="radio" name="eventDuration.type" value="daytime" onclick="swapDurationType('daytime')" checked="checked"/>
645                         <xsl:variable name="daysStr" select="/bedeworkadmin/formElements/form/end/duration/days/input/@value"/>
646                         <input type="text" name="eventDuration.daysStr" size="2" value="{$daysStr}" id="durationDays"/>days
647                         <span id="durationHrMin" class="{$durationHrMinClass}">
648                           <xsl:variable name="hoursStr" select="/bedeworkadmin/formElements/form/end/duration/hours/input/@value"/>
649                           <input type="text" name="eventDuration.hoursStr" size="2" value="{$hoursStr}" id="durationHours"/>hours
650                           <xsl:variable name="minutesStr" select="/bedeworkadmin/formElements/form/end/duration/minutes/input/@value"/>
651                           <input type="text" name="eventDuration.minutesStr" size="2" value="{$minutesStr}" id="durationMinutes"/>minutes
652                         </span>
653                       </div>
654                       <span class="durationSpacerText">or</span>
655                       <div class="durationBox">
656                         <input type="radio" name="eventDuration.type" value="weeks" onclick="swapDurationType('week')"/>
657                         <xsl:variable name="weeksStr" select="/bedeworkadmin/formElements/form/end/duration/weeks/input/@value"/>
658                         <input type="text" name="eventDuration.weeksStr" size="2" value="{$weeksStr}" id="durationWeeks" disabled="true"/>weeks
659                       </div>
660                     </xsl:when>
661                     <xsl:otherwise>
662                       <!-- we are using week format -->
663                       <div class="durationBox">
664                         <input type="radio" name="eventDuration.type" value="daytime" onclick="swapDurationType('daytime')"/>
665                         <xsl:variable name="daysStr" select="/bedeworkadmin/formElements/form/end/duration/days/input/@value"/>
666                         <input type="text" name="eventDuration.daysStr" size="2" value="{$daysStr}" id="durationDays" disabled="true"/>days
667                         <span id="durationHrMin" class="{$durationHrMinClass}">
668                           <xsl:variable name="hoursStr" select="/bedeworkadmin/formElements/form/end/duration/hours/input/@value"/>
669                           <input type="text" name="eventDuration.hoursStr" size="2" value="{$hoursStr}" id="durationHours" disabled="true"/>hours
670                           <xsl:variable name="minutesStr" select="/bedeworkadmin/formElements/form/end/duration/minutes/input/@value"/>
671                           <input type="text" name="eventDuration.minutesStr" size="2" value="{$minutesStr}" id="durationMinutes" disabled="true"/>minutes
672                         </span>
673                       </div>
674                       <span class="durationSpacerText">or</span>
675                       <div class="durationBox">
676                         <input type="radio" name="eventDuration.type" value="weeks" onclick="swapDurationType('week')" checked="checked"/>
677                         <xsl:variable name="weeksStr" select="/bedeworkadmin/formElements/form/end/duration/weeks/input/@value"/>
678                         <input type="text" name="eventDuration.weeksStr" size="2" value="{$weeksStr}" id="durationWeeks"/>weeks
679                       </div>
680                     </xsl:otherwise>
681                   </xsl:choose>
682                 </div>
683               </div><br/>
684               <div class="dateFields" id="noDuration">
685                 <xsl:choose>
686                   <xsl:when test="/bedeworkadmin/formElements/form/end/type='N'">
687                     <input type="radio" name="eventEndType" value="N" checked="checked" onClick="changeClass('endDateTime','invisible');changeClass('endDuration','invisible');"/>
688                   </xsl:when>
689                   <xsl:otherwise>
690                     <input type="radio" name="eventEndType" value="N" onClick="changeClass('endDateTime','invisible');changeClass('endDuration','invisible');"/>
691                   </xsl:otherwise>
692                 </xsl:choose>
693                 This event has no duration / end date
694               </div>
695             </div>
696           </td>
697         </tr>
698         <!--  Status  -->
699         <tr>
700           <td class="fieldName">
701             Status:
702           </td>
703           <td>
704             <xsl:choose>
705               <xsl:when test="/bedeworkadmin/formElements/form/status = 'TENTATIVE'">
706                 <input type="radio" name="event.status" value="CONFIRMED"/>confirmed <input type="radio" name="event.status" value="TENTATIVE" checked="checked"/>tentative <input type="radio" name="event.status" value="CANCELLED"/>cancelled
707               </xsl:when>
708               <xsl:when test="/bedeworkadmin/formElements/form/status = 'CANCELLED'">
709                 <input type="radio" name="event.status" value="CONFIRMED"/>confirmed <input type="radio" name="event.status" value="TENTATIVE"/>tentative <input type="radio" name="event.status" value="CANCELLED" checked="checked"/>cancelled
710               </xsl:when>
711               <xsl:otherwise>
712                 <input type="radio" name="event.status" value="CONFIRMED" checked="checked"/>confirmed <input type="radio" name="event.status" value="TENTATIVE"/>tentative <input type="radio" name="event.status" value="CANCELLED"/>cancelled
713               </xsl:otherwise>
714             </xsl:choose>
715           </td>
716         </tr>
717         <!--  Category  -->
718         <!-- Hide this field for now: we will probably use it in a very different
719              way now that true calendars are implemented.
720         <tr>
721           <td class="fieldName">
722             Category**:
723           </td>
724           <td>
725             <xsl:if test="/bedeworkadmin/formElements/form/calendar/preferred/select/option">
726               <select name="prefCategoryId">
727                 <option value="-1">
728                   Select preferred:
729                 </option>
730                 <xsl:copy-of select="/bedeworkadmin/formElements/form/category/preferred/select/*"/>
731               </select>
732               Category (all):
733             </xsl:if>
734             <select name="categoryId">
735               <option value="-1">
736                 Select:
737               </option>option>
738               <xsl:copy-of select="/bedeworkadmin/formElements/form/category/all/select/*"/>
739             </select>
740           </td>
741         </tr> -->
742
743         <!--  Description  -->
744         <tr>
745           <td class="fieldName">
746             Description:
747           </td>
748           <td>
749             <xsl:copy-of select="/bedeworkadmin/formElements/form/desc/*"/>
750             <div class="fieldInfo">
751               Enter all pertinent information, including the academic titles of
752               all speakers and/or participants.
753               <span class="maxCharNotice">(<xsl:value-of select="/bedeworkadmin/formElements/form/descLength"/> characters max.)</span>
754             </div>
755           </td>
756         </tr>
757         <!-- Cost -->
758         <tr>
759           <td class="optional">
760             Price:
761           </td>
762           <td>
763             <xsl:copy-of select="/bedeworkadmin/formElements/form/cost/*"/>
764             <xsl:text> </xsl:text>
765             <span class="fieldInfo">(optional: if any, and place to purchase tickets)</span>
766           </td>
767         </tr>
768         <!-- Url -->
769         <tr>
770           <td class="optional">
771             URL:
772           </td>
773           <td>
774             <xsl:copy-of select="/bedeworkadmin/formElements/form/link/*"/>
775             <xsl:text> </xsl:text>
776             <span class="fieldInfo">(optional: for more information about the event)</span>
777           </td>
778         </tr>
779         <!-- Location -->
780         <tr>
781           <td class="fieldName">
782             Location**:
783           </td>
784           <td>
785             <xsl:if test="/bedeworkadmin/formElements/form/location/preferred/select/option">
786               <select name="prefLocationId" id="eventFormPrefLocationList">
787                 <option value="-1">
788                   Select preferred:
789                 </option>
790                 <xsl:copy-of select="/bedeworkadmin/formElements/form/location/preferred/select/*"/>
791               </select>
792               or Location (all):
793             </xsl:if>
794             <select name="locationId" id="eventFormLocationList">
795               <option value="-1">
796                 Select:
797               </option>
798               <xsl:copy-of select="/bedeworkadmin/formElements/form/location/all/select/*"/>
799             </select>
800           </td>
801         </tr>
802
803        <xsl:if test="/bedeworkadmin/formElements/form/location/address">
804           <tr>
805             <td class="fieldName" colspan="2">
806               <span class="std-text"><span class="bold">or</span> add</span>
807             </td>
808           </tr>
809           <tr>
810             <td class="fieldName">
811               Address:
812             </td>
813             <td>
814               <xsl:variable name="addressFieldName" select="/bedeworkadmin/formElements/form/location/address/input/@name"/>
815               <xsl:variable name="calLocations">
816                 <xsl:for-each select="/bedeworkadmin/formElements/form/location/all/select/option">"<xsl:value-of select="."/>"<xsl:if test="position()!=last()">,</xsl:if></xsl:for-each>
817               </xsl:variable>
818               <input type="text" size="30" name="{$addressFieldName}" autocomplete="off" onfocus='autoComplete(this,event,new Array({$calLocations}));'/>
819               <div class="fieldInfo">
820                 Please include room, building, and campus (if not Seattle).
821               </div>
822             </td>
823           </tr>
824           <tr>
825             <td class="optional">
826               <span class="std-text">Location URL:</span>
827             </td>
828             <td>
829               <xsl:copy-of select="/bedeworkadmin/formElements/form/location/link/*"/>
830               <xsl:text> </xsl:text>
831               <span class="fieldInfo">(optional: for information about the location)</span>
832             </td>
833           </tr>
834         </xsl:if>
835
836         <!-- Sponsor -->
837         <tr>
838           <td class="fieldName">
839             Contact**:
840           </td>
841           <td>
842             <xsl:if test="/bedeworkadmin/formElements/form/sponsor/preferred/select/option">
843               <select name="prefSponsorId" id="eventFormSponsorList">
844                 <option value="-1">
845                   Select preferred:
846                 </option>option>
847                 <xsl:copy-of select="/bedeworkadmin/formElements/form/sponsor/preferred/select/*"/>
848               </select>
849               or Contact (all):
850             </xsl:if>
851             <select name="sponsorId" id="eventFormPrefSponsorList">
852               <option value="-1">
853                 Select:
854               </option>
855               <xsl:copy-of select="/bedeworkadmin/formElements/form/sponsor/all/select/*"/>
856             </select>
857           </td>
858         </tr>
859         <tr>
860           <td colspan="2" style="padding-top: 1em;">
861             <span class="fieldInfo">
862               **<strong>If "preferred values" are enabled</strong>
863               by your administrator, the category, location, and contact lists will
864               contain only those value you've used previously.  If you don't find the value
865               you need in one of these lists, use the "all" list adjacent to each
866               of these fields.  The event you select from the "all" list will be added
867               to your preferred list from that point on.  <strong>Note: if you don't
868               find a location or contact at all, you can add a new one from the
869               <a href="{$setup}">main menu</a>.</strong>
870               Only administrators can create categories, however.
871               To make sure you've used the
872               correct category, please see the
873               <a href="" target="_blank">Calendar Definitions</a>
874             </span>
875           </td>
876         </tr>
877
878         <xsl:if test="/bedeworkadmin/formElements/form/sponsor/name">
879           <tr>
880             <td class="fieldName" colspan="2">
881               <span class="std-text"><span class="bold">or</span> add</span>
882             </td>
883           </tr>
884           <tr>
885             <td class="fieldName">
886               Contact (name):
887             </td>
888             <td>
889               <xsl:copy-of select="/bedeworkadmin/formElements/form/sponsor/name/*"/>
890             </td>
891           </tr>
892           <tr>
893             <td class="fieldName">
894               Contact Phone Number:
895             </td>
896             <td>
897               <xsl:copy-of select="/bedeworkadmin/formElements/form/sponsor/phone/*"/>
898               <xsl:text> </xsl:text>
899               <span class="fieldInfo">(optional)</span>
900             </td>
901           </tr>
902           <tr>
903             <td class="optional">
904               Contact's URL:
905             </td>
906             <td>
907               <xsl:copy-of select="/bedeworkadmin/formElements/form/sponsor/link/*"/>
908               <xsl:text> </xsl:text>
909               <span class="fieldInfo">(optional)</span>
910             </td>
911           </tr>
912           <tr>
913             <td class="optional">
914               Contact Email Address:
915             </td>
916             <td>
917               <xsl:copy-of select="/bedeworkadmin/formElements/form/sponsor/email/*"/>
918               <xsl:text> </xsl:text>
919               <span class="fieldInfo">(optional)</span> test
920               <div id="sponsorEmailAlert">&#160;</div> <!-- space for email warning -->
921             </td>
922           </tr>
923         </xsl:if>
924       </table>
925
926       <table border="0" id="submitTable">
927         <tr>
928           <xsl:choose>
929             <xsl:when test="/bedeworkadmin/creating='true'">
930               <td>
931                 <input type="submit" name="addEvent" value="Add Event"/>
932                 <input type="submit" name="cancelled" value="Cancel"/>
933                 <input type="reset" value="Clear"/>
934               </td>
935             </xsl:when>
936             <xsl:otherwise>
937               <td>
938                 <input type="submit" name="updateEvent" value="Update Event"/>
939                 <input type="submit" name="cancelled" value="Cancel"/>
940                 <input type="reset" value="Reset"/>
941                 <input type="submit" name="copy" value="Duplicate Event"/>
942               </td>
943               <td align="right">
944                 <input type="submit" name="delete" value="Delete Event"/>
945               </td>
946             </xsl:otherwise>
947           </xsl:choose>
948         </tr>
949       </table>
950     </form>
951   </xsl:template>
952
953   <xsl:template name="clock">
954     <div id="bwClock">
955       <!-- Bedework 24-Hour Clock time selection widget
956            used with resources/bwClock.js and resources/bwClock.css -->
957       <div id="bwClockClock">
958         <img id="clockMap" src="{$resourcesRoot}/resources/clockMap.gif" width="368" height="368" border="0" alt="" usemap="#bwClockMap" />
959       </div>
960       <div id="bwClockCover">
961         <!-- this is a special effect div used simply to cover the pixelated edge
962              where the clock meets the clock box title -->
963       </div>
964       <div id="bwClockBox">
965         <h2>
966           Bedework 24-Hour Clock
967         </h2>
968         <div id="bwClockDateTypeIndicator">
969           type
970         </div>
971         <div id="bwClockTime">
972           select time
973         </div>
974         <div id="bwClockCloseText">
975           close
976         </div>
977         <div id="bwClockCloseButton">
978           <a href="javascript:bwClockClose();">X</a>
979         </div>
980       </div>
981       <map name="bwClockMap" id="bwClockMap">
982         <area shape="rect" alt="close clock" title="close clock" coords="160,167, 200,200" href="javascript:bwClockClose()"/>
983         <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')" />
984         <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')" />
985         <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')" />
986         <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')" />
987         <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')" />
988         <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')" />
989         <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')" />
990         <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')" />
991         <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')" />
992         <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')" />
993         <area shape="poly" alt="minute 00:05" title="minute 00:05" coords="196,155, 209,164, 238,126, 206,107" href="javascript:bwClockUpdateDateTimeForm('minute','05')" />
994         <area shape="poly" alt="minute 00:00" title="minute 00:00" coords="169,155, 196,155, 206,105, 156,105" href="javascript:bwClockUpdateDateTimeForm('minute','00')" />
995         <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')" />
996         <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')" />
997         <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')" />
998         <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')" />
999         <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')" />
1000         <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')" />
1001         <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')" />
1002         <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')" />
1003         <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')" />
1004         <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')" />
1005         <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')" />
1006         <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')" />
1007         <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')" />
1008         <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')" />
1009         <area shape="poly" alt="9 AM, 0900 hour" title="9 AM, 0900 hour" coords="251,240, 232,258, 291,330, 323,301" href="javascript:bwClockUpdateDateTimeForm('hour','09')" />
1010         <area shape="poly" alt="8 AM, 0800 hour" title="8 AM, 0800 hour" coords="263,219, 251,239, 323,301, 349,261" href="javascript:bwClockUpdateDateTimeForm('hour','08')" />
1011         <area shape="poly" alt="7 AM, 0700 hour" title="7 AM, 0700 hour" coords="269,194, 263,219, 349,261, 363,212" href="javascript:bwClockUpdateDateTimeForm('hour','07')" />
1012         <area shape="poly" alt="6 AM, 0600 hour" title="6 AM, 0600 hour" coords="269,172, 269,193, 363,212, 363,155" href="javascript:bwClockUpdateDateTimeForm('hour','06')" />
1013         <area shape="poly" alt="5 AM, 0500 hour" title="5 AM, 0500 hour" coords="263,150, 269,172, 363,155, 351,109" href="javascript:bwClockUpdateDateTimeForm('hour','05')" />
1014         <area shape="poly" alt="4 AM, 0400 hour" title="4 AM, 0400 hour" coords="251,130, 263,150, 351,109, 325,68" href="javascript:bwClockUpdateDateTimeForm('hour','04')" />
1015         <area shape="poly" alt="3 AM, 0300 hour" title="3 AM, 0300 hour" coords="234,112, 251,130, 325,67, 295,37" href="javascript:bwClockUpdateDateTimeForm('hour','03')" />
1016         <area shape="poly" alt="2 AM, 0200 hour" title="2 AM, 0200 hour" coords="221,102, 234,112, 295,37, 247,11" href="javascript:bwClockUpdateDateTimeForm('hour','02')" />
1017         <area shape="poly" alt="1 AM, 0100 hour" title="1 AM, 0100 hour" coords="196,96, 221,102, 247,10, 209,-1, 201,61, 206,64, 205,74, 199,75" href="javascript:bwClockUpdateDateTimeForm('hour','01')" />
1018         <area shape="poly" alt="Midnight, 0000 hour" title="Midnight, 0000 hour" coords="172,96, 169,74, 161,73, 161,65, 168,63, 158,-1, 209,-1, 201,61, 200,62, 206,64, 205,74, 198,75, 196,96, 183,95" href="javascript:bwClockUpdateDateTimeForm('hour','00')" />
1019       </map>
1020     </div>
1021   </xsl:template>
1022
1023   <xsl:template match="event" mode="displayEvent">
1024     <xsl:choose>
1025       <xsl:when test="/bedeworkadmin/page='deleteEventConfirm'">
1026         <h2>Ok to delete this event?</h2>
1027         <p style="width: 400px;">Note: we do not encourage deletion of old but correct events; we prefer to keep
1028            old events for historical reasons.  Please remove only those events
1029            that are truly erroneous.</p>
1030         <p id="confirmButtons">
1031           <xsl:copy-of select="/bedeworkadmin/formElements/*"/>
1032         </p>
1033       </xsl:when>
1034       <xsl:otherwise>
1035         <h2>Event Information</h2>
1036       </xsl:otherwise>
1037     </xsl:choose>
1038
1039     <table class="eventFormTable">
1040       <tr>
1041         <th>
1042           ID:
1043         </th>
1044         <td>
1045           <xsl:value-of select="id"/>
1046         </td>
1047       </tr>
1048
1049       <tr>
1050         <th>
1051           Title:
1052         </th>
1053         <td>
1054           <xsl:value-of select="title"/>
1055         </td>
1056       </tr>
1057
1058       <tr>
1059         <th>
1060           Calendar:
1061         </th>
1062         <td>
1063           <xsl:value-of select="calendar"/>
1064         </td>
1065       </tr>
1066
1067       <tr>
1068         <th>
1069           Start:
1070         </th>
1071         <td>
1072           <xsl:value-of select="start/year"/>-<xsl:value-of select="start/month"/>-<xsl:value-of select="start/day"/>
1073           <xsl:text> </xsl:text>
1074           <xsl:choose>
1075             <xsl:when test="start/allDay='true'">
1076               <strong>all day event</strong>
1077             </xsl:when>
1078             <xsl:otherwise>
1079               <xsl:value-of select="start/hour"/>:<xsl:value-of select="start/minute"/>
1080               <xsl:if test="start/ampm">
1081                 <xsl:value-of select="start/ampm"/>
1082               </xsl:if>
1083             </xsl:otherwise>
1084           </xsl:choose>
1085         </td>
1086       </tr>
1087       <tr>
1088         <th>
1089           End:
1090         </th>
1091         <td>
1092           <xsl:choose>
1093             <xsl:when test="end/endtype = 'none'">
1094               <div class="dateFields" id="noDuration">
1095                 This event has no duration / end date
1096               </div>
1097             </xsl:when>
1098             <xsl:when test="end/endtype = 'duration'">
1099               <div class="dateFields">
1100                 <div class="invisible" id="endDuration">
1101                   <div class="durationBox">
1102                     <input type="text" name="eventDuration.daysStr" size="2" value="0" onChange="window.document.peForm.durationType[0].checked = true;"/>days
1103                     <input type="text" name="eventDuration.hoursStr" size="2" value="1" onChange="window.document.peForm.durationType[0].checked = true;"/>hours
1104                     <input type="text" name="eventDuration.minutesStr" size="2" value="0" onChange="window.document.peForm.durationType[0].checked = true;"/>minutes
1105                   </div>
1106                   <span class="durationSpacerText">or</span>
1107                   <div class="durationBox">
1108                     <input type="text" name="eventDuration.weeksStr" size="2" value="0" onChange="window.document.peForm.durationType[1].checked = true;"/>weeks
1109                   </div>
1110                 </div>
1111               </div>
1112             </xsl:when>
1113             <xsl:otherwise>
1114               <xsl:value-of select="end/dateTime/year"/>-<xsl:value-of select="end/dateTime/month"/>-<xsl:value-of select="end/dateTime/day"/>
1115               <xsl:text> </xsl:text>
1116               <xsl:value-of select="end/dateTime/hour"/>:<xsl:value-of select="end/dateTime/minute"/>
1117               <xsl:text> </xsl:text>
1118               <xsl:if test="end/dateTime/ampm">
1119                 <xsl:value-of select="end/dateTime/ampm"/>
1120               </xsl:if>
1121             </xsl:otherwise>
1122           </xsl:choose>
1123         </td>
1124       </tr>
1125
1126       <!--  Category  -->
1127       <!--<tr>
1128         <th>
1129           Category:
1130         </th>
1131         <td>
1132           <xsl:value-of select="category"/>
1133         </td>
1134       </tr>-->
1135
1136       <!--  Description  -->
1137       <tr>
1138         <th>
1139           Description:
1140         </th>
1141         <td>
1142           <xsl:value-of select="desc"/>
1143         </td>
1144       </tr>
1145       <!-- Cost -->
1146       <tr>
1147         <th class="optional">
1148           Price:
1149         </th>
1150         <td>
1151           <xsl:value-of select="cost"/>
1152         </td>
1153       </tr>
1154       <!-- Url -->
1155       <tr>
1156         <th class="optional">
1157           URL:
1158         </th>
1159         <td>
1160           <xsl:variable name="eventLink" select="link"/>
1161           <a href="{$eventLink}"><xsl:value-of select="link"/></a>
1162         </td>
1163       </tr>
1164       <!-- Location -->
1165       <tr>
1166         <th>
1167           Location:
1168         </th>
1169         <td>
1170           <xsl:value-of select="location"/>
1171         </td>
1172       </tr>
1173
1174       <!-- Sponsor -->
1175       <tr>
1176         <th>
1177           Contact:
1178         </th>
1179         <td>
1180           <xsl:value-of select="sponsor"/>
1181         </td>
1182       </tr>
1183
1184       <!-- Owner -->
1185       <tr>
1186         <th>
1187           Owner:
1188         </th>
1189         <td>
1190           <xsl:value-of select="creator"/>
1191         </td>
1192       </tr>
1193
1194     </table>
1195
1196
1197     <xsl:if test="/bedeworkadmin/canEdit = 'true' or /bedeworkadmin/userInfo/superUser = 'true'">
1198       <xsl:variable name="id" select="id"/>
1199       <h3><a href="{$event-fetchForUpdate}&amp;eventId={$id}">Edit Event</a></h3>
1200     </xsl:if>
1201   </xsl:template>
1202
1203   <!--+++++++++++++++ Sponsors (Contacts) ++++++++++++++++++++-->
1204   <xsl:template name="sponsorList">
1205     <h2>Edit Contacts</h2>
1206     <p>
1207       Select the contact you would like to update:
1208       <input type="button" name="return" value="Add new contact" onclick="javascript:location.replace('{$sponsor-initAdd}')"/>
1209     </p>
1210
1211     <table id="commonListTable">
1212       <tr>
1213         <th>Name</th>
1214         <th>Phone</th>
1215         <th>Email</th>
1216         <th>URL</th>
1217       </tr>
1218
1219       <xsl:for-each select="/bedeworkadmin/sponsors/sponsor">
1220         <tr>
1221           <td>
1222             <xsl:copy-of select="name" />
1223           </td>
1224           <td>
1225             <xsl:value-of select="phone" />
1226           </td>
1227           <td>
1228             <xsl:variable name="email" select="email"/>
1229             <a href="mailto:{$email}">
1230               <xsl:value-of select="email"/>
1231             </a>
1232           </td>
1233           <td>
1234             <xsl:variable name="link" select="link" />
1235             <a href="{$link}" target="linktest">
1236               <xsl:value-of select="link" />
1237             </a>
1238           </td>
1239         </tr>
1240       </xsl:for-each>
1241     </table>
1242   </xsl:template>
1243
1244   <xsl:template name="modSponsor">
1245     <form action="{$sponsor-update}" method="post">
1246       <h2>Contact Information</h2>
1247
1248       <table id="eventFormTable">
1249         <tr>
1250           <td class="fieldName">
1251             Contact:
1252           </td>
1253           <td>
1254             <xsl:copy-of select="/bedeworkadmin/formElements/form/name/*"/>
1255           </td>
1256         </tr>
1257         <tr>
1258           <td class="fieldName">
1259             Contact Phone Number:
1260           </td>
1261           <td>
1262             <xsl:copy-of select="/bedeworkadmin/formElements/form/phone/*"/>
1263             <span class="fieldInfo"> (optional)</span>
1264           </td>
1265         </tr>
1266         <tr>
1267           <td class="optional">
1268             Contact's URL:
1269           </td>
1270           <td>
1271             <xsl:copy-of select="/bedeworkadmin/formElements/form/link/*"/>
1272             <span class="fieldInfo"> (optional)</span>
1273           </td>
1274         </tr>
1275         <tr>
1276           <td class="optional">
1277             Contact Email Address:
1278           </td>
1279           <td>
1280             <xsl:copy-of select="/bedeworkadmin/formElements/form/email/*"/>
1281             <span class="fieldInfo"> (optional)</span>
1282           </td>
1283         </tr>
1284       </table>
1285
1286       <table border="0" id="submitTable">
1287         <tr>
1288           <xsl:choose>
1289             <xsl:when test="/bedeworkadmin/creating='true'">
1290               <td>
1291                 <input type="submit" name="addSponsor" value="Add Contact"/>
1292                 <input type="submit" name="cancelled" value="Cancel"/>
1293                 <input type="reset" value="Clear"/>
1294               </td>
1295             </xsl:when>
1296             <xsl:otherwise>
1297               <td>
1298                 <input type="submit" name="updateSponsor" value="Update Contact"/>
1299                 <input type="submit" name="cancelled" value="Cancel"/>
1300                 <input type="reset" value="Reset"/>
1301               </td>
1302               <td align="right">
1303                 <input type="submit" name="delete" value="Delete Contact"/>
1304               </td>
1305             </xsl:otherwise>
1306           </xsl:choose>
1307         </tr>
1308       </table>
1309
1310     </form>
1311   </xsl:template>
1312
1313   <xsl:template name="deleteSponsorConfirm">
1314     <h2>Ok to delete this contact?</h2>
1315     <p id="confirmButtons">
1316       <xsl:copy-of select="/bedeworkadmin/formElements/*"/>
1317     </p>
1318
1319     <table class="eventFormTable">
1320       <tr>
1321         <th>Name</th>
1322         <td><xsl:value-of select="/bedeworkadmin/sponsor/name" /></td>
1323       </tr>
1324       <tr>
1325         <th>Phone</th>
1326         <td><xsl:value-of select="/bedeworkadmin/sponsor/phone" /></td>
1327       </tr>
1328       <tr>
1329         <th>Email</th>
1330         <td><xsl:value-of select="/bedeworkadmin/sponsor/email" /></td>
1331       </tr>
1332       <tr>
1333         <th>URL</th>
1334         <td><xsl:value-of select="/bedeworkadmin/sponsor/link" /></td>
1335       </tr>
1336     </table>
1337   </xsl:template>
1338
1339    <!--+++++++++++++++ Locations ++++++++++++++++++++-->
1340   <xsl:template name="locationList">
1341     <h2>Edit Locations</h2>
1342     <p>
1343       Select the location that you would like to update:
1344       <input type="button" name="return" value="Add new location" onclick="javascript:location.replace('{$location-initAdd}')"/>
1345     </p>
1346
1347     <table id="commonListTable">
1348       <tr>
1349         <th>Address</th>
1350         <th>Subaddress</th>
1351         <th>URL</th>
1352       </tr>
1353
1354       <xsl:for-each select="/bedeworkadmin/locations/location">
1355         <tr>
1356           <td>
1357             <xsl:copy-of select="address/*"/>
1358           </td>
1359           <td>
1360             <xsl:value-of select="subaddress"/>
1361           </td>
1362           <td>
1363             <xsl:variable name="link" select="link" />
1364             <a href="{$link}" target="linktest">
1365               <xsl:value-of select="link" />
1366             </a>
1367           </td>
1368         </tr>
1369       </xsl:for-each>
1370     </table>
1371   </xsl:template>
1372
1373   <xsl:template name="modLocation">
1374     <xsl:choose>
1375       <xsl:when test="/bedeworkadmin/creating='true'">
1376         <h2>Add Location</h2>
1377       </xsl:when>
1378       <xsl:otherwise>
1379         <h2>Update Location</h2>
1380       </xsl:otherwise>
1381     </xsl:choose>
1382
1383     <form action="{$location-update}" method="post">
1384       <table id="eventFormTable">
1385         <tr>
1386           <td class="fieldName">
1387             Address:
1388           </td>
1389           <td>
1390             <xsl:copy-of select="/bedeworkadmin/formElements/form/address/*"/>
1391           </td>
1392         </tr>
1393         <tr>
1394           <td class="optional">
1395             Subaddress:
1396           </td>
1397           <td>
1398             <xsl:copy-of select="/bedeworkadmin/formElements/form/subaddress/*"/>
1399             <span class="fieldInfo"> (optional)</span>
1400           </td>
1401         </tr>
1402         <tr>
1403           <td class="optional">
1404             Location's URL:
1405           </td>
1406           <td>
1407             <xsl:copy-of select="/bedeworkadmin/formElements/form/link/*"/>
1408             <span class="fieldInfo"> (optional)</span>
1409           </td>
1410         </tr>
1411       </table>
1412
1413       <table border="0" id="submitTable">
1414         <tr>
1415           <xsl:choose>
1416             <xsl:when test="/bedeworkadmin/creating='true'">
1417               <td>
1418                 <input type="submit" name="addLocation" value="Add Location"/>
1419                 <input type="submit" name="cancelled" value="Cancel"/>
1420                 <input type="reset" value="Clear"/>
1421               </td>
1422             </xsl:when>
1423             <xsl:otherwise>
1424               <td>
1425                 <input type="submit" name="updateLocation" value="Update Location"/>
1426                 <input type="submit" name="cancelled" value="Cancel"/>
1427                 <input type="reset" value="Reset"/>
1428               </td>
1429               <td align="right">
1430                 <input type="submit" name="delete" value="Delete Location"/>
1431               </td>
1432             </xsl:otherwise>
1433           </xsl:choose>
1434         </tr>
1435       </table>
1436     </form>
1437   </xsl:template>
1438
1439   <xsl:template name="deleteLocationConfirm">
1440     <h2>Ok to delete this location?</h2>
1441     <p id="confirmButtons">
1442       <xsl:copy-of select="/bedeworkadmin/formElements/*"/>
1443     </p>
1444
1445     <table class="eventFormTable">
1446         <tr>
1447           <td class="fieldName">
1448             Address:
1449           </td>
1450           <td>
1451             <xsl:value-of select="/bedeworkadmin/location/address"/>
1452           </td>
1453         </tr>
1454         <tr>
1455           <td class="optional">
1456             Subaddress:
1457           </td>
1458           <td>
1459             <xsl:value-of select="/bedeworkadmin/location/subaddress"/>
1460           </td>
1461         </tr>
1462         <tr>
1463           <td class="optional">
1464             Location's URL:
1465           </td>
1466           <td>
1467             <xsl:copy-of select="/bedeworkadmin/location/link/*"/>
1468             <span class="fieldInfo">(optional)</span>
1469           </td>
1470         </tr>
1471       </table>
1472   </xsl:template>
1473
1474 <!--+++++++++++++++ Calendars ++++++++++++++++++++-->
1475   <xsl:template match="calendars">
1476     <table id="calendarTable">
1477       <tr>
1478         <td class="cals">
1479           <h3>Public calendars</h3>
1480           <ul id="calendarTree">
1481             <xsl:choose>
1482               <xsl:when test="/bedeworkadmin/page='calendarDescriptions' or
1483                               /bedeworkadmin/page='displayCalendar'">
1484                 <xsl:apply-templates select="calendar" mode="listForDisplay"/>
1485               </xsl:when>
1486               <xsl:otherwise>
1487                 <xsl:apply-templates select="calendar" mode="listForUpdate"/>
1488               </xsl:otherwise>
1489             </xsl:choose>
1490           </ul>
1491         </td>
1492         <td class="calendarContent">
1493           <xsl:choose>
1494             <xsl:when test="/bedeworkadmin/page='calendarList' or
1495                             /bedeworkadmin/page='calendarReferenced'">
1496               <xsl:call-template name="calendarList"/>
1497             </xsl:when>
1498             <xsl:when test="/bedeworkadmin/page='calendarDescriptions'">
1499               <xsl:call-template name="calendarDescriptions"/>
1500             </xsl:when>
1501             <xsl:when test="/bedeworkadmin/page='displayCalendar'">
1502               <xsl:apply-templates select="/bedeworkadmin/currentCalendar" mode="displayCalendar"/>
1503             </xsl:when>
1504             <xsl:when test="/bedeworkadmin/page='deleteCalendarConfirm'">
1505               <xsl:apply-templates select="/bedeworkadmin/currentCalendar" mode="deleteCalendarConfirm"/>
1506             </xsl:when>
1507             <xsl:when test="/bedeworkadmin/creating='true'">
1508               <xsl:apply-templates select="/bedeworkadmin/currentCalendar" mode="addCalendar"/>
1509             </xsl:when>
1510             <xsl:otherwise>
1511               <xsl:apply-templates select="/bedeworkadmin/currentCalendar" mode="modCalendar"/>
1512             </xsl:otherwise>
1513           </xsl:choose>
1514         </td>
1515       </tr>
1516     </table>
1517   </xsl:template>
1518
1519   <xsl:template match="calendar" mode="listForUpdate">
1520     <xsl:variable name="id" select="id"/>
1521     <xsl:variable name="itemClass">
1522       <xsl:choose>
1523         <xsl:when test="calendarCollection='false'">folder</xsl:when>
1524         <xsl:otherwise>calendar</xsl:otherwise>
1525       </xsl:choose>
1526     </xsl:variable>
1527     <li class="{$itemClass}">
1528       <a href="{$calendar-fetchForUpdate}&amp;calId={$id}" title="update">
1529         <xsl:value-of select="name"/>
1530       </a>
1531       <xsl:if test="calendarCollection='false'">
1532         <xsl:text> </xsl:text>
1533         <a href="{$calendar-initAdd}&amp;calId={$id}" title="add a calendar or folder">
1534           <img src="{$resourcesRoot}/resources/calAddIcon.gif" width="13" height="13" alt="add a calendar or folder" border="0"/>
1535         </a>
1536       </xsl:if>
1537       <xsl:if test="calendar">
1538         <ul>
1539           <xsl:apply-templates select="calendar" mode="listForUpdate">
1540             <!--<xsl:sort select="title" order="ascending" case-order="upper-first"/>-->
1541           </xsl:apply-templates>
1542         </ul>
1543       </xsl:if>
1544     </li>
1545   </xsl:template>
1546
1547   <xsl:template match="calendar" mode="listForDisplay">
1548     <xsl:variable name="id" select="id"/>
1549     <xsl:variable name="itemClass">
1550       <xsl:choose>
1551         <xsl:when test="calendarCollection='false'">folder</xsl:when>
1552         <xsl:otherwise>calendar</xsl:otherwise>
1553       </xsl:choose>
1554     </xsl:variable>
1555     <li class="{$itemClass}">
1556       <a href="{$calendar-fetchForDisplay}&amp;calId={$id}" title="display">
1557         <xsl:value-of select="name"/>
1558       </a>
1559       <xsl:if test="calendar">
1560         <ul>
1561           <xsl:apply-templates select="calendar" mode="listForDisplay">
1562             <!--<xsl:sort select="title" order="ascending" case-order="upper-first"/>-->
1563           </xsl:apply-templates>
1564         </ul>
1565       </xsl:if>
1566     </li>
1567   </xsl:template>
1568
1569   <xsl:template match="currentCalendar" mode="addCalendar">
1570     <h3>Add Calendar / Folder</h3>
1571     <form name="addCalForm" action="{$calendar-update}">
1572       <table class="eventFormTable">
1573         <tr>
1574           <th>Name:</th>
1575           <td>
1576             <xsl:variable name="curCalName" select="name"/>
1577             <input name="calendar.name" value="{$curCalName}" size="40"/>
1578           </td>
1579         </tr>
1580         <tr>
1581           <th>Summary:</th>
1582           <td>
1583             <xsl:variable name="curCalSummary" select="summary"/>
1584             <input type="text" name="calendar.summary" value="{$curCalSummary}" size="40"/>
1585           </td>
1586         </tr>
1587         <tr>
1588           <th>Description:</th>
1589           <td>
1590             <textarea name="calendar.description" width="60" height="20">
1591               <xsl:value-of select="desc"/>
1592             </textarea>
1593           </td>
1594         </tr>
1595         <tr>
1596           <th>Calendar/Folder:</th>
1597           <td>
1598             <xsl:choose>
1599               <xsl:when test="calendarCollection='true'">
1600                 <input type="radio" value="true" name="calendarCollection" checked="checked"/> Calendar
1601                 <input type="radio" value="false" name="calendarCollection"/> Folder
1602               </xsl:when>
1603               <xsl:otherwise>
1604                 <input type="radio" value="true" name="calendarCollection"/> Calendar
1605                 <input type="radio" value="false" name="calendarCollection" checked="checked"/> Folder
1606               </xsl:otherwise>
1607             </xsl:choose>
1608           </td>
1609         </tr>
1610       </table>
1611
1612       <table border="0" id="submitTable">
1613         <tr>
1614           <td>
1615             <input type="submit" name="addCalendar" value="Add Calendar/Folder"/>
1616             <input type="submit" name="cancelled" value="Cancel"/>
1617             <input type="reset" value="Clear"/>
1618           </td>
1619         </tr>
1620       </table>
1621     </form>
1622   </xsl:template>
1623
1624   <xsl:template match="currentCalendar" mode="modCalendar">
1625     <xsl:choose>
1626       <xsl:when test="calendarCollection='true'">
1627         <h3>Modify Calendar</h3>
1628       </xsl:when>
1629       <xsl:otherwise>
1630         <h3>Modify Folder</h3>
1631       </xsl:otherwise>
1632     </xsl:choose>
1633     <form name="modCalForm" action="{$calendar-update}">
1634       <table class="eventFormTable">
1635         <tr>
1636           <th>Path:</th>
1637           <td>
1638             <xsl:value-of select="path"/>
1639           </td>
1640         </tr>
1641         <tr>
1642           <th>Name:</th>
1643           <td>
1644             <xsl:value-of select="name"/>
1645           </td>
1646         </tr>
1647         <tr>
1648           <th>Mailing List ID:</th>
1649           <td>
1650             <xsl:value-of select="mailListId"/>
1651           </td>
1652         </tr>
1653         <tr>
1654           <th>Summary:</th>
1655           <td>
1656             <xsl:variable name="curCalSummary" select="summary"/>
1657             <input type="text" name="calendar.summary" value="{$curCalSummary}" size="40"/>
1658           </td>
1659         </tr>
1660         <tr>
1661           <th>Description:</th>
1662           <td>
1663             <textarea name="calendar.description" cols="40" rows="4">
1664               <xsl:value-of select="desc"/>
1665             </textarea>
1666           </td>
1667         </tr>
1668         <tr>
1669           <th>Calendar/Folder:</th>
1670           <td>
1671             <xsl:choose>
1672               <xsl:when test="calendarCollection='true'">
1673                 <input type="radio" value="true" name="calendarCollection" checked="checked"/> Calendar
1674                 <input type="radio" value="false" name="calendarCollection"/> Folder
1675               </xsl:when>
1676               <xsl:otherwise>
1677                 <input type="radio" value="true" name="calendarCollection"/> Calendar
1678                 <input type="radio" value="false" name="calendarCollection" checked="checked"/> Folder
1679               </xsl:otherwise>
1680             </xsl:choose>
1681           </td>
1682         </tr>
1683       </table>
1684
1685       <table border="0" id="submitTable">
1686         <tr>
1687           <td>
1688             <xsl:choose>
1689               <xsl:when test="calendarCollection='true'">
1690                 <input type="submit" name="updateCalendar" value="Update Calendar"/>
1691               </xsl:when>
1692               <xsl:otherwise>
1693                 <input type="submit" name="updateCalendar" value="Update Folder"/>
1694               </xsl:otherwise>
1695             </xsl:choose>
1696             <input type="submit" name="cancelled" value="Cancel"/>
1697             <input type="reset" value="Reset"/>
1698           </td>
1699           <td align="right">
1700             <xsl:choose>
1701               <xsl:when test="calendarCollection='true'">
1702                 <input type="submit" name="delete" value="Delete Calendar"/>
1703               </xsl:when>
1704               <xsl:otherwise>
1705                 <input type="submit" name="delete" value="Delete Folder"/>
1706               </xsl:otherwise>
1707             </xsl:choose>
1708           </td>
1709         </tr>
1710       </table>
1711     </form>
1712   </xsl:template>
1713
1714   <xsl:template name="calendarList">
1715     <h3>Manage Calendars</h3>
1716     <ul>
1717       <li>Select an item from the calendar list on the left to modify
1718       a calendar or folder.</li>
1719       <li>Select the
1720       <img src="{$resourcesRoot}/resources/calAddIcon.gif" width="13" height="13" alt="true" border="0"/>
1721       icon to add a new calendar or folder to the tree.
1722         <ul>
1723           <li>Folders may only contain calendars and subfolders.</li>
1724           <li>Calendars may only contain events (and other calendar items).</li>
1725           <li>
1726             If a calendar is empty, it may be converted to a folder and vice
1727             versa.  If a calendar or folder are not empty, it may not be
1728             converted.
1729           </li>
1730         </ul>
1731       </li>
1732     </ul>
1733   </xsl:template>
1734
1735   <xsl:template name="calendarDescriptions">
1736     <h2>Calendar Information</h2>
1737     <ul>
1738       <li>Select an item from the calendar tree on the left to view all information
1739       about that calendar or folder.  The tree on the left represents the calendar
1740       heirarchy.</li>
1741     </ul>
1742
1743     <p><strong>All Calendar Descriptions:</strong></p>
1744     <table id="flatCalendarDescriptions" cellspacing="0">
1745       <tr>
1746         <th>Name</th>
1747         <th>Description</th>
1748       </tr>
1749       <xsl:for-each select="//calendar">
1750         <xsl:variable name="descClass">
1751           <xsl:choose>
1752             <xsl:when test="position() mod 2 = 0">even</xsl:when>
1753             <xsl:otherwise>odd</xsl:otherwise>
1754           </xsl:choose>
1755         </xsl:variable>
1756         <tr class="{$descClass}">
1757           <td>
1758             <xsl:value-of select="name"/>
1759           </td>
1760           <td>
1761             <xsl:value-of select="desc"/>
1762           </td>
1763         </tr>
1764       </xsl:for-each>
1765     </table>
1766   </xsl:template>
1767
1768   <xsl:template match="currentCalendar" mode="displayCalendar">
1769     <h2>Calendar Information</h2>
1770     <table class="eventFormTable">
1771       <tr>
1772         <th>Name:</th>
1773         <td>
1774           <xsl:value-of select="name"/>
1775         </td>
1776       </tr>
1777       <tr>
1778         <th>Path:</th>
1779         <td>
1780           <xsl:value-of select="path"/>
1781         </td>
1782       </tr>
1783       <tr>
1784         <th>Summary:</th>
1785         <td>
1786           <xsl:value-of select="summary"/>
1787         </td>
1788       </tr>
1789       <tr>
1790         <th>Description:</th>
1791         <td>
1792           <xsl:value-of select="desc"/>
1793         </td>
1794       </tr>
1795     </table>
1796   </xsl:template>
1797
1798   <xsl:template match="currentCalendar" mode="deleteCalendarConfirm">
1799     <xsl:choose>
1800       <xsl:when test="calendarCollection='true'">
1801         <h3>Delete Calendar</h3>
1802         <p>
1803           The following calendar will be deleted.  Continue?
1804         </p>
1805       </xsl:when>
1806       <xsl:otherwise>
1807         <h3>Delete Folder</h3>
1808         <p>
1809           The following folder <em>and all its contents</em> will be deleted.
1810           Continue?
1811         </p>
1812       </xsl:otherwise>
1813     </xsl:choose>
1814
1815     <form name="delCalForm" action="{$calendar-delete}">
1816       <table class="eventFormTable">
1817         <tr>
1818           <th>Path:</th>
1819           <td>
1820             <xsl:value-of select="path"/>
1821           </td>
1822         </tr>
1823         <tr>
1824           <th>Name:</th>
1825           <td>
1826             <xsl:value-of select="name"/>
1827           </td>
1828         </tr>
1829         <tr>
1830           <th>Summary:</th>
1831           <td>
1832             <xsl:value-of select="summary"/>
1833           </td>
1834         </tr>
1835         <tr>
1836           <th>Description:</th>
1837           <td>
1838             <xsl:value-of select="desc"/>
1839           </td>
1840         </tr>
1841       </table>
1842
1843       <table border="0" id="submitTable">
1844         <tr>
1845           <td>
1846             <input type="submit" name="cancelled" value="Cancel"/>
1847           </td>
1848           <td align="right">
1849             <xsl:choose>
1850               <xsl:when test="calendarCollection='true'">
1851                 <input type="submit" name="delete" value="Yes: Delete Calendar!"/>
1852               </xsl:when>
1853               <xsl:otherwise>
1854                 <input type="submit" name="delete" value="Yes: Delete Folder!"/>
1855               </xsl:otherwise>
1856             </xsl:choose>
1857           </td>
1858         </tr>
1859       </table>
1860     </form>
1861
1862   </xsl:template>
1863
1864   <!--+++++++++++++++ Subscriptions ++++++++++++++++++++-->
1865   <xsl:template match="subscriptions">
1866     <table id="subsTable">
1867       <tr>
1868         <td class="cals">
1869           <h3>Public calendars</h3>
1870           <p class="smaller">
1871             Select a calendar below to add a <em><strong>new</strong></em>
1872             internal subscription. <!-- or
1873             <a href="{$subscriptions-initAdd}&amp;calUri=please enter a calendar uri">
1874             subscribe to an external calendar</a>.-->
1875           </p>
1876           <ul id="calendarTree">
1877             <xsl:apply-templates select="/bedeworkadmin/subscriptions/subscribe/calendars/calendar" mode="subscribe"/>
1878           </ul>
1879         </td>
1880         <td class="subs">
1881           <xsl:choose>
1882             <xsl:when test="/bedeworkadmin/page='subscriptions'">
1883               <xsl:call-template name="subscriptionList"/>
1884             </xsl:when>
1885             <xsl:when test="/bedeworkadmin/creating='true'">
1886               <xsl:apply-templates select="subscription" mode="addSubscription"/>
1887             </xsl:when>
1888             <xsl:otherwise>
1889               <xsl:apply-templates select="subscription" mode="modSubscription"/>
1890             </xsl:otherwise>
1891           </xsl:choose>
1892         </td>
1893       </tr>
1894     </table>
1895   </xsl:template>
1896
1897   <xsl:template match="calendar" mode="subscribe">
1898     <xsl:variable name="id" select="id"/>
1899     <xsl:variable name="itemClass">
1900       <xsl:choose>
1901         <xsl:when test="calendarCollection='false'">folder</xsl:when>
1902         <xsl:otherwise>calendar</xsl:otherwise>
1903       </xsl:choose>
1904     </xsl:variable>
1905     <li class="{$itemClass}">
1906       <a href="{$subscriptions-initAdd}&amp;calId={$id}">
1907         <xsl:value-of select="name"/>
1908       </a>
1909       <xsl:if test="calendar">
1910         <ul>
1911           <xsl:apply-templates select="calendar" mode="subscribe">
1912             <!--<xsl:sort select="title" order="ascending" case-order="upper-first"/>-->
1913           </xsl:apply-templates>
1914         </ul>
1915       </xsl:if>
1916     </li>
1917   </xsl:template>
1918
1919   <xsl:template match="subscription" mode="addSubscription">
1920     <h2>Add New Subscription</h2>
1921     <p class="note">*the subsciption name must be unique</p>
1922     <form name="subscribeForm" action="{$subscriptions-subscribe}" method="post">
1923       <table class="eventFormTable">
1924         <tr>
1925           <th>Name*:</th>
1926           <td>
1927             <xsl:variable name="subName" select="name"/>
1928             <input type="text" value="{$subName}" name="subscription.name" size="60"/>
1929           </td>
1930         </tr>
1931         <xsl:if test="internal='false'">
1932           <tr>
1933             <th>Uri:</th>
1934             <td>
1935               <xsl:variable name="subUri" select="uri"/>
1936               <input type="text" value="{$subUri}" name="subscription.uri" size="60"/>
1937             </td>
1938           </tr>
1939         </xsl:if>
1940         <tr>
1941           <th>Display:</th>
1942           <td>
1943             <input type="radio" value="true" name="subscription.display"/> yes
1944             <input type="radio" value="false" name="subscription.display" checked="checked"/> no
1945           </td>
1946         </tr>
1947         <tr>
1948           <th>Style:</th>
1949           <td>
1950             <xsl:variable name="subStyle" select="style"/>
1951             <input type="text" value="{$subStyle}" name="subscription.style" size="60"/>
1952           </td>
1953         </tr>
1954         <tr>
1955           <th>Unremoveable:</th>
1956           <td>
1957             <input type="radio" value="true" name="unremoveable" size="60"/> true
1958             <input type="radio" value="false" name="unremoveable" size="60" checked="checked"/> false
1959           </td>
1960         </tr>
1961       </table>
1962       <table border="0" id="submitTable">
1963         <tr>
1964           <td>
1965             <input type="submit" name="addSubscription" value="Add Subscription"/>
1966             <input type="submit" name="cancelled" value="Cancel"/>
1967             <input type="reset" value="Clear"/>
1968           </td>
1969         </tr>
1970       </table>
1971     </form>
1972   </xsl:template>
1973
1974   <xsl:template match="subscription" mode="modSubscription">
1975     <h2>Modify Subscription</h2>
1976     <form name="subscribeForm" action="{$subscriptions-subscribe}" method="post">
1977       <table class="eventFormTable">
1978         <tr>
1979           <th>Name*:</th>
1980           <td>
1981             <xsl:value-of select="name"/>
1982             <xsl:variable name="subName" select="name"/>
1983             <input type="hidden" value="{$subName}" name="name"/>
1984           </td>
1985         </tr>
1986         <xsl:choose>
1987           <xsl:when test="internal='false'">
1988             <tr>
1989               <th>Uri:</th>
1990               <td>
1991                 <xsl:variable name="subUri" select="uri"/>
1992                 <input type="text" value="{$subUri}" name="subscription.uri" size="60"/>
1993               </td>
1994             </tr>
1995           </xsl:when>
1996           <xsl:otherwise>
1997             <tr>
1998               <th>Uri:</th>
1999               <td>
2000                 <xsl:value-of select="uri"/>
2001               </td>
2002             </tr>
2003           </xsl:otherwise>
2004         </xsl:choose>
2005         <tr>
2006           <th>Display:</th>
2007           <td>
2008             <xsl:choose>
2009               <xsl:when test="display='true'">
2010                 <input type="radio" value="true" name="subscription.display" checked="checked"/> yes
2011                 <input type="radio" value="false" name="subscription.display"/> no
2012               </xsl:when>
2013               <xsl:otherwise>
2014                 <input type="radio" value="true" name="subscription.display"/> yes
2015                 <input type="radio" value="false" name="subscription.display" checked="checked"/> no
2016               </xsl:otherwise>
2017             </xsl:choose>
2018           </td>
2019         </tr>
2020         <tr>
2021           <th>Style:</th>
2022           <td>
2023             <xsl:variable name="subStyle" select="style"/>
2024             <input type="text" value="{$subStyle}" name="subscription.style" size="60"/>
2025           </td>
2026         </tr>
2027         <tr>
2028           <th>Unremoveable:</th>
2029           <td>
2030             <xsl:variable name="subUnremoveable" select="subscription.unremoveable"/>
2031             <xsl:choose>
2032               <xsl:when test="$subUnremoveable = 'true'">
2033                 <input type="radio" value="true" name="unremoveable" size="60" checked="checked"/> true
2034                 <input type="radio" value="false" name="unremoveable" size="60"/> false
2035               </xsl:when>
2036               <xsl:otherwise>
2037                 <input type="radio" value="true" name="unremoveable" size="60"/> true
2038                 <input type="radio" value="false" name="unremoveable" size="60" checked="checked"/> false
2039               </xsl:otherwise>
2040             </xsl:choose>
2041           </td>
2042         </tr>
2043       </table>
2044       <table border="0" id="submitTable">
2045         <tr>
2046           <td>
2047             <input type="submit" name="updateSubscription" value="Update Subscription"/>
2048             <input type="submit" name="cancelled" value="Cancel"/>
2049             <input type="reset" value="Reset"/>
2050           </td>
2051           <td align="right">
2052             <input type="submit" name="delete" value="Delete Subscription"/>
2053           </td>
2054         </tr>
2055       </table>
2056     </form>
2057   </xsl:template>
2058
2059   <xsl:template name="subscriptionList">
2060     <h3>Current subscriptions</h3>
2061     <table id="commonListTable">
2062       <tr>
2063         <th>Name</th>
2064         <th>URI</th>
2065         <th>Style</th>
2066         <th>Display</th>
2067         <th>Unremoveable</th>
2068         <th>External</th>
2069         <th>Deleted?</th>
2070       </tr>
2071       <xsl:for-each select="subscription">
2072         <!--<xsl:sort select="name" order="ascending" case-order="upper-first"/>-->
2073         <tr>
2074           <td>
2075             <xsl:variable name="subname" select="name"/>
2076             <a href="{$subscriptions-fetchForUpdate}&amp;subname={$subname}">
2077               <xsl:value-of select="name"/>
2078             </a>
2079           </td>
2080           <td>
2081             <xsl:value-of select="uri"/>
2082           </td>
2083           <td>
2084             <xsl:value-of select="style"/>
2085           </td>
2086           <td class="center">
2087             <xsl:if test="display='true'">
2088               <img src="{$resourcesRoot}/resources/greenCheckIcon.gif" width="13" height="13" alt="true" border="0"/>
2089             </xsl:if>
2090           </td>
2091           <td class="center">
2092             <xsl:if test="unremoveable='true'">
2093               <img src="{$resourcesRoot}/resources/redCheckIcon.gif" width="13" height="13" alt="true" border="0"/>
2094             </xsl:if>
2095           </td>
2096           <td class="center">
2097             <xsl:if test="internal='false'">
2098               <img src="{$resourcesRoot}/resources/greenCheckIcon.gif" width="13" height="13" alt="true" border="0"/>
2099             </xsl:if>
2100           </td>
2101           <td class="center">
2102             <xsl:if test="calendarDeleted='true'">
2103               <img src="{$resourcesRoot}/resources/redCheckIcon.gif" width="13" height="13" alt="true" border="0"/>
2104             </xsl:if>
2105           </td>
2106         </tr>
2107       </xsl:for-each>
2108     </table>
2109     <!--<h4><a href="{$subscriptions-initAdd}&amp;calUri=please enter a calendar uri">Subscribe to a remote calendar</a> (by URI)</h4>-->
2110   </xsl:template>
2111
2112   <!--+++++++++++++++ Views ++++++++++++++++++++-->
2113   <xsl:template match="views" mode="viewList">
2114
2115     <h3>Add a new view</h3>
2116     <form name="addView" action="{$view-addView}" method="post">
2117       <input type="text" name="name" size="60"/>
2118       <input type="submit" value="add view" name="addview"/>
2119     </form>
2120
2121     <h3>Views</h3>
2122     <table id="commonListTable">
2123       <tr>
2124         <th>Name</th>
2125         <th>Included subscriptions</th>
2126       </tr>
2127
2128       <xsl:for-each select="view">
2129         <!--<xsl:sort select="name" order="ascending" case-order="upper-first"/>-->
2130         <tr>
2131           <td>
2132             <xsl:variable name="viewName" select="name"/>
2133             <a href="{$view-fetchForUpdate}&amp;name={$viewName}">
2134               <xsl:value-of select="name"/>
2135             </a>
2136           </td>
2137           <td>
2138             <xsl:for-each select="subscriptions/subscription">
2139               <xsl:value-of select="name"/>
2140               <xsl:if test="position()!=last()">, </xsl:if>
2141             </xsl:for-each>
2142           </td>
2143         </tr>
2144       </xsl:for-each>
2145     </table>
2146   </xsl:template>
2147
2148   <xsl:template name="modView">
2149     <h2>Update View</h2>
2150     <xsl:variable name="viewName" select="/bedeworkadmin/views/view/name"/>
2151     <h3 class="viewName"><xsl:value-of select="$viewName"/></h3>
2152     <table id="viewsTable">
2153       <tr>
2154         <td class="subs">
2155           <h3>Available Subscriptions:</h3>
2156
2157           <table class="subscriptionsListSubs">
2158             <xsl:for-each select="/bedeworkadmin/subscriptions/subscription">
2159               <!--<xsl:sort select="name" order="ascending" case-order="upper-first"/>-->
2160               <xsl:if test="not(/bedeworkadmin/views/view/subscriptions/subscription/name=name)">
2161                 <tr>
2162                   <td>
2163                     <xsl:value-of select="name"/>
2164                   </td>
2165                   <td class="arrows">
2166                     <xsl:variable name="subAddName" select="name"/>
2167                     <a href="{$view-update}&amp;name={$viewName}&amp;add={$subAddName}">
2168                       <img src="{$resourcesRoot}/resources/arrowRight.gif"
2169                         width="13" height="13" border="0"
2170                         alt="add subscription"/>
2171                     </a>
2172                   </td>
2173                 </tr>
2174               </xsl:if>
2175             </xsl:for-each>
2176           </table>
2177         </td>
2178         <td class="view">
2179           <h3>Active Subscriptions:</h3>
2180           <table class="subscriptionsListView">
2181             <xsl:for-each select="/bedeworkadmin/views/view/subscriptions/subscription">
2182               <!--<xsl:sort select="name" order="ascending" case-order="upper-first"/>-->
2183               <tr>
2184                 <td class="arrows">
2185                   <xsl:variable name="subRemoveName" select="name"/>
2186                   <a href="{$view-update}&amp;name={$viewName}&amp;remove={$subRemoveName}">
2187                     <img src="{$resourcesRoot}/resources/arrowLeft.gif"
2188                         width="13" height="13" border="0"
2189                         alt="add subscription"/>
2190                   </a>
2191                 </td>
2192                 <td>
2193                   <xsl:value-of select="name"/>
2194                 </td>
2195               </tr>
2196             </xsl:for-each>
2197           </table>
2198         </td>
2199       </tr>
2200     </table>
2201     <table border="0" id="submitTable">
2202       <tr>
2203         <td>
2204           <input type="button" name="return" value="Return to Views Listing" onclick="javascript:location.replace('{$view-fetch}')"/>
2205         </td>
2206         <td align="right">
2207           <form name="deleteViewForm" action="{$view-fetchForUpdate}" method="post">
2208             <input type="submit" name="deleteButton" value="Delete View"/>
2209             <input type="hidden" name="name" value="{$viewName}"/>
2210             <input type="hidden" name="delete" value="yes"/>
2211           </form>
2212         </td>
2213       </tr>
2214     </table>
2215   </xsl:template>
2216
2217   <xsl:template name="deleteViewConfirm">
2218     <h2>Remove View?</h2>
2219
2220     <xsl:variable name="viewName" select="/bedeworkadmin/views/view/name"/>
2221     <p>The following view will be removed. Continue?</p>
2222
2223     <h3 class="viewName"><xsl:value-of select="$viewName"/></h3>
2224     <form name="removeView" action="{$view-remove}">
2225       <input type="hidden" name="name" value="{$viewName}"/>
2226       <input type="submit" name="delete" value="Yes: Remove View"/>
2227       <input type="submit" name="cancelled" value="No: Cancel"/>
2228     </form>
2229
2230   </xsl:template>
2231
2232   <!--+++++++++++++++ System Parameters (preferences) ++++++++++++++++++++-->
2233   <xsl:template name="modSyspars">
2234     <h2>Modify System Parameters</h2>
2235     <p>
2236       Do not change unless you know what you're doing.<br/>
2237       Changes to these parameters have wide impact on the system.
2238     </p>
2239     <form name="systemParamsForm" action="{$system-update}" method="post">
2240       <table class="eventFormTable">
2241         <tr>
2242           <th>Default timezone:</th>
2243           <td>
2244             <xsl:variable name="tzid" select="/bedeworkadmin/system/tzid"/>
2245             <input value="{$tzid}" name="tzid" size="20"/>
2246           </td>
2247           <td>
2248             Default timezone id for date/time values. This should normally be your local timezone
2249           </td>
2250         </tr>
2251         <tr>
2252           <th>Default user view name:</th>
2253           <td>
2254             <xsl:variable name="defaultViewName" select="/bedeworkadmin/system/defaultUserViewName"/>
2255             <input value="{$defaultViewName}" name="defaultUserViewName" size="20"/>
2256           </td>
2257           <td>
2258             Name used for default view created when a new user is added
2259           </td>
2260         </tr>
2261         <tr>
2262           <th>Http connections per user:</th>
2263           <td>
2264             <xsl:variable name="httpPerUser" select="/bedeworkadmin/system/httpConnectionsPerUser"/>
2265             <input value="{$httpPerUser}" name="httpConnectionsPerUser" size="20"/>
2266           </td>
2267           <td>
2268           </td>
2269         </tr>
2270         <tr>
2271           <th>Http connections per host:</th>
2272           <td>
2273             <xsl:variable name="httpPerHost" select="/bedeworkadmin/system/httpConnectionsPerHost"/>
2274             <input value="{$httpPerHost}" name="httpConnectionsPerHost" size="20"/>
2275           </td>
2276           <td>
2277           </td>
2278         </tr>
2279         <tr>
2280           <th>Total http connections:</th>
2281           <td>
2282             <xsl:variable name="httpTotal" select="/bedeworkadmin/system/httpConnections"/>
2283             <input value="{$httpTotal}" name="httpConnections" size="20"/>
2284           </td>
2285           <td>
2286           </td>
2287         </tr>
2288         <tr>
2289           <th>Default user quota:</th>
2290           <td>
2291             <xsl:variable name="defaultUserQuota" select="/bedeworkadmin/system/defaultUserQuota"/>
2292             <input value="{$defaultUserQuota}" name="defaultUserQuota" size="20"/>
2293           </td>
2294           <td>
2295           </td>
2296         </tr>
2297       </table>
2298       <table border="0" id="submitTable">
2299         <tr>
2300           <td>
2301             <input type="submit" name="updateSystemParams" value="Update"/>
2302             <input type="submit" name="cancelled" value="Cancel"/>
2303             <input type="reset" value="Reset"/>
2304           </td>
2305         </tr>
2306       </table>
2307     </form>
2308   </xsl:template>
2309
2310   <!--+++++++++++++++ Timezones ++++++++++++++++++++-->
2311   <xsl:template name="uploadTimezones">
2312     <h2>Upload Timezones</h2>
2313     <form name="peForm" method="post" action="{$timezones-upload}" enctype="multipart/form-data">
2314       <input type="file" name="uploadFile" size="40" value=""/>
2315       <input type="submit" name="doUpload" value="Upload Timezones"/>
2316       <input type="submit" name="cancelled" value="Cancel"/>
2317     </form>
2318   </xsl:template>
2319
2320   <!--+++++++++++++++ Authuser ++++++++++++++++++++-->
2321   <xsl:template name="authUserList">
2322     <h2>Modify Administrators</h2>
2323
2324     <div id="authUserInputForms">
2325       <form name="getUserRolesForm" action="{$authuser-fetchForUpdate}" method="post">
2326         Edit admin roles by userid: <input type="text" name="editAuthUserId" size="20"/>
2327         <input type="submit" value="go" name="submit"/>
2328       </form>
2329     </div>
2330
2331     <table id="commonListTable">
2332       <tr>
2333         <th>UserId</th>
2334         <th>Roles</th>
2335         <th></th>
2336       </tr>
2337
2338       <xsl:for-each select="bedeworkadmin/authUsers/authUser">
2339         <!--<xsl:sort select="account" order="ascending" case-order="upper-first"/>-->
2340         <tr>
2341           <td>
2342             <xsl:value-of select="account"/>
2343           </td>
2344           <td>
2345             <xsl:if test="publicEventUser='true'">
2346               publicEvent; <xsl:text> </xsl:text>
2347             </xsl:if>
2348             <xsl:if test="superUser='true'">
2349               superUser; <xsl:text> </xsl:text>
2350             </xsl:if>
2351             <xsl:if test="alertUser='true'">
2352               alert; <xsl:text> </xsl:text>
2353             </xsl:if>
2354           </td>
2355           <td>
2356             <xsl:variable name="account" select="account"/>
2357             <a href="{$authuser-fetchForUpdate}&amp;editAuthUserId={$account}">
2358               edit
2359             </a>
2360           </td>
2361         </tr>
2362       </xsl:for-each>
2363     </table>
2364   </xsl:template>
2365
2366   <xsl:template name="modAuthUser">
2367     <h2>Update Administrator</h2>
2368     <xsl:variable name="modAuthUserAction" select="/bedeworkadmin/formElements/form/@action"/>
2369     <form action="{$modAuthUserAction}" method="post">
2370       <table id="eventFormTable">
2371         <tr>
2372           <td class="fieldName">
2373             Account:
2374           </td>
2375           <td>
2376             <xsl:value-of select="/bedeworkadmin/formElements/form/account"/>
2377           </td>
2378         </tr>
2379         <tr>
2380           <td class="fieldName">
2381             Alerts:
2382           </td>
2383           <td>
2384             <xsl:copy-of select="/bedeworkadmin/formElements/form/alerts/*"/>
2385           </td>
2386         </tr>
2387         <tr>
2388           <td class="fieldName">
2389             Public Events:
2390           </td>
2391           <td>
2392             <xsl:copy-of select="/bedeworkadmin/formElements/form/publicEvents/*"/>
2393           </td>
2394         </tr>
2395         <tr>
2396           <td class="fieldName">
2397             Super User:
2398           </td>
2399           <td>
2400             <xsl:copy-of select="/bedeworkadmin/formElements/form/superUser/*"/>
2401           </td>
2402         </tr>
2403         <!--<tr>
2404           <td class="optional">
2405             Email:
2406           </td>
2407           <td>
2408             <xsl:copy-of select="/bedeworkadmin/formElements/form/email/*"/>
2409             <span class="fieldInfo"></span>
2410           </td>
2411         </tr>
2412         <tr>
2413           <td class="optional">
2414             Phone:
2415           </td>
2416           <td>
2417             <xsl:copy-of select="/bedeworkadmin/formElements/form/phone/*"/>
2418             <span class="fieldInfo"></span>
2419           </td>
2420         </tr>
2421         <tr>
2422           <td class="optional">
2423             Department:
2424           </td>
2425           <td>
2426             <xsl:copy-of select="/bedeworkadmin/formElements/form/dept/*"/>
2427             <span class="fieldInfo"></span>
2428           </td>
2429         </tr>
2430         <tr>
2431           <td class="optional">
2432             Last name:
2433           </td>
2434           <td>
2435             <xsl:copy-of select="/bedeworkadmin/formElements/form/lastName/*"/>
2436             <span class="fieldInfo"></span>
2437           </td>
2438         </tr>
2439         <tr>
2440           <td class="optional">
2441             First name:
2442           </td>
2443           <td>
2444             <xsl:copy-of select="/bedeworkadmin/formElements/form/firstName/*"/>
2445             <span class="fieldInfo"></span>
2446           </td>
2447         </tr>-->
2448       </table>
2449       <br />
2450
2451       <input type="submit" name="modAuthUser" value="Update"/>
2452       <input type="reset" value="Reset"/>
2453       <input type="submit" name="cancelled" value="Cancel"/>
2454     </form>
2455   </xsl:template>
2456
2457   <!--+++++++++++++++ User Prefs ++++++++++++++++++++-->
2458   <xsl:template name="modPrefs">
2459     <h2>Edit User Preferences</h2>
2460     <form name="userPrefsForm" method="post" action="{$prefs-update}">
2461       <table id="eventFormTable">
2462         <tr>
2463           <td class="fieldName">
2464             User:
2465           </td>
2466           <td>
2467             <xsl:value-of select="/bedeworkadmin/prefs/user"/>
2468             <xsl:variable name="user" select="/bedeworkadmin/prefs/user"/>
2469             <input type="hidden" name="user" value="{$user}"/>
2470           </td>
2471         </tr>
2472         <tr>
2473           <td class="fieldName">
2474             Preferred view:
2475           </td>
2476           <td>
2477             <xsl:variable name="preferredView" select="/bedeworkadmin/prefs/preferredView"/>
2478             <input type="text" name="preferredView" value="{$preferredView}" size="40"/>
2479           </td>
2480         </tr>
2481         <tr>
2482           <td class="fieldName">
2483             Preferred view period:
2484           </td>
2485           <td>
2486             <xsl:variable name="preferredViewPeriod" select="/bedeworkadmin/prefs/preferredViewPeriod"/>
2487             <select name="viewPeriod">
2488               <!-- picking the selected item could be done with javascript. for
2489                    now, this will do.  -->
2490               <xsl:choose>
2491                 <xsl:when test="$preferredViewPeriod = 'dayView'">
2492                   <option value="dayView" selected="selected">day</option>
2493                 </xsl:when>
2494                 <xsl:otherwise>
2495                   <option value="dayView">day</option>
2496                 </xsl:otherwise>
2497               </xsl:choose>
2498               <xsl:choose>
2499                 <xsl:when test="$preferredViewPeriod = 'todayView'">
2500                   <option value="todayView" selected="selected">today</option>
2501                 </xsl:when>
2502                 <xsl:otherwise>
2503                   <option value="todayView">today</option>
2504                 </xsl:otherwise>
2505               </xsl:choose>
2506               <xsl:choose>
2507                 <xsl:when test="$preferredViewPeriod = 'weekView'">
2508                   <option value="weekView" selected="selected">week</option>
2509                 </xsl:when>
2510                 <xsl:otherwise>
2511                   <option value="weekView">week</option>
2512                 </xsl:otherwise>
2513               </xsl:choose>
2514               <xsl:choose>
2515                 <xsl:when test="$preferredViewPeriod = 'monthView'">
2516                   <option value="monthView" selected="selected">month</option>
2517                 </xsl:when>
2518                 <xsl:otherwise>
2519                   <option value="monthView">month</option>
2520                 </xsl:otherwise>
2521               </xsl:choose>
2522               <xsl:choose>
2523                 <xsl:when test="$preferredViewPeriod = 'yearView'">
2524                   <option value="yearView" selected="selected">year</option>
2525                 </xsl:when>
2526                 <xsl:otherwise>
2527                   <option value="yearView">year</option>
2528                 </xsl:otherwise>
2529               </xsl:choose>
2530             </select>
2531           </td>
2532         </tr>
2533         <tr>
2534           <td class="fieldName">
2535             Skin name:
2536           </td>
2537           <td>
2538             <xsl:variable name="skinName" select="/bedeworkadmin/prefs/skinName"/>
2539             <input type="text" name="skin" value="{$skinName}" size="40"/>
2540           </td>
2541         </tr>
2542         <tr>
2543           <td class="fieldName">
2544             Skin style:
2545           </td>
2546           <td>
2547             <xsl:variable name="skinStyle" select="/bedeworkadmin/prefs/skinStyle"/>
2548             <input type="text" name="skinStyle" value="{$skinStyle}" size="40"/>
2549           </td>
2550         </tr>
2551       </table>
2552       <br />
2553
2554       <input type="submit" name="modPrefs" value="Update"/>
2555       <input type="reset" value="Reset"/>
2556       <input type="submit" name="cancelled" value="Cancel"/>
2557     </form>
2558   </xsl:template>
2559
2560   <!--+++++++++++++++ Admin Groups ++++++++++++++++++++-->
2561   <xsl:template name="listAdminGroups">
2562     <h2>Modify Groups</h2>
2563     <form name="adminGroupMembersForm" method="post" action="{$admingroup-initUpdate}">
2564       <xsl:choose>
2565         <xsl:when test="/bedeworkadmin/groups/showMembers='true'">
2566           <input type="radio" name="showAgMembers" value="false" onclick="document.adminGroupMembersForm.submit();"/>
2567           Hide members
2568           <input type="radio" name="showAgMembers" value="true" checked="checked" onclick="document.adminGroupMembersForm.submit();"/>
2569           Show members
2570         </xsl:when>
2571         <xsl:otherwise>
2572           <input type="radio" name="showAgMembers" value="false" checked="checked" onclick="document.adminGroupMembersForm.submit();"/>
2573           Hide members
2574           <input type="radio" name="showAgMembers" value="true" onclick="document.adminGroupMembersForm.submit();"/>
2575           Show members
2576         </xsl:otherwise>
2577       </xsl:choose>
2578     </form>
2579
2580     <p>Click on the group name to modify the group owner or description.<br/>
2581     Click "add/remove members" to modify group membership.</p>
2582     <p><input type="button" name="return" onclick="javascript:location.replace('{$admingroup-initAdd}')" value="Add a new group"/></p>
2583     <table id="commonListTable">
2584       <tr>
2585         <th>Name</th>
2586         <th>Description</th>
2587         <xsl:if test="/bedeworkadmin/groups/showMembers='true'">
2588           <th>Members</th>
2589         </xsl:if>
2590         <th></th>
2591       </tr>
2592       <xsl:for-each select="/bedeworkadmin/groups/group">
2593         <!--<xsl:sort select="name" order="ascending" case-order="upper-first"/>-->
2594         <xsl:variable name="groupName" select="name"/>
2595         <tr>
2596           <td>
2597             <a href="{$admingroup-fetchForUpdate}&amp;adminGroupName={$groupName}">
2598               <xsl:value-of select="name"/>
2599             </a>
2600           </td>
2601           <td>
2602             <xsl:value-of select="desc"/>
2603           </td>
2604           <xsl:if test="/bedeworkadmin/groups/showMembers='true'">
2605             <td>
2606               <xsl:for-each select="members/member/account">
2607                   <xsl:value-of select="."/>&#160;
2608               </xsl:for-each>
2609             </td>
2610           </xsl:if>
2611           <td>
2612             <a href="{$admingroup-fetchForUpdateMembers}&amp;adminGroupName={$groupName}">Add/Remove members</a>
2613           </td>
2614         </tr>
2615       </xsl:for-each>
2616     </table>
2617     <p><input type="button" name="return" onclick="javascript:location.replace('{$admingroup-initAdd}')" value="Add a new group"/></p>
2618   </xsl:template>
2619
2620   <xsl:template match="groups" mode="chooseGroup">
2621     <h2>Choose Your Administrative Group</h2>
2622
2623     <table id="commonListTable">
2624
2625       <tr>
2626         <th>Name</th>
2627         <th>Description</th>
2628       </tr>
2629
2630       <xsl:for-each select="group">
2631         <!--<xsl:sort select="name" order="ascending" case-order="upper-first"/>-->
2632         <tr>
2633           <td>
2634             <xsl:variable name="admGroupName" select="name"/>
2635             <a href="{$setup}&amp;adminGroupName={$admGroupName}">
2636               <xsl:copy-of select="name"/>
2637             </a>
2638           </td>
2639           <td>
2640             <xsl:value-of select="desc"/>
2641           </td>
2642         </tr>
2643       </xsl:for-each>
2644     </table>
2645   </xsl:template>
2646
2647   <xsl:template name="modAdminGroup">
2648     <xsl:choose>
2649       <xsl:when test="/bedeworkadmin/creating = 'true'">
2650         <h2>Add Group</h2>
2651       </xsl:when>
2652       <xsl:otherwise>
2653         <h2>Modify Group</h2>
2654       </xsl:otherwise>
2655     </xsl:choose>
2656     <form name="peForm" method="post" action="{$admingroup-update}">
2657       <table id="adminGroupFormTable">
2658         <tr>
2659           <td class="fieldName">
2660             Name:
2661           </td>
2662           <td>
2663             <xsl:choose>
2664               <xsl:when test="/bedeworkadmin/creating = 'true'">
2665                 <xsl:copy-of select="/bedeworkadmin/formElements/form/name/*"/>
2666               </xsl:when>
2667               <xsl:otherwise>
2668                 <xsl:value-of  select="/bedeworkadmin/formElements/form/name"/>
2669               </xsl:otherwise>
2670             </xsl:choose>
2671           </td>
2672         </tr>
2673         <tr>
2674           <td class="fieldName">
2675             Description:
2676           </td>
2677           <td>
2678             <xsl:copy-of select="/bedeworkadmin/formElements/form/desc/*"/>
2679           </td>
2680         </tr>
2681         <tr>
2682           <td class="fieldName">
2683             Group owner:
2684           </td>
2685           <td>
2686             <xsl:copy-of select="/bedeworkadmin/formElements/form/groupOwner/*"/>
2687           </td>
2688         </tr>
2689         <tr>
2690           <td class="fieldName">
2691             Events owner:
2692           </td>
2693           <td>
2694             <xsl:copy-of select="/bedeworkadmin/formElements/form/eventsOwner/*"/>
2695           </td>
2696         </tr>
2697       </table>
2698       <table border="0" id="submitTable">
2699         <tr>
2700           <td>
2701             <xsl:choose>
2702               <xsl:when test="/bedeworkadmin/creating = 'true'">
2703                 <input type="submit" name="updateAdminGroup" value="Add Admin Group"/>
2704                 <input type="submit" name="cancelled" value="Cancel"/>
2705                 <input type="reset" value="Clear"/>
2706               </xsl:when>
2707               <xsl:otherwise>
2708                 <input type="submit" name="updateAdminGroup" value="Update Admin Group"/>
2709                 <input type="submit" name="cancelled" value="Cancel"/>
2710                 <input type="reset" value="Reset"/>
2711               </xsl:otherwise>
2712             </xsl:choose>
2713           </td>
2714           <td align="right">
2715             <input type="submit" name="delete" value="Delete"/>
2716           </td>
2717         </tr>
2718       </table>
2719     </form>
2720   </xsl:template>
2721
2722   <xsl:template name="modAdminGroupMembers">
2723     <h2>Update Group Membership</h2>
2724     <p>Enter a userid (for user or group) and click "add" to update group membership.
2725     Click the trash icon to remove a user from the group.</p>
2726
2727     <form name="adminGroupMembersForm" method="post" action="{$admingroup-updateMembers}">
2728       <p>Add member:
2729         <input type="text" name="updGroupMember" size="15"/>
2730         <input type="radio" value="user" name="kind" checked="checked"/>user
2731         <input type="radio" value="group" name="kind"/>group
2732         <input type="submit" name="addGroupMember" value="Add"/>
2733       </p>
2734     </form>
2735     <p><input type="button" name="return" onclick="javascript:location.replace('{$admingroup-initUpdate}')" value="Return to Admin Group listing"/></p>
2736
2737     <table id="adminGroupFormTable">
2738       <tr>
2739         <td class="fieldName">
2740           Name:
2741         </td>
2742         <td>
2743           <xsl:value-of select="/bedeworkadmin/adminGroup/name"/>
2744         </td>
2745       </tr>
2746       <tr>
2747         <td class="fieldName">
2748           Members:
2749         </td>
2750         <td>
2751           <table id="memberAccountList">
2752             <xsl:for-each select="/bedeworkadmin/adminGroup/members/member">
2753               <!--<xsl:sort select="account" order="ascending" case-order="upper-first"/>-->
2754               <tr>
2755                 <td>
2756                   <xsl:choose>
2757                     <xsl:when test="kind='0'"><img src="{$resourcesRoot}/resources/userIcon.gif" width="13" height="13" border="0" alt="user"/></xsl:when>
2758                     <xsl:when test="kind='1'"><img src="{$resourcesRoot}/resources/groupIcon.gif" width="13" height="13" border="0" alt="group"/></xsl:when>
2759                     <xsl:when test="kind='3'"></xsl:when>
2760                     <xsl:otherwise></xsl:otherwise>
2761                   </xsl:choose>
2762                 </td>
2763                 <td>
2764                   <xsl:value-of select="account"/>
2765                 </td>
2766                 <td>
2767                   <xsl:variable name="acct" select="account"/>
2768                   <a href="{$admingroup-updateMembers}&amp;removeGroupMember={$acct}" title="remove">
2769                     <img src="{$resourcesRoot}/resources/trashIcon.gif" width="13" height="13" border="0" alt="remove"/>
2770                   </a>
2771                 </td>
2772               </tr>
2773             </xsl:for-each>
2774           </table>
2775         </td>
2776       </tr>
2777     </table>
2778     <p>
2779       <img src="{$resourcesRoot}/resources/userIcon.gif" width="13" height="13" border="0" alt="user"/> user,
2780       <img src="{$resourcesRoot}/resources/groupIcon.gif" width="13" height="13" border="0" alt="group"/> group
2781     </p>
2782   </xsl:template>
2783
2784   <xsl:template name="deleteAdminGroupConfirm">
2785     <h2>Delete Admin Group?</h2>
2786     <p>The following group will be deleted. Continue?</p>
2787     <p>
2788       <strong><xsl:value-of select="/bedeworkadmin/groups/group/name"/></strong>:
2789       <xsl:value-of select="/bedeworkadmin/groups/group/desc"/>
2790     </p>
2791     <form  name="adminGroupDelete" method="post" action="{$admingroup-delete}">
2792       <input type="submit" name="removeAdminGroupOK" value="Yes: Delete!"/>
2793       <input type="submit" name="cancelled" value="No: Cancel"/>
2794     </form>
2795   </xsl:template>
2796
2797   <!--+++++++++++++++ System Stats ++++++++++++++++++++-->
2798
2799   <xsl:template match="sysStats" mode="showSysStats">
2800     <h2>System Statistics</h2>
2801
2802     <p>
2803       Stats collection:
2804     </p>
2805     <ul>
2806       <li>
2807         <a href="{$stats-update}&amp;enable=yes">enable</a> |
2808         <a href="{$stats-update}&amp;disable=yes">disable</a>
2809       </li>
2810       <li><a href="{$stats-update}&amp;fetch=yes">fetch statistics</a></li>
2811       <li><a href="{$stats-update}&amp;dump=yes">dump stats to log</a></li>
2812     </ul>
2813     <table id="statsTable" cellpadding="0">
2814       <xsl:for-each select="*">
2815         <xsl:choose>
2816           <xsl:when test="name(.) = 'header'">
2817             <tr>
2818               <th colspan="2">
2819                 <xsl:value-of select="."/>
2820               </th>
2821             </tr>
2822           </xsl:when>
2823           <xsl:otherwise>
2824             <tr>
2825               <td class="label">
2826                 <xsl:value-of select="label"/>
2827               </td>
2828               <td class="value">
2829                 <xsl:value-of select="value"/>
2830               </td>
2831             </tr>
2832           </xsl:otherwise>
2833         </xsl:choose>
2834       </xsl:for-each>
2835     </table>
2836   </xsl:template>
2837
2838   <!--==== HEADER TEMPLATES and NAVIGATION  ====-->
2839
2840   <xsl:template name="header">
2841     <div id="header">
2842       <a href="http://www.bedework.org">
2843         <img id="logo"
2844           alt="logo"
2845           src="{$resourcesRoot}/resources/bedeworkAdminLogo.gif"
2846           width="217"
2847           height="40"
2848           border="0"/>
2849       </a>
2850       <!-- set the page heading: -->
2851       <h1>
2852         <xsl:choose>
2853           <xsl:when test="/bedeworkadmin/page='modEvent' or
2854                           /bedeworkadmin/page='eventList' or
2855                           /bedeworkadmin/page='displayEvent'">
2856             Manage Events
2857           </xsl:when>
2858           <xsl:when test="/bedeworkadmin/page='sponsorList' or
2859                           /bedeworkadmin/page='modSponsor' or
2860                           /bedeworkadmin/page='deleteSponsorConfirm'">
2861             Manage Contacts
2862           </xsl:when>
2863           <xsl:when test="/bedeworkadmin/page='locationList' or
2864                           /bedeworkadmin/page='modLocation' or
2865                           /bedeworkadmin/page='deleteLocationConfirm'">
2866             Manage Locations
2867           </xsl:when>
2868           <xsl:when test="/bedeworkadmin/page='calendarList' or
2869                           /bedeworkadmin/page='modCalendar' or
2870                           /bedeworkadmin/page='calendarReferenced' or
2871                           /bedeworkadmin/page='deleteCalendarConfirm'">
2872             Manage Calendars
2873           </xsl:when>
2874           <xsl:when test="/bedeworkadmin/page='calendarDescriptions' or
2875                           /bedeworkadmin/page='displayCalendar'">
2876             Public Calendars
2877           </xsl:when>
2878           <xsl:when test="/bedeworkadmin/page='subscriptions' or
2879                           /bedeworkadmin/page='modSubscription'">
2880             Manage Subscriptions
2881           </xsl:when>
2882           <xsl:when test="/bedeworkadmin/page='views' or
2883                           /bedeworkadmin/page='modView'">
2884             Manage Views
2885           </xsl:when>
2886           <xsl:when test="/bedeworkadmin/page='modSyspars'">
2887             Manage System Preferences
2888           </xsl:when>
2889           <xsl:when test="/bedeworkadmin/page='authUserList' or
2890                           /bedeworkadmin/page='modAuthUser'">
2891             Manage Public Events Administrators
2892           </xsl:when>
2893           <xsl:when test="/bedeworkadmin/page='chooseGroup'">
2894             Choose Administrative Group
2895           </xsl:when>
2896           <xsl:when test="/bedeworkadmin/page='adminGroupList' or
2897                           /bedeworkadmin/page='modAdminGroup' or
2898                           /bedeworkadmin/page='modAdminGroup' or
2899                           /bedeworkadmin/page='modAdminGroupMembers'">
2900             Manage Administrative Groups
2901           </xsl:when>
2902           <xsl:when test="/bedeworkadmin/page='noGroup'">
2903             No Administrative Group
2904           </xsl:when>
2905           <xsl:when test="/bedeworkadmin/page='uploadTimezones'">
2906             Manage Time Zones
2907           </xsl:when>
2908           <xsl:when test="/bedeworkadmin/page='noAccess'">
2909             Access Denied
2910           </xsl:when>
2911           <xsl:when test="/bedeworkadmin/page='error'">
2912             Error
2913           </xsl:when>
2914           <xsl:otherwise>
2915             Bedework Calendar Administration
2916           </xsl:otherwise>
2917         </xsl:choose>
2918       </h1>
2919
2920       <xsl:if test="/bedeworkadmin/message">
2921         <div id="messages">
2922           <p><xsl:apply-templates select="/bedeworkadmin/message"/></p>
2923         </div>
2924       </xsl:if>
2925       <xsl:if test="/bedeworkadmin/error">
2926         <div id="errors">
2927           <p><xsl:apply-templates select="/bedeworkadmin/error"/></p>
2928         </div>
2929       </xsl:if>
2930
2931     </div>
2932     <table id="statusBarTable">
2933       <tr>
2934         <td class="leftCell">
2935           <a href="{$setup}">Main Menu</a> |
2936           <a href="{$publicCal}" target="calendar">Launch Calendar</a> |
2937           <a href="{$logout}">Log Out</a> |
2938           <!-- Enable the following two items when debugging skins only -->
2939           <a href="?refreshXslt=yes">Refresh XSL</a> |
2940           <a href="?noxslt=yes">Show XML</a> (view source)
2941         </td>
2942         <xsl:if test="/bedeworkadmin/userInfo/user">
2943           <td class="rightCell">
2944             Logged in as:
2945             <span class="status">
2946               <xsl:value-of select="/bedeworkadmin/userInfo/user"/>
2947             </span>
2948             &#160;
2949             <xsl:if test="/bedeworkadmin/userInfo/group">
2950               Group:
2951               <span class="status">
2952                 <xsl:value-of select="/bedeworkadmin/userInfo/group"/>
2953               </span>
2954             </xsl:if>
2955           </td>
2956         </xsl:if>
2957       </tr>
2958     </table>
2959     <div id="titleBar">
2960       CALENDAR of EVENTS
2961     </div>
2962   </xsl:template>
2963
2964   <!--==== FOOTER ====-->
2965   <xsl:template name="footer">
2966     <div id="footer">
2967       <a href="http://www.bedework.org/">Bedework website</a>
2968     </div>
2969   </xsl:template>
2970 </xsl:stylesheet>
Note: See TracBrowser for help on using the browser.