var inhaltArr = new Array();
inhaltArr["bemerkung"] = "Select the incorrect part";
inhaltArr["bemerkung2"] = "Results";
inhaltArr["bemerkung3"] = "Correct answers";
inhaltArr["how_to_use"]="How to use this test";
inhaltArr["your_entry"] = "Your entry";
inhaltArr["your_variant"] = "Your answer was";
inhaltArr["you_have"] = "You have";
inhaltArr["not"] = "not";
inhaltArr["found"] = "found";
inhaltArr["the_error"] = "the error";
inhaltArr["and_your_entry"] = "and your entry is";
inhaltArr["but_your_entry"] = "but your entry is";
inhaltArr["answer"] = "Answer";
inhaltArr["alertKeineWahl"] = "Please, select!";
inhaltArr["you_have_found"] = "You have found";
inhaltArr["correct"] = "correct";
inhaltArr["incorrect"] = "incorrect";
inhaltArr["you_entry_is"] = "of your entry is";
inhaltArr["you_entries_are"] = "of your entries are";
inhaltArr["question"] = "Question";
inhaltArr["questions"] = "Questions";
inhaltArr["out_of"] = "out of";
inhaltArr["this"] = "This";
inhaltArr["part"] = "part";
inhaltArr["parts"] = "parts";
inhaltArr["but_antworten"] = "next question";
inhaltArr["but_naechste"] = "next answer";
inhaltArr["but_test_wiederholen"] = "repeat test";
inhaltArr["but_richtige_antworten"] = "correct answers";
inhaltArr["but_fenster_close"] = "close window";
inhaltArr["go_to"] = "next esl grammar test";
var digits = new Array("one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten");

