'; //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; } var LowerString='abcdefghijklmnopqrstuvwxyz%9A%9C%E0%E1%E2%E3%E4%E5%E6%E7%E8%E9%EA%EB%EC%ED%EE%EF%F0%F1%F2%F3%F4%F5%F6%F8%F9%FA%FB%FC%FD%FE%FF'; var UpperString='ABCDEFGHIJKLMNOPQRSTUVWXYZ%8A%8C%C0%C1%C2%C3%C4%C5%C6%C7%C8%C9%CA%CB%CC%CD%CE%CF%D0%D1%D2%D3%D4%D5%D6%D8%D9%DA%DB%DC%DD%DE%9F'; LowerString = unescape(LowerString); UpperString = unescape(UpperString); I = new Array(); I[0] = new Array(); I[0][1] = new Array(); I[0][1][0] = new Array(); I[0][1][0][0]='live'; I[0][2]=''; I[1] = new Array(); I[1][1] = new Array(); I[1][1][0] = new Array(); I[1][1][0][0]='speak'; I[1][2]=''; I[2] = new Array(); I[2][1] = new Array(); I[2][1][0] = new Array(); I[2][1][0][0]='speak'; I[2][2]=''; I[3] = new Array(); I[3][1] = new Array(); I[3][1][0] = new Array(); I[3][1][0][0]='read'; I[3][2]=''; I[4] = new Array(); I[4][1] = new Array(); I[4][1][0] = new Array(); I[4][1][0][0]='listen to'; I[4][2]=''; I[5] = new Array(); I[5][1] = new Array(); I[5][1][0] = new Array(); I[5][1][0][0]='do not go'; I[5][1][1] = new Array(); I[5][1][1][0]='don\'t go'; I[5][2]=''; I[6] = new Array(); I[6][1] = new Array(); I[6][1][0] = new Array(); I[6][1][0][0]='visit'; I[6][2]=''; I[7] = new Array(); I[7][1] = new Array(); I[7][1][0] = new Array(); I[7][1][0][0]='talk'; I[7][2]=''; I[8] = new Array(); I[8][1] = new Array(); I[8][1][0] = new Array(); I[8][1][0][0]='have'; I[8][2]=''; I[9] = new Array(); I[9][1] = new Array(); I[9][1][0] = new Array(); I[9][1][0][0]='lives'; I[9][2]=''; I[10] = new Array(); I[10][1] = new Array(); I[10][1][0] = new Array(); I[10][1][0][0]='speaks'; I[10][2]=''; I[11] = new Array(); I[11][1] = new Array(); I[11][1][0] = new Array(); I[11][1][0][0]='watches'; I[11][2]=''; I[12] = new Array(); I[12][1] = new Array(); I[12][1][0] = new Array(); I[12][1][0][0]='listens to'; I[12][2]=''; I[13] = new Array(); I[13][1] = new Array(); I[13][1][0] = new Array(); I[13][1][0][0]='spends'; I[13][2]=''; I[14] = new Array(); I[14][1] = new Array(); I[14][1][0] = new Array(); I[14][1][0][0]='go'; I[14][2]=''; I[15] = new Array(); I[15][1] = new Array(); I[15][1][0] = new Array(); I[15][1][0][0]='watch'; I[15][2]=''; I[16] = new Array(); I[16][1] = new Array(); I[16][1][0] = new Array(); I[16][1][0][0]='have'; I[16][2]=''; I[17] = new Array(); I[17][1] = new Array(); I[17][1][0] = new Array(); I[17][1][0][0]='go'; I[17][2]=''; I[18] = new Array(); I[18][1] = new Array(); I[18][1][0] = new Array(); I[18][1][0][0]='come'; I[18][2]=''; I[19] = new Array(); I[19][1] = new Array(); I[19][1][0] = new Array(); I[19][1][0][0]='am'; I[19][2]=''; I[20] = new Array(); I[20][1] = new Array(); I[20][1][0] = new Array(); I[20][1][0][0]='need'; I[20][2]=''; I[21] = new Array(); I[21][1] = new Array(); I[21][1][0] = new Array(); I[21][1][0][0]='does not go'; I[21][1][1] = new Array(); I[21][1][1][0]='doesn\'t go'; I[21][2]=''; I[22] = new Array(); I[22][1] = new Array(); I[22][1][0] = new Array(); I[22][1][0][0]='is'; I[22][2]=''; I[23] = new Array(); I[23][1] = new Array(); I[23][1][0] = new Array(); I[23][1][0][0]='is'; I[23][2]=''; I[24] = new Array(); I[24][1] = new Array(); I[24][1][0] = new Array(); I[24][1][0][0]='is'; I[24][2]=''; I[25] = new Array(); I[25][1] = new Array(); I[25][1][0] = new Array(); I[25][1][0][0]='are'; I[25][2]=''; I[26] = new Array(); I[26][1] = new Array(); I[26][1][0] = new Array(); I[26][1][0][0]='works'; I[26][2]=''; I[27] = new Array(); I[27][1] = new Array(); I[27][1][0] = new Array(); I[27][1][0][0]='studies'; I[27][2]=''; I[28] = new Array(); I[28][1] = new Array(); I[28][1][0] = new Array(); I[28][1][0][0]='is'; I[28][2]=''; I[29] = new Array(); I[29][1] = new Array(); I[29][1][0] = new Array(); I[29][1][0][0]='has'; I[29][2]=''; I[30] = new Array(); I[30][1] = new Array(); I[30][1][0] = new Array(); I[30][1][0][0]='play'; I[30][2]=''; I[31] = new Array(); I[31][1] = new Array(); I[31][1][0] = new Array(); I[31][1][0][0]='listens to'; I[31][2]=''; I[32] = new Array(); I[32][1] = new Array(); I[32][1][0] = new Array(); I[32][1][0][0]='lives'; I[32][2]=''; I[33] = new Array(); I[33][1] = new Array(); I[33][1][0] = new Array(); I[33][1][0][0]='gets'; I[33][2]=''; I[34] = new Array(); I[34][1] = new Array(); I[34][1][0] = new Array(); I[34][1][0][0]='likes'; I[34][2]=''; I[35] = new Array(); I[35][1] = new Array(); I[35][1][0] = new Array(); I[35][1][0][0]='are'; I[35][2]=''; I[36] = new Array(); I[36][1] = new Array(); I[36][1][0] = new Array(); I[36][1][0][0]='have'; I[36][2]=''; I[37] = new Array(); I[37][1] = new Array(); I[37][1][0] = new Array(); I[37][1][0][0]='has'; I[37][2]=''; I[38] = new Array(); I[38][1] = new Array(); I[38][1][0] = new Array(); I[38][1][0][0]='lives'; I[38][2]=''; I[39] = new Array(); I[39][1] = new Array(); I[39][1][0] = new Array(); I[39][1][0][0]='reads'; I[39][2]=''; I[40] = new Array(); I[40][1] = new Array(); I[40][1][0] = new Array(); I[40][1][0][0]='goes'; I[40][2]=''; I[41] = new Array(); I[41][1] = new Array(); I[41][1][0] = new Array(); I[41][1][0][0]='goes'; I[41][2]=''; I[42] = new Array(); I[42][1] = new Array(); I[42][1][0] = new Array(); I[42][1][0][0]='likes'; I[42][2]=''; I[43] = new Array(); I[43][1] = new Array(); I[43][1][0] = new Array(); I[43][1][0][0]='is'; I[43][2]=''; I[44] = new Array(); I[44][1] = new Array(); I[44][1][0] = new Array(); I[44][1][0][0]='wants'; I[44][2]=''; I[45] = new Array(); I[45][1] = new Array(); I[45][1][0] = new Array(); I[45][1][0][0]='are'; I[45][2]=''; Text = new Array(); Text[0]='SIMPLE PRESENT COMPLETE THE TEXT

