function iLessonNr_sWordBedNr2hLink(iLessonNr,sWordBedNr) {
	var iLessonNrZweiStellig = '' + (iLessonNr<10?'0':'') + iLessonNr;
	var sURL = '../Vocabulary/lesson' + iLessonNrZweiStellig + '.html';
	if (sWordBedNr) {
		sURL += '#' + sWordBedNr;
	}
	var hLink = '';
	hLink += '<a';
	hLink += ' href="' + sURL + '"'
	hLink += ' target="LessonVocabularyWindow"';
	hLink += '>';
	hLink += iLessonNr;
	hLink += '</a>';

	return hLink;
}


//var iAnzahlWords = 0;
var sAlleWordsAlsZeichenkette = "";
var a_sWordBedNr_sAttribName2sAtribValue = new Array();
var a_sKanjiEuc_sAttribName2sAtribValue = new Array();

//function entryWord(sWordBedNr,sJisWriting,sKanjiWriting,sDesc,iLessonNr)
function W(sWordBedNr,sKanjiWriting,sDesc,iLessonNr) {
//iAnzahlWords++;
//document.forms.hauptform.sWordAnfang.value=iAnzahlWords;
	sAlleWordsAlsZeichenkette += ',' + sWordBedNr;

	a_sWordBedNr_sAttribName2sAtribValue[sWordBedNr] = new Array();
//ALT	a_sWordBedNr_sAttribName2sAtribValue[sWordBedNr]["JisWriting"] = sJisWriting;
	a_sWordBedNr_sAttribName2sAtribValue[sWordBedNr]["KanjiWriting"] = sKanjiWriting;
	a_sWordBedNr_sAttribName2sAtribValue[sWordBedNr]["Desc"] = sDesc;
	a_sWordBedNr_sAttribName2sAtribValue[sWordBedNr]["LessonNr"] = iLessonNr;
	for (var i=0;i<sKanjiWriting.length;i+=4) {
		sKanjiEuc_temp = sKanjiWriting.substr(i,4)
//Test document.writeln(sKanjiEuc_temp + "<br>\n")
// ACHTUNG: spaeter muss dieser Befehl entfernt werden:
		a_sKanjiEuc_sAttribName2sAtribValue[sKanjiEuc_temp] = new Array();
		a_sKanjiEuc_sAttribName2sAtribValue[sKanjiEuc_temp]["Word"] = sWordBedNr;
	}
}

function sKanjiWriting2hKanjiWriting (sKanjiWriting) {
	var hKanjiWriting = '';
	for (var i=0;i<sKanjiWriting.length;i+=4) {
		sKanjiEuc_temp = sKanjiWriting.substr(i,4)
		if (sKanjiEuc_temp.substr(0,1) == "a") {
			// Kana
			hKanjiWriting += '<img src="../Kanji/' + sKanjiEuc_temp + '.gif" border=0 height=24 width=26>';
		} else {
			// Kanji
			hKanjiWriting += '<a href=../KanjiInfoSystem/' + sKanjiEuc_temp + '.html class=kanji target=KIS>';
			hKanjiWriting += '<img src="../Kanji/' + sKanjiEuc_temp + '.gif" border=0 height=24 width=26>';
			hKanjiWriting += '</a>';
//xxx			hKanjiWriting += sKanjiEuc_temp + '.gif;';
		}
	}
	return hKanjiWriting;
}

//entryWord("arau1","$\"$i$&","c0f6a4a6","to wash",5);
//entryWord("benkyou2","$Y$s$-$g$&","cad9b6af","study",24);
//entryWord("beru2","%Y%k","a5d9a5eb","bell");
//entryWord("mareeshia1","%^%l!<%7%","a5dea5eca1bca5b7a5a2","Malaysia",1)
//entryWord("kiru10","%-%k","a5ada5eb","kill");
//entryWord("kiru5","$-$k","d1f2a4eb","to cut");


