OutString += ''; //Write it to the frame TopFrame.document.clear(); TopFrame.document.open(); TopFrame.document.write(OutString); TopFrame.document.close(); } function BuildSelector(){ DropDownList = ''; } function StartUp(){ 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] = 'A part '; I[0][1] = 'Vid sidan av'; I[0][2] = 0; I[1] = new Array(); I[1][0] = 'Bechamel'; I[1][1] = 'Vit grundsås'; I[1][2] = 0; I[2] = new Array(); I[2][0] = 'Beurre manie'; I[2][1] = 'Pastaredning'; I[2][2] = 0; I[3] = new Array(); I[3][0] = 'Blanchera'; I[3][1] = 'Förvälla'; I[3][2] = 0; I[4] = new Array(); I[4][0] = 'Bien cuit'; I[4][1] = 'Väl genomstekt'; I[4][2] = 0; I[5] = new Array(); I[5][0] = 'Bouquet garni'; I[5][1] = 'Kryddbukett'; I[5][2] = 0; I[6] = new Array(); I[6][0] = 'Brunoise'; I[6][1] = 'Små tärningar'; I[6][2] = 0; I[7] = new Array(); I[7][0] = 'Brässera'; I[7][1] = 'Steka i fuktig värme'; I[7][2] = 0; I[8] = new Array(); I[8][0] = 'Déglacera'; I[8][1] = 'Koka ur'; I[8][2] = 0; I[9] = new Array(); I[9][0] = 'Julienne'; I[9][1] = 'Tunna strimlor'; I[9][2] = 0; I[10] = new Array(); I[10][0] = 'Liason'; I[10][1] = 'Redning(ägg grädde)'; I[10][2] = 0; I[11] = new Array(); I[11][0] = 'Mirepoix'; I[11][1] = 'Rotfruktsblandning'; I[11][2] = 0; I[12] = new Array(); I[12][0] = 'Mise en place'; I[12][1] = 'Allt på sin plats'; I[12][2] = 0; I[13] = new Array(); I[13][0] = 'Montera'; I[13][1] = 'Vispa i smör (grädde)'; I[13][2] = 0; I[14] = new Array(); I[14][0] = 'Nappera'; I[14][1] = 'Hälla över'; I[14][2] = 0; I[15] = new Array(); I[15][0] = 'Palette'; I[15][1] = 'Smal stekspade'; I[15][2] = 0; I[16] = new Array(); I[16][0] = 'Parera '; I[16][1] = 'Putsa'; I[16][2] = 0; I[17] = new Array(); I[17][0] = 'Passera '; I[17][1] = 'Trycka igenom sikt'; I[17][2] = 0; I[18] = new Array(); I[18][0] = 'Pochera '; I[18][1] = 'Sjuda'; I[18][2] = 0; I[19] = new Array(); I[19][0] = 'Reducera'; I[19][1] = 'Koka ihop'; I[19][2] = 0; I[20] = new Array(); I[20][0] = 'Roux '; I[20][1] = 'Redning'; I[20][2] = 0; I[21] = new Array(); I[21][0] = 'Sautera '; I[21][1] = 'Hastig stekning i panna'; I[21][2] = 0; I[22] = new Array(); I[22][0] = 'Soigné '; I[22][1] = 'Extra fin'; I[22][2] = 0; I[23] = new Array(); I[23][0] = 'Tournera '; I[23][1] = 'Ge grönsaker form'; I[23][2] = 0; I[24] = new Array(); I[24][0] = 'Tranchera'; I[24][1] = 'Skära upp'; I[24][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 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); BuildExercise(); DisplayExercise(Exercise); } function Blank(){ return '©Half-Baked Software. Loading...'; } //--> //]]>