1. Mr. and Mrs. Smith '; Text[1]=' (live) in an old house in Rio de Janeiro.

2. They '; Text[2]=' (speak) a little English, but they usually '; Text[3]=' (speak) Italian.

3. They '; Text[4]=' (read) the Italian newspaper.

4. They '; Text[5]=' music every day, but they '; Text[6]=' to concerts very often. (listen to/ go - neg)

5. Every day they '; Text[7]=' (visit) their friends and neighbors and '; Text[8]=' (talk) about trips around the world.

6. Mr. and Mrs. Dean '; Text[9]=' a son called William (have). He '; Text[10]=' (live) in a small town in Italy, but he '; Text[11]=' (speak) very little Italian. He '; Text[12]=' (watch) American TV and '; Text[13]=' (listen to) Brazilian music,

7. He always '; Text[14]=' (spend) his vacations with his in-laws.

8. On Saturday nights they usually '; Text[15]=' (go) to discos and on Saturday afternoons they '; Text[16]=' (watch) TV and sleep at eleven o\'clock.

9. At night we '; Text[17]=' (have) breakfast at seven every day, '; Text[18]=' (go) to school at seven-thirty and '; Text[19]=' (come) back home at twelve.

10. I '; Text[20]=' (be) very happy today. I '; Text[21]=' (need) to receive my salary.

11. She '; Text[22]=' (go - neg) to the movies because she '; Text[23]=' (be) very busy.

SIMPLE PRESENT (TO BE / OTHER VERBS)

Let\'s talk about our fri'; Text[23]+='ends and their school. Read the following sentences and complete them with the verb indicated. All s'; Text[23]+='entences are affirmative!

1. Buenos Aires '; Text[24]=' in Argentina. (be)

2. The drugstore '; Text[25]=' on Washington Square. (be)

3. Where '; Text[26]=' they from? (be)

4. Suzy '; Text[27]=' at Japan Airlines.. She\'s a secretary. (work)

5. Helen '; Text[28]=' at UCLA. (study)

6. Bob '; Text[29]=' an engineer. (be)

7. Joana '; Text[30]=' two brothers. (have)

8. My brothers '; Text[31]=' soccer in their free time. (play)

9. Ronald '; Text[32]=' Classical Music when he\'s tired. (listen to)

10. Hebert '; Text[33]=' alone. (live)

