';
//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 Allierten) haben Deutschland besetzt und in vier Teile geteilt.';
I[0][1] = new Array();
I[0][1][0] = new Array();
I[0][1][0][0]='Deutschland ist besetzt und in vier Teile geteilt worden.';
I[0][1][1] = new Array();
I[0][1][1][0]='Deutschland ist besetzt worden und in vier Teile geteilt worden.';
I[1] = new Array();
I[1][0]='Diese Teile nannte (man) "Zonen".';
I[1][1] = new Array();
I[1][1][0] = new Array();
I[1][1][0][0]='Diese Teile wurden "Zonen" genannt.';
I[1][1][1] = new Array();
I[1][1][1][0]='Diese Teile Wurden Zonen genannt.';
I[2] = new Array();
I[2][0]='(Die Besatzer) sollten die Deutschen "entnazifizieren" und umerziehen.';
I[2][1] = new Array();
I[2][1][0] = new Array();
I[2][1][0][0]='Die Deutschen sollten "entnazifiziert" und umerzogen werden.';
I[2][1][1] = new Array();
I[2][1][1][0]='Die Deutschen sollten entnazifiziert und umerzogen werden.';
I[3] = new Array();
I[3][0]='(Sie) verfolgten die Nazis und sollten sie bestrafen.';
I[3][1] = new Array();
I[3][1][0] = new Array();
I[3][1][0][0]='Die Nazis wurden verfolgt und sollten bestraft werden.';
I[3][1][1] = new Array();
I[3][1][1][0]='Die Nazis wurden verfolgt, um sie zu bestrafen.';
I[4] = new Array();
I[4][0]='Das N\u00FCrnberger Kriegsverbrechertribunal verurteilte einige der Hauptverantwortlichen f\u00FCr den Naziterror.';
I[4][1] = new Array();
I[4][1][0] = new Array();
I[4][1][0][0]='Einige der Hauptverantwortlichen f\u00FCr den Naziterror wurden vom N\u00FCrnberger Kriegsverbrechertribunal verurteilt.';
I[4][1][1] = new Array();
I[4][1][1][0]='Vom N\u00FCrnberger Kriegsverbrechertribunal wurden einige der Hauptverantwortlichen f\u00FCr den Naziterror verurteilt.';
I[5] = new Array();
I[5][0]='Aber (die Alliierten) konnten viele Kriegsverbrecher nicht fassen und verhaften.';
I[5][1] = new Array();
I[5][1][0] = new Array();
I[5][1][0][0]='Aber viele Kriegsverbrecher konnten nicht gefasst und verhaftet werden.';
I[6] = new Array();
I[6][0]='Oft verurteilten (die Gerichte) Mitl\u00E4ufer und untergeordnete T\u00E4ter zu harten Strafen.';
I[6][1] = new Array();
I[6][1][0] = new Array();
I[6][1][0][0]='Oft wurden Mitl\u00E4ufer und untergeordnete T\u00E4ter zu harten Strafen verurteilt.';
I[6][1][1] = new Array();
I[6][1][1][0]='Mitl\u00E4ufer und untergeordnete T\u00E4ter wurden oft zu harten Strafen verurteilt.';
I[7] = new Array();
I[7][0]='(Die Gerichte) konnten die Schuld der Schreibtischt\u00E4ter nicht so leicht beweisen.';
I[7][1] = new Array();
I[7][1][0] = new Array();
I[7][1][0][0]='Die Schuld der Schreibtischt\u00E4ter konnte nicht so leicht bewiesen werden.';
I[8] = new Array();
I[8][0]='Die Richter bestraften sie deshalb oft leichter.';
I[8][1] = new Array();
I[8][1][0] = new Array();
I[8][1][0][0]='Sie wurden deshalb von den Richtern oft leichter bestraft.';
I[8][1][1] = new Array();
I[8][1][1][0]='Deshalb wurden sie von den Richtern oft leichter bestraft.';
I[9] = new Array();
I[9][0]='(Auch \u00FCberlagerte der kalte Krieg bald die Verfolgung der Nazis, sodass die Regel zu gelten schien:) (die Gerichte) bestrafen die Kleinen und lassen die Grossen laufen.';
I[9][1] = new Array();
I[9][1][0] = new Array();
I[9][1][0][0]='Die Kleinen werden bestraft und die Grossen laufen gelassen.';
I[9][1][1] = new Array();
I[9][1][1][0]='Die Kleinen werden bestraft und die Grossen werden laufen gelassen.';
I[10] = new Array();
I[10][0]='(Adenauer) hat sp\u00E4ter viele ehemalige Nazis in verantwortliche Positionen gebracht.';
I[10][1] = new Array();
I[10][1][0] = new Array();
I[10][1][0][0]='Sp\u00E4ter wurden viele ehemalige Nazis in verantwortliche Positionen gebracht.';
I[10][1][1] = new Array();
I[10][1][1][0]='Viele ehemalige Nazis wurden sp\u00E4ter in verantwortliche Positionen gebracht.';
I[11] = new Array();
I[11][0]='(Die Bundesregierung) sah den Wiederaufbau f\u00FCr wichtiger an als den Bruch mit der Vergangenheit.';
I[11][1] = new Array();
I[11][1][0] = new Array();
I[11][1][0][0]='Der Wiederaufbau wurde f\u00FCr wichtiger angesehen als der Bruch mit der Vergangenheit.';
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...