SAT Timer

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><!-- [et_pb_line_break_holder] --><html><!-- [et_pb_line_break_holder] --> <head><!-- [et_pb_line_break_holder] --> <title>SAT Timer 1.2</title><!-- [et_pb_line_break_holder] --> <script type="text/javascript">// cross-browser event handling for IE5+, NS6+ and Mozilla/Gecko<!-- [et_pb_line_break_holder] -->// by Scott Andrew<!-- [et_pb_line_break_holder] -->function addEvent( elm, evType, fn, useCapture )<!-- [et_pb_line_break_holder] -->{<!-- [et_pb_line_break_holder] --> if ( elm.addEventListener )<!-- [et_pb_line_break_holder] --> {<!-- [et_pb_line_break_holder] --> elm.addEventListener( evType, fn, useCapture );<!-- [et_pb_line_break_holder] --> return true;<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> else if ( elm.attachEvent )<!-- [et_pb_line_break_holder] --> {<!-- [et_pb_line_break_holder] --> var r = elm.attachEvent( 'on'+evType, fn );<!-- [et_pb_line_break_holder] --> return r;<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> else<!-- [et_pb_line_break_holder] --> {<!-- [et_pb_line_break_holder] --> elm[ 'on'+evType ] = fn;<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->function addDate()<!-- [et_pb_line_break_holder] -->{<!-- [et_pb_line_break_holder] --> var t = new Date();<!-- [et_pb_line_break_holder] --> var date = t.getMonth()+1 + "/" + t.getDate() + "/" + t.getFullYear();<!-- [et_pb_line_break_holder] --> document.getElementById("date").innerText = date;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->var sections = new Array( 's1', 'sb1', 's2', 's3', 'sb2', 's4', 'sb3', 's5');<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->function attachTimers()<!-- [et_pb_line_break_holder] -->{<!-- [et_pb_line_break_holder] --> document.getElementById('systime').innerHTML = getTime(getNow(),false,true);<!-- [et_pb_line_break_holder] --> window.setInterval( update, 200 );<!-- [et_pb_line_break_holder] --> addEvent( document.getElementById('startButton'), 'click', start, false );<!-- [et_pb_line_break_holder] --> // addEvent( document.getElementById('sectionComboBox'), 'change', updateSection, false );<!-- [et_pb_line_break_holder] --> for ( var i=0; i<sections.length; i++ )<!-- [et_pb_line_break_holder] --> {<!-- [et_pb_line_break_holder] --> var tr = document.getElementById( sections[i] );<!-- [et_pb_line_break_holder] --> var tds = tr.getElementsByTagName('td');<!-- [et_pb_line_break_holder] --> for ( var j=SECTION; j<tds.length; j++ )<!-- [et_pb_line_break_holder] --> {<!-- [et_pb_line_break_holder] --> tds[j].style.fontStyle = 'italic';<!-- [et_pb_line_break_holder] --> tds[j].style.color = '#999999';<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --> addEvent(document, 'keydown', handleKeypress, false);<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->function getTime(now,secs,ampm)<!-- [et_pb_line_break_holder] -->{<!-- [et_pb_line_break_holder] --> var hh = now.getHours();<!-- [et_pb_line_break_holder] --> var meridian = 'AM';<!-- [et_pb_line_break_holder] --> if ( hh >= 12 ) {<!-- [et_pb_line_break_holder] --> hh -= 12;<!-- [et_pb_line_break_holder] --> meridian = 'PM';<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> if ( hh == 0 ) {<!-- [et_pb_line_break_holder] --> hh = 12;<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> var mm = now.getMinutes();<!-- [et_pb_line_break_holder] --> var ss = now.getSeconds();<!-- [et_pb_line_break_holder] --> var time = '' + hh + ':' + zeroPad(mm);<!-- [et_pb_line_break_holder] --> if ( secs )<!-- [et_pb_line_break_holder] --> time += ':' + zeroPad(ss);<!-- [et_pb_line_break_holder] --> else if ( ss % 2 == 0 )<!-- [et_pb_line_break_holder] --> time = '' + hh + '<span>:</span>' + zeroPad(mm);<!-- [et_pb_line_break_holder] --> if ( ampm )<!-- [et_pb_line_break_holder] --> time += '<small>' + meridian + '</small>';<!-- [et_pb_line_break_holder] --> return time;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->function zeroPad(n)<!-- [et_pb_line_break_holder] -->{<!-- [et_pb_line_break_holder] --> if ( n < 10 )<!-- [et_pb_line_break_holder] --> return '0' + n;<!-- [et_pb_line_break_holder] --> return n;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->var sectionIndex = 0;<!-- [et_pb_line_break_holder] -->var min2 = 2 * 60 * 1000;<!-- [et_pb_line_break_holder] -->var min5 = 5 * 60 * 1000;<!-- [et_pb_line_break_holder] -->var min10 = 10 * 60 * 1000;<!-- [et_pb_line_break_holder] -->var min20 = 20 * 60 * 1000<!-- [et_pb_line_break_holder] -->var min25 = 25 * 60 * 1000;<!-- [et_pb_line_break_holder] -->var min30 = 30 * 60 * 1000;<!-- [et_pb_line_break_holder] -->var min35 = 35 * 60 * 1000;<!-- [et_pb_line_break_holder] -->var min45 = 45 * 60 * 1000;<!-- [et_pb_line_break_holder] -->var min50 = 50 * 60 * 1000;<!-- [et_pb_line_break_holder] -->var min55 = 55 * 60 * 1000;<!-- [et_pb_line_break_holder] -->var min60 = 60 * 60 * 1000;<!-- [et_pb_line_break_holder] -->var min65 = 65 * 60 * 1000;<!-- [et_pb_line_break_holder] -->var min1 = 1 * 60 * 1000;<!-- [et_pb_line_break_holder] -->var sec30 = 30 * 1000;<!-- [et_pb_line_break_holder] -->var sec25 = 25 * 1000;<!-- [et_pb_line_break_holder] -->var sec5 = 5 * 1000;<!-- [et_pb_line_break_holder] -->var endingtime = null;<!-- [et_pb_line_break_holder] -->var onbreak = false;<!-- [et_pb_line_break_holder] -->var fastforward = false;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->var times = new Array( min65, min10, min35, min25, min5, min55, min2, min50 );<!-- [et_pb_line_break_holder] -->// var times = new Array( sec25, sec25, sec5, sec25, sec25, sec5, sec25, sec25, sec5, sec25, sec20, sec20, sec10 );<!-- [et_pb_line_break_holder] -->var gaps = new Array( min1, min1, min1, min1, min1, min1, min1, min1, min1, min1, min1, min1, min1 );<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->// enums<!-- [et_pb_line_break_holder] -->var SECTION = 0;<!-- [et_pb_line_break_holder] -->var DURATION = 1;<!-- [et_pb_line_break_holder] -->var START = 2;<!-- [et_pb_line_break_holder] -->var END = 3;<!-- [et_pb_line_break_holder] -->var STATUS = 4;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->function updateSection()<!-- [et_pb_line_break_holder] -->{<!-- [et_pb_line_break_holder] --> sectionIndex = document.getElementById('sectionComboBox').value;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->var firstnow = 0;<!-- [et_pb_line_break_holder] -->function getNow()<!-- [et_pb_line_break_holder] -->{<!-- [et_pb_line_break_holder] --> var t = new Date();<!-- [et_pb_line_break_holder] --> if ( firstnow == 0 )<!-- [et_pb_line_break_holder] --> {<!-- [et_pb_line_break_holder] --> firstnow = t;<!-- [et_pb_line_break_holder] --> return t;<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> if ( ! fastforward )<!-- [et_pb_line_break_holder] --> return t;<!-- [et_pb_line_break_holder] --> var diff = t.getTime() - firstnow.getTime();<!-- [et_pb_line_break_holder] --> t.setTime( t.getTime() + diff*120 )<!-- [et_pb_line_break_holder] --> return t;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->function start()<!-- [et_pb_line_break_holder] -->{<!-- [et_pb_line_break_holder] --> var now = getNow();<!-- [et_pb_line_break_holder] --> var then = getNow();<!-- [et_pb_line_break_holder] --> now.setTime( now.getTime() + 1000 );<!-- [et_pb_line_break_holder] --> then.setTime( now.getTime() + times[sectionIndex] );<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --> var tds = document.getElementById( sections[sectionIndex] ).getElementsByTagName('td');<!-- [et_pb_line_break_holder] --> for ( var j=0; j<tds.length; j++ )<!-- [et_pb_line_break_holder] --> {<!-- [et_pb_line_break_holder] --> tds[j].style.fontStyle = 'normal';<!-- [et_pb_line_break_holder] --> tds[j].style.color = 'black';<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> tds[START].innerHTML = getTime(now,true,false);<!-- [et_pb_line_break_holder] --> tds[END].innerHTML = getTime(then,true,false);<!-- [et_pb_line_break_holder] --> tds[STATUS].innerHTML = 'in progress';<!-- [et_pb_line_break_holder] --> endingtime = then;<!-- [et_pb_line_break_holder] --> propogateNewTimes(then);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --> // if we just started section 3, set stopping break time to 1 minute ago<!-- [et_pb_line_break_holder] --> if ( sectionIndex == 3 ) {<!-- [et_pb_line_break_holder] --> then = new Date( endingtime );<!-- [et_pb_line_break_holder] --> then.setTime( now.getTime() - min1 );<!-- [et_pb_line_break_holder] --> document.getElementById( 'sb' ).getElementsByTagName('td')[END].innerHTML = getTime(then,true,false);<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->function propogateNewTimes(prevEnd)<!-- [et_pb_line_break_holder] -->{<!-- [et_pb_line_break_holder] --> // walk through all rows after this one, fixing the times<!-- [et_pb_line_break_holder] --> var t = getNow();<!-- [et_pb_line_break_holder] --> for ( var i=sectionIndex+1; i<sections.length; i++ )<!-- [et_pb_line_break_holder] --> {<!-- [et_pb_line_break_holder] --> var tr = document.getElementById( sections[i] );<!-- [et_pb_line_break_holder] --> var tds = tr.getElementsByTagName('td');<!-- [et_pb_line_break_holder] --> t.setTime( prevEnd.getTime() + gaps[i] );<!-- [et_pb_line_break_holder] --> tds[START].innerHTML = getTime(t,true,false);<!-- [et_pb_line_break_holder] --> t.setTime( t.getTime() + times[i] );<!-- [et_pb_line_break_holder] --> tds[END].innerHTML = getTime(t,true,false);<!-- [et_pb_line_break_holder] --> prevEnd = t;<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->function update()<!-- [et_pb_line_break_holder] -->{<!-- [et_pb_line_break_holder] --> var now = getNow();<!-- [et_pb_line_break_holder] --> document.getElementById('systime').innerHTML = getTime(now,false,true);<!-- [et_pb_line_break_holder] --> fastforward = ( document.getElementById('fastforward').checked );<!-- [et_pb_line_break_holder] --> if ( endingtime ) {<!-- [et_pb_line_break_holder] --> document.getElementById('sectiontime').innerHTML = getTimeDiff(now.getTime(),endingtime.getTime());<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->function getTimeDiff(now,then)<!-- [et_pb_line_break_holder] -->{<!-- [et_pb_line_break_holder] --> var ms = then - now;<!-- [et_pb_line_break_holder] --> if ( ms <= 1000 ) {<!-- [et_pb_line_break_holder] --> endingtime = null;<!-- [et_pb_line_break_holder] --> finishCurrentSection();<!-- [et_pb_line_break_holder] --> advanceSection();<!-- [et_pb_line_break_holder] --> return '0:00';<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> if ( ms <= 61000 )<!-- [et_pb_line_break_holder] --> document.getElementById('sectiontime').className = 'soon';<!-- [et_pb_line_break_holder] --> var ss = Math.floor(ms / 1000);<!-- [et_pb_line_break_holder] --> var mm = Math.floor(ss / 60);<!-- [et_pb_line_break_holder] --> ss = ss % 60;<!-- [et_pb_line_break_holder] --> return ( '' + mm + ':' + zeroPad(ss) );<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->function finishCurrentSection()<!-- [et_pb_line_break_holder] -->{<!-- [et_pb_line_break_holder] --> // clear red from timer<!-- [et_pb_line_break_holder] --> document.getElementById('sectiontime').className = '';<!-- [et_pb_line_break_holder] --> // change status from 'in progress' to 'done'<!-- [et_pb_line_break_holder] --> document.getElementById( sections[sectionIndex] ).getElementsByTagName('td')[STATUS].innerHTML = 'done';<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->var theButtonText = 'not yet begun <input type="submit" id="startButton" value="Start Timer">';<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->function advanceSection()<!-- [et_pb_line_break_holder] -->{<!-- [et_pb_line_break_holder] --> sectionIndex++;<!-- [et_pb_line_break_holder] --> if ( sectionIndex == sections.length )<!-- [et_pb_line_break_holder] --> return;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --> var s = sections[sectionIndex];<!-- [et_pb_line_break_holder] --> // break starts automatically; breaks are denoted with sb<!-- [et_pb_line_break_holder] --> if ( s.indexOf("sb") >= 0 ) {<!-- [et_pb_line_break_holder] --> onbreak = true;<!-- [et_pb_line_break_holder] --> start();<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> else {<!-- [et_pb_line_break_holder] --> document.getElementById( s ).getElementsByTagName('td')[STATUS].innerHTML = theButtonText;<!-- [et_pb_line_break_holder] --> addEvent( document.getElementById('startButton'), 'click', start, false );<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->function preventDefault(e)<!-- [et_pb_line_break_holder] -->{<!-- [et_pb_line_break_holder] --> var evt = e ? e : window.event;<!-- [et_pb_line_break_holder] --> if ( evt.preventDefault )<!-- [et_pb_line_break_holder] --> evt.preventDefault();<!-- [et_pb_line_break_holder] --> else<!-- [et_pb_line_break_holder] --> evt.returnValue = false;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --> return false;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->var KEY_ENTER = 13;<!-- [et_pb_line_break_holder] -->var KEY_SPACE = 32;<!-- [et_pb_line_break_holder] -->var KEY_PG_DN = 34;<!-- [et_pb_line_break_holder] -->var KEY_B = 66;<!-- [et_pb_line_break_holder] -->var KEY_F5 = 116;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->function handleKeypress(e)<!-- [et_pb_line_break_holder] -->{<!-- [et_pb_line_break_holder] --> var evt = e ? e : window.event;<!-- [et_pb_line_break_holder] --> var ch = evt.keyCode;<!-- [et_pb_line_break_holder] --> if ( ch === KEY_PG_DN || ch == KEY_B )<!-- [et_pb_line_break_holder] --> {<!-- [et_pb_line_break_holder] --> var startB = document.getElementById('startButton');<!-- [et_pb_line_break_holder] --> if ( startB ) {<!-- [et_pb_line_break_holder] --> startB.click();<!-- [et_pb_line_break_holder] --> return preventDefault(evt);<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> // This next bit is just because my stupid Kensingtom laser point sends "F5" when you press the laser.<!-- [et_pb_line_break_holder] --> // Sorry for the inconvenience.<!-- [et_pb_line_break_holder] --> if ( ch === KEY_F5 ) {<!-- [et_pb_line_break_holder] --> evt.keyCode = 0; // <-- this is your fault, IE-8<!-- [et_pb_line_break_holder] --> return preventDefault(evt);<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->addEvent( window, 'load', attachTimers, false );<!-- [et_pb_line_break_holder] -->addEvent( window, 'load', addDate, false);</script><!-- [et_pb_line_break_holder] --> <style type="text/css"><!-- [et_pb_line_break_holder] --> table {<!-- [et_pb_line_break_holder] --> font-family: Verdana, Arial, Helvetica, sans-serif;<!-- [et_pb_line_break_holder] --> line-height: 200%;<!-- [et_pb_line_break_holder] --> border-collapse: collapse;<!-- [et_pb_line_break_holder] --> margin-left: 1em;<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> th {<!-- [et_pb_line_break_holder] --> border-top: 1px solid #FB7A31;<!-- [et_pb_line_break_holder] --> border-bottom: 1px solid #FB7A31;<!-- [et_pb_line_break_holder] --> border-right: 1px solid #FB7A31;<!-- [et_pb_line_break_holder] --> background: #FFC;<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> td {<!-- [et_pb_line_break_holder] --> border-bottom: 1px solid #CCC;<!-- [et_pb_line_break_holder] --> border-right: 1px solid #CCC;<!-- [et_pb_line_break_holder] --> padding: 0 0.5em;<!-- [et_pb_line_break_holder] --> text-align: right;<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> td+td {<!-- [et_pb_line_break_holder] --> border-left: 1px solid #CCC;<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> td#systime, td#sectiontime {<!-- [et_pb_line_break_holder] --> font-size: 200%;<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> #systime span {<!-- [et_pb_line_break_holder] --> color: #ffffff;<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> small {<!-- [et_pb_line_break_holder] --> font-size: 70%;<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> .soon {<!-- [et_pb_line_break_holder] --> color: #ff0000;<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> .tight { line-height: 140%;<!-- [et_pb_line_break_holder] --> text-align: left;<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> .r { text-align: right; }<!-- [et_pb_line_break_holder] --> </style><!-- [et_pb_line_break_holder] --> </head><!-- [et_pb_line_break_holder] --> <body><!-- [et_pb_line_break_holder] --> <table><!-- [et_pb_line_break_holder] --> <tr><!-- [et_pb_line_break_holder] --> <td>current time<!-- [et_pb_line_break_holder] --> <td class="tight" rowspan="2">Test Center #:     446023<br><!-- [et_pb_line_break_holder] --> School address: 500 Gattis School Road<br><!-- [et_pb_line_break_holder] -->                        Round Rock, TX 78664<br><!-- [et_pb_line_break_holder] --> Test date:         <a id="date">03/2/2016</a><!-- [et_pb_line_break_holder] --> </td><!-- [et_pb_line_break_holder] --> <td>time remaining for this section</td><!-- [et_pb_line_break_holder] --> </tr><!-- [et_pb_line_break_holder] --> <tr><td id="systime">--:--<td id="sectiontime">--:--</tr><!-- [et_pb_line_break_holder] --> </table><!-- [et_pb_line_break_holder] --> <pre></pre><!-- [et_pb_line_break_holder] --> <table><!-- [et_pb_line_break_holder] --> <tr><th>section<th>duration<th>start time <th>end time<!-- [et_pb_line_break_holder] --> <th>status</tr><!-- [et_pb_line_break_holder] --> <!--ID IS BASED ON SECTION NUMBER; Sx = Section x; SBx = Section Break x--><!-- [et_pb_line_break_holder] --> <tr id="s1"><!-- [et_pb_line_break_holder] --> <td>Section 1<!-- [et_pb_line_break_holder] --> <td>65 min</td><!-- [et_pb_line_break_holder] --> <td> (Click start timer)</td><!-- [et_pb_line_break_holder] --> <td></td><!-- [et_pb_line_break_holder] --> <td>not yet begun <input type="submit" id="startButton" value="Start Timer"></td><!-- [et_pb_line_break_holder] --> </tr><!-- [et_pb_line_break_holder] --> <tr id="sb1"><!-- [et_pb_line_break_holder] --> <td>break</td><!-- [et_pb_line_break_holder] --> <td>~10 min</td><!-- [et_pb_line_break_holder] --> <td></td><!-- [et_pb_line_break_holder] --> <td></td><!-- [et_pb_line_break_holder] --> <td></td><!-- [et_pb_line_break_holder] --> </tr><!-- [et_pb_line_break_holder] --> <tr id="s2"><!-- [et_pb_line_break_holder] --> <td>Section 2</td><!-- [et_pb_line_break_holder] --> <td>35min</td><!-- [et_pb_line_break_holder] --> <td></td><!-- [et_pb_line_break_holder] --> <td></td><!-- [et_pb_line_break_holder] --> <td></td><!-- [et_pb_line_break_holder] --> </tr><!-- [et_pb_line_break_holder] --> <tr id="s3"><!-- [et_pb_line_break_holder] --> <td>Section 3</td><!-- [et_pb_line_break_holder] --> <td>25 min</td><!-- [et_pb_line_break_holder] --> <td></td><!-- [et_pb_line_break_holder] --> <td></td><!-- [et_pb_line_break_holder] --> <td></td><!-- [et_pb_line_break_holder] --> </tr><!-- [et_pb_line_break_holder] --> <tr id="sb2"><!-- [et_pb_line_break_holder] --> <td>break</td><!-- [et_pb_line_break_holder] --> <td>~5 min</td><!-- [et_pb_line_break_holder] --> <td></td><!-- [et_pb_line_break_holder] --> <td></td><!-- [et_pb_line_break_holder] --> <td></td><!-- [et_pb_line_break_holder] --> </tr><!-- [et_pb_line_break_holder] --> <tr id="s4"><!-- [et_pb_line_break_holder] --> <td>Section 4<!-- [et_pb_line_break_holder] --> <td>55min</td><!-- [et_pb_line_break_holder] --> <td></td><!-- [et_pb_line_break_holder] --> <td></td><!-- [et_pb_line_break_holder] --> <td></td><!-- [et_pb_line_break_holder] --> </tr><!-- [et_pb_line_break_holder] --> <tr id="sb3"><!-- [et_pb_line_break_holder] --> <td>break</td><!-- [et_pb_line_break_holder] --> <td>~2 min</td><!-- [et_pb_line_break_holder] --> <td></td><!-- [et_pb_line_break_holder] --> <td></td><!-- [et_pb_line_break_holder] --> <td></td><!-- [et_pb_line_break_holder] --> </tr><!-- [et_pb_line_break_holder] --> <tr id="s5"><!-- [et_pb_line_break_holder] --> <td>Section 5</td><!-- [et_pb_line_break_holder] --> <td>50 min</td><!-- [et_pb_line_break_holder] --> <td></td><!-- [et_pb_line_break_holder] --> <td></td><!-- [et_pb_line_break_holder] --> <td></td><!-- [et_pb_line_break_holder] --> </tr><!-- [et_pb_line_break_holder] --> </table><!-- [et_pb_line_break_holder] --> <hr><!-- [et_pb_line_break_holder] --> <p>This option is primarily for debugging; you probably don't need it.<br><!-- [et_pb_line_break_holder] --> <input type="checkbox" id="fastforward"> Fast Forward (run at 120x normal speed)</p><!-- [et_pb_line_break_holder] --> </body><!-- [et_pb_line_break_holder] --></html>