version 1.1, 2000/06/28 03:41:48
|
version 1.56.2.1, 2010/05/17 22:41:02
|
Line 1
|
Line 1
|
<html> |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" |
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> |
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> |
<!-- |
<!-- |
The LearningOnline Network with CAPA |
The LearningOnline Network with CAPA |
Parameter Input Window |
Parameter Input Window |
06/16/00,06/17 Gerd Kortemeyer |
// |
|
// $Id$ |
|
// |
|
// Copyright Michigan State University Board of Trustees |
|
// |
|
// This file is part of the LearningOnline Network with CAPA (LON-CAPA). |
|
// |
|
// LON-CAPA is free software; you can redistribute it and/or modify |
|
// it under the terms of the GNU General Public License as published by |
|
// the Free Software Foundation; either version 2 of the License, or |
|
// (at your option) any later version. |
|
// |
|
// LON-CAPA is distributed in the hope that it will be useful, |
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
// GNU General Public License for more details. |
|
// |
|
// You should have received a copy of the GNU General Public License |
|
// along with LON-CAPA; if not, write to the Free Software |
|
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
|
// |
|
// /home/httpd/html/adm/gpl.txt |
|
// |
|
// http://www.lon-capa.org/ |
|
// |
--> |
--> |
<head> |
<head> |
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
<title>LON-CAPA</title> |
<title>LON-CAPA</title> |
</head> |
|
|
|
<script> |
<script type="text/javascript"> |
|
// <![CDATA[ |
|
|
var ptype=''; |
var ptype=''; |
var pvalue=''; |
var pvalue=''; |
var preturn=''; |
var preturn=''; |
var pcode=''; |
var pcode=''; |
var poptions=''; |
var pscat=''; |
|
var pmarker=''; |
var pname=''; |
var pname=''; |
|
|
|
var defhour=0; |
|
var defmin=0; |
|
var defsec=0; |
|
|
var svalue; |
var svalue; |
|
var stype; |
|
var smarker; |
|
|
var scat; |
|
var vars=new Array(); |
var vars=new Array(); |
|
|
|
var cdate=new Date(); |
|
|
|
var csec; |
|
var cmin; |
|
var chour; |
|
var cday; |
|
|
|
var months=new Array(); |
|
|
|
|
function selwrite(text) { |
function selwrite(text) { |
this.window.selector.document.write(text); |
this.window.selector.document.write(text); |
} |
} |
|
|
function choicestart() { |
function choicestart() { |
this.window.choices.document.clear(); |
this.window.choices.document.clear(); |
choicewrite('<html><body bgcolor="#FFFFFF">'); |
choicewrite('<html><body>'); |
|
choicewrite('<head>'); |
|
choicewrite('<style type="text/css">'); |
|
choicewrite('<!--'); |
|
choicewrite('body {'); |
|
choicewrite('font-family: Verdana,Arial,Helvetica,sans-serif;'); |
|
choicewrite('line-height:130%;'); |
|
choicewrite('font-size:0.83em;'); |
|
choicewrite('background: #FFFFFF;'); |
|
choicewrite('}'); |
|
choicewrite('table.LC_parmsel_table {font-size: 90%;}'); |
|
choicewrite('table.LC_parmsel_table tr td { padding: 5px; border: 1px solid #C8C8C8;}'); |
|
choicewrite('-->'); |
|
choicewrite('</style>'); |
|
choicewrite('</head>'); |
} |
} |
|
|
function choiceend() { |
function choiceend() { |
Line 41 function choicewrite(text) {
|
Line 98 function choicewrite(text) {
|
} |
} |
|
|
function tablestart(headtext) { |
function tablestart(headtext) { |
choicewrite('<table><tr bgcolor="#AAFFAA"><th colspan=3>'+ |
choicewrite('<table class="LC_parmsel_table"><tr bgcolor="#C5DB99"><th colspan="3">'+ |
headtext+'</th></tr>'); |
headtext+'</th></tr>'); |
} |
} |
|
|
function valline(text,id1,id2) { |
function valline(text,id1,id2) { |
choicewrite('<tr bgcolor="#AAFFAA"><td>'+text+ |
choicewrite('<tr><td>'+text+ |
'</td><td><input type=text size=4 name=val'+ |
'</td><td><input type="text" size="4" name="val'+ |
id1+'></td><td>incl:<input type=checkbox name=val'+ |
id1+'" /></td><td>incl:<input type="checkbox" name="val'+ |
id2+'></td></tr>'); |
id2+'" /></td></tr>'); |
|
} |
|
|
|
function escapeHTML(text) { |
|
text = text.replace(/&/g, '&'); |
|
text = text.replace(/"/g, '"'); |
|
text = text.replace(/</g, '<'); |
|
text = text.replace(/>/g, '>'); |
|
return text; |
|
} |
|
|
|
function datecalc() { |
|
var sform=choices.document.forms.sch; |
|
|
|
cdate.setHours(sform.hours.options[sform.hours.selectedIndex].value); |
|
cdate.setMinutes(sform.minutes.options[sform.minutes.selectedIndex].value); |
|
cdate.setSeconds(sform.minutes.options[sform.seconds.selectedIndex].value); |
|
cdate.setDate(sform.date.options[sform.date.selectedIndex].value); |
|
cdate.setMonth(sform.month.options[sform.month.selectedIndex].value); |
|
cdate.setFullYear(sform.year.options[sform.year.selectedIndex].value); |
|
|
|
draw(); |
|
} |
|
|
|
function hour() { |
|
var thishour=cdate.getHours(); |
|
var i; var j; |
|
choicewrite('<select name="hours" onchange="parent.datecalc();">'); |
|
for (i=0;i<=23;i++) { |
|
choicewrite('<option value="'+i+'"'); |
|
if (i==thishour) { |
|
choicewrite(' selected="selected"'); |
|
} |
|
choicewrite('>'); |
|
if (i==12) { choicewrite('noon'); } else { |
|
if (i==0) { choicewrite('midnight') } else { |
|
|
|
if (i<12) { choicewrite(i+' am'); } else { |
|
j=i-12; choicewrite(j+' pm'); |
|
} |
|
|
|
} |
|
} |
|
choicewrite('</option>'); |
|
} |
|
choicewrite('</select>'); |
|
} |
|
|
|
function minute() { |
|
var thisminutes=cdate.getMinutes(); |
|
var i; |
|
choicewrite('<select name="minutes" onchange="parent.datecalc();">'); |
|
for (i=0;i<=59;i++) { |
|
choicewrite('<option value="'+i+'"'); |
|
if (i==thisminutes) { |
|
choicewrite(' selected="selected"'); |
|
} |
|
choicewrite('>'+i+'</option>'); |
|
} |
|
choicewrite('</select>'); |
|
} |
|
|
|
function second() { |
|
var thisseconds=cdate.getSeconds(); |
|
var i; |
|
choicewrite('<select name="seconds" onchange="parent.datecalc();">'); |
|
for (i=0;i<=59;i++) { |
|
choicewrite('<option value="'+i+'"'); |
|
if (i==thisseconds) { |
|
choicewrite(' selected="selected"'); |
|
} |
|
choicewrite('>'+i+'</option>'); |
|
} |
|
choicewrite('</select>'); |
|
} |
|
|
|
|
|
function date() { |
|
var thisdate=cdate.getDate(); |
|
var i; |
|
choicewrite('<select name="date" onchange="parent.datecalc();">'); |
|
for (i=1;i<=31;i++) { |
|
choicewrite('<option value="'+i+'"'); |
|
if (i==thisdate) { |
|
choicewrite(' selected="selected"'); |
|
} |
|
choicewrite('>'+i+'</option>'); |
|
} |
|
choicewrite('</select>'); |
|
} |
|
|
|
function year() { |
|
var thisyear=cdate.getFullYear(); |
|
var nowdate=new Date(); |
|
var nowyear=nowdate.getFullYear(); |
|
if ( !thisyear ) { thisyear=nowyear; } |
|
var loweryear=thisyear-2; |
|
var upperyear=thisyear+5; |
|
if (thisyear>nowyear) { loweryear=nowyear-2; } |
|
if (thisyear<nowyear) { upperyear=nowyear+5; } |
|
var i; |
|
choicewrite('<select name="year" onchange="parent.datecalc();">'); |
|
for (i=loweryear;i<=upperyear;i++) { |
|
choicewrite('<option value="'+i+'"'); |
|
if (i==thisyear) { |
|
choicewrite(' selected="selected"'); |
|
} |
|
choicewrite('>'+i+'</option>'); |
|
} |
|
choicewrite('</select>'); |
|
} |
|
|
|
function month() { |
|
var thismonth=cdate.getMonth(); |
|
var i; |
|
choicewrite('<select name="month" onchange="parent.datecalc();">'); |
|
for (i=0;i<=11;i++) { |
|
choicewrite('<option value="'+i+'"'); |
|
if (i==thismonth) { |
|
choicewrite(' selected="selected"'); |
|
} |
|
choicewrite('>'+months[i]+'</option>'); |
|
} |
|
choicewrite('</select>'); |
|
} |
|
|
|
|
|
function intminute() { |
|
var thisminutes=cmins; |
|
var i; |
|
choicewrite('<select name="minutes" onchange="parent.intcalc();">'); |
|
for (i=0;i<=59;i++) { |
|
choicewrite('<option value="'+i+'"'); |
|
if (i==thisminutes) { |
|
choicewrite(' selected="selected"'); |
|
} |
|
choicewrite('>'+i+'</option>'); |
|
} |
|
choicewrite('</select>'); |
|
} |
|
|
|
function inthour() { |
|
var thishours=chours; |
|
var i; |
|
choicewrite('<select name="hours" onchange="parent.intcalc();">'); |
|
for (i=0;i<=23;i++) { |
|
choicewrite('<option value="'+i+'"'); |
|
if (i==thishours) { |
|
choicewrite(' selected="selected"'); |
|
} |
|
choicewrite('>'+i+'</option>'); |
|
} |
|
choicewrite('</select>'); |
|
} |
|
|
|
function intsecond() { |
|
var thisseconds=csecs; |
|
var i; |
|
choicewrite('<select name="seconds" onchange="parent.intcalc();">'); |
|
for (i=0;i<=59;i++) { |
|
choicewrite('<option value="'+i+'"'); |
|
if (i==thisseconds) { |
|
choicewrite(' selected="selected"'); |
|
} |
|
choicewrite('>'+i+'</option>'); |
|
} |
|
choicewrite('</select>'); |
|
} |
|
|
|
|
|
function intday() { |
|
var thisdate=cdays; |
|
var i; |
|
choicewrite('<select name="date" onchange="parent.intcalc();">'); |
|
for (i=0;i<=31;i++) { |
|
choicewrite('<option value="'+i+'"'); |
|
if (i==thisdate) { |
|
choicewrite(' selected="selected"'); |
|
} |
|
choicewrite('>'+i+'</option>'); |
|
} |
|
choicewrite('</select>'); |
|
} |
|
|
|
function intcalc() { |
|
var sform=choices.document.forms.sch; |
|
svalue=((sform.date.options[sform.date.selectedIndex].value*24+ |
|
sform.hours.options[sform.hours.selectedIndex].value*1)*60+ |
|
sform.minutes.options[sform.minutes.selectedIndex].value*1)*60+ |
|
sform.seconds.options[sform.seconds.selectedIndex].value*1; |
|
draw(); |
|
} |
|
|
|
function integereval() { |
|
svalue=choices.document.forms.sch.intval.value; |
|
svalue=Math.round(svalue); |
|
if (pscat=='zeropos') { svalue=Math.abs(svalue); } |
|
if ((pscat=='pos') && (svalue==0)) { |
|
svalue=''; |
|
} |
|
if (pscat.indexOf('inrange')!=-1) { |
|
var rangeparts=new Array; |
|
rangeparts=split('_',pscat); |
|
rangeparts=split(',',rangeparts[1]); |
|
if (svalue<rangeparts[0]) { svalue=rangeparts[0]; } |
|
if (svalue>rangeparts[1]) { svalue=rangeparts[1]; } |
|
} |
|
draw(); |
} |
} |
|
|
function afterproc() { |
function floateval() { |
choicewrite('<tr bgcolor="#AAFFAA"><td colspan=3>Error after rounding: ' |
svalue=choices.document.forms.sch.floatval.value; |
+'<input type=checkbox name=val1></td></tr>'); |
svalue=1.0*svalue; |
|
if (pscat=='pos') { svalue=Math.abs(svalue); } |
|
if ((pscat=='zeroone') && ((svalue<0) || (svalue>1))) { |
|
svalue=''; |
|
} |
|
draw(); |
} |
} |
|
|
|
function stringeval() { |
|
svalue=choices.document.forms.sch.stringval.value; |
|
draw(); |
|
} |
|
|
|
function radiostringeval(newval) { |
|
svalue=newval; |
|
draw(); |
|
} |
|
|
|
function callradiostringeval(newval) { |
|
return 'onchange="parent.radiostringeval(\'' |
|
+newval+'\')" onclick="parent.radiostringeval(\'' |
|
+newval+'\')"'; |
|
} |
|
|
|
function intervaldis() { |
|
csecs=svalue; |
|
cdays=Math.floor(csecs/86400); |
|
csecs-=cdays*86400; |
|
chours=Math.floor(csecs/3600); |
|
csecs-=chours*3600; |
|
cmins=Math.floor(csecs/60); |
|
csecs-=cmins*60; |
|
choicewrite(cdays+' days '+chours+' hours ' |
|
+cmins+' mins '+csecs+' secs'); |
|
} |
|
|
|
function pickcolor(picked) { |
|
svalue=picked; |
|
draw(); |
|
} |
|
|
|
function colorfield(ir,ig,ib) { |
|
var col=new Array; |
|
col=["00","11","22","44","66","88","AA","CC","DD","EE","FF"]; |
|
var color='#'+col[ir]+col[ig]+col[ib]; |
|
var selection="<font color='"+color+"'>X</font>"; |
|
if (color==svalue) { selection="<font color='#"+col[10-ir]+col[10-ig]+col[10-ib]+"'>X</font>"; } |
|
choicewrite('<td bgcolor="'+color+'"><a href="javascript:parent.pickcolor('+"'"+ |
|
color+"'"+')">'+selection+'</a></td>'); |
|
|
|
} |
|
|
function draw() { |
function draw() { |
choicestart(); |
choicestart(); |
choicewrite('<form name=sch>'); |
choicewrite('<form name="sch"'); |
|
if (ptype=='int') { |
|
choicewrite(' action="javascript:integereval();"'); |
|
} |
|
if (ptype=='float') { |
|
choicewrite(' action="javascript:floateval();"'); |
|
} |
|
if (ptype=='string') { |
|
choicewrite(' action="javascript:stringeval();"'); |
|
} |
|
choicewrite('>'); |
if (ptype=='tolerance') { |
if (ptype=='tolerance') { |
// 0: scat |
// 0: pscat |
// 1: after processing |
if (pscat=='default') { |
if (scat=='default') { |
|
tablestart('Use default value or algorithm of resource'); |
tablestart('Use default value or algorithm of resource'); |
} |
} |
if (scat=='exact') { |
if (pscat=='relative_sym') { |
tablestart('Accept only exact value, zero tolerance'); |
|
afterproc(); |
|
} |
|
if (scat=='relative_sym') { |
|
// 2: percentage |
// 2: percentage |
// 3: open |
// 3: open |
tablestart('Percentage error, symmetric around value'); |
tablestart('Percentage error, symmetric around value'); |
valline('Percentage',2,3); |
valline('Percentage',2,3); |
afterproc(); |
if ((svalue!='') && (typeof(svalue)!="undefined")) { |
|
choices.document.forms.sch.val2.value=parseInt(svalue); |
|
if (svalue.indexOf('+')!=-1) { |
|
choices.document.forms.sch.val3.checked=true; |
|
} |
|
} |
} |
} |
if (scat=='relative') { |
if (pscat=='relative') { |
// 2: left |
// 2: left |
// 3: open |
// 3: open |
// 4: right |
// 4: right |
Line 85 function draw() {
|
Line 408 function draw() {
|
tablestart('Percentage error, asymmetric around value'); |
tablestart('Percentage error, asymmetric around value'); |
valline('Upper percentage',2,3); |
valline('Upper percentage',2,3); |
valline('Lower percentage',4,5); |
valline('Lower percentage',4,5); |
afterproc(); |
var range1=new Array; |
|
if ((svalue!='') && (typeof(svalue)!="undefined")) { |
|
range1=svalue.split(','); |
|
if (typeof(range1[1])=='undefined') { range1[1]=range1[0]; } |
|
choices.document.forms.sch.val2.value=parseFloat(range1[0]); |
|
if (range1[0].indexOf('+')!=-1) { |
|
choices.document.forms.sch.val3.checked=true; |
|
} |
|
choices.document.forms.sch.val4.value=parseFloat(range1[1]); |
|
if (range1[1].indexOf('+')!=-1) { |
|
choices.document.forms.sch.val5.checked=true; |
|
} |
|
} |
} |
} |
if (scat=='absolute_sym') { |
if (pscat=='absolute_sym') { |
tablestart('Absolute error, symmetric around value'); |
tablestart('Absolute error, symmetric around value'); |
valline('Value',2,3); |
valline('Value',2,3); |
afterproc(); |
if ((svalue!='') && (typeof(svalue)!="undefined")) { |
|
choices.document.forms.sch.val2.value=parseFloat(svalue); |
|
if (svalue.indexOf('+')!=-1) { |
|
choices.document.forms.sch.val3.checked=true; |
|
} |
|
} |
} |
} |
if (scat=='absolute') { |
if (pscat=='absolute') { |
tablestart('Absolute error, asymmetric around value'); |
tablestart('Absolute error, asymmetric around value'); |
valline('Upper value',2,3); |
valline('Upper value',2,3); |
valline('Lower value',4,5); |
valline('Lower value',4,5); |
afterproc(); |
var range2=new Array; |
} |
if ((svalue!='') && (typeof(svalue)!="undefined")) { |
if (scat=='sigdigits') { |
range=svalue.split(','); |
tablestart('Agreement on significant digits'); |
if (typeof(range2[1])=='undefined') { range2[1]=range2[0]; } |
choicewrite('<tr bgcolor="#AAFFAA"><td colspan=3>Number of digits: ' |
choices.document.forms.sch.val2.value=parseFloat(range2[0]); |
+'<input type=text size=4 name=val2></td></tr>'); |
if (range2[0].indexOf('+')!=-1) { |
|
choices.document.forms.sch.val3.checked=true; |
choicewrite('<tr bgcolor="#AAFFAA"><td colspan=3>Accept if more digits given: ' |
} |
+'<input type=checkbox name=val3></td></tr>'); |
choices.document.forms.sch.val4.value=parseFloat(range2[1]); |
|
if (range2[1].indexOf('+')!=-1) { |
|
choices.document.forms.sch.val5.checked=true; |
|
} |
|
} |
} |
} |
} |
} |
|
|
if (ptype=='date') { |
if (ptype=='date') { |
choicewrite(''); |
if (pscat=='default') { |
|
tablestart('Default value or none'); |
|
choicewrite('</table>'); |
|
} else { |
|
if (pscat=='start') { |
|
tablestart('Date and time'); |
|
} |
|
if (pscat=='end') { |
|
tablestart('Date and time'); |
|
} |
|
if (pscat=='interval') { |
|
tablestart('Time interval'); |
|
choicewrite('<tr><td colspan="3">'); |
|
intervaldis(); |
|
choicewrite('</td></tr><tr><td>Time:' |
|
+'</td><td colspan="2">'); |
|
intday();choicewrite('days '); |
|
inthour();choicewrite('hours '); |
|
intminute(); choicewrite('mins '); intsecond(); |
|
choicewrite('secs</td></tr></table>'); |
|
} else { |
|
choicewrite('<tr><td colspan="3">' |
|
+cdate.toString()+ |
|
'</td></tr><tr><td>Date:</td><td colspan="2">'); |
|
month();date();year(); |
|
choicewrite('</td></tr><tr><td>Time:' |
|
+'</td><td colspan="2">');hour();choicewrite('h ');minute(); |
|
choicewrite('m ');second(); |
|
choicewrite('s</td></tr></table>'); |
|
} |
|
} |
} |
} |
|
|
if (ptype=='value') { |
if (ptype=='int') { |
|
var pscatparts=new Array; |
|
pscatparts=pscat.split(','); |
|
pscat=pscatparts[0]; |
|
if (pscat=='default') { |
|
tablestart('Default value or none'); |
|
choicewrite('</table>'); |
|
} else { |
|
if (pscat=='range') { |
|
tablestart('Integer range'); |
|
choicewrite('<tr><td>Lower Value:'+ |
|
'</td><td colspan="2"><input type="text" size="4" name="val2'+ |
|
'" /></td></tr>'); |
|
choicewrite('<tr><td>Upper Value:'+ |
|
'</td><td colspan="2"><input type="text" size="4" name="val4'+ |
|
'" /></td></tr></table>'); |
|
var range=new Array; |
|
if ((svalue!='') && (typeof(svalue)!="undefined")) { |
|
range=svalue.split(','); |
|
if (typeof(range[1])=='undefined') { range[1]=range[0]; } |
|
choices.document.forms.sch.val2.value=parseInt(range[0]); |
|
choices.document.forms.sch.val4.value=parseInt(range[1]); |
|
} |
|
} else { |
|
if (pscat=='pos') { |
|
tablestart('Positive (non-zero) integer'); |
|
} |
|
if (pscat=='zeropos') { |
|
tablestart('Positive integer or zero'); |
|
} |
|
if (pscat.indexOf('inrange')!=-1) { |
|
var rangeparts=new Array; |
|
rangeparts=split(',',pscat); |
|
tablestart('Integer in the range ['+rangeparts[1]+']'); |
|
} |
|
if (pscat=='any') { |
|
tablestart('Integer'); |
|
} |
|
choicewrite('<tr><td>Value:</td><td colspan="2">'); |
|
choicewrite('<input name="intval" size="10" value="'+escapeHTML(svalue)+ |
|
'" onchange="parent.integereval()" />'); |
|
choicewrite('</td></tr></table>'); |
|
} |
|
} |
} |
} |
|
|
if (ptype=='truefalse') { |
if (ptype=='float') { |
|
if (pscat=='default') { |
|
tablestart('Default value or none'); |
|
choicewrite('</table>'); |
|
} else { |
|
if (pscat=='pos') { |
|
tablestart('Positive floating point number or zero'); |
|
} |
|
if (pscat=='zeroone') { |
|
tablestart('Floating point number between zero and one'); |
|
} |
|
if (pscat=='any') { |
|
tablestart('Floating point number'); |
|
} |
|
choicewrite('<tr><td>Value:</td><td colspan="2">'); |
|
choicewrite('<input name="floatval" size="10" value="'+escapeHTML(svalue)+ |
|
'" onchange="parent.floateval()" />'); |
|
choicewrite('</td></tr></table>'); |
|
} |
} |
} |
|
|
if (ptype=='check') { |
if (ptype=='string') { |
|
if ((pscat=='any') || (pscat=='') || (pscat=='default') || |
|
(typeof(pscat)=='undefined')) { |
|
tablestart('Text'); |
|
choicewrite('<tr><td>Value:</td><td colspan="2">'); |
|
choicewrite('<input name="stringval" size="20" value="'+escapeHTML(svalue)+ |
|
'" type="text" onchange="parent.stringeval()" />'); |
|
} |
|
if (pscat=='yesno') { |
|
tablestart('Yes/No'); |
|
choicewrite('<tr><td>Value:</td><td colspan="2">'); |
|
choicewrite('<label><input name="stringval" value="yes"'+ |
|
' type="radio" '+callradiostringeval('yes')); |
|
if (svalue=='yes') { choicewrite(' checked="checked"'); } |
|
choicewrite(' /> Yes</label><br />'); |
|
choicewrite('<label><input name="stringval" value="no"'+ |
|
' type="radio" '+callradiostringeval('no')); |
|
if (svalue=='no') { choicewrite(' checked="checked"'); } |
|
choicewrite(' /> No</label><br />'); |
|
} |
|
if (pscat=='problemstatus') { |
|
tablestart('Problem Status'); |
|
choicewrite('<tr><td>Value:</td><td colspan="2">'); |
|
choicewrite('<label><input name="stringval" value="yes"'+ |
|
' type="radio" '+callradiostringeval('yes')); |
|
if (svalue=='yes') { choicewrite(' checked="checked"'); } |
|
choicewrite(' /> Yes</label><br />'); |
|
choicewrite('<label><input name="stringval" value="answer"'+ |
|
' type="radio" '+callradiostringeval('answer')); |
|
if (svalue=='answer') { choicewrite(' checked="checked"'); } |
|
choicewrite(' /> Yes, and show correct answer if they exceed the maximum number of tries.</label><br />'); |
|
choicewrite('<label><input name="stringval" value="no"'+ |
|
' type="radio" '+callradiostringeval('no')); |
|
if (svalue=='no') { choicewrite(' checked="checked"'); } |
|
choicewrite(' /> No, don\'t show correct/incorrect feedback.</label><br />'); |
|
choicewrite('<label><input name="stringval" value="no_feedback_ever"'+ |
|
' type="radio" '+callradiostringeval('no_feedback_ever')); |
|
if (svalue=='no_feedback_ever') { choicewrite(' checked="checked"'); } |
|
choicewrite(' /> No, show no feedback at all.</label><br />'); |
|
} |
|
if (pscat=='examtype') { |
|
tablestart('Exam Type'); |
|
choicewrite('<tr><td>Value:</td><td colspan="2">'); |
|
choicewrite('<label><input name="stringval" value="online"'+ |
|
' type="radio" '+callradiostringeval('online')); |
|
if (svalue=='online') { choicewrite(' checked="checked"'); } |
|
choicewrite(' /> Online</label><br />'); |
|
choicewrite('<label><input name="stringval" value="checkout"'+ |
|
' type="radio" '+callradiostringeval('checkout')); |
|
if (svalue=='checkout') { choicewrite(' checked="checked"'); } |
|
choicewrite(' /> Check out</label><br />'); |
|
} |
|
if (pscat=='questiontype') { |
|
tablestart('Question Type'); |
|
choicewrite('<tr><td>Value:</td><td colspan="2">'); |
|
choicewrite('<label><input name="stringval" value="problem"'+ |
|
' type="radio" '+callradiostringeval('problem')); |
|
if (svalue=='problem') { choicewrite(' checked="checked"'); } |
|
choicewrite(' /> Standard Problem</label><br />'); |
|
// choicewrite('<label><input name="stringval" value="quiz"'+ |
|
// ' type="radio" '+callradiostringeval('quiz')); |
|
// if (svalue=='quiz') { choicewrite(' checked="checked"'); } |
|
// choicewrite(' /> Quiz</label><br />'); |
|
choicewrite('<label><input name="stringval" value="practice"'+ |
|
' type="radio" '+callradiostringeval('practice')); |
|
if (svalue=='practice') { choicewrite(' checked="checked"'); } |
|
choicewrite(' /> Practice</label><br />'); |
|
choicewrite('<label><input name="stringval" value="exam"'+ |
|
' type="radio" '+callradiostringeval('exam')); |
|
if (svalue=='exam') { choicewrite(' checked="checked"'); } |
|
choicewrite(' /> Exam</label><br />'); |
|
// choicewrite('<label><input name="stringval" value="assess"'+ |
|
// ' type="radio" '+callradiostringeval('assess')); |
|
// if (svalue=='assess') { choicewrite(' checked="checked"'); } |
|
// choicewrite(' /> Assessment</label><br />'); |
|
choicewrite('<label><input name="stringval" value="survey"'+ |
|
' type="radio" '+callradiostringeval('survey')); |
|
if (svalue=='survey') { choicewrite(' checked="checked"'); } |
|
choicewrite(' /> Survey</label><br />'); |
|
// choicewrite('<label><input name="stringval" value="form"'+ |
|
// ' type="radio" '+callradiostringeval('form')); |
|
// if (svalue=='form') { choicewrite(' checked="checked"'); } |
|
// choicewrite('> Input Form</label><br />'); |
|
choicewrite('<label><input name="stringval" value="library"'+ |
|
' type="radio" '+callradiostringeval('library')); |
|
if (svalue=='library') { choicewrite(' checked="checked"'); } |
|
choicewrite(' /> Library</label><br />'); |
|
} |
|
if (pscat=='ip') { |
|
tablestart('IP Number/Name'); |
|
choicewrite('<tr><td>Value:</td><td colspan="2">'); |
|
choicewrite('<input name="stringval" size="20" value="'+escapeHTML(svalue)+ |
|
'" onchange="parent.stringeval()" />'); |
|
} |
|
if (pscat=='fileext') { |
|
tablestart('Allowed File Extensions'); |
|
choicewrite('<tr><td>Value:</td><td colspan="2">'); |
|
choicewrite('<label><input name="radstringval" value="txt"'+ |
|
' type="radio" '+callradiostringeval('txt')); |
|
if (svalue=='txt') { choicewrite(' checked="checked"'); } |
|
choicewrite(' /> Plain Text</label><br />'); |
|
choicewrite('<label><input name="radstringval" value="png,jpg,jpeg,gif"'+ |
|
' type="radio" '+callradiostringeval('png,jpg,jpeg,gif')); |
|
if (svalue=='png,jpg,jpeg,gif') { choicewrite(' checked="checked"'); } |
|
choicewrite(' /> Picture File</label><br />'); |
|
choicewrite('<label><input name="radstringval" value="doc,docx,xls,xlsx,ppt,pptx"'+ |
|
' type="radio" '+callradiostringeval('doc,docx,xls,xlsx,ppt,pptx')); |
|
if (svalue=='doc,docx,xls,xlsx,ppt,pptx') { choicewrite(' checked="checked"'); } |
|
if (svalue=='doc,xls,ppt') { choicewrite(' checked="checked"'); } |
|
choicewrite(' /> Office Document</label><br />'); |
|
choicewrite('<input name="stringval" size="20" value="'+escapeHTML(svalue)+ |
|
'" onchange="parent.stringeval()" />'); |
|
} |
|
if (pscat=='useslots') { |
|
tablestart('Slots control access'); |
|
choicewrite('<tr><td>Value:</td><td colspan="2">'); |
|
choicewrite('<label><input name="stringval" value="no"'+ |
|
' type="radio" '+callradiostringeval('no')); |
|
if (svalue=='no') { choicewrite(' checked="checked"'); } |
|
choicewrite(' /> No</label><br />'); |
|
choicewrite('<label><input name="stringval" value="resource"'+ |
|
' type="radio" '+callradiostringeval('resource')); |
|
if (svalue=='resource') { choicewrite(' checked="checked"'); } |
|
choicewrite(' /> Yes, and the scope of student selected slot is a single resource.</label><br />'); |
|
choicewrite('<label><input name="stringval" value="map"'+ |
|
' type="radio" '+callradiostringeval('map')); |
|
if (svalue=='map') { choicewrite(' checked="checked"'); } |
|
choicewrite(' /> Yes, and the scope of student selected slot is the enclosing map/folder. When checking in, it applies to only one resource.</label><br />'); |
|
choicewrite('<label><input name="stringval" value="map_map"'+ |
|
' type="radio" '+callradiostringeval('map_map')); |
|
if (svalue=='map_map') { choicewrite(' checked="checked"'); } |
|
choicewrite(' /> Yes, and the scope of student selected slot is the enclosing map/folder. When checking in, all resources in the map/folder are checked in.</label><br />'); |
|
choicewrite('</td></tr></table>'); |
|
} |
} |
} |
|
|
if (ptype=='radio') { |
if (ptype=='color') { |
|
tablestart('Choose a Color'); |
|
choicewrite('<table>'); |
|
if (svalue) { |
|
choicewrite('<tr><td colspan="9">Current choice:</td><td bgcolor="'+ |
|
escapeHTML(svalue)+'" colspan="2"> </td></tr>'); |
|
} |
|
for (var ir=0; ir<=10; ir++) { |
|
for (var ig=0; ig<=10; ig++) { |
|
choicewrite('<tr>'); |
|
for (var ib=0; ib<=10; ib++) { |
|
colorfield(ir,ig,ib); |
|
} |
|
choicewrite('</tr>'); |
|
} |
|
} |
|
choicewrite('</table></td></table>'); |
} |
} |
choicewrite('</table></form>'); |
|
|
choicewrite('</form>'); |
choiceend(); |
choiceend(); |
} |
} |
|
|
function sopt(va,text) { |
function sopt(va,text) { |
selwrite('<option value="'+va+'"'); |
selwrite('<option value="'+va+'"'); |
if (va==scat) { |
if (va==pscat) { |
selwrite(' selected'); |
selwrite(' selected="selected"'); |
} |
} |
selwrite('>'+text+'</option>'); |
selwrite('>'+text+'</option>'); |
} |
} |
|
|
function catchange() { |
function catchange() { |
var sform=selector.document.forms.fsel.fcat; |
var sform=selector.document.forms.fsel.fcat; |
scat=sform.options[sform.selectedIndex].value; |
pscat=sform.options[sform.selectedIndex].value; |
draw(); |
draw(); |
} |
} |
|
|
function assemble() { |
function assemble() { |
|
if ((ptype=='date') && (pscat!='interval')) { |
|
svalue=Math.floor(cdate.getTime()/1000); |
|
} |
|
if (ptype=='tolerance') { |
|
if (pscat=='relative_sym') { |
|
svalue=choices.document.forms.sch.val2.value+'%'; |
|
if (choices.document.forms.sch.val3.checked) { |
|
svalue+='+'; |
|
} |
|
} |
|
if (pscat=='absolute_sym') { |
|
svalue=choices.document.forms.sch.val2.value; |
|
if (choices.document.forms.sch.val3.checked) { |
|
svalue+='+'; |
|
} |
|
} |
|
if (pscat=='absolute') { |
|
svalue=choices.document.forms.sch.val2.value; |
|
if (choices.document.forms.sch.val3.checked) { |
|
svalue+='+'; |
|
} |
|
svalue+=','+choices.document.forms.sch.val4.value; |
|
if (choices.document.forms.sch.val5.checked) { |
|
svalue+='+'; |
|
} |
|
} |
|
if (pscat=='relative') { |
|
svalue=choices.document.forms.sch.val2.value+'%'; |
|
if (choices.document.forms.sch.val3.checked) { |
|
svalue+='+'; |
|
} |
|
svalue+=','+choices.document.forms.sch.val4.value+'%'; |
|
if (choices.document.forms.sch.val5.checked) { |
|
svalue+='+'; |
|
} |
|
} |
|
} |
|
if ((ptype=='int') && (pscat=='range')) { |
|
svalue=choices.document.forms.sch.val2.value+','+ |
|
choices.document.forms.sch.val4.value; |
|
} |
|
if (pscat=='default') { svalue=''; } |
|
stype=ptype+'_'+pscat; |
} |
} |
|
|
function disassemble() { |
|
} |
|
|
|
function init() { |
function init() { |
var i; |
var i; |
|
var subs=new Array(); |
var namevalue=this.window.location.search.split('&'); |
var namevalue=this.window.location.search.split('&'); |
namevalue[0]=namevalue[0].substr(1,namevalue[0].length-1); |
namevalue[0]=namevalue[0].substr(1,namevalue[0].length-1); |
|
|
for (i=0;i<namevalue.length;i++) { |
for (i=0;i<namevalue.length;i++) { |
var pair=namevalue[i].split('='); |
var pair=namevalue[i].split('='); |
if (pair[0]=='type') { ptype=pair[1]; } |
pair[1]=unescape(pair[1]); |
if (pair[0]=='value') { pvalue=pair[1]; } |
if (pair[0]=='value') { pvalue=pair[1]; } |
|
if (pair[0]=='type') { subs=pair[1].split('_'); |
|
ptype=subs[0]; |
|
pscat=subs[1]; |
|
if (typeof(subs[2])!="undefined") { |
|
pscat+='_'+subs[2]; |
|
} |
|
if ((pscat=='') || (typeof(pscat)=="undefined")) { |
|
pscat='default'; |
|
} |
|
} |
if (pair[0]=='return') { preturn=pair[1]; } |
if (pair[0]=='return') { preturn=pair[1]; } |
if (pair[0]=='call') { pcode=pair[1]; } |
if (pair[0]=='call') { pcode=pair[1]; } |
if (pair[0]=='options') { poptions=pair[1]; } |
if (pair[0]=='marker') { pmarker=pair[1]; } |
if (pair[0]=='name') { pname=pair[1]; } |
if (pair[0]=='name') { pname=pair[1]; } |
|
if (pair[0]=='defhour' && pair[1] >= 0 && pair[1] < 24 ) { |
|
defhour=pair[1]; |
|
} |
|
if (pair[0]=='defmin' && pair[1] >= 0 && pair[1] < 60) { defmin=pair[1]; } |
|
if (pair[0]=='defsec' && pair[1] >= 0 && pair[1] < 60) { defsec=pair[1]; } |
} |
} |
|
|
svalue=pvalue; |
svalue=pvalue; |
|
if (((ptype=='float') || (ptype=='string') || (ptype=='int')) && |
|
(pscat=='default') && |
|
(typeof(svalue)!="undefined") && |
|
(svalue!=0) && (svalue!='')) { pscat='any'; } |
|
|
|
if (ptype=='tolerance') { |
|
var tperc=0; |
|
var trange=0; |
|
if (typeof(svalue)!='undefined') { |
|
if (svalue.indexOf('%')!=-1) { tperc=1; } |
|
if (svalue.indexOf(',')!=-1) { trange=1; } |
|
if (trange) { |
|
if (tperc) { pscat='relative'; } else { pscat='absolute'; } |
|
} else { |
|
if (tperc) { pscat='relative_sym'; } else { pscat='absolute_sym'; } |
|
} |
|
} |
|
} |
|
|
this.window.selector.document.clear(); |
this.window.selector.document.clear(); |
selwrite('<html><body bgcolor="#FFFFFF">'); |
selwrite('<html><body>'); |
|
selwrite('<head>'); |
|
selwrite('<style type="text/css">'); |
|
selwrite('<!--'); |
|
selwrite('body {'); |
|
selwrite('font-family: Verdana,Arial,Helvetica,sans-serif;'); |
|
selwrite('line-height:130%;'); |
|
selwrite('font-size:0.83em;'); |
|
selwrite('background: #FFFFFF;'); |
|
selwrite('}'); |
|
selwrite('-->'); |
|
selwrite('</style>'); |
|
selwrite('</head>'); |
|
selwrite('<form name="fsel"><b>'+pname+'</b><br />'); |
|
selwrite('<select name="fcat" onchange="parent.catchange();">'); |
|
|
selwrite('<form name="fsel"><h2>'+pname+'</h2>'); |
|
selwrite('<select name="fcat" onChange="parent.catchange();">'); |
|
if (ptype=='tolerance') { |
if (ptype=='tolerance') { |
sopt('default','Default'); |
sopt('default','Default'); |
sopt('exact','Exact Value (no tolerance)'); |
|
sopt('relative_sym','Relative Tolerance, Symmetric (percent)'); |
sopt('relative_sym','Relative Tolerance, Symmetric (percent)'); |
sopt('relative','Relative Tolerance (percentages)'); |
sopt('relative','Relative Tolerance (percentages)'); |
sopt('absolute_sym','Absolute Tolerance, Symmetric (value)'); |
sopt('absolute_sym','Absolute Tolerance, Symmetric (value)'); |
sopt('absolute','Absolute Tolerance (values)'); |
sopt('absolute','Absolute Tolerance (values)'); |
sopt('sigdigits','Significant Digits (number)'); |
|
} |
} |
|
|
if (ptype=='date') { |
if (ptype=='date') { |
|
if (pscat != 'interval') { |
|
sopt('default','Default'); |
|
sopt('start','Starting Date'); |
|
sopt('end','Ending Date'); |
|
} else { |
|
sopt('interval','Time Interval'); |
|
} |
|
|
|
if ((pvalue!='') && (typeof(pvalue)!="undefined")) { |
|
cdate.setTime(pvalue*1000); |
|
} else { |
|
cdate.setSeconds(defsec); |
|
cdate.setMinutes(defmin); |
|
cdate.setHours(defhour); |
|
} |
|
|
|
months[0]='January'; |
|
months[1]='February'; |
|
months[2]='March'; |
|
months[3]='April'; |
|
months[4]='May'; |
|
months[5]='June'; |
|
months[6]='July'; |
|
months[7]='August'; |
|
months[8]='September'; |
|
months[9]='October'; |
|
months[10]='November'; |
|
months[11]='December'; |
|
} |
|
|
|
if (ptype=='int') { |
sopt('default','Default'); |
sopt('default','Default'); |
sopt('start','Starting Date'); |
sopt('pos','Positive Integer, Not Zero'); |
sopt('end','Ending Date'); |
sopt('zeropos','Positive Integer or Zero'); |
sopt('interval','Starting and Ending Date'); |
sopt('inrange','Integer in Range'); |
|
sopt('range','Range of Integers'); |
|
sopt('any','Integer'); |
} |
} |
|
|
if (ptype=='value') { |
if (ptype=='float') { |
} |
sopt('default','Default'); |
|
sopt('zeroone','Floating Point between 0 and 1'); |
|
sopt('pos','Positive Floating Point'); |
|
sopt('any','Floating Point'); |
|
|
if (ptype=='truefalse') { |
|
} |
} |
|
|
if (ptype=='check') { |
if (ptype=='string') { |
|
//sopt('default','Default'); |
|
if (pscat == 'yesno') { sopt('yesno','Yes/No'); } |
|
else if (pscat == 'problemstatus'){ sopt('problemstatus','Problem Status'); } |
|
else if (pscat == 'examtype') { sopt('examtype','Exam Type'); } |
|
else if (pscat == 'questiontype') { sopt('questiontype','Question Type'); } |
|
else if (pscat == 'ip') { sopt('ip','IP Number/Name'); } |
|
else if (pscat == 'fileext') { sopt('fileext','File Extension'); } |
|
else if (pscat == 'useslots') { sopt('useslots','Slots control access'); } |
|
else { pscat = 'any'; } |
|
sopt('any','String Value'); |
} |
} |
|
|
if (ptype=='radio') { |
if (ptype=='color') { |
|
sopt('default','Use Default Color'); |
|
sopt('custom','Use Custom Color'); |
} |
} |
|
|
selwrite('</select></form>'); |
selwrite('</select></form>'); |
|
|
selwrite('<a href="javascript:assemble();'); |
selwrite('<a href="javascript:parent.assemble();'); |
if (preturn!='') { |
if (preturn!='') { |
selwrite('opener.'+preturn+'=this.window.svalue;'); |
selwrite( |
|
'parent.opener.document.'+preturn+'_value.value=parent.window.svalue;'); |
|
selwrite( |
|
'parent.opener.document.'+preturn+'_type.value=parent.window.stype;'); |
|
} |
|
if (pmarker!='') { |
|
selwrite( |
|
'parent.opener.document.'+preturn+'_marker.value=parent.window.pmarker;'); |
} |
} |
if (pcode!='') { |
if (pcode!='') { |
selwrite('opener.'+pcode+';'); |
selwrite('parent.opener.'+pcode+'();'); |
} |
} |
selwrite('">Store</a>'); |
selwrite('">Save</a> '); |
|
|
|
selwrite('<a href="javascript:'); |
|
selwrite( |
|
'parent.opener.document.'+preturn+'_value.value='+"'';"); |
|
if (pmarker!='') { |
|
selwrite( |
|
'parent.opener.document.'+preturn+'_marker.value=parent.window.pmarker;'); |
|
} |
|
if (pcode!='') { |
|
selwrite('parent.opener.'+pcode+'();'); |
|
} |
|
selwrite('">Delete</a> '); |
|
|
|
selwrite('<a href="javascript:'); |
|
// Old code : |
|
//---------------------------------------------------------------------- |
|
// if (preturn!='') { |
|
// selwrite('parent.opener.document.'+preturn+'_value.value='+"'';"); |
|
// selwrite('parent.opener.document.'+preturn+'_type.value='+"'';"); |
|
// } |
|
// if (pmarker!='') { |
|
// selwrite('parent.opener.document.'+preturn+'_marker.value='+"'';"); |
|
// } |
|
// if (pcode!='') { |
|
// selwrite('parent.opener.'+pcode+'();'); |
|
// } |
|
//---------------------------------------------------------------------- |
|
// Just close the window to 'cancel' the operation. There are javascript |
|
// errors in the above commented out code that I have not been able to |
|
// track down. I think they reside in 'parent.opener.'+pcode+'();' |
|
// |
|
selwrite('this.parent.close();'); |
|
selwrite('">Cancel</a>'); |
|
|
selwrite('</body></html>'); |
selwrite('</body></html>'); |
this.window.selector.document.close(); |
this.window.selector.document.close(); |
|
draw(); |
|
|
} |
} |
|
|
|
// ]]> |
</script> |
</script> |
|
</head> |
|
|
<frameset rows="50,*" onLoad="init();"> |
<frameset rows="120,*" onload="init();"> |
<frame name=selector src="empty.html"> |
<frame name="selector" src="empty.html" /> |
<frame name=choices src="empty.html"> |
<frame name="choices" src="empty.html" /> |
</frameset> |
</frameset> |
|
|
|
|
|
|
</html> |
|
|
|
|
</html> |