version 1.5, 2000/11/28 15:40:42
|
version 1.13, 2001/08/08 16:41:28
|
Line 2
|
Line 2
|
<!-- |
<!-- |
The LearningOnline Network with CAPA |
The LearningOnline Network with CAPA |
Parameter Input Window |
Parameter Input Window |
06/16/00,06/17,11/17,11/18,11/23,11/27,11/28 Gerd Kortemeyer |
06/16/00,06/17,11/17,11/18,11/23,11/27,11/28,12/15,12/16, |
|
03/21/01,03/24,06/26 Gerd Kortemeyer |
|
07/24/01 Scott Harrison |
|
08/08 Gerd Kortemeyer |
--> |
--> |
<head> |
<head> |
<title>LON-CAPA</title> |
<title>LON-CAPA</title> |
Line 239 function intcalc() {
|
Line 242 function intcalc() {
|
draw(); |
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 floateval() { |
|
svalue=choices.document.forms.sch.floatval.value; |
|
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 intervaldis() { |
function intervaldis() { |
csecs=svalue; |
csecs=svalue; |
cdays=Math.floor(csecs/86400); |
cdays=Math.floor(csecs/86400); |
Line 251 function intervaldis() {
|
Line 286 function intervaldis() {
|
+cmins+' mins '+csecs+' secs'); |
+cmins+' mins '+csecs+' secs'); |
} |
} |
|
|
|
|
|
|
function afterproc() { |
|
choicewrite('<tr bgcolor="#AAFFAA"><td colspan=3>Error after rounding: ' |
|
+'<input type=checkbox name=val1></td></tr>'); |
|
} |
|
|
|
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: pscat |
// 0: pscat |
// 1: after processing |
|
if (pscat=='default') { |
if (pscat=='default') { |
tablestart('Use default value or algorithm of resource'); |
tablestart('Use default value or algorithm of resource'); |
} |
} |
if (pscat=='exact') { |
|
tablestart('Accept only exact value, zero tolerance'); |
|
afterproc(); |
|
} |
|
if (pscat=='relative_sym') { |
if (pscat=='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 (pscat=='relative') { |
if (pscat=='relative') { |
// 2: left |
// 2: left |
Line 286 function draw() {
|
Line 324 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 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]); |
|
if (range[0].indexOf('+')!=-1) { |
|
choices.document.forms.sch.val3.checked=true; |
|
} |
|
choices.document.forms.sch.val4.value=parseInt(range[1]); |
|
if (range[1].indexOf('+')!=-1) { |
|
choices.document.forms.sch.val5.checked=true; |
|
} |
|
} |
} |
} |
if (pscat=='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=parseInt(svalue); |
|
if (svalue.indexOf('+')!=-1) { |
|
choices.document.forms.sch.val3.checked=true; |
|
} |
|
} |
} |
} |
if (pscat=='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 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]); |
|
if (range[0].indexOf('+')!=-1) { |
|
choices.document.forms.sch.val3.checked=true; |
|
} |
|
choices.document.forms.sch.val4.value=parseInt(range[1]); |
|
if (range[1].indexOf('+')!=-1) { |
|
choices.document.forms.sch.val5.checked=true; |
|
} |
|
} |
} |
} |
if (pscat=='sigdigits') { |
if (pscat=='sigdigits') { |
tablestart('Agreement on significant digits'); |
tablestart('Agreement on significant digits'); |
choicewrite('<tr bgcolor="#AAFFAA"><td colspan=3>Number of digits: ' |
choicewrite('<tr bgcolor="#AAFFAA"><td colspan=3>Number of digits: ' |
+'<input type=text size=4 name=val2></td></tr>'); |
+'<input type=text size=4 name=val2></td></tr>'); |
|
|
choicewrite('<tr bgcolor="#AAFFAA"><td colspan=3>Accept if more digits given: ' |
choicewrite('<tr bgcolor="#AAFFAA"><td colspan=3>Accept if more digits given: ' |
+'<input type=checkbox name=val3></td></tr>'); |
+'<input type=checkbox name=val3></td></tr>'); |
|
|
} |
} |
Line 344 function draw() {
|
Line 411 function draw() {
|
} |
} |
} |
} |
|
|
if (ptype=='value') { |
if (ptype=='int') { |
|
if (pscat=='default') { |
|
tablestart('Default value or none'); |
|
choicewrite('</table>'); |
|
} 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=='range') { |
|
tablestart('Integer range'); |
|
} |
|
if (pscat=='any') { |
|
tablestart('Integer'); |
|
} |
|
choicewrite('<tr bgcolor="#AAFFAA"><td>Value:</td><td colspan=2>'); |
|
choicewrite('<input name=intval size=10 value="'+svalue+ |
|
'" name=intval onChange="parent.integereval()">'); |
|
choicewrite('</td></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 bgcolor="#AAFFAA"><td>Value:</td><td colspan=2>'); |
|
choicewrite('<input name=floatval size=10 value="'+svalue+ |
|
'" name=floatval onChange="parent.floateval()">'); |
|
choicewrite('</td></table>'); |
|
} |
} |
} |
|
|
if (ptype=='check') { |
if (ptype=='string') { |
|
if (pscat=='default') { |
|
tablestart('Default value or none'); |
|
choicewrite('</table>'); |
|
} else { |
|
if (pscat=='any') { |
|
tablestart('Text'); |
|
} |
|
choicewrite('<tr bgcolor="#AAFFAA"><td>Value:</td><td colspan=2>'); |
|
choicewrite('<input name=intval size=20 value="'+svalue+ |
|
'" name=stringval onChange="parent.stringeval()">'); |
|
choicewrite('</td></table>'); |
|
} |
} |
} |
|
|
if (ptype=='radio') { |
|
} |
|
choicewrite('</table></form>'); |
choicewrite('</table></form>'); |
choiceend(); |
choiceend(); |
} |
} |
Line 377 function assemble() {
|
Line 498 function assemble() {
|
if ((ptype=='date') && (pscat!='interval')) { |
if ((ptype=='date') && (pscat!='interval')) { |
svalue=Math.round(cdate.getTime()/1000); |
svalue=Math.round(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 (pscat=='default') { svalue=''; } |
stype=ptype+'_'+pscat; |
stype=ptype+'_'+pscat; |
} |
} |
|
|
Line 394 function init() {
|
Line 550 function init() {
|
if (pair[0]=='type') { subs=pair[1].split('_'); |
if (pair[0]=='type') { subs=pair[1].split('_'); |
ptype=subs[0]; |
ptype=subs[0]; |
pscat=subs[1]; |
pscat=subs[1]; |
if (subs[2]!=undefined) { pscat+='_'+subs[2]; } |
if (typeof(subs[2])!="undefined") { |
if ((pscat=='') || (pscat==undefined)) |
pscat+='_'+subs[2]; |
{ pscat='default'; } |
} |
|
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]; } |
Line 405 function init() {
|
Line 564 function init() {
|
} |
} |
|
|
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 bgcolor="#FFFFFF">'); |
|
|
selwrite('<form name="fsel"><h2>'+pname+'</h2>'); |
selwrite('<form name="fsel"><b>'+pname+'</b><br>'); |
selwrite('<select name="fcat" onChange="parent.catchange();">'); |
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') { |
Line 427 function init() {
|
Line 603 function init() {
|
sopt('end','Ending Date'); |
sopt('end','Ending Date'); |
sopt('interval','Time Interval'); |
sopt('interval','Time Interval'); |
|
|
if ((pvalue!='') && (pvalue!=undefined)) { |
if ((pvalue!='') && (typeof(pvalue)!="undefined")) { |
cdate.setTime(pvalue*1000); |
cdate.setTime(pvalue*1000); |
} |
} |
|
|
Line 445 function init() {
|
Line 621 function init() {
|
months[11]='December'; |
months[11]='December'; |
} |
} |
|
|
if (ptype=='value') { |
if (ptype=='int') { |
|
sopt('default','Default'); |
|
sopt('pos','Positive Integer, Not Zero'); |
|
sopt('zeropos','Positive Integer or Zero'); |
|
sopt('inrange','Integer in Range'); |
|
sopt('range','Range of Integers'); |
|
sopt('any','Integer'); |
} |
} |
|
|
if (ptype=='truefalse') { |
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=='check') { |
|
} |
} |
|
|
if (ptype=='radio') { |
if (ptype=='string') { |
|
sopt('default','Default'); |
|
sopt('string','String Value'); |
} |
} |
|
|
selwrite('</select></form>'); |
selwrite('</select></form>'); |