function sWordAnfang2asWordBedNr_Verlaengerungen(sWordAnfang) {
	var sZiffer_WordAnfang_Ziffer = "," + sWordAnfang + "[^0-9]+[0-9]+";
	var r = new RegExp(sZiffer_WordAnfang_Ziffer,"g");
	var asWord = sAlleWordsAlsZeichenkette.match(r);

//var sZiffer_WordAnfang_Ziffer = "[0-9]" + sWordAnfang + "";
//var asWord = sAlleWordsAlsZeichenkette.match(sZiffer_WordAnfang_Ziffer);
	if (asWord) {
		for (var i=0;i<asWord.length;i++) {
			asWord[i] = asWord[i].replace(/^,/,"");
//Test   document.writeln("sWordAnfang2bFound " + i + " " + asWord[i] + " " + "<br>");
		}
	}

	return asWord;
}

function sWordAnfang2asWordBedNr(sWordAnfang) {
	var sZiffer_WordAnfang_Ziffer = "," + sWordAnfang + "[0-9]+";
	var r = new RegExp(sZiffer_WordAnfang_Ziffer,"g");
	var asWord = sAlleWordsAlsZeichenkette.match(r);

	if (asWord) {
		for (var i=0;i<asWord.length;i++) {
			asWord[i] = asWord[i].replace(/^,/,"");
//Test   document.writeln("sWordAnfang2bFound " + i + " " + asWord[i] + " " + "<br>");
		}
	}

	return asWord;
}

//Test regdocument.writeln("sAlleWordsAlsZeichenkette=" + sAlleWordsAlsZeichenkette + "<br>");

var asWordBedNr_Verlaengerungen;


//sWordAnfang = "ni";
//asWordBedNr_Verlaengerungen = sWordAnfang2asWordBedNr_Verlaengerungen(sWordAnfang)
//document.writeln(sWordAnfang + ": asWordBedNr_Verlaengerungen=" + asWordBedNr_Verlaengerungen + "<br>");





if (0) {
 for (var i in a_sWordBedNr_sAttribName2sAtribValue) {
  document.writeln("i=" + i + "<br>");
  for (var j in a_sWordBedNr_sAttribName2sAtribValue[i]) {
//  document.writeln(i + " " + j + " " + a_sWordBedNr_sAttribName2sAtribValue[i][j] + "<br>");
   if (j == "KanjiWriting") {
    document.writeln(sKanjiWriting2hKanjiWriting(a_sWordBedNr_sAttribName2sAtribValue[i][j]) + "<br>")
   }
  }
 }
}


// kiru5 --> kiru
function sWordBedNr2sWord(sWordBedNr) {
	return sWordBedNr.match(/^\D+/)[0];
}


