';
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 StartUp(){
//Write the top frame
WriteFeedback(Instructions);
if ((is.mac)&&(is.ns)) {
FocusBoxes = false;
}
//Reduce array if required
if (QsToShow < I.length){
ReduceItems();
}
//Shuffle stuff if required
if (ShuffleQs == true){
I = Shuffle(I);
}
//Create arrays
CreateStatusArrays();
//Show the first question or all of them
if (ShowOneByOne == false){
ShowAllQs();
}
else{
ShowQuestion(CurrQNum);
}
//Focus the first box
var Box = eval('BottomFrame.document.QForm0.Guess');
if (Box != null){
Box.focus();
}
}
I = new Array();
I[0] = new Array();
I[0][0]='Die Hauptsatdt der Bundesrepublik war bis zur Wiedervereinigung';
I[0][1] = new Array();
I[0][1][0] = new Array();
I[0][1][0][0]='Bonn';
I[1] = new Array();
I[1][0]='Die Bundesl\u00E4nder, die auf dem Territorium der Ex-DDR liegen, nennen wir';
I[1][1] = new Array();
I[1][1][0] = new Array();
I[1][1][0][0]='neue Bundesl\u00E4nder';
I[2] = new Array();
I[2][0]='M\u00FCnchen ist die Hauptstadt von';
I[2][1] = new Array();
I[2][1][0] = new Array();
I[2][1][0][0]='Bayern';
I[3] = new Array();
I[3][0]='Hier hat die Weltausstellung stattgefunden. Es ist die Hauptsadt von Niedersachsen.';
I[3][1] = new Array();
I[3][1][0] = new Array();
I[3][1][0][0]='Hannover';
I[4] = new Array();
I[4][0]='Das gr\u00F6\u00DFte Industriegebiet Europas ist das Ruhrgebiet. Es liegt in Nordrhein-Westfalen. Die Hauptstadt dieses Bundeslandes ist';
I[4][1] = new Array();
I[4][1][0] = new Array();
I[4][1][0][0]='D\u00FCsseldorf';
I[5] = new Array();
I[5][0]='Norden? S\u00FCden? Osten? Westen?
Bayern und Baden-W\u00FCrtemberg liegen im';
I[5][1] = new Array();
I[5][1][0] = new Array();
I[5][1][0][0]='S\u00FCden';
I[6] = new Array();
I[6][0]='Norden? S\u00FCden? Osten? Westen?
Schleswig-Holstein liegt im ';
I[6][1] = new Array();
I[6][1][0] = new Array();
I[6][1][0][0]='Norden';
I[7] = new Array();
I[7][0]='Norden? S\u00FCden? Osten? Westen?
Brandenburg und Sachsen liegen im';
I[7][1] = new Array();
I[7][1][0] = new Array();
I[7][1][0][0]='Osten';
I[8] = new Array();
I[8][0]='Berlin, Hamburg, Frankfurt und Bremen sind Stadtstaaten.
Welche Stadt ist FALSCH in der Liste?';
I[8][1] = new Array();
I[8][1][0] = new Array();
I[8][1][0][0]='Frankfurt';
Status = new Array();
function CreateStatusArrays(){
Status.length = 0;
for (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 ChangeQ(ChangeBy){
// if (Status[CurrQNum][0] < 1) {return;}
var NewNum = CurrQNum + ChangeBy;
if ((NewNum >= 0)&&(NewNum Longest){
Longest = I[QNum][1][i][0].length;
}
}
var AnsBox = '';
if (Longest > 20){
AnsBox = LongAnswer;
}
else{
AnsBox = ReplaceStuff('[AnswerSize]', (Longest + ''), ShortAnswer);
}
var AnsRow = ReplaceStuff('[AnswerBox]', AnsBox, ARow);
Temp += AnsRow;
Temp += BtnRow;
Temp = ReplaceStuff('[QNumber]', QNum+1, Temp);
Temp = ReplaceStuff('[QNum]', QNum, Temp);
return Temp;
}
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 ShowAllQs(){
var Output = '';
for (var i=0; i
| ';
}
Output = Output + BuildQuestion(I.length-1);
Output = TableOpener + Output + TableCloser;
DisplayExercise(Output);
}
function ShowQuestion(QNum){
//First, create the Q number readout at the top
var Readout = (QNum+1) + '/' + I.length;
while (Readout.length < 7){
Readout = ' ' + Readout + ' ';
}
Readout = QButtonsOpener + Readout + QButtonsCloser;
var Output = BuildQuestion(QNum);
Output = TableOpener + Output + TableCloser;
DisplayExercise(Readout + Output);
//Replace the student's answer
var Box = eval('BottomFrame.document.QForm' + QNum + '.Guess');
if (Box != null){
if (Status[QNum][3].length > 0){
Box.value = Status[QNum][3];
}
Box.focus();
}
}
function TrimString(InString){
var x = 0
if (InString.length != 0) {
while ((InString.charAt(InString.length - 1) == '\u0020') || (InString.charAt(InString.length - 1) == '\u000A') || (InString.charAt(InString.length - 1) == '\u000D')){
InString = InString.substring(0, InString.length - 1)
}
while ((InString.charAt(0) == '\u0020') || (InString.charAt(0) == '\u000A') || (InString.charAt(0) == '\u000D')){
InString = InString.substring(1, InString.length)
}
while (InString.indexOf(' ') != -1) {
x = InString.indexOf(' ')
InString = InString.substring(0, x) + InString.substring(x+1, InString.length)
}
return InString;
}
else {
return '';
}
}
function RemovePunctuation(InString){
var OutString = '';
for (i=0; i InArray[Longest].length){
Longest = i;
}
}
return Longest;
}
function CheckWords(Guess, Answer){
var Start = 0;
var End = 0;
var LoopCounter = 0;
var ReturnList = '';
var i = 0;
var j = 0;
GuessWords = new Array();
AnswerWords = new Array();
Guess = RemovePunctuation(Guess);
Answer = RemovePunctuation(Answer);
while (Guess.indexOf(' ', Start) > -1) {
End = Guess.indexOf(' ', Start);
GuessWords[LoopCounter] = Guess.substring(Start, End).toLowerCase();
LoopCounter++;
Start = End + 1;
}
GuessWords[LoopCounter] = Guess.substring(Start, Guess.length).toLowerCase();
Start = 0;
LoopCounter = 0;
while (Answer.indexOf(' ', Start) > -1) {
End = Answer.indexOf(' ', Start);
AnswerWords[LoopCounter] = Answer.substring(Start, End);
LoopCounter++;
Start = End + 1;
}
AnswerWords[LoopCounter] = Answer.substring(Start, Answer.length);
ReturnList = '';
for (i = 0; i < GuessWords.length; i++){
for (j = 0; j < AnswerWords.length; j++){
if (GuessWords[i] == AnswerWords[j].toLowerCase()){
ReturnList = ReturnList + AnswerWords[j] + ', ' ;
AnswerWords[j] = '';
break;
}
}
}
if (ReturnList.length > 0){
ReturnList = ReturnList.substring(0, ReturnList.length - 2);
}
return ReturnList;
}
function CalculateScore(){
Score = 0;
var DoneQs = 0;
for (i=0; i';};
}
if (Right > -1){
Status[QNum][0] = 1;
Output = CorrectResponse + ' ';
if (OtherAnswers.length > 0){
Output += TheseAnswersToo + '
' + OtherAnswers;
}
//Get the score for this question
var HintPenalty = (Status[QNum][2]*10)/CorrectAs[Right].length;
Status[QNum][4] = Math.floor((10 - Status[QNum][1]) - HintPenalty);
//Check whether the quiz is finished
var Finished = true;
for (var i=0; i 0){
CorrectBits[0][i] = RealAs[i].substring(0,CorrectBits[0][i].length);
}
CorrectBits[1][i] = CheckEnd(Guess, CorrectAs[i]);
if (CorrectBits[1][i].length > 0){
CorrectBits[1][i] = RealAs[i].substring(RealAs[i].length-CorrectBits[1][i].length,RealAs[i].length);
}
CorrectBits[2][i] = CorrectBits[0][i] + ' ... ' + CorrectBits[1][i];
CorrectBits[3][i] = CorrectBits[0][i] + RealAs[i].charAt(CorrectBits[0][i].length);
if (CorrectBits[3][i].charAt(CorrectBits[3][i].length-1) == ' '){
CorrectBits[3][i] += RealAs[i].charAt(CorrectBits[3][i].length);
}
CorrectBits[3][i] += '...'
}
var LongestCorrect = FindLongest(CorrectBits[2]);
if (CorrectBits[2][LongestCorrect].length > 5){
Output = ThisMuchIsCorrect + '
' + CorrectBits[2][LongestCorrect];
}
else{
if (ShowHint == false){
Output = IncorrectResponse;
}
}
//Include words found in the answer
var FoundWords = CheckWords(Guess, CorrectAs[LongestCorrect]);
if (FoundWords.length > 0){
Output += '
' + TheseWordsAppear + FoundWords;
}
if (ShowHint == true){
Output += '
' + GiveHint + CorrectBits[3][LongestCorrect];
}
WriteFeedback(Output);
//Put the focus back in the box
if (FocusBoxes==true){
eval('BottomFrame.document.QForm' + (QNum) + '.Guess').focus();
}
}
}
function ShowAnswers(QNum){
//If the question isn't done, mark it as done. Score will be 0;
if (Status[QNum][0] != 1){
//Question is not already done
Status[QNum][0] = 1;
Status[QNum][1] = -1;
Status[QNum][2] = -1;
}
//Get the correct answers and put them into a string
var Output = TheseCorrect + '
';
Output += I[QNum][1][0][0] + '
';
for (var i=1; i';
}
//Check whether the quiz is finished
var Finished = true;
for (var i=0; i
©Half-Baked Software. Loading...