[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 = '
';
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]