';
//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]='Hans und Lene lernten sich kennen. Es herrschte die Nazi-Diktatur in Deutschland.';
I[0][1] = new Array();
I[0][1][0] = new Array();
I[0][1][0][0]='Als Hans und Lene sich kennenlernten, herrschte die Nazi-Diktatur in Deutschland.';
I[0][1][1] = new Array();
I[0][1][1][0]='Hans und Lene lernten sich kennen, w\u00E4hrend die Nazi-Diktatur in Deutschland herrschte.';
I[0][1][2] = new Array();
I[0][1][2][0]='Hans und Lene lernten sich kennen, w\u00E4hrend in Deutschland die Nazi-Diktatur herrschte.';
I[0][1][3] = new Array();
I[0][1][3][0]='Hans und Lene lernten sich kennen, als in Deutschland die Nazi-Diktatur herrschte.';
I[1] = new Array();
I[1][0]='Lene und Hans suchten nur ihr privates Gl\u00FCck. Die Juden wurden \u00F6ffentlich verfolgt.';
I[1][1] = new Array();
I[1][1][0] = new Array();
I[1][1][0][0]='Lene und Hans suchten nur ihr privates Gl\u00FCck, w\u00E4hrend die Juden \u00F6ffentlich verfolgt wurden.';
I[1][1][1] = new Array();
I[1][1][1][0]='W\u00E4hrend Lene und Hans nur ihr privates Gl\u00FCck suchten, wurden die Juden \u00F6ffentlich verfolgt.';
I[2] = new Array();
I[2][0]='Hans w\u00E4re f\u00FCr Lene in die Partei eingetreten. Sie wollte es nicht.';
I[2][1] = new Array();
I[2][1][0] = new Array();
I[2][1][0][0]='Hans w\u00E4re f\u00FCr Lene in die Partei eingetreten, aber sie wollte es nicht.';
I[3] = new Array();
I[3][0]='Hans wurde einberufe. Lene liess das Tablett fallen.';
I[3][1] = new Array();
I[3][1][0] = new Array();
I[3][1][0][0]='Als Hans einberufen wurde, liess Lene das Tablett fallen.';
I[3][1][1] = new Array();
I[3][1][1][0]='Lene liess das Tablett fallen, als Hans einberufen wurde.';
I[3][1][2] = new Array();
I[3][1][2][0]='Lene liess das Tablett fallen, weil Hans einberufen wurde.';
I[3][1][3] = new Array();
I[3][1][3][0]='Weil Hans einberufen wurde, liess Lene das Tablett fallen.';
I[4] = new Array();
I[4][0]='Hans weinte verzweifelt. Die erschossene Polin hatte ausgesehen wie seine Frau.';
I[4][1] = new Array();
I[4][1][0] = new Array();
I[4][1][0][0]='Hans weinte verzweifelt, da die erschossene Polin wie seine Frau ausgesehen hatte.';
I[4][1][1] = new Array();
I[4][1][1][0]='Hans weinte verzweifelt, denn die erschossene Polin hatte wie seine Frau ausgesehen.';
I[4][1][2] = new Array();
I[4][1][2][0]='Hans weinte verzweifelt, weil die erschossene Polin wie seine Frau ausgesehen hatte.';
I[4][1][3] = new Array();
I[4][1][3][0]='Da die erschossene Polin wie seine Frau ausgesehen hatte, weinte Hans verzweifelt.';
I[5] = new Array();
I[5][0]='Hans kam auf Urlaub zur\u00FCck. Sie waren sich fremd geworden.';
I[5][1] = new Array();
I[5][1][0] = new Array();
I[5][1][0][0]='Als Hans auf Urlaub zur\u00FCck kam, waren sie sich fremd geworden.';
I[5][1][1] = new Array();
I[5][1][1][0]='Sie waren sich fremd geworden, als Hans auf Urlaub zur\u00FCck kam.';
I[6] = new Array();
I[6][0]='Lene wollte ein Kind. Etwas sollte von Hans da bleiben.';
I[6][1] = new Array();
I[6][1][0] = new Array();
I[6][1][0][0]='Lene wollte ein Kind, damit etwas von Hans da bleibt.';
I[6][1][1] = new Array();
I[6][1][1][0]='Lene wollte ein Kind, dasst etwas von Hans da bleibt.';
I[7] = new Array();
I[7][0]='Alles ging verloren. Lene und Anna waren vergn\u00FCgt.';
I[7][1] = new Array();
I[7][1][0] = new Array();
I[7][1][0][0]='Nachdem alles verloren ging, waren Lene und Anna vergn\u00FCgt.';
I[7][1][1] = new Array();
I[7][1][1][0]='Als alles verloren ging, waren Lene und Anna vergn\u00FCgt.';
I[7][1][2] = new Array();
I[7][1][2][0]='Obwohl alles verloren ging, waren Lene und Anna vergn\u00FCgt.';
I[7][1][3] = new Array();
I[7][1][3][0]=' Lene und Anna waren vergn\u00FCgt, obwohl alles verloren ging.';
I[8] = new Array();
I[8][0]='Lene erz\u00E4hlte ihrer Tochter ein grausames M\u00E4rchen. Sie wanderten durch den Schnee.';
I[8][1] = new Array();
I[8][1][0] = new Array();
I[8][1][0][0]='Lene erz\u00E4hlte ihrer Tochter ein grausames M\u00E4rchen, w\u00E4hrend sie durch den Schnee wanderten.';
I[8][1][1] = new Array();
I[8][1][1][0]='W\u00E4hrend sie durch den Schnee wanderten, erz\u00E4hlte Lene ihrer Tochter ein grausames M\u00E4rchen.';
I[8][1][2] = new Array();
I[8][1][2][0]='Lene erz\u00E4hlte ihrer Tochter ein grausames M\u00E4rchen, als sie durch den Schnee wanderten.';
I[8][1][3] = new Array();
I[8][1][3][0]='Als sie durch den Schnee wanderten, erz\u00E4hlte Lene ihrer Tochter ein grausames M\u00E4rchen.';
I[9] = new Array();
I[9][0]='Der Krieg war zu Ende. Lene wurde vergewaltigt.';
I[9][1] = new Array();
I[9][1][0] = new Array();
I[9][1][0][0]='Nachdem der Krieg zu Ende war, wurde Lene vergewaltigt.';
I[9][1][1] = new Array();
I[9][1][1][0]='Als der Krieg zu Ende war, wurde Lene vergewaltigt.';
I[10] = new Array();
I[10][0]='Hans wird vor Ulrich bef\u00F6rdert. Er war nicht in der Partei.';
I[10][1] = new Array();
I[10][1][0] = new Array();
I[10][1][0][0]='Hans wird vor Ulrich bef\u00F6rdert, weil er nicht in der Partei war.';
I[10][1][1] = new Array();
I[10][1][1][0]='Hans wird vor Ulrich bef\u00F6rdert, denn er war nicht in der Partei.';
I[10][1][2] = new Array();
I[10][1][2][0]='Da er nicht in der Partei war, wird Hans vor Ulrich bef\u00F6rdert.';
I[11] = new Array();
I[11][0]='Der reiche Verwandte machte wieder Karriere. Er hatte eine hohe Position im Nazi-Staat gehabt.';
I[11][1] = new Array();
I[11][1][0] = new Array();
I[11][1][0][0]='Der reiche Verwandte machte wieder Karriere, obwohl er eine hohe Position im Nazi-Staat gehabt hatte. ';
I[11][1][1] = new Array();
I[11][1][1][0]='Obwohl er eine hohe Position im Nazi-Staat gehabt hatte, machte der reiche Verwandte wieder Karriere.';
I[11][1][2] = new Array();
I[11][1][2][0]='Er hatte eine hohe Position im Nazi-Staat gehabt. Trotzdem machte der reiche Verwandte wieder Karriere.';
I[11][1][3] = new Array();
I[11][1][3][0]='Trotz seiner hohen Position im Nazi-Staat machte der reiche Verwandte wieder Karriere.';
I[12] = new Array();
I[12][0]='Lene und Hans k\u00F6nnen sich nicht mehr lieben. Der Krieg hatte ihre Pers\u00F6nlichkeit ver\u00E4ndert.';
I[12][1] = new Array();
I[12][1][0] = new Array();
I[12][1][0][0]='Lene und Hans k\u00F6nnen sich nicht mehr lieben, da der Krieg ihre Pers\u00F6nlichkeit ver\u00E4ndert hatte.';
I[12][1][1] = new Array();
I[12][1][1][0]='Lene und Hans k\u00F6nnen sich nicht mehr lieben, denn der Krieg hatte ihre Pers\u00F6nlichkeit ver\u00E4ndert.';
I[12][1][2] = new Array();
I[12][1][2][0]='Lene und Hans k\u00F6nnen sich nicht mehr lieben, weil der Krieg ihre Pers\u00F6nlichkeit ver\u00E4ndert hatte.';
I[12][1][3] = new Array();
I[12][1][3][0]='Da der Krieg ihre Pers\u00F6nlichkeit ver\u00E4ndert hatte, k\u00F6nnen Lene und Hans sich nicht mehr lieben.';
I[13] = new Array();
I[13][0]='Anna ist ein ungl\u00FCckliches Kind. Beide Eltern haben den Krieg \u00FCberlebt.';
I[13][1] = new Array();
I[13][1][0] = new Array();
I[13][1][0][0]='Obwohl beide Eltern den Krieg \u00FCberlebt haben, ist Anna ein ungl\u00FCckliches Kind.';
I[13][1][1] = new Array();
I[13][1][1][0]='Anna ist ein ungl\u00FCckliches Kind, obwohl beide Eltern den Krieg \u00FCberlebt haben.';
I[13][1][2] = new Array();
I[13][1][2][0]='Beide Eltern haben den Krieg \u00FCberlebt. Trotzdem ist Anna ein ungl\u00FCckliches Kind.';
I[14] = new Array();
I[14][0]='Anna wurde geboren. Es war Krieg. Nun war der Krieg im Wohnzimmer.';
I[14][1] = new Array();
I[14][1][0] = new Array();
I[14][1][0][0]='Als Anna gebroren wurde, war Krieg, aber nun war der Krieg im Wohnzimmer.';
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){
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;
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';
}
//Add the current score
Output += YourScoreIs + ' ' + CalculateScore() + '%. ';
WriteFeedback(Output);
return true;
}
function Blank(){
return '
©Half-Baked Software. Loading...