function MM_reloadPage(init)
{
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

function changeHK(zeichenkette){return zeichenkette.replace(/\'/g,"\\'");}

function deleteAll()
{
	qIdx=0;
	richtigeVorschlaege = 0;
	correct=0;
}

function Killer(){
if (self.parent.frames.length != 0)
if (self.parent.location != document.location) {self.parent.location=document.location}
}

function buildQuestion()
{
	if (qIdx == howMany){
		mode="result";
		gradeTest();
		return;
	}
	parent.frames[1].location.replace('/images/alan/testerrors.html');
}

function buildAnswer()
{
	if (qIdx == howMany){
		mode="end_correct";
		parent.frames[1].location.replace('/images/alan/testerrors.html');
		return;
	}
	parent.frames[1].location.replace('/images/alan/testerrors.html');
}

function correctAnswers()
{
	mode="correct";
	deleteAll();
	parent.frames[1].location.replace('/images/alan/testerrors.html');
}

function makeRadio(letter)
{
	if(mode=="test"){
		return "<INPUT TYPE='radio' NAME='answer' VALUE='" + letter + "' />";
	} else {
		return "&nbsp;";
	}
}

function makeButton()
{
	htab = (mode=="result" || mode=="end_correct")? 37 : 30;
	return "<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 height="+htab+"><TR><TD></TD></TR></TABLE>";
}

function makeButton2()
{
	if(mode=="test"){
		return "<input type=\"Button\" value=\" " + inhaltArr["but_antworten"] + " \" onClick=\"parent.checkSubmit()\" class=\"butcrsr\">";
	}
	if(mode=="correct"){
		return "<input type=\"Button\" name=\"correctButton\" value=\" " + inhaltArr["but_naechste"] + " \" onClick=\"parent.checkSubmitCorrect()\" class=\"butcrsr\">";
	}
}

function makeTextField()
{
	if(mode=="test"){
		return "<TABLE BORDER=\"0\" CELLPADDING=\"1\" CELLSPACING=\"0\"><TR><TD NOWRAP>" +
		inhaltArr["your_entry"] + ":&nbsp;</TD>" +
		"<TD valign=\"bottom\">" +
		"<INPUT TYPE=\"text\" NAME=\"variant\" class=\"entry\" size=\"33\" value=\"\" maxlength=\"45\" id=\"textVariant\">" +
		"</TD></TR></TABLE>";
	} else {
		return "&nbsp;";
	}
}

function testradio()
{
	var x = "none";
	for (i=0;i<parent.frames[1].document.test.answer.length;i++){
		if (parent.frames[1].document.test.answer[i].checked){
			x=parent.frames[1].document.test.answer[i].value;
			break;
		}
	}
	return x;
}

function Vergleich(index)
{
	userOffer[index]=userOffer[index].replace(/\s\s+/g," ").replace(/\s$/,"").replace(/^\s/,"");
	Woerter = units[index].correct.split(";");
	for(j=0; j<Woerter.length; j++){
		if(Woerter[j].toLowerCase() == userOffer[index].toLowerCase()){return true;}
	}
	return false;
}

function gradeTest()
{
	for (var i=0; i < qIdx; i++){
		if (keeper[i] == units[i].answer){
			correct++;
			if(Vergleich(i)){richtigeVorschlaege++;}
		}
	}
	parent.frames[1].location.replace("/images/alan/testerrors.html");
}

function wordHighLight()
{
	Woerter = units[qIdx].correct.split(";");
	Wort="";
	for(j=0; j<Woerter.length; j++){
		if(j==0){Wort = Woerter[j];}
		if(j==1){Wort += " (";}
		if(j>=1){Wort += Woerter[j] + ", ";}
		if(j==(Woerter.length-1) && j!=0){Wort = Wort.substr(0,Wort.lastIndexOf(",")) + ")";}
	}
	return "<SPAN class='cblau'><B>" + Wort + "</B></SPAN>";
}

function richtigeAntwort()
{
	teil1=units[qIdx].a; teil2=units[qIdx].b; teil3=units[qIdx].c;
	if(qw==4){teil4=units[qIdx].d;}
	switch(units[qIdx].answer){
		case "a": teil1 = wordHighLight(); break;
		case "b": teil2 = wordHighLight(); break;
		case "c": teil3 = wordHighLight(); break;
		case "d": teil4 = wordHighLight(); break;
	}
	sentense = units[qIdx].part1 + teil1 + units[qIdx].part2 + teil2 + units[qIdx].part3 + teil3 + units[qIdx].part4;
	if(qw==4){sentense = sentense + teil4 + units[qIdx].part5;}
	return sentense;
}

function hlight(word)
{
	return "<SPAN class='cblau'><B>" + word + "</B></SPAN>";
}

function yourVariant()
{
	v = userOffer[qIdx];
	teil1=units[qIdx].a; teil2=units[qIdx].b; teil3=units[qIdx].c;
	if(qw==4){teil4=units[qIdx].d;}
	switch(keeper[qIdx]){
		case "a": teil1 = (v!="") ? hlight(v) : hlight(teil1); break;
		case "b": teil2 = (v!="") ? hlight(v) : hlight(teil2); break;
		case "c": teil3 = (v!="") ? hlight(v) : hlight(teil3); break;
		case "d": teil4 = (v!="") ? hlight(v) : hlight(teil4); break;
	}
	sentense = units[qIdx].part1 + teil1 + units[qIdx].part2 + teil2 + units[qIdx].part3 + teil3 + units[qIdx].part4;
	if(qw==4){sentense = sentense + teil4 + units[qIdx].part5;}
	return sentense;
}

function makeKeyWord(letter,flag)
{
	if(mode=="test"){
		var teil,wort,index;
		switch(letter){
			case "a":
				teil = units[qIdx].part1;
				wort = units[qIdx].a;
				index = 0;
				break;
			case "b":
				teil = units[qIdx].part2;
				wort = units[qIdx].b;
				index = 1;
				break;
			case "c":
				teil = units[qIdx].part3;
				wort = units[qIdx].c;
				index = 2;
				break;
			case "d":
				teil = units[qIdx].part4;
				wort = units[qIdx].d;
				index = 3;
				break;
		}

		if(flag){
			return teil + "<a href='javascript:void(0)' class='lnk" + letter + "' ONMOUSEOVER=\"window.status='" + changeHK(inhaltArr["bemerkung"]) + "'; return true;\" ONMOUSEOUT='window.status=\"\"; return true;' ONCLICK='parent.ankreuzen(" + index + "); return false;'><span class='text'>" + wort + "</span></a>";
		} else {
			return "<a href='javascript:void(0)' class='txt' ONMOUSEOVER=\"window.status='" + changeHK(inhaltArr["bemerkung"]) + "'; return true;\" ONMOUSEOUT=\"window.status=''; return true;\" ONCLICK='parent.ankreuzen(" + index + "); return false;'> (<span class='c" + letter + "'>" + letter + "</span>)&nbsp; " + wort + "</a>";
		}
	} else {
		return "&nbsp;";
	}
}

function writeTR(letter)
{
	tmp_writetr = "<TR><TD height=22 width=22 nowrap>";
	if(qw==3 && letter=="d"){
		tmp_writetr += "&nbsp;";
	} else {
		tmp_writetr += makeRadio(letter);
	}
	tmp_writetr += "</TD><TD width=544 nowrap>";
	if(qw==3 && letter=="d"){
		tmp_writetr += "&nbsp;";
	} else {
		tmp_writetr += makeKeyWord(letter,false);
	}
	tmp_writetr += "</TD></TR>";
	return tmp_writetr;
}

function makeTR(letter)
{
	if(letter!="d"){
		return writeTR(letter);
	} else {
		if(mode=="correct" && keeper[qIdx]!=""){
			if(keeper[qIdx]==units[qIdx].answer)
			{
				if(Vergleich(qIdx)){
					return  "<TR><TD height=22 colspan=2 valign=bottom nowrap><B class='y'>" + inhaltArr["you_have"] + "</B> <SPAN class=\"cgreen\"><B>" + inhaltArr["found"] + "</B></SPAN> <B class='y'>" + inhaltArr["the_error"] + " " + inhaltArr["and_your_entry"] + "</B> <SPAN class=\"cgreen\"><B>" + inhaltArr["correct"] + "</B></SPAN></TD></TR>";
				} else {
					return  "<TR><TD height=22 colspan=2 valign=bottom nowrap><B class='y'>" + inhaltArr["you_have"] + "</B> <SPAN class=\"cgreen\"><B>" + inhaltArr["found"] + "</B></SPAN> <B class='y'>" + inhaltArr["the_error"] + " " + inhaltArr["but_your_entry"] + "</B> <SPAN class=\"cred\"><B>" + inhaltArr["incorrect"] + "</B></SPAN></TD></TR>";
				}
			}
			else
			{
				return  "<TR><TD height=22 colspan=2 valign=bottom nowrap><B class='y'>" + inhaltArr["you_have"] + "</B> <SPAN class=\"cred\"><B>" + inhaltArr["not"] + " " + inhaltArr["found"] + "</B></SPAN> <B class='y'>" + inhaltArr["the_error"] + "</B></TD></TR>";
			}
		} else {
			if(mode=="correct" && keeper[qIdx]==""){
				return  "<TR><TD height=22 colspan=2 valign=bottom nowrap><B class='y'>no answer</B></TD></TR>";
			} else {
				return writeTR(letter);
			}
		}
	}
}

function splitWords(str)
{
	WT = str.split(";");
	WR="";
	for(j=0; j<WT.length; j++){
		if(j==0){WR = WT[j];}
		if(j==1){WR += " (";}
		if(j>=1){WR += WT[j] + ", ";}
		if(j==(WT.length-1) && j!=0){WR = WR.substr(0,WR.lastIndexOf(",")) + ")";}
	}
	return WR;
}

function makeYourVariant()
{
	tmp_makevar = "<TR><TD colspan=2 height=72>";
	tmp_var2 = "";
	if(mode=="correct"){
		tmp_var2 = "<BR><A HREF='"+defineURL+"#"+digits[qIdx]+"' target='_top' onclick='parent.frames[1].document.test.correctButton.focus();' class='lrc'>Translate and define <B>"+splitWords(units[qIdx].correct)+"</B></A>";
	}
	if(mode=="correct" && keeper[qIdx]!=""){
		tmp_makevar += "<TABLE width=566 height=70 BORDER=0 CELLPADDING=0 CELLSPACING=0><TR><TD valign=top class=\"lineh\">";
		if((keeper[qIdx]==units[qIdx].answer) && (Vergleich(qIdx))){
			tmp_makevar += "&nbsp;";
		} else {
			tmp_makevar += yourVariant();
		}
		tmp_makevar += tmp_var2 + "</TD></TR><TR><TD HEIGHT=5><IMG SRC=\"/s.gif\" WIDTH=1 HEIGHT=5 BORDER=0 ALT=\"\"></TD></TR></TABLE>";
	} else {
		tmp_makevar += makeTextField();
	}
	tmp_makevar += "</TR></TR>";
	return tmp_makevar;
}

function writeSentense()
{
	tmp_writeSentense = makeKeyWord("a",true) + makeKeyWord("b",true) + makeKeyWord("c",true);
	if(qw==4){
		tmp_writeSentense = tmp_writeSentense + makeKeyWord("d",true) + units[qIdx].part5;
	} else {
		tmp_writeSentense = tmp_writeSentense + units[qIdx].part4;
	}
	return tmp_writeSentense;
}

function testNumber(){
	return "<NOBR>" + inhaltArr["commentTest"] + "<BR>" + inhaltArr["bezeichTest"] + "</NOBR>";
}

function ankreuzen(index){
	parent.frames[1].document.test.answer[index].checked = "true";
	parent.frames[1].document.test.variant.focus();
}

function checkSubmit()
{
	testRadioFlag = testradio();
	if(testRadioFlag=="none"){
		alert(inhaltArr["alertKeineWahl"]);
		return false;
	}
	if (parent.frames[1].submitCount == 0){
		parent.frames[1].submitCount++;
		userOffer[qIdx]=parent.frames[1].document.test.variant.value;
		keeper[qIdx]=testRadioFlag;
		qIdx++;
		buildQuestion();
	}
	return false;
}

function checkSubmitCorrect()
{
	if (parent.frames[1].submitCount == 0){
		parent.frames[1].submitCount++;
		qIdx++;
		buildAnswer();
	}
	return false;
}

function createdby()
{
	if(parent.autorurl != ""){
		myauthor = '<A HREF="'+parent.autorurl+'" target="_top" class="lblue">'+parent.autorname+'</A>';
	} else {
		myauthor = parent.autorname;
	}
	jetzt = new Date();
	Jahr = jetzt.getFullYear();
	return '<TABLE WIDTH="100%" BORDER=0 CELLPADDING=0 CELLSPACING=0 height=30><TR valign="middle"><TD nowrap class="tdsmall">'+doorway+'</TD><TD nowrap align="right" class="tdsmall" class="tdsmall"><NOBR>&copy; 2003-'+Jahr+' <A HREF="http://www.english-test.net/" target="_top" class="lblue">www.english-test.net</A></NOBR></TD></TR></TABLE>';
}