
var asRomajiKana2sKanjiEuc = new Array()

/*
Test
init_asRomajiKana2sKanjiEuc()
for (var i in asRomajiKana2sKanjiEuc) {
	document.write('asRomajiKana2sKanjiEuc[' + i + ']=' + asRomajiKana2sKanjiEuc[i] + '<br>\n')
}
*/

function init_asRomajiKana2sKanjiEuc() {
	// Wurde init_asRomajiKana2sKanjiEuc() schon mal aufgerufen?
	if (asRomajiKana2sKanjiEuc["a"] != null) return

//alert("init_asRomajiKana2sKanjiEuc")

	// ~ bedeutet kleine Ausgabe dieses Kana
	var aiKanaNr2sRomajiKana = "a~,a,i~,i,u~,u,e~,e,o~,o,ka,ga,ki,gi,ku,gu,ke,ge,ko,go,sa,za,shi,ji,su,zu,se,ze,so,zo,ta,da,chi,chji,tsu~,tsu,dzu,te,de,to,do,na,ni,nu,ne,no,ha,ba,pa,hi,bi,pi,fu,bu,pu,he,be,pe,ho,bo,po,ma,mi,mu,me,mo,ya~,ya,yu~,yu,yo~,yo,ra,ri,ru,re,ro,wa~,wa,unknown1,unknown2,wo,n".split(",")

	for (var i=1;i<=aiKanaNr2sRomajiKana.length;i++) {
		asRomajiKana2sKanjiEuc[aiKanaNr2sRomajiKana[i - 1]] = 'a4' + (i + 160).toString(16)
		asRomajiKana2sKanjiEuc[aiKanaNr2sRomajiKana[i - 1].toUpperCase()] = 'a5' + (i + 160).toString(16)
	}

	// Die Ziffern von 0 bis 9
	for (var i=0;i<=9;i++) {
		asRomajiKana2sKanjiEuc[i] = 'a3b' + i
	}

	asRomajiKana2sKanjiEuc["-"] = "a1bc"
	asRomajiKana2sKanjiEuc[" "] = "a1a0"
	asRomajiKana2sKanjiEuc["space"] = "a1a0"

	asRomajiKana2sKanjiEuc["."] = "a1a3"
	asRomajiKana2sKanjiEuc[","] = "a1a4"
	asRomajiKana2sKanjiEuc[":"] = "a1a7"
	asRomajiKana2sKanjiEuc[";"] = "a1a8"
	asRomajiKana2sKanjiEuc["?"] = "a1a9"
//	asRomajiKana2sKanjiEuc["!"] = "a1aa"
  // Japanese Left and Right Single Quote
	asRomajiKana2sKanjiEuc["JLQ"] = "a1d6"
	asRomajiKana2sKanjiEuc["JRQ"] = "a1d7"
	asRomajiKana2sKanjiEuc["|"] = "a1c3"
	asRomajiKana2sKanjiEuc["("] = "a1ca"
	asRomajiKana2sKanjiEuc[")"] = "a1cb"
	asRomajiKana2sKanjiEuc["="] = "a1e1"
	asRomajiKana2sKanjiEuc["<"] = "a1e3"
	asRomajiKana2sKanjiEuc[">"] = "a1e4"
	asRomajiKana2sKanjiEuc["{"] = "a1d0"
	asRomajiKana2sKanjiEuc["}"] = "a1d1"
	asRomajiKana2sKanjiEuc["+"] = "a1dc"
	asRomajiKana2sKanjiEuc["$"] = "a1f0"
	asRomajiKana2sKanjiEuc["%"] = "a1f3"
	asRomajiKana2sKanjiEuc["#"] = "a1f4"
	asRomajiKana2sKanjiEuc["&"] = "a1f5"
	asRomajiKana2sKanjiEuc["*"] = "a1f6"
	asRomajiKana2sKanjiEuc["@"] = "a1f7"
//	asRomajiKana2sKanjiEuc["PARAGRAPH_ZEICHEN"] = "a1f8"


// Test i=97;String.fromCharCode(i) + (i+128).toString(16)
//xxxxxx
	// Die Buchstaben A-Z
//	asRomajiKana2sKanjiEuc["\\A"] = "a3c1"
	for (var i=65;i<=90;i++) {
		asRomajiKana2sKanjiEuc['\\' + String.fromCharCode(i)] = 'a3' + (i+128).toString(16)
	}
	// Die Buchstaben a-z
//	asRomajiKana2sKanjiEuc["\\a"] = "a3e1"
	for (var i=97;i<=122;i++) {
		asRomajiKana2sKanjiEuc['\\' + String.fromCharCode(i)] = 'a3' + (i+128).toString(16)
	}

}


