';
//Write it to the frame
TopFrame.document.clear();
TopFrame.document.open();
TopFrame.document.write(OutString);
TopFrame.document.close();
}
function Restart(){
Penalties = 0;
GuessSequence.length = 0;
Segments = Shuffle(Segments);
BuildCurrGuess();
WriteFeedback(RemainingWords + '
' + RemainingList + '');
BuildExercise();
DisplayExercise(Exercise);
}
function Undo(){
if (GuessSequence.length < 1){
return;
}
GuessSequence.length = GuessSequence.length - 1;
BuildCurrGuess();
WriteFeedback('
' + Output + '' + RemainingWords + '
' + RemainingList + '');
BuildExercise();
DisplayExercise(Exercise);
}
function AddSegment(SegNum){
GuessSequence[GuessSequence.length] = SegNum;
BuildCurrGuess();
WriteFeedback('
' + Output + '');
// WriteFeedback('
' + Output + '' + RemainingWords + '
' + RemainingList + '');
BuildExercise();
DisplayExercise(Exercise);
}
function BuildCurrGuess(){
var i = 0;
var j = 0;
var NewSeg = '';
//first, create arrays of all the segments guessed so far and those not yet used
GuessSegs = new Array();
GuessSegs.length = 0;
//set the "used" markers all to 0
for (i=0; i
0){
OutString = OutArray[0];
}
else{
OutString = '';
}
var Spacer = '';
for (i=1; i -1)||(Punctuation.indexOf(OutArray[i].charAt(0)) > -1)){
Spacer = '';
}
OutString = OutString + Spacer + OutArray[i];
}
//Capitalize the first letter if necessary
if (CapitalizeFirst == true){
i = 0;
if ((Openers.indexOf(OutString.charAt(i))>-1)||(OutString.charAt(i) == ' ')){
i++;
}
if ((Openers.indexOf(OutString.charAt(i))>-1)||(OutString.charAt(i) == ' ')){
i++;
}
var Temp = OutString.charAt(i);
Temp = Temp.toUpperCase();
OutString = OutString.substring(0, i) + Temp + OutString.substring(i+1, OutString.length);
}
return OutString;
}
function CheckAnswer(CheckType){
if (GuessSequence.length < 1){
if (CheckType == 1){
WriteFeedback(NextCorrect + '
' + FindSegment(Answers[0][0]) + '');
Penalties++;
}
return;
}
var i = 0;
var j = 0;
var k = 0;
var WellDone = '';
var WhichCorrect = -1;
var TryAgain = '';
var LongestCorrectBit = '';
TempCorrect = new Array();
LongestCorrect = new Array();
var TempHint = '';
var HintToReturn = 1;
var OtherAnswers = '';
for (i=0; i LongestCorrect.length){
LongestCorrect.length = 0;
for (k=0; k -1){
for (i=0; i' + CompileString(Answers[i]);
}
}
WellDone = '' + Output + '
' + CorrectResponse + '
';
//Do score calculation here
var Score = Math.floor(((Segments.length-Penalties) * 100)/Segments.length);
WellDone += YourScoreIs + ' ' + Score + '%.
';
if (OtherAnswers.length > 0){
WellDone += TheseAnswersToo + '' + OtherAnswers + '';
}
WriteFeedback(WellDone);
return;
}
else{
TryAgain = '' + CompileString(GuessSequence) + '
';
Penalties++;
if (CheckType == 0){
TryAgain += IncorrectResponse + '
';
}
if (LongestCorrect.length > 0){
LongestCorrectBit = CompileString(LongestCorrect);
GuessSequence.length = LongestCorrect.length;
TryAgain += ThisMuchCorrect + '
' + LongestCorrectBit + '
';
}
if (CheckType == 1){
TryAgain += NextCorrect + '
' + FindSegment(HintToReturn);
}
WriteFeedback(TryAgain);
BuildCurrGuess();
BuildExercise();
DisplayExercise(Exercise);
}
}
function FindSegment(SegID){
var Seg = '';
for (var i=0; i-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 DisplayExercise(StuffToDisplay){
//Build the output string
var OutString = '';
OutString += '';
OutString += '
';
OutString += '';
OutString += TitleCode;
OutString += '| ';
OutString += '';
OutString += StuffToDisplay;
OutString += ' |
';
OutString += NavBar;
OutString += '
';
if (is.CRAPBrowser){OutString=ResolveAllURLs(OutString);}
//Write it to the frame
BottomFrame.document.clear();
BottomFrame.document.open();
BottomFrame.document.write(OutString);
BottomFrame.document.close();
}
function Blank(){
return '
©Half-Baked Software. Loading...