11. Hebert sometimes '; Text[34]=' lonely. (get)

12. Hebert '; Text[35]=' drama movies very much. (like)

13. Hebert and Suzy '; Text[36]=' hungry. They '; Text[37]=' to get something to eat. (be,have)

14. Suzy '; Text[38]=' to get up early every day. (have)

15. She '; Text[39]=' with her family. (live)

16. She usually '; Text[40]=' novels at night. (read)

17. She '; Text[41]=' out with Hebert every night. (go)

18. Joe sometimes '; Text[42]=' dancing. (go)

19. Peter '; Text[43]=' hamburgers and coke. (like)

20. Cindy '; Text[44]=' hungry. She '; Text[45]=' to eat a cheeseburger and some salad. (be, want)

21. And you? '; Text[46]=' you hungry, too? (be)'; State = new Array(); CharList = new Array(); EscapeList = new Array(); function StartUp(){ var i = 0; for (i=0; i 0){ OutString += FoundCode; } else{ OutString += NextChar; } } return OutString; } var MacChars = '%80%81%82%83%84%85%86%87%88%89%8A%8B%8C%8D%8E%8F%90%91%92%93%94%95%96%97%98%99%9A'; MacChars += '%9B%9C%9D%9E%9F%A0%A1%A4%A5%A6%A7%A8%AA%AB%AC%AE%AF%B4%B6%BB%BC%BE%BF%C0%C1%C2%C4%C7%C8'; MacChars += '%C9%CA%CB%CC%CD%CE%CF%D0%D1%D2%D3%D4%D5%D6%D8%D9%DA%DB%DC%DD%E0%E1%E2%E3%E4%E5%E6%E7%E8%E9'; MacChars += '%EA%EB%EC%ED%EE%EF%F1%F2%F3%F4%F5%F6%F7%F8%FB%FD'; var WinChars = '%C4%C5%C7%C9%D1%D6%DC%E1%E0%E2%E4%E3%E5%E7%E9%E8%EA%EB%ED%EC%EE%EF%F1%F3%F2%F4'; WinChars += '%F6%F5%FA%F9%FB%FC%86%BA%A7%95%B6%DF%AE%99%92%A8%C6%D8%A5%F0%AA%BA%E6%F8%BF%A1%AC%83%AB%BB'; WinChars += '%85%82%C0%C3%D5%8C%9C%96%97%93%94%91%92%F7%FFY/%A4%8B%9B%87%B7%82%84%89%C2%CA%C1%CB'; WinChars += '%C8%CD%CE%CF%CC%D3%D4%D2%DA%DB%D9%B9%88%98%AF%B0%94'; WinChars = unescape(WinChars); MacChars = unescape(MacChars) function MacStringToWin(InString){ var OutString = ''; for (i=0; i '~') && (MacChars.indexOf(InString.charAt(i)) > -1) ){ OutString += WinChars.charAt(MacChars.indexOf(InString.charAt(i))); } else { OutString += InString.charAt(i); } } return OutString; } function WinStringToMac(InString){ var OutString = ''; for (i=0; i '~') && (WinChars.indexOf(InString.charAt(i)) > -1) ){ OutString += MacChars.charAt(WinChars.indexOf(InString.charAt(i))); } else { OutString += InString.charAt(i); } } return OutString; } function TrimString(InString){ var x = 0 if (InString.length != 0) { while ((escape(InString.charAt(InString.length - 1)) == '%20') || (escape(InString.charAt(InString.length - 1)) == '%0A') || (escape(InString.charAt(InString.length - 1)) == '%0D')){ InString = InString.substring(0, InString.length - 1) } while ((escape(InString.charAt(0)) == '%20') || (escape(InString.charAt(0)) == '%0A') || (escape(InString.charAt(0)) == '%0D')){ InString = InString.substring(1, InString.length) } while (InString.indexOf(' ') != -1) { x = InString.indexOf(' ') InString = InString.substring(0, x) + InString.substring(x+1, InString.length) } return InString; } else { return ''; } } function ConvertCase(InString, Direction){ var FromString = ''; var ToString = ''; if (Direction == 0){ FromString = UpperString; ToString = LowerString; } else{ FromString = LowerString; ToString = UpperString; } var i = 0; j = 0; var OutString = ''; for (i=0; i -1){ j = FromString.indexOf(InString.charAt(i)); OutString += ToString.charAt(j); } else{ OutString += InString.charAt(i); } } return OutString; } function CheckAnswers(){ SaveCurrentAnswers(); var AllCorrect = 1; //Check each answer for (var i = 0; i< I.length; i++){ if (State[i][4] != 1){ //If it's right, calculate its score if (CheckAnswer(i, true) > -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 = ConvertCase(Guess, 1); UpperAnswer = ConvertCase(Answer, 1); } 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; if (FlipChars==true){RetVal = MacStringToWin(RetVal);} RetVal = TrimString(RetVal); } else{ RetVal = State[GNum][5]; } return RetVal; } function SetGapValue(GNum, Val){ if ((GNum<0)||(GNum>=I.length)){return;} if (FlipChars==true){Val = WinStringToMac(Val);} 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...



'; } //--> //]]>