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]='flat'; I[0][1]='lowers the pitch (b)'; I[0][2]='0'; I[1] = new Array(); I[1][0]='sharp'; I[1][1]='Raises the pitch (#)'; I[1][2]='0'; I[2] = new Array(); I[2][0]='natural'; I[2][1]='cancels a sharp or flat'; I[2][2]='0'; I[3] = new Array(); I[3][0]='measure'; I[3][1]='a section of the staff with a bar line at each end'; I[3][2]='0'; I[4] = new Array(); I[4][0]='key signature'; I[4][1]='lists sharps or flats of the song (this is the group of accidentals that are found after the clef sign and before the time signature.)'; I[4][2]='0'; I[5] = new Array(); I[5][0]='bar line'; I[5][1]='a line that separates music into measures'; I[5][2]='0'; I[6] = new Array(); I[6][0]='time signature'; I[6][1]='lists time (This refers to meter or the number of beats per measure and what note gets a beat.)'; I[6][2]='0'; I[7] = new Array(); I[7][0]='staff'; I[7][1]='five lines that notes are written on'; I[7][2]='0'; I[8] = new Array(); I[8][0]='fermata'; I[8][1]='hold'; I[8][2]='0'; I[9] = new Array(); I[9][0]='forte'; I[9][1]='loud (f)'; I[9][2]='0'; I[10] = new Array(); I[10][0]='mezzo forte'; I[10][1]='medium loud, (mf)'; I[10][2]='0'; I[11] = new Array(); I[11][0]='piano (not the instrument)'; I[11][1]='soft (p)'; I[11][2]='0'; I[12] = new Array(); I[12][0]='mezzo piano'; I[12][1]='medium soft dynamic (mp)'; I[12][2]='0'; I[13] = new Array(); I[13][0]='ledger line'; I[13][1]='a line above or below the staff(this refers to short lines added when you want to write a note too high or too low to fit on the staff.'; I[13][2]='0'; I[14] = new Array(); I[14][0]='unison'; I[14][1]='all performers on the same pitch and rhythm'; I[14][2]='0'; I[15] = new Array(); I[15][0]='duet'; I[15][1]='two part music'; I[15][2]='0'; I[16] = new Array(); I[16][0]='solo'; I[16][1]='one performer'; I[16][2]='0'; I[17] = new Array(); I[17][0]='melody'; I[17][1]='the “tune” of the song'; I[17][2]='0'; I[18] = new Array(); I[18][0]='harmony'; I[18][1]='Mixes and blends with melody, may have the same rhythm but different notes.'; I[18][2]='0'; I[19] = new Array(); I[19][0]='half step'; I[19][1]='F# to G'; I[19][2]='0'; I[20] = new Array(); I[20][0]='whole step'; I[20][1]='F to G'; I[20][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...'; } //--> //]]>