'; 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]='Ce sont les cl\u00E9s des motos'; I[0][1][1] = new Array(); I[0][1][1][0]='Ce sont les cl\u00E9s des motos'; I[0][1][2] = new Array(); I[0][1][2][0]='Ce sont les cl\u00E9s des motos.'; I[0][2]=''; I[1] = new Array(); I[1][1] = new Array(); I[1][1][0] = new Array(); I[1][1][0][0]='Ce sont les amis des employ\u00E9es'; I[1][1][1] = new Array(); I[1][1][1][0]='Ce sont les amis des employ\u00E9es'; I[1][1][2] = new Array(); I[1][1][2][0]='Ce sont les amis des employ\u00E9es.'; I[1][2]=''; I[2] = new Array(); I[2][1] = new Array(); I[2][1][0] = new Array(); I[2][1][0][0]='Ce sont les ordinateurs des \u00E9l\u00E8ves'; I[2][1][1] = new Array(); I[2][1][1][0]='Ce sont les ordinateurs des \u00E9l\u00E8ves'; I[2][1][2] = new Array(); I[2][1][2][0]='Ce sont les ordinateurs des \u00E9l\u00E8ves.'; I[2][2]=''; I[3] = new Array(); I[3][1] = new Array(); I[3][1][0] = new Array(); I[3][1][0][0]='Ce sont les agendas des biblioth\u00E9caires'; I[3][1][1] = new Array(); I[3][1][1][0]='Ce sont les agendas des biblioth\u00E9caires'; I[3][1][2] = new Array(); I[3][1][2][0]='Ce sont les agendas des biblioth\u00E9caires.'; I[3][2]=''; I[4] = new Array(); I[4][1] = new Array(); I[4][1][0] = new Array(); I[4][1][0][0]='Les \u00E9l\u00E8ves demandent des cartes de cantine aux employ\u00E9es'; I[4][1][1] = new Array(); I[4][1][1][0]='Les \u00E9l\u00E8ves demandent des cartes de cantine aux employ\u00E9es'; I[4][1][2] = new Array(); I[4][1][2][0]='Les \u00E9l\u00E8ves demandent des cartes de cantine aux employ\u00E9es.'; I[4][2]=''; I[5] = new Array(); I[5][1] = new Array(); I[5][1][0] = new Array(); I[5][1][0][0]='Les professeurs donnent des copies aux \u00E9l\u00E8ves'; I[5][1][1] = new Array(); I[5][1][1][0]='Les professeurs donnent des copies aux \u00E9l\u00E8ves'; I[5][1][2] = new Array(); I[5][1][2][0]='Les professeurs donnent des copies aux \u00E9l\u00E8ves.'; I[5][2]=''; Text = new Array(); Text[0]='1) C\'est la cl\u00E9 de la moto = '; Text[1]='
2) C\'est l\'ami de l\'employ\u00E9e = '; Text[2]='
3) C\'est l\'ordinateur de l\'\u00E9l\u00E8ve = '; Text[3]='
4) C\'est l\'agenda du biblioth\u00E9caire = '; Text[4]='
5) L\'\u00E9l\u00E8ve demande une carte de cantine \u00E0 l\'employ\u00E9e = '; Text[5]='
6) Le professeur donne une copie \u00E0 l\'\u00E9l\u00E8ve = '; Text[6]=' '; State = new Array(); function StartUp(){ 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); 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 Blank(){ return ' ©Half-Baked Software. Loading... '; } //--> //]]> -->