Annotation of rat/client/parameter.html, revision 1.13
1.1 www 1: <html>
2: <!--
3: The LearningOnline Network with CAPA
4: Parameter Input Window
1.7 www 5: 06/16/00,06/17,11/17,11/18,11/23,11/27,11/28,12/15,12/16,
1.10 www 6: 03/21/01,03/24,06/26 Gerd Kortemeyer
1.11 www 7: 07/24/01 Scott Harrison
1.12 www 8: 08/08 Gerd Kortemeyer
1.1 www 9: -->
10: <head>
11: <title>LON-CAPA</title>
12: </head>
13:
14: <script>
15:
16: var ptype='';
17: var pvalue='';
18: var preturn='';
19: var pcode='';
1.2 www 20: var pscat='';
21: var pmarker='';
1.1 www 22: var pname='';
23:
24: var svalue;
1.2 www 25: var stype;
26: var smarker;
1.1 www 27:
28: var vars=new Array();
29:
1.2 www 30: var cdate=new Date();
31:
32: var csec;
33: var cmin;
34: var chour;
35: var cday;
36:
37: var months=new Array();
38:
39:
1.1 www 40: function selwrite(text) {
41: this.window.selector.document.write(text);
42: }
43:
44: function choicestart() {
45: this.window.choices.document.clear();
46: choicewrite('<html><body bgcolor="#FFFFFF">');
47: }
48:
49: function choiceend() {
50: choicewrite('</body></html>');
51: this.window.choices.document.close();
52: }
53:
54: function choicewrite(text) {
55: this.window.choices.document.write(text);
56: }
57:
58: function tablestart(headtext) {
59: choicewrite('<table><tr bgcolor="#AAFFAA"><th colspan=3>'+
60: headtext+'</th></tr>');
61: }
62:
63: function valline(text,id1,id2) {
64: choicewrite('<tr bgcolor="#AAFFAA"><td>'+text+
65: '</td><td><input type=text size=4 name=val'+
66: id1+'></td><td>incl:<input type=checkbox name=val'+
67: id2+'></td></tr>');
68: }
69:
1.2 www 70: function datecalc() {
71: var sform=choices.document.forms.sch;
72:
73: cdate.setHours(sform.hours.options[sform.hours.selectedIndex].value);
74: cdate.setMinutes(sform.minutes.options[sform.minutes.selectedIndex].value);
75: cdate.setSeconds(sform.minutes.options[sform.seconds.selectedIndex].value);
76: cdate.setDate(sform.date.options[sform.date.selectedIndex].value);
77: cdate.setMonth(sform.month.options[sform.month.selectedIndex].value);
78: cdate.setFullYear(sform.year.options[sform.year.selectedIndex].value);
79:
80: draw();
81: }
82:
83: function hour() {
84: var thishour=cdate.getHours();
85: var i; var j;
86: choicewrite('<select name=hours onChange="parent.datecalc();">');
87: for (i=0;i<=23;i++) {
88: choicewrite('<option value='+i);
89: if (i==thishour) {
90: choicewrite(' selected');
91: }
92: choicewrite('>');
93: if (i==12) { choicewrite('noon'); } else {
94: if (i==0) { choicewrite('midnight') } else {
95:
96: if (i<12) { choicewrite(i+' am'); } else {
97: j=i-12; choicewrite(j+' pm');
98: }
99:
100: }
101: }
102: choicewrite('</option>');
103: }
104: choicewrite('</select>');
105: }
106:
107: function minute() {
108: var thisminutes=cdate.getMinutes();
109: var i;
110: choicewrite('<select name=minutes onChange="parent.datecalc();">');
111: for (i=0;i<=59;i++) {
112: choicewrite('<option value='+i);
113: if (i==thisminutes) {
114: choicewrite(' selected');
115: }
116: choicewrite('>'+i+'</option>');
117: }
118: choicewrite('</select>');
119: }
120:
121: function second() {
122: var thisseconds=cdate.getSeconds();
123: var i;
124: choicewrite('<select name=seconds onChange="parent.datecalc();">');
125: for (i=0;i<=59;i++) {
126: choicewrite('<option value='+i);
127: if (i==thisseconds) {
128: choicewrite(' selected');
129: }
130: choicewrite('>'+i+'</option>');
131: }
132: choicewrite('</select>');
133: }
134:
135:
136: function date() {
137: var thisdate=cdate.getDate();
138: var i;
139: choicewrite('<select name=date onChange="parent.datecalc();">');
140: for (i=1;i<=31;i++) {
141: choicewrite('<option value='+i);
142: if (i==thisdate) {
143: choicewrite(' selected');
144: }
145: choicewrite('>'+i+'</option>');
146: }
147: choicewrite('</select>');
148: }
149:
150: function year() {
151: var thisyear=cdate.getFullYear();
152: var i;
153: choicewrite('<select name=year onChange="parent.datecalc();">');
154: for (i=thisyear-25;i<=thisyear+50;i++) {
155: choicewrite('<option value='+i);
156: if (i==thisyear) {
157: choicewrite(' selected');
158: }
159: choicewrite('>'+i+'</option>');
160: }
161: choicewrite('</select>');
162: }
163:
164: function month() {
165: var thismonth=cdate.getMonth();
166: var i;
167: choicewrite('<select name=month onChange="parent.datecalc();">');
168: for (i=0;i<=11;i++) {
169: choicewrite('<option value='+i);
170: if (i==thismonth) {
171: choicewrite(' selected');
172: }
173: choicewrite('>'+months[i]+'</option>');
174: }
175: choicewrite('</select>');
176: }
177:
178:
179: function intminute() {
180: var thisminutes=cmins;
181: var i;
182: choicewrite('<select name=minutes onChange="parent.intcalc();">');
183: for (i=0;i<=59;i++) {
184: choicewrite('<option value='+i);
185: if (i==thisminutes) {
186: choicewrite(' selected');
187: }
188: choicewrite('>'+i+'</option>');
189: }
190: choicewrite('</select>');
191: }
192:
193: function inthour() {
194: var thishours=chours;
195: var i;
196: choicewrite('<select name=hours onChange="parent.intcalc();">');
197: for (i=0;i<=23;i++) {
198: choicewrite('<option value='+i);
199: if (i==thishours) {
200: choicewrite(' selected');
201: }
202: choicewrite('>'+i+'</option>');
203: }
204: choicewrite('</select>');
205: }
206:
207: function intsecond() {
208: var thisseconds=csecs;
209: var i;
210: choicewrite('<select name=seconds onChange="parent.intcalc();">');
211: for (i=0;i<=59;i++) {
212: choicewrite('<option value='+i);
213: if (i==thisseconds) {
214: choicewrite(' selected');
215: }
216: choicewrite('>'+i+'</option>');
217: }
218: choicewrite('</select>');
219: }
220:
221:
222: function intday() {
223: var thisdate=cdays;
224: var i;
225: choicewrite('<select name=date onChange="parent.intcalc();">');
226: for (i=0;i<=31;i++) {
227: choicewrite('<option value='+i);
228: if (i==thisdate) {
229: choicewrite(' selected');
230: }
231: choicewrite('>'+i+'</option>');
232: }
233: choicewrite('</select>');
234: }
235:
236: function intcalc() {
237: var sform=choices.document.forms.sch;
238: svalue=((sform.date.options[sform.date.selectedIndex].value*24+
239: sform.hours.options[sform.hours.selectedIndex].value*1)*60+
240: sform.minutes.options[sform.minutes.selectedIndex].value*1)*60+
241: sform.seconds.options[sform.seconds.selectedIndex].value*1;
242: draw();
243: }
244:
1.6 www 245: function integereval() {
246: svalue=choices.document.forms.sch.intval.value;
247: svalue=Math.round(svalue);
248: if (pscat=='zeropos') { svalue=Math.abs(svalue); }
249: if ((pscat=='pos') && (svalue==0)) {
250: svalue='';
251: }
1.12 www 252: if (pscat.indexOf('inrange')!=-1) {
1.10 www 253: var rangeparts=new Array;
254: rangeparts=split('_',pscat);
1.12 www 255: rangeparts=split(',',rangeparts[1]);
1.10 www 256: if (svalue<rangeparts[0]) { svalue=rangeparts[0]; }
257: if (svalue>rangeparts[1]) { svalue=rangeparts[1]; }
258: }
1.6 www 259: draw();
260: }
261:
262: function floateval() {
263: svalue=choices.document.forms.sch.floatval.value;
264: svalue=1.0*svalue;
265: if (pscat=='pos') { svalue=Math.abs(svalue); }
266: if ((pscat=='zeroone') && ((svalue<0) || (svalue>1))) {
267: svalue='';
268: }
269: draw();
270: }
271:
272: function stringeval() {
273: svalue=choices.document.forms.sch.stringval.value;
274: draw();
275: }
276:
1.2 www 277: function intervaldis() {
278: csecs=svalue;
279: cdays=Math.floor(csecs/86400);
280: csecs-=cdays*86400;
281: chours=Math.floor(csecs/3600);
282: csecs-=chours*3600;
283: cmins=Math.floor(csecs/60);
284: csecs-=cmins*60;
285: choicewrite(cdays+' days '+chours+' hours '
286: +cmins+' mins '+csecs+' secs');
287: }
288:
1.1 www 289: function draw() {
290: choicestart();
1.6 www 291: choicewrite('<form name=sch');
292: if (ptype=='int') {
293: choicewrite(' action="javascript:integereval();"');
294: }
295: if (ptype=='float') {
296: choicewrite(' action="javascript:floateval();"');
297: }
298: if (ptype=='string') {
299: choicewrite(' action="javascript:stringeval();"');
300: }
301: choicewrite('>');
1.1 www 302: if (ptype=='tolerance') {
1.2 www 303: // 0: pscat
304: if (pscat=='default') {
1.1 www 305: tablestart('Use default value or algorithm of resource');
306: }
1.2 www 307: if (pscat=='relative_sym') {
1.1 www 308: // 2: percentage
309: // 3: open
310: tablestart('Percentage error, symmetric around value');
311: valline('Percentage',2,3);
1.13 ! www 312: if ((svalue!='') && (typeof(svalue)!="undefined")) {
! 313: choices.document.forms.sch.val2.value=parseInt(svalue);
! 314: if (svalue.indexOf('+')!=-1) {
! 315: choices.document.forms.sch.val3.checked=true;
! 316: }
! 317: }
1.1 www 318: }
1.2 www 319: if (pscat=='relative') {
1.1 www 320: // 2: left
321: // 3: open
322: // 4: right
323: // 5: open
324: tablestart('Percentage error, asymmetric around value');
325: valline('Upper percentage',2,3);
326: valline('Lower percentage',4,5);
1.13 ! www 327: var range=new Array;
! 328: if ((svalue!='') && (typeof(svalue)!="undefined")) {
! 329: range=svalue.split(',');
! 330: if (typeof(range[1])=='undefined') { range[1]=range[0]; }
! 331: choices.document.forms.sch.val2.value=parseInt(range[0]);
! 332: if (range[0].indexOf('+')!=-1) {
! 333: choices.document.forms.sch.val3.checked=true;
! 334: }
! 335: choices.document.forms.sch.val4.value=parseInt(range[1]);
! 336: if (range[1].indexOf('+')!=-1) {
! 337: choices.document.forms.sch.val5.checked=true;
! 338: }
! 339: }
1.1 www 340: }
1.2 www 341: if (pscat=='absolute_sym') {
1.1 www 342: tablestart('Absolute error, symmetric around value');
343: valline('Value',2,3);
1.13 ! www 344: if ((svalue!='') && (typeof(svalue)!="undefined")) {
! 345: choices.document.forms.sch.val2.value=parseInt(svalue);
! 346: if (svalue.indexOf('+')!=-1) {
! 347: choices.document.forms.sch.val3.checked=true;
! 348: }
! 349: }
1.1 www 350: }
1.2 www 351: if (pscat=='absolute') {
1.1 www 352: tablestart('Absolute error, asymmetric around value');
353: valline('Upper value',2,3);
354: valline('Lower value',4,5);
1.13 ! www 355: var range=new Array;
! 356: if ((svalue!='') && (typeof(svalue)!="undefined")) {
! 357: range=svalue.split(',');
! 358: if (typeof(range[1])=='undefined') { range[1]=range[0]; }
! 359: choices.document.forms.sch.val2.value=parseInt(range[0]);
! 360: if (range[0].indexOf('+')!=-1) {
! 361: choices.document.forms.sch.val3.checked=true;
! 362: }
! 363: choices.document.forms.sch.val4.value=parseInt(range[1]);
! 364: if (range[1].indexOf('+')!=-1) {
! 365: choices.document.forms.sch.val5.checked=true;
! 366: }
! 367: }
1.1 www 368: }
1.2 www 369: if (pscat=='sigdigits') {
1.1 www 370: tablestart('Agreement on significant digits');
371: choicewrite('<tr bgcolor="#AAFFAA"><td colspan=3>Number of digits: '
372: +'<input type=text size=4 name=val2></td></tr>');
373:
1.6 www 374: choicewrite('<tr bgcolor="#AAFFAA"><td colspan=3>Accept if more digits given: '
1.1 www 375: +'<input type=checkbox name=val3></td></tr>');
376:
377: }
378: }
379:
380: if (ptype=='date') {
1.2 www 381: if (pscat=='default') {
382: tablestart('Default value or none');
383: choicewrite('</table>');
384: } else {
385: if (pscat=='start') {
386: tablestart('Starting or opening date and time');
387: }
388: if (pscat=='end') {
389: tablestart('Ending or closing date and time');
390: }
391: if (pscat=='interval') {
392: tablestart('Time interval');
393: choicewrite('<tr bgcolor="#AAFFAA"><td colspan=3>');
394: intervaldis();
395: choicewrite('</td></tr><tr bgcolor="#AAFFAA"><td>Time:'
396: +'</td><td colspan=2>');
397: intday();choicewrite('days ');
398: inthour();choicewrite('hours ');
399: intminute(); choicewrite('mins '); intsecond();
400: choicewrite('secs</td></tr></table>');
401: } else {
402: choicewrite('<tr bgcolor="#AAFFAA"><td colspan=3>'
403: +cdate.toString()+
404: '</td></tr><tr bgcolor="#AAFFAA"><td>Date:</td><td colspan=2>');
405: month();date();year();
406: choicewrite('</td></tr><tr bgcolor="#AAFFAA"><td>Time:'
407: +'</td><td colspan=2>');hour();choicewrite('h ');minute();
408: choicewrite('m ');second();
409: choicewrite('s</td></tr></table>');
410: }
411: }
1.1 www 412: }
413:
1.6 www 414: if (ptype=='int') {
415: if (pscat=='default') {
416: tablestart('Default value or none');
417: choicewrite('</table>');
418: } else {
419: if (pscat=='pos') {
420: tablestart('Positive (non-zero) integer');
421: }
422: if (pscat=='zeropos') {
423: tablestart('Positive integer or zero');
424: }
1.12 www 425: if (pscat.indexOf('inrange')!=-1) {
1.10 www 426: var rangeparts=new Array;
1.12 www 427: rangeparts=split(',',pscat);
1.10 www 428: tablestart('Integer in the range ['+rangeparts[1]+']');
429: }
1.12 www 430: if (pscat=='range') {
431: tablestart('Integer range');
432: }
1.6 www 433: if (pscat=='any') {
434: tablestart('Integer');
435: }
436: choicewrite('<tr bgcolor="#AAFFAA"><td>Value:</td><td colspan=2>');
437: choicewrite('<input name=intval size=10 value="'+svalue+
438: '" name=intval onChange="parent.integereval()">');
439: choicewrite('</td></table>');
440: }
1.1 www 441: }
442:
1.6 www 443: if (ptype=='float') {
444: if (pscat=='default') {
445: tablestart('Default value or none');
446: choicewrite('</table>');
447: } else {
448: if (pscat=='pos') {
449: tablestart('Positive floating point number or zero');
450: }
451: if (pscat=='zeroone') {
452: tablestart('Floating point number between zero and one');
453: }
454: if (pscat=='any') {
455: tablestart('Floating point number');
456: }
457: choicewrite('<tr bgcolor="#AAFFAA"><td>Value:</td><td colspan=2>');
458: choicewrite('<input name=floatval size=10 value="'+svalue+
459: '" name=floatval onChange="parent.floateval()">');
460: choicewrite('</td></table>');
461: }
1.1 www 462: }
463:
1.6 www 464: if (ptype=='string') {
465: if (pscat=='default') {
466: tablestart('Default value or none');
467: choicewrite('</table>');
468: } else {
469: if (pscat=='any') {
470: tablestart('Text');
471: }
472: choicewrite('<tr bgcolor="#AAFFAA"><td>Value:</td><td colspan=2>');
473: choicewrite('<input name=intval size=20 value="'+svalue+
474: '" name=stringval onChange="parent.stringeval()">');
475: choicewrite('</td></table>');
476: }
1.1 www 477: }
478:
479: choicewrite('</table></form>');
480: choiceend();
481: }
482:
483: function sopt(va,text) {
484: selwrite('<option value="'+va+'"');
1.2 www 485: if (va==pscat) {
1.1 www 486: selwrite(' selected');
487: }
488: selwrite('>'+text+'</option>');
489: }
490:
491: function catchange() {
492: var sform=selector.document.forms.fsel.fcat;
1.2 www 493: pscat=sform.options[sform.selectedIndex].value;
1.1 www 494: draw();
495: }
496:
497: function assemble() {
1.2 www 498: if ((ptype=='date') && (pscat!='interval')) {
499: svalue=Math.round(cdate.getTime()/1000);
500: }
1.12 www 501: if (ptype=='tolerance') {
502: if (pscat=='relative_sym') {
503: svalue=choices.document.forms.sch.val2.value+'%';
504: if (choices.document.forms.sch.val3.checked) {
505: svalue+='+';
506: }
507: }
508: if (pscat=='absolute_sym') {
509: svalue=choices.document.forms.sch.val2.value;
510: if (choices.document.forms.sch.val3.checked) {
511: svalue+='+';
512: }
513: }
514: if (pscat=='absolute') {
515: svalue=choices.document.forms.sch.val2.value;
516: if (choices.document.forms.sch.val3.checked) {
517: svalue+='+';
518: }
519: svalue+=','+choices.document.forms.sch.val4.value;
520: if (choices.document.forms.sch.val5.checked) {
521: svalue+='+';
522: }
523: }
524: if (pscat=='relative') {
525: svalue=choices.document.forms.sch.val2.value+'%';
526: if (choices.document.forms.sch.val3.checked) {
527: svalue+='+';
528: }
529: svalue+=','+choices.document.forms.sch.val4.value+'%';
530: if (choices.document.forms.sch.val5.checked) {
531: svalue+='+';
532: }
533: }
534: }
1.6 www 535: if (pscat=='default') { svalue=''; }
1.2 www 536: stype=ptype+'_'+pscat;
1.1 www 537: }
538:
539:
540: function init() {
541: var i;
1.2 www 542: var subs=new Array();
1.1 www 543: var namevalue=this.window.location.search.split('&');
544: namevalue[0]=namevalue[0].substr(1,namevalue[0].length-1);
545:
546: for (i=0;i<namevalue.length;i++) {
547: var pair=namevalue[i].split('=');
1.3 www 548: pair[1]=unescape(pair[1]);
1.1 www 549: if (pair[0]=='value') { pvalue=pair[1]; }
1.2 www 550: if (pair[0]=='type') { subs=pair[1].split('_');
551: ptype=subs[0];
552: pscat=subs[1];
1.11 www 553: if (typeof(subs[2])!="undefined") {
554: pscat+='_'+subs[2];
555: }
556: if ((pscat=='') || (typeof(pscat)=="undefined")) {
1.6 www 557: pscat='default';
558: }
1.2 www 559: }
1.1 www 560: if (pair[0]=='return') { preturn=pair[1]; }
561: if (pair[0]=='call') { pcode=pair[1]; }
1.2 www 562: if (pair[0]=='marker') { pmarker=pair[1]; }
1.1 www 563: if (pair[0]=='name') { pname=pair[1]; }
564: }
565:
566: svalue=pvalue;
1.6 www 567: if (((ptype=='float') || (ptype=='string') || (ptype=='int')) &&
568: (pscat=='default') &&
1.11 www 569: (typeof(svalue)!="undefined") &&
570: (svalue!=0) && (svalue!='')) { pscat='any'; }
1.1 www 571:
1.13 ! www 572: if (ptype=='tolerance') {
! 573: var tperc=0;
! 574: var trange=0;
! 575: if (typeof(svalue)!='undefined') {
! 576: if (svalue.indexOf('%')!=-1) { tperc=1; }
! 577: if (svalue.indexOf(',')!=-1) { trange=1; }
! 578: if (trange) {
! 579: if (tperc) { pscat='relative'; } else { pscat='absolute'; }
! 580: } else {
! 581: if (tperc) { pscat='relative_sym'; } else { pscat='absolute_sym'; }
! 582: }
! 583: }
! 584: }
! 585:
1.1 www 586: this.window.selector.document.clear();
587: selwrite('<html><body bgcolor="#FFFFFF">');
588:
1.8 www 589: selwrite('<form name="fsel"><b>'+pname+'</b><br>');
1.1 www 590: selwrite('<select name="fcat" onChange="parent.catchange();">');
1.12 www 591:
1.1 www 592: if (ptype=='tolerance') {
593: sopt('default','Default');
594: sopt('relative_sym','Relative Tolerance, Symmetric (percent)');
595: sopt('relative','Relative Tolerance (percentages)');
596: sopt('absolute_sym','Absolute Tolerance, Symmetric (value)');
597: sopt('absolute','Absolute Tolerance (values)');
598: }
599:
600: if (ptype=='date') {
601: sopt('default','Default');
602: sopt('start','Starting Date');
603: sopt('end','Ending Date');
1.2 www 604: sopt('interval','Time Interval');
605:
1.11 www 606: if ((pvalue!='') && (typeof(pvalue)!="undefined")) {
1.2 www 607: cdate.setTime(pvalue*1000);
608: }
609:
610: months[0]='January';
611: months[1]='February';
612: months[2]='March';
613: months[3]='April';
614: months[4]='May';
615: months[5]='June';
616: months[6]='July';
617: months[7]='August';
618: months[8]='September';
619: months[9]='October';
620: months[10]='November';
621: months[11]='December';
1.1 www 622: }
1.2 www 623:
1.6 www 624: if (ptype=='int') {
625: sopt('default','Default');
626: sopt('pos','Positive Integer, Not Zero');
627: sopt('zeropos','Positive Integer or Zero');
1.13 ! www 628: sopt('inrange','Integer in Range');
! 629: sopt('range','Range of Integers');
1.6 www 630: sopt('any','Integer');
1.1 www 631: }
632:
1.6 www 633: if (ptype=='float') {
634: sopt('default','Default');
635: sopt('zeroone','Floating Point between 0 and 1');
636: sopt('pos','Positive Floating Point');
637: sopt('any','Floating Point');
1.1 www 638:
639: }
640:
1.6 www 641: if (ptype=='string') {
642: sopt('default','Default');
643: sopt('string','String Value');
1.1 www 644: }
645:
646: selwrite('</select></form>');
647:
1.2 www 648: selwrite('<a href="javascript:parent.assemble();');
1.1 www 649: if (preturn!='') {
1.4 www 650: selwrite(
651: 'parent.opener.document.'+preturn+'_value.value=parent.window.svalue;');
652: selwrite(
653: 'parent.opener.document.'+preturn+'_type.value=parent.window.stype;');
1.2 www 654: }
655: if (pmarker!='') {
1.4 www 656: selwrite(
657: 'parent.opener.document.'+preturn+'_marker.value=parent.window.pmarker;');
1.1 www 658: }
659: if (pcode!='') {
1.4 www 660: selwrite('parent.opener.'+pcode+'();');
1.1 www 661: }
1.4 www 662: selwrite('">Store</a> ');
1.5 www 663:
664: selwrite('<a href="javascript:');
665: selwrite(
666: 'parent.opener.document.'+preturn+'_value.value='+"'';");
667: if (pmarker!='') {
668: selwrite(
669: 'parent.opener.document.'+preturn+'_marker.value=parent.window.pmarker;');
670: }
671: if (pcode!='') {
672: selwrite('parent.opener.'+pcode+'();');
673: }
674: selwrite('">Delete</a> ');
1.4 www 675:
676: selwrite('<a href="javascript:');
677: if (preturn!='') {
678: selwrite('parent.opener.document.'+preturn+'_value.value='+"'';");
679: selwrite('parent.opener.document.'+preturn+'_type.value='+"'';");
680: }
681: if (pmarker!='') {
682: selwrite('parent.opener.document.'+preturn+'_marker.value='+"'';");
683: }
684: if (pcode!='') {
685: selwrite('parent.opener.'+pcode+'();');
686: }
687: selwrite('">Cancel</a>');
1.1 www 688:
689: selwrite('</body></html>');
690: this.window.selector.document.close();
1.2 www 691: draw();
1.1 www 692:
693: }
694:
695: </script>
696:
1.2 www 697: <frameset rows="120,*" onLoad="init();">
1.1 www 698: <frame name=selector src="empty.html">
699: <frame name=choices src="empty.html">
700: </frameset>
701:
702:
703:
704: </html>
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>