Have you ever starting something, then stopped yourself a fifth of way through, then thought "gee, there has to be better way", then realized that the better way would have actually taken less time than the you had already spent, then finally started over with the better way? Some folks (like Sixstring's predecessor) get caught up somewhere between the "thinking about it" portion and the "doing it better portion" ...

<%sub timepick(ptime)%>
  <SELECT  name='<%=ptime%>'>
  <OPTION <%=ctime(ptime,"0")%> value=0>Time
  <OPTION <%=ctime(ptime,"12:00AM")%> value=12:00AM>12:00AM
  <OPTION <%=ctime(ptime,"12:15AM")%> value=12:15AM>12:15AM
  <OPTION <%=ctime(ptime,"12:30AM")%> value=12:30AM>12:30AM
  <OPTION <%=ctime(ptime,"12:45AM")%> value=12:45AM>12:45AM
  <OPTION  <%=ctime(ptime,"1:00AM")%> value=1:00AM>1:00AM
  <OPTION <%=ctime(ptime,"1:15AM")%> value=1:15AM>1:15AM
  <OPTION  <%=ctime(ptime,"1:30AM")%> value=1:30AM>1:30AM
  <OPTION <%=ctime(ptime,"1:45AM")%> value=1:45AM>1:45AM
  <OPTION  <%=ctime(ptime,"2:00AM")%> value=2:00AM>2:00AM
  <OPTION <%=ctime(ptime,"2:15AM")%> value=2:15AM>2:15AM
  <OPTION  <%=ctime(ptime,"2:30AM")%> value=2:30AM>2:30AM
  <OPTION <%=ctime(ptime,"2:45AM")%> value=2:45AM>2:45AM
  <OPTION  <%=ctime(ptime,"3:00AM")%> value=3:00AM>3:00AM
  <OPTION <%=ctime(ptime,"3:15AM")%> value=3:15AM>3:15AM
  <OPTION <%=ctime(ptime,"3:30AM")%> value=3:30AM>3:30AM
  <OPTION <%=ctime(ptime,"3:45AM")%> value=3:45AM>3:45AM
  <OPTION  <%=ctime(ptime,"4:00AM")%> value=4:00AM>4:00AM
  <OPTION <%=ctime(ptime,"4:15AM")%> value=4:15AM>4:15AM
  <OPTION  <%=ctime(ptime,"4:30AM")%> value=4:30AM>4:30AM
  <OPTION <%=ctime(ptime,"4:45AM")%> value=4:45AM>4:45AM
  <OPTION  <%=ctime(ptime,"5:00AM")%> value=5:00AM>5:00AM
  <OPTION <%=ctime(ptime,"5:15AM")%> value=5:15AM>5:15AM
  <OPTION  <%=ctime(ptime,"5:30AM")%> value=5:30AM>5:30AM
  <OPTION <%=ctime(ptime,"5:45AM")%> value=5:45AM>5:45AM
  <OPTION  <%=ctime(ptime,"6:00AM")%> value=6:00AM>6:00AM
  <OPTION <%=ctime(ptime,"6:15AM")%> value=6:15AM>6:15AM
  <OPTION  <%=ctime(ptime,"6:30AM")%> value=6:30AM>6:30AM
  <OPTION <%=ctime(ptime,"6:45AM")%> value=6:45AM>6:45AM
  <OPTION  <%=ctime(ptime,"7:00AM")%> value=7:00AM>7:00AM
  <OPTION <%=ctime(ptime,"7:15AM")%> value=7:15AM>7:15AM
  <OPTION  <%=ctime(ptime,"7:30AM")%> value=7:30AM>7:30AM
  <OPTION <%=ctime(ptime,"7:45AM")%> value=7:45AM>7:45AM
  <OPTION  <%=ctime(ptime,"8:00AM")%> value=8:00AM>8:00AM
  <OPTION <%=ctime(ptime,"8:15AM")%> value=8:15AM>8:15AM
  <OPTION  <%=ctime(ptime,"8:30AM")%> value=8:30AM>8:30AM
  <OPTION <%=ctime(ptime,"8:45AM")%> value=8:45AM>8:45AM
  <OPTION  <%=ctime(ptime,"9:00AM")%> value=9:00AM>9:00AM
  <OPTION <%=ctime(ptime,"9:15AM")%> value=9:15AM>9:15AM
  <OPTION  <%=ctime(ptime,"9:30AM")%> value=9:30AM>9:30AM
  <OPTION <%=ctime(ptime,"9:45AM")%> value=9:45AM>9:45AM
  <OPTION  <%=ctime(ptime,"10:00AM")%> value=10:00AM>10:00AM
  <OPTION <%=ctime(ptime,"10:15AM")%> value=10:15AM>10:15AM
  <OPTION  <%=ctime(ptime,"10:30AM")%> value=10:30AM>10:30AM
  <OPTION <%=ctime(ptime,"10:45AM")%> value=10:45AM>10:45AM
  <OPTION  <%=ctime(ptime,"11:00AM")%> value=11:00AM>11:00AM
  <OPTION <%=ctime(ptime,"11:15AM")%> value=11:15AM>11:15AM
  <OPTION  <%=ctime(ptime,"11:30AM")%> value=11:30AM>11:30AM
  <OPTION <%=ctime(ptime,"11:45AM")%> value=11:45AM>11:45AM
  <OPTION  <%=ctime(ptime,"12:00PM")%> value=12:00PM>12:00PM
  <OPTION <%=ctime(ptime,"12:15PM")%> value=12:15PM>12:15PM
  <OPTION  <%=ctime(ptime,"12:30PM")%> value=12:30PM>12:30PM
  <OPTION <%=ctime(ptime,"12:45PM")%> value=12:45PM>12:45PM
  <OPTION  <%=ctime(ptime,"1:00PM")%> value=1:00PM>1:00PM
  <OPTION <%=ctime(ptime,"1:15PM")%> value=1:15PM>1:15PM
  <OPTION  <%=ctime(ptime,"1:30PM")%> value=1:30PM>1:30PM
  <OPTION <%=ctime(ptime,"1:45PM")%> value=1:45PM>1:45PM
  <OPTION  <%=ctime(ptime,"2:00PM")%> value=2:00PM>2:00PM
  <OPTION <%=ctime(ptime,"2:15PM")%> value=2:15PM>2:15PM
  <OPTION  <%=ctime(ptime,"2:30PM")%> value=2:30PM>2:30PM
  <OPTION <%=ctime(ptime,"2:45PM")%> value=2:45PM>2:45PM
  <OPTION  <%=ctime(ptime,"3:00PM")%> value=3:00PM>3:00PM
  <OPTION <%=ctime(ptime,"3:15PM")%> value=3:15PM>3:15PM
  <OPTION  <%=ctime(ptime,"3:30PM")%> value=3:30PM>3:30PM
  <OPTION <%=ctime(ptime,"3:45PM")%> value=3:45PM>3:45PM
  <OPTION  <%=ctime(ptime,"4:00PM")%> value=4:00PM>4:00PM
  <OPTION <%=ctime(ptime,"4:15PM")%> value=4:15PM>4:15PM
  <OPTION  <%=ctime(ptime,"4:30PM")%> value=4:30PM>4:30PM
  <OPTION <%=ctime(ptime,"4:45PM")%> value=4:45PM>4:45PM
  <OPTION  <%=ctime(ptime,"5:00PM")%> value=5:00PM>5:00PM
  <OPTION <%=ctime(ptime,"5:15PM")%> value=5:15PM>5:15PM
  <OPTION  <%=ctime(ptime,"5:30PM")%> value=5:30PM>5:30PM
  <OPTION <%=ctime(ptime,"5:45PM")%> value=5:45PM>5:45PM
  <OPTION  <%=ctime(ptime,"6:00PM")%> value=6:00PM>6:00PM
  <OPTION <%=ctime(ptime,"6:15PM")%> value=6:15PM>6:15PM
  <OPTION  <%=ctime(ptime,"6:30PM")%> value=6:30PM>6:30PM
  <OPTION <%=ctime(ptime,"6:45PM")%> value=6:45PM>6:45PM
  <OPTION  <%=ctime(ptime,"7:00PM")%> value=7:00PM>7:00PM
  <OPTION <%=ctime(ptime,"7:15PM")%> value=7:15PM>7:15PM
  <OPTION  <%=ctime(ptime,"7:30PM")%> value=7:30PM>7:30PM
  <OPTION <%=ctime(ptime,"7:45PM")%> value=7:45PM>7:45PM
  <OPTION  <%=ctime(ptime,"8:00PM")%> value=8:00PM>8:00PM
  <OPTION <%=ctime(ptime,"8:15PM")%> value=8:15PM>8:15PM
  <OPTION  <%=ctime(ptime,"8:30PM")%> value=8:30PM>8:30PM
  <OPTION <%=ctime(ptime,"8:45PM")%> value=8:45PM>8:45PM
  <OPTION  <%=ctime(ptime,"9:00PM")%> value=9:00PM>9:00PM
  <OPTION <%=ctime(ptime,"9:15PM")%> value=9:15PM>9:15PM
  <OPTION  <%=ctime(ptime,"9:30PM")%> value=9:30PM>9:30PM
  <OPTION <%=ctime(ptime,"9:45PM")%> value=9:45PM>9:45PM
  <OPTION  <%=ctime(ptime,"10:00PM")%> value=10:00PM>10:00PM
  <OPTION <%=ctime(ptime,"10:15PM")%> value=10:15PM>10:15PM
  <OPTION  <%=ctime(ptime,"10:30PM")%> value=10:30PM>10:30PM
  <OPTION <%=ctime(ptime,"10:45PM")%> value=10:45PM>10:45PM
  <OPTION  <%=ctime(ptime,"11:00PM")%> value=11:00PM>11:00PM
  <OPTION <%=ctime(ptime,"11:15PM")%> value=11:15PM>11:15PM
  <OPTION  <%=ctime(ptime,"11:30PM")%> value=11:30PM>11:30PM
  <OPTION <%=ctime(ptime,"11:45PM")%> value=11:45PM>11:45PM
  </SELECT>
<%end sub%>


<%
sub datepick(pmonth,pday,pyear)
%>
  <SELECT name='<%=pmonth%>' onChange="checkNull(this)">
  <% If pmonth <> "StartMonth" Then %>
  <OPTION <%=cmonth(pmonth,0)%>value=0>Month</OPTION> 
  <% End If %>
  <OPTION <%=cmonth(pmonth,1)%> value=1>January</OPTION> 
  <OPTION <%=cmonth(pmonth,2)%> value=2>February</OPTION>
  <OPTION <%=cmonth(pmonth,3)%> value=3>March</OPTION> 
  <OPTION <%=cmonth(pmonth,4)%> value=4>April</OPTION>
  <OPTION <%=cmonth(pmonth,5)%> value=5>May</OPTION>
  <OPTION <%=cmonth(pmonth,6)%> value=6>June</OPTION>
  <OPTION <%=cmonth(pmonth,7)%> value=7>July</OPTION>
  <OPTION <%=cmonth(pmonth,8)%> value=8>August</OPTION>
  <OPTION <%=cmonth(pmonth,9)%> value=9>September</OPTION>
  <OPTION <%=cmonth(pmonth,10)%> value=10>October</OPTION> 
  <OPTION <%=cmonth(pmonth,11)%> value=11>November</OPTION>
  <OPTION <%=cmonth(pmonth,12)%> value=12>December</OPTION></SELECT>

<SELECT name='<%=pday%>' onChange="checkNull(this)">
  <% If pday <> "StartDay" Then %>
  <OPTION <%=cday(pday,0)%>  value=0>Day</OPTION>
  <% End If %>
  <OPTION <%=cday(pday,1)%>  value=1>1</OPTION>
  <OPTION <%=cday(pday,2)%> value=2>2</OPTION>
  <OPTION <%=cday(pday,3)%> value=3>3</OPTION> 
  <OPTION <%=cday(pday,4)%> value=4>4</OPTION>
  <OPTION <%=cday(pday,5)%> value=5>5</OPTION>
  <OPTION <%=cday(pday,6)%> value=6>6</OPTION>
  <OPTION <%=cday(pday,7)%> value=7>7</OPTION>
  <OPTION <%=cday(pday,8)%> value=8>8</OPTION> 
  <OPTION <%=cday(pday,9)%> value=9>9</OPTION>
  <OPTION <%=cday(pday,10)%> value=10>10</OPTION>
  <OPTION <%=cday(pday,11)%> value=11>11</OPTION>
  <OPTION <%=cday(pday,12)%> value=12>12</OPTION>
  <OPTION <%=cday(pday,13)%> value=13>13</OPTION> 
  <OPTION <%=cday(pday,14)%> value=14>14</OPTION>
  <OPTION <%=cday(pday,15)%> value=15>15</OPTION>
  <OPTION <%=cday(pday,16)%> value=16>16</OPTION>
  <OPTION <%=cday(pday,17)%> value=17>17</OPTION>
  <OPTION <%=cday(pday,18)%> value=18>18</OPTION> 
  <OPTION <%=cday(pday,19)%> value=19>19</OPTION>
  <OPTION <%=cday(pday,20)%> value=20>20</OPTION>
  <OPTION <%=cday(pday,21)%> value=21>21</OPTION>
  <OPTION <%=cday(pday,22)%> value=22>22</OPTION>
  <OPTION <%=cday(pday,23)%> value=23>23</OPTION> 
  <OPTION <%=cday(pday,24)%> value=24>24</OPTION>
  <OPTION <%=cday(pday,25)%> value=25>25</OPTION>
  <OPTION <%=cday(pday,26)%> value=26>26</OPTION>
  <OPTION <%=cday(pday,27)%> value=27>27</OPTION>
  <OPTION <%=cday(pday,28)%> value=28>28</OPTION> 
  <OPTION <%=cday(pday,29)%> value=29>29</OPTION>
  <OPTION <%=cday(pday,30)%> value=30>30</OPTION>
  <OPTION <%=cday(pday,31)%> value=31>31</OPTION>
  </SELECT><SELECT NAME='<%=pyear%>' onChange="checkNull(this)">
  <% If pyear <> "StartYear" Then %>
  <option <%=cyear(pyear,0)%>  value=0>Year
  <% End If %>
  <option <%=cyear(pyear,1999)%>  value=1999>1999
  <option <%=cyear(pyear,2000)%> value=2000>2000
  <option <%=cyear(pyear,2001)%>  value=2001>2001
  <option <%=cyear(pyear,2002)%> value=2002>2002
  <option <%=cyear(pyear,2003)%>  value=2003>2003
  <option <%=cyear(pyear,2004)%> value=2004>2004
  </select>
<%end sub%>

... what's also interesting to note about this example, is how completely awkward the rest of the ASP page must be set up, just from looking at the "cyear" multi-dimensional arrays ...