Changeset 1229

Show
Ignore:
Timestamp:
01/18/07 04:38:11
Author:
johnsa
Message:

personal client:

- completing most of recurring events
admin client:
- porting recurrence changes into admin client
- porting event form widgets into admin client

still need work on rdates

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/deployment/webadmin/webapp/resources/default/default/default.css

    r1179 r1229  
    2626} 
    2727#messages { 
    28   background-color: inherit
     28  background-color: #333
    2929  color: #ff0; 
    3030  font-weight: bold; 
     
    3535} 
    3636#errors { 
    37   background-color: inherit
     37  background-color: #333
    3838  color: #f99; 
    3939  font-weight: bold; 
     
    4141} 
    4242#errors em { 
    43   background-color: inherit
     43  background-color: #333
    4444  color: #ff9; 
    4545} 
     
    297297  padding: 0.2em; 
    298298} 
    299 table.eventFormTable .dateFields { 
     299.dateFields { 
    300300  display: inline; 
    301301} 
    302 table.eventFormTable .timeFields { 
     302.timeFields { 
    303303  display: inline; 
    304304  margin-left: 1em; 
     
    312312  margin-bottom: 0.5em; 
    313313} 
    314 table.eventFormTable .dateStartEndBox { 
     314.dateStartEndBox { 
    315315  border: 1px solid #ccb; 
    316316  margin: 4px; 
     
    318318  white-space: nowrap; 
    319319} 
    320 table.eventFormTable .dateStartEndBox strong { 
     320.dateStartEndBox strong { 
    321321  display: block; 
    322322} 
     
    328328  width: 160px; 
    329329} 
    330 table.eventFormTable .shown { 
     330.shown { 
    331331  display: inline; 
    332332} 
    333 table.eventFormTable .invisible, 
    334333.invisible { 
    335334  display: none !important; 
     
    428427} 
    429428#clock { 
    430   position: relative; 
     429  position: absolute; 
     430  top: 160px; 
     431  margin: auto; 
     432
     433#startTimeFields img, 
     434#endTimeFields img { 
     435  vertical-align: middle; 
    431436} 
    432437#tztable { 
     
    436441  padding: 2px 4px; 
    437442} 
     443#recurringSwitch { 
     444  margin: 0; 
     445} 
    438446#recurrenceInfo { 
    439   font-size: 0.9em; 
    440   font-style: italic; 
    441   margin-bottom: 0.5em; 
    442 
    443 #recurrenceFields #recurrenceTable strong { 
     447  margin: 0; 
     448  padding: 1em; 
     449  border: 1px solid #ddd; 
     450  font-size: 0.9em; 
     451
     452#rrulesSwitch, 
     453#rrulesUiSwitch { 
     454  font-size: 0.8em; 
     455
     456#rrulesFields { 
     457  margin: 0; 
     458  padding: 0; 
     459
     460#rrulesTable { 
     461  border: 1px solid #ddd; 
     462  margin: 0; 
     463  padding: 0; 
     464
     465#rrulesTable strong { 
    444466  display: inline; 
    445467} 
    446 #recurrenceFields #recurrenceTable td.recurrenceFrequency { 
    447   padding: 0.5em 1em 0 0; 
    448 
    449 #recurrenceFields #recurrenceTable td.recurrenceRules { 
    450   padding: 0.5em 0 0.5em 1em; 
    451   border-left: 1px solid #ddd; 
    452 
    453 #recurrenceFields #recurrenceTable td.recurrenceUntil { 
     468#rrulesTable td#recurrenceFrequency { 
     469  padding: 0.5em 1em; 
     470  border-right: 1px solid #ddd; 
     471
     472#rrulesTable td#advancedRrules { 
     473  padding: 0.5em 1em 0.5em 1em; 
     474  border-top: 1px solid #ddd; 
     475
     476#rrulesTable td#recurrenceUntil { 
    454477  width: 100%; 
    455478  padding: 0.5em 0 0 1em; 
    456   border-left: 1px solid #ddd; 
    457 } 
    458 #recurrenceFields #recurrenceTable td.recurrenceRules #advancedRecurrenceRules { 
    459   display: block; 
    460   border-bottom: 1px solid #ddd; 
    461 } 
    462 #recurrenceFields #recurrenceTable td.recurrenceRules .rruleBlock { 
    463   margin: 0 0 0.5em 2em; 
    464479} 
    465480.chkBoxListItem { 
     
    468483  width: 3em; 
    469484} 
    470 #recurrenceFields #recurrenceTable br { 
     485#rrulesTable br { 
    471486  clear: both; 
    472487} 
    473 #recurrenceFields #recurrenceTable p { 
     488#rrulesTable p { 
    474489  margin: 0 0 0.5em 0; 
    475490} 
    476 #recurrenceFields #recurrenceTable p.weekRecurLinks { 
     491#rrulesTable p.weekRecurLinks { 
    477492  margin: 1em 0 1em 0; 
    478493} 
    479 #recurrenceFields #recurrenceTable .extraByMonthPosFields { 
     494#rrulesTable .extraByMonthPosFields { 
    480495  margin: 0 0 1em 2em; 
    481496  padding: 0; 
    482497} 
    483 #recurrenceFields #monthRecurFields div, 
    484 #recurrenceFields #yearRecurFields div { 
     498#rrulesTable #monthRecurFields div, 
     499#rrulesTable #yearRecurFields div { 
    485500  display: block; 
    486501  margin: 0 0 0.5em 0; 
    487502} 
    488 #recurrenceFields #dayMonthCheckBoxList, 
    489 #recurrenceFields #monthDaysCheckBoxList, 
    490 #recurrenceFields #yearWeeksCheckBoxList, 
    491 #recurrenceFields #yearMonthCheckBoxList, 
    492 #recurrenceFields #yearMonthDaysCheckBoxList, 
    493 #recurrenceFields #yearDaysCheckBoxList { 
     503#rrulesTable #dayMonthCheckBoxList, 
     504#rrulesTable #monthDaysCheckBoxList, 
     505#rrulesTable #yearWeeksCheckBoxList, 
     506#rrulesTable #yearMonthCheckBoxList, 
     507#rrulesTable #yearMonthDaysCheckBoxList, 
     508#rrulesTable #yearDaysCheckBoxList { 
    494509  margin: 0.5em 0 0.5em 2em; 
    495510  display: block; 
    496511  clear: both; 
     512  white-space: nowrap !important; 
     513} 
     514#recurrenceDatesButton input { 
     515  margin: 0; 
     516  font-size: 0.8em; 
     517} 
     518#rdatesFormFields { 
     519  font-size: 0.9em; 
     520  text-align: center; 
     521} 
     522#rdatesTable { 
     523  font-size: 0.9em; 
     524  border: 1px solid #ddd; 
     525} 
     526#rdatesTable td { 
     527  padding: 0.5em 1em; 
     528} 
     529#rdatesTable td.trash { 
     530  text-align: right; 
     531} 
     532#bwDialogBox { 
     533  margin: 0; 
     534  background: white; 
     535  color: black; 
     536} 
     537#bwDialogBox h4 { 
     538  padding: 4px; 
     539  margin: 0; 
     540  text-align: center; 
     541  color: #eee; 
     542  background: #233979 url(../../resources/glassFill-02.gif) repeat-x bottom; 
     543  border: 2px solid #233979; 
     544} 
     545#bwDialogBox #errors, 
     546#bwDialogBox #messages { 
     547  margin: 0; 
     548} 
     549#bwDialogBox table { 
     550  width: 100%; 
     551  margin: 1em 0; 
     552} 
     553#bwDialogBox table th { 
     554  padding: 2px; 
     555  text-align: center; 
     556  color: black; 
     557  background: #eee; 
    497558} 
    498559#contactEmailAlert { 
  • trunk/deployment/webadmin/webapp/resources/default/default/default.xsl

    r1226 r1229  
    8282  <xsl:variable name="event-update" select="/bedeworkadmin/urlPrefixes/event/update/a/@href"/> 
    8383  <xsl:variable name="event-selectCalForEvent" select="/bedeworkadmin/urlPrefixes/event/selectCalForEvent/a/@href"/> 
     84  <xsl:variable name="event-showRdates" select="/bedeworkadmin/urlPrefixes/event/showRdates"/> 
     85  <xsl:variable name="event-setRdate" select="/bedeworkadmin/urlPrefixes/event/setRdate"/> 
    8486  <xsl:variable name="event-initUpload" select="/bedeworkadmin/urlPrefixes/event/initUpload/a/@href"/> 
    8587  <xsl:variable name="event-upload" select="/bedeworkadmin/urlPrefixes/event/upload/a/@href"/> 
     
    192194        <link rel="stylesheet" href="{$resourcesRoot}/default/default/default.css"/> 
    193195        <link rel="stylesheet" href="{$resourcesRoot}/default/default/subColors.css"/> 
    194         <xsl:if test="/bedeworkadmin/page='modEvent'"> 
    195           <script type="text/javascript" src="{$resourcesRoot}/resources/includes.js"></script> 
    196           <script type="text/javascript" src="{$resourcesRoot}/resources/bwClock.js"></script> 
     196        <xsl:if test="/bedeworkadmin/page='modEvent' or 
     197                      /bedeworkadmin/page='rdates'"> 
     198          <script type="text/javascript" src="{$resourcesRoot}/resources/bedework.js">&#160;</script> 
     199          <script type="text/javascript" src="{$resourcesRoot}/resources/bwClock.js">&#160;</script> 
    197200          <link rel="stylesheet" href="{$resourcesRoot}/resources/bwClock.css"/> 
    198           <script type="text/javascript" src="{$resourcesRoot}/resources/dynCalendarWidget.js"></script> 
    199           <link rel="stylesheet" href="{$resourcesRoot}/resources/dynCalendarWidget.css"/> 
    200           <script type="text/javascript" src="{$resourcesRoot}/resources/browserSniffer.js"></script> 
     201          <script type="text/javascript" src="/bedework-common/javascript/dojo/dojo.js">&#160;</script> 
     202          <script type="text/javascript" src="{$resourcesRoot}/resources/bedeworkEventForm.js">&#160;</script> 
    201203        </xsl:if> 
    202204        <xsl:if test="/bedeworkadmin/page='upload' or /bedeworkadmin/page='selectCalForEvent'"> 
    203           <script type="text/javascript" src="{$resourcesRoot}/resources/includes.js"></script> 
     205          <script type="text/javascript" src="{$resourcesRoot}/resources/bedework.js">&#160;</script> 
    204206        </xsl:if> 
    205207        <xsl:if test="/bedeworkadmin/page='calendarDescriptions' or /bedeworkadmin/page='displayCalendar'"> 
     
    224226          <xsl:when test="/bedeworkadmin/page='selectCalForEvent'"> 
    225227            <xsl:call-template name="selectCalForEvent"/> 
     228          </xsl:when> 
     229          <xsl:when test="/bedeworkadmin/page='rdates'"> 
     230            <xsl:call-template name="messagesAndErrors"/> 
     231            <xsl:call-template name="rdates"/> 
    226232          </xsl:when> 
    227233          <xsl:otherwise> 
     
    434440      </h1> 
    435441 
    436       <xsl:if test="/bedeworkadmin/message"> 
    437         <div id="messages"> 
    438           <p> 
    439             <xsl:apply-templates select="/bedeworkadmin/message"/> 
    440           </p> 
    441         </div> 
    442       </xsl:if> 
    443       <xsl:if test="/bedeworkadmin/error"> 
    444         <div id="errors"> 
    445           <p> 
    446             <xsl:apply-templates select="/bedeworkadmin/error"/> 
    447           </p> 
    448         </div> 
    449       </xsl:if> 
     442      <xsl:call-template name="messagesAndErrors"/> 
    450443 
    451444    </div> 
     
    484477      CALENDAR of EVENTS 
    485478    </div> 
     479  </xsl:template> 
     480 
     481  <xsl:template name="messagesAndErrors"> 
     482    <xsl:if test="/bedeworkadmin/message"> 
     483      <ul id="messages"> 
     484        <xsl:for-each select="/bedeworkadmin/message"> 
     485          <li><xsl:apply-templates select="."/></li> 
     486        </xsl:for-each> 
     487      </ul> 
     488    </xsl:if> 
     489    <xsl:if test="/bedeworkadmin/error"> 
     490      <ul id="errors"> 
     491        <xsl:for-each select="/bedeworkadmin/error"> 
     492          <li><xsl:apply-templates select="."/></li> 
     493        </xsl:for-each> 
     494      </ul> 
     495    </xsl:if> 
    486496  </xsl:template> 
    487497 
     
    768778 
    769779    <xsl:variable name="modEventAction" select="form/@action"/> 
    770     <form name="peForm" method="post" action="{$modEventAction}" onsubmit="setRecurrence(this)"> 
     780    <form name="eventForm" method="post" action="{$modEventAction}" onsubmit="setEventFields(this)"> 
    771781      <table class="eventFormTable"> 
    772782        <tr> 
     
    868878              <div class="dateFields"> 
    869879                <span class="startDateLabel">Date </span> 
    870                 <xsl:copy-of select="form/start/month/*"/> 
     880                <span dojoType="dropdowndatepicker" formatLength="medium" value="today" saveFormat="yyyyMMdd" id="bwEventWidgetStartDate" iconURL="{$resourcesRoot}/resources/calIcon.gif"> 
     881                  <xsl:attribute name="value"><xsl:value-of select="form/start/rfc3339DateTime"/></xsl:attribute> 
     882                  <xsl:text> </xsl:text> 
     883                </span> 
     884                <input type="hidden" name="eventStartDate.year"> 
     885                  <xsl:attribute name="value"><xsl:value-of select="form/start/yearText/input/@value"/></xsl:attribute> 
     886                </input> 
     887                <input type="hidden" name="eventStartDate.month"> 
     888                  <xsl:attribute name="value"><xsl:value-of select="form/start/month/select/option[@selected = 'selected']/@value"/></xsl:attribute> 
     889                </input> 
     890                <input type="hidden" name="eventStartDate.day"> 
     891                  <xsl:attribute name="value"><xsl:value-of select="form/start/day/select/option[@selected = 'selected']/@value"/></xsl:attribute> 
     892                </input> 
     893                <!--<xsl:copy-of select="form/start/month/*"/> 
    871894                <xsl:copy-of select="form/start/day/*"/> 
    872895                <xsl:choose> 
     
    877900                    <xsl:copy-of select="form/start/yearText/*"/> 
    878901                  </xsl:otherwise> 
    879                 </xsl:choose> 
     902                </xsl:choose>--> 
    880903              </div> 
     904              <!-- 
    881905              <script language="JavaScript" type="text/javascript"> 
    882906                <xsl:comment> 
    883907                startDateDynCalWidget = new dynCalendar('startDateDynCalWidget', <xsl:value-of select="number(form/start/yearText/input/@value)"/>, <xsl:value-of select="number(form/start/month/select/option[@selected='selected']/@value)-1"/>, <xsl:value-of select="number(form/start/day/select/option[@selected='selected']/@value)"/>, 'startDateCalWidgetCallback',true,'<xsl:value-of select="$resourcesRoot"/>/resources/'); 
    884908                </xsl:comment> 
    885               </script> 
    886               <!--<img src="{$resourcesRoot}/resources/calIcon.gif" width="16" height="15" border="0"/>--> 
     909              </script>--> 
    887910              <div class="{$timeFieldsClass}" id="startTimeFields"> 
    888911                <span id="calWidgetStartTimeHider" class="show"> 
     
    929952              <div class="{$endDateTimeClass}" id="endDateTime"> 
    930953                <div class="dateFields"> 
    931                   <xsl:copy-of select="form/end/dateTime/month/*"/> 
     954                  <span dojoType="dropdowndatepicker" formatLength="medium" value="today" saveFormat="yyyyMMdd" id="bwEventWidgetEndDate" iconURL="{$resourcesRoot}/resources/calIcon.gif"> 
     955                    <xsl:attribute name="value"><xsl:value-of select="form/end/rfc3339DateTime"/></xsl:attribute> 
     956                    <xsl:text> </xsl:text> 
     957                  </span> 
     958                  <input type="hidden" name="eventEndDate.year"> 
     959                    <xsl:attribute name="value"><xsl:value-of select="form/end/dateTime/yearText/input/@value"/></xsl:attribute> 
     960                  </input> 
     961                  <input type="hidden" name="eventEndDate.month"> 
     962                    <xsl:attribute name="value"><xsl:value-of select="form/end/dateTime/month/select/option[@selected = 'selected']/@value"/></xsl:attribute> 
     963                  </input> 
     964                  <input type="hidden" name="eventEndDate.day"> 
     965                    <xsl:attribute name="value"><xsl:value-of select="form/end/dateTime/day/select/option[@selected = 'selected']/@value"/></xsl:attribute> 
     966                  </input> 
     967                  <!--<xsl:copy-of select="form/end/dateTime/month/*"/> 
    932968                  <xsl:copy-of select="form/end/dateTime/day/*"/> 
    933969                  <xsl:choose> 
     
    938974                      <xsl:copy-of select="form/end/dateTime/yearText/*"/> 
    939975                    </xsl:otherwise> 
    940                   </xsl:choose> 
     976                  </xsl:choose>--> 
    941977                </div> 
    942                 <script language="JavaScript" type="text/javascript"> 
     978                <!--<script language="JavaScript" type="text/javascript"> 
    943979                  <xsl:comment> 
    944980                  endDateDynCalWidget = new dynCalendar('endDateDynCalWidget', <xsl:value-of select="number(form/start/yearText/input/@value)"/>, <xsl:value-of select="number(form/start/month/select/option[@selected='selected']/@value)-1"/>, <xsl:value-of select="number(form/start/day/select/option[@selected='selected']/@value)"/>, 'endDateCalWidgetCallback',true,'<xsl:value-of select="$resourcesRoot"/>/resources/'); 
    945981                </xsl:comment> 
    946                 </script> 
    947                 <!--<img src="{$resourcesRoot}/resources/calIcon.gif" width="16" height="15" border="0"/>--> 
     982                </script>--> 
    948983                <div class="{$timeFieldsClass}" id="endTimeFields"> 
    949984                  <span id="calWidgetEndTimeHider" class="show"> 
     
    10651100          </td> 
    10661101          <td> 
    1067             <!-- Output descriptive recurrence information.  Probably not 
    1068                complete yet. Replace all freq strings so can be internationalized. --> 
    1069           <xsl:if test="form/recurrence"> 
    1070             <div id="recurrenceInfo"> 
    1071               Every 
    1072               <xsl:choose> 
    1073                 <xsl:when test="form/recurrence/interval &gt; 1"> 
    1074                   <xsl:value-of select="form/recurrence/interval"/> 
    1075                 </xsl:when> 
    1076               </xsl:choose> 
    1077               <xsl:text> </xsl:text> 
    1078               <xsl:choose> 
    1079                 <xsl:when test="form/recurrence/freq = 'HOURLY'">hour</xsl:when> 
    1080                 <xsl:when test="form/recurrence/freq = 'DAILY'">day</xsl:when> 
    1081                 <xsl:when test="form/recurrence/freq = 'WEEKLY'">week</xsl:when> 
    1082                 <xsl:when test="form/recurrence/freq = 'MONTHLY'">month</xsl:when> 
    1083                 <xsl:when test="form/recurrence/freq = 'YEARLY'">year</xsl:when> 
    1084               </xsl:choose><xsl:if test="form/recurrence/interval &gt; 1">s</xsl:if> 
    1085               <xsl:text> </xsl:text> 
    1086  
    1087               <xsl:if test="form/recurrence/byday"> 
    1088                 <xsl:for-each select="form/recurrence/byday/pos"> 
    1089                   <xsl:if test="position() != 1"> and </xsl:if> 
    1090                   on 
    1091                   <xsl:choose> 
    1092                     <xsl:when test="@val='1'"> 
    1093                       the first 
    1094                     </xsl:when> 
    1095                     <xsl:when test="@val='2'"> 
    1096                       the second 
    1097                     </xsl:when> 
    1098                     <xsl:when test="@val='3'"> 
    1099                       the third 
    1100                     </xsl:when> 
    1101                     <xsl:when test="@val='4'"> 
    1102                       the fourth 
    1103                     </xsl:when> 
    1104                     <xsl:when test="@val='5'"> 
    1105                       the fifth 
    1106                     </xsl:when> 
    1107                     <xsl:when test="@val='-1'"> 
    1108                       the last 
    1109                     </xsl:when> 
    1110                     <!-- don't output "every" --> 
    1111                     <!--<xsl:otherwise> 
    1112                       every 
    1113                     </xsl:otherwise>--> 
    1114                   </xsl:choose> 
    1115                   <xsl:for-each select="day"> 
    1116                     <xsl:if test="position() != 1 and position() = last()"> and </xsl:if> 
    1117                     <xsl:variable name="dayVal" select="."/> 
    1118                     <xsl:variable name="dayPos"> 
    1119                       <xsl:for-each select="/bedeworkadmin/recurdayvals/val"> 
    1120                         <xsl:if test="node() = $dayVal"><xsl:value-of select="position()"/></xsl:if> 
    1121                       </xsl:for-each> 
    1122                     </xsl:variable> 
    1123                     <xsl:value-of select="/bedeworkadmin/shortdaynames/val[position() = $dayPos]"/> 
    1124                     <xsl:if test="position() != last()">, </xsl:if> 
    1125                   </xsl:for-each> 
    1126                 </xsl:for-each> 
    1127               </xsl:if> 
    1128  
    1129               <xsl:if test="form/recurrence/bymonth"> 
    1130                 in 
    1131                 <xsl:for-each select="form/recurrence/bymonth/val"> 
    1132                   <xsl:if test="position() != 1 and position() = last()"> and </xsl:if> 
    1133                   <xsl:variable name="monthNum" select="number(.)"/> 
    1134                   <xsl:value-of select="/bedeworkadmin/monthlabels/val[position() = $monthNum]"/> 
    1135                   <xsl:if test="position() != last()">, </xsl:if> 
    1136                 </xsl:for-each> 
    1137               </xsl:if> 
    1138  
    1139               <xsl:if test="form/recurrence/bymonthday"> 
    1140                 on the 
    1141                 <xsl:apply-templates select="form/recurrence/bymonthday/val" mode="weekMonthYearNumbers"/> 
    1142                 day<xsl:if test="form/recurrence/bymonthday/val[position()=2]">s</xsl:if> of the month 
    1143               </xsl:if> 
    1144  
    1145               <xsl:if test="form/recurrence/byyearday"> 
    1146                 on the 
    1147                 <xsl:apply-templates select="form/recurrence/byyearday/val" mode="weekMonthYearNumbers"/> 
    1148                 day<xsl:if test="form/recurrence/byyearday/val[position()=2]">s</xsl:if> of the year 
    1149               </xsl:if> 
    1150  
    1151               <xsl:if test="form/recurrence/byweekno"> 
    1152                 in the 
    1153                 <xsl:apply-templates select="form/recurrence/byweekno/val" mode="weekMonthYearNumbers"/> 
    1154                 week<xsl:if test="form/recurrence/byweekno/val[position()=2]">s</xsl:if> of the year 
    1155               </xsl:if> 
    1156  
    1157               repeating 
    1158               <xsl:choose> 
    1159                 <xsl:when test="form/recurrence/count = '-1'">forever</xsl:when> 
    1160                 <xsl:when test="form/recurrence/until"> 
    1161                   <xsl:value-of select="form/recurrence/until"/> 
    1162                 </xsl:when> 
    1163                 <xsl:otherwise> 
    1164                   <xsl:value-of select="form/recurrence/count"/> 
    1165                   time<xsl:if test="form/recurrence/count &gt; 1">s</xsl:if> 
    1166                 </xsl:otherwise> 
    1167               </xsl:choose> 
    1168             </div> 
    1169           </xsl:if> 
    1170  
    1171  
    1172           <!-- recurrence rules --> 
    11731102            <xsl:choose> 
    11741103              <xsl:when test="recurrenceId != ''"> 
     
    11801109              <xsl:otherwise> 
    11811110                <!-- has recurrenceId, so is master --> 
    1182                 <input type="checkbox" name="recurrenceFlag" onclick="swapRecurrence(this)" value="on"/> 
    1183                 <xsl:choose> 
    1184                   <xsl:when test="/bedeworkadmin/creating = 'true'"> 
    1185                     set recurrence rules 
    1186                   </xsl:when> 
    1187                   <xsl:otherwise> 
    1188                     change recurrence 
    1189                   </xsl:otherwise> 
    1190                 </xsl:choose> 
    1191                 <span id="recurrenceUiSwitch" class="invisible"> 
    1192                   <input type="checkbox" name="recurrenceUiSwitch" value="simple" onchange="swapVisible(this,'advancedRecurrenceRules')"/> 
    1193                   show advanced recurrence rules 
    1194                 </span> 
    1195  
    1196                 <!-- set these dynamically when form is submitted --> 
    1197                 <input type="hidden" name="interval" value=""/> 
    1198                 <input type="hidden" name="count" value=""/> 
    1199                 <input type="hidden" name="until" value=""/> 
    1200                 <input type="hidden" name="byday" value=""/> 
    1201                 <input type="hidden" name="bymonthday" value=""/> 
    1202                 <input type="hidden" name="bymonth" value=""/> 
    1203                 <input type="hidden" name="byweekno" value=""/> 
    1204                 <input type="hidden" name="byyearday" value=""/> 
    1205                 <input type="hidden" name="wkst" value=""/> 
    1206                 <input type="hidden" name="setpos" value=""/> 
    1207  
     1111 
     1112                <div id="recurringSwitch"> 
     1113                  <!-- set or remove "recurring" and show or hide all recurrence fields: --> 
     1114                  <input type="radio" name="recurring" value="true" onclick="swapRecurrence(this)"> 
     1115                    <xsl:if test="form/recurrence"><xsl:attribute name="checked">checked</xsl:attribute></xsl:if> 
     1116                  </input> event recurs 
     1117                  <input type="radio" name="recurring" value="false" onclick="swapRecurrence(this)"> 
     1118                    <xsl:if test="not(form/recurrence)"><xsl:attribute name="checked">checked</xsl:attribute></xsl:if> 
     1119                  </input> event does not recur 
     1120                </div> 
     1121 
     1122                <!-- wrapper for all recurrence fields (rrules and rdates): --> 
    12081123                <div id="recurrenceFields" class="invisible"> 
    1209                   <table id="recurrenceTable" cellspacing="0"> 
     1124                  <xsl:if test="form/recurrence"><xsl:attribute name="class">visible</xsl:attribute></xsl:if> 
     1125 
     1126                  <!-- show or hide rrules fields: --> 
     1127                  <input type="checkbox" name="rrulesFlag" onclick="swapRrules(this)" value="on"/> 
     1128                  <span id="rrulesSwitch"> 
     1129                    <xsl:choose> 
     1130                      <xsl:when test="/bedeworkadmin/creating = 'true'"> 
     1131                        create recurrence rules 
     1132                      </xsl:when> 
     1133                      <xsl:otherwise> 
     1134                        change recurrence rules 
     1135                      </xsl:otherwise> 
     1136                    </xsl:choose> 
     1137                  </span> 
     1138                  <span id="rrulesUiSwitch" class="invisible"> 
     1139                    <input type="checkbox" name="rrulesUiSwitch" value="advanced" onchange="swapVisible(this,'advancedRrules')"/> 
     1140                    show advanced recurrence rules 
     1141                  </span> 
     1142 
     1143                  <xsl:if test="form/recurrence"> 
     1144                    <!-- Output descriptive recurrence information.  Probably not 
     1145                         complete yet. Replace all strings so can be 
     1146                         more easily internationalized. --> 
     1147                    <div id="recurrenceInfo"> 
     1148                      Every 
     1149                      <xsl:choose> 
     1150                        <xsl:when test="form/recurrence/interval &gt; 1"> 
     1151                          <xsl:value-of select="form/recurrence/interval"/> 
     1152                        </xsl:when> 
     1153                      </xsl:choose> 
     1154                      <xsl:text> </xsl:text> 
     1155                      <xsl:choose> 
     1156                        <xsl:when test="form/recurrence/freq = 'HOURLY'">hour</xsl:when> 
     1157                        <xsl:when test="form/recurrence/freq = 'DAILY'">day</xsl:when> 
     1158                        <xsl:when test="form/recurrence/freq = 'WEEKLY'">week</xsl:when> 
     1159                        <xsl:when test="form/recurrence/freq = 'MONTHLY'">month</xsl:when> 
     1160                        <xsl:when test="form/recurrence/freq = 'YEARLY'">year</xsl:when> 
     1161                      </xsl:choose><xsl:if test="form/recurrence/interval &gt; 1">s</xsl:if> 
     1162                      <xsl:text> </xsl:text> 
     1163 
     1164                      <xsl:if test="form/recurrence/byday"> 
     1165                        <xsl:for-each select="form/recurrence/byday/pos"> 
     1166                          <xsl:if test="position() != 1"> and </xsl:if> 
     1167                          on 
     1168                          <xsl:choose> 
     1169                            <xsl:when test="@val='1'"> 
     1170                              the first 
     1171                            </xsl:when> 
     1172                            <xsl:when test="@val='2'"> 
     1173                              the second 
     1174                            </xsl:when> 
     1175                            <xsl:when test="@val='3'"> 
     1176                              the third 
     1177                            </xsl:when> 
     1178                            <xsl:when test="@val='4'"> 
     1179                              the fourth 
     1180                            </xsl:when> 
     1181                            <xsl:when test="@val='5'"> 
     1182                              the fifth 
     1183                            </xsl:when> 
     1184                            <xsl:when test="@val='-1'"> 
     1185                              the last 
     1186                            </xsl:when> 
     1187                            <!-- don't output "every" --> 
     1188                            <!--<xsl:otherwise> 
     1189                              every 
     1190                            </xsl:otherwise>--> 
     1191                          </xsl:choose> 
     1192                          <xsl:for-each select="day"> 
     1193                            <xsl:if test="position() != 1 and position() = last()"> and </xsl:if> 
     1194                            <xsl:variable name="dayVal" select="."/> 
     1195                            <xsl:variable name="dayPos"> 
     1196                              <xsl:for-each select="/bedeworkadmin/recurdayvals/val"> 
     1197                                <xsl:if test="node() = $dayVal"><xsl:value-of select="position()"/></xsl:if> 
     1198                              </xsl:for-each> 
     1199                            </xsl:variable> 
     1200                            <xsl:value-of select="/bedeworkadmin/shortdaynames/val[position() = $dayPos]"/> 
     1201                            <xsl:if test="position() != last()">, </xsl:if> 
     1202                          </xsl:for-each> 
     1203                        </xsl:for-each> 
     1204                      </xsl:if> 
     1205 
     1206                      <xsl:if test="form/recurrence/bymonth"> 
     1207                        in 
     1208                        <xsl:for-each select="form/recurrence/bymonth/val"> 
     1209                          <xsl:if test="position() != 1 and position() = last()"> and </xsl:if> 
     1210                          <xsl:variable name="monthNum" select="number(.)"/> 
     1211                          <xsl:value-of select="/bedeworkadmin/monthlabels/val[position() = $monthNum]"/> 
     1212                          <xsl:if test="position() != last()">, </xsl:if> 
     1213                        </xsl:for-each> 
     1214                      </xsl:if> 
     1215 
     1216                      <xsl:if test="form/recurrence/bymonthday"> 
     1217                        on the 
     1218                        <xsl:apply-templates select="form/recurrence/bymonthday/val" mode="weekMonthYearNumbers"/> 
     1219                        day<xsl:if test="form/recurrence/bymonthday/val[position()=2]">s</xsl:if> of the month 
     1220                      </xsl:if> 
     1221 
     1222                      <xsl:if test="form/recurrence/byyearday"> 
     1223                        on the 
     1224                        <xsl:apply-templates select="form/recurrence/byyearday/val" mode="weekMonthYearNumbers"/> 
     1225                        day<xsl:if test="form/recurrence/byyearday/val[position()=2]">s</xsl:if> of the year 
     1226                      </xsl:if> 
     1227 
     1228                      <xsl:if test="form/recurrence/byweekno"> 
     1229                        in the 
     1230                        <xsl:apply-templates select="form/recurrence/byweekno/val" mode="weekMonthYearNumbers"/> 
     1231                        week<xsl:if test="form/recurrence/byweekno/val[position()=2]">s</xsl:if> of the year 
     1232                      </xsl:if> 
     1233 
     1234                      repeating 
     1235                      <xsl:choose> 
     1236                        <xsl:when test="form/recurrence/count = '-1'">forever</xsl:when> 
     1237                        <xsl:when test="form/recurrence/until"> 
     1238                          <xsl:value-of select="form/recurrence/until"/> 
     1239                        </xsl:when> 
     1240                        <xsl:otherwise> 
     1241                          <xsl:value-of select="form/recurrence/count"/> 
     1242                          time<xsl:if test="form/recurrence/count &gt; 1">s</xsl:if> 
     1243                        </xsl:otherwise> 
     1244                      </xsl:choose> 
     1245                    </div> 
     1246                  </xsl:if> 
     1247 
     1248                  <!-- set these dynamically when form is submitted --> 
     1249                  <input type="hidden" name="interval" value=""/> 
     1250                  <input type="hidden" name="count" value=""/> 
     1251                  <input type="hidden" name="until" value=""/> 
     1252                  <input type="hidden" name="byday" value=""/> 
     1253                  <input type="hidden" name="bymonthday" value=""/> 
     1254                  <input type="hidden" name="bymonth" value=""/> 
     1255                  <input type="hidden" name="byweekno" value=""/> 
     1256                  <input type="hidden" name="byyearday" value=""/> 
     1257                  <input type="hidden" name="wkst" value=""/> 
     1258                  <input type="hidden" name="setpos" value=""/> 
     1259 
     1260                  <!-- wrapper for rrules: --> 
     1261                  <table id="rrulesTable" cellspacing="0" class="invisible"> 
    12101262                    <tr> 
    1211                       <td class="recurrenceFrequency" rowspan="2"> 
     1263                      <td id="recurrenceFrequency" rowspan="2"> 
    12121264                        <strong>Frequency:</strong><br/> 
    1213                         <!-- "freq" is used to determine if a recurrence should be created; test for "NONE" --> 
    1214                         <input type="radio" name="freq" value="NONE" onclick="showRecurrence(this.value)" checked="checked"/>none<br/> 
    1215                         <!--<input type="radio" name="freq" value="HOURLY" onclick="showRecurrence(this.value)"/>hourly<br/>--> 
    1216                         <input type="radio" name="freq" value="DAILY" onclick="showRecurrence(this.value)"/>daily<br/> 
    1217                         <input type="radio" name="freq" value="WEEKLY" onclick="showRecurrence(this.value)"/>weekly<br/> 
    1218                         <input type="radio" name="freq" value="MONTHLY" onclick="showRecurrence(this.value)"/>monthly<br/> 
    1219                         <input type="radio" name="freq" value="YEARLY" onclick="showRecurrence(this.value)"/>yearly 
     1265                        <input type="radio" name="freq" value="NONE" onclick="showRrules(this.value)" checked="checked"/>none<br/> 
     1266                        <!--<input type="radio" name="freq" value="HOURLY" onclick="showRrules(this.value)"/>hourly<br/>--> 
     1267                        <input type="radio" name="freq" value="DAILY" onclick="showRrules(this.value)"/>daily<br/> 
     1268                        <input type="radio" name="freq" value="WEEKLY" onclick="showRrules(this.value)"/>weekly<br/> 
     1269                        <input type="radio" name="freq" value="MONTHLY" onclick="showRrules(this.value)"/>monthly<br/> 
     1270                        <input type="radio" name="freq" value="YEARLY" onclick="showRrules(this.value)"/>yearly 
    12201271                      </td> 
    1221                       <td class="recurrenceRules"
    1222                         <!-- none --
     1272                      <!-- recurrence count, until, forever --
     1273                      <td id="recurrenceUntil"
    12231274                        <div id="noneRecurrenceRules"> 
    1224                           <p>does not recur</p> 
     1275                          no recurrence rules 
    12251276                        </div> 
    1226                         <span id="advancedRecurrenceRules" class="invisible"> 
    1227                           <!-- hourly --> 
    1228                           <div id="hourlyRecurrenceRules" class="invisible"> 
    1229                             <p> 
    1230                               <strong>Interval:</strong> 
    1231                               every 
    1232                               <input type="text" name="hourlyInterval" size="2" value="1"> 
    1233                                 <xsl:if test="form/recurrence/interval"> 
    1234                                   <xsl:attribute name="value"><xsl:value-of select="form/recurrence/interval"/></xsl:attribute> 
    1235                                 </xsl:if> 
    1236                               </input> 
    1237                               hour(s) 
    1238                             </p> 
    1239                           </div> 
    1240                           <!-- daily --> 
    1241                           <div id="dailyRecurrenceRules" class="invisible"> 
    1242                             <p> 
    1243                               <strong>Interval:</strong> 
    1244                               every 
    1245                               <input type="text" name="dailyInterval" size="2" value="1"> 
    1246                                 <xsl:if test="form/recurrence/interval"> 
    1247                                   <xsl:attribute name="value"><xsl:value-of select="form/recurrence/interval"/></xsl:attribute> 
    1248                                 </xsl:if> 
    1249                               </input> 
    1250                               day(s) 
    1251                             </p> 
    1252                             <p> 
    1253                               <input type="checkbox" name="swapDayMonthCheckBoxList" value="" onclick="swapVisible(this,'dayMonthCheckBoxList')"/> 
    1254                               in these months: 
    1255                               <div id="dayMonthCheckBoxList" class="invisible"> 
    1256                                 <xsl:for-each select="/bedeworkadmin/monthlabels/val"> 
    1257                                   <xsl:variable name="pos"><xsl:value-of select="position()"/></xsl:variable> 
    1258                                   <span class="chkBoxListItem"> 
    1259                                     <input type="checkbox" name="dayMonths"> 
    1260                                       <xsl:attribute name="value"><xsl:value-of select="/bedeworkadmin/monthvalues/val[position() = $pos]"/></xsl:attribute> 
    1261                                     </input> 
    1262                                     <xsl:value-of select="."/> 
    1263                                   </span> 
    1264                                   <xsl:if test="$pos mod 6 = 0"><br/></xsl:if> 
    1265                                 </xsl:for-each> 
    1266                               </div> 
    1267                             </p> 
    1268                           </div> 
    1269                           <!-- weekly --> 
    1270                           <div id="weeklyRecurrenceRules" class="invisible"> 
    1271                             <p> 
    1272                               <strong>Interval:</strong> 
    1273                               every 
    1274                               <input type="text" name="weeklyInterval" size="2" value="1"> 
    1275                                 <xsl:if test="form/recurrence/interval"> 
    1276                                   <xsl:attribute name="value"><xsl:value-of select="form/recurrence/interval"/></xsl:attribute> 
    1277                                 </xsl:if> 
    1278                               </input> 
    1279                               week(s) on: 
    1280                             </p> 
    1281                             <p> 
    1282                               <div id="weekRecurFields"> 
    1283                                 <xsl:call-template name="byDayChkBoxList"> 
    1284                                   <xsl:with-param name="name">byDayWeek</xsl:with-param> 
    1285                                 </xsl:call-template> 
    1286                               </div> 
    1287                             </p> 
    1288                             <p class="weekRecurLinks"> 
    1289                               <a href="javascript:recurSelectWeekdays('weekRecurFields')">select weekdays</a> | 
    1290                               <a href="javascript:recurSelectWeekends('weekRecurFields')">select weekends</a> 
    1291                             </p> 
    1292                             <p> 
    1293                               Week start: 
    1294                               <select name="weekWkst"> 
    1295                                 <xsl:for-each select="/bedeworkadmin/shortdaynames/val"> 
    1296                                   <xsl:variable name="pos" select="position()"/> 
    1297                                   <option> 
    1298                                     <xsl:attribute name="value"><xsl:value-of select="/bedeworkadmin/recurdayvals/val[position() = $pos]"/></xsl:attribute> 
    1299                                     <xsl:value-of select="."/> 
    1300                                   </option> 
    1301                                 </xsl:for-each> 
    1302                               </select> 
    1303                             </p> 
    1304                           </div> 
    1305                           <!-- monthly --> 
    1306                           <div id="monthlyRecurrenceRules" class="invisible"> 
    1307                             <p> 
    1308                               <strong>Interval:</strong> 
    1309                               every 
    1310                               <input type="text" name="monthlyInterval" size="2" value="1"> 
    1311                                 <xsl:if test="form/recurrence/interval"> 
    1312                                   <xsl:attribute name="value"><xsl:value-of select="form/recurrence/interval"/></xsl:attribute> 
    1313                                 </xsl:if> 
    1314                               </input> 
    1315                               month(s) 
    1316                             </p> 
    1317                             <div id="monthRecurFields"> 
    1318                               <div id="monthRecurFields1"> 
    1319                                 on 
    1320                                 <select name="bymonthposPos1" width="7em" onchange="changeClass('monthRecurFields2','shown')"> 
    1321                                   <xsl:call-template name="recurrenceDayPosOptions"/> 
    1322                                 </select> 
    1323                                 <xsl:call-template name="byDayChkBoxList"/> 
    1324                               </div> 
    1325                               <xsl:call-template name="buildRecurFields"> 
    1326                                 <xsl:with-param name="current">2</xsl:with-param> 
    1327                                 <xsl:with-param name="total">10</xsl:with-param> 
    1328                                 <xsl:with-param name="name">month</xsl:with-param> 
     1277                        <div id="recurrenceUntilRules" class="invisible"> 
     1278                          <strong>Repeat:</strong> 
     1279                          <p> 
     1280                            <input type="radio" name="recurCountUntil" value="forever"> 
     1281                              <xsl:if test="not(form/recurring) or form/recurring/count = '-1'"> 
     1282                                <xsl:attribute name="checked">checked</xsl:attribute> 
     1283                              </xsl:if> 
     1284                            </input> 
     1285                            forever 
     1286                            <input type="radio" name="recurCountUntil" value="count" id="recurCount"> 
     1287                              <xsl:if test="form/recurring/count != '-1'"> 
     1288                                <xsl:attribute name="checked">checked</xsl:attribute> 
     1289                              </xsl:if> 
     1290                            </input> 
     1291                            <input type="text" value="1" size="2" name="countHolder"  onfocus="selectRecurCountUntil('recurCount')"> 
     1292                              <xsl:if test="form/recurring/count and form/recurring/count != '-1'"> 
     1293                                <xsl:attribute name="value"><xsl:value-of select="form/recurring/count"/></xsl:attribute> 
     1294                              </xsl:if> 
     1295                            </input> 
     1296                            time(s) 
     1297                            <input type="radio" name="recurCountUntil" value="until" id="recurUntil"> 
     1298                              <xsl:if test="form/recurring/until"> 
     1299                                <xsl:attribute name="checked">checked</xsl:attribute> 
     1300                              </xsl:if> 
     1301                            </input> 
     1302                            until 
     1303                            <span id="untilHolder"> 
     1304                              <span dojoType="dropdowndatepicker" formatLength="medium" value="today" saveFormat="yyyyMMdd" id="bwEventWidgetUntilDate" iconURL="{$resourcesRoot}/resources/calIcon.gif"> 
     1305                                <xsl:attribute name="value"><xsl:value-of select="form/start/rfc3339DateTime"/></xsl:attribute> 
     1306                                <xsl:text> </xsl:text> 
     1307                              </span> 
     1308                            </span> 
     1309                          </p> 
     1310                        </div> 
     1311                      </td> 
     1312                    </tr> 
     1313                    <tr> 
     1314                      <td id="advancedRrules" class="invisible"> 
     1315                        <!-- hourly --> 
     1316                        <div id="hourlyRecurrenceRules" class="invisible"> 
     1317                          <p> 
     1318                            <strong>Interval:</strong> 
     1319                            every 
     1320                            <input type="text" name="hourlyInterval" size="2" value="1"> 
     1321                              <xsl:if test="form/recurrence/interval"> 
     1322                                <xsl:attribute name="value"><xsl:value-of select="form/recurrence/interval"/></xsl:attribute> 
     1323                              </xsl:if> 
     1324                            </input> 
     1325                            hour(s) 
     1326                          </p> 
     1327                        </div> 
     1328                        <!-- daily --> 
     1329                        <div id="dailyRecurrenceRules" class="invisible"> 
     1330                          <p> 
     1331                            <strong>Interval:</strong> 
     1332                            every 
     1333                            <input type="text" name="dailyInterval" size="2" value="1"> 
     1334                              <xsl:if test="form/recurrence/interval"> 
     1335                                <xsl:attribute name="value"><xsl:value-of select="form/recurrence/interval"/></xsl:attribute> 
     1336                              </xsl:if> 
     1337                            </input> 
     1338                            day(s) 
     1339                          </p> 
     1340                          <p> 
     1341                            <input type="checkbox" name="swapDayMonthCheckBoxList" value="" onclick="swapVisible(this,'dayMonthCheckBoxList')"/> 
     1342                            in these months: 
     1343                            <div id="dayMonthCheckBoxList" class="invisible"> 
     1344                              <xsl:for-each select="/bedeworkadmin/monthlabels/val"> 
     1345                                <xsl:variable name="pos"><xsl:value-of select="position()"/></xsl:variable> 
     1346                                <span class="chkBoxListItem"> 
     1347                                  <input type="checkbox" name="dayMonths"> 
     1348                                    <xsl:attribute name="value"><xsl:value-of select="/bedeworkadmin/monthvalues/val[position() = $pos]"/></xsl:attribute> 
     1349                                  </input> 
     1350                                  <xsl:value-of select="."/> 
     1351                                </span> 
     1352                                <xsl:if test="$pos mod 6 = 0"><br/></xsl:if> 
     1353                              </xsl:for-each> 
     1354                            </div> 
     1355                          </p> 
     1356                          <!--<p> 
     1357                            <input type="checkbox" name="swapDaySetPos" value="" onclick="swapVisible(this,'daySetPos')"/> 
     1358                            limit to: 
     1359                            <div id="daySetPos" class="invisible"> 
     1360                            </div> 
     1361                          </p>--> 
     1362                        </div> 
     1363                        <!-- weekly --> 
     1364                        <div id="weeklyRecurrenceRules" class="invisible"> 
     1365                          <p> 
     1366                            <strong>Interval:</strong> 
     1367                            every 
     1368                            <input type="text" name="weeklyInterval" size="2" value="1"> 
     1369                              <xsl:if test="form/recurrence/interval"> 
     1370                                <xsl:attribute name="value"><xsl:value-of select="form/recurrence/interval"/></xsl:attribute> 
     1371                              </xsl:if> 
     1372                            </input> 
     1373                            week(s) on: 
     1374                          </p> 
     1375                          <p> 
     1376                            <div id="weekRecurFields"> 
     1377                              <xsl:call-template name="byDayChkBoxList"> 
     1378                                <xsl:with-param name="name">byDayWeek</xsl:with-param> 
    13291379                              </xsl:call-template> 
    13301380                            </div> 
    1331                             <p> 
    1332                               <input type="checkbox" name="swapMonthDaysCheckBoxList" value="" onclick="swapVisible(this,'monthDaysCheckBoxList')"/> 
    1333                               on these days:<br/> 
    1334                               <div id="monthDaysCheckBoxList" class="invisible"> 
    1335                                 <xsl:call-template name="buildCheckboxList"> 
    1336                                   <xsl:with-param name="current">1</xsl:with-param> 
    1337                                   <xsl:with-param name="end">31</xsl:with-param> 
    1338                                   <xsl:with-param name="name">monthDayBoxes</xsl:with-param> 
    1339                                 </xsl:call-template> 
    1340                               </div> 
    1341                             </p> 
     1381                          </p> 
     1382                          <p class="weekRecurLinks"> 
     1383                            <a href="javascript:recurSelectWeekdays('weekRecurFields')">select weekdays</a> | 
     1384                            <a href="javascript:recurSelectWeekends('weekRecurFields')">select weekends</a> 
     1385                          </p> 
     1386                          <p> 
     1387                            Week start: 
     1388                            <select name="weekWkst"> 
     1389                              <xsl:for-each select="/bedeworkadmin/shortdaynames/val"> 
     1390                                <xsl:variable name="pos" select="position()"/> 
     1391                                <option> 
     1392                                  <xsl:attribute name="value"><xsl:value-of select="/bedeworkadmin/recurdayvals/val[position() = $pos]"/></xsl:attribute> 
     1393                                  <xsl:value-of select="."/> 
     1394                                </option> 
     1395                              </xsl:for-each> 
     1396                            </select> 
     1397                          </p> 
     1398                        </div> 
     1399                        <!-- monthly --> 
     1400                        <div id="monthlyRecurrenceRules" class="invisible"> 
     1401                          <p> 
     1402                            <strong>Interval:</strong> 
     1403                            every 
     1404                            <input type="text" name="monthlyInterval" size="2" value="1"> 
     1405                              <xsl:if test="form/recurrence/interval"> 
     1406                                <xsl:attribute name="value"><xsl:value-of select="form/recurrence/interval"/></xsl:attribute> 
     1407                              </xsl:if> 
     1408                            </input> 
     1409                            month(s) 
     1410                          </p> 
     1411                          <div id="monthRecurFields"> 
     1412                            <div id="monthRecurFields1"> 
     1413                              on 
     1414                              <select name="bymonthposPos1" width="7em" onchange="changeClass('monthRecurFields2','shown')"> 
     1415                                <xsl:call-template name="recurrenceDayPosOptions"/> 
     1416                              </select> 
     1417                              <xsl:call-template name="byDayChkBoxList"/> 
     1418                            </div> 
     1419                            <xsl:call-template name="buildRecurFields"> 
     1420                              <xsl:with-param name="current">2</xsl:with-param> 
     1421                              <xsl:with-param name="total">10</xsl:with-param> 
     1422                              <xsl:with-param name="name">month</xsl:with-param> 
     1423                            </xsl:call-template> 
    13421424                          </div> 
    1343                           <!-- yearly --> 
    1344                           <div id="yearlyRecurrenceRules" class="invisible"> 
    1345                             <p> 
    1346                               <strong>Interval:</strong> 
    1347                               every 
    1348                               <input type="text" name="yearlyInterval" size="2" value="1"> 
    1349                                 <xsl:if test="form/recurrence/interval"> 
    1350                                   <xsl:attribute name="value"><xsl:value-of select="form/recurrence/interval"/></xsl:attribute> 
    1351                                 </xsl:if> 
    1352                               </input> 
    1353                               years(s) 
    1354                             </p> 
    1355                             <div id="yearRecurFields"> 
    1356                               <div id="yearRecurFields1"> 
    1357                                 on 
    1358                                 <select name="byyearposPos1" width="7em" onchange="changeClass('yearRecurFields2','shown')"> 
    1359                                   <xsl:call-template name="recurrenceDayPosOptions"/> 
    1360                                 </select> 
    1361                                 <xsl:call-template name="byDayChkBoxList"/> 
    1362                               </div> 
    1363                               <xsl:call-template name="buildRecurFields"> 
    1364                                 <xsl:with-param name="current">2</xsl:with-param> 
    1365                                 <xsl:with-param name="total">10</xsl:with-param> 
    1366                                 <xsl:with-param name="name">year</xsl:with-param> 
     1425                          <p> 
     1426                            <input type="checkbox" name="swapMonthDaysCheckBoxList" value="" onclick="swapVisible(this,'monthDaysCheckBoxList')"/> 
     1427                            on these days:<br/> 
     1428                            <div id="monthDaysCheckBoxList" class="invisible"> 
     1429                              <xsl:call-template name="buildCheckboxList"> 
     1430                                <xsl:with-param name="current">1</xsl:with-param> 
     1431                                <xsl:with-param name="end">31</xsl:with-param> 
     1432                                <xsl:with-param name="name">monthDayBoxes</xsl:with-param> 
    13671433                              </xsl:call-template> 
    13681434                            </div> 
    1369                             <p> 
    1370                               <input type="checkbox" name="swapYearMonthCheckBoxList" value="" onclick="swapVisible(this,'yearMonthCheckBoxList')"/> 
    1371                               in these months: 
    1372                               <div id="yearMonthCheckBoxList" class="invisible"> 
    1373                                 <xsl:for-each select="/bedeworkadmin/monthlabels/val"> 
    1374                                   <xsl:variable name="pos"><xsl:value-of select="position()"/></xsl:variable> 
    1375                                   <span class="chkBoxListItem"> 
    1376                                     <input type="checkbox" name="yearMonths"> 
    1377                                       <xsl:attribute name="value"><xsl:value-of select="/bedeworkadmin/monthvalues/val[position() = $pos]"/></xsl:attribute> 
    1378                                     </input> 
    1379                                     <xsl:value-of select="."/> 
    1380                                   </span> 
    1381                                   <xsl:if test="$pos mod 6 = 0"><br/></xsl:if> 
    1382                                 </xsl:for-each> 
    1383                               </div> 
    1384                             </p> 
    1385                             <p> 
    1386                               <input type="checkbox" name="swapYearMonthDaysCheckBoxList" value="" onclick="swapVisible(this,'yearMonthDaysCheckBoxList')"/> 
    1387                               on these days of the month:<br/> 
    1388                               <div id="yearMonthDaysCheckBoxList" class="invisible"> 
    1389                                 <xsl:call-template name="buildCheckboxList"> 
    1390                                   <xsl:with-param name="current">1</xsl:with-param> 
    1391                                   <xsl:with-param name="end">31</xsl:with-param> 
    1392                                   <xsl:with-param name="name">yearMonthDayBoxes</xsl:with-param> 
    1393                                 </xsl:call-template> 
    1394                               </div> 
    1395                             </p> 
    1396                             <p> 
    1397                               <input type="checkbox" name="swapYearWeeksCheckBoxList" value="" onclick="swapVisible(this,'yearWeeksCheckBoxList')"/> 
    1398                               in these weeks of the year:<br/> 
    1399                               <div id="yearWeeksCheckBoxList" class="invisible"> 
    1400                                 <xsl:call-template name="buildCheckboxList"> 
    1401                                   <xsl:with-param name="current">1</xsl:with-param> 
    1402                                   <xsl:with-param name="end">53</xsl:with-param> 
    1403                                   <xsl:with-param name="name">yearWeekBoxes</xsl:with-param> 
    1404                                 </xsl:call-template> 
    1405                               </div> 
    1406                             </p> 
    1407                             <p> 
    1408                               <input type="checkbox" name="swapYearDaysCheckBoxList" value="" onclick="swapVisible(this,'yearDaysCheckBoxList')"/> 
    1409                               on these days of the year:<br/> 
    1410                               <div id="yearDaysCheckBoxList" class="invisible"> 
    1411                                 <xsl:call-template name="buildCheckboxList"> 
    1412                                   <xsl:with-param name="current">1</xsl:with-param> 
    1413                                   <xsl:with-param name="end">366</xsl:with-param> 
    1414                                   <xsl:with-param name="name">yearDayBoxes</xsl:with-param> 
    1415                                 </xsl:call-template> 
    1416                               </div> 
    1417                             </p> 
    1418                             <p> 
    1419                               Week start: 
    1420                               <select name="yearWkst"> 
    1421                                 <xsl:for-each select="/bedeworkadmin/shortdaynames/val"> 
    1422                                   <xsl:variable name="pos" select="position()"/> 
    1423                                   <option> 
    1424                                     <xsl:attribute name="value"><xsl:value-of select="/bedeworkadmin/recurdayvals/val[position() = $pos]"/></xsl:attribute> 
    1425                                     <xsl:value-of select="."/> 
    1426                                   </option> 
    1427                                 </xsl:for-each> 
     1435                          </p> 
     1436                        </div> 
     1437                        <!-- yearly --> 
     1438                        <div id="yearlyRecurrenceRules" class="invisible"> 
     1439                          <p> 
     1440                            <strong>Interval:</strong> 
     1441                            every 
     1442                            <input type="text" name="yearlyInterval" size="2" value="1"> 
     1443                              <xsl:if test="form/recurrence/interval"> 
     1444                                <xsl:attribute name="value"><xsl:value-of select="form/recurrence/interval"/></xsl:attribute> 
     1445                              </xsl:if> 
     1446                            </input> 
     1447                            years(s) 
     1448                          </p> 
     1449                          <div id="yearRecurFields"> 
     1450                            <div id="yearRecurFields1"> 
     1451                              on 
     1452                              <select name="byyearposPos1" width="7em" onchange="changeClass('yearRecurFields2','shown')"> 
     1453                                <xsl:call-template name="recurrenceDayPosOptions"/> 
    14281454                              </select> 
    1429                             </p> 
     1455                              <xsl:call-template name="byDayChkBoxList"/> 
     1456                            </div> 
     1457                            <xsl:call-template name="buildRecurFields"> 
     1458                              <xsl:with-param name="current">2</xsl:with-param> 
     1459                              <xsl:with-param name="total">10</xsl:with-param> 
     1460                              <xsl:with-param name="name">year</xsl:with-param> 
     1461                            </xsl:call-template> 
    14301462                          </div> 
    1431                         </span> 
    1432                       </td> 
    1433                     </tr> 
    1434                     <!-- recurrence count, until, forever --> 
    1435                     <tr> 
    1436                       <td class="recurrenceUntil"> 
    1437                          <div id="recurrenceUntilRules" class="invisible"> 
    1438                            <strong>Repeat:</strong> 
    1439                            <p> 
    1440                              <div class="dateFields"> 
    1441                                <input type="radio" name="recurCountUntil" value="until" id="recurUntil"> 
    1442                                  <xsl:if test="form/recurring/until"> 
    1443                                    <xsl:attribute name="checked">checked</xsl:attribute> 
    1444                                  </xsl:if> 
    1445                                </input> 
    1446                                until 
    1447                                <select name="untilMonth" onfocus="selectRecurCountUntil('recurUntil')"> 
    1448                                  <xsl:for-each select="form/start/month/select/option"> 
    1449                                    <xsl:copy-of select="."/> 
    1450                                  </xsl:for-each> 
    1451                                </select> 
    1452                                <select name="untilDay" onfocus="selectRecurCountUntil('recurUntil')"> 
    1453                                  <xsl:for-each select="form/start/day/select/option"> 
    1454                                    <xsl:copy-of select="."/> 
    1455                                  </xsl:for-each> 
    1456                                </select> 
    1457                                <xsl:choose> 
    1458                                  <xsl:when test="/bedeworkadmin/creating = 'true'"> 
    1459                                    <select name="untilYear" onfocus="selectRecurCountUntil('recurUntil')"> 
    1460                                      <xsl:for-each select="form/start/year/select/option"> 
    1461                                        <xsl:copy-of select="."/> 
    1462                                      </xsl:for-each> 
    1463                                    </select> 
    1464                                  </xsl:when> 
    1465                                  <xsl:otherwise> 
    1466                                    <input type="text" name="untilYear" size="4"  onfocus="selectRecurCountUntil('recurUntil')"> 
    1467                                      <xsl:attribute name="value"><xsl:value-of select="form/start/yearText/input/@value"/></xsl:attribute> 
    1468                                    </input> 
    1469                                  </xsl:otherwise> 
    1470                                </xsl:choose> 
    1471                              </div> 
    1472                              <script language="JavaScript" type="text/javascript"> 
    1473                              <xsl:comment> 
    1474                                untilDateDynCalWidget = new dynCalendar('untilDateDynCalWidget', <xsl:value-of select="number(form/start/yearText/input/@value)"/>, <xsl:value-of select="number(form/start/month/select/option[@selected='selected']/@value)-1"/>, <xsl:value-of select="number(form/start/day/select/option[@selected='selected']/@value)"/>, 'untilDateCalWidgetCallback',false,'<xsl:value-of select="$resourcesRoot"/>/resources/'); 
    1475                              </xsl:comment> 
    1476                              </script> 
    1477                            </p> 
    1478                            <p> 
    1479                              <input type="radio" name="recurCountUntil" value="forever"> 
    1480                                <xsl:if test="not(form/recurring) or form/recurring/count = '-1'"> 
    1481                                  <xsl:attribute name="checked">checked</xsl:attribute> 
    1482                                </xsl:if> 
    1483                              </input> 
    1484                              forever 
    1485                              &#160; 
    1486                              <input type="radio" name="recurCountUntil" value="count" id="recurCount"> 
    1487                                <xsl:if test="form/recurring/count != '-1'"> 
    1488                                  <xsl:attribute name="checked">checked</xsl:attribute> 
    1489                                </xsl:if> 
    1490                              </input> 
    1491                              <input type="text" value="1" size="2" name="countHolder"  onfocus="selectRecurCountUntil('recurCount')"> 
    1492                                <xsl:if test="form/recurring/count and form/recurring/count != '-1'"> 
    1493                                  <xsl:attribute name="value"><xsl:value-of select="form/recurring/count"/></xsl:attribute> 
    1494                                </xsl:if> 
    1495                              </input> 
    1496                              times 
    1497                            </p> 
    1498                          </div> 
     1463                          <p> 
     1464                            <input type="checkbox" name="swapYearMonthCheckBoxList" value="" onclick="swapVisible(this,'yearMonthCheckBoxList')"/> 
     1465                            in these months: 
     1466                            <div id="yearMonthCheckBoxList" class="invisible"> 
     1467                              <xsl:for-each select="/bedeworkadmin/monthlabels/val"> 
     1468                                <xsl:variable name="pos"><xsl:value-of select="position()"/></xsl:variable> 
     1469                                <span class="chkBoxListItem"> 
     1470                                  <input type="checkbox" name="yearMonths"> 
     1471                                    <xsl:attribute name="value"><xsl:value-of select="/bedeworkadmin/monthvalues/val[position() = $pos]"/></xsl:attribute> 
     1472                                  </input> 
     1473                                  <xsl:value-of select="."/> 
     1474                                </span> 
     1475                                <xsl:if test="$pos mod 6 = 0"><br/></xsl:if> 
     1476                              </xsl:for-each> 
     1477                            </div> 
     1478                          </p> 
     1479                          <p> 
     1480                            <input type="checkbox" name="swapYearMonthDaysCheckBoxList" value="" onclick="swapVisible(this,'yearMonthDaysCheckBoxList')"/> 
     1481                            on these days of the month:<br/> 
     1482                            <div id="yearMonthDaysCheckBoxList" class="invisible"> 
     1483                              <xsl:call-template name="buildCheckboxList"> 
     1484                                <xsl:with-param name="current">1</xsl:with-param> 
     1485                                <xsl:with-param name="end">31</xsl:with-param> 
     1486                                <xsl:with-param name="name">yearMonthDayBoxes</xsl:with-param> 
     1487                              </xsl:call-template> 
     1488                            </div> 
     1489                          </p> 
     1490                          <p> 
     1491                            <input type="checkbox" name="swapYearWeeksCheckBoxList" value="" onclick="swapVisible(this,'yearWeeksCheckBoxList')"/> 
     1492                            in these weeks of the year:<br/> 
     1493                            <div id="yearWeeksCheckBoxList" class="invisible"> 
     1494                              <xsl:call-template name="buildCheckboxList"> 
     1495                                <xsl:with-param name="current">1</xsl:with-param> 
     1496                                <xsl:with-param name="end">53</xsl:with-param> 
     1497                                <xsl:with-param name="name">yearWeekBoxes</xsl:with-param> 
     1498                              </xsl:call-template> 
     1499                            </div> 
     1500                          </p> 
     1501                          <p> 
     1502                            <input type="checkbox" name="swapYearDaysCheckBoxList" value="" onclick="swapVisible(this,'yearDaysCheckBoxList')"/> 
     1503                            on these days of the year:<br/> 
     1504                            <div id="yearDaysCheckBoxList" class="invisible"> 
     1505                              <xsl:call-template name="buildCheckboxList"> 
     1506                                <xsl:with-param name="current">1</xsl:with-param> 
     1507                                <xsl:with-param name="end">366</xsl:with-param> 
     1508                                <xsl:with-param name="name">yearDayBoxes</xsl:with-param> 
     1509                              </xsl:call-template> 
     1510                            </div> 
     1511                          </p> 
     1512                          <p> 
     1513                            Week start: 
     1514                            <select name="yearWkst"> 
     1515                              <xsl:for-each select="/bedeworkadmin/shortdaynames/val"> 
     1516                                <xsl:variable name="pos" select="position()"/> 
     1517                                <option> 
     1518                                  <xsl:attribute name="value"><xsl:value-of select="/bedeworkadmin/recurdayvals/val[position() = $pos]"/></xsl:attribute> 
     1519                                  <xsl:value-of select="."/> 
     1520                                </option> 
     1521                              </xsl:for-each> 
     1522                            </select> 
     1523                          </p> 
     1524                        </div> 
    14991525                      </td> 
    15001526                    </tr> 
    15011527                  </table> 
     1528                  <!-- recurrence dates (rdates) --> 
     1529                  <div id="recurrenceDatesButton"> 
     1530                    <input type="button" value="add/remove recurrence dates" onclick="launchSizedWindow('{$event-showRdates}','560','400')"/> 
     1531                  </div> 
    15021532                </div> 
    15031533              </xsl:otherwise> 
     
    19521982        <area shape="poly" alt="minute 00:15" title="minute 00:15" coords="216,178, 216,196, 261,206, 261,159" href="javascript:bwClockUpdateDateTimeForm('minute','15')" /> 
    19531983        <area shape="poly" alt="minute 00:10" title="minute 00:10" coords="209,164, 216,178, 261,159, 240,126" href="javascript:bwClockUpdateDateTimeForm('minute','10')" /> 
    1954         <area shape="poly" alt="minute 00:05" title="minute 00:05" coords="196,155, 209,164, 238,126, 206,107" href="javascript:bwClockUpdateDateTimeForm('minute','05')" /> 
    1955         <area shape="poly" alt="minute 00:00" title="minute 00:00" coords="169,155, 196,155, 206,105, 156,105" href="javascript:bwClockUpdateDateTimeForm('minute','00')" /> 
     1984        <area shape="poly" alt="minute 00:05" title="minute 00:05" coords="196,155, 209,164, 238,126, 206,107" href="javascript:bwClockUpdateDateTimeForm('minute','5')" /> 
     1985        <area shape="poly" alt="minute 00:00" title="minute 00:00" coords="169,155, 196,155, 206,105, 156,105" href="javascript:bwClockUpdateDateTimeForm('minute','0')" /> 
    19561986        <area shape="poly" alt="11 PM, 2300 hour" title="11 PM, 2300 hour" coords="150,102, 172,96, 158,1, 114,14" href="javascript:bwClockUpdateDateTimeForm('hour','23')" /> 
    19571987        <area shape="poly" alt="10 PM, 2200 hour" title="10 PM, 2200 hour" coords="131,114, 150,102, 114,14, 74,36" href="javascript:bwClockUpdateDateTimeForm('hour','22')" /> 
     
    19681998        <area shape="poly" alt="11 AM, 1100 hour" title="11 AM, 1100 hour" coords="214,270, 193,273, 210,363, 252,352" href="javascript:bwClockUpdateDateTimeForm('hour','11')" /> 
    19691999        <area shape="poly" alt="10 AM, 1000 hour" title="10 AM, 1000 hour" coords="232,259, 214,270, 252,352, 291,330" href="javascript:bwClockUpdateDateTimeForm('hour','10')" /> 
    1970         <area shape="poly" alt="9 AM, 0900 hour" title="9 AM, 0900 hour" coords="251,240, 232,258, 291,330, 323,301" href="javascript:bwClockUpdateDateTimeForm('hour','09')" /> 
    1971         <area shape="poly" alt="8 AM, 0800 hour" title="8 AM, 0800 hour" coords="263,219, 251,239, 323,301, 349,261" href="javascript:bwClockUpdateDateTimeForm('hour','08')" /> 
    1972         <area shape="poly" alt="7 AM, 0700 hour" title="7 AM, 0700 hour" coords="269,194, 263,219, 349,261, 363,212" href="javascript:bwClockUpdateDateTimeForm('hour','07')" /> 
    1973         <area shape="poly" alt="6 AM, 0600 hour" title="6 AM, 0600 hour" coords="269,172, 269,193, 363,212, 363,155" href="javascript:bwClockUpdateDateTimeForm('hour','06')" /> 
    1974         <area shape="poly" alt="5 AM, 0500 hour" title="5 AM, 0500 hour" coords="263,150, 269,172, 363,155, 351,109" href="javascript:bwClockUpdateDateTimeForm('hour','05')" /> 
    1975         <area shape="poly" alt="4 AM, 0400 hour" title="4 AM, 0400 hour" coords="251,130, 263,150, 351,109, 325,68" href="javascript:bwClockUpdateDateTimeForm('hour','04')" /> 
    1976         <area shape="poly" alt="3 AM, 0300 hour" title="3 AM, 0300 hour" coords="234,112, 251,130, 325,67, 295,37" href="javascript:bwClockUpdateDateTimeForm('hour','03')" /> 
    1977         <area shape="poly" alt="2 AM, 0200 hour" title="2 AM, 0200 hour" coords="221,102, 234,112, 295,37, 247,11" href="javascript:bwClockUpdateDateTimeForm('hour','02')" /> 
    1978         <area shape="poly" alt="1 AM, 0100 hour" title="1 AM, 0100 hour" coords="196,96, 221,102, 247,10, 209,-1, 201,61, 206,64, 205,74, 199,75" href="javascript:bwClockUpdateDateTimeForm('hour','01')" /> 
    1979         <area shape="poly" alt="Midnight, 0000 hour" title="Midnight, 0000 hour" coords="172,96, 169,74, 161,73, 161,65, 168,63, 158,-1, 209,-1, 201,61, 200,62, 206,64, 205,74, 198,75, 196,96, 183,95" href="javascript:bwClockUpdateDateTimeForm('hour','00')" /> 
     2000        <area shape="poly" alt="9 AM, 0900 hour" title="9 AM, 0900 hour" coords="251,240, 232,258, 291,330, 323,301" href="javascript:bwClockUpdateDateTimeForm('hour','9')" /> 
     2001        <area shape="poly" alt="8 AM, 0800 hour" title="8 AM, 0800 hour" coords="263,219, 251,239, 323,301, 349,261" href="javascript:bwClockUpdateDateTimeForm('hour','8')" /> 
     2002        <area shape="poly" alt="7 AM, 0700 hour" title="7 AM, 0700 hour" coords="269,194, 263,219, 349,261, 363,212" href="javascript:bwClockUpdateDateTimeForm('hour','7')" /> 
     2003        <area shape="poly" alt="6 AM, 0600 hour" title="6 AM, 0600 hour" coords="269,172, 269,193, 363,212, 363,155" href="javascript:bwClockUpdateDateTimeForm('hour','6')" /> 
     2004        <area shape="poly" alt="5 AM, 0500 hour" title="5 AM, 0500 hour" coords="263,150, 269,172, 363,155, 351,109" href="javascript:bwClockUpdateDateTimeForm('hour','5')" /> 
     2005        <area shape="poly" alt="4 AM, 0400 hour" title="4 AM, 0400 hour" coords="251,130, 263,150, 351,109, 325,68" href="javascript:bwClockUpdateDateTimeForm('hour','4')" /> 
     2006        <area shape="poly" alt="3 AM, 0300 hour" title="3 AM, 0300 hour" coords="234,112, 251,130, 325,67, 295,37" href="javascript:bwClockUpdateDateTimeForm('hour','3')" /> 
     2007        <area shape="poly" alt="2 AM, 0200 hour" title="2 AM, 0200 hour" coords="221,102, 234,112, 295,37, 247,11" href="javascript:bwClockUpdateDateTimeForm('hour','2')" /> 
     2008        <area shape="poly" alt="1 AM, 0100 hour" title="1 AM, 0100 hour" coords="196,96, 221,102, 247,10, 209,-1, 201,61, 206,64, 205,74, 199,75" href="javascript:bwClockUpdateDateTimeForm('hour','1')" /> 
     2009        <area shape="poly" alt="Midnight, 0000 hour" title="Midnight, 0000 hour" coords="172,96, 169,74, 161,73, 161,65, 168,63, 158,-1, 209,-1, 201,61, 200,62, 206,64, 205,74, 198,75, 196,96, 183,95" href="javascript:bwClockUpdateDateTimeForm('hour','0')" /> 
    19802010      </map> 
     2011    </div> 
     2012  </xsl:template> 
     2013 
     2014  <xsl:template name="rdates"> 
     2015    <div id="bwDialogBox"> 
     2016      <form name="rdatesForm" id="rdates" action="{$event-setRdate}" method="post" onsubmit="setRdateDatetime(this)"> 
     2017        <h4 id="dialogTitle"> 
     2018          Add / Remove Recurrence Dates 
     2019        </h4> 
     2020        <div id="raContent"> 
     2021 
     2022            <div class="dateStartEndBox" id="rdatesFormFields"> 
     2023              <div class="dateFields"> 
     2024                <input name="datetime" 
     2025                       dojoType="dropdowndatepicker" 
     2026                       formatLength="medium" 
     2027                       value="today" 
     2028                       saveFormat="yyyyMMdd" 
     2029                       id="bwEventWidgeRdate" 
     2030                       iconURL="{$resourcesRoot}/resources/calIcon.gif"/> 
     2031              </div> 
     2032              <div id="rdateTimeFields"> 
     2033                <xsl:attribute name="class"> 
     2034                  <xsl:choose> 
     2035                    <xsl:when test="form/allDay/input/@checked='checked'">invisible</xsl:when> 
     2036                    <xsl:otherwise>timeFields</xsl:otherwise> 
     2037                  </xsl:choose> 
     2038                </xsl:attribute> 
     2039                <input name="rdateTime" 
     2040                       dojoType="dropdowntimepicker" 
     2041                       formatLength="short" 
     2042                       saveFormat="hhmmss" 
     2043                       id="bwEventWidgeRdateTime" 
     2044                       iconURL="{$resourcesRoot}/resources/clockIcon.gif"/> 
     2045                <xsl:text> </xsl:text> 
     2046 
     2047                <select name="tzid" id="rdateTzid" class="timezones"> 
     2048                  <xsl:if test="form/floating/input/@checked='checked'"><xsl:attribute name="disabled">disabled</xsl:attribute></xsl:if> 
     2049                  <option value="-1">select timezone...</option> 
     2050                  <xsl:variable name="rdateTzId" select="/bedeworkadmin/rdates/tzid"/> 
     2051                  <xsl:for-each select="/bedeworkadmin/timezones/timezone"> 
     2052                    <option> 
     2053                      <xsl:attribute name="value"><xsl:value-of select="id"/></xsl:attribute> 
     2054                      <xsl:if test="$rdateTzId = id"><xsl:attribute name="selected">selected</xsl:attribute></xsl:if> 
     2055                      <xsl:value-of select="name"/> 
     2056                    </option> 
     2057                  </xsl:for-each> 
     2058                </select> 
     2059              </div> 
     2060              <xsl:text> </xsl:text> 
     2061              <input type="submit" value="add"/> 
     2062              <br/> 
     2063              <!-- floating event: no timezone (and not UTC) --> 
     2064              <input type="checkbox" name="floating" id="rdateFloating" onclick="swapRdateFloatingTime(this)" value="off"/> 
     2065              floating 
     2066              <!-- store time as coordinated universal time (UTC) --> 
     2067              <input type="checkbox" name="storeUTC" id="rdateStoreUTC" onclick="swapRdateStoreUTC(this)" value="off"/> 
     2068              store as UTC 
     2069            </div> 
     2070 
     2071            <table cellspacing="0" id="rdatesTable"> 
     2072              <tr> 
     2073                <th colspan="2">Recurrence Dates</th> 
     2074              </tr> 
     2075              <xsl:for-each select="/bedeworkadmin/rdates/rdate"> 
     2076                <tr> 
     2077                  <td> 
     2078                    <xsl:value-of select="longdate"/> 
     2079                    <xsl:if test="allday='false'"> 
     2080                      <xsl:value-of select="time"/> 
     2081                      <xsl:if test="floating='false'"> 
     2082                        <xsl:value-of select="timezone/id"/> 
     2083                      </xsl:if> 
     2084                    </xsl:if> 
     2085                  </td> 
     2086                  <td class="trash"> 
     2087                    <xsl:variable name="datetime"><xsl:value-of select="fourdigityear"/><xsl:value-of select="twodigitmonth"/><xsl:value-of select="twodigitday"/>T<xsl:value-of select="twodigithour"/><xsl:value-of select="twodigitminute"/>00</xsl:variable> 
     2088                    <xsl:variable name="tzid" select="timezone/id"/> 
     2089                    <xsl:variable name="floating" select="floating"/> 
     2090                    <a href="{$event-setRdate}&amp;datetime={$datetime}&amp;floating={$floating}&amp;tzid={$tzid}&amp;delete=true" title="remove"> 
     2091                      <img src="{$resourcesRoot}/resources/trashIcon.gif" width="13" height="13" border="0" alt="remove"/> 
     2092                    </a> 
     2093                  </td> 
     2094                </tr> 
     2095              </xsl:for-each> 
     2096            </table> 
     2097 
     2098          <input type="button" value="done" onclick="window.close()"/> 
     2099        </div> 
     2100      </form> 
    19812101    </div> 
    19822102  </xsl:template> 
  • trunk/deployment/webadmin/webapp/resources/resources/bwClock.js

    r1226 r1229  
    99    // if the clock with the same type is visible, toggle it off 
    1010    changeClass("clock","invisible"); 
    11   } else { // otherwise, turn it on and display the correct type 
     11  } else { 
     12    // otherwise, turn it on and display the correct type 
     13    changeClass("clock","visible"); 
    1214    bwClockRequestedType = type; 
    1315    bwClockCurrentType = type; 
    14     changeClass("clock","shown"); 
    1516    // reset hours and minutes to null 
    1617    bwClockHour = null; 
    1718    bwClockMinute = null; 
    18    changeClass("eventFormPrefLocationList","hidden"); 
    19    changeClass("eventFormLocationList","hidden"); 
    20    changeClass("eventFormContactList","hidden"); 
    21    changeClass("eventFormPrefContactList","hidden"); 
    2219    bwClockIndicator = document.getElementById("bwClockDateTypeIndicator"); 
    2320    bwClockSwitch = document.getElementById("bwClockSwitch"); 
     
    3532function bwClockClose() { 
    3633  changeClass("clock","invisible"); 
    37   changeClass("eventFormPrefLocationList","shown"); 
    38   changeClass("eventFormLocationList","shown"); 
    39   changeClass("eventFormContactList","shown"); 
    40   changeClass("eventFormPrefContactList","shown"); 
    4134} 
    4235 
  • trunk/deployment/webuser/webapp/resources/demoskins/default/default/default.css

    r1228 r1229  
    721721} 
    722722#recurrenceInfo { 
    723   margin-top: 1em; 
    724   font-weight: bold; 
     723  margin: 0; 
     724  padding: 1em; 
     725  border: 1px solid #ddd; 
     726  font-size: 0.9em; 
    725727} 
    726728#rrulesSwitch, 
     
    789791  margin: 2em 0 0 0; 
    790792  font-size: 0.8em; 
     793} 
     794#rdatesFormFields { 
     795  font-size: 0.9em; 
     796  text-align: center; 
     797} 
     798#rdatesTable { 
     799  font-size: 0.9em; 
     800  border: 1px solid #ddd; 
     801} 
     802#rdatesTable td { 
     803  padding: 0.5em 1em; 
     804} 
     805#rdatesTable td.trash { 
     806  text-align: right; 
    791807} 
    792808.shown { 
  • trunk/deployment/webuser/webapp/resources/demoskins/default/default/default.xsl

    r1228 r1229  
    23382338          </div> 
    23392339 
    2340           <xsl:if test="form/recurrence"> 
    2341             <!-- Output descriptive recurrence information.  Probably not 
    2342                  complete yet. Replace all strings so can be 
    2343                  more easily internationalized. --> 
    2344             <strong>Recurrence:</strong> 
    2345             <div id="recurrenceInfo"> 
    2346               Every 
    2347               <xsl:choose> 
    2348                 <xsl:when test="form/recurrence/interval &gt; 1"> 
    2349                   <xsl:value-of select="form/recurrence/interval"/> 
    2350                 </xsl:when> 
    2351               </xsl:choose> 
    2352               <xsl:text> </xsl:text> 
    2353               <xsl:choose> 
    2354                 <xsl:when test="form/recurrence/freq = 'HOURLY'">hour</xsl:when> 
    2355                 <xsl:when test="form/recurrence/freq = 'DAILY'">day</xsl:when> 
    2356                 <xsl:when test="form/recurrence/freq = 'WEEKLY'">week</xsl:when> 
    2357                 <xsl:when test="form/recurrence/freq = 'MONTHLY'">month</xsl:when> 
    2358                 <xsl:when test="form/recurrence/freq = 'YEARLY'">year</xsl:when> 
    2359               </xsl:choose><xsl:if test="form/recurrence/interval &gt; 1">s</xsl:if> 
    2360               <xsl:text> </xsl:text> 
    2361  
    2362               <xsl:if test="form/recurrence/byday"> 
    2363                 <xsl:for-each select="form/recurrence/byday/pos"> 
    2364                   <xsl:if test="position() != 1"> and </xsl:if> 
    2365                   on 
    2366                   <xsl:choose> 
    2367                     <xsl:when test="@val='1'"> 
    2368                       the first 
    2369                     </xsl:when> 
    2370                     <xsl:when test="@val='2'"> 
    2371                       the second 
    2372                     </xsl:when> 
    2373                     <xsl:when test="@val='3'"> 
    2374                       the third 
    2375                     </xsl:when> 
    2376                     <xsl:when test="@val='4'"> 
    2377                       the fourth 
    2378                     </xsl:when> 
    2379                     <xsl:when test="@val='5'"> 
    2380                       the fifth 
    2381                     </xsl:when> 
    2382                     <xsl:when test="@val='-1'"> 
    2383                       the last 
    2384                     </xsl:when> 
    2385                     <!-- don't output "every" --> 
    2386                     <!--<xsl:otherwise> 
    2387                       every 
    2388                     </xsl:otherwise>--> 
    2389                   </xsl:choose> 
    2390                   <xsl:for-each select="day"> 
    2391                     <xsl:if test="position() != 1 and position() = last()"> and </xsl:if> 
    2392                     <xsl:variable name="dayVal" select="."/> 
    2393                     <xsl:variable name="dayPos"> 
    2394                       <xsl:for-each select="/bedework/recurdayvals/val"> 
    2395                         <xsl:if test="node() = $dayVal"><xsl:value-of select="position()"/></xsl:if> 
    2396                       </xsl:for-each> 
    2397                     </xsl:variable> 
    2398                     <xsl:value-of select="/bedework/shortdaynames/val[position() = $dayPos]"/> 
    2399                     <xsl:if test="position() != last()">, </xsl:if> 
    2400                   </xsl:for-each> 
    2401                 </xsl:for-each> 
    2402               </xsl:if> 
    2403  
    2404               <xsl:if test="form/recurrence/bymonth"> 
    2405                 in 
    2406                 <xsl:for-each select="form/recurrence/bymonth/val"> 
    2407                   <xsl:if test="position() != 1 and position() = last()"> and </xsl:if> 
    2408                   <xsl:variable name="monthNum" select="number(.)"/> 
    2409                   <xsl:value-of select="/bedework/monthlabels/val[position() = $monthNum]"/> 
    2410                   <xsl:if test="position() != last()">, </xsl:if> 
    2411                 </xsl:for-each> 
    2412               </xsl:if> 
    2413  
    2414               <xsl:if test="form/recurrence/bymonthday"> 
    2415                 on the 
    2416                 <xsl:apply-templates select="form/recurrence/bymonthday/val" mode="weekMonthYearNumbers"/> 
    2417                 day<xsl:if test="form/recurrence/bymonthday/val[position()=2]">s</xsl:if> of the month 
    2418               </xsl:if> 
    2419  
    2420               <xsl:if test="form/recurrence/byyearday"> 
    2421                 on the 
    2422                 <xsl:apply-templates select="form/recurrence/byyearday/val" mode="weekMonthYearNumbers"/> 
    2423                 day<xsl:if test="form/recurrence/byyearday/val[position()=2]">s</xsl:if> of the year 
    2424               </xsl:if> 
    2425  
    2426               <xsl:if test="form/recurrence/byweekno"> 
    2427                 in the 
    2428                 <xsl:apply-templates select="form/recurrence/byweekno/val" mode="weekMonthYearNumbers"/> 
    2429                 week<xsl:if test="form/recurrence/byweekno/val[position()=2]">s</xsl:if> of the year 
    2430               </xsl:if> 
    2431  
    2432               repeating 
    2433               <xsl:choose> 
    2434                 <xsl:when test="form/recurrence/count = '-1'">forever</xsl:when> 
    2435                 <xsl:when test="form/recurrence/until"> 
    2436                   <xsl:value-of select="form/recurrence/until"/> 
    2437                 </xsl:when> 
    2438                 <xsl:otherwise> 
    2439                   <xsl:value-of select="form/recurrence/count"/> 
    2440                   time<xsl:if test="form/recurrence/count &gt; 1">s</xsl:if> 
    2441                 </xsl:otherwise> 
    2442               </xsl:choose> 
    2443             </div> 
    2444           </xsl:if> 
    2445  
    2446           <!-- set these dynamically when form is submitted --> 
    2447           <input type="hidden" name="interval" value=""/> 
    2448           <input type="hidden" name="count" value=""/> 
    2449           <input type="hidden" name="until" value=""/> 
    2450           <input type="hidden" name="byday" value=""/> 
    2451           <input type="hidden" name="bymonthday" value=""/> 
    2452           <input type="hidden" name="bymonth" value=""/> 
    2453           <input type="hidden" name="byweekno" value=""/> 
    2454           <input type="hidden" name="byyearday" value=""/> 
    2455           <input type="hidden" name="wkst" value=""/> 
    2456           <input type="hidden" name="setpos" value=""/> 
    2457  
    24582340          <!-- wrapper for all recurrence fields (rrules and rdates): --> 
    24592341          <div id="recurrenceFields" class="invisible"> 
     2342            <xsl:if test="form/recurrence"><xsl:attribute name="class">visible</xsl:attribute></xsl:if> 
    24602343 
    24612344            <!-- show or hide rrules fields: --> 
     
    24752358              show advanced recurrence rules 
    24762359            </span> 
     2360 
     2361            <xsl:if test="form/recurrence"> 
     2362              <!-- Output descriptive recurrence information.  Probably not 
     2363                   complete yet. Replace all strings so can be 
     2364                   more easily internationalized. --> 
     2365              <div id="recurrenceInfo"> 
     2366                Every 
     2367                <xsl:choose> 
     2368                  <xsl:when test="form/recurrence/interval &gt; 1"> 
     2369                    <xsl:value-of select="form/recurrence/interval"/> 
     2370                  </xsl:when> 
     2371                </xsl:choose> 
     2372                <xsl:text> </xsl:text> 
     2373                <xsl:choose> 
     2374                  <xsl:when test="form/recurrence/freq = 'HOURLY'">hour</xsl:when> 
     2375                  <xsl:when test="form/recurrence/freq = 'DAILY'">day</xsl:when> 
     2376                  <xsl:when test="form/recurrence/freq = 'WEEKLY'">week</xsl:when> 
     2377                  <xsl:when test="form/recurrence/freq = 'MONTHLY'">month</xsl:when> 
     2378                  <xsl:when test="form/recurrence/freq = 'YEARLY'">year</xsl:when> 
     2379                </xsl:choose><xsl:if test="form/recurrence/interval &gt; 1">s</xsl:if> 
     2380                <xsl:text> </xsl:text> 
     2381 
     2382                <xsl:if test="form/recurrence/byday"> 
     2383                  <xsl:for-each select="form/recurrence/byday/pos"> 
     2384                    <xsl:if test="position() != 1"> and </xsl:if> 
     2385                    on 
     2386                    <xsl:choose> 
     2387                      <xsl:when test="@val='1'"> 
     2388                        the first 
     2389                      </xsl:when> 
     2390                      <xsl:when test="@val='2'"> 
     2391                        the second 
     2392                      </xsl:when> 
     2393                      <xsl:when test="@val='3'"> 
     2394                        the third 
     2395                      </xsl:when> 
     2396                      <xsl:when test="@val='4'"> 
     2397                        the fourth 
     2398                      </xsl:when> 
     2399                      <xsl:when test="@val='5'"> 
     2400                        the fifth 
     2401                      </xsl:when> 
     2402                      <xsl:when test="@val='-1'"> 
     2403                        the last 
     2404                      </xsl:when> 
     2405                      <!-- don't output "every" --> 
     2406                      <!--<xsl:otherwise> 
     2407                        every 
     2408                      </xsl:otherwise>--> 
     2409                    </xsl:choose> 
     2410                    <xsl:for-each select="day"> 
     2411                      <xsl:if test="position() != 1 and position() = last()"> and </xsl:if> 
     2412                      <xsl:variable name="dayVal" select="."/> 
     2413                      <xsl:variable name="dayPos"> 
     2414                        <xsl:for-each select="/bedework/recurdayvals/val"> 
     2415                          <xsl:if test="node() = $dayVal"><xsl:value-of select="position()"/></xsl:if> 
     2416                        </xsl:for-each> 
     2417                      </xsl:variable> 
     2418                      <xsl:value-of select="/bedework/shortdaynames/val[position() = $dayPos]"/> 
     2419                      <xsl:if test="position() != last()">, </xsl:if> 
     2420                    </xsl:for-each> 
     2421                  </xsl:for-each> 
     2422                </xsl:if> 
     2423 
     2424                <xsl:if test="form/recurrence/bymonth"> 
     2425                  in 
     2426                  <xsl:for-each select="form/recurrence/bymonth/val"> 
     2427                    <xsl:if test="position() != 1 and position() = last()"> and </xsl:if> 
     2428                    <xsl:variable name="monthNum" select="number(.)"/> 
     2429                    <xsl:value-of select="/bedework/monthlabels/val[position() = $monthNum]"/> 
     2430                    <xsl:if test="position() != last()">, </xsl:if> 
     2431                  </xsl:for-each> 
     2432                </xsl:if> 
     2433 
     2434                <xsl:if test="form/recurrence/bymonthday"> 
     2435                  on the 
     2436                  <xsl:apply-templates select="form/recurrence/bymonthday/val" mode="weekMonthYearNumbers"/> 
     2437                  day<xsl:if test="form/recurrence/bymonthday/val[position()=2]">s</xsl:if> of the month 
     2438                </xsl:if> 
     2439 
     2440                <xsl:if test="form/recurrence/byyearday"> 
     2441                  on the 
     2442                  <xsl:apply-templates select="form/recurrence/byyearday/val" mode="weekMonthYearNumbers"/> 
     2443                  day<xsl:if test="form/recurrence/byyearday/val[position()=2]">s</xsl:if> of the year 
     2444                </xsl:if> 
     2445 
     2446                <xsl:if test="form/recurrence/byweekno"> 
     2447                  in the 
     2448                  <xsl:apply-templates select="form/recurrence/byweekno/val" mode="weekMonthYearNumbers"/> 
     2449                  week<xsl:if test="form/recurrence/byweekno/val[position()=2]">s</xsl:if> of the year 
     2450                </xsl:if> 
     2451 
     2452                repeating 
     2453                <xsl:choose> 
     2454                  <xsl:when test="form/recurrence/count = '-1'">forever</xsl:when> 
     2455                  <xsl:when test="form/recurrence/until"> 
     2456                    <xsl:value-of select="form/recurrence/until"/> 
     2457                  </xsl:when> 
     2458                  <xsl:otherwise> 
     2459                    <xsl:value-of select="form/recurrence/count"/> 
     2460                    time<xsl:if test="form/recurrence/count &gt; 1">s</xsl:if> 
     2461                  </xsl:otherwise> 
     2462                </xsl:choose> 
     2463              </div> 
     2464            </xsl:if> 
     2465 
     2466            <!-- set these dynamically when form is submitted --> 
     2467            <input type="hidden" name="interval" value=""/> 
     2468            <input type="hidden" name="count" value=""/> 
     2469            <input type="hidden" name="until" value=""/> 
     2470            <input type="hidden" name="byday" value=""/> 
     2471            <input type="hidden" name="bymonthday" value=""/> 
     2472            <input type="hidden" name="bymonth" value=""/> 
     2473            <input type="hidden" name="byweekno" value=""/> 
     2474            <input type="hidden" name="byyearday" value=""/> 
     2475            <input type="hidden" name="wkst" value=""/> 
     2476            <input type="hidden" name="setpos" value=""/> 
    24772477 
    24782478            <!-- wrapper for rrules: --> 
     
    29312931  <xsl:template name="rdates"> 
    29322932    <div id="bwDialogBox"> 
    2933       <form name="rdatesForm" id="rdates" action="{$event-setRdate}" method="post"
     2933      <form name="rdatesForm" id="rdates" action="{$event-setRdate}" method="post" onsubmit="setRdateDatetime(this)"
    29342934        <h4 id="dialogTitle"> 
    2935           Recurrence Dates 
     2935          Add / Remove Recurrence Dates 
    29362936        </h4> 
    29372937        <div id="raContent"> 
    29382938 
    2939             <div class="dateStartEndBox"> 
    2940               <strong>Add Rdate:</strong> 
     2939            <div class="dateStartEndBox" id="rdatesFormFields"> 
    29412940              <div class="dateFields"> 
    2942                 <input name="datetime" dojoType="dropdowndatepicker" formatLength="medium" value="today" saveFormat="yyyyMMdd" id="bwEventWidgeRdate" iconURL="{$resourcesRoot}/resources/calIcon.gif"/> 
     2941                <input name="datetime" 
     2942                       dojoType="dropdowndatepicker" 
     2943                       formatLength="medium" 
     2944                       value="today" 
     2945                       saveFormat="yyyyMMdd" 
     2946                       id="bwEventWidgeRdate" 
     2947                       iconURL="{$resourcesRoot}/resources/calIcon.gif"/> 
    29432948              </div> 
    29442949              <div id="rdateTimeFields"> 
     
    29492954                  </xsl:choose> 
    29502955                </xsl:attribute> 
    2951                 <select name="eventRdate.hour"> 
    2952                   <option value="0">00</option> 
    2953                   <option value="1">01</option> 
    2954                   <option value="2">02</option> 
    2955                   <option value="3">03</option> 
    2956                   <option value="4">04</option> 
    2957                   <option value="5">05</option> 
    2958                   <option value="6">06</option> 
    2959                   <option value="7">07</option> 
    2960                   <option value="8">08</option> 
    2961  
    2962                   <option value="9">09</option> 
    2963                   <option value="10">10</option> 
    2964                   <option value="11">11</option> 
    2965                   <option value="12" selected="selected">12</option> 
    2966                   <option value="13">13</option> 
    2967                   <option value="14">14</option> 
    2968                   <option value="15">15</option> 
    2969                   <option value="16">16</option> 
    2970                   <option value="17">17</option> 
    2971  
    2972                   <option value="18">18</option> 
    2973                   <option value="19">19</option> 
    2974                   <option value="20">20</option> 
    2975                   <option value="21">21</option> 
    2976                   <option value="22">22</option> 
    2977                   <option value="23">23</option> 
    2978                 </select> 
    2979                 <select name="eventRdate.minute"> 
    2980                   <option value="0" selected="selected">00</option> 
    2981                   <option value="5">05</option> 
    2982                   <option value="10">10</option> 
    2983  
    2984                   <option value="15">15</option> 
    2985                   <option value="20">20</option> 
    2986                   <option value="25">25</option> 
    2987                   <option value="30">30</option> 
    2988                   <option value="35">35</option> 
    2989                   <option value="40">40</option> 
    2990                   <option value="45">45</option> 
    2991                   <option value="50">50</option> 
    2992                   <option value="55">55</option> 
    2993                 </select> 
     2956                <input name="rdateTime" 
     2957                       dojoType="dropdowntimepicker" 
     2958                       formatLength="short" 
     2959                       saveFormat="hhmmss" 
     2960                       id="bwEventWidgeRdateTime" 
     2961                       iconURL="{$resourcesRoot}/resources/clockIcon.gif"/> 
    29942962                <xsl:text> </xsl:text> 
    29952963 
    2996                 <select name="tzid" id="startTzid" class="timezones"> 
     2964                <select name="tzid" id="rdateTzid" class="timezones"> 
    29972965                  <xsl:if test="form/floating/input/@checked='checked'"><xsl:attribute name="disabled">disabled</xsl:attribute></xsl:if> 
    29982966                  <option value="-1">select timezone...</option> 
     
    30072975                </select> 
    30082976              </div> 
     2977              <xsl:text> </xsl:text> 
    30092978              <input type="submit" value="add"/> 
     2979              <br/> 
     2980              <!-- floating event: no timezone (and not UTC) --> 
     2981              <input type="checkbox" name="floating" id="rdateFloating" onclick="swapRdateFloatingTime(this)" value="off"/> 
     2982              floating 
     2983              <!-- store time as coordinated universal time (UTC) --> 
     2984              <input type="checkbox" name="storeUTC" id="rdateStoreUTC" onclick="swapRdateStoreUTC(this)" value="off"/> 
     2985              store as UTC 
    30102986            </div> 
     2987 
     2988            <table cellspacing="0" id="rdatesTable"> 
     2989              <tr> 
     2990                <th colspan="2">Recurrence Dates</th> 
     2991              </tr> 
     2992              <xsl:for-each select="/bedework/rdates/rdate"> 
     2993                <tr> 
     2994                  <td> 
     2995                    <xsl:value-of select="longdate"/> 
     2996                    <xsl:if test="allday='false'"> 
     2997                      <xsl:value-of select="time"/> 
     2998                      <xsl:if test="floating='false'"> 
     2999                        <xsl:value-of select="timezone/id"/> 
     3000                      </xsl:if> 
     3001                    </xsl:if> 
     3002                  </td> 
     3003                  <td class="trash"> 
     3004                    <xsl:variable name="datetime"><xsl:value-of select="fourdigityear"/><xsl:value-of select="twodigitmonth"/><xsl:value-of select="twodigitday"/>T<xsl:value-of select="twodigithour"/><xsl:value-of select="twodigitminute"/>00</xsl:variable> 
     3005                    <xsl:variable name="tzid" select="timezone/id"/> 
     3006                    <xsl:variable name="floating" select="floating"/> 
     3007                    <a href="{$event-setRdate}&amp;datetime={$datetime}&amp;floating={$floating}&amp;tzid={$tzid}&amp;delete=true" title="remove"> 
     3008                      <img src="{$resourcesRoot}/resources/trashIcon.gif" width="13" height="13" border="0" alt="remove"/> 
     3009                    </a> 
     3010                  </td> 
     3011                </tr> 
     3012              </xsl:for-each> 
     3013            </table> 
    30113014 
    30123015          <input type="button" value="done" onclick="window.close()"/> 
  • trunk/deployment/webuser/webapp/resources/demoskins/resources/bedeworkEventForm.js

    r1228 r1229  
    7171    startStoreUTC.value = "false"; 
    7272    endStoreUTC.value = "false"; 
     73  } 
     74} 
     75function swapRdateFloatingTime(obj) { 
     76  rdateTimezone = document.getElementById("rdateTzid"); 
     77  rdateFloating = document.getElementById("rdateFloating"); 
     78  if (obj.checked) { 
     79    document.getElementById("rdateStoreUTC").checked = false; 
     80    rdateTimezone.disabled = true; 
     81  } else { 
     82    rdateTimezone.disabled = false; 
     83    rdateFloating.value = "false"; 
     84  } 
     85} 
     86function swapRdateStoreUTC(obj) { 
     87  rdateTimezone = document.getElementById("rdateTzid"); 
     88  rdateStoreUTC = document.getElementById("rdateStoreUTC"); 
     89  if (obj.checked) { 
     90    document.getElementById("rdateFloating").checked = false; 
     91    rdateTimezone.disabled = false; 
     92    rdateStoreUTC.value = "true"; 
     93  } else { 
     94    rdateStoreUTC.value = "false"; 
    7395  } 
    7496} 
     
    106128    changeClass('rrulesTable','visible'); 
    107129    changeClass('rrulesUiSwitch','visible'); 
     130    if (document.getElementById('recurrenceInfo')) { 
     131      changeClass('recurrenceInfo','invisible'); 
     132    } 
    108133  } else { 
    109134    changeClass('rrulesTable','invisible'); 
    110135    changeClass('rrulesUiSwitch','invisible'); 
     136    if (document.getElementById('recurrenceInfo')) { 
     137      changeClass('recurrenceInfo','visible'); 
     138    } 
    111139  } 
    112140} 
     
    292320} 
    293321 
     322function setRdateDateTime(formObj) { 
     323  var rdateTime = dojo.byId("bwEventWidgeRdateTime"); 
     324  alert (rdateTime.getValue()); 
     325  if (rdateTime.getValue() != "") { 
     326    /*var rdateTimeObj = rdateTime.getTime(); 
     327    var timeString = rdateTimeObj. 
     328    formOjb.datetime.value += "T" +*/ 
     329  } 
     330} 
     331 
    294332function untilClickHandler(evt) { 
    295333   selectRecurCountUntil('recurUntil');