// Ersetze kya durch ki-ya~, ja durch ji-ya~ usw.
// Der String sWord wird zuerst in Kanji (Substrings der Form !xxxx) und die Nicht-Kanji-Teile aufgeteilt.
// Wenn ich das nicht machen wuerde, dann wuerden Kanjis wie. z.B. !bbbe zu !tsu~bbe
function sWord2sWord_RomajiRaw(sWord) {
	// remove all "\r"
	sWord = sWord.replace(/\r/g,'')

	// Auftrennen in !xxxx und restliche Kana
	var asWord_Teile = new Array()

	oRegExp = new RegExp('^([^!]*)(!....)')
	while (oRegExp.test(sWord)) {
		// die Teilmatches zwischenspeichern, weil sie in sWord2sWord_RomajiRaw_private neu belegt werden.
		var sRegexp_1 = RegExp.$1
		var sRegexp_2 = RegExp.$2
		asWord_Teile[asWord_Teile.length] = sWord2sWord_RomajiRaw_private(sRegexp_1)
		asWord_Teile[asWord_Teile.length] = sRegexp_2
		sWord = sWord.substr((sRegexp_1 + sRegexp_2).length, sWord.length)
//alert(sWord)
	}
	asWord_Teile[asWord_Teile.length] = sWord2sWord_RomajiRaw_private(sWord)

	var sWord_RomajiRaw = asWord_Teile.join('')
//alert(asWord_Teile.join(', '))

	return sWord_RomajiRaw
}


// Ersetze kya durch ki-ya~, ja durch ji-ya~ usw. in Wortteilen ohne Kanji, d.h. ohne substrings der Form !xxxx
function sWord2sWord_RomajiRaw_private(sWord) {

	var oRegExp;

	// ungerade " --> JLQ, gerade " --> JRQ (Japanese Left/Right Quote) 
	oRegExp = new RegExp('"')
	var sJapaneseQuote_current = "JLQ"
	while (oRegExp.test(sWord)) {
		var sReplace = sJapaneseQuote_current
		sJapaneseQuote_current = (sJapaneseQuote_current == "JLQ" ? "JRQ" : "JLQ")
		sWord = sWord.replace(oRegExp, sReplace)
	}



	// kya --> kiya~
//	/([kgnhbpmr])y([aou])/g         \1iy\2~
	oRegExp = new RegExp('([kgnhbpmr])y([aou])')
	while (oRegExp.test(sWord)) {
		var sReplace = RegExp.$1 + 'iy' + RegExp.$2 + '~'
		sWord = sWord.replace(oRegExp, sReplace)
	}

	// KYA --> KIYA~
//	/([KGNHBPMR])Y([AOU])/g         \1IY\2~
	oRegExp = new RegExp('([KGNHBPMR])Y([AOU])')
	while (oRegExp.test(sWord)) {
		var sReplace = RegExp.$1 + 'IY' + RegExp.$2 + '~'
		sWord = sWord.replace(oRegExp, sReplace)
	}

	// nur Katakana: AA --> A-
//	/([AIUEO])\1/g                  \1-
	sWord = sWord.replace(/AA/g,'A-')
	sWord = sWord.replace(/II/g,'I-')
	sWord = sWord.replace(/UU/g,'U-')
	sWord = sWord.replace(/EE/g,'E-')
	sWord = sWord.replace(/OO/g,'O-')

	// nur Katakana: FI --> FUI~
//	/FI/g                           FUI~
	sWord = sWord.replace(/FI/g,'FUI~')

	// ja --> jiya~   sha --> shiya~    cha --> chiya~
//	/(j|sh|ch)([aou])/g             \1iy\2~
	oRegExp = new RegExp('(j|sh|ch)([aou])')
	while (oRegExp.test(sWord)) {
		var sReplace = RegExp.$1 + 'iy' + RegExp.$2 + '~'
		sWord = sWord.replace(oRegExp, sReplace)
	}

	// JA --> JIYA~   SHA --> SHIYA~    CHA --> CHIYA~
//	/(J|SH|CH)([AOU])/g             \1IY\2~
	oRegExp = new RegExp('(J|SH|CH)([AOU])')
	while (oRegExp.test(sWord)) {
		var sReplace = RegExp.$1 + 'IY' + RegExp.$2 + '~'
		sWord = sWord.replace(oRegExp, sReplace)
	}

	// kk --> tsu~k
//	/([kgsztdhfbpmr])\1/g            tsu~\1
	oRegExp = new RegExp('(kk|gg|ss|zz|tt|dd|hh|ff|bb|pp|mm|rr)')
	while (oRegExp.test(sWord)) {
		var sReplace = 'tsu~' + RegExp.$1.substr(1,1)
		sWord = sWord.replace(oRegExp, sReplace)
	}

	// KK --> TSU~K
//	/([KGSZTDHFBPMR])\1/g            TSU~\1
	oRegExp = new RegExp('(KK|GG|SS|ZZ|TT|DD|HH|FF|BB|PP|MM|RR)')
	while (oRegExp.test(sWord)) {
		var sReplace = 'TSU~' + RegExp.$1.substr(1,1)
		sWord = sWord.replace(oRegExp, sReplace)
	}

	// ungerade " --> JLQ, gerade " --> JRQ (Japanese Left/Right Quote) 
	oRegExp = new RegExp('"')
	var sJapaneseQuote_current = "JLQ"
	while (oRegExp.test(sWord)) {
		var sReplace = sJapaneseQuote_current
		sJapaneseQuote_current = (sJapaneseQuote_current == "JLQ" ? "JRQ" : "JLQ")
		sWord = sWord.replace(oRegExp, sReplace)
	}

	return sWord
}






