[inclScorm1.2] //JCROSS-SPECIFIC SCORM-RELATED JAVASCRIPT CODE function SetScormScore(){ //Reports the current score and any other information back to the LMS if (API != null){ API.LMSSetValue('cmi.core.score.raw', Score); //Now send a detailed reports on the item var ItemLabel = 'Crossword'; API.LMSSetValue('cmi.objectives.0.id', 'obj'+ItemLabel); API.LMSSetValue('cmi.interactions.0.id', 'int'+ItemLabel); if (Finished == true){ API.LMSSetValue('cmi.objectives.0.status', 'completed'); } else{ API.LMSSetValue('cmi.objectives.0.status', 'incomplete'); } API.LMSSetValue('cmi.objectives.0.score.min', '0'); API.LMSSetValue('cmi.objectives.0.score.max', '100'); API.LMSSetValue('cmi.objectives.0.score.raw', Score); //We're not sending any student response data, so we can set this to a non-standard value API.LMSSetValue('cmi.interactions.0.type', 'crossword'); API.LMSCommit(''); } } [/inclScorm1.2] //JCROSS CORE JAVASCRIPT CODE var InGap = false; var CurrentBox = null; var Feedback = ''; var AcrossCaption = ''; var DownCaption = ''; var Correct = '[strCorrect]'; var Incorrect = '[strIncorrect]'; var GiveHint = '[strGiveHint]'; var YourScoreIs = '[strYourScoreIs]'; var BuiltGrid = ''; var BuiltExercise = ''; var Penalties = 0; var Score = 0; var InTextBox = false; var Locked = false; var TimeOver = false; var CaseSensitive = [boolCaseSensitive]; var InputStuff = '
[strClueNum]: '; InputStuff += '[strClue] '; InputStuff += ''; InputStuff += '[inclHint][/inclHint]'; InputStuff += '
'; var CurrBoxElement = null; var Finished = false; function StartUp(){ RemoveBottomNavBarForIE(); //Show a keypad if there is one (added bugfix for 6.0.4.12) if (document.getElementById('CharacterKeypad') != null){ document.getElementById('CharacterKeypad').style.display = 'block'; } [inclScorm1.2] ScormStartUp(); [/inclScorm1.2] AcrossCaption = document.getElementById('CluesAcrossLabel').innerHTML; DownCaption = document.getElementById('CluesDownLabel').innerHTML; [inclSendResults] GetUserName(); [/inclSendResults] [inclPreloadImages] PreloadImages([PreloadImageList]); [/inclPreloadImages] [inclTimer] StartTimer(); [/inclTimer] } function GetAnswerLength(Across,x,y){ Result = 0; if (Across == false){ while ((x 0)){ Result += L[x][y].length; x++; } return Result; } else{ while ((y 0)){ Result += L[x][y].length; y++; } return Result; } } function GetEditSize(Across,x,y){ var Len = GetAnswerLength(Across,x,y); if (IsCJK(L[x][y].charCodeAt(0))){ Len *= 2; } return Len; } function ShowClue(ClueNum,x,y){ var Result = ''; var Temp; var strParams; var Clue = document.getElementById('Clue_A_' + ClueNum); if (Clue != null){ Temp = InputStuff.replace(/\[ClueNum\]/g, ClueNum); Temp = Temp.replace(/\[strClueNum\]/g, AcrossCaption + ' ' + ClueNum); strParams = 'true,' + ClueNum + ',' + x + ',' + y + ',\'[strBoxId]\''; Temp = Temp.replace(/\[strParams\]/g, strParams); Temp = Temp.replace(/\[strBoxId\]/g, 'GA_' + ClueNum + '_' + x + '_' + y); Temp = Temp.replace(/\[strEditSize\]/g, GetEditSize(true,x,y)); Temp = Temp.replace(/\[strMaxLength\]/g, GetAnswerLength(true,x,y)); Temp = Temp.replace(/\[strClue\]/g, Clue.innerHTML, Temp); Result += Temp; } Clue = document.getElementById('Clue_D_' + ClueNum); if (Clue != null){ Temp = InputStuff.replace(/\[ClueNum\]/g, ClueNum); Temp = Temp.replace(/\[strClueNum\]/g, DownCaption + ' ' + ClueNum); strParams = 'false,' + ClueNum + ',' + x + ',' + y + ',\'[strBoxId]\''; Temp = Temp.replace(/\[strParams\]/g, strParams); Temp = Temp.replace(/\[strBoxId\]/g, 'GD_' + ClueNum + '_' + x + '_' + y); Temp = Temp.replace(/\[strEditSize\]/g, GetAnswerLength(false,x,y)); Temp = Temp.replace(/\[strClue\]/g, Clue.innerHTML, Temp); Result += Temp; } document.getElementById('ClueEntry').innerHTML = Result; } function EnterGuess(Across,ClueNum,x,y,BoxId){ if (document.getElementById(BoxId) != null){ var Guess = document.getElementById(BoxId).value; var AnsLength = GetAnswerLength(Across,x,y); EnterAnswer(Guess,Across,AnsLength,x,y); } } function SplitStringToPerceivedChars(InString, PC){ var Temp = InString.charAt(0); if (InString.length > 1){ for (var i=1; i'; } Output += YourScoreIs + ' ' + Score + '%.
'; if (AllCorrect == false){ Output += Incorrect; Penalties++; } ShowMessage(Output); WriteToInstructions(Output); if ((AllCorrect == true)||(TimeOver == true)){ [inclSendResults] setTimeout('SendResults(' + Score + ')', 50); [/inclSendResults] [inclTimer] window.clearInterval(Interval); [/inclTimer] TimeOver = true; Locked = true; Finished = true; setTimeout('Finish()', SubmissionTimeout); } [inclScorm1.2] if (AllCorrect == true){ SetScormComplete(); } else{ SetScormIncomplete(); } [/inclScorm1.2] } function Finish(){ //If there's a form, fill it out and submit it if (document.store != null){ Frm = document.store; Frm.starttime.value = HPNStartTime; Frm.endtime.value = (new Date()).getTime(); Frm.mark.value = Score; Frm.submit(); } } function TypeChars(Chars){ if (CurrentBox != null){ CurrentBox.value += Chars; } } [inclTimer] function TimesUp() { document.getElementById('Timer').innerHTML = '[strTimesUp]'; [inclPreloadImages] RefreshImages(); [/inclPreloadImages] TimeOver = true; Finished = true; CheckAnswers(); Locked = true; [inclScorm1.2] SetScormTimedOut(); [/inclScorm1.2] } [/inclTimer]