Parent Directory
|
Revision Log
Add javascript to gateway template file for active timer on gateway quizzes.
1 <!DOCTYPE html 2 PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 3 SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 4 5 <!-- 6 ################################################################################ 7 # WeBWorK Online Homework Delivery System 8 # Copyright © 2000-2003 The WeBWorK Project, http://openwebwork.sf.net/ 9 # $CVSHeader: webwork2/conf/templates/ur.template,v 1.29.2.2 2004/07/26 15:11:16 gage Exp $ 10 # 11 # This program is free software; you can redistribute it and/or modify it under 12 # the terms of either: (a) the GNU General Public License as published by the 13 # Free Software Foundation; either version 2, or (at your option) any later 14 # version, or (b) the "Artistic License" which comes with this package. 15 # 16 # This program is distributed in the hope that it will be useful, but WITHOUT 17 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 18 # FOR A PARTICULAR PURPOSE. See either the GNU General Public License or the 19 # Artistic License for more details. 20 ################################################################################ 21 --> 22 23 <html xmlns="http://www.w3.org/1999/xhtml" lang="en-US"> 24 <head> 25 <title><!--#path style="text" text=" : " textonly="1"--></title> 26 <!--#head--> 27 <style type="text/css"> 28 29 /********************/ 30 /* template classes */ 31 /********************/ 32 33 body { margin: 0px; } 34 35 /* left table cell, contains logo and menus */ 36 td.LeftPanel { background-color: #003366; color: white; white-space: nowrap; width: 1em; } 37 td.LeftPanel a:link, 38 td.LeftPanel a:visited { color: #FF9933; } 39 40 div.Logo { } 41 div.Links { font-size: small; } 42 div.Siblings { font-size: small; } 43 div.Options { font-size: small; } 44 45 /* top table cell, contains login message and path */ 46 td.TopPanel { background-color: #003366; color: white; height: 1; } 47 td.TopPanel a:link, 48 td.TopPanel a:visited { color: #FF9933; } 49 50 51 *.LoginStatus { text-align: right; font-size: small; position:absolute; right: 0; } 52 td.Timestamp { text-align: left; font-size: small; font-style: italic; } 53 54 *.Path { } 55 56 /* main content panel, contains body */ 57 td.ContentPanel { background-color: white; color: black; } 58 td.ContentPanel a:link, 59 td.ContentPanel a:visited { color: blue; } 60 td.ContentPanel a:active { color: red; } 61 62 /* contains info */ 63 td.InfoPanel { background-color: #DDDDDD; color: black; width: 15% } 64 td.InfoPanel a:link, 65 td.InfoPanel a:visited { color: blue; } 66 td.InfoPanel a:active { color: red; } 67 68 div.Info { } 69 div.Nav { } 70 div.Title { font-size: 16pt; } 71 div.SubmitError { color: red; font-style: italic; } 72 div.Message { font-style: italic; } 73 div.Body { } 74 div.Warnings { } 75 76 /* background colors for success and failure messages */ 77 div.ResultsWithoutError { background-color: #66ff99 } /* light green */ 78 div.ResultsWithError { background-color: #ffcccc } /* light red */ 79 80 /* text colors for published and unpublished sets */ 81 font.Published { font-style: normal; font-weight: bold; color: #000000; } /* black */ 82 font.Unpublished { font-style: italic; font-weight: normal; color: #aaaaaa; } /* light grey */ 83 84 /* text colors for Auditing, Current, and Dropped students */ 85 div.Audit { font-style: normal; color: black; } 86 div.Enrolled { font-weight: bold; color: black; } 87 div.Drop { font-style: italic; color: grey; } 88 89 /*******************/ 90 /* general classes */ 91 /*******************/ 92 93 p.emphasis { font-style:italic; } 94 95 /************************/ 96 /* new standard classes */ 97 /************************/ 98 99 /* tables used for laying out form fields shouldn't have a border */ 100 table.FormLayout { border: 0; } 101 table.FormLayout tr { vertical-align: top; } 102 table.FormLayout th.LeftHeader { text-align: right; white-space: nowrap; } 103 table.FormLayout tr.ButtonRow { text-align: left; } 104 table.FormLayout tr.ButtonRowCenter { text-align: center; } 105 106 /* for problems which are rendered by themselves, e.g., by Set Maker */ 107 div.RenderSolo { background-color: #E0E0E0; color: black; } 108 109 /* minimal style for lists of links (generated by the links escape) */ 110 ul.LinksMenu { list-style: none; margin-left: 0; padding-left: 0; } 111 ul.LinksMenu ul { list-style: none; margin-left: 0.5em; padding-left: 0; } 112 113 /*************************/ 114 /* WeBWorK::HTML widgets */ 115 /*************************/ 116 117 /* WeBWorK::HTML::ScrollingRecordList */ 118 div.ScrollingRecordList { padding: 1em; white-space: nowrap; border: thin solid gray; } 119 div.ScrollingRecordList select.ScrollingRecordList { width: 99%; } 120 121 /*************************************************************************/ 122 /* classes used in Problem.pm (replace these with new standard classes?) */ 123 /*************************************************************************/ 124 125 table.attemptResults { 126 border-style: outset; 127 border-width: 1px; 128 margin: 0px 10pt; 129 border-spacing: 1px; 130 } 131 table.attemptResults td, 132 table.attemptResults th { 133 border-style: inset; 134 border-width: 1px; 135 text-align: center; 136 width: 15ex; 137 background-color: #DDDDDD; 138 } 139 div.problemHeader { float: left; } 140 div.problem { clear: both; background-color: #E0E0E0; color: black; } 141 .parsehilight { background-color:yellow; } 142 143 </style> 144 145 <style type="text/css"> 146 /******************/ 147 /* gateway styles */ 148 /******************/ 149 150 div.gwMessage { background-color:#dddddd; color: black; } 151 div.gwTiming { 152 background-color:#ddddff; 153 color: black; 154 margin-top: 10px; 155 margin-bottom: 0px; 156 } 157 div.gwWarning { background-color:#ffffdd; color: black; } 158 159 span.resultsWithError { background-color: #ffcccc; color: black; } 160 span.resultsWithoutError { background-color: #66ff99; color: black; } 161 div.gwCorrect { background-color: #66ff99; color: black; } 162 div.gwIncorrect { background-color: #ff9999; color: black; } 163 164 div.gwProblem { 165 clear: both; 166 background-color: #E0E0E0; 167 color: black; 168 padding: 3px; 169 border: solid black 1px; 170 } 171 div.gwSoln { 172 /* background-color: #e0e0ff; */ 173 background-color: transparent; 174 color: black; 175 /* padding: 2px; */, 176 /* border: dashed black 1px; */ 177 } 178 div.gwSoln b { color: navy; } 179 180 p.gwPreview { 181 font-size: smaller; 182 text-align: right; 183 margin-top: 0px; 184 margin-bottom: 0px; 185 } 186 187 table.gwAttemptResults { 188 border-width: 0px; 189 } 190 table.gwAttemptResults td.label { 191 font-weight: bold; 192 background-color: transparent; 193 color: navy; 194 } 195 table.gwAttemptResults td.output { 196 padding: 2px; 197 border: solid black 1px; 198 background-color: #eeeeee; 199 } 200 201 </style> 202 <script language="javascript" type="text/javascript"> 203 function jumpTo(ref) { // scrolling javascript functin 204 if ( ref ) { 205 var pn = ref - 1; // we start anchors at 1, not zero 206 if ( navigator.appName == "Netscape" && 207 parseFloat(navigator.appVersion) < 5 ) { 208 var xpos = document.anchors[pn].x; 209 var ypos = document.anchors[pn].y; 210 } else { 211 var xpos = document.anchors[pn].offsetLeft; 212 var ypos = document.anchors[pn].offsetTop; 213 } 214 if ( window.scrollTo == null ) { // cover for anyone 215 window.scroll(xpos,ypos); // lacking js1.2 216 } else { 217 window.scrollTo(xpos,ypos); 218 } 219 } 220 return false; // prevent link from being followed 221 } 222 223 // timer for gateway 224 var theTime = -1; // -1 before we've initialized 225 226 function runtimer() { 227 // aesthetically this is displeasing: we're assuming that the 228 // ContentGenerator will put the appropriate form elements in that 229 // page for us to manipulate. even with error checking, it seems sort 230 // of odd. 231 if ( document.gwtimer == null ) { // no timer 232 return; 233 } else { 234 var tm = document.gwtimer.gwtime; 235 var st = document.gwtimer.gwpagetimeleft.value; 236 237 if ( st == 0 ) { // no time limit 238 return; 239 } else { 240 if ( theTime == -1 ) { 241 theTime = st; 242 tm.value = toMinSec(theTime); 243 setTimeout("runtimer()", 1000); // 1000 ms = 1 sec 244 } else { 245 theTime--; 246 tm.value = toMinSec(theTime); 247 setTimeout("runtimer()", 1000); // 1000 ms = 1 sec 248 } 249 } 250 } 251 } 252 function toMinSec(t) { 253 // convert to min:sec 254 mn = Math.floor(t/60); 255 sc = t - 60*mn; 256 if ( mn < 10 && mn > -1 ) { 257 mn = "0" + mn; 258 } 259 if ( sc < 10 ) { 260 sc = "0" + sc; 261 } 262 return mn + ":" + sc; 263 } 264 </script> 265 </head> 266 <body onload="runtimer();"> 267 <table width="100%" cellpadding="10" cellspacing="0" border="0"> 268 <tr valign="top"> 269 <!-- removed left sidebar --> 270 <!--#if can="info"--> 271 <td class="TopPanel" colspan="2"> 272 <!--#else--> 273 <td class="TopPanel" > 274 <!--#endif--> 275 <div style="position:relative; width:100%;"> 276 <!--#if can="path"--> 277 <span class="Path"> 278 <!--#path style="text" image="/webwork2_files/images/right_arrow.png" text=" > "--> 279 </span> 280 <!--#endif--> 281 282 <!--#if loggedin="1"--> 283 <!--#if can="loginstatus"--> 284 285 <span class="LoginStatus"> 286 287 <!--#loginstatus--> 288 </span> 289 <!--#endif--> 290 <!--#endif--> 291 </div> 292 </td> 293 </tr> 294 <tr valign="top"> 295 <!--#if warnings="1"--> 296 <td class="ContentPanelError" bgcolor="#ffcccc"> 297 <!--#else--> 298 <td class="ContentPanel" bgcolor="#ffffff"> 299 <!--#endif--> 300 <!-- removed nav button to go up --> 301 <!--#if can="title"--> 302 <div class="Title"> 303 <!--#title--> 304 </div> 305 <!--#endif--> 306 <!--#if can="message"--> 307 <div class="Message"> 308 <!--#message--> 309 </div> 310 <!--#endif--> 311 312 <!--#if can="submiterror"--> 313 <div class="SubmitError"> 314 <!--#submiterror--> 315 </div> 316 <!--#endif--> 317 <!--#if can="body"--> 318 <div class="Body"> 319 <!--#body--> 320 </div> 321 <!--#endif--> 322 <!--#if warnings="1"--> 323 <hr> 324 <div class="Warnings"> 325 <!--#warnings--> 326 </div> 327 <!--#endif--> 328 <!--#if can="message"--> 329 <div class="Message"> 330 <!--#message--> 331 </div> 332 <!--#endif--> 333 </td> 334 <!--#if can="info"--> 335 <td class="InfoPanel"> 336 <div class="Info"> 337 <!--#info--> 338 </div> 339 </td> 340 <!--#endif--> 341 </tr> 342 <tr> 343 <td class = "Timestamp", colspan=3> 344 Updated: <!--#timestamp--> 345 </td> 346 </tr> 347 </table> 348 </body> 349 </html>
| aubreyja at gmail dot com | ViewVC Help |
| Powered by ViewVC 1.0.9 |