/*
sWord = "kyougyoujaaAARREEkku"
var sKanjiWriting = sWord2sKanjiWriting(sWord)
document.write("sKanjiWriting=" + sKanjiWriting + "<br>")

sWord = "arigatou gozaimasu"
var sKanjiWriting = sWord2sKanjiWriting(sWord)
document.write("sKanjiWriting=" + sKanjiWriting + "<br>")
*/
function sWord2sKanjiWriting(sWord) {
	init_asRomajiKana2sKanjiEuc()

	// Ersetze kya durch ki-ya~, ja durch ji-ya~ usw.
	sWord = sWord2sWord_RomajiRaw(sWord)


//document.write('sWord=' + sWord)

/*
Tests
s=new RegExp("(aa).(.)");s.exec('aabc');alert(RegExp.$1 + RegExp.$2)
z='f';s=new RegExp('(' + z + ')');alert(s.test('banane'));alert(RegExp.$1)
*/

	var sRes = ''
	var sWord_temp = sWord
	var iasRomajiKana_length = 0

	var asRomajiKana = new Array()

	while (sWord_temp != "") {

//document.write("sWord_temp=" + sWord_temp + "<br>")

		while (true) {
			var sRomajiKana = ''

			oRegExp = new RegExp('^(!....)')
			if (oRegExp.test(sWord_temp)) {
				sRomajiKana = sWord_temp.substr(1,4)
				sWord_temp = sWord_temp.substr(5,sWord_temp.length)

				break
			}

			if (sWord_temp.substr(0,1) == "\n") {
				sRomajiKana = "NEWL"
				sWord_temp = sWord_temp.substr(1,sWord_temp.length)

				break
			}

			// Der kuerzeste Teil von sWord_temp, der eine Kana bildet:
			for (var i=1;i<=sWord_temp.length;i++) {
//document.write("sWord_temp.substr(0," + i + ") =" + sWord_temp.substr(0,i) + "<br>")
				sRomajiKana_temp = sWord_temp.substr(0,i)
				if (asRomajiKana2sKanjiEuc[sRomajiKana_temp] != null) {
					// Gibt es auch um ein Zeichen laengeres Kana? z.B. n --> ni, tsu --> tsu~
					sRomajiKana = sRomajiKana_temp
					sRomajiKana_temp = sWord_temp.substr(0,i+1)
					if (asRomajiKana2sKanjiEuc[sRomajiKana_temp] != null) {
						sRomajiKana = sRomajiKana_temp
					}

					sWord_temp = sWord_temp.substr(sRomajiKana.length,sWord_temp.length)
					break
				}
			}

			// Default
			if (sRomajiKana == '') {
				sRomajiKana = "UNKN" // Nicht erkanntes Zeichen
//document.write("ALT sWord_temp=" + sWord_temp + "<br>")
				sWord_temp = sWord_temp.substr(1,sWord_temp.length)
//document.write("NEU sWord_temp=" + sWord_temp + "<br>")
			}

			break
		}

		asRomajiKana[iasRomajiKana_length++] = sRomajiKana
//document.write("sRomajiKana=" + sRomajiKana + "<br>")
	}

	for (i=0;i<iasRomajiKana_length;i++) {
		sRomajiKana = asRomajiKana[i]
		if (asRomajiKana2sKanjiEuc[sRomajiKana] != null) {
			sKanjiEuc_temp = asRomajiKana2sKanjiEuc[sRomajiKana]
		} else {
			sKanjiEuc_temp = sRomajiKana
		}
//document.write("sRomajiKana=" + sRomajiKana + " sKanjiEuc_temp=" + sKanjiEuc_temp)
		sRes += sKanjiEuc_temp
//document.write("," + sKanjiEuc_temp)
	}

	return sRes
}



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>';
			hKanjiWriting += '<img src="../Kanji16/' + sKanjiEuc_temp + '.gif" border=0 height=16 width=16>';
		} 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 += '<img src="../Kanji16/' + sKanjiEuc_temp + '.gif" border=0 height=16 width=16>';
			hKanjiWriting += '</a>';
		}
	}
	return hKanjiWriting;
}




