'; ResultForm += ''; ResultForm += ''; ResultForm += ''; ResultForm += ''; ResultForm += ''; ResultForm += ''; ResultForm += ''; ResultForm += ''; ResultForm += ''; ResultForm += ''; ResultForm += ''; ResultForm += '
'; var NavBar=''; NavBar+='
'; NavBar+=''; NavBar+=''; NavBar+=''; NavBar+='
'; var TitleCode = ''; TitleCode += '' + ExerciseTitle + '
'; TitleCode += '' + ExerciseSubtitle + '
'; TitleCode += '
'; var TableOpener = '
'; TableOpener += ''; var IRow = ''; IRow += ''; IRow += ''; var CheckButton = ''; TableCloser = '
'; IRow += '[strLeftItem]    '; IRow += '[strRightItem]'; IRow += '   [Mark]'; IRow += '

'; var DropDownList = ''; var Exercise = ''; function GoBack(){ var BackSkip = history.length - PreviousPage; if (BackSkip > 0){ history.go((BackSkip+1)*-1); } else{ parent.history.back(); } } function Shuffle(InArray){ Temp = new Array(); var Len = InArray.length; var j = Len; for (var i=0; i
'; 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 BuildSelector(){ DropDownList = ''; } function StartUp(){ //Try to get user name UserName = prompt('Please enter your name:',''); UserName += ''; if ((UserName.substring(0,4) == 'null')||(UserName.length < 1)){ UserName = prompt('Please enter your name:',''); UserName += ''; if ((UserName.substring(0,4) == 'null')||(UserName.length < 1)){ window.location = PreviousPage; } } CorrectIndicator = '' + CorrectIndicator + ''; IncorrectIndicator = '' + IncorrectIndicator + ''; //Write the top frame WriteFeedback(Instructions); //Create the right-item/distractor array, and shuffle it var DuplicateItem = false; for (var i=0; i 0){ TotalUnfixedLeftItems++; } DuplicateItem = false; //and it's not already in the array for (var j=0; j 0){ TempRow = IRow; TempRow = ReplaceStuff('[strLeftItem]', I[i][0], TempRow); //if not fixed and not yet answered correctly if ((I[i][2] < 1)&&(Status[i][0] < 1)){ TempRow = ReplaceStuff('[strRightItem]', DropDownList, TempRow); } else{ TempRow = ReplaceStuff('[strRightItem]', I[i][1], TempRow); } //if it's not fixed, and it's been attempted, mark it appropriately if ((I[i][2] < 1)&&(Status[i][1] > 0)){ if (Status[i][0] < 1){ TempRow = ReplaceStuff('[Mark]', IncorrectIndicator, TempRow); } else{ TempRow = ReplaceStuff('[Mark]', CorrectIndicator, TempRow); } } else{ TempRow = ReplaceStuff('[Mark]', '', TempRow); } TempRow = ReplaceStuff('[INum]', i, TempRow); Exercise += TempRow; } } //Add the check button Exercise += CheckButton; //Make it into a table Exercise = TableOpener + Exercise + TableCloser; } I = new Array(); I[0] = new Array(); I[0][0] = '1. If blood will flow when flesh '; I[0][1] = 'and steel are one'; I[0][2] = 1; I[1] = new Array(); I[1][0] = '2. Drying in the colour '; I[1][1] = 'of the evening sun'; I[1][2] = 0; I[2] = new Array(); I[2][0] = '3. Tomorrow\'s rain will '; I[2][1] = 'wash the stains away'; I[2][2] = 0; I[3] = new Array(); I[3][0] = '4. But something in our mind will '; I[3][1] = 'always stay'; I[3][2] = 0; I[4] = new Array(); I[4][0] = '5. Perhaps this final act '; I[4][1] = 'was meant'; I[4][2] = 0; I[5] = new Array(); I[5][0] = '6. To clinch '; I[5][1] = 'a lifetime\'s argument'; I[5][2] = 0; I[6] = new Array(); I[6][0] = '7. That nothing comes '; I[6][1] = 'from violence and nothing ever could'; I[6][2] = 0; I[7] = new Array(); I[7][0] = '8. For all those born beneath '; I[7][1] = 'an angry star'; I[7][2] = 0; I[8] = new Array(); I[8][0] = '9. Lest we forget '; I[8][1] = 'how fragile we are'; I[8][2] = 0; I[9] = new Array(); I[9][0] = '10. On and on '; I[9][1] = 'the rain will fall'; I[9][2] = 0; I[10] = new Array(); I[10][0] = '11. Like tears from a star '; I[10][1] = 'like tears from a star'; I[10][2] = 1; I[11] = new Array(); I[11][0] = '12. On and on the rain will '; I[11][1] = 'say'; I[11][2] = 0; I[12] = new Array(); I[12][0] = '13. How fragile we are '; I[12][1] = 'how fragile we are'; I[12][2] = 0; I[13] = new Array(); I[13][0] = '14. How fragile we are '; I[13][1] = 'how fragile we are'; I[13][2] = 0; Status = new Array(); RItems = new Array(); function CreateStatusArrays(){ for (var x=0; x-1){ FirstBit = InString.substring(0, i); LastBit = InString.substring(i + Token.length, InString.length); InString = FirstBit + Replacement + LastBit; i = InString.indexOf(Token); } return InString; } function EscapeDoubleQuotes(InString){ var Result = ''; for (var i=0; i
'; OutString += '
'; OutString += TitleCode; OutString += ''; OutString += NavBar; OutString += '
'; OutString += ''; OutString += StuffToDisplay; 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 GetAnswer(INum){ var Result = -1; var s = eval('BottomFrame.document.QForm.sel' + INum); if (s != null){ Result = s.selectedIndex - 1; } return Result; } function CheckAnswers(){ var AllDone = true; TotCorrectChoices = 0; //for each item not fixed or a distractor for (var i=0; i 0)){ //if it hasn't been answered correctly yet if (Status[i][0] < 1){ //Add one to the number of tries for this item Status[i][1]++; //Get the answer if (GetAnswer(i) == I[i][3]){ //The answer is correct, so set the status flag Status[i][0] = 1; } //else the answer is wrong, so remember that else{ AllDone = false; } } //If it's correct, count it if (Status[i][0] == 1){ TotCorrectChoices++; } } } //Calculate the score var Score = Math.floor(((TotCorrectChoices-Penalties)/TotalUnfixedLeftItems)*100); var Feedback = ''; //Build the feedback if (AllDone == true){ Feedback = CorrectResponse + '
' + YourScoreIs + Score + '%.'; } else{ Feedback = IncorrectResponse + '
' + YourScoreIs + Score + '%.'; //Penalty for incorrect check Penalties++; } //Show the feedback and rebuild the exercise WriteFeedback(Feedback); if (AllDone == true){ setTimeout('SendResults(' + Score + ')', 50); } BuildExercise(); DisplayExercise(Exercise); } function SendResults(Score){ var today = new Date; var NewName = '' + today.getTime(); var NewWin = window.open('', 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...
'; } //--> //]]>
-->