Changeset 1150

Show
Ignore:
Timestamp:
12/12/06 18:20:25
Author:
johnsa
Message:

personal client: continued interface work on recurrence form elements

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/deployment/webuser/webapp/resources/demoskins/default/default/default.xsl

    r1147 r1150  
    17461746  <!-- The name "eventForm" is referenced by several javascript functions. Do not 
    17471747    change it without modifying includes.js --> 
    1748     <form name="eventForm" method="post" action="{$addEvent}" id="standardForm"
     1748    <form name="eventForm" method="post" action="{$addEvent}" id="standardForm" onsubmit="setRecurrence(this)"
    17491749      <h2> 
    17501750        <span class="formButtons"> 
     
    17671767    <!-- The name "eventForm" is referenced by several javascript functions. Do not 
    17681768    change it without modifying includes.js --> 
    1769     <form name="eventForm" method="post" action="{$updateEvent}" id="standardForm"
     1769    <form name="eventForm" method="post" action="{$updateEvent}" id="standardForm" onsubmit="setRecurrence(this)"
    17701770      <h2> 
    17711771        <span class="formButtons"> 
     
    22112211          <!-- ================= --> 
    22122212          <input type="checkbox" name="recurrenceFlag" onclick="swapRecurrence(this)" value="on"/> 
     2213          <!-- set these dynamically --> 
     2214          <input type="hidden" name="interval" value=""/> 
     2215          <input type="hidden" name="count" value=""/> 
     2216          <input type="hidden" name="until" value=""/> 
     2217          <input type="hidden" name="byday" value=""/> 
     2218          <input type="hidden" name="bymonthday" value=""/> 
     2219          <input type="hidden" name="bymonth" value=""/> 
     2220          <input type="hidden" name="byyearday" value=""/> 
     2221 
    22132222          <xsl:if test="form/recurring='true'"><xsl:attribute name="checked">checked</xsl:attribute></xsl:if> 
    22142223          recurring 
     
    22182227                <td class="recurrenceFrequency" rowspan="2"> 
    22192228                  <strong>Frequency:</strong><br/> 
    2220                   <input type="radio" name="freq" value="NONE" onclick="showRecurrence(this.value)" checked="checked"/>once<br/> 
    2221                   <input type="radio" name="freq" value="HOURLY" onclick="showRecurrence(this.value)"/>hourly<br/> 
     2229                  <!-- "freq" is used to determine if a recurrence should be created; test for "none" --> 
     2230                  <input type="radio" name="freq" value="NONE" onclick="showRecurrence(this.value)" checked="checked"/>none<br/> 
     2231                  <!--<input type="radio" name="freq" value="HOURLY" onclick="showRecurrence(this.value)"/>hourly<br/>--> 
    22222232                  <input type="radio" name="freq" value="DAILY" onclick="showRecurrence(this.value)"/>daily<br/> 
    22232233                  <input type="radio" name="freq" value="WEEKLY" onclick="showRecurrence(this.value)"/>weekly<br/> 
     
    22262236                </td> 
    22272237                <td class="recurrenceRules"> 
     2238                  <!-- none --> 
    22282239                  <div id="noneRecurrenceRules"> 
    22292240                    <p>does not recur</p> 
    22302241                  </div> 
     2242                  <!-- hourly --> 
    22312243                  <div id="hourlyRecurrenceRules" class="invisible"> 
    22322244                    <strong>Interval:</strong> 
    22332245                    every <input type="text" name="hourlyInterval" size="2" value="1"/> hour(s) 
    22342246                  </div> 
     2247                  <!-- daily --> 
    22352248                  <div id="dailyRecurrenceRules" class="invisible"> 
    22362249                    <p> 
     
    22392252                    </p> 
    22402253                  </div> 
     2254                  <!-- weekly --> 
    22412255                  <div id="weeklyRecurrenceRules" class="invisible"> 
    22422256                    <p> 
     
    22452259                    </p> 
    22462260                    <p> 
    2247                       <input type="radio" name="weekrrule" value="byday" checked="checked"/> 
    2248                       <xsl:call-template name="byDayChkBoxList"/> 
     2261                      <div id="byDayWeek"> 
     2262                        <xsl:call-template name="byDayChkBoxList"> 
     2263                          <xsl:with-param name="name">byDayWeek</xsl:with-param> 
     2264                        </xsl:call-template> 
     2265                      </div> 
    22492266                    </p> 
    2250                     <p> 
    2251                       <input type="radio" name="weekrrule" value="weekdays"/>weekdays 
    2252                     </p> 
    2253                     <p> 
    2254                       <input type="radio" name="weekrrule" value="weekends"/>weekends 
     2267                    <p align="right"> 
     2268                      <a href="javascript:recurSelectWeekdays('byDayWeek')">select weekdays</a> | 
     2269                      <a href="javascript:recurSelectWeekends('byDayWeek')">select weekends</a> 
    22552270                    </p> 
    22562271                  </div> 
     2272                  <!-- monthly --> 
    22572273                  <div id="monthlyRecurrenceRules" class="invisible"> 
    22582274                    <p> 
     
    22612277                    </p> 
    22622278                    <p> 
    2263                       <input type="radio" name="monthrrule" value="bymonthpos" checked="checked"/> 
    2264                        on the 
     2279                      &#160;on 
    22652280                      <select name="bymonthposPos1" width="7em"> 
    2266                         <option value="first">first</option> 
    2267                         <option value="second">second</option> 
    2268                         <option value="third">third</option> 
    2269                         <option value="fourth">fourth</option> 
    2270                         <option value="last">last</option> 
     2281                        <xsl:call-template name="recurrenceDayPosOptions"/> 
    22712282                      </select> 
    2272                       <select name="bymonthposDay1" width="7em"> 
    2273                         <xsl:for-each select="/bedework/daynames/val"> 
    2274                           <option> 
    2275                             <xsl:attribute name="value"><xsl:value-of select="."/></xsl:attribute> 
    2276                             <xsl:value-of select="."/> 
    2277                           </option> 
    2278                         </xsl:for-each> 
     2283                      <xsl:call-template name="byDayChkBoxList"/><br/> 
     2284                      and 
     2285                      <select name="bymonthposPos2" width="7em"> 
     2286                        <xsl:call-template name="recurrenceDayPosOptions"/> 
    22792287                      </select> 
    2280                       <div class="extraByMonthPosFields"> 
    2281                         and the 
    2282                         <select name="bymonthposPos2" width="7em"> 
    2283                           <option value="none">none</option> 
    2284                           <option value="first">first</option> 
    2285                           <option value="second">second</option> 
    2286                           <option value="third">third</option> 
    2287                           <option value="fourth">fourth</option> 
    2288                           <option value="last">last</option> 
    2289                         </select> 
    2290                         <select name="bymonthposDay2" width="7em"> 
    2291                           <option value="none">none</option> 
    2292                           <xsl:for-each select="/bedework/daynames/val"> 
    2293                             <option> 
    2294                               <xsl:attribute name="value"><xsl:value-of select="."/></xsl:attribute> 
    2295                               <xsl:value-of select="."/> 
    2296                             </option> 
    2297                           </xsl:for-each> 
    2298                         </select><br/> 
    2299                         and the 
    2300                         <select name="bymonthposPos3" width="7em"> 
    2301                           <option value="none">none</option> 
    2302                           <option value="first">first</option> 
    2303                           <option value="second">second</option> 
    2304                           <option value="third">third</option> 
    2305                           <option value="fourth">fourth</option> 
    2306                           <option value="last">last</option> 
    2307                         </select> 
    2308                         <select name="bymonthposDay3" width="7em"> 
    2309                           <option value="none">none</option> 
    2310                           <xsl:for-each select="/bedework/daynames/val"> 
    2311                             <option> 
    2312                               <xsl:attribute name="value"><xsl:value-of select="."/></xsl:attribute> 
    2313                               <xsl:value-of select="."/> 
    2314                             </option> 
    2315                           </xsl:for-each> 
    2316                         </select><br/> 
    2317                         and the 
    2318                         <select name="bymonthposPos4" width="7em"> 
    2319                           <option value="none">none</option> 
    2320                           <option value="first">first</option> 
    2321                           <option value="second">second</option> 
    2322                           <option value="third">third</option> 
    2323                           <option value="fourth">fourth</option> 
    2324                           <option value="last">last</option> 
    2325                         </select> 
    2326                         <select name="bymonthposDay4" width="7em"> 
    2327                           <option value="none">none</option> 
    2328                           <xsl:for-each select="/bedework/daynames/val"> 
    2329                             <option> 
    2330                               <xsl:attribute name="value"><xsl:value-of select="."/></xsl:attribute> 
    2331                               <xsl:value-of select="."/> 
    2332                             </option> 
    2333                           </xsl:for-each> 
    2334                         </select> 
    2335                       </div> 
     2288                      <xsl:call-template name="byDayChkBoxList"/><br/> 
     2289                      and 
     2290                      <select name="bymonthposPos3" width="7em"> 
     2291                        <xsl:call-template name="recurrenceDayPosOptions"/> 
     2292                      </select> 
     2293                      <xsl:call-template name="byDayChkBoxList"/><br/> 
     2294                      and 
     2295                      <select name="bymonthposPos4" width="7em"> 
     2296                        <xsl:call-template name="recurrenceDayPosOptions"/> 
     2297                      </select> 
     2298                      <xsl:call-template name="byDayChkBoxList"/> 
    23362299                    </p> 
    23372300                    <p> 
    2338                       <input type="radio" name="monthrrule" value="bymonthday"/>day(s):<br/> 
    2339                       <xsl:call-template name="buildCheckboxList"> 
    2340                         <xsl:with-param name="current">1</xsl:with-param> 
    2341                         <xsl:with-param name="end">31</xsl:with-param> 
    2342                         <xsl:with-param name="name">bymonthday</xsl:with-param> 
    2343                       </xsl:call-template> 
     2301                      <input type="checkbox" name="swapMonthCheckBoxList" value="" onclick="swapVisible(this,'monthCheckBoxList')"/> 
     2302                      on these days:<br/> 
     2303                      <div id="monthCheckBoxList" class="invisible"> 
     2304                        <xsl:call-template name="buildCheckboxList"> 
     2305                          <xsl:with-param name="current">1</xsl:with-param> 
     2306                          <xsl:with-param name="end">31</xsl:with-param> 
     2307                          <xsl:with-param name="name">bymonthdayBoxes</xsl:with-param> 
     2308                        </xsl:call-template> 
     2309                      </div> 
    23442310                    </p> 
    23452311                  </div> 
     
    23492315                    <p> 
    23502316                      <input type="radio" name="yearrrule" value="bymonthpos" onclick="swapYearCheckBoxList(this)" checked="checked"/> 
    2351                        on the 
     2317                       on 
    23522318                      <select name="bymonthposPos1" width="7em"> 
    2353                         <option value="first">first</option> 
    2354                         <option value="second">second</option> 
    2355                         <option value="third">third</option> 
    2356                         <option value="fourth">fourth</option> 
    2357                         <option value="last">last</option> 
     2319                        <xsl:call-template name="recurrenceDayPosOptions"/> 
    23582320                      </select> 
    23592321                      <select name="bymonthposDay1" width="7em"> 
     
    23752337                      </select> 
    23762338                      <div class="extraByMonthPosFields"> 
    2377                         and the 
     2339                        and 
    23782340                        <select name="bymonthposPos2" width="7em"> 
    2379                           <option value="none">none</option> 
    2380                           <option value="first">first</option> 
    2381                           <option value="second">second</option> 
    2382                           <option value="third">third</option> 
    2383                           <option value="fourth">fourth</option> 
    2384                           <option value="last">last</option> 
     2341                          <xsl:call-template name="recurrenceDayPosOptions"/> 
    23852342                        </select> 
    23862343                        <select name="bymonthposDay2" width="7em"> 
    2387                           <option value="none">none</option> 
    23882344                          <xsl:for-each select="/bedework/daynames/val"> 
    23892345                            <option> 
     
    23942350                        </select> of 
    23952351                        <select name="bymonthposMonth2" width="7em"> 
    2396                           <option value="none">none</option> 
    23972352                          <xsl:for-each select="/bedework/monthvalues/val"> 
    23982353                            <option> 
     
    24032358                          </xsl:for-each> 
    24042359                        </select><br/> 
    2405                         and the 
     2360                        and 
    24062361                        <select name="bymonthposPos3" width="7em"> 
    2407                           <option value="none">none</option> 
    2408                           <option value="first">first</option> 
    2409                           <option value="second">second</option> 
    2410                           <option value="third">third</option> 
    2411                           <option value="fourth">fourth</option> 
    2412                           <option value="last">last</option> 
     2362                          <xsl:call-template name="recurrenceDayPosOptions"/> 
    24132363                        </select> 
    24142364                        <select name="bymonthposDay3" width="7em"> 
     
    24222372                        </select> of 
    24232373                        <select name="bymonthposMonth3" width="7em"> 
    2424                           <option value="none">none</option> 
    24252374                          <xsl:for-each select="/bedework/monthvalues/val"> 
    24262375                            <option> 
     
    24312380                          </xsl:for-each> 
    24322381                        </select><br/> 
    2433                         and the 
     2382                        and 
    24342383                        <select name="bymonthposPos4" width="7em"> 
    2435                           <option value="none">none</option> 
    2436                           <option value="first">first</option> 
    2437                           <option value="second">second</option> 
    2438                           <option value="third">third</option> 
    2439                           <option value="fourth">fourth</option> 
    2440                           <option value="last">last</option> 
     2384                          <xsl:call-template name="recurrenceDayPosOptions"/> 
    24412385                        </select> 
    24422386                        <select name="bymonthposDay4" width="7em"> 
    2443                           <option value="none">none</option> 
    24442387                          <xsl:for-each select="/bedework/daynames/val"> 
    24452388                            <option> 
     
    24502393                        </select> of 
    24512394                        <select name="bymonthposMonth4" width="7em"> 
    2452                           <option value="none">none</option> 
    24532395                          <xsl:for-each select="/bedework/monthvalues/val"> 
    24542396                            <option> 
     
    24622404                    </p> 
    24632405                    <p> 
    2464                       <input type="radio" name="yearrrule" value="byyearday" onclick="swapYearCheckBoxList(this)"/>day(s):<br/> 
     2406                      <input type="checkbox" name="swapYearCheckBoxList" value="" onclick="swapVisible(this,'yearCheckBoxList')"/>on these days of the year:<br/> 
    24652407                      <div id="yearCheckBoxList" class="invisible"> 
    24662408                        <xsl:call-template name="buildCheckboxList"> 
    24672409                          <xsl:with-param name="current">1</xsl:with-param> 
    24682410                          <xsl:with-param name="end">366</xsl:with-param> 
    2469                           <xsl:with-param name="name">byyearday</xsl:with-param> 
     2411                          <xsl:with-param name="name">byyeardayBoxes</xsl:with-param> 
    24702412                        </xsl:call-template> 
    24712413                      </div> 
     
    24782420                   <div id="recurrenceUntilRules" class="invisible"> 
    24792421                     <strong>Repeat:</strong> 
    2480                      &#160; 
    2481                      <input type="radio" name="rCountUntil" value="count" checked="checked"/> 
    2482                      until 
    2483                      <div class="dateFields"> 
    2484                        <select name="untilMonth"> 
    2485                          <xsl:for-each select="form/start/month/select/option"> 
    2486                            <xsl:copy-of select="."/> 
    2487                          </xsl:for-each> 
    2488                        </select> 
    2489                        <select name="untilDay"> 
    2490                          <xsl:for-each select="form/start/day/select/option"> 
    2491                            <xsl:copy-of select="."/> 
    2492                          </xsl:for-each> 
    2493                        </select> 
    2494                        <xsl:choose> 
    2495                         <xsl:when test="/bedework/creating = 'true'"> 
    2496                            <select name="untilYear"> 
    2497                              <xsl:for-each select="form/start/year/select/option"> 
    2498                                <xsl:copy-of select="."/> 
    2499                              </xsl:for-each> 
    2500                            </select> 
    2501                         </xsl:when> 
    2502                         <xsl:otherwise> 
    2503                           <input type="text" name="untilYear" size="4"/> 
    2504                           <xsl:attribute name="value"><xsl:value-of select="form/start/yearText/input/@value"/></xsl:attribute> 
    2505                         </xsl:otherwise> 
    2506                        </xsl:choose> 
    2507                      </div> 
    2508                      <script language="JavaScript" type="text/javascript"> 
    2509                      <xsl:comment> 
    2510                        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/'); 
    2511                      </xsl:comment> 
    2512                      </script> 
    2513                      &#160; 
    2514                      <input type="radio" name="rCountUntil" value="count"/> 
    2515                      <input type="text" value="1" size="2" name="count"/> times 
     2422                     <p> 
     2423                       <div class="dateFields"> 
     2424                         <input type="radio" name="rCountUntil" value="until"/> 
     2425                         until 
     2426                         <select name="untilMonth"> 
     2427                           <xsl:for-each select="form/start/month/select/option"> 
     2428                             <xsl:copy-of select="."/> 
     2429                           </xsl:for-each> 
     2430                         </select> 
     2431                         <select name="untilDay"> 
     2432                           <xsl:for-each select="form/start/day/select/option"> 
     2433                             <xsl:copy-of select="."/> 
     2434                           </xsl:for-each> 
     2435                         </select> 
     2436                         <xsl:choose> 
     2437                          <xsl:when test="/bedework/creating = 'true'"> 
     2438                             <select name="untilYear"> 
     2439                               <xsl:for-each select="form/start/year/select/option"> 
     2440                                 <xsl:copy-of select="."/> 
     2441                               </xsl:for-each> 
     2442                             </select> 
     2443                          </xsl:when> 
     2444                          <xsl:otherwise> 
     2445                            <input type="text" name="untilYear" size="4"/> 
     2446                            <xsl:attribute name="value"><xsl:value-of select="form/start/yearText/input/@value"/></xsl:attribute> 
     2447                          </xsl:otherwise> 
     2448                         </xsl:choose> 
     2449                       </div> 
     2450                       <script language="JavaScript" type="text/javascript"> 
     2451                       <xsl:comment> 
     2452                         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/'); 
     2453                       </xsl:comment> 
     2454                       </script> 
     2455                     </p> 
     2456                     <p> 
     2457                       <input type="radio" name="rCountUntil" value="forever" checked="checked"/> 
     2458                       forever 
     2459                       &#160; 
     2460                       <input type="radio" name="rCountUntil" value="count"/> 
     2461                       <input type="text" value="1" size="2" name="count"/> times 
     2462                     </p> 
    25162463                   </div> 
    25172464                </td> 
     
    26752622 
    26762623  <xsl:template name="byDayChkBoxList"> 
    2677     <input type="checkbox" name="byday"/> 
    2678     <xsl:attribute name="value"><xsl:value-of select="/bedework/shortdaynames/val[position()=1]"/></xsl:attribute> 
    2679     <xsl:value-of select="/bedework/shortdaynames/val[position()=1]"/> 
    2680     <input type="checkbox" name="byday"/> 
    2681     <xsl:attribute name="value"><xsl:value-of select="/bedework/shortdaynames/val[position()=2]"/></xsl:attribute> 
    2682     <xsl:value-of select="/bedework/shortdaynames/val[position()=2]"/> 
    2683     <input type="checkbox" name="byday"/> 
    2684     <xsl:attribute name="value"><xsl:value-of select="/bedework/shortdaynames/val[position()=3]"/></xsl:attribute> 
    2685     <xsl:value-of select="/bedework/shortdaynames/val[position()=3]"/> 
    2686     <input type="checkbox" name="byday"/> 
    2687     <xsl:attribute name="value"><xsl:value-of select="/bedework/shortdaynames/val[position()=4]"/></xsl:attribute> 
    2688     <xsl:value-of select="/bedework/shortdaynames/val[position()=4]"/> 
    2689     <input type="checkbox" name="byday"/> 
    2690     <xsl:attribute name="value"><xsl:value-of select="/bedework/shortdaynames/val[position()=5]"/></xsl:attribute> 
    2691     <xsl:value-of select="/bedework/shortdaynames/val[position()=5]"/> 
    2692     <input type="checkbox" name="byday"/> 
    2693     <xsl:attribute name="value"><xsl:value-of select="/bedework/shortdaynames/val[position()=6]"/></xsl:attribute> 
    2694     <xsl:value-of select="/bedework/shortdaynames/val[position()=6]"/> 
    2695     <input type="checkbox" name="byday"/> 
    2696     <xsl:attribute name="value"><xsl:value-of select="/bedework/shortdaynames/val[position()=7]"/></xsl:attribute> 
    2697     <xsl:value-of select="/bedework/shortdaynames/val[position()=7]"/> 
     2624    <xsl:param name="name"/> 
     2625    <xsl:for-each select="/bedework/shortdaynames/val"> 
     2626      <xsl:variable name="pos" select="position()"/> 
     2627      <input type="checkbox"> 
     2628        <xsl:attribute name="value"><xsl:value-of select="/bedework/recurdaynames/val[position() = $pos]"/></xsl:attribute> 
     2629        <xsl:attribute name="name"><xsl:value-of select="$name"/></xsl:attribute> 
     2630      </input> 
     2631      <xsl:value-of select="."/> 
     2632    </xsl:for-each> 
    26982633  </xsl:template> 
    26992634 
     
    27172652      </xsl:call-template> 
    27182653    </xsl:if> 
     2654  </xsl:template> 
     2655 
     2656  <xsl:template name="recurrenceDayPosOptions"> 
     2657    <option value="0">none</option> 
     2658    <option value="1">the first</option> 
     2659    <option value="2">the second</option> 
     2660    <option value="3">the third</option> 
     2661    <option value="4">the fourth</option> 
     2662    <option value="5">the fifth</option> 
     2663    <option value="-1">the last</option> 
     2664    <option value="">every</option> 
    27192665  </xsl:template> 
    27202666 
  • trunk/deployment/webuser/webapp/resources/demoskins/resources/includes.js

    r1147 r1150  
    22  identity = document.getElementById(id); 
    33  identity.className=newClass; 
     4} 
     5// show hide items using a checkbox 
     6function swapVisible(obj,id) { 
     7  if (obj.checked) { 
     8    changeClass(id,'shown'); 
     9  } else { 
     10    changeClass(id,'invisible'); 
     11  } 
    412} 
    513function swapAllDayEvent(obj) { 
     
    8290  } 
    8391} 
     92// reveal and hide recurrence fields 
    8493function showRecurrence(freq) { 
    85  
    8694  changeClass('recurrenceUntilRules','shown'); 
    8795 
     
    118126  } 
    119127} 
    120 function swapYearCheckBoxList(obj) { 
    121   if (obj.value == "byyearday") { 
    122     changeClass('yearCheckBoxList','shown'); 
    123   } else { 
    124     changeClass('yearCheckBoxList','invisible'); 
     128function recurSelectWeekends(id) { 
     129  chkBoxCollection = document.getElementById(id).getElementsByTagName('input'); 
     130  if (chkBoxCollection) { 
     131    if (typeof chkBoxCollection.length != 'undefined') { 
     132      for (i = 0; i < chkBoxCollection.length; i++) { 
     133        if (chkBoxCollection[i].value == 'SU' || chkBoxCollection[i].value == 'SA') { 
     134           chkBoxCollection[i].checked = true; 
     135        } else { 
     136          chkBoxCollection[i].checked = false; 
     137        } 
     138      } 
     139    } 
     140  } 
     141
     142function recurSelectWeekdays(id) { 
     143  chkBoxCollection = document.getElementById(id).getElementsByTagName('input'); 
     144  if (chkBoxCollection) { 
     145    if (typeof chkBoxCollection.length != 'undefined') { 
     146      for (i = 0; i < chkBoxCollection.length; i++) { 
     147        if (chkBoxCollection[i].value == 'SU' || chkBoxCollection[i].value == 'SA') { 
     148           chkBoxCollection[i].checked = false; 
     149        } else { 
     150          chkBoxCollection[i].checked = true; 
     151        } 
     152      } 
     153    } 
     154  } 
     155
     156// assemble the recurrence rules if recurrence is specified 
     157function setRecurrence(form) { 
     158  if (form.recurrenceFlag.checked) { 
     159 
    125160  } 
    126161}