// Wenn soeben die Backspace-Taste iKeyCode=8 geklickt wurde, dann soll keine Word-Verlaengerung automatisch erfolgen
function x(iKeyCode) {
	var sWordAnfang = document.forms.hauptform.sWordAnfang.value;

//window.status=iKeyCode;
//alert(sWordAnfang);

	if (sWordAnfang.length) {
		var asWordBedNr_Verlaengerungen = sWordAnfang2asWordBedNr_Verlaengerungen(sWordAnfang);
		var asWordBedNr = sWordAnfang2asWordBedNr(sWordAnfang);
	} else {
	 	var asWordBedNr_Verlaengerungen = null;
	 	var asWordBedNr = null;
	}

	// Es gibt nur noch eine einzige Verlaengerung und es wurde nicht die Backspace-Taste gedrueckt?
	if ((!iKeyCode || iKeyCode != 8) && !asWordBedNr && asWordBedNr_Verlaengerungen && asWordBedNr_Verlaengerungen.length==1) {
		var sWordBedNr = asWordBedNr_Verlaengerungen[0];
		var sWord = sWordBedNr2sWord(sWordBedNr);
//alert(sWord);
		document.forms.hauptform.sWordAnfang.value = sWord;
		return x();
	}

	// Ampelsteuerung
	if (asWordBedNr_Verlaengerungen && asWordBedNr) {
		document.images.traffic.src="../Images/traffic-green_yellow_sm2.gif";
	}
	if (!asWordBedNr_Verlaengerungen && asWordBedNr) {
		document.images.traffic.src="../Images/traffic-green_sm2.gif"
	}
	if (!sWordAnfang.length || asWordBedNr_Verlaengerungen && !asWordBedNr) {
		document.images.traffic.src="../Images/traffic-yellow_sm2.gif"
	}
	if (sWordAnfang.length && !asWordBedNr_Verlaengerungen && !asWordBedNr) {
		document.images.traffic.src="../Images/traffic-red_sm2.gif"
	}


	// Berechnung der Ausgabe-Tabelle
	var innerHTML = "";
	// Gibt es Woerter == sWordAnfang  ?
	if (asWordBedNr) {
		innerHTML += "<h3>Translation:</h3>\n";
		innerHTML += "<table>";
		innerHTML += " <tr>";
		innerHTML += "  <td>Lesson Nr&nbsp;</td>";
		innerHTML += "  <td>&nbsp;Expression</td>";
		innerHTML += "  <td>&nbsp;Kanji-Writing</td>";
		innerHTML += "  <td>&nbsp;Translation</td>";
		innerHTML += " </tr>";
		for (var i=0; i<asWordBedNr.length; i++) {
			var sWordBedNr = asWordBedNr[i];
			var sWord = sWordBedNr2sWord(sWordBedNr);
			var iLessonNr = a_sWordBedNr_sAttribName2sAtribValue[sWordBedNr]["LessonNr"];
			var hLink_iLessonNr = iLessonNr_sWordBedNr2hLink(iLessonNr,sWordBedNr);
			var sKanjiWriting = a_sWordBedNr_sAttribName2sAtribValue[sWordBedNr]["KanjiWriting"];
			var sDesc = a_sWordBedNr_sAttribName2sAtribValue[sWordBedNr]["Desc"];
			sDesc = sDesc.replace(/\(<[^)]*>\)/g,'');
			innerHTML += " <tr>";
			innerHTML += "  <td align=right>" + hLink_iLessonNr + "&nbsp;</td>";
			innerHTML += "  <td>&nbsp;" + sWord + "</td>";
//Test   innerHTML += sKanjiWriting;
			innerHTML += "  <td>&nbsp;" + sKanjiWriting2hKanjiWriting(sKanjiWriting) + "</td>";
			innerHTML += "  <td>&nbsp;" + sDesc + "</td>";
			innerHTML += "</tr>";
		}
		innerHTML += "</table>";
	}

	innerHTML += "<br>";
	// Existieren Woerter, die Verlaengerung von sWordAnfang sind?
	if (asWordBedNr_Verlaengerungen) {
		innerHTML += "<h3>Possible completions:</h3>\n";
		innerHTML += "<p align=justify>\n";
		// um Doppelvorkommen wie kiru2 kiru5 zu vermeiden
		var asWord2bSchonBeruecksichtigt = new Array()
		for (var i=0; i<asWordBedNr_Verlaengerungen.length; i++) {
			var sWordBedNr = asWordBedNr_Verlaengerungen[i];
			var sWord = sWordBedNr2sWord(sWordBedNr);
			if (!asWord2bSchonBeruecksichtigt[sWord]) {
				asWord2bSchonBeruecksichtigt[sWord] = 1;
				//Der Link hat die Form: <a href='javascript:document.forms.hauptform.sWordAnfang.value="sWord";'>sWord</a>
				innerHTML += '<a href=' + "'" + 'javascript:document.forms.hauptform.sWordAnfang.value="' + sWord + '";x();void(0);' + "'" + '>' + sWord + '</a>';
				innerHTML += ' ';
			}
		}
		innerHTML += "</p>\n";
	}


// innerHTML += "</pre>";


//alert(innerHTML);
	print_ausgabe(innerHTML);
	return false;
}


function print_ausgabe(hInnerHTML) {
	if (document.all) {
		document.all.ausgabe.innerHTML = hInnerHTML
	} else {
		if (document.getElementById) {
			//alert('ns6')
			document.getElementById("ausgabe").innerHTML = hInnerHTML
		} else {
			//alert('layers')
//hInnerHTML = hInnerHTML.replace(/</g,'&lt;')
			document.layers.ausgabe.document.open()
			document.layers.ausgabe.document.write(hInnerHTML)
			document.layers.ausgabe.document.close()
		}
	}
}
