'; ResultForm += ''; ResultForm += ''; ResultForm += ''; ResultForm += ''; ResultForm += ''; ResultForm += ''; ResultForm += ''; ResultForm += ''; ResultForm += ''; ResultForm += ''; ResultForm += ''; ResultForm += '
'; ReadingText='


Max 5 minutes...
'; if (is.CRAPBrowser){ReadingText=ResolveAllURLs(ReadingText);} var NavBar=''; NavBar+='
'; NavBar+=''; NavBar+=''; NavBar+=''; NavBar+='
'; if (is.CRAPBrowser){NavBar=ResolveAllURLs(NavBar);} var TitleCode = ''; TitleCode += '' + ExerciseTitle + '
'; TitleCode += '' + ExerciseSubtitle + '
'; TitleCode += '
'; var WordBox = ''; var ClozeOpener = ''; ClozeOpener += ''; var Buttons = '
'; ClozeOpener += '
'; var ClozeCloser = '
'; Buttons += '
'; Buttons += ''; Buttons += ''; Buttons += '
'; var GapCode = ''; var ClueButton = ''; function GoBack(){ var BackSkip = history.length - PreviousPage; if (BackSkip > 0){ history.go((BackSkip+1)*-1); } else{ parent.history.back(); } } function ShowReading(){ if (ReadingFrame != null){ if (ReadingURL.length > 0){ ReadingFrame.location.href=ReadingURL; } else{ ReadingFrame.document.clear(); ReadingFrame.document.open(); ReadingFrame.document.write(ReadingText); ReadingFrame.document.close(); } } } //Reading text/timer code var min var sec var ShowReadingAgain = 'Start again'; function DownTime(mm,ss){ min = mm; sec = ss; if (sec==0) { sec = 60; min--; } sec--; if (sec<10){ sec="0" + sec; } if (TimerFrame.document.TimerForm.face == null){ return; } TimerFrame.document.TimerForm.face.value= min+":"+sec; if ((min==0) && (sec==0)){ TimesUp() } else{ setTimeout('DownTime(min,sec)',1000) } } function StartReading(){ Stuff='Remaining time:'; Stuff+=' '; WriteToTimer(Stuff); ShowReading(); timeoutID=setTimeout('DownTime(5,0)',1000); } function TimesUp() { var Stuff=''; if (ShowReadingAgain.length > 0) { Stuff+=''; WriteToTimer(Stuff); } WriteToReading('Your time is over!'); } function WriteToReading(Stuff) { if (is.CRAPBrowser){Stuff=ResolveAllURLs(Stuff);} ReadingFrame.document.clear(); ReadingFrame.document.open(); ReadingFrame.document.writeln (''); ReadingFrame.document.writeln ('
'); ReadingFrame.document.writeln ('
'); ReadingFrame.document.writeln ('
') ReadingFrame.document.writeln (''); ReadingFrame.document.writeln (Stuff); ReadingFrame.document.writeln ('
'); ReadingFrame.document.close(); } function WriteToTimer(Stuff){ if (is.CRAPBrowser){Stuff=ResolveAllURLs(Stuff);} TimerFrame.document.clear(); TimerFrame.document.open(); TimerFrame.document.writeln (''); TimerFrame.document.writeln ('
'); TimerFrame.document.writeln ('
'); TimerFrame.document.writeln ('
') TimerFrame.document.writeln (''); TimerFrame.document.writeln (Stuff); TimerFrame.document.writeln ('
'); TimerFrame.document.close(); } function BuildExercise(){ var OutString = ''; var ClozeStuff = ''; for (var i=0; i'; } else{ GapLen = I[i][1][0][0].length; if (GapLen < 3){GapLen = 3;} Gap = ReplaceStuff('[strGapSize]', GapLen, GapCode); Gap = ReplaceStuff('[strGapName]', 'Gap' + i + '', Gap); Gap = ReplaceStuff('[strItemNum]', i + '', Gap); Gap = ReplaceStuff('[strValue]', State[i][5], Gap); ClozeStuff += Gap; //Create and add the clue button if (I[i][2].length > 0){ Btn = ReplaceStuff('[strItemNum]', i + '', ClueButton); ClozeStuff += Btn; } } } //Add the last bit if (Text.length > I.length){ ClozeStuff += Text[Text.length-1]; } //Put the final pieces together OutString = ClozeOpener + ClozeStuff + ClozeCloser + Buttons; BuiltCloze = OutString; } function WriteFeedback(Feedback) { //Build the output string var OutString = ''; OutString += ''; OutString += '
'; OutString += '
'; OutString += NavBar; if (Feedback.length>0){ OutString += '' } OutString += '
'; OutString += ''; OutString += Feedback; OutString += '
'; if (is.CRAPBrowser){OutString=ResolveAllURLs(OutString);} //Write it to the frame TopFrame.document.clear(); TopFrame.document.open(); TopFrame.document.write(OutString); TopFrame.document.close(); } function DisplayExercise(){ //Build the output string var OutString = ''; OutString += ''; OutString += '
'; OutString += '
'; OutString += TitleCode; OutString += ''; OutString += NavBar; OutString += '
'; if (WordBox.length > 0){ OutString += WordBox; } OutString += ''; OutString += BuiltCloze; OutString += '
'; if (is.CRAPBrowser){OutString=ResolveAllURLs(OutString);} //Write it to the frame BottomFrame.document.clear(); BottomFrame.document.open(); BottomFrame.document.write(OutString); BottomFrame.document.close(); } function ShowClue(ItemNum){ //alert(ItemNum); State[ItemNum][0] = 1; WriteFeedback(I[ItemNum][2]); } function SaveCurrentAnswers(){ for (var i=0; i-1){ FirstBit = InString.substring(0, i); LastBit = InString.substring(i + Token.length, InString.length); InString = FirstBit + Replacement + LastBit; i = InString.indexOf(Token); } return InString; } I = new Array(); I[0] = new Array(); I[0][1] = new Array(); I[0][1][0] = new Array(); I[0][1][0][0]='For'; I[0][2]=''; I[1] = new Array(); I[1][1] = new Array(); I[1][1][0] = new Array(); I[1][1][0][0]='like'; I[1][1][1] = new Array(); I[1][1][1][0]='such as'; I[1][2]=''; I[2] = new Array(); I[2][1] = new Array(); I[2][1][0] = new Array(); I[2][1][0][0]='if'; I[2][1][1] = new Array(); I[2][1][1][0]='when'; I[2][2]=''; I[3] = new Array(); I[3][1] = new Array(); I[3][1][0] = new Array(); I[3][1][0][0]='I\'ll'; I[3][1][1] = new Array(); I[3][1][1][0]='I will'; I[3][1][2] = new Array(); I[3][1][2][0]='I\'d'; I[3][1][3] = new Array(); I[3][1][3][0]='I would'; I[3][2]=''; I[4] = new Array(); I[4][1] = new Array(); I[4][1][0] = new Array(); I[4][1][0][0]='just'; I[4][2]=''; I[5] = new Array(); I[5][1] = new Array(); I[5][1][0] = new Array(); I[5][1][0][0]='my'; I[5][2]=''; I[6] = new Array(); I[6][1] = new Array(); I[6][1][0] = new Array(); I[6][1][0][0]='lunch'; I[6][2]=''; I[7] = new Array(); I[7][1] = new Array(); I[7][1][0] = new Array(); I[7][1][0][0]='or'; I[7][2]=''; I[8] = new Array(); I[8][1] = new Array(); I[8][1][0] = new Array(); I[8][1][0][0]='the'; I[8][2]=''; I[9] = new Array(); I[9][1] = new Array(); I[9][1][0] = new Array(); I[9][1][0][0]='by'; I[9][2]=''; I[10] = new Array(); I[10][1] = new Array(); I[10][1][0] = new Array(); I[10][1][0][0]='like'; I[10][2]=''; I[11] = new Array(); I[11][1] = new Array(); I[11][1][0] = new Array(); I[11][1][0][0]='where'; I[11][1][1] = new Array(); I[11][1][1][0]='when'; I[11][2]=''; I[12] = new Array(); I[12][1] = new Array(); I[12][1][0] = new Array(); I[12][1][0][0]='that'; I[12][1][1] = new Array(); I[12][1][1][0]='which'; I[12][2]=''; I[13] = new Array(); I[13][1] = new Array(); I[13][1][0] = new Array(); I[13][1][0][0]='like'; I[13][2]=''; I[14] = new Array(); I[14][1] = new Array(); I[14][1][0] = new Array(); I[14][1][0][0]='at'; I[14][2]=''; I[15] = new Array(); I[15][1] = new Array(); I[15][1][0] = new Array(); I[15][1][0][0]='food'; I[15][1][1] = new Array(); I[15][1][1][0]='treat'; I[15][1][2] = new Array(); I[15][1][2][0]='choice'; I[15][1][3] = new Array(); I[15][1][3][0]='pick'; I[15][2]=''; Text = new Array(); Text[0]='[At; During; In; For] '; Text[1]=' breakfast in the morning I sometimes have a glass of orange juice with cereal and milk, and a piece of fruit, [as; like; of; in] '; Text[2]=' a peach, or some strawberries, or a banana, and... - a piece of toast, [no; and; if; why] '; Text[3]=' I get hungry, with butter and jam on it. Sometimes '; Text[4]=' have eggs, scrambled eggs with... - like an omelette with cheese and mushrooms on it. And sometimes I\'ll [so; just; right; always] '; Text[5]=' have a baguette with cream cheese and jam. And that\'s '; Text[6]=' basic breakfast. My typical '; Text[7]=' is a sandwich with either turkey '; Text[8]=' ham, with cheese and lettuce and tomatoes. And sometimes I have mayonnaise on '; Text[9]=' bread. And sometimes I have peanut butter and jelly sandwiches followed '; Text[10]=' a piece of fruit again, like plums are really good and nectarines are yummy too. And I love grapes. And then I\'ll have a cookie or a chocolate bar or something '; Text[11]=' that for a desert. Dinner times, that\'s '; Text[12]=' I have my big meal. And I love steak or hamburgers, anything '; Text[13]=' has meat in it. I love chicken, and then usually for a side I\'ll have something '; Text[14]=' potatoes with a vegetable like broccoli. I love it. And then I follow all that up with desert '; Text[15]=' the end, and ice-cream is my favorite '; Text[16]=', so that\'s a nice desert.'; State = new Array(); function StartUp(){ //Try to get user name UserName = prompt('Please enter your name and ID number',''); UserName += ''; if ((UserName.substring(0,4) == 'null')||(UserName.length < 1)){ UserName = prompt('Please enter your name and ID number',''); UserName += ''; if ((UserName.substring(0,4) == 'null')||(UserName.length < 1)){ window.location = PreviousPage; } } var i = 0; State.length = 0; for (i=0; i -1){ var TotalChars = GetGapValue(i).length; State[i][3] = (TotalChars-State[i][1])/TotalChars; if (State[i][0] > 0){State[i][3] = State[i][3]/2;} if (State[i][3]<0){State[i][3] = 0;} State[i][4] = 1; } else{ //Otherwise, add zero to the array and increment the hints for this item, as a penalty State[i][1]++; State[i][3] = 0; //then set the flag AllCorrect = 0; } } } //Calculate the total score var TotalScore = 0; for (i=0; i'; } Output += YourScoreIs + ' ' + TotalScore + '%.
'; if (AllCorrect == 0){ Output += '
' + Incorrect; } BuildExercise(); WriteFeedback(Output); if (AllCorrect==1){ setTimeout('SendResults(' + TotalScore + ')', 50); return; } DisplayExercise(); RestoreCurrentAnswers(); } function TrackFocus(BoxNumber){ CurrentWord = BoxNumber; } function CheckBeginning(Guess, Answer){ var OutString = ''; var i = 0; var UpperGuess = ''; var UpperAnswer = ''; if (CaseSensitive == false) { UpperGuess = Guess.toUpperCase(); UpperAnswer = Answer.toUpperCase(); } else { UpperGuess = Guess; UpperAnswer = Answer; } while (UpperGuess.charAt(i) == UpperAnswer.charAt(i)) { OutString += Guess.charAt(i); i++; } OutString += Answer.charAt(i); return OutString; } function FindLongest(InArray){ if (InArray.length < 1){return -1;} var Longest = 0; for (var i=1; i InArray[Longest].length){ Longest = i; } } return Longest; } function GetGapValue(GNum){ var RetVal = ''; if ((GNum<0)||(GNum>=I.length)){return RetVal;} if (eval('BottomFrame.document.Cloze.Gap' + GNum) != null){ RetVal = eval('BottomFrame.document.Cloze.Gap' + GNum).value; RetVal = TrimString(RetVal); } else{ RetVal = State[GNum][5]; } return RetVal; } function SetGapValue(GNum, Val){ if ((GNum<0)||(GNum>=I.length)){return;} if (eval('BottomFrame.document.Cloze.Gap' + GNum) != null){ eval('BottomFrame.document.Cloze.Gap' + GNum).value = Val; } } function FindCurrent() { var x = 0; FoundCurrent = -1; //Test the current word: //If it's state is not set to already correct, check the word. if (State[CurrentWord][4] != 1){ if (CheckAnswer(CurrentWord, false) < 0){ return CurrentWord; } } x=CurrentWord + 1; while (x -1){return ''} RightBits = new Array(); for (var i=0; i 0){ SetGapValue(CurrGap, HintString); State[CurrGap][1] = State[CurrGap][1] + 1; } WriteFeedback(GiveHint); } function SendResults(Score){ var today = new Date; var NewName = '' + today.getTime(); var NewWin = window.open('Submission', NewName, 'toolbar=no,location=no,directories=no,status=no, menubar=no,scrollbars=yes,resizable=no,,width=400,height=300'); NewWin.document.clear(); NewWin.document.open(); NewWin.document.write(ResultForm); NewWin.document.close(); NewWin.document.Results.Score.value = Score + '%'; NewWin.document.Results.realname.value = UserName; NewWin.document.Results.End_Time.value = (new Date()).toLocaleString(); NewWin.document.Results.Start_Time.value = StartTime; NewWin.document.Results.submit(); } function Blank(){ return '
©Half-Baked Software. Loading...
'; } //--> //]]>
-->