<!--
// JavaScript by Douglas Mills, DEIL/IEI, UIUC <dmills@uiuc.edu>
// may be used for noncommercial educational purposes provided
// that this note is left intact. I would appreciate knowing if it is being 
// used and where. Thanks!
var ln; // layername
var mouseFlag=false;
function fun1(e){if(mouseFlag){if(ln !=null){eval(ln+'.top=e.pageY-'+ln+'.document.height+3;');
eval(ln+'.left=e.pageX-'+ln+'.document.width+3;');
return true}}};
function setFlagTrue(){mouseFlag=true;
return false};
function setFlagFalse(){mouseFlag=false;
return true};
var i=0;
var t=new Array(); // becomes array of individual words split from s[i]
var l=new Array(); // layer order ("lefts") for checking the answers
var r=new Array(); // random numbers for set up
var n=new Array(); // numbers to randomize for set up
var s=new Array(); // input sentences
function giveRandomList(wL){for(y=0;y<wL;y++){n[y]=y}
var temp=0;
for(y=0;y<wL-1;y++){while(n[temp]==0){temp=Math.ceil(Math.random() * (wL-1));
r[y]=n[temp]}
n[temp]=0}
return true}
function setUp(){document.errors.visibility="hide";
document.feedback.visibility="hide";
document.answer.visibility="hide";
for(x=1;x<t.length+1;x++){document.layers[x].document.write("");
document.layers[x].document.close();
document.layers[x].top=800;
document.layers[x].bgColor=null}
if(i==total){i=0};
t=s[i].split(" ");
giveRandomList(t.length+1);
for(x=0;x<t.length;x++){rtemp=r[x];
if(x==0){document.layers[rtemp].top=document.header.top+document.header.document.height+20;
document.layers[rtemp].left=40}
if(x>0){document.layers[rtemp].left=document.layers[prevtemp].left+
document.layers[prevtemp].document.width+5;
document.layers[rtemp].top=document.layers[prevtemp].top}
document.layers[rtemp].document.write("<b><font size=+2>"+
t[rtemp-1]+"</font></b>");
document.layers[rtemp].document.close();
prevtemp=rtemp;}
document.layers["answer"].document.write("<B><font size=+2>"+s[i]+"</font></b>");
document.layers["answer"].document.close()}
function correctIt(){document.layers["w1"].left=document.layers["endzone"].left+2;
document.layers["w1"].top=document.layers["endzone"].top +
document.layers["endzone"].document.height -
document.layers["w1"].document.height-10;
for(x=1;x<t.length+1;x++){if(x>1){document.layers[x].left=document.layers[x-1].left+document.layers[x-1].document.width+5;
document.layers[x].top=document.layers[x-1].top}}}
function showAnswer(){if(document.layers["answer"].visibility=="show"){document.layers["answer"].visibility="hide"}
else{document.layers["answer"].visibility="show"};}
function checkAnswer(){errFlag=false;
document.layers["errors"].visibility="hide";
document.layers["feedback"].visibility="hide"
for(x=1;x< t.length+1;x++){l[x]=document.layers[x].left;
document.layers[x].bgColor=null}
for(x=1;x<t.length+1;x++){k=0;
for(y=1;y<t.length+1;y++){if(l[x]>l[y]){k++}}
if(k!=x-1){document.layers[x].bgColor="red";
errFlag=true;}}
if(errFlag){document.layers["errors"].visibility="show"}
else{document.layers["feedback"].visibility="show";
correctIt()}}
function keyPressHandler(e){keyPressed=String.fromCharCode(e.which);
if(keyPressed=="c" | keyPressed=="C"){checkAnswer()}
if(keyPressed=="s" | keyPressed=="S"){showAnswer()}
if(keyPressed=="n" | keyPressed=="N"){i++;
setUp()}}
window.captureEvents(Event.KEYUP | Event.MOUSEMOVE | Event.MOUSEDOWN | Event.MOUSEUP);
window.onkeyup=keyPressHandler;
window.onmousemove=fun1;
window.onmousedown=setFlagTrue;
window.onmouseup=setFlagFalse;
// -->