var sWord_current = "-1"

function aktualisiere() {
	sWord = document.hauptform.phrase.value

	// Das ausgabe-Div wird nur dann veraendert, wenn sich der phrase.value geaendert hat.
	// Ansonsten wuerde diese Funktion auch bei Cursor-Bewegung aufgerufen und bewirkt ein unruhiges Bild
	if (sWord_current == sWord) {
		return
	}
	sWord_current = sWord

	var sKanjiWriting = sWord2sKanjiWriting(sWord)

	// Das letzte UNKN (d.h. rotes Fragezeichen) soll nicht angezeigt werden.
	// Der User schreibt ja gerade und soll von diesem roten Fragezeichen nicht unnoetig verunsichert werden, solange er
	// eine Kanan noch gar nicht vollstaendig geschrieben hat.
	sKanjiWriting = sKanjiWriting.replace(/UNKN$/,'')

//document.write("sKanjiWriting=" + sKanjiWriting + "<br>")

	var ahKanjiWriting_Teile = new Array()

	for (var i=0;i<sKanjiWriting.length;i+=4) {
		var sKanjiEuc_temp = sKanjiWriting.substr(i,4)

		// Newline
		if (sKanjiEuc_temp == "NEWL") {
			ahKanjiWriting_Teile[ahKanjiWriting_Teile.length] = '<br>'
			continue
		}

		// Unbekanntes Zeichen --> rotes Fragezeichen
		if (sKanjiEuc_temp == "UNKN") {
			ahKanjiWriting_Teile[ahKanjiWriting_Teile.length] = '<img src="../Images/a1a9_questionmark_red16.gif" border=0 height=16 width=16>'
			continue
		}
//xxx
//ALT		ahKanjiWriting_Teile[ahKanjiWriting_Teile.length] = sKanjiEuc_temp + '<img src="../Kanji16/' + sKanjiEuc_temp + '.gif" border=0 height=16 width=16>'
//Test		ahKanjiWriting_Teile[ahKanjiWriting_Teile.length] = sKanjiEuc_temp
		ahKanjiWriting_Teile[ahKanjiWriting_Teile.length] = sKanjiWriting2hKanjiWriting (sKanjiEuc_temp)


/*
// "\n" hinter jedem " " einfuegen
if (sKanjiEuc_temp == "a1a0") {
 ahKanjiWriting_Teile[ahKanjiWriting_Teile.length] = "\n"
}
*/

	}
	var hKanjiWriting = ahKanjiWriting_Teile.join('')

	var hAusgabe = hKanjiWriting

	if (bPrintPhrase) {
		hAusgabe += '<br><br><input type=button value="Edit" onclick="document.forms[0].submit()">\n'
	}

	print_ausgabe(hAusgabe)


	// Nur wenn der Originaltext sichtbar ist, soll fokusiert werden, nicht wenn type == hidden 
	if (document.hauptform.phrase.type == 'text') {
		document.hauptform.phrase.focus()
	}
}


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()
		}
	}
}


function insert_kanji_in_editing_window(sKanjiEuc) {
	document.hauptform.phrase.value += "!" + sKanjiEuc
	aktualisiere()
	void(0)
}


// Hilfsfunktion fuer get_hJapaneseTextProcessingPage
function get_h_insert_kanji_in_editing_window(sKanjiEuc) {
	return '<a href="javascript:insert_kanji_in_editing_window(' + "'" + sKanjiEuc + "'" + ');"><img src=../Kanji16/' + sKanjiEuc + '.gif border=0 height=16 width=16></a>'
}

//xxx
function get_help() {
	var hRes =''

	hRes += '\
<dl compact>\
<dt><b>Introduction:</b>\
<dd>You can easily write japanese texts in the editing area above using your (western?) keyboard without installing the Japanese fonts.\
 Just type in your text with Roman letters and watch it being converted immediately to kana.\
 After you have finished you can print your Japanese text on any printer - click the button "Make printable" to hide the editing area.\
<br>\
Be sure your text is really convertable to kana.\
 Combinations of letters that cannot be converted are marked with <img src="../Images/a1a9_questionmark_red16.gif" border=0 height=16 width=16>.\
\
<br>\
<br>\
\
<dt><b>Hiragana and Katakana:</b>\
<dd>You write hiragana with lower case letters and katakana with capital letters.\
 So don' + "'" + 't start a sentence or a name with a capital letter unless you want to write a katakana character!\
<table border=1>\
 <tr>\
  <th>E.g.</th><th>wrong:</th><th>right:</th>\
 </tr>\
 <tr>\
  <td valign=top>This is a book.</td>\
  <td>' + '<img src="../Images/a1a9_questionmark_red16.gif" border=0 height=16 width=16>' + sKanjiWriting2hKanjiWriting('a4aaa4eca1a0a4cfa1a0a4dba4f3a1a0a4c7a4b9a1a3') + '<br>Kore ha hon desu.</td>\
  <td>' + sKanjiWriting2hKanjiWriting('a4b3a4eca1a0a4cfa1a0a4dba4f3a1a0a4c7a4b9a1a3') + '<br>kore ha hon desu.</td>\
 </tr>\
 <tr>\
  <td valign=top>This is Mr John.</td>\
  <td>' + sKanjiWriting2hKanjiWriting('a4b3a4eca1a0a4cfa1a0') + '<img src="../Images/a1a9_questionmark_red16.gif" border=0 height=16 width=16>' + sKanjiWriting2hKanjiWriting('a4aaa4f3a4b5a4f3a1a0a4c7a4b9a1a3') + '<br>kore ha Jonsan desu.</td>\
  <td>' + sKanjiWriting2hKanjiWriting('a4b3a4eca1a0a4cfa1a0a5b8a5e7a5f3a4b5a4f3a1a0a4c7a4b9a1a3') + '<br>kore ha JONsan desu.</td>\
 </tr>\
</table>\
<br>\
\
<dt><b>Kanji:</b>\
<dd>Right to the editing area there is a list with the most common kanjis.\
 Click on a kanji to insert its EUCode of the form !xxxx in the editing area.\
<table border=1>\
 <tr>\
  <th>E.g.</th><th>with kana only:</th><th>with kanji:</th>\
 </tr>\
 <tr>\
  <td valign=top>I' + "'" + 'm reading a book.</td>\
  <td>' + sKanjiWriting2hKanjiWriting('a4dba4f3a1a0a4f2a1a0a4e8a4dfa4dea4b9a1a3') + '<br>hon wo yomimasu.</td>\
  <td>' + sKanjiWriting2hKanjiWriting('cbdca4f2a1a0c6c9a4dfa4dea4b9a1a3') + '<br>!cbdcwo !c6c9mimasu.</td>\
 </tr>\
</table>\
<br>\
\
<dt><b>Romaji:</b>\
<dd>You write a romaji escaping it with a "\\"-character. Usually you will not need romaji.\
<table border=1>\
 <tr>\
  <th>E.g.</th><th>wrong:</th><th>right:</th>\
 </tr>\
 <tr>\
  <td valign=top>Linux</td>\
  <td>' + '<img src="../Images/a1a9_questionmark_red16.gif" border=0 height=16 width=16>' + sKanjiWriting2hKanjiWriting('a4a4a4cc') + '<img src="../Images/a1a9_questionmark_red16.gif" border=0 height=16 width=16>' + '<br>Linux.</td>\
  <td>' + sKanjiWriting2hKanjiWriting('a3cca3e9a3eea3f5a3f8') + '<br>\\L\\i\\n\\u\\x.</td>\
 </tr>\
</table>\
<br>\
\
<dt><b>Other characters:</b>\
<dd>You can write most of the special characters like (){}%&()$+*#,.;:<> and numbers.\
 Pairs of " are converted to Japanese quotes.\
<table border=1>\
 <tr>\
  <th>E.g.</th><th>&nbsp;</th>\
 </tr>\
 <tr>\
  <td valign=top>He said "100$".</td>\
  <td>' + sKanjiWriting2hKanjiWriting('a1d6a3b1a3b0a3b0a1f0a1d7a1a0a4c8a1a0a4a4a4a4a4dea4b7a4bf') + '<br>"100$" to iimashita.</td>\
 </tr>\
</table>\
<br>\
\
<dt><b>Particles he ' + sKanjiWriting2hKanjiWriting('a4d8') + ', wo ' + sKanjiWriting2hKanjiWriting('a4f2') + ', ha ' + sKanjiWriting2hKanjiWriting('a4cf') + ':</b>\
<dd>Don' + "'" + 't forget: You read these particles "e", "o", "wa" but you write "he", "wo", "ha" respectively.\
 The same applies to "deha" and "konnichiha".\
<table border=1>\
 <tr>\
  <th>E.g.</th><th>wrong:</th><th>right:</th>\
 </tr>\
 <tr>\
  <td valign=top>I' + "'" + 'm going home.</td>\
  <td>' + sKanjiWriting2hKanjiWriting('a4a6a4c1a1a0a4a8a1a0a4a4a4ada4dea4b9a1a3') + '<br>uchi e ikimasu.</td>\
  <td>' + sKanjiWriting2hKanjiWriting('a4a6a4c1a1a0a4d8a1a0a4a4a4ada4dea4b9a1a3') + '<br>uchi he ikimasu.</td>\
 </tr>\
 <tr>\
  <td valign=top>I' + "'" + 'm reading a book.</td>\
  <td>' + sKanjiWriting2hKanjiWriting('a4dba4f3a1a0a4aaa1a0a4e8a4dfa4dea4b9a1a3') + '<br>hon o yomimasu.</td>\
  <td>' + sKanjiWriting2hKanjiWriting('a4dba4f3a1a0a4f2a1a0a4e8a4dfa4dea4b9a1a3') + '<br>hon wo yomimasu.</td>\
 </tr>\
 <tr>\
  <td valign=top>This is a book.</td>\
  <td>' + sKanjiWriting2hKanjiWriting('a4b3a4eca1a0a4efa1a0a4dba4f3a1a0a4c7a4b9a1a3') + '<br>kore wa hon desu.</td>\
  <td>' + sKanjiWriting2hKanjiWriting('a4b3a4eca1a0a4cfa1a0a4dba4f3a1a0a4c7a4b9a1a3') + '<br>kore ha hon desu.</td>\
 </tr>\
 <tr>\
  <td valign=top>I' + "'" + 'm not a teacher.</td>\
  <td>' + sKanjiWriting2hKanjiWriting('a4bba4f3a4bba4a4a1a0a4c7a4efa1a0a4a2a4eaa4dea4bba4f3a1a3') + '<br>sensei dewa arimasen.</td>\
  <td>' + sKanjiWriting2hKanjiWriting('a4bba4f3a4bba4a4a1a0a4c7a4cfa1a0a4a2a4eaa4dea4bba4f3a1a3') + '<br>sensei deha arimasen.</td>\
 </tr>\
 <tr>\
  <td valign=top>How are you?</td>\
  <td>' + sKanjiWriting2hKanjiWriting('a4b3a4f3a4cba4c1a4ef') + '<br>konnichiwa.</td>\
  <td>' + sKanjiWriting2hKanjiWriting('a4b3a4f3a4cba4c1a4cf') + '<br>konnichiha</td>\
 </tr>\
</table>\
<br>\
\
</dl>\
'

	return hRes
}


var bPrintPhrase = false;

function get_hJapaneseTextProcessingPage() {
	var sPhrase = get_uv('phrase');
	sPhrase = String(sPhrase).replace(/\+/g," ");
	sPhrase = unescape(sPhrase)

//alert(sPhrase)

	var bPrint = get_uv('bPrint',"no");
	// Globale Variable bPrintPhrase
	bPrintPhrase = (bPrint == "yes" && sPhrase.length)

	var hRes = ''
	if (bPrintPhrase) {
		hRes += '<input type=hidden name=phrase value=' + "'" + sPhrase + "'" + '>\n'
	} else {

		hRes += '<table align=center width="95%">\n'
		hRes += ' <tr>\n'
		hRes += '  <td width=100 align=left><a href="../index.html" class=LinkImg><img src="../Images/home.gif" alt="HOME" border=0 width=100 height=52></a></td>\n'
		hRes += '  <td align=center><h2>Basic Japanese Language Course<br>Japanese Text Processing</h2></td>\n'
		hRes += '  <td width=100>&nbsp;</td>\n'
		hRes += ' </tr>\n'
		hRes += '</table>\n'



		//=============================================================================	
		// Tabelle mit dem Textarea und der Tabelle mit den einzufuegenden Kanjis START
//		hRes += '<a name=editing_area></a>\n'
		hRes += '<table>\n'
		hRes += ' <tr>\n'
		hRes += '  <td nobr width="30%">\n'

		hRes += '<input type=button value="Example" onClick="document.hauptform.phrase.value=' + "'" + 'koreha nandesuka.\\nsoreha jidousha desu.\\nDOITSUno jidousha desuka.\\niie, !c6fc!cbdcno jidousha desu.' + "'" + ';aktualisiere();">\n'
		hRes += '<input type=button value="Hiragana" onClick="document.hauptform.phrase.value=' + "'" + 'aiueo\\nkakikukeko kya kyu kyo\\ngagigugegi gya gyu gyo\\nsashisuseso sha shu sho\\nzajizuzezo ja ju jo\\ntachitsuteto cha chu cho\\ndachjidzudedo\\nnaninuneno nya nyu nyo\\nhahifuheho hya hyu hyo\\nbabibubebo bya byu byo\\npapipupepo pya pyu pyo\\nmamimumemo mya myu myo\\nya yu yo\\nrarirurero rya ryu ryo\\nwa   wo\\n    n' + "'" + ';aktualisiere();">\n'
		hRes += '<input type=button value="Katakana" onClick="document.hauptform.phrase.value=' + "'" + 'AIUEO\\nKAKIKUKEKO KYA KYU KYO\\nGAGIGUGEGI GYA GYU GYO\\nSASHISUSESO SHA SHU SHO\\nZAJIZUZEZO JA JU JO\\nTACHITSUTETO CHA CHU CHO\\nDACHJIDZUDEDO\\nNANINUNENO NYA NYU NYO\\nHAHIFUHEHO HYA HYU HYO FI\\nBABIBUBEBO BYA BYU BYO\\nPAPIPUPEPO PYA PYU PYO\\nMAMIMUMEMO MYA MYU MYO\\nYA YU YO\\nRARIRURERO RYA RYU RYO\\nWA\\n    N' + "'" + ';aktualisiere();">\n'
		hRes += '<input type=button value="Clear" onClick="document.hauptform.phrase.value=' + "''" + ';aktualisiere();">\n'
		hRes += '<input type=button value="Help" onClick="document.hauptform.phrase.value=' + "''" + ';print_ausgabe(get_help())">\n'
		hRes += '<input type=hidden name=bPrint value="yes">\n'
		hRes += '<input type=submit value="Make printable">\n'



		hRes += '  </td>\n'
		hRes += '  <td>\n'
		hRes += '   Insert one of the following kanji by clicking it (in the editing area something like !xxxx will appear)\n'
		hRes += '  </td>\n'
		hRes += ' </tr>\n'

		hRes += ' <tr>\n'
		hRes += '  <td>\n'
		hRes += '<textarea name=phrase type=text rows=10 cols=50 onChange="aktualisiere();">' + sPhrase + '</textarea>\n'

		hRes += '  </td>\n'
		hRes += '  <td>\n'


		//====================================================================
		// Lege die Tabelle mit den einzufuegenden Kanjis an START

		//cat lesson??_text.SOLL | sed -n '/NEWKANJI/,/\/NEWKANJI/p' | sed '/#/d; /^$/d; /NEWKANJI/d' | gawk '{n=split($2,a,";"); for(i=1;i<=n;i++)printf "%s\n", a[i]}' | grep .gif | gawk '{sEuc = substr($0,1,4); if (\!a[sEuc]) printf "%s", sEuc ; a[sEuc]=1}'
		var sKanjiWriting = "c3e6bee5bbb3b2bcc0eebfcdc3cbbdf7ccdab0ecc6f3bbb0bbcdb8decfbbbcb7c8acb6e5bdbdbbd2cbdcb2d6c2e7c9b4b1dfbeaec0e9c6fcb7eeb3d8c6fec7afc0b8b2d0bfe5b6e2c5dab9d4b8abc1e1baa3bbfecaacc8becbe8b9bbc5b7b5a4b1abcbccc6eeb9f1c6b1b2bfcab8cde8c9e3c5ecb5feb8eccda7bae5b9a9beeccfc3c5c5b2f1b6e1bcd6bdd0cafdc0c4bbdfc0e8c4abbfa9b8e1c1b0b8e5beafb5d9bff4c2d4bbe6bdf1ccbeb3b0b8c0ccebb1d1c3cec3ebb4d6bbfac6c9b2bbc9f7cae2cea9bcd2c4b9caecc7f2c3e3bfa7b2abb9f5c0d6c3cfbfdebbd7b9cdb1a1baeec2e6bdeacca3bbc8b2b9b3a4cdbcbdb5cebebfc6b8b5b7bbc4efcad9b6afc5c4c8aab3e8b5a2bfb7bbc5bbf6cab9b5adbcd4cdd5c4b4bceabdacb4c1c0bccfbfcefdc8afc2bfcba1bac7c0e3c5d9bcccbfbfb5decce7bdb8c2adc4cbcdd1bee8b2d9caaac0cac3d6bdebc0c5cdb7c1aabdc0c6bbc1f6bca1b6b5b5bbb5e9c6b0c0e2ccc0c1c8b7bfb7af"

		hRes += '<table cellspacing=2 align=right>\n'
		hRes += ' <tr>\n'
		hRes += '  <td nobr>\n'

		for (var i=0;i<sKanjiWriting.length;i+=4) {
			var sKanjiEuc_temp = sKanjiWriting.substr(i,4)
			hRes += get_h_insert_kanji_in_editing_window(sKanjiEuc_temp) + ' '
			if (!((i+4)%100)) {
				hRes += '  </td>\n'
				hRes += ' </tr>\n'
				hRes += ' <tr>\n'
				hRes += '  <td nobr>\n'
			}
		}

		hRes += '  </td>\n'
		hRes += ' </tr>\n'
		hRes += '</table>\n'

		// Lege die Tabelle mit den einzufuegenden Kanjis an ENDE
		//====================================================================

	
		hRes += '  </td>\n'
		hRes += ' </tr>\n'
		hRes += '</table>\n'
		// Tabelle mit dem Textarea und der Tabelle mit den einzufuegenden Kanjis ENDE
		//=============================================================================	
	}

	return hRes
}

/*
function switch_KanjiTable_visibility() {
	if (document.getElementById) {
		// IE oder NS6
		// Achtung: beim ersten Aufruf ist document.getElementById("KanjiTable").style.visibility == ""
		document.getElementById("KanjiTable").style.visibility = (document.getElementById("KanjiTable").style.visibility == "visible" ? "hidden" : "visible")
	} else {
		// NS4
		document.layers.KanjiTable.visibility = (document.layers.KanjiTable.visibility == "show" ? "hide" : "show")
	}
}
*/


