Site hosted by Angelfire.com: Build your free website today!
'; 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(){ 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]='Pianissimo'; I[0][1]='very soft pianissimo'; I[0][2]='0'; I[1] = new Array(); I[1][0]='a tempo'; I[1][1]='“at original speed”'; I[1][2]='0'; I[2] = new Array(); I[2][0]='adagio'; I[2][1]='slower than andante'; I[2][2]='0'; I[3] = new Array(); I[3][0]='allegretto'; I[3][1]='moderately fast'; I[3][2]='0'; I[4] = new Array(); I[4][0]='coda'; I[4][1]='special ending (a) (this literally means “tail”)'; I[4][2]='0'; I[5] = new Array(); I[5][0]='poco a poco'; I[5][1]='“little by little”'; I[5][2]='0'; I[6] = new Array(); I[6][0]='presto'; I[6][1]='very fast'; I[6][2]='0'; I[7] = new Array(); I[7][0]='forte piano'; I[7][1]='lout followed by a sudden soft fortepiano.gif'; I[7][2]='0'; I[8] = new Array(); I[8][0]='sforzando'; I[8][1]='played forcefully sforzando.gif'; I[8][2]='0'; I[9] = new Array(); I[9][0]='andantino'; I[9][1]='slightly faster than andante'; I[9][2]='0'; I[10] = new Array(); I[10][0]='largo'; I[10][1]='very slow, broad'; I[10][2]='0'; I[11] = new Array(); I[11][0]='tempo primo'; I[11][1]='first speed of the song'; I[11][2]='0'; I[12] = new Array(); I[12][0]='double flat'; I[12][1]='(lower by two half steps) doubleflat.gif'; I[12][2]='0'; I[13] = new Array(); I[13][0]='double sharp'; I[13][1]='(raise by 2 half steps) doublesharp.gif'; I[13][2]='0'; I[14] = new Array(); I[14][0]='major'; I[14][1]='1,1,1/2,1.1.1.1/2 (this refers to the whole and half step arrangement of this scale, also sometimes expressed as W,W,H,W,W,W,H. Hear this scale at the musictheory.net link above, in the lessons menu select “the minor scales”)'; I[14][2]='0'; I[15] = new Array(); I[15][0]='minor'; I[15][1]='1, 1/2, 1, 1, 1/2, 1, 1 (this refers to the whole and half step arrangement of this scale. this could also be expressed as “W,H,W,W,H,W,W” To hear this demonstrated go to the music theory.net link above, in the lessons menu select “the minor scales”)'; I[15][2]='0'; I[16] = new Array(); I[16][0]='improvise'; I[16][1]='create your own music spontaneously'; I[16][2]='0'; I[17] = new Array(); I[17][0]='cantabile'; I[17][1]='played in a “singing” style'; I[17][2]='0'; I[18] = new Array(); I[18][0]='dolce'; I[18][1]='“sweetly”'; I[18][2]='0'; I[19] = new Array(); I[19][0]='espressivo'; I[19][1]='“expressively”'; I[19][2]='0'; I[20] = new Array(); I[20][0]='marcato'; I[20][1]='marked or separated tones'; I[20][2]='0'; I[21] = new Array(); I[21][0]='simile'; I[21][1]='“in the same way”'; I[21][2]='0'; I[22] = new Array(); I[22][0]='molto'; I[22][1]='“very much”'; I[22][2]='0'; I[23] = new Array(); I[23][0]='mosso'; I[23][1]='motion (lierally means “moved” as in piu mosso = “more moved”)'; I[23][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...'; } //--> //]]>