Changeset 3608

Show
Ignore:
Timestamp:
07/27/12 12:10:22
Author:
johnsa
Message:

Release of Bedework registration UI components for 3.8

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • releases/bedework-3.8/deployment/resources/javascript/bedework/bedeworkXProperties.js

    r3499 r3608  
    3636var bwXPropertySubmitterEmail = "X-BEDEWORK-SUBMITTER-EMAIL"; 
    3737var bwXPropertySubmissionClaimant = "X-BEDEWORK-SUBMISSION-CLAIMANT"; 
     38var bwXPropertyMaxTickets = "X-BEDEWORK-MAX-TICKETS"; 
     39var bwXPropertyMaxTicketsPerUser = "X-BEDEWORK-MAX-TICKETS-PER-USER"; 
     40var bwXPropertyRegistrationStart = "X-BEDEWORK-REGISTRATION-START"; 
     41var bwXPropertyRegistrationEnd = "X-BEDEWORK-REGISTRATION-END"; 
     42var bwXPropertyInstanceOnly = "X-BEDEWORK-INSTANCE-ONLY"; 
     43 
    3844 
    3945var bwXParamDisplayName = "X-BEDEWORK-PARAM-DISPLAYNAME"; 
  • releases/bedework-3.8/deployment/resources/javascript/bedework/bwClock.css

    r3270 r3608  
    3939  background-color: white; 
    4040  border: 1px solid #ccb; 
     41  width: 280px; 
    4142} 
    4243.bwTimePicker .bwTimePickerCloser { 
  • releases/bedework-3.8/deployment/webadmin/webapp/resources/default/default/default.css

    r3519 r3608  
    484484        margin: 0.5em 2em 1em 0; 
    485485} 
     486label { 
     487        cursor: pointer; 
     488} 
    486489label.interiorLabel { 
    487490  display: block; 
     
    520523  margin-left: 1em; 
    521524  width: 160px; 
     525} 
     526#bwRegistrationFields { 
     527        margin: 1em; 
    522528} 
    523529.shown { 
  • releases/bedework-3.8/deployment/webadmin/webapp/resources/default/default/default.xsl

    r3579 r3608  
    6969       and can be safely removed if you so choose. --> 
    7070  <xsl:variable name="appRoot" select="/bedework/approot"/> 
     71   
     72  <!-- Registration module application context --> 
     73  <xsl:variable name="bwRegistrationRoot">/eventreg</xsl:variable> 
    7174 
    7275  <!-- Root folder of the submissions calendars used by the submissions client --> 
    7376  <xsl:variable name="submissionsRootEncoded" select="/bedework/submissionsRoot/encoded"/> 
    7477  <xsl:variable name="submissionsRootUnencoded" select="/bedework/submissionsRoot/unencoded"/> 
    75  
     78   
    7679  <!-- Properly encoded prefixes to the application actions; use these to build 
    7780       urls; allows the application to be used without cookies or within a portal. 
     
    294297                  // startdate 
    295298                  $("#bwEventWidgetStartDate").datepicker({ 
    296                     defaultDate: new Date(<xsl:value-of select="/bedework/formElements/form/start/yearText/input/@value"/>, <xsl:value-of select="number(/bedework/formElements/form/start/month/select/option[@selected = 'selected']/@value) - 1"/>, <xsl:value-of select="/bedework/formElements/form/start/day/select/option[@selected = 'selected']/@value"/>) 
     299                    <xsl:if test="/bedework/formElements/eventregAdminToken != '' and (/bedework/creating = 'true' or (translate(/bedework/formElements/form/start/rfc3339DateTime,'-:','') = /bedework/formElements/form/xproperties/X-BEDEWORK-REGISTRATION-END/values/text))">altField: "#xBwRegistrationClosesDate",</xsl:if><!--  
     300                 -->defaultDate: new Date(<xsl:value-of select="/bedework/formElements/form/start/yearText/input/@value"/>, <xsl:value-of select="number(/bedework/formElements/form/start/month/select/option[@selected = 'selected']/@value) - 1"/>, <xsl:value-of select="/bedework/formElements/form/start/day/select/option[@selected = 'selected']/@value"/>) 
    297301                  }).attr("readonly", "readonly"); 
    298302                  $("#bwEventWidgetStartDate").val('<xsl:value-of select="substring-before(/bedework/formElements/form/start/rfc3339DateTime,'T')"/>'); 
     
    364368                                pmLabel: "<xsl:value-of select="$bwStr-Cloc-PM"/>" 
    365369                              }); 
     370                               
     371                              <xsl:if test="/bedework/formElements/eventregAdminToken != ''"> 
     372                                      // registration open dates 
     373                          $("#xBwRegistrationOpensDate").datepicker().attr("readonly", "readonly"); 
     374                          $("#xBwRegistrationOpensDate").val('<xsl:value-of select="substring-before(/bedework/formElements/form/start/rfc3339DateTime,'T')"/>'); 
     375                                       
     376                                      // registration open time 
     377                          $("#xBwRegistrationOpensClock").bwTimePicker({ 
     378                            hour24: <xsl:value-of select="/bedework/hour24"/>, 
     379                            attachToId: "xBwRegistrationOpensTimeFields", 
     380                            hourIds: ["xBwRegistrationOpensHour"], 
     381                            minuteIds: ["xBwRegistrationOpensMinute"], 
     382                            ampmIds: ["xBwRegistrationOpensAmpm"], 
     383                            hourLabel: "<xsl:value-of select="$bwStr-Cloc-Hour"/>", 
     384                            minuteLabel: "<xsl:value-of select="$bwStr-Cloc-Minute"/>", 
     385                            amLabel: "<xsl:value-of select="$bwStr-Cloc-AM"/>", 
     386                            pmLabel: "<xsl:value-of select="$bwStr-Cloc-PM"/>" 
     387                          }); 
     388         
     389                          // registration close dates 
     390                          $("#xBwRegistrationClosesDate").datepicker().attr("readonly", "readonly"); 
     391                          $("#xBwRegistrationClosesDate").val('<xsl:value-of select="substring-before(/bedework/formElements/form/start/rfc3339DateTime,'T')"/>'); 
     392                           
     393                          // registration close time 
     394                          $("#xBwRegistrationClosesClock").bwTimePicker({ 
     395                            hour24: <xsl:value-of select="/bedework/hour24"/>, 
     396                            attachToId: "xBwRegistrationClosesTimeFields", 
     397                            hourIds: ["xBwRegistrationClosesHour"], 
     398                            minuteIds: ["xBwRegistrationClosesMinute"], 
     399                            ampmIds: ["xBwRegistrationClosesAmpm"], 
     400                            hourLabel: "<xsl:value-of select="$bwStr-Cloc-Hour"/>", 
     401                            minuteLabel: "<xsl:value-of select="$bwStr-Cloc-Minute"/>", 
     402                            amLabel: "<xsl:value-of select="$bwStr-Cloc-AM"/>", 
     403                            pmLabel: "<xsl:value-of select="$bwStr-Cloc-PM"/>" 
     404                          }); 
     405                        </xsl:if> 
    366406                } 
    367407                </xsl:comment> 
     
    369409            </xsl:otherwise> 
    370410          </xsl:choose> 
     411          <script type="text/javascript" src="/bedework-common/javascript/bedework/bedeworkUtil.js">&#160;</script> 
    371412          <script type="text/javascript" src="{$resourcesRoot}/resources/bedeworkEventForm.js">&#160;</script> 
    372413          <script type="text/javascript" src="/bedework-common/javascript/bedework/bedeworkXProperties.js">&#160;</script> 
     
    907948        <div id="searchFields"> 
    908949          <xsl:copy-of select="$bwStr-MMnu-Limit"/> 
    909           <input type="radio" name="searchLimits" value="fromToday" checked="checked"/><xsl:copy-of select="$bwStr-MMnu-TodayForward"/> 
    910           <input type="radio" name="searchLimits" value="beforeToday"/><xsl:copy-of select="$bwStr-MMnu-PastDates"/> 
    911           <input type="radio" name="searchLimits" value="none"/><xsl:copy-of select="$bwStr-MMnu-AddDates"/> 
     950          <input type="radio" name="searchLimits" id="bwSearchFromToday" value="fromToday" checked="checked"/> 
     951          <label for="bwSearchFromToday"> 
     952            <xsl:copy-of select="$bwStr-MMnu-TodayForward"/> 
     953          </label> 
     954          <input type="radio" name="searchLimits" id="bwSearchPastDates" value="beforeToday"/> 
     955          <label for="bwSearchPastDates"> 
     956            <xsl:copy-of select="$bwStr-MMnu-PastDates"/> 
     957          </label> 
     958          <input type="radio" name="searchLimits" id="bwSearchAllDates" value="none"/> 
     959          <label for="bwSearchAllDates"> 
     960            <xsl:copy-of select="$bwStr-MMnu-AddDates"/> 
     961          </label> 
    912962        </div> 
    913963      </form> 
     
    12041254              </xsl:when> 
    12051255              <xsl:otherwise> 
    1206                 <a href="{$event-fetchForUpdatePending}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}"> 
     1256                <a> 
     1257                  <xsl:choose> 
     1258                    <xsl:when test="recurrenceId != ''"> 
     1259                      <!-- recurrence instances should be updated like normal events - only master events should be published --> 
     1260                      <xsl:attribute name="href"><xsl:value-of select="$event-fetchForUpdate"/>&amp;calPath=<xsl:value-of select="$calPath"/>&amp;guid=<xsl:value-of select="$guid"/>&amp;recurrenceId=<xsl:value-of select="$recurrenceId"/></xsl:attribute> 
     1261                    </xsl:when> 
     1262                    <xsl:otherwise> 
     1263                      <xsl:attribute name="href"><xsl:value-of select="$event-fetchForUpdatePending"/>&amp;calPath=<xsl:value-of select="$calPath"/>&amp;guid=<xsl:value-of select="$guid"/>&amp;recurrenceId=<xsl:value-of select="$recurrenceId"/></xsl:attribute> 
     1264                    </xsl:otherwise> 
     1265                  </xsl:choose> 
    12071266                  <xsl:choose> 
    12081267                    <xsl:when test="summary != ''"> 
     
    12481307        <xsl:value-of select="start/shortdate"/> 
    12491308        <xsl:text> </xsl:text> 
    1250         <xsl:value-of select="start/time"/> 
     1309        <xsl:choose> 
     1310                <xsl:when test="start/allday = 'false'"> 
     1311                        <xsl:value-of select="start/time"/> 
     1312                      </xsl:when> 
     1313                      <xsl:otherwise> 
     1314                        <xsl:copy-of select="$bwStr-AEEF-AllDay"/> 
     1315                      </xsl:otherwise> 
     1316                    </xsl:choose> 
    12511317      </td> 
    12521318      <td class="date"> 
    12531319        <xsl:value-of select="end/shortdate"/> 
    12541320        <xsl:text> </xsl:text> 
    1255         <xsl:value-of select="end/time"/> 
     1321        <xsl:choose> 
     1322          <xsl:when test="start/allday = 'false'"> 
     1323            <xsl:value-of select="end/time"/> 
     1324          </xsl:when> 
     1325          <xsl:otherwise> 
     1326            <xsl:copy-of select="$bwStr-AEEF-AllDay"/> 
     1327          </xsl:otherwise> 
     1328        </xsl:choose> 
    12561329      </td> 
    12571330      <td class="calcat"> 
     
    12931366        <xsl:if test="recurring = 'true' or recurrenceId != ''"> 
    12941367          <div class="recurrenceEditLinks"> 
     1368            <xsl:text> </xsl:text> 
    12951369            <xsl:copy-of select="$bwStr-EvLC-RecurringEventEdit"/> 
    1296             <a href="{$event-fetchForUpdate}&amp;calPath={$calPath}&amp;guid={$guid}"> 
     1370            <!-- only master events can be published --> 
     1371            <a href="{$event-fetchForUpdatePending}&amp;calPath={$calPath}&amp;guid={$guid}"> 
    12971372              <xsl:copy-of select="$bwStr-EvLC-Master"/> 
    12981373            </a> | 
     1374            <!-- recurrence instances can only be edited --> 
    12991375            <a href="{$event-fetchForUpdate}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}"> 
    13001376              <xsl:copy-of select="$bwStr-EvLC-Instance"/> 
     
    13881464      </xsl:choose> 
    13891465    </xsl:variable> 
    1390     <form name="eventForm" method="post" enctype="multipart/form-data" onsubmit="setEventFields(this,{$portalFriendly},'{$submitter}')"> 
     1466    <form name="eventForm" method="post" enctype="multipart/form-data" onsubmit="return setEventFields(this,{$portalFriendly},'{$submitter}')"> 
    13911467      <xsl:choose> 
    13921468        <xsl:when test="/bedework/page = 'modEventPending'"> 
     
    15401616              </xsl:choose> 
    15411617            </xsl:variable> 
    1542             <xsl:choose> 
    1543               <xsl:when test="form/allDay/input/@checked='checked'"> 
    1544                 <input type="checkbox" name="allDayFlag" onclick="swapAllDayEvent(this)" value="on" checked="checked"/> 
    1545                 <input type="hidden" name="eventStartDate.dateOnly" value="on" id="allDayStartDateField"/> 
    1546                 <input type="hidden" name="eventEndDate.dateOnly" value="on" id="allDayEndDateField"/> 
    1547               </xsl:when> 
    1548               <xsl:otherwise> 
    1549                 <input type="checkbox" name="allDayFlag" onclick="swapAllDayEvent(this)" value="off"/> 
    1550                 <input type="hidden" name="eventStartDate.dateOnly" value="off" id="allDayStartDateField"/> 
    1551                 <input type="hidden" name="eventEndDate.dateOnly" value="off" id="allDayEndDateField"/> 
    1552               </xsl:otherwise> 
    1553             </xsl:choose> 
    1554             <xsl:copy-of select="$bwStr-AEEF-AllDay"/> 
     1618             
     1619            <!-- All day flag --> 
     1620            <input type="checkbox" name="allDayFlag" id="allDayFlag" onclick="swapAllDayEvent(this)" value="off"> 
     1621              <xsl:if test="form/allDay/input/@checked='checked'"> 
     1622                <xsl:attribute name="checked">checked</xsl:attribute> 
     1623                <xsl:attribute name="value">on</xsl:attribute> 
     1624              </xsl:if> 
     1625            </input> 
     1626            <input type="hidden" name="eventStartDate.dateOnly" value="off" id="allDayStartDateField"> 
     1627              <xsl:if test="form/allDay/input/@checked='checked'"> 
     1628                <xsl:attribute name="value">on</xsl:attribute> 
     1629              </xsl:if> 
     1630            </input> 
     1631            <input type="hidden" name="eventEndDate.dateOnly" value="off" id="allDayEndDateField"> 
     1632              <xsl:if test="form/allDay/input/@checked='checked'"> 
     1633                <xsl:attribute name="value">on</xsl:attribute> 
     1634              </xsl:if> 
     1635            </input> 
     1636            <label for="allDayFlag"> 
     1637              <xsl:copy-of select="$bwStr-AEEF-AllDay"/> 
     1638            </label> 
    15551639 
    15561640            <!-- floating event: no timezone (and not UTC) --> 
     
    15581642                 (e.g. from import); to restore this field, remove the if  --> 
    15591643            <xsl:if test="form/floating/input/@checked='checked'"> 
    1560               <xsl:choose> 
    1561                 <xsl:when test="form/floating/input/@checked='checked'"> 
    1562                   <input type="checkbox" name="floatingFlag" id="floatingFlag" onclick="swapFloatingTime(this)" value="on" checked="checked"/> 
    1563                   <input type="hidden" name="eventStartDate.floating" value="on" id="startFloating"/> 
    1564                   <input type="hidden" name="eventEndDate.floating" value="on" id="endFloating"/> 
    1565                 </xsl:when> 
    1566                 <xsl:otherwise> 
    1567                   <input type="checkbox" name="floatingFlag" id="floatingFlag" onclick="swapFloatingTime(this)" value="off"/> 
    1568                   <input type="hidden" name="eventStartDate.floating" value="off" id="startFloating"/> 
    1569                   <input type="hidden" name="eventEndDate.floating" value="off" id="endFloating"/> 
    1570                 </xsl:otherwise> 
    1571               </xsl:choose> 
    1572               <xsl:copy-of select="$bwStr-AEEF-Floating"/> 
     1644              <input type="checkbox" name="floatingFlag" id="floatingFlag" onclick="swapFloatingTime(this)" value="off"> 
     1645                      <xsl:if test="form/floating/input/@checked='checked'"> 
     1646                        <xsl:attribute name="checked">checked</xsl:attribute> 
     1647                        <xsl:attribute name="value">on</xsl:attribute> 
     1648                      </xsl:if> 
     1649              </input> 
     1650              <input type="hidden" name="eventStartDate.floating" value="off" id="startFloating"> 
     1651                <xsl:if test="form/floating/input/@checked='checked'"> 
     1652                  <xsl:attribute name="value">on</xsl:attribute> 
     1653                </xsl:if> 
     1654              </input> 
     1655              <input type="hidden" name="eventEndDate.floating" value="off" id="endFloating"> 
     1656                <xsl:if test="form/floating/input/@checked='checked'"> 
     1657                  <xsl:attribute name="value">on</xsl:attribute> 
     1658                </xsl:if> 
     1659              </input> 
     1660              <label for="floatingFlag"> 
     1661                <xsl:copy-of select="$bwStr-AEEF-Floating"/> 
     1662              </label> 
    15731663            </xsl:if> 
    15741664 
     
    15781668                 to restore this field, remove the if --> 
    15791669            <xsl:if test="form/storeUTC/input/@checked='checked'"> 
    1580               <xsl:choose> 
    1581                 <xsl:when test="form/storeUTC/input/@checked='checked'"> 
    1582                   <input type="checkbox" name="storeUTCFlag" id="storeUTCFlag" onclick="swapStoreUTC(this)" value="on" checked="checked"/> 
    1583                   <input type="hidden" name="eventStartDate.storeUTC" value="on" id="startStoreUTC"/> 
    1584                   <input type="hidden" name="eventEndDate.storeUTC" value="on" id="endStoreUTC"/> 
    1585                 </xsl:when> 
    1586                 <xsl:otherwise> 
    1587                   <input type="checkbox" name="storeUTCFlag" id="storeUTCFlag" onclick="swapStoreUTC(this)" value="off"/> 
    1588                   <input type="hidden" name="eventStartDate.storeUTC" value="off" id="startStoreUTC"/> 
    1589                   <input type="hidden" name="eventEndDate.storeUTC" value="off" id="endStoreUTC"/> 
    1590                 </xsl:otherwise> 
    1591               </xsl:choose> 
     1670              <input type="checkbox" name="storeUTCFlag" id="storeUTCFlag" onclick="swapStoreUTC(this)" value="off"> 
     1671                <xsl:if test="form/storeUTC/input/@checked='checked'"> 
     1672                  <xsl:attribute name="checked">checked</xsl:attribute> 
     1673                  <xsl:attribute name="value">on</xsl:attribute> 
     1674                </xsl:if> 
     1675              </input> 
     1676              <input type="hidden" name="eventStartDate.storeUTC" value="off" id="startStoreUTC"> 
     1677                <xsl:if test="form/storeUTC/input/@checked='checked'"> 
     1678                  <xsl:attribute name="value">on</xsl:attribute> 
     1679                </xsl:if> 
     1680              </input> 
     1681              <input type="hidden" name="eventEndDate.storeUTC" value="off" id="endStoreUTC"> 
     1682                <xsl:if test="form/storeUTC/input/@checked='checked'"> 
     1683                  <xsl:attribute name="value">on</xsl:attribute> 
     1684                </xsl:if> 
     1685              </input> 
    15921686              <xsl:copy-of select="$bwStr-AEEF-StoreAsUTC"/> 
    15931687            </xsl:if> 
     
    16791773                </xsl:otherwise> 
    16801774              </xsl:choose> 
    1681               <xsl:copy-of select="$bwStr-AEEF-Date"/> 
     1775              <label for="bwEndDateTimeButton"> 
     1776                <xsl:copy-of select="$bwStr-AEEF-Date"/> 
     1777              </label> 
    16821778              <xsl:variable name="endDateTimeClass"> 
    16831779                <xsl:choose> 
     
    17661862                <xsl:choose> 
    17671863                  <xsl:when test="form/end/type='D'"> 
    1768                     <input type="radio" name="eventEndType" value="D" checked="checked" onclick="changeClass('endDateTime','invisible');changeClass('endDuration','shown');"/> 
     1864                    <input type="radio" name="eventEndType" id="bwEndDurationButton" value="D" checked="checked" onclick="changeClass('endDateTime','invisible');changeClass('endDuration','shown');"/> 
    17691865                  </xsl:when> 
    17701866                  <xsl:otherwise> 
    1771                     <input type="radio" name="eventEndType" value="D" onclick="changeClass('endDateTime','invisible');changeClass('endDuration','shown');"/> 
     1867                    <input type="radio" name="eventEndType" id="bwEndDurationButton" value="D" onclick="changeClass('endDateTime','invisible');changeClass('endDuration','shown');"/> 
    17721868                  </xsl:otherwise> 
    17731869                </xsl:choose> 
    1774                 <xsl:copy-of select="$bwStr-AEEF-Duration"/> 
     1870                <label for="bwEndDurationButton"> 
     1871                  <xsl:copy-of select="$bwStr-AEEF-Duration"/> 
     1872                </label> 
    17751873                <xsl:variable name="endDurationClass"> 
    17761874                  <xsl:choose> 
     
    18401938                <xsl:choose> 
    18411939                  <xsl:when test="form/end/type='N'"> 
    1842                     <input type="radio" name="eventEndType" value="N" checked="checked" onclick="changeClass('endDateTime','invisible');changeClass('endDuration','invisible');"/> 
     1940                    <input type="radio" name="eventEndType" id="bwEndNoneButton" value="N" checked="checked" onclick="changeClass('endDateTime','invisible');changeClass('endDuration','invisible');"/> 
    18431941                  </xsl:when> 
    18441942                  <xsl:otherwise> 
    1845                     <input type="radio" name="eventEndType" value="N" onclick="changeClass('endDateTime','invisible');changeClass('endDuration','invisible');"/> 
     1943                    <input type="radio" name="eventEndType" id="bwEndNoneButton" value="N" onclick="changeClass('endDateTime','invisible');changeClass('endDuration','invisible');"/> 
    18461944                  </xsl:otherwise> 
    18471945                </xsl:choose> 
    1848                 <xsl:copy-of select="$bwStr-AEEF-ThisEventHasNoDurationEndDate"/> 
     1946                <label for="bwEndNoneButton"> 
     1947                  <xsl:copy-of select="$bwStr-AEEF-ThisEventHasNoDurationEndDate"/> 
     1948                </label> 
    18491949              </div> 
    18501950            </div> 
     
    18961996                     so provide access to master event --> 
    18971997                <em><xsl:copy-of select="$bwStr-AEEF-ThisEventRecurrenceInstance"/></em><br/> 
    1898                 <a href="{$event-fetchForUpdate}&amp;calPath={$calPath}&amp;guid={$guid}" title="{$bwStr-AEEF-EditMaster}"><xsl:copy-of select="$bwStr-AEEF-EditMasterEvent"/></a> 
     1998                <xsl:choose> 
     1999                  <xsl:when test="starts-with(form/calendar/event/path,$submissionsRootUnencoded)"> 
     2000                    <a href="{$event-fetchForUpdatePending}&amp;calPath={$calPath}&amp;guid={$guid}" title="{$bwStr-AEEF-EditMaster}"><xsl:copy-of select="$bwStr-AEEF-EditPendingMasterEvent"/></a> 
     2001                  </xsl:when> 
     2002                  <xsl:otherwise> 
     2003                    <a href="{$event-fetchForUpdate}&amp;calPath={$calPath}&amp;guid={$guid}" title="{$bwStr-AEEF-EditMaster}"><xsl:copy-of select="$bwStr-AEEF-EditMasterEvent"/></a> 
     2004                  </xsl:otherwise> 
     2005                </xsl:choose> 
     2006                 
    18992007              </xsl:when> 
    19002008              <xsl:otherwise> 
     
    19072015                                  <xsl:if test="$canEdit = 'false'"><xsl:attribute name="class">invisible</xsl:attribute></xsl:if> 
    19082016                                  <!-- set or remove "recurring" and show or hide all recurrence fields: --> 
    1909                                   <input type="radio" name="recurring" value="true" onclick="swapRecurrence(this)"> 
     2017                                  <input type="radio" name="recurring" id="bwRecurringOnButton" value="true" onclick="swapRecurrence(this)"> 
    19102018                                    <xsl:if test="form/recurringEntity = 'true'"><xsl:attribute name="checked">checked</xsl:attribute></xsl:if> 
    1911                                   </input><xsl:text> </xsl:text><xsl:copy-of select="$bwStr-AEEF-EventRecurs"/> 
    1912                                   <input type="radio" name="recurring" value="false" onclick="swapRecurrence(this)"> 
     2019                                  </input> 
     2020                                  <label for="bwRecurringOnButton"> 
     2021                                    <xsl:copy-of select="$bwStr-AEEF-EventRecurs"/> 
     2022                                  </label> 
     2023                                  <input type="radio" name="recurring" id="bwRecurringOffButton" value="false" onclick="swapRecurrence(this)"> 
    19132024                                    <xsl:if test="form/recurringEntity = 'false'"><xsl:attribute name="checked">checked</xsl:attribute></xsl:if> 
    1914                                   </input><xsl:text> </xsl:text><xsl:copy-of select="$bwStr-AEEF-EventDoesNotRecur"/> 
     2025                                  </input> 
     2026                                  <label for="bwRecurringOffButton"> 
     2027                                    <xsl:copy-of select="$bwStr-AEEF-EventDoesNotRecur"/> 
     2028                                  </label> 
    19152029                                </div> 
    19162030                              </xsl:when> 
     
    19432057                      <xsl:attribute name="class">invisible</xsl:attribute> 
    19442058                    </xsl:if> 
    1945                     <input type="checkbox" name="rrulesUiSwitch" value="advanced" onchange="swapVisible(this,'advancedRrules')"/> 
    1946                     <xsl:copy-of select="$bwStr-AEEF-ShowAdvancedRecurrenceRules"/> 
     2059                    <input type="checkbox" name="rrulesUiSwitch" id="bwRrulesAdvancedButton" value="advanced" onchange="swapVisible(this,'advancedRrules')"/> 
     2060                    <label for="bwRrulesAdvancedButton"> 
     2061                      <xsl:copy-of select="$bwStr-AEEF-ShowAdvancedRecurrenceRules"/> 
     2062                    </label> 
    19472063                  </span> 
    19482064 
     
    20902206                      <td id="recurrenceFrequency" rowspan="2"> 
    20912207                        <em><xsl:copy-of select="$bwStr-AEEF-Frequency"/></em><br/> 
    2092                         <input type="radio" name="freq" value="NONE" onclick="showRrules(this.value)" checked="checked"/><xsl:copy-of select="$bwStr-AEEF-None"/><br/> 
     2208                        <input type="radio" name="freq" id="bwFreqNone" value="NONE" onclick="showRrules(this.value)" checked="checked"/> 
     2209                        <label for="bwFreqNone"> 
     2210                          <xsl:copy-of select="$bwStr-AEEF-None"/> 
     2211                        </label><br/> 
    20932212                        <!--<input type="radio" name="freq" value="HOURLY" onclick="showRrules(this.value)"/>hourly<br/>--> 
    2094                         <input type="radio" name="freq" value="DAILY" onclick="showRrules(this.value)"/><xsl:copy-of select="$bwStr-AEEF-Daily"/><br/> 
    2095                         <input type="radio" name="freq" value="WEEKLY" onclick="showRrules(this.value)"/><xsl:copy-of select="$bwStr-AEEF-Weekly"/><br/> 
    2096                         <input type="radio" name="freq" value="MONTHLY" onclick="showRrules(this.value)"/><xsl:copy-of select="$bwStr-AEEF-Monthly"/><br/> 
    2097                         <input type="radio" name="freq" value="YEARLY" onclick="showRrules(this.value)"/><xsl:copy-of select="$bwStr-AEEF-Yearly"/> 
     2213                        <input type="radio" name="freq" id="bwFreqDaily" value="DAILY" onclick="showRrules(this.value)"/> 
     2214                        <label for="bwFreqDaily"> 
     2215                          <xsl:copy-of select="$bwStr-AEEF-Daily"/> 
     2216                        </label><br/> 
     2217                        <input type="radio" name="freq" id="bwFreqWeekly" value="WEEKLY" onclick="showRrules(this.value)"/> 
     2218                        <label for="bwFreqWeekly"> 
     2219                          <xsl:copy-of select="$bwStr-AEEF-Weekly"/> 
     2220                        </label><br/> 
     2221                        <input type="radio" name="freq" id="bwFreqMonthly" value="MONTHLY" onclick="showRrules(this.value)"/> 
     2222                        <label for="bwFreqMonthly"> 
     2223                          <xsl:copy-of select="$bwStr-AEEF-Monthly"/> 
     2224                        </label><br/> 
     2225                        <input type="radio" name="freq" id="bwFreqYearly" value="YEARLY" onclick="showRrules(this.value)"/> 
     2226                        <label for="bwFreqYearly"> 
     2227                          <xsl:copy-of select="$bwStr-AEEF-Yearly"/> 
     2228                        </label> 
    20982229                      </td> 
    20992230                      <!-- recurrence count, until, forever --> 
     
    25232654            <span> 
    25242655              <xsl:if test="$canEdit = 'false'"><xsl:attribute name="class">invisible</xsl:attribute></xsl:if> 
    2525               <input type="radio" name="eventStatus" value="CONFIRMED" checked="checked"> 
     2656              <input type="radio" name="eventStatus" id="bwStatusConfirmedButton" value="CONFIRMED" checked="checked"> 
    25262657                <xsl:if test="form/status = 'CONFIRMED'"><xsl:attribute name="checked">checked</xsl:attribute></xsl:if> 
    2527               </input><xsl:copy-of select="$bwStr-AEEF-Confirmed"/> 
    2528               <input type="radio" name="eventStatus" value="TENTATIVE"> 
     2658              </input> 
     2659              <label for="bwStatusConfirmedButton"> 
     2660                <xsl:copy-of select="$bwStr-AEEF-Confirmed"/> 
     2661              </label> 
     2662              <input type="radio" name="eventStatus" id="bwStatusTentativeButton" value="TENTATIVE"> 
    25292663                <xsl:if test="form/status = 'TENTATIVE'"><xsl:attribute name="checked">checked</xsl:attribute></xsl:if> 
    2530               </input><xsl:copy-of select="$bwStr-AEEF-Tentative"/> 
    2531               <input type="radio" name="eventStatus" value="CANCELLED"> 
     2664              </input> 
     2665              <label for="bwStatusTentativeButton"> 
     2666                <xsl:copy-of select="$bwStr-AEEF-Tentative"/> 
     2667              </label> 
     2668              <input type="radio" name="eventStatus" id="bwStatusCancelledButton" value="CANCELLED"> 
    25322669                <xsl:if test="form/status = 'CANCELLED'"><xsl:attribute name="checked">checked</xsl:attribute></xsl:if> 
    2533               </input><xsl:copy-of select="$bwStr-AEEF-Canceled"/> 
     2670              </input> 
     2671              <label for="bwStatusCancelledButton"> 
     2672                <xsl:copy-of select="$bwStr-AEEF-Canceled"/> 
     2673              </label> 
    25342674            </span> 
    25352675            <xsl:if test="$canEdit = 'false'"> 
     
    27052845                   locations exist --> 
    27062846              <xsl:if test="form/location/preferred/select/option"> 
    2707                 <input type="radio" name="toggleLocationLists" value="preferred" onclick="changeClass('bwPreferredLocationList','shown');changeClass('bwAllLocationList','invisible');"> 
     2847                <input type="radio" name="toggleLocationLists" id="bwLocationPreferredButton" value="preferred" onclick="changeClass('bwPreferredLocationList','shown');changeClass('bwAllLocationList','invisible');"> 
    27082848                  <xsl:if test="form/location/preferred/select/option and not(form/location/all/select/option/@selected and not(form/location/preferred/select/option/@selected))"> 
    27092849                    <xsl:attribute name="checked">checked</xsl:attribute> 
    27102850                  </xsl:if> 
    27112851                </input> 
    2712                 <xsl:copy-of select="$bwStr-AEEF-Preferred"/> 
    2713                 <input type="radio" name="toggleLocationLists" value="all" onclick="changeClass('bwPreferredLocationList','invisible');changeClass('bwAllLocationList','shown');"> 
     2852                <label for="bwLocationPreferredButton"> 
     2853                  <xsl:copy-of select="$bwStr-AEEF-Preferred"/> 
     2854                </label> 
     2855                <input type="radio" name="toggleLocationLists" id="bwLocationAllButton" value="all" onclick="changeClass('bwPreferredLocationList','invisible');changeClass('bwAllLocationList','shown');"> 
    27142856                  <xsl:if test="form/location/all/select/option/@selected and not(form/location/preferred/select/option/@selected)"> 
    27152857                    <xsl:attribute name="checked">checked</xsl:attribute> 
    27162858                  </xsl:if> 
    27172859                </input> 
    2718                 <xsl:copy-of select="$bwStr-AEEF-All"/> 
     2860                <label for="bwLocationAllButton"> 
     2861                  <xsl:copy-of select="$bwStr-AEEF-All"/> 
     2862                </label> 
    27192863              </xsl:if> 
    27202864            </span> 
     
    27752919                  <option value=""> 
    27762920                    <xsl:copy-of select="$bwStr-AEEF-SelectColon"/> 
    2777                   </option>option> 
     2921                  </option> 
    27782922                  <xsl:copy-of select="form/contact/preferred/select/*"/> 
    27792923                </select> 
     
    27922936                   contacts exist --> 
    27932937              <xsl:if test="form/contact/preferred/select/option"> 
    2794                 <input type="radio" name="toggleContactLists" value="preferred" onclick="changeClass('bwPreferredContactList','shown');changeClass('bwAllContactList','invisible');"> 
     2938                <input type="radio" name="toggleContactLists" id="bwContactPreferredButton" value="preferred" onclick="changeClass('bwPreferredContactList','shown');changeClass('bwAllContactList','invisible');"> 
    27952939                  <xsl:if test="form/contact/preferred/select/option and not(form/contact/all/select/option/@selected and not(form/contact/preferred/select/option/@selected))"> 
    27962940                    <xsl:attribute name="checked">checked</xsl:attribute> 
    27972941                  </xsl:if> 
    27982942                </input> 
    2799                 <xsl:copy-of select="$bwStr-AEEF-Preferred"/> 
    2800                 <input type="radio" name="toggleContactLists" value="all" onclick="changeClass('bwPreferredContactList','invisible');changeClass('bwAllContactList','shown');"> 
     2943                <label for="bwContactPreferredButton"> 
     2944                  <xsl:copy-of select="$bwStr-AEEF-Preferred"/> 
     2945                </label> 
     2946                <input type="radio" name="toggleContactLists" id="bwContactAllButton" value="all" onclick="changeClass('bwPreferredContactList','invisible');changeClass('bwAllContactList','shown');"> 
    28012947                  <xsl:if test="form/contact/all/select/option/@selected and not(form/contact/preferred/select/option/@selected)"> 
    28022948                    <xsl:attribute name="checked">checked</xsl:attribute> 
    28032949                  </xsl:if> 
    28042950                </input> 
    2805                 <xsl:copy-of select="$bwStr-AEEF-All"/> 
     2951                <label for="bwContactAllButton"> 
     2952                  <xsl:copy-of select="$bwStr-AEEF-All"/> 
     2953                </label> 
    28062954              </xsl:if> 
    28072955            </span> 
     
    28252973          </tr> 
    28262974        </xsl:if> 
     2975         
     2976        <!-- Registration settings --> 
     2977        <!-- Display and use only if we've set an event reg admin token in the admin web client's system parameters --> 
     2978        <xsl:if test="eventregAdminToken != ''"> 
     2979                <tr class="optional"> 
     2980                  <xsl:if test="$canEdit = 'false'"><xsl:attribute name="class">invisible</xsl:attribute></xsl:if> 
     2981                  <td class="fieldName"><xsl:copy-of select="$bwStr-AEEF-Registration"/></td> 
     2982                  <td> 
     2983                    <input type="checkbox" id="bwIsRegisterableEvent" name="bwIsRegisterableEvent" onclick="showRegistrationFields(this);"> 
     2984                      <xsl:if test="form/xproperties/node()[name()='X-BEDEWORK-MAX-TICKETS']"> 
     2985                        <xsl:attribute name="checked">checked</xsl:attribute> 
     2986                        <xsl:attribute name="disabled">disabled</xsl:attribute> 
     2987                      </xsl:if> 
     2988                    </input>  
     2989                    <label for="bwIsRegisterableEvent"><xsl:copy-of select="$bwStr-AEEF-UsersMayRegister"/></label> 
     2990                     
     2991                    <div id="bwRegistrationFields" class="invisible"> 
     2992                      <xsl:if test="form/xproperties/node()[name()='X-BEDEWORK-MAX-TICKETS']"><xsl:attribute name="class">visible</xsl:attribute></xsl:if> 
     2993                       
     2994                            <label for="xBwMaxTicketsHolder" class="interiorLabel"><xsl:copy-of select="$bwStr-AEEF-MaxTickets"/></label>  
     2995                            <input type="text" name="xBwMaxTicketsHolder" id="xBwMaxTicketsHolder" size="3"> 
     2996                              <xsl:if test="form/xproperties/node()[name()='X-BEDEWORK-MAX-TICKETS']"> 
     2997                                <xsl:attribute name="value"><xsl:value-of select="form/xproperties/node()[name()='X-BEDEWORK-MAX-TICKETS']/values/text"/></xsl:attribute> 
     2998                              </xsl:if> 
     2999                            </input>  
     3000                            <xsl:text> </xsl:text><span class="fieldInfo"><xsl:copy-of select="$bwStr-AEEF-MaxTicketsInfo"/></span><br/> 
     3001                             
     3002                            <label for="xBwMaxTicketsPerUserHolder" class="interiorLabel"><xsl:copy-of select="$bwStr-AEEF-TicketsAllowed"/></label>  
     3003                      <input type="text"  name="xBwMaxTicketsPerUserHolder" id="xBwMaxTicketsPerUserHolder" value="1" size="3"> 
     3004                        <xsl:if test="form/xproperties/node()[name()='X-BEDEWORK-MAX-TICKETS-PER-USER']"> 
     3005                          <xsl:attribute name="value"><xsl:value-of select="form/xproperties/node()[name()='X-BEDEWORK-MAX-TICKETS-PER-USER']/values/text"/></xsl:attribute> 
     3006                        </xsl:if> 
     3007                      </input>  
     3008                            <xsl:text> </xsl:text><span class="fieldInfo"><xsl:copy-of select="$bwStr-AEEF-TicketsAllowedInfo"/></span><br/> 
     3009                             
     3010                            <label for="xBwRegistrationOpensDate" class="interiorLabel"><xsl:copy-of select="$bwStr-AEEF-RegistrationOpens"/></label>   
     3011                      <div class="dateFields"> 
     3012                         <input type="text" name="xBwRegistrationOpensDate" id="xBwRegistrationOpensDate" size="10"/> 
     3013                      </div> 
     3014                      <div class="timeFields" id="xBwRegistrationOpensTimeFields"> 
     3015                         <select name="xBwRegistrationOpens.hour" id="xBwRegistrationOpensHour"> 
     3016                           <xsl:copy-of select="form/start/hour/select/*"/> 
     3017                         </select> 
     3018                         <select name="xBwRegistrationOpens.minute" id="xBwRegistrationOpensMinute"> 
     3019                           <xsl:copy-of select="form/start/minute/select/*"/> 
     3020                         </select> 
     3021                         <xsl:if test="form/start/ampm"> 
     3022                           <select name="xBwRegistrationOpens.ampm" id="xBwRegistrationOpensAmpm"> 
     3023                             <xsl:copy-of select="form/start/ampm/select/*"/> 
     3024                           </select> 
     3025                         </xsl:if> 
     3026                         <xsl:text> </xsl:text> 
     3027                         <img src="{$resourcesRoot}/resources/clockIcon.gif" width="16" height="15" border="0" id="xBwRegistrationOpensClock" alt="*"/> 
     3028         
     3029                         <select name="xBwRegistrationOpens.tzid" id="xBwRegistrationOpensTzid" class="timezones"> 
     3030                           <xsl:if test="form/floating/input/@checked='checked'"><xsl:attribute name="disabled">disabled</xsl:attribute></xsl:if> 
     3031                           <option value="-1"><xsl:copy-of select="$bwStr-AEEF-SelectTimezone"/></option> 
     3032                           <xsl:variable name="xBwRegistrationOpensTzId" select="form/start/tzid"/> 
     3033                           <xsl:for-each select="/bedework/timezones/timezone"> 
     3034                             <option> 
     3035                               <xsl:attribute name="value"><xsl:value-of select="id"/></xsl:attribute> 
     3036                               <xsl:if test="$xBwRegistrationOpensTzId = id"><xsl:attribute name="selected">selected</xsl:attribute></xsl:if> 
     3037                               <xsl:value-of select="name"/> 
     3038                             </option> 
     3039                           </xsl:for-each> 
     3040                         </select> 
     3041                      </div> 
     3042                            <xsl:text> </xsl:text><span class="fieldInfo"><xsl:copy-of select="$bwStr-AEEF-RegistrationOpensInfo"/></span><br/> 
     3043                <!-- Set the registration start date/time fields if populated  --> 
     3044                <xsl:if test="form/xproperties/node()[name()='X-BEDEWORK-REGISTRATION-START']"> 
     3045                  <script type="text/javascript"> 
     3046                    $(document).ready(function() { 
     3047                       $("#xBwRegistrationOpensDate").val("<xsl:value-of select="substring(form/xproperties/node()[name()='X-BEDEWORK-REGISTRATION-START']/values/text,1,4)"/>-<xsl:value-of select="substring(form/xproperties/node()[name()='X-BEDEWORK-REGISTRATION-START']/values/text,5,2)"/>-<xsl:value-of select="substring(form/xproperties/node()[name()='X-BEDEWORK-REGISTRATION-START']/values/text,7,2)"/>"); 
     3048                       <xsl:choose> 
     3049                         <xsl:when test="form/start/ampm"><!-- we're in am/pm mode --> 
     3050                           $("#xBwRegistrationOpensHour").val(hour24ToAmpm("<xsl:value-of select="substring(form/xproperties/node()[name()='X-BEDEWORK-REGISTRATION-START']/values/text,10,2)"/>")); 
     3051                           $("#xBwRegistrationOpensMinute").val(hour24ToAmpm("<xsl:value-of select="substring(form/xproperties/node()[name()='X-BEDEWORK-REGISTRATION-START']/values/text,12,2)"/>")); 
     3052                           $("#xBwRegistrationOpensAmpm").val(hour24GetAmpm("<xsl:value-of select="substring(form/xproperties/node()[name()='X-BEDEWORK-REGISTRATION-START']/values/text,10,2)"/>")); 
     3053                         </xsl:when> 
     3054                         <xsl:otherwise> 
     3055                           $("#xBwRegistrationOpensHour").val("<xsl:value-of select="substring(form/xproperties/node()[name()='X-BEDEWORK-REGISTRATION-START']/values/text,10,2)"/>"); 
     3056                           $("#xBwRegistrationOpensMinute").val("<xsl:value-of select="substring(form/xproperties/node()[name()='X-BEDEWORK-REGISTRATION-START']/values/text,12,2)"/>"); 
     3057                         </xsl:otherwise> 
     3058                       </xsl:choose> 
     3059                       $("#xBwRegistrationOpensTzid").val("<xsl:value-of select="form/xproperties/node()[name()='X-BEDEWORK-REGISTRATION-START']/parameters/TZID"/>"); 
     3060                    }); 
     3061                  </script> 
     3062                </xsl:if> 
     3063                             
     3064                            <label for="xBwRegistrationClosesDate" class="interiorLabel"><xsl:copy-of select="$bwStr-AEEF-RegistrationCloses"/></label> 
     3065                      <div class="dateFields"> 
     3066                        <input type="text" name="xBwRegistrationClosesDate" id="xBwRegistrationClosesDate" size="10"/> 
     3067                      </div> 
     3068                      <div class="timeFields" id="xBwRegistrationClosesTimeFields"> 
     3069                        <select name="xBwRegistrationCloses.hour" id="xBwRegistrationClosesHour"> 
     3070                          <xsl:copy-of select="form/start/hour/select/*"/> 
     3071                        </select> 
     3072                        <select name="xBwRegistrationCloses.minute" id="xBwRegistrationClosesMinute"> 
     3073                          <xsl:copy-of select="form/start/minute/select/*"/> 
     3074                        </select> 
     3075                        <xsl:if test="form/start/ampm"> 
     3076                          <select name="xBwRegistrationCloses.ampm" id="xBwRegistrationClosesAmpm"> 
     3077                            <xsl:copy-of select="form/start/ampm/select/*"/> 
     3078                          </select> 
     3079                        </xsl:if> 
     3080                        <xsl:text> </xsl:text> 
     3081                        <img src="{$resourcesRoot}/resources/clockIcon.gif" width="16" height="15" border="0" id="xBwRegistrationClosesClock" alt="*"/> 
     3082         
     3083                        <select name="xBwRegistrationCloses.tzid" id="xBwRegistrationClosesTzid" class="timezones"> 
     3084                          <xsl:if test="form/floating/input/@checked='checked'"><xsl:attribute name="disabled">disabled</xsl:attribute></xsl:if> 
     3085                          <option value="-1"><xsl:copy-of select="$bwStr-AEEF-SelectTimezone"/></option> 
     3086                          <xsl:variable name="xBwRegistrationClosesTzId" select="form/start/tzid"/> 
     3087                          <xsl:for-each select="/bedework/timezones/timezone"> 
     3088                            <option> 
     3089                              <xsl:attribute name="value"><xsl:value-of select="id"/></xsl:attribute> 
     3090                              <xsl:if test="$xBwRegistrationClosesTzId = id"><xsl:attribute name="selected">selected</xsl:attribute></xsl:if> 
     3091                              <xsl:value-of select="name"/> 
     3092                            </option> 
     3093                          </xsl:for-each> 
     3094                        </select> 
     3095                      </div> 
     3096                            <xsl:text> </xsl:text><span class="fieldInfo"><xsl:copy-of select="$bwStr-AEEF-RegistrationClosesInfo"/></span> 
     3097                <!-- Set the registration end date/time fields if populated  --> 
     3098                <xsl:if test="form/xproperties/node()[name()='X-BEDEWORK-REGISTRATION-END']"> 
     3099                  <script type="text/javascript"> 
     3100                    $(document).ready(function() { 
     3101                       $("#xBwRegistrationClosesDate").val("<xsl:value-of select="substring(form/xproperties/node()[name()='X-BEDEWORK-REGISTRATION-END']/values/text,1,4)"/>-<xsl:value-of select="substring(form/xproperties/node()[name()='X-BEDEWORK-REGISTRATION-END']/values/text,5,2)"/>-<xsl:value-of select="substring(form/xproperties/node()[name()='X-BEDEWORK-REGISTRATION-END']/values/text,7,2)"/>"); 
     3102                       <xsl:choose> 
     3103                         <xsl:when test="form/start/ampm"><!-- we're in am/pm mode --> 
     3104                           $("#xBwRegistrationClosesHour").val(hour24ToAmpm("<xsl:value-of select="substring(form/xproperties/node()[name()='X-BEDEWORK-REGISTRATION-END']/values/text,10,2)"/>")); 
     3105                           $("#xBwRegistrationClosesMinute").val(hour24ToAmpm("<xsl:value-of select="substring(form/xproperties/node()[name()='X-BEDEWORK-REGISTRATION-END']/values/text,12,2)"/>")); 
     3106                           $("#xBwRegistrationClosesAmpm").val(hour24GetAmpm("<xsl:value-of select="substring(form/xproperties/node()[name()='X-BEDEWORK-REGISTRATION-END']/values/text,10,2)"/>")); 
     3107                         </xsl:when> 
     3108                         <xsl:otherwise> 
     3109                           $("#xBwRegistrationClosesHour").val("<xsl:value-of select="substring(form/xproperties/node()[name()='X-BEDEWORK-REGISTRATION-END']/values/text,10,2)"/>"); 
     3110                           $("#xBwRegistrationClosesMinute").val("<xsl:value-of select="substring(form/xproperties/node()[name()='X-BEDEWORK-REGISTRATION-END']/values/text,12,2)"/>"); 
     3111                         </xsl:otherwise> 
     3112                       </xsl:choose> 
     3113                       $("#xBwRegistrationClosesTzid").val("<xsl:value-of select="form/xproperties/node()[name()='X-BEDEWORK-REGISTRATION-END']/parameters/TZID"/>"); 
     3114                    }); 
     3115                  </script> 
     3116                </xsl:if> 
     3117                      <xsl:if test="/bedework/creating = 'false'"> 
     3118                        <p> 
     3119                          <xsl:variable name="registrationsHref"><xsl:value-of select="$bwRegistrationRoot"/>/admin/adminAgenda.do?href=<xsl:value-of select="form/calendar/event/encodedPath"/>/<xsl:value-of select="name"/>&amp;atkn=<xsl:value-of select="eventregAdminToken"/></xsl:variable> 
     3120                          <xsl:variable name="registrationsDownloadHref"><xsl:value-of select="$bwRegistrationRoot"/>/admin/download.do?href=<xsl:value-of select="form/calendar/event/encodedPath"/>/<xsl:value-of select="name"/>&amp;atkn=<xsl:value-of select="eventregAdminToken"/></xsl:variable> 
     3121                          <button onclick="launchSizedWindow('{$registrationsHref}', '1000', '600');return false;"><xsl:copy-of select="$bwStr-AEEF-ViewRegistrations"/></button> 
     3122                          <xsl:text> </xsl:text> 
     3123                          <!--<button onclick="location.href='{$registrationsDownloadHref}';return false;"><xsl:copy-of select="$bwStr-AEEF-DownloadRegistrations"/></button>--> 
     3124                        </p> 
     3125                      </xsl:if> 
     3126                          </div> 
     3127                  </td> 
     3128                </tr> 
     3129              </xsl:if> 
    28273130 
    28283131        <!-- Topical area  --> 
     
    30443347            <xsl:variable name="virtualPath">/user<xsl:for-each select="ancestor-or-self::calendar/name">/<xsl:value-of select="."/></xsl:for-each></xsl:variable> 
    30453348            <xsl:variable name="displayName" select="summary"/> 
    3046             <input type="checkbox" name="alias" onclick="toggleBedeworkXProperty('X-BEDEWORK-ALIAS','{$displayName}','{$virtualPath}',this.checked)"> 
     3349            <input type="checkbox" name="alias" id="{generate-id(path)}" onclick="toggleBedeworkXProperty('X-BEDEWORK-ALIAS','{$displayName}','{$virtualPath}',this.checked)"> 
    30473350              <xsl:attribute name="value"><xsl:value-of select="$virtualPath"/></xsl:attribute> 
    30483351              <xsl:if test="$virtualPath = /bedework/formElements/form/xproperties//X-BEDEWORK-ALIAS/values/text"><xsl:attribute name="checked"><xsl:value-of select="checked"/></xsl:attribute></xsl:if> 
     
    30503353              <xsl:if test="/bedework/formElements/form/xproperties//X-BEDEWORK-SUBMIT-ALIAS/values/text = substring-after(aliasUri,'bwcal://')"><xsl:attribute name="checked"><xsl:value-of select="checked"/></xsl:attribute></xsl:if> 
    30513354            </input> 
     3355            <label for="{generate-id(path)}"> 
    30523356            <xsl:choose> 
    30533357              <xsl:when test="$virtualPath = /bedework/formElements/form/xproperties//X-BEDEWORK-ALIAS/values/text"> 
     
    30643368              </xsl:otherwise> 
    30653369            </xsl:choose> 
     3370            </label> 
    30663371          </xsl:otherwise> 
    30673372        </xsl:choose> 
     
    34653770      </tr> 
    34663771 
    3467       <tr> 
    3468         <th> 
    3469           <xsl:copy-of select="$bwStr-DsEv-TopicalAreas"/> 
    3470         </th> 
    3471         <td> 
    3472            <xsl:for-each select="xproperties/X-BEDEWORK-ALIAS"> 
    3473              <xsl:call-template name="substring-afterLastInstanceOf"> 
    3474                <xsl:with-param name="string" select="values/text"/> 
    3475                <xsl:with-param name="char">/</xsl:with-param> 
    3476              </xsl:call-template><br/> 
    3477            </xsl:for-each> 
    3478         </td> 
    3479       </tr> 
    3480  
    34813772      <!--  Description  --> 
    34823773      <tr> 
     
    34883779        </td> 
    34893780      </tr> 
     3781       
    34903782      <!-- Cost --> 
    3491       <tr class="optional"> 
    3492         <th> 
    3493           <xsl:copy-of select="$bwStr-DsEv-Price"/> 
    3494         </th> 
    3495         <td> 
    3496           <xsl:value-of select="cost"/> 
    3497         </td> 
    3498       </tr> 
     3783      <xsl:if test="cost and cost != ''"> 
     3784              <tr class="optional"> 
     3785                <th> 
     3786                  <xsl:copy-of select="$bwStr-DsEv-Price"/> 
     3787                </th> 
     3788                <td> 
     3789                  <xsl:value-of select="cost"/> 
     3790                </td> 
     3791              </tr> 
     3792      </xsl:if> 
     3793             
    34993794      <!-- Url --> 
    3500       <tr class="optional"> 
    3501         <th> 
    3502           <xsl:copy-of select="$bwStr-DsEv-URL"/> 
    3503         </th> 
    3504         <td> 
    3505           <xsl:variable name="eventLink" select="link"/> 
    3506           <a href="{$eventLink}"> 
    3507             <xsl:value-of select="link"/> 
    3508           </a> 
    3509         </td> 
    3510       </tr> 
     3795      <xsl:if test="link and link != ''"> 
     3796              <tr class="optional"> 
     3797                <th> 
     3798                  <xsl:copy-of select="$bwStr-DsEv-URL"/> 
     3799                </th> 
     3800                <td> 
     3801                  <xsl:variable name="eventLink" select="link"/> 
     3802                  <a href="{$eventLink}"> 
     3803                    <xsl:value-of select="link"/> 
     3804                  </a> 
     3805                </td> 
     3806              </tr> 
     3807            </xsl:if> 
    35113808 
    35123809      <!-- Location --> 
     
    35673864      </tr> 
    35683865 
     3866      <tr> 
     3867        <th> 
     3868          <xsl:copy-of select="$bwStr-DsEv-TopicalAreas"/> 
     3869        </th> 
     3870        <td> 
     3871           <xsl:for-each select="xproperties/X-BEDEWORK-ALIAS"> 
     3872             <xsl:sort order="ascending" select="parameters/X-BEDEWORK-PARAM-DISPLAYNAME"/> 
     3873             <xsl:value-of select="parameters/X-BEDEWORK-PARAM-DISPLAYNAME"/><br/> 
     3874           </xsl:for-each> 
     3875        </td> 
     3876      </tr> 
     3877 
    35693878      <!--  Categories  --> 
    35703879      <tr> 
     
    35743883        <td> 
    35753884          <xsl:for-each select="categories/category"> 
    3576             <xsl:value-of select="word"/><br/> 
     3885            <xsl:sort order="ascending" select="value"/> 
     3886            <xsl:value-of select="value"/><br/> 
    35773887          </xsl:for-each> 
    35783888        </td> 
     
    62866596            <div class="desc"> 
    62876597              <xsl:copy-of select="$bwStr-MdSP-DirBrowseDisallowedNote"/> 
     6598            </div> 
     6599          </td> 
     6600        </tr> 
     6601        <tr> 
     6602          <th><xsl:copy-of select="$bwStr-MdSP-EvregAdmTkn"/></th> 
     6603          <td> 
     6604            <xsl:variable name="evregAdmTkn" select="/bedework/system/eventregAdminToken"/> 
     6605            <input value="{$evregAdmTkn}" name="eventregAdminToken" class="wide"/> 
     6606            <div class="desc"> 
     6607              <xsl:copy-of select="$bwStr-MdSP-EvregAdmTknNote"/> 
    62886608            </div> 
    62896609          </td> 
  • releases/bedework-3.8/deployment/webadmin/webapp/resources/default/default/localeSettings.xsl

    r3204 r3608  
    5959      // recurrence strings 
    6060      var bwRecurChangeWarning = "WARNING: changing your recurrence rules\nwill destroy all existing recurrence overrides\nand exceptions when you save the event.\n\nContinue?"; 
     61      // registration strings 
     62      var maxTicketsWarning = "Event Registration Settings:\nYou must set the maximum number of tickets allowed for this event."; 
     63      var maxTicketsPerUserWarning = "Event Registration Settings:\nYou must set the maximum number of tickets each user may aquire."; 
    6164    </script> 
    6265  </xsl:template> 
  • releases/bedework-3.8/deployment/webadmin/webapp/resources/default/default/strings.xsl

    r3558 r3608  
    179179  <xsl:variable name="bwStr-AEEF-ThisEventRecurrenceInstance">This event is a recurrence instance.</xsl:variable> 
    180180  <xsl:variable name="bwStr-AEEF-EditMasterEvent">edit master event</xsl:variable> 
     181  <xsl:variable name="bwStr-AEEF-EditPendingMasterEvent">edit or publish master event</xsl:variable> 
    181182  <xsl:variable name="bwStr-AEEF-EditMaster">edit master (recurring event)</xsl:variable> 
    182183  <xsl:variable name="bwStr-AEEF-EventRecurs">event recurs</xsl:variable> 
     
    270271  <xsl:variable name="bwStr-AEEF-OptionalLocaleInfo">(optional: for information about the location)</xsl:variable> 
    271272  <xsl:variable name="bwStr-AEEF-Contact">Contact:</xsl:variable> 
    272   <xsl:variable name="bwStr-AEEF-Creator">Creator</xsl:variable> 
     273  <xsl:variable name="bwStr-AEEF-Creator">Creator</xsl:variable>  
    273274  <xsl:variable name="bwStr-AEEF-TopicalArea">Topical area:</xsl:variable> 
    274275  <xsl:variable name="bwStr-AEEF-ContactName">Contact (name):</xsl:variable> 
     
    276277  <xsl:variable name="bwStr-AEEF-ContactURL">Contact's URL:</xsl:variable> 
    277278  <xsl:variable name="bwStr-AEEF-ContactEmail">Contact Email Address:</xsl:variable> 
     279  <xsl:variable name="bwStr-AEEF-Registration">Registration:</xsl:variable> 
     280  <xsl:variable name="bwStr-AEEF-UsersMayRegister">Users may register for this event</xsl:variable> 
     281  <xsl:variable name="bwStr-AEEF-MaxTickets">Max tickets:</xsl:variable> 
     282  <xsl:variable name="bwStr-AEEF-MaxTicketsInfo">(maximum number of tickets allowed for the event)</xsl:variable> 
     283  <xsl:variable name="bwStr-AEEF-TicketsAllowed">Tickets allowed:</xsl:variable> 
     284  <xsl:variable name="bwStr-AEEF-TicketsAllowedInfo">(maximum number of tickets per user)</xsl:variable> 
     285  <xsl:variable name="bwStr-AEEF-RegistrationOpens">Registration opens:</xsl:variable> 
     286  <xsl:variable name="bwStr-AEEF-RegistrationOpensInfo">(date/time registration becomes available)</xsl:variable> 
     287  <xsl:variable name="bwStr-AEEF-RegistrationCloses">Registration closes:</xsl:variable> 
     288  <xsl:variable name="bwStr-AEEF-RegistrationClosesInfo">(date/time of registration cut off)</xsl:variable> 
     289  <xsl:variable name="bwStr-AEEF-ViewRegistrations">View registrations</xsl:variable> 
     290  <xsl:variable name="bwStr-AEEF-DownloadRegistrations">Download registrations</xsl:variable> 
    278291  <xsl:variable name="bwStr-AEEF-Optional">(optional)</xsl:variable> 
    279292 
     
    745758  <xsl:variable name="bwStr-MdSP-DirBrowseDisallowd">Directory browsing disallowed:</xsl:variable> 
    746759  <xsl:variable name="bwStr-MdSP-DirBrowseDisallowedNote">True if the server hosting the xsl disallows directory browsing.</xsl:variable> 
     760 
     761  <xsl:variable name="bwStr-MdSP-EvregAdmTkn">Eventreg admin token:</xsl:variable> 
     762  <xsl:variable name="bwStr-MdSP-EvregAdmTknNote">Token for event registration. Must be identical to token set in event reg JMX service</xsl:variable> 
     763 
    747764  <xsl:variable name="bwStr-MdSP-IndexRoot">Index root:</xsl:variable> 
    748765  <xsl:variable name="bwStr-MdSP-IndexRootNote">Root for the event indexes. Should only be changed if the indexes are moved/copied</xsl:variable> 
  • releases/bedework-3.8/deployment/webadmin/webapp/resources/es_ES/default/default.css

    r3519 r3608  
    521521  width: 160px; 
    522522} 
     523#bwRegistrationFields { 
     524        margin: 1em; 
     525} 
    523526.shown { 
    524527  display: inline; 
  • releases/bedework-3.8/deployment/webadmin/webapp/resources/es_ES/default/default.xsl

    r3579 r3608  
    6969       and can be safely removed if you so choose. --> 
    7070  <xsl:variable name="appRoot" select="/bedework/approot"/> 
     71 
     72  <!-- Registration module application context --> 
     73  <xsl:variable name="bwRegistrationRoot">/eventreg</xsl:variable> 
    7174 
    7275  <!-- Root folder of the submissions calendars used by the submissions client --> 
     
    294297                  // startdate 
    295298                  $("#bwEventWidgetStartDate").datepicker({ 
    296                     defaultDate: new Date(<xsl:value-of select="/bedework/formElements/form/start/yearText/input/@value"/>, <xsl:value-of select="number(/bedework/formElements/form/start/month/select/option[@selected = 'selected']/@value) - 1"/>, <xsl:value-of select="/bedework/formElements/form/start/day/select/option[@selected = 'selected']/@value"/>) 
     299                    <xsl:if test="/bedework/formElements/eventregAdminToken != '' and (/bedework/creating = 'true' or (translate(/bedework/formElements/form/start/rfc3339DateTime,'-:','') = /bedework/formElements/form/xproperties/X-BEDEWORK-REGISTRATION-END/values/text))">altField: "#xBwRegistrationClosesDate",</xsl:if><!--  
     300                 -->defaultDate: new Date(<xsl:value-of select="/bedework/formElements/form/start/yearText/input/@value"/>, <xsl:value-of select="number(/bedework/formElements/form/start/month/select/option[@selected = 'selected']/@value) - 1"/>, <xsl:value-of select="/bedework/formElements/form/start/day/select/option[@selected = 'selected']/@value"/>) 
    297301                  }).attr("readonly", "readonly"); 
    298302                  $("#bwEventWidgetStartDate").val('<xsl:value-of select="substring-before(/bedework/formElements/form/start/rfc3339DateTime,'T')"/>'); 
     
    364368                                pmLabel: "<xsl:value-of select="$bwStr-Cloc-PM"/>" 
    365369                              }); 
     370                               
     371                              <xsl:if test="/bedework/formElements/eventregAdminToken != ''"> 
     372                              // registration open dates 
     373                  $("#xBwRegistrationOpensDate").datepicker().attr("readonly", "readonly"); 
     374                  $("#xBwRegistrationOpensDate").val('<xsl:value-of select="substring-before(/bedework/formElements/form/start/rfc3339DateTime,'T')"/>'); 
     375                               
     376                              // registration open time 
     377                  $("#xBwRegistrationOpensClock").bwTimePicker({ 
     378                    hour24: <xsl:value-of select="/bedework/hour24"/>, 
     379                    attachToId: "xBwRegistrationOpensTimeFields", 
     380                    hourIds: ["xBwRegistrationOpensHour"], 
     381                    minuteIds: ["xBwRegistrationOpensMinute"], 
     382                    ampmIds: ["xBwRegistrationOpensAmpm"], 
     383                    hourLabel: "<xsl:value-of select="$bwStr-Cloc-Hour"/>", 
     384                    minuteLabel: "<xsl:value-of select="$bwStr-Cloc-Minute"/>", 
     385                    amLabel: "<xsl:value-of select="$bwStr-Cloc-AM"/>", 
     386                    pmLabel: "<xsl:value-of select="$bwStr-Cloc-PM"/>" 
     387                  }); 
     388 
     389                  // registration close dates 
     390                  $("#xBwRegistrationClosesDate").datepicker().attr("readonly", "readonly"); 
     391                  $("#xBwRegistrationClosesDate").val('<xsl:value-of select="substring-before(/bedework/formElements/form/start/rfc3339DateTime,'T')"/>'); 
     392                   
     393                  // registration close time 
     394                  $("#xBwRegistrationClosesClock").bwTimePicker({ 
     395                    hour24: <xsl:value-of select="/bedework/hour24"/>, 
     396                    attachToId: "xBwRegistrationClosesTimeFields", 
     397                    hourIds: ["xBwRegistrationClosesHour"], 
     398                    minuteIds: ["xBwRegistrationClosesMinute"], 
     399                    ampmIds: ["xBwRegistrationClosesAmpm"], 
     400                    hourLabel: "<xsl:value-of select="$bwStr-Cloc-Hour"/>", 
     401                    minuteLabel: "<xsl:value-of select="$bwStr-Cloc-Minute"/>", 
     402                    amLabel: "<xsl:value-of select="$bwStr-Cloc-AM"/>", 
     403                    pmLabel: "<xsl:value-of select="$bwStr-Cloc-PM"/>" 
     404                  }); 
     405                        </xsl:if> 
    366406                } 
    367407                </xsl:comment> 
     
    369409            </xsl:otherwise> 
    370410          </xsl:choose> 
     411          <script type="text/javascript" src="/bedework-common/javascript/bedework/bedeworkUtil.js">&#160;</script> 
    371412          <script type="text/javascript" src="{$resourcesRoot}/resources/bedeworkEventForm.js">&#160;</script> 
    372413          <script type="text/javascript" src="/bedework-common/javascript/bedework/bedeworkXProperties.js">&#160;</script> 
     
    908949        <div id="searchFields"> 
    909950          <xsl:copy-of select="$bwStr-MMnu-Limit"/> 
    910           <input type="radio" name="searchLimits" value="fromToday" checked="checked"/><xsl:copy-of select="$bwStr-MMnu-TodayForward"/> 
    911           <input type="radio" name="searchLimits" value="beforeToday"/><xsl:copy-of select="$bwStr-MMnu-PastDates"/> 
    912           <input type="radio" name="searchLimits" value="none"/><xsl:copy-of select="$bwStr-MMnu-AddDates"/> 
     951          <input type="radio" name="searchLimits" id="bwSearchFromToday" value="fromToday" checked="checked"/> 
     952          <label for="bwSearchFromToday"> 
     953            <xsl:copy-of select="$bwStr-MMnu-TodayForward"/> 
     954          </label> 
     955          <input type="radio" name="searchLimits" id="bwSearchPastDates" value="beforeToday"/> 
     956          <label for="bwSearchPastDates"> 
     957            <xsl:copy-of select="$bwStr-MMnu-PastDates"/> 
     958          </label> 
     959          <input type="radio" name="searchLimits" id="bwSearchAllDates" value="none"/> 
     960          <label for="bwSearchAllDates"> 
     961            <xsl:copy-of select="$bwStr-MMnu-AddDates"/> 
     962          </label> 
    913963        </div> 
    914964      </form> 
     
    12051255              </xsl:when> 
    12061256              <xsl:otherwise> 
    1207                 <a href="{$event-fetchForUpdatePending}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}"> 
     1257                <a> 
     1258                  <xsl:choose> 
     1259                    <xsl:when test="recurrenceId != ''"> 
     1260                      <!-- recurrence instances should be updated like normal events - only master events should be published --> 
     1261                      <xsl:attribute name="href"><xsl:value-of select="$event-fetchForUpdate"/>&amp;calPath=<xsl:value-of select="$calPath"/>&amp;guid=<xsl:value-of select="$guid"/>&amp;recurrenceId=<xsl:value-of select="$recurrenceId"/></xsl:attribute> 
     1262                    </xsl:when> 
     1263                    <xsl:otherwise> 
     1264                      <xsl:attribute name="href"><xsl:value-of select="$event-fetchForUpdatePending"/>&amp;calPath=<xsl:value-of select="$calPath"/>&amp;guid=<xsl:value-of select="$guid"/>&amp;recurrenceId=<xsl:value-of select="$recurrenceId"/></xsl:attribute> 
     1265                    </xsl:otherwise> 
     1266                  </xsl:choose> 
    12081267                  <xsl:choose> 
    12091268                    <xsl:when test="summary != ''"> 
     
    12491308        <xsl:value-of select="start/shortdate"/> 
    12501309        <xsl:text> </xsl:text> 
     1310        <xsl:choose> 
     1311                <xsl:when test="start/allday = 'false'"> 
    12511312        <xsl:value-of select="start/time"/> 
     1313                      </xsl:when> 
     1314                      <xsl:otherwise> 
     1315                        <xsl:copy-of select="$bwStr-AEEF-AllDay"/> 
     1316                      </xsl:otherwise> 
     1317                    </xsl:choose> 
    12521318      </td> 
    12531319      <td class="date"> 
    12541320        <xsl:value-of select="end/shortdate"/> 
    12551321        <xsl:text> </xsl:text> 
     1322        <xsl:choose> 
     1323          <xsl:when test="start/allday = 'false'"> 
    12561324        <xsl:value-of select="end/time"/> 
     1325          </xsl:when> 
     1326          <xsl:otherwise> 
     1327            <xsl:copy-of select="$bwStr-AEEF-AllDay"/> 
     1328          </xsl:otherwise> 
     1329        </xsl:choose> 
    12571330      </td> 
    12581331      <td class="calcat"> 
     
    12941367        <xsl:if test="recurring = 'true' or recurrenceId != ''"> 
    12951368          <div class="recurrenceEditLinks"> 
     1369            <xsl:text> </xsl:text> 
    12961370            <xsl:copy-of select="$bwStr-EvLC-RecurringEventEdit"/> 
    1297             <a href="{$event-fetchForUpdate}&amp;calPath={$calPath}&amp;guid={$guid}"> 
     1371            <!-- only master events can be published --> 
     1372            <a href="{$event-fetchForUpdatePending}&amp;calPath={$calPath}&amp;guid={$guid}"> 
    12981373              <xsl:copy-of select="$bwStr-EvLC-Master"/> 
    12991374            </a> | 
     1375            <!-- recurrence instances can only be edited --> 
    13001376            <a href="{$event-fetchForUpdate}&amp;calPath={$calPath}&amp;guid={$guid}&amp;recurrenceId={$recurrenceId}"> 
    13011377              <xsl:copy-of select="$bwStr-EvLC-Instance"/> 
     
    13891465      </xsl:choose> 
    13901466    </xsl:variable> 
    1391     <form name="eventForm" method="post" enctype="multipart/form-data" onsubmit="setEventFields(this,{$portalFriendly},'{$submitter}')"> 
     1467    <form name="eventForm" method="post" enctype="multipart/form-data" onsubmit="return setEventFields(this,{$portalFriendly},'{$submitter}')"> 
    13921468      <xsl:choose> 
    13931469        <xsl:when test="/bedework/page = 'modEventPending'"> 
     
    15411617              </xsl:choose> 
    15421618            </xsl:variable> 
    1543             <xsl:choose> 
    1544               <xsl:when test="form/allDay/input/@checked='checked'"> 
    1545                 <input type="checkbox" name="allDayFlag" onclick="swapAllDayEvent(this)" value="on" checked="checked"/> 
    1546                 <input type="hidden" name="eventStartDate.dateOnly" value="on" id="allDayStartDateField"/> 
    1547                 <input type="hidden" name="eventEndDate.dateOnly" value="on" id="allDayEndDateField"/> 
    1548               </xsl:when> 
    1549               <xsl:otherwise> 
    1550                 <input type="checkbox" name="allDayFlag" onclick="swapAllDayEvent(this)" value="off"/> 
    1551                 <input type="hidden" name="eventStartDate.dateOnly" value="off" id="allDayStartDateField"/> 
    1552                 <input type="hidden" name="eventEndDate.dateOnly" value="off" id="allDayEndDateField"/> 
    1553               </xsl:otherwise> 
    1554             </xsl:choose> 
    1555             <xsl:copy-of select="$bwStr-AEEF-AllDay"/> 
     1619             
     1620            <!-- All day flag --> 
     1621            <input type="checkbox" name="allDayFlag" id="allDayFlag" onclick="swapAllDayEvent(this)" value="off"> 
     1622              <xsl:if test="form/allDay/input/@checked='checked'"> 
     1623                <xsl:attribute name="checked">checked</xsl:attribute> 
     1624                <xsl:attribute name="value">on</xsl:attribute> 
     1625              </xsl:if> 
     1626            </input> 
     1627            <input type="hidden" name="eventStartDate.dateOnly" value="off" id="allDayStartDateField"> 
     1628              <xsl:if test="form/allDay/input/@checked='checked'"> 
     1629                <xsl:attribute name="value">on</xsl:attribute> 
     1630              </xsl:if> 
     1631            </input> 
     1632            <input type="hidden" name="eventEndDate.dateOnly" value="off" id="allDayEndDateField"> 
     1633              <xsl:if test="form/allDay/input/@checked='checked'"> 
     1634                <xsl:attribute name="value">on</xsl:attribute> 
     1635              </xsl:if> 
     1636            </input> 
     1637            <label for="allDayFlag"> 
     1638              <xsl:copy-of select="$bwStr-AEEF-AllDay"/> 
     1639            </label> 
    15561640 
    15571641            <!-- floating event: no timezone (and not UTC) --> 
     
    15591643                 (e.g. from import); to restore this field, remove the if  --> 
    15601644            <xsl:if test="form/floating/input/@checked='checked'"> 
    1561               <xsl:choose> 
    1562                 <xsl:when test="form/floating/input/@checked='checked'"> 
    1563                   <input type="checkbox" name="floatingFlag" id="floatingFlag" onclick="swapFloatingTime(this)" value="on" checked="checked"/> 
    1564                   <input type="hidden" name="eventStartDate.floating" value="on" id="startFloating"/> 
    1565                   <input type="hidden" name="eventEndDate.floating" value="on" id="endFloating"/> 
    1566                 </xsl:when> 
    1567                 <xsl:otherwise> 
    1568                   <input type="checkbox" name="floatingFlag" id="floatingFlag" onclick="swapFloatingTime(this)" value="off"/> 
    1569                   <input type="hidden" name="eventStartDate.floating" value="off" id="startFloating"/> 
    1570                   <input type="hidden" name="eventEndDate.floating" value="off" id="endFloating"/> 
    1571                 </xsl:otherwise> 
    1572               </xsl:choose> 
    1573               <xsl:copy-of select="$bwStr-AEEF-Floating"/> 
     1645              <input type="checkbox" name="floatingFlag" id="floatingFlag" onclick="swapFloatingTime(this)" value="off"> 
     1646                      <xsl:if test="form/floating/input/@checked='checked'"> 
     1647                        <xsl:attribute name="checked">checked</xsl:attribute> 
     1648                        <xsl:attribute name="value">on</xsl:attribute> 
     1649                      </xsl:if> 
     1650              </input> 
     1651              <input type="hidden" name="eventStartDate.floating" value="off" id="startFloating"> 
     1652                <xsl:if test="form/floating/input/@checked='checked'"> 
     1653                  <xsl:attribute name="value">on</xsl:attribute> 
     1654                </xsl:if> 
     1655              </input> 
     1656              <input type="hidden" name="eventEndDate.floating" value="off" id="endFloating"> 
     1657                <xsl:if test="form/floating/input/@checked='checked'"> 
     1658                  <xsl:attribute name="value">on</xsl:attribute> 
     1659                </xsl:if> 
     1660              </input> 
     1661              <label for="floatingFlag"> 
     1662                <xsl:copy-of select="$bwStr-AEEF-Floating"/> 
     1663              </label> 
    15741664            </xsl:if> 
    15751665 
     
    15791669                 to restore this field, remove the if --> 
    15801670            <xsl:if test="form/storeUTC/input/@checked='checked'"> 
    1581               <xsl:choose> 
    1582                 <xsl:when test="form/storeUTC/input/@checked='checked'"> 
    1583                   <input type="checkbox" name="storeUTCFlag" id="storeUTCFlag" onclick="swapStoreUTC(this)" value="on" checked="checked"/> 
    1584                   <input type="hidden" name="eventStartDate.storeUTC" value="on" id="startStoreUTC"/> 
    1585                   <input type="hidden" name="eventEndDate.storeUTC" value="on" id="endStoreUTC"/> 
    1586                 </xsl:when> 
    1587                 <xsl:otherwise> 
    1588                   <input type="checkbox" name="storeUTCFlag" id="storeUTCFlag" onclick="swapStoreUTC(this)" value="off"/> 
    1589                   <input type="hidden" name="eventStartDate.storeUTC" value="off" id="startStoreUTC"/> 
    1590                   <input type="hidden" name="eventEndDate.storeUTC" value="off" id="endStoreUTC"/> 
    1591                 </xsl:otherwise> 
    1592               </xsl:choose> 
     1671              <input type="checkbox" name="storeUTCFlag" id="storeUTCFlag" onclick="swapStoreUTC(this)" value="off"> 
     1672                <xsl:if test="form/storeUTC/input/@checked='checked'"> 
     1673                  <xsl:attribute name="checked">checked</xsl:attribute> 
     1674                  <xsl:attribute name="value">on</xsl:attribute> 
     1675                </xsl:if> 
     1676              </input> 
     1677              <input type="hidden" name="eventStartDate.storeUTC" value="off" id="startStoreUTC"> 
     1678                <xsl:if test="form/storeUTC/input/@checked='checked'"> 
     1679                  <xsl:attribute name="value">on</xsl:attribute> 
     1680                </xsl:if> 
     1681              </input> 
     1682              <input type="hidden" name="eventEndDate.storeUTC" value="off" id="endStoreUTC"> 
     1683                <xsl:if test="form/storeUTC/input/@checked='checked'"> 
     1684                  <xsl:attribute name="value">on</xsl:attribute> 
     1685                </xsl:if> 
     1686              </input> 
    15931687              <xsl:copy-of select="$bwStr-AEEF-StoreAsUTC"/> 
    15941688            </xsl:if> 
     
    16801774                </xsl:otherwise> 
    16811775              </xsl:choose> 
    1682               <xsl:copy-of select="$bwStr-AEEF-Date"/> 
     1776              <label for="bwEndDateTimeButton"> 
     1777                <xsl:copy-of select="$bwStr-AEEF-Date"/> 
     1778              </label> 
    16831779              <xsl:variable name="endDateTimeClass"> 
    16841780                <xsl:choose> 
     
    17671863                <xsl:choose> 
    17681864                  <xsl:when test="form/end/type='D'"> 
    1769                     <input type="radio" name="eventEndType" value="D" checked="checked" onclick="changeClass('endDateTime','invisible');changeClass('endDuration','shown');"/> 
     1865                    <input type="radio" name="eventEndType" id="bwEndDurationButton" value="D" checked="checked" onclick="changeClass('endDateTime','invisible');changeClass('endDuration','shown');"/> 
    17701866                  </xsl:when> 
    17711867                  <xsl:otherwise> 
    1772                     <input type="radio" name="eventEndType" value="D" onclick="changeClass('endDateTime','invisible');changeClass('endDuration','shown');"/> 
     1868                    <input type="radio" name="eventEndType" id="bwEndDurationButton" value="D" onclick="changeClass('endDateTime','invisible');changeClass('endDuration','shown');"/> 
    17731869                  </xsl:otherwise> 
    17741870                </xsl:choose> 
    1775                 <xsl:copy-of select="$bwStr-AEEF-Duration"/> 
     1871                <label for="bwEndDurationButton"> 
     1872                  <xsl:copy-of select="$bwStr-AEEF-Duration"/> 
     1873                </label> 
    17761874                <xsl:variable name="endDurationClass"> 
    17771875                  <xsl:choose> 
     
    18411939                <xsl:choose> 
    18421940                  <xsl:when test="form/end/type='N'"> 
    1843                     <input type="radio" name="eventEndType" value="N" checked="checked" onclick="changeClass('endDateTime','invisible');changeClass('endDuration','invisible');"/> 
     1941                    <input type="radio" name="eventEndType" id="bwEndNoneButton" value="N" checked="checked" onclick="changeClass('endDateTime','invisible');changeClass('endDuration','invisible');"/> 
    18441942                  </xsl:when> 
    18451943                  <xsl:otherwise> 
    1846                     <input type="radio" name="eventEndType" value="N" onclick="changeClass('endDateTime','invisible');changeClass('endDuration','invisible');"/> 
     1944                    <input type="radio" name="eventEndType" id="bwEndNoneButton" value="N" onclick="changeClass('endDateTime','invisible');changeClass('endDuration','invisible');"/> 
    18471945                  </xsl:otherwise> 
    18481946                </xsl:choose> 
    1849                 <xsl:copy-of select="$bwStr-AEEF-ThisEventHasNoDurationEndDate"/> 
     1947                <label for="bwEndNoneButton"> 
     1948                  <xsl:copy-of select="$bwStr-AEEF-ThisEventHasNoDurationEndDate"/> 
     1949                </label> 
    18501950              </div> 
    18511951            </div> 
     
    18971997                     so provide access to master event --> 
    18981998                <em><xsl:copy-of select="$bwStr-AEEF-ThisEventRecurrenceInstance"/></em><br/> 
    1899                 <a href="{$event-fetchForUpdate}&amp;calPath={$calPath}&amp;guid={$guid}" title="{$bwStr-AEEF-EditMaster}"><xsl:copy-of select="$bwStr-AEEF-EditMasterEvent"/></a> 
     1999                <xsl:choose> 
     2000                  <xsl:when test="starts-with(form/calendar/event/path,$submissionsRootUnencoded)"> 
     2001                    <a href="{$event-fetchForUpdatePending}&amp;calPath={$calPath}&amp;guid={$guid}" title="{$bwStr-AEEF-EditMaster}"><xsl:copy-of select="$bwStr-AEEF-EditPendingMasterEvent"/></a> 
     2002                  </xsl:when> 
     2003                  <xsl:otherwise> 
     2004                    <a href="{$event-fetchForUpdate}&amp;calPath={$calPath}&amp;guid={$guid}" title="{$bwStr-AEEF-EditMaster}"><xsl:copy-of select="$bwStr-AEEF-EditMasterEvent"/></a> 
     2005                  </xsl:otherwise> 
     2006                </xsl:choose> 
     2007                 
    19002008              </xsl:when> 
    19012009              <xsl:otherwise> 
     
    19082016                                  <xsl:if test="$canEdit = 'false'"><xsl:attribute name="class">invisible</xsl:attribute></xsl:if> 
    19092017                                  <!-- set or remove "recurring" and show or hide all recurrence fields: --> 
    1910                                   <input type="radio" name="recurring" value="true" onclick="swapRecurrence(this)"> 
     2018                                  <input type="radio" name="recurring" id="bwRecurringOnButton" value="true" onclick="swapRecurrence(this)"> 
    19112019                                    <xsl:if test="form/recurringEntity = 'true'"><xsl:attribute name="checked">checked</xsl:attribute></xsl:if> 
    1912                                   </input><xsl:text> </xsl:text><xsl:copy-of select="$bwStr-AEEF-EventRecurs"/> 
    1913                                   <input type="radio" name="recurring" value="false" onclick="swapRecurrence(this)"> 
     2020                                  </input> 
     2021                                  <label for="bwRecurringOnButton"> 
     2022                                    <xsl:copy-of select="$bwStr-AEEF-EventRecurs"/> 
     2023                                  </label> 
     2024                                  <input type="radio" name="recurring" id="bwRecurringOffButton" value="false" onclick="swapRecurrence(this)"> 
    19142025                                    <xsl:if test="form/recurringEntity = 'false'"><xsl:attribute name="checked">checked</xsl:attribute></xsl:if> 
    1915                                   </input><xsl:text> </xsl:text><xsl:copy-of select="$bwStr-AEEF-EventDoesNotRecur"/> 
     2026                                  </input> 
     2027                                  <label for="bwRecurringOffButton"> 
     2028                                    <xsl:copy-of select="$bwStr-AEEF-EventDoesNotRecur"/> 
     2029                                  </label> 
    19162030                                </div> 
    19172031                              </xsl:when> 
     
    19442058                      <xsl:attribute name="class">invisible</xsl:attribute> 
    19452059                    </xsl:if> 
    1946                     <input type="checkbox" name="rrulesUiSwitch" value="advanced" onchange="swapVisible(this,'advancedRrules')"/> 
    1947                     <xsl:copy-of select="$bwStr-AEEF-ShowAdvancedRecurrenceRules"/> 
     2060                    <input type="checkbox" name="rrulesUiSwitch" id="bwRrulesAdvancedButton" value="advanced" onchange="swapVisible(this,'advancedRrules')"/> 
     2061                    <label for="bwRrulesAdvancedButton"> 
     2062                      <xsl:copy-of select="$bwStr-AEEF-ShowAdvancedRecurrenceRules"/> 
     2063                    </label> 
    19482064                  </span> 
    19492065 
     
    20912207                      <td id="recurrenceFrequency" rowspan="2"> 
    20922208                        <em><xsl:copy-of select="$bwStr-AEEF-Frequency"/></em><br/> 
    2093                         <input type="radio" name="freq" value="NONE" onclick="showRrules(this.value)" checked="checked"/><xsl:copy-of select="$bwStr-AEEF-None"/><br/> 
     2209                        <input type="radio" name="freq" id="bwFreqNone" value="NONE" onclick="showRrules(this.value)" checked="checked"/> 
     2210                        <label for="bwFreqNone"> 
     2211                          <xsl:copy-of select="$bwStr-AEEF-None"/> 
     2212                        </label><br/> 
    20942213                        <!--<input type="radio" name="freq" value="HOURLY" onclick="showRrules(this.value)"/>hourly<br/>--> 
    2095                         <input type="radio" name="freq" value="DAILY" onclick="showRrules(this.value)"/><xsl:copy-of select="$bwStr-AEEF-Daily"/><br/> 
    2096                         <input type="radio" name="freq" value="WEEKLY" onclick="showRrules(this.value)"/><xsl:copy-of select="$bwStr-AEEF-Weekly"/><br/> 
    2097                         <input type="radio" name="freq" value="MONTHLY" onclick="showRrules(this.value)"/><xsl:copy-of select="$bwStr-AEEF-Monthly"/><br/> 
    2098                         <input type="radio" name="freq" value="YEARLY" onclick="showRrules(this.value)"/><xsl:copy-of select="$bwStr-AEEF-Yearly"/> 
     2214                        <input type="radio" name="freq" id="bwFreqDaily" value="DAILY" onclick="showRrules(this.value)"/> 
     2215                        <label for="bwFreqDaily"> 
     2216                          <xsl:copy-of select="$bwStr-AEEF-Daily"/> 
     2217                        </label><br/> 
     2218                        <input type="radio" name="freq" id="bwFreqWeekly" value="WEEKLY" onclick="showRrules(this.value)"/> 
     2219                        <label for="bwFreqWeekly"> 
     2220                          <xsl:copy-of select="$bwStr-AEEF-Weekly"/> 
     2221                        </label><br/> 
     2222                        <input type="radio" name="freq" id="bwFreqMonthly" value="MONTHLY" onclick="showRrules(this.value)"/> 
     2223                        <label for="bwFreqMonthly"> 
     2224                          <xsl:copy-of select="$bwStr-AEEF-Monthly"/> 
     2225                        </label><br/> 
     2226                        <input type="radio" name="freq" id="bwFreqYearly" value="YEARLY" onclick="showRrules(this.value)"/> 
     2227                        <label for="bwFreqYearly"> 
     2228                          <xsl:copy-of select="$bwStr-AEEF-Yearly"/> 
     2229                        </label> 
    20992230                      </td> 
    21002231                      <!-- recurrence count, until, forever --> 
     
    25242655            <span> 
    25252656              <xsl:if test="$canEdit = 'false'"><xsl:attribute name="class">invisible</xsl:attribute></xsl:if> 
    2526               <input type="radio" name="eventStatus" value="CONFIRMED" checked="checked"> 
     2657              <input type="radio" name="eventStatus" id="bwStatusConfirmedButton" value="CONFIRMED" checked="checked"> 
    25272658                <xsl:if test="form/status = 'CONFIRMED'"><xsl:attribute name="checked">checked</xsl:attribute></xsl:if> 
    2528               </input><xsl:copy-of select="$bwStr-AEEF-Confirmed"/> 
    2529               <input type="radio" name="eventStatus" value="TENTATIVE"> 
     2659              </input> 
     2660              <label for="bwStatusConfirmedButton"> 
     2661                <xsl:copy-of select="$bwStr-AEEF-Confirmed"/> 
     2662              </label> 
     2663              <input type="radio" name="eventStatus" id="bwStatusTentativeButton" value="TENTATIVE"> 
    25302664                <xsl:if test="form/status = 'TENTATIVE'"><xsl:attribute name="checked">checked</xsl:attribute></xsl:if> 
    2531               </input><xsl:copy-of select="$bwStr-AEEF-Tentative"/> 
    2532               <input type="radio" name="eventStatus" value="CANCELLED"> 
     2665              </input> 
     2666              <label for="bwStatusTentativeButton"> 
     2667                <xsl:copy-of select="$bwStr-AEEF-Tentative"/> 
     2668              </label> 
     2669              <input type="radio" name="eventStatus" id="bwStatusCancelledButton" value="CANCELLED"> 
    25332670                <xsl:if test="form/status = 'CANCELLED'"><xsl:attribute name="checked">checked</xsl:attribute></xsl:if> 
    2534               </input><xsl:copy-of select="$bwStr-AEEF-Canceled"/> 
     2671              </input> 
     2672              <label for="bwStatusCancelledButton"> 
     2673                <xsl:copy-of select="$bwStr-AEEF-Canceled"/> 
     2674              </label> 
    25352675            </span> 
    25362676            <xsl:if test="$canEdit = 'false'"> 
     
    27062846                   locations exist --> 
    27072847              <xsl:if test="form/location/preferred/select/option"> 
    2708                 <input type="radio" name="toggleLocationLists" value="preferred" onclick="changeClass('bwPreferredLocationList','shown');changeClass('bwAllLocationList','invisible');"> 
     2848                <input type="radio" name="toggleLocationLists" id="bwLocationPreferredButton" value="preferred" onclick="changeClass('bwPreferredLocationList','shown');changeClass('bwAllLocationList','invisible');"> 
    27092849                  <xsl:if test="form/location/preferred/select/option and not(form/location/all/select/option/@selected and not(form/location/preferred/select/option/@selected))"> 
    27102850                    <xsl:attribute name="checked">checked</xsl:attribute> 
    27112851                  </xsl:if> 
    27122852                </input> 
    2713                 <xsl:copy-of select="$bwStr-AEEF-Preferred"/> 
    2714                 <input type="radio" name="toggleLocationLists" value="all" onclick="changeClass('bwPreferredLocationList','invisible');changeClass('bwAllLocationList','shown');"> 
     2853                <label for="bwLocationPreferredButton"> 
     2854                  <xsl:copy-of select="$bwStr-AEEF-Preferred"/> 
     2855                </label> 
     2856                <input type="radio" name="toggleLocationLists" id="bwLocationAllButton" value="all" onclick="changeClass('bwPreferredLocationList','invisible');changeClass('bwAllLocationList','shown');"> 
    27152857                  <xsl:if test="form/location/all/select/option/@selected and not(form/location/preferred/select/option/@selected)"> 
    27162858                    <xsl:attribute name="checked">checked</xsl:attribute> 
    27172859                  </xsl:if> 
    27182860                </input> 
    2719                 <xsl:copy-of select="$bwStr-AEEF-All"/> 
     2861                <label for="bwLocationAllButton"> 
     2862                  <xsl:copy-of select="$bwStr-AEEF-All"/> 
     2863                </label> 
    27202864              </xsl:if> 
    27212865            </span> 
     
    27762920                  <option value=""> 
    27772921                    <xsl:copy-of select="$bwStr-AEEF-SelectColon"/> 
    2778                   </option>option> 
     2922                  </option> 
    27792923                  <xsl:copy-of select="form/contact/preferred/select/*"/> 
    27802924                </select> 
     
    27932937                   contacts exist --> 
    27942938              <xsl:if test="form/contact/preferred/select/option"> 
    2795                 <input type="radio" name="toggleContactLists" value="preferred" onclick="changeClass('bwPreferredContactList','shown');changeClass('bwAllContactList','invisible');"> 
     2939                <input type="radio" name="toggleContactLists" id="bwContactPreferredButton" value="preferred" onclick="changeClass('bwPreferredContactList','shown');changeClass('bwAllContactList','invisible');"> 
    27962940                  <xsl:if test="form/contact/preferred/select/option and not(form/contact/all/select/option/@selected and not(form/contact/preferred/select/option/@selected))"> 
    27972941                    <xsl:attribute name="checked">checked</xsl:attribute> 
    27982942                  </xsl:if> 
    27992943                </input> 
    2800                 <xsl:copy-of select="$bwStr-AEEF-Preferred"/> 
    2801                 <input type="radio" name="toggleContactLists" value="all" onclick="changeClass('bwPreferredContactList','invisible');changeClass('bwAllContactList','shown');"> 
     2944                <label for="bwContactPreferredButton"> 
     2945                  <xsl:copy-of select="$bwStr-AEEF-Preferred"/> 
     2946                </label> 
     2947                <input type="radio" name="toggleContactLists" id="bwContactAllButton" value="all" onclick="changeClass('bwPreferredContactList','invisible');changeClass('bwAllContactList','shown');"> 
    28022948                  <xsl:if test="form/contact/all/select/option/@selected and not(form/contact/preferred/select/option/@selected)"> 
    28032949                    <xsl:attribute name="checked">checked</xsl:attribute> 
    28042950                  </xsl:if> 
    28052951                </input> 
    2806                 <xsl:copy-of select="$bwStr-AEEF-All"/> 
     2952                <label for="bwContactAllButton"> 
     2953                  <xsl:copy-of select="$bwStr-AEEF-All"/> 
     2954                </label> 
    28072955              </xsl:if> 
    28082956            </span> 
     
    28262974          </tr> 
    28272975        </xsl:if> 
     2976 
     2977        <!-- Registration settings --> 
     2978        <!-- Display and use only if we've set an event reg admin token in the admin web client's system parameters --> 
     2979        <xsl:if test="eventregAdminToken != ''"> 
     2980        <tr class="optional"> 
     2981          <xsl:if test="$canEdit = 'false'"><xsl:attribute name="class">invisible</xsl:attribute></xsl:if> 
     2982          <td class="fieldName"><xsl:copy-of select="$bwStr-AEEF-Registration"/></td> 
     2983          <td> 
     2984                    <input type="checkbox" id="bwIsRegisterableEvent" name="bwIsRegisterableEvent" onclick="showRegistrationFields(this);"> 
     2985                      <xsl:if test="form/xproperties/node()[name()='X-BEDEWORK-MAX-TICKETS']"> 
     2986                        <xsl:attribute name="checked">checked</xsl:attribute> 
     2987                        <xsl:attribute name="disabled">disabled</xsl:attribute> 
     2988                      </xsl:if> 
     2989            </input>  
     2990            <label for="bwIsRegisterableEvent"><xsl:copy-of select="$bwStr-AEEF-UsersMayRegister"/></label> 
     2991             
     2992            <div id="bwRegistrationFields" class="invisible"> 
     2993              <xsl:if test="form/xproperties/node()[name()='X-BEDEWORK-MAX-TICKETS']"><xsl:attribute name="class">visible</xsl:attribute></xsl:if> 
     2994               
     2995                    <label for="xBwMaxTicketsHolder" class="interiorLabel"><xsl:copy-of select="$bwStr-AEEF-MaxTickets"/></label>  
     2996                            <input type="text"  name="xBwMaxTicketsHolder" id="xBwMaxTicketsHolder" size="3"> 
     2997                              <xsl:if test="form/xproperties/node()[name()='X-BEDEWORK-MAX-TICKETS']"> 
     2998                                <xsl:attribute name="value"><xsl:value-of select="form/xproperties/node()[name()='X-BEDEWORK-MAX-TICKETS']/values/text"/></xsl:attribute> 
     2999                              </xsl:if> 
     3000                            </input>  
     3001                    <xsl:text> </xsl:text><span class="fieldInfo"><xsl:copy-of select="$bwStr-AEEF-MaxTicketsInfo"/></span><br/> 
     3002                     
     3003                    <label for="xBwMaxTicketsPerUserHolder" class="interiorLabel"><xsl:copy-of select="$bwStr-AEEF-TicketsAllowed"/></label>  
     3004                      <input type="text"  name="xBwMaxTicketsPerUserHolder" id="xBwMaxTicketsPerUserHolder" value="1" size="3"> 
     3005                        <xsl:if test="form/xproperties/node()[name()='X-BEDEWORK-MAX-TICKETS-PER-USER']"> 
     3006                          <xsl:attribute name="value"><xsl:value-of select="form/xproperties/node()[name()='X-BEDEWORK-MAX-TICKETS-PER-USER']/values/text"/></xsl:attribute> 
     3007                        </xsl:if> 
     3008                      </input>  
     3009                    <xsl:text> </xsl:text><span class="fieldInfo"><xsl:copy-of select="$bwStr-AEEF-TicketsAllowedInfo"/></span><br/> 
     3010                     
     3011                    <label for="xBwRegistrationOpensDate" class="interiorLabel"><xsl:copy-of select="$bwStr-AEEF-RegistrationOpens"/></label>   
     3012              <div class="dateFields"> 
     3013                 <input type="text" name="xBwRegistrationOpensDate" id="xBwRegistrationOpensDate" size="10"/> 
     3014              </div> 
     3015              <div class="timeFields" id="xBwRegistrationOpensTimeFields"> 
     3016                 <select name="xBwRegistrationOpens.hour" id="xBwRegistrationOpensHour"> 
     3017                   <xsl:copy-of select="form/start/hour/select/*"/> 
     3018                 </select> 
     3019                 <select name="xBwRegistrationOpens.minute" id="xBwRegistrationOpensMinute"> 
     3020                   <xsl:copy-of select="form/start/minute/select/*"/> 
     3021                 </select> 
     3022                 <xsl:if test="form/start/ampm"> 
     3023                   <select name="xBwRegistrationOpens.ampm" id="xBwRegistrationOpensAmpm"> 
     3024                     <xsl:copy-of select="form/start/ampm/select/*"/> 
     3025                   </select> 
     3026                 </xsl:if> 
     3027                 <xsl:text> </xsl:text> 
     3028                 <img src="{$resourcesRoot}/resources/clockIcon.gif" width="16" height="15" border="0" id="xBwRegistrationOpensClock" alt="*"/> 
     3029 
     3030                 <select name="xBwRegistrationOpens.tzid" id="xBwRegistrationOpensTzid" class="timezones"> 
     3031                   <xsl:if test="form/floating/input/@checked='checked'"><xsl:attribute name="disabled">disabled</xsl:attribute></xsl:if> 
     3032                   <option value="-1"><xsl:copy-of select="$bwStr-AEEF-SelectTimezone"/></option> 
     3033                   <xsl:variable name="xBwRegistrationOpensTzId" select="form/start/tzid"/> 
     3034                   <xsl:for-each select="/bedework/timezones/timezone"> 
     3035                     <option> 
     3036                       <xsl:attribute name="value"><xsl:value-of select="id"/></xsl:attribute> 
     3037                       <xsl:if test="$xBwRegistrationOpensTzId = id"><xsl:attribute name="selected">selected</xsl:attribute></xsl:if> 
     3038                       <xsl:value-of select="name"/> 
     3039                     </option> 
     3040                   </xsl:for-each> 
     3041                 </select> 
     3042              </div> 
     3043                    <xsl:text> </xsl:text><span class="fieldInfo"><xsl:copy-of select="$bwStr-AEEF-RegistrationOpensInfo"/></span><br/> 
     3044                <!-- Set the registration start date/time fields if populated  --> 
     3045                <xsl:if test="form/xproperties/node()[name()='X-BEDEWORK-REGISTRATION-START']"> 
     3046                  <script type="text/javascript"> 
     3047                    $(document).ready(function() { 
     3048                       $("#xBwRegistrationOpensDate").val("<xsl:value-of select="substring(form/xproperties/node()[name()='X-BEDEWORK-REGISTRATION-START']/values/text,1,4)"/>-<xsl:value-of select="substring(form/xproperties/node()[name()='X-BEDEWORK-REGISTRATION-START']/values/text,5,2)"/>-<xsl:value-of select="substring(form/xproperties/node()[name()='X-BEDEWORK-REGISTRATION-START']/values/text,7,2)"/>"); 
     3049                       <xsl:choose> 
     3050                         <xsl:when test="form/start/ampm"><!-- we're in am/pm mode --> 
     3051                           $("#xBwRegistrationOpensHour").val(hour24ToAmpm("<xsl:value-of select="substring(form/xproperties/node()[name()='X-BEDEWORK-REGISTRATION-START']/values/text,10,2)"/>")); 
     3052                           $("#xBwRegistrationOpensMinute").val(hour24ToAmpm("<xsl:value-of select="substring(form/xproperties/node()[name()='X-BEDEWORK-REGISTRATION-START']/values/text,12,2)"/>")); 
     3053                           $("#xBwRegistrationOpensAmpm").val(hour24GetAmpm("<xsl:value-of select="substring(form/xproperties/node()[name()='X-BEDEWORK-REGISTRATION-START']/values/text,10,2)"/>")); 
     3054                         </xsl:when> 
     3055                         <xsl:otherwise> 
     3056                           $("#xBwRegistrationOpensHour").val("<xsl:value-of select="substring(form/xproperties/node()[name()='X-BEDEWORK-REGISTRATION-START']/values/text,10,2)"/>"); 
     3057                           $("#xBwRegistrationOpensMinute").val("<xsl:value-of select="substring(form/xproperties/node()[name()='X-BEDEWORK-REGISTRATION-START']/values/text,12,2)"/>"); 
     3058                         </xsl:otherwise> 
     3059                       </xsl:choose> 
     3060                       $("#xBwRegistrationOpensTzid").val("<xsl:value-of select="form/xproperties/node()[name()='X-BEDEWORK-REGISTRATION-START']/parameters/TZID"/>"); 
     3061                    }); 
     3062                  </script> 
     3063                </xsl:if> 
     3064                     
     3065                    <label for="xBwRegistrationClosesDate" class="interiorLabel"><xsl:copy-of select="$bwStr-AEEF-RegistrationCloses"/></label> 
     3066              <div class="dateFields"> 
     3067                <input type="text" name="xBwRegistrationClosesDate" id="xBwRegistrationClosesDate" size="10"/> 
     3068              </div> 
     3069                      <div class="timeFields" id="xBwRegistrationClosesTimeFields"> 
     3070                <select name="xBwRegistrationCloses.hour" id="xBwRegistrationClosesHour"> 
     3071                  <xsl:copy-of select="form/start/hour/select/*"/> 
     3072                </select> 
     3073                <select name="xBwRegistrationCloses.minute" id="xBwRegistrationClosesMinute"> 
     3074                  <xsl:copy-of select="form/start/minute/select/*"/> 
     3075                </select> 
     3076                <xsl:if test="form/start/ampm"> 
     3077                  <select name="xBwRegistrationCloses.ampm" id="xBwRegistrationClosesAmpm"> 
     3078                    <xsl:copy-of select="form/start/ampm/select/*"/> 
     3079                  </select> 
     3080                </xsl:if> 
     3081                <xsl:text> </xsl:text> 
     3082                        <img src="{$resourcesRoot}/resources/clockIcon.gif" width="16" height="15" border="0" id="xBwRegistrationClosesClock" alt="*"/> 
     3083 
     3084                <select name="xBwRegistrationCloses.tzid" id="xBwRegistrationClosesTzid" class="timezones"> 
     3085                  <xsl:if test="form/floating/input/@checked='checked'"><xsl:attribute name="disabled">disabled</xsl:attribute></xsl:if> 
     3086                  <option value="-1"><xsl:copy-of select="$bwStr-AEEF-SelectTimezone"/></option> 
     3087                  <xsl:variable name="xBwRegistrationClosesTzId" select="form/start/tzid"/> 
     3088                  <xsl:for-each select="/bedework/timezones/timezone"> 
     3089                    <option> 
     3090                      <xsl:attribute name="value"><xsl:value-of select="id"/></xsl:attribute> 
     3091                      <xsl:if test="$xBwRegistrationClosesTzId = id"><xsl:attribute name="selected">selected</xsl:attribute></xsl:if> 
     3092                      <xsl:value-of select="name"/> 
     3093                    </option> 
     3094                  </xsl:for-each> 
     3095                </select> 
     3096              </div> 
     3097                    <xsl:text> </xsl:text><span class="fieldInfo"><xsl:copy-of select="$bwStr-AEEF-RegistrationClosesInfo"/></span> 
     3098                <!-- Set the registration end date/time fields if populated  --> 
     3099                <xsl:if test="form/xproperties/node()[name()='X-BEDEWORK-REGISTRATION-END']"> 
     3100                  <script type="text/javascript"> 
     3101                    $(document).ready(function() { 
     3102                       $("#xBwRegistrationClosesDate").val("<xsl:value-of select="substring(form/xproperties/node()[name()='X-BEDEWORK-REGISTRATION-END']/values/text,1,4)"/>-<xsl:value-of select="substring(form/xproperties/node()[name()='X-BEDEWORK-REGISTRATION-END']/values/text,5,2)"/>-<xsl:value-of select="substring(form/xproperties/node()[name()='X-BEDEWORK-REGISTRATION-END']/values/text,7,2)"/>"); 
     3103                       <xsl:choose> 
     3104                         <xsl:when test="form/start/ampm"><!-- we're in am/pm mode --> 
     3105                           $("#xBwRegistrationClosesHour").val(hour24ToAmpm("<xsl:value-of select="substring(form/xproperties/node()[name()='X-BEDEWORK-REGISTRATION-END']/values/text,10,2)"/>")); 
     3106                           $("#xBwRegistrationClosesMinute").val(hour24ToAmpm("<xsl:value-of select="substring(form/xproperties/node()[name()='X-BEDEWORK-REGISTRATION-END']/values/text,12,2)"/>")); 
     3107                           $("#xBwRegistrationClosesAmpm").val(hour24GetAmpm("<xsl:value-of select="substring(form/xproperties/node()[name()='X-BEDEWORK-REGISTRATION-END']/values/text,10,2)"/>")); 
     3108                         </xsl:when> 
     3109                         <xsl:otherwise> 
     3110                           $("#xBwRegistrationClosesHour").val("<xsl:value-of select="substring(form/xproperties/node()[name()='X-BEDEWORK-REGISTRATION-END']/values/text,10,2)"/>"); 
     3111                           $("#xBwRegistrationClosesMinute").val("<xsl:value-of select="substring(form/xproperties/node()[name()='X-BEDEWORK-REGISTRATION-END']/values/text,12,2)"/>"); 
     3112                         </xsl:otherwise> 
     3113                       </xsl:choose> 
     3114                       $("#xBwRegistrationClosesTzid").val("<xsl:value-of select="form/xproperties/node()[name()='X-BEDEWORK-REGISTRATION-END']/parameters/TZID"/>"); 
     3115                    }); 
     3116                  </script> 
     3117                </xsl:if> 
     3118                      <xsl:if test="/bedework/creating = 'false'"> 
     3119                        <p> 
     3120                          <xsl:variable name="registrationsHref"><xsl:value-of select="$bwRegistrationRoot"/>/admin/adminAgenda.do?href=<xsl:value-of select="form/calendar/event/encodedPath"/>/<xsl:value-of select="name"/>&amp;atkn=<xsl:value-of select="eventregAdminToken"/></xsl:variable> 
     3121                          <xsl:variable name="registrationsDownloadHref"><xsl:value-of select="$bwRegistrationRoot"/>/admin/download.do?href=<xsl:value-of select="form/calendar/event/encodedPath"/>/<xsl:value-of select="name"/>&amp;atkn=<xsl:value-of select="eventregAdminToken"/></xsl:variable> 
     3122                          <button onclick="launchSizedWindow('{$registrationsHref}', '1000', '600');return false;"><xsl:copy-of select="$bwStr-AEEF-ViewRegistrations"/></button> 
     3123                          <xsl:text> </xsl:text> 
     3124                          <!--<button onclick="location.href='{$registrationsDownloadHref}';return false;"><xsl:copy-of select="$bwStr-AEEF-DownloadRegistrations"/></button>--> 
     3125                        </p> 
     3126                      </xsl:if> 
     3127                  </div> 
     3128          </td> 
     3129        </tr> 
     3130            </xsl:if> 
    28283131 
    28293132        <!-- Topical area  --> 
     
    30453348            <xsl:variable name="virtualPath">/user<xsl:for-each select="ancestor-or-self::calendar/name">/<xsl:value-of select="."/></xsl:for-each></xsl:variable> 
    30463349            <xsl:variable name="displayName" select="summary"/> 
    3047             <input type="checkbox" name="alias" onclick="toggleBedeworkXProperty('X-BEDEWORK-ALIAS','{$displayName}','{$virtualPath}',this.checked)"> 
     3350            <input type="checkbox" name="alias" id="{generate-id(path)}" onclick="toggleBedeworkXProperty('X-BEDEWORK-ALIAS','{$displayName}','{$virtualPath}',this.checked)"> 
    30483351              <xsl:attribute name="value"><xsl:value-of select="$virtualPath"/></xsl:attribute> 
    30493352              <xsl:if test="$virtualPath = /bedework/formElements/form/xproperties//X-BEDEWORK-ALIAS/values/text"><xsl:attribute name="checked"><xsl:value-of select="checked"/></xsl:attribute></xsl:if> 
     
    30513354              <xsl:if test="/bedework/formElements/form/xproperties//X-BEDEWORK-SUBMIT-ALIAS/values/text = substring-after(aliasUri,'bwcal://')"><xsl:attribute name="checked"><xsl:value-of select="checked"/></xsl:attribute></xsl:if> 
    30523355            </input> 
     3356            <label for="{generate-id(path)}"> 
    30533357            <xsl:choose> 
    30543358              <xsl:when test="$virtualPath = /bedework/formElements/form/xproperties//X-BEDEWORK-ALIAS/values/text"> 
     
    30653369              </xsl:otherwise> 
    30663370            </xsl:choose> 
     3371            </label> 
    30673372          </xsl:otherwise> 
    30683373        </xsl:choose> 
     
    34663771      </tr> 
    34673772 
    3468       <tr> 
    3469         <th> 
    3470           <xsl:copy-of select="$bwStr-DsEv-TopicalAreas"/> 
    3471         </th> 
    3472         <td> 
    3473            <xsl:for-each select="xproperties/X-BEDEWORK-ALIAS"> 
    3474              <xsl:call-template name="substring-afterLastInstanceOf"> 
    3475                <xsl:with-param name="string" select="values/text"/> 
    3476                <xsl:with-param name="char">/</xsl:with-param> 
    3477              </xsl:call-template><br/> 
    3478            </xsl:for-each> 
    3479         </td> 
    3480       </tr> 
    3481  
    34823773      <!--  Description  --> 
    34833774      <tr> 
     
    34903781      </tr> 
    34913782      <!-- Cost --> 
     3783      <xsl:if test="cost and cost != ''"> 
    34923784      <tr class="optional"> 
    34933785        <th> 
     
    34983790        </td> 
    34993791      </tr> 
     3792      </xsl:if> 
     3793             
    35003794      <!-- Url --> 
    3501       <tr class="optional"> 
    3502         <th> 
    3503           <xsl:copy-of select="$bwStr-DsEv-URL"/> 
    3504         </th> 
    3505         <td> 
    3506           <xsl:variable name="eventLink" select="link"/> 
    3507           <a href="{$eventLink}"> 
    3508             <xsl:value-of select="link"/> 
    3509           </a> 
    3510         </td> 
    3511       </tr> 
     3795      <xsl:if test="link and link != ''"> 
     3796        <tr class="optional"> 
     3797          <th> 
     3798            <xsl:copy-of select="$bwStr-DsEv-URL"/> 
     3799          </th> 
     3800          <td> 
     3801            <xsl:variable name="eventLink" select="link"/> 
     3802            <a href="{$eventLink}"> 
     3803              <xsl:value-of select="link"/> 
     3804            </a> 
     3805          </td> 
     3806        </tr> 
     3807          </xsl:if> 
    35123808 
    35133809      <!-- Location --> 
     
    35683864      </tr> 
    35693865 
     3866      <tr> 
     3867        <th> 
     3868          <xsl:copy-of select="$bwStr-DsEv-TopicalAreas"/> 
     3869        </th> 
     3870        <td> 
     3871           <xsl:for-each select="xproperties/X-BEDEWORK-ALIAS"> 
     3872             <xsl:sort order="ascending" select="parameters/X-BEDEWORK-PARAM-DISPLAYNAME"/> 
     3873             <xsl:value-of select="parameters/X-BEDEWORK-PARAM-DISPLAYNAME"/><br/> 
     3874           </xsl:for-each> 
     3875        </td> 
     3876      </tr> 
     3877 
    35703878      <!--  Categories  --> 
    35713879      <tr> 
     
    35753883        <td> 
    35763884          <xsl:for-each select="categories/category"> 
    3577             <xsl:value-of select="word"/><br/> 
     3885            <xsl:sort order="ascending" select="value"/> 
     3886            <xsl:value-of select="value"/><br/> 
    35783887          </xsl:for-each> 
    35793888        </td> 
     
    62876596            <div class="desc"> 
    62886597              <xsl:copy-of select="$bwStr-MdSP-DirBrowseDisallowedNote"/> 
     6598            </div> 
     6599          </td> 
     6600        </tr> 
     6601        <tr> 
     6602          <th><xsl:copy-of select="$bwStr-MdSP-EvregAdmTkn"/></th> 
     6603          <td> 
     6604            <xsl:variable name="evregAdmTkn" select="/bedework/system/eventregAdminToken"/> 
     6605            <input value="{$evregAdmTkn}" name="eventregAdminToken" class="wide"/> 
     6606            <div class="desc"> 
     6607              <xsl:copy-of select="$bwStr-MdSP-EvregAdmTknNote"/> 
    62896608            </div> 
    62906609          </td> 
  • releases/bedework-3.8/deployment/webadmin/webapp/resources/es_ES/default/localeSettings.xsl

    r3204 r3608  
    5555      // recurrence strings 
    5656      var bwRecurChangeWarning = "WARNING: changing your recurrence rules\nwill destroy all existing recurrence overrides\nand exceptions when you save the event.\n\nContinue?"; 
     57      // registration strings 
     58      var maxTicketsWarning = "Event Registration Settings:\nYou must set the maximum number of tickets allowed for this event."; 
     59      var maxTicketsPerUserWarning = "Event Registration Settings:\nYou must set the maximum number of tickets each user may aquire."; 
    5760    </script> 
    5861  </xsl:template> 
  • releases/bedework-3.8/deployment/webadmin/webapp/resources/es_ES/default/strings.xsl

    r3558 r3608  
    179179  <xsl:variable name="bwStr-AEEF-ThisEventRecurrenceInstance">Este evento es una instancia de recurrencia.</xsl:variable> 
    180180  <xsl:variable name="bwStr-AEEF-EditMasterEvent">editar evento maestro</xsl:variable> 
     181  <xsl:variable name="bwStr-AEEF-EditPendingMasterEvent">editar o publicar evento maestro</xsl:variable> 
    181182  <xsl:variable name="bwStr-AEEF-EditMaster">editar maestro (evento recurrente)</xsl:variable> 
    182183  <xsl:variable name="bwStr-AEEF-EventRecurs">evento recurrente</xsl:variable> 
     
    276277  <xsl:variable name="bwStr-AEEF-ContactURL">URL de contacto:</xsl:variable> 
    277278  <xsl:variable name="bwStr-AEEF-ContactEmail">Dirección de Email de contacto:</xsl:variable> 
     279  <xsl:variable name="bwStr-AEEF-Registration">Registration:</xsl:variable> 
     280  <xsl:variable name="bwStr-AEEF-UsersMayRegister">Users may register for this event</xsl:variable> 
     281  <xsl:variable name="bwStr-AEEF-MaxTickets">Max tickets:</xsl:variable> 
     282  <xsl:variable name="bwStr-AEEF-MaxTicketsInfo">(maximum number of tickets allowed for the event)</xsl:variable> 
     283  <xsl:variable name="bwStr-AEEF-TicketsAllowed">Tickets allowed:</xsl:variable> 
     284  <xsl:variable name="bwStr-AEEF-TicketsAllowedInfo">(maximum number of tickets per user)</xsl:variable> 
     285  <xsl:variable name="bwStr-AEEF-RegistrationOpens">Registration opens:</xsl:variable> 
     286  <xsl:variable name="bwStr-AEEF-RegistrationOpensInfo">(date/time registration becomes available)</xsl:variable> 
     287  <xsl:variable name="bwStr-AEEF-RegistrationCloses">Registration closes:</xsl:variable> 
     288  <xsl:variable name="bwStr-AEEF-RegistrationClosesInfo">(date/time of registration cut off)</xsl:variable> 
     289  <xsl:variable name="bwStr-AEEF-ViewRegistrations">View event registrations</xsl:variable> 
     290  <xsl:variable name="bwStr-AEEF-DownloadRegistrations">Download registrations</xsl:variable> 
    278291  <xsl:variable name="bwStr-AEEF-Optional">(opcional)</xsl:variable> 
    279292 
     
    745758  <xsl:variable name="bwStr-MdSP-DirBrowseDisallowd">Navegación de directorio deshabilitada:</xsl:variable> 
    746759  <xsl:variable name="bwStr-MdSP-DirBrowseDisallowedNote">Verdadero si el servidor que alberga el xsl deshabilita la navegación de directorios.</xsl:variable> 
     760 
     761  <xsl:variable name="bwStr-MdSP-EvregAdmTkn">Eventreg admin token:</xsl:variable> 
     762  <xsl:variable name="bwStr-MdSP-EvregAdmTknNote">Token for event registration. Must be identical to token set in event reg JMX service</xsl:variable> 
     763 
    747764  <xsl:variable name="bwStr-MdSP-IndexRoot">Raíz del índice (indexado):</xsl:variable> 
    748765  <xsl:variable name="bwStr-MdSP-IndexRootNote">Raíz de los índices de eventos. Podría cambiarse sólo si los índices son movidos/copiados</xsl:variable> 
  • releases/bedework-3.8/deployment/webadmin/webapp/resources/resources/bedeworkEventForm.js

    r3506 r3608  
    321321 
    322322function setEventFields(formObj,portalFriendly,submitter) { 
     323  if (!validateEventForm(formObj)) { 
     324    return false;  
     325  } 
    323326  if (!portalFriendly) { 
    324327    setDates(formObj); 
     
    328331  } // else we are editing an instance of a recurrence 
    329332  setBedeworkXProperties(formObj,submitter); 
     333  return true; 
     334} 
     335 
     336/* do some basic client-side validation where needed */ 
     337function validateEventForm(formObj) { 
     338  if(formObj["bwIsRegisterableEvent"] != undefined) { 
     339    if(formObj["bwIsRegisterableEvent"].checked) { 
     340      var maxTickets = trim(formObj["xBwMaxTicketsHolder"].value); 
     341      var maxTicketsPerUser = trim(formObj["xBwMaxTicketsPerUserHolder"].value); 
     342      if(maxTickets == "" || isNaN(maxTickets)) { 
     343        alert(maxTicketsWarning); 
     344        formObj["xBwMaxTicketsHolder"].focus(); 
     345        return false; 
     346      } 
     347      if(maxTicketsPerUser == "" || isNaN(maxTicketsPerUser)) { 
     348        alert(maxTicketsPerUserWarning); 
     349        formObj["xBwMaxTicketsPerUserHolder"].focus(); 
     350        return false; 
     351      } 
     352    } 
     353  } 
     354  return true; 
    330355} 
    331356 
     
    358383  } 
    359384   
    360   //X-BEDEWORK-THUMB-IMAGE: 
     385  // X-BEDEWORK-THUMB-IMAGE: 
    361386  if (formObj["xBwImageThumbHolder"] && formObj["xBwImageThumbHolder"].value != '') { 
    362387    bwXProps.update(bwXPropertyThumbImage,[],formObj["xBwImageThumbHolder"].value,true); 
     388  } 
     389   
     390  // Event registration x-properties: 
     391  if (formObj["bwIsRegisterableEvent"].checked) { 
     392    bwXProps.update(bwXPropertyMaxTickets,[],formObj["xBwMaxTicketsHolder"].value,true); 
     393    bwXProps.update(bwXPropertyMaxTicketsPerUser,[],formObj["xBwMaxTicketsPerUserHolder"].value,true); 
     394     
     395    var bwRegDateString = "" 
     396    bwRegDateString = formObj["xBwRegistrationOpensDate"].value.replace(/-/g,"") + "T" + padTimeUnit(formObj["xBwRegistrationOpens.hour"].value) + padTimeUnit(formObj["xBwRegistrationOpens.minute"].value) + "00"; 
     397    bwXProps.update(bwXPropertyRegistrationStart,[["TZID",formObj["xBwRegistrationOpensTzid"].value]],bwRegDateString,true); 
     398 
     399    bwRegDateString = formObj["xBwRegistrationClosesDate"].value.replace(/-/g,"") + "T" + padTimeUnit(formObj["xBwRegistrationCloses.hour"].value) + padTimeUnit(formObj["xBwRegistrationCloses.minute"].value) + "00"; 
     400    bwXProps.update(bwXPropertyRegistrationEnd,[["TZID",formObj["xBwRegistrationClosesTzid"].value]],bwRegDateString,true); 
    363401  } 
    364402   
     
    368406  // commit all xproperties back to the form 
    369407  bwXProps.generate(formObj); 
     408} 
     409function padTimeUnit(val) { 
     410  var timeUnit = parseInt(val,10); 
     411  if (timeUnit < 10) { 
     412    return "0" + timeUnit; 
     413  } else { 
     414    return String(timeUnit); 
     415  } 
     416} 
     417function hour24ToAmpm(val) { 
     418  var hour = parseInt(val,10); 
     419  if (hour == 0) { 
     420    return "12"; 
     421  } else if (hour < 10) { 
     422    return "0" + hour; 
     423  } else if (hour > 12) { 
     424    return String(hour - 10); 
     425  } else { 
     426    return String(hour); 
     427  } 
     428} 
     429function hour24GetAmpm(val) { 
     430  var hour = parseInt(val,10); 
     431  if (hour < 12) { 
     432    return "am"; 
     433  } else { 
     434    return "pm"; 
     435  } 
    370436} 
    371437function removeEventImage(imgField,thumbField) { 
     
    712778  return true; 
    713779} 
    714  
     780function showRegistrationFields(obj) { 
     781  // toggle the registration fields 
     782  if (obj.checked) { 
     783    changeClass('bwRegistrationFields','visible'); 
     784  } else { 
     785    changeClass('bwRegistrationFields','invisible'); 
     786  } 
     787
    715788function resetPublishBox(calSelectId) { 
    716789  // User has closed the publish box without publishing. 
  • releases/bedework-3.8/deployment/webpublic/webapp/resources/demoskins/MainCampus/themes/bedeworkTheme/css/bwTheme.css

    r3544 r3608  
    10221022 border: solid 1px #CCC; 
    10231023} 
     1024#bwRegistrationBox { 
     1025        float: right; 
     1026} 
    10241027.bwEventImage { 
    10251028 float: right; 
     1029 clear: right; 
    10261030 margin: 0pt 0.5em 1em 1em; 
    10271031} 
  • releases/bedework-3.8/deployment/webpublic/webapp/resources/demoskins/MainCampus/themes/bedeworkTheme/event.xsl

    r3499 r3608  
    9696        </xsl:if> 
    9797      </h2> 
     98       
     99      <xsl:if test="$eventRegEnabled and xproperties/node()[name()='X-BEDEWORK-REGISTRATION-START']"> 
     100        <div id="bwRegistrationBox"> 
     101          <xsl:variable name="eventName"><xsl:value-of select="name"/></xsl:variable> 
     102          <iframe src="{$eventReg}?href={$calPath}%2F{$eventName}" width="300" height="175"> 
     103                  <p> 
     104                                <xsl:copy-of select="$bwStr-Error-IframeUnsupported"/> 
     105                              </p> 
     106                      </iframe> 
     107        </div> 
     108      </xsl:if> 
    98109 
    99110      <div class="eventWhen"> 
  • releases/bedework-3.8/deployment/webpublic/webapp/resources/demoskins/MainCampus/themes/bedeworkTheme/themeSettings.xsl

    r3499 r3608  
    134134  <xsl:variable name="ongoingEventsShowForCollection">true</xsl:variable> 
    135135 
     136 
     137 
     138 
     139  <!-- EVENT REGISTRATION SYSTEM --> 
     140  <!-- Bedework provides an application that allows users to register for events. --> 
     141   
     142  <!-- Enable the events registration system?  If set to true, the theme will  
     143       look for registration X-Properties and expose the registration system to  
     144       users for registerable events. --> 
     145  <xsl:variable name="eventRegEnabled">true</xsl:variable>      
     146   
     147  <!-- Location of the event registration application; this is set to the  
     148       default quickstart location. If you move it, you must change this 
     149       value. The value includes the path to initialize the system on page load.  --> 
     150  <xsl:variable name="eventReg">/eventreg/ureg/init.do</xsl:variable> 
    136151 
    137152 
  • releases/bedework-3.8/deployment/websubmit/webapp/resources/demoskins/default/default/default.css

    r3027 r3608  
    385385  color: black; 
    386386} 
     387#bedework label { 
     388  cursor: pointer; 
     389} 
    387390#bedework .subForm label { 
    388391  float: left; 
     
    819822  font-style: italic; 
    820823} 
     824.recurrenceEditLinks { 
     825  font-style: italic; 
     826  font-size: 0.9em; 
     827  margin-top: 0.5em; 
     828} 
  • releases/bedework-3.8/deployment/websubmit/webapp/resources/demoskins/default/default/default.xsl

    r3579 r3608  
    626626              </xsl:variable> 
    627627 
    628               <!-- date only event: anniversary event - often interpreted as "all day event" --> 
    629               <xsl:choose> 
    630                 <xsl:when test="form/allDay/input/@checked='checked'"> 
    631                   <input type="checkbox" name="allDayFlag" onclick="swapAllDayEvent(this)" value="on" checked="checked"/> 
    632                   <input type="hidden" name="eventStartDate.dateOnly" value="true" id="allDayStartDateField"/> 
    633                   <input type="hidden" name="eventEndDate.dateOnly" value="true" id="allDayEndDateField"/> 
    634                 </xsl:when> 
    635                 <xsl:otherwise> 
    636                   <input type="checkbox" name="allDayFlag" onclick="swapAllDayEvent(this)" value="off"/> 
    637                   <input type="hidden" name="eventStartDate.dateOnly" value="false" id="allDayStartDateField"/> 
    638                   <input type="hidden" name="eventEndDate.dateOnly" value="false" id="allDayEndDateField"/> 
    639                 </xsl:otherwise> 
    640               </xsl:choose> 
    641               <xsl:copy-of select="$bwStr-FoEl-AllDay"/> 
     628              <!-- All day flag --> 
     629                    <input type="checkbox" name="allDayFlag" id="allDayFlag" onclick="swapAllDayEvent(this)" value="off"> 
     630                      <xsl:if test="form/allDay/input/@checked='checked'"> 
     631                        <xsl:attribute name="checked">checked</xsl:attribute> 
     632                        <xsl:attribute name="value">on</xsl:attribute> 
     633                      </xsl:if> 
     634                    </input> 
     635                    <input type="hidden" name="eventStartDate.dateOnly" value="off" id="allDayStartDateField"> 
     636                      <xsl:if test="form/allDay/input/@checked='checked'"> 
     637                        <xsl:attribute name="value">on</xsl:attribute> 
     638                      </xsl:if> 
     639                    </input> 
     640                    <input type="hidden" name="eventEndDate.dateOnly" value="off" id="allDayEndDateField"> 
     641                      <xsl:if test="form/allDay/input/@checked='checked'"> 
     642                        <xsl:attribute name="value">on</xsl:attribute> 
     643                      </xsl:if> 
     644                    </input> 
     645                    <label for="allDayFlag"> 
     646                      <xsl:copy-of select="$bwStr-FoEl-AllDay"/> 
     647                    </label> 
    642648 
    643649              <!-- HIDE floating event: no timezone (and not UTC) 
     
    757763                <xsl:choose> 
    758764                  <xsl:when test="form/end/type='E'"> 
    759                     <input type="radio" name="eventEndType" value="E" checked="checked" onclick="changeClass('endDateTime','shown');changeClass('endDuration','invisible');"/> 
     765                    <input type="radio" name="eventEndType" id="bwEndDateTimeButton" value="E" checked="checked" onclick="changeClass('endDateTime','shown');changeClass('endDuration','invisible');"/> 
    760766                  </xsl:when> 
    761767                  <xsl:otherwise> 
    762                     <input type="radio" name="eventEndType" value="E" onclick="changeClass('endDateTime','shown');changeClass('endDuration','invisible');"/> 
     768                    <input type="radio" name="eventEndType" id="bwEndDateTimeButton" value="E" onclick="changeClass('endDateTime','shown');changeClass('endDuration','invisible');"/> 
    763769                  </xsl:otherwise> 
    764770                </xsl:choose> 
    765                 <xsl:copy-of select="$bwStr-FoEl-Date"/> 
     771                      <label for="bwEndDateTimeButton"> 
     772                        <xsl:copy-of select="$bwStr-FoEl-Date"/> 
     773                      </label> 
    766774                <xsl:variable name="endDateTimeClass"> 
    767775                  <xsl:choose> 
     
    850858                  <xsl:choose> 
    851859                    <xsl:when test="form/end/type='D'"> 
    852                       <input type="radio" name="eventEndType" value="D" checked="checked" onclick="changeClass('endDateTime','invisible');changeClass('endDuration','shown');"/> 
     860                      <input type="radio" name="eventEndType" id="bwEndDurationButton" value="D" checked="checked" onclick="changeClass('endDateTime','invisible');changeClass('endDuration','shown');"/> 
    853861                    </xsl:when> 
    854862                    <xsl:otherwise> 
    855                       <input type="radio" name="eventEndType" value="D" onclick="changeClass('endDateTime','invisible');changeClass('endDuration','shown');"/> 
     863                      <input type="radio" name="eventEndType" id="bwEndDurationButton" value="D" onclick="changeClass('endDateTime','invisible');changeClass('endDuration','shown');"/> 
    856864                    </xsl:otherwise> 
    857865                  </xsl:choose> 
    858                   <xsl:copy-of select="$bwStr-FoEl-Duration"/> 
     866                        <label for="bwEndDurationButton"> 
     867                          <xsl:copy-of select="$bwStr-FoEl-Duration"/> 
     868                        </label> 
    859869                  <xsl:variable name="endDurationClass"> 
    860870                    <xsl:choose> 
     
    918928                  <xsl:choose> 
    919929                    <xsl:when test="form/end/type='N'"> 
    920                       <input type="radio" name="eventEndType" value="N" checked="checked" onclick="changeClass('endDateTime','invisible');changeClass('endDuration','invisible');"/> 
     930                      <input type="radio" name="eventEndType" id="bwEndNoneButton" value="N" checked="checked" onclick="changeClass('endDateTime','invisible');changeClass('endDuration','invisible');"/> 
    921931                    </xsl:when> 
    922932                    <xsl:otherwise> 
    923                       <input type="radio" name="eventEndType" value="N" onclick="changeClass('endDateTime','invisible');changeClass('endDuration','invisible');"/> 
     933                      <input type="radio" name="eventEndType" id="bwEndNoneButton" value="N" onclick="changeClass('endDateTime','invisible');changeClass('endDuration','invisible');"/> 
    924934                    </xsl:otherwise> 
    925935                  </xsl:choose> 
    926                   <xsl:copy-of select="$bwStr-FoEl-This"/><xsl:text> </xsl:text> 
    927                   <xsl:choose> 
    928                     <xsl:when test="form/entityType = '2'"><xsl:copy-of select="$bwStr-FoEl-Task"/></xsl:when> 
    929                     <xsl:otherwise><xsl:copy-of select="$bwStr-FoEl-Event"/></xsl:otherwise> 
    930                   </xsl:choose> 
    931                   <xsl:text> </xsl:text><xsl:copy-of select="$bwStr-FoEl-HasNoDurationEndDate"/> 
     936                  <label for="bwEndNoneButton"> 
     937                          <xsl:copy-of select="$bwStr-FoEl-This"/><xsl:text> </xsl:text> 
     938                          <xsl:choose> 
     939                            <xsl:when test="form/entityType = '2'"><xsl:copy-of select="$bwStr-FoEl-Task"/></xsl:when> 
     940                            <xsl:otherwise><xsl:copy-of select="$bwStr-FoEl-Event"/></xsl:otherwise> 
     941                          </xsl:choose> 
     942                          <xsl:text> </xsl:text> 
     943                    <xsl:copy-of select="$bwStr-FoEl-HasNoDurationEndDate"/> 
     944                  </label> 
    932945                </div> 
    933946              </div> 
     
    10961109      </div> 
    10971110 
    1098       <!-- Categories tab (now Topical areas) --> 
    1099       <!-- ================================== --> 
     1111      <!-- Topical areas tab --> 
     1112      <!-- ================= --> 
    11001113      <div id="bwEventTab-Categories" class="invisible"> 
    11011114        <!-- Topical area  --> 
     
    13291342            <xsl:variable name="virtualPath"><xsl:for-each select="ancestor-or-self::calendar/name">/<xsl:value-of select="."/></xsl:for-each></xsl:variable> 
    13301343            <xsl:variable name="displayName" select="summary"/> 
    1331             <input type="checkbox" name="alias" onclick="toggleBedeworkXProperty('X-BEDEWORK-SUBMIT-ALIAS','{$displayName}','{$virtualPath}',this.checked)"> 
     1344            <input type="checkbox" name="alias" id="{generate-id(path)}" onclick="toggleBedeworkXProperty('X-BEDEWORK-SUBMIT-ALIAS','{$displayName}','{$virtualPath}',this.checked)"> 
    13321345              <xsl:attribute name="value"><xsl:value-of select="$virtualPath"/></xsl:attribute> 
    13331346              <xsl:if test="$virtualPath = /bedework/formElements/form/xproperties//X-BEDEWORK-SUBMIT-ALIAS/values/text"><xsl:attribute name="checked"><xsl:value-of select="checked"/></xsl:attribute></xsl:if> 
    13341347            </input> 
    1335             <xsl:choose> 
    1336               <xsl:when test="$virtualPath = /bedework/formElements/form/xproperties//X-BEDEWORK-SUBMIT-ALIAS/values/text"> 
    1337                 <strong><xsl:value-of select="summary"/></strong> 
    1338               </xsl:when> 
    1339               <xsl:otherwise> 
    1340                 <xsl:value-of select="summary"/> 
    1341               </xsl:otherwise> 
    1342             </xsl:choose> 
     1348            <label for="{generate-id(path)}"> 
     1349                    <xsl:choose> 
     1350                      <xsl:when test="$virtualPath = /bedework/formElements/form/xproperties//X-BEDEWORK-SUBMIT-ALIAS/values/text"> 
     1351                        <strong><xsl:value-of select="summary"/></strong> 
     1352                      </xsl:when> 
     1353                      <xsl:otherwise> 
     1354                        <xsl:value-of select="summary"/> 
     1355                      </xsl:otherwise> 
     1356                    </xsl:choose> 
     1357            </label> 
    13431358          </xsl:otherwise> 
    13441359        </xsl:choose> 
     
    15761591          <td class="date"> 
    15771592            <xsl:value-of select="start/shortdate"/> 
    1578             <xsl:text> </xsl:text> 
    1579             <xsl:value-of select="start/time"/> 
     1593                        <xsl:text> </xsl:text> 
     1594                        <xsl:choose> 
     1595                          <xsl:when test="start/allday = 'false'"> 
     1596                            <xsl:value-of select="start/time"/> 
     1597                          </xsl:when> 
     1598                          <xsl:otherwise> 
     1599                            <xsl:copy-of select="$bwStr-FoEl-AllDay"/> 
     1600                          </xsl:otherwise> 
     1601                        </xsl:choose> 
    15801602          </td> 
    15811603          <td class="date"> 
    15821604            <xsl:value-of select="end/shortdate"/> 
    1583             <xsl:text> </xsl:text> 
    1584             <xsl:value-of select="end/time"/> 
     1605                        <xsl:text> </xsl:text> 
     1606                        <xsl:choose> 
     1607                          <xsl:when test="start/allday = 'false'"> 
     1608                            <xsl:value-of select="end/time"/> 
     1609                          </xsl:when> 
     1610                          <xsl:otherwise> 
     1611                            <xsl:copy-of select="$bwStr-FoEl-AllDay"/> 
     1612                          </xsl:otherwise> 
     1613                        </xsl:choose> 
    15851614          </td> 
    15861615          <td> 
     
    15951624                <xsl:copy-of select="$bwStr-EvLC-RecurringEvent"/> 
    15961625                <xsl:copy-of select="$bwStr-EvLC-Edit"/> 
     1626                <xsl:text> </xsl:text> 
    15971627                <a href="{$editEvent}&amp;calPath={$calPath}&amp;guid={$guid}"> 
    15981628                  <xsl:copy-of select="$bwStr-EvLC-Master"/> 
  • trunk/deployment/webadmin/webapp/resources/es_ES/default/default.xsl

    r3599 r3608  
    7070  <xsl:variable name="appRoot" select="/bedework/approot"/> 
    7171 
     72  <!-- Registration module application context --> 
     73  <xsl:variable name="bwRegistrationRoot">/eventreg</xsl:variable> 
     74 
    7275  <!-- Root folder of the submissions calendars used by the submissions client --> 
    7376  <xsl:variable name="submissionsRootEncoded" select="/bedework/submissionsRoot/encoded"/> 
    7477  <xsl:variable name="submissionsRootUnencoded" select="/bedework/submissionsRoot/unencoded"/> 
    75  
    76   <!-- Switches for Optional Modules --> 
    77   <!-- Use the regisration module? --> 
    78   <xsl:variable name="bwUseRegistrationSystem">true</xsl:variable> 
    79   <xsl:variable name="bwRegistrationRoot">/eventreg</xsl:variable> 
    8078 
    8179  <!-- Properly encoded prefixes to the application actions; use these to build 
     
    299297                  // startdate 
    300298                  $("#bwEventWidgetStartDate").datepicker({ 
    301                     <xsl:if test="/bedework/creating = 'true' or (translate(/bedework/formElements/form/start/rfc3339DateTime,'-:','') = /bedework/formElements/form/xproperties/X-BEDEWORK-REGISTRATION-END/values/text)">altField: "#xBwRegistrationClosesDate",</xsl:if><!--  
     299                    <xsl:if test="/bedework/formElements/eventregAdminToken != '' and (/bedework/creating = 'true' or (translate(/bedework/formElements/form/start/rfc3339DateTime,'-:','') = /bedework/formElements/form/xproperties/X-BEDEWORK-REGISTRATION-END/values/text))">altField: "#xBwRegistrationClosesDate",</xsl:if><!--  
    302300                 -->defaultDate: new Date(<xsl:value-of select="/bedework/formElements/form/start/yearText/input/@value"/>, <xsl:value-of select="number(/bedework/formElements/form/start/month/select/option[@selected = 'selected']/@value) - 1"/>, <xsl:value-of select="/bedework/formElements/form/start/day/select/option[@selected = 'selected']/@value"/>) 
    303301                  }).attr("readonly", "readonly"); 
     
    371369                              }); 
    372370                               
     371                              <xsl:if test="/bedework/formElements/eventregAdminToken != ''"> 
    373372                              // registration open dates 
    374373                  $("#xBwRegistrationOpensDate").datepicker().attr("readonly", "readonly"); 
     
    404403                    pmLabel: "<xsl:value-of select="$bwStr-Cloc-PM"/>" 
    405404                  }); 
    406                                      
     405                        </xsl:if> 
    407406                } 
    408407                </xsl:comment> 
     
    29772976 
    29782977        <!-- Registration settings --> 
    2979         <xsl:if test="$bwUseRegistrationSystem = 'true'"> 
     2978        <!-- Display and use only if we've set an event reg admin token in the admin web client's system parameters --> 
     2979        <xsl:if test="eventregAdminToken != ''"> 
    29802980        <tr class="optional"> 
    29812981          <xsl:if test="$canEdit = 'false'"><xsl:attribute name="class">invisible</xsl:attribute></xsl:if> 
     
    31163116                  </script> 
    31173117                </xsl:if> 
    3118                       <xsl:if test="eventregAdminToken"> 
     3118                      <xsl:if test="/bedework/creating = 'false'"> 
    31193119                        <p> 
    31203120                          <xsl:variable name="registrationsHref"><xsl:value-of select="$bwRegistrationRoot"/>/admin/adminAgenda.do?href=<xsl:value-of select="form/calendar/event/encodedPath"/>/<xsl:value-of select="name"/>&amp;atkn=<xsl:value-of select="eventregAdminToken"/></xsl:variable>