// START ================================================================
// Manipulatoren der Inhalte der Zellen der Lektions-Tabelle
// Mit diesen Funktionen lassen sich die Romaji und die translation einblenden

// Sind alle Romaji-und-Translation spans eingeblendet?
var gbDisplayAll = 0

var abDisplay2sDisplay = new Array("none","")

function fn_show_hide_RomajiTranslation(iRowNr, bDisplay) {
 var sDisplay = abDisplay2sDisplay[bDisplay]
 var sSpanId = "id_translation_romaji_span" + iRowNr
 // Die Zeilen mit sRomajiWriting und sTranslation ein/aus-blenden:
 document.getElementById(sSpanId).style.display = sDisplay
}

// globals: gaiRowNr2bDisplay used
function fn_onMouseOver_show_RomajiTranslation(iRowNr) {
 if (!gbDisplayAll) {
  var bDisplay = 1
  fn_show_hide_RomajiTranslation(iRowNr, bDisplay)
 }
}

// globals: gaiRowNr2bDisplay used
function fn_onMouseOut_hide_RomajiTranslation(iRowNr) {
 if (!gbDisplayAll) {
  var bDisplay = 0
  fn_show_hide_RomajiTranslation(iRowNr, bDisplay)
 }
}

// globals: gbDisplayAll used
//          iRowsNumber  used
function fn_toggle_show_hide_RomajiTranslation() {
 gbDisplayAll = 1 - gbDisplayAll
 for (var iRowNr=1; iRowNr<=iRowsNumber; iRowNr++) {
  fn_show_hide_RomajiTranslation(iRowNr, gbDisplayAll)
 }

 void(0)
}

// Manipulatoren der Inhalte der Zellen der Lektions-Tabelle
// END ======================================================================


/*
Show elements
var o = oSpan.parentElement.parentElement
for (el in o) 
 document.write(el + "=" + o[el] + '<br>')
*/



// START ====================================================================
// Inhalte der einzelnen Tabellenzellen fuer Lektion, Translation, und Romaji berechnen

// cSelection = "L", "T", "R"
// Lesson Text, Translation, Romaji

function iRowNr2hInnerHTML(iRowNr) {
 var ahInnerHTML = new Array()
 var l=0 // length =ahInnerHTML.length

 var hKanjiWriting  = cSelection2aInnerHTML("L")[iRowNr-1]
 var sRomajiWriting = cSelection2aInnerHTML("R")[iRowNr-1]
 var sTranslation   = cSelection2aInnerHTML("T")[iRowNr-1]

//Test hInnerHTML = hInnerHTML + iRowNr + ',' + abAbsatz[iRowNr-1]

 ahInnerHTML[l++] = hKanjiWriting

 var sSpanId = "id_translation_romaji_span" + iRowNr
 ahInnerHTML[l++] = '  <span id="' + sSpanId + '" + style="display:none">'
 ahInnerHTML[l++] = '  <br>'
// ahInnerHTML[l++] = sRomaji2hRomaji(sRomajiWriting, iRowNr).replace(/</g,'&lt;')
 ahInnerHTML[l++] = sRomaji2hRomaji(sRomajiWriting, iRowNr)
 ahInnerHTML[l++] = '  <br>'
 ahInnerHTML[l++] = sTranslation
 ahInnerHTML[l++] = '  </span>'

 // Absatzende (das Absatzende für die erste Zeile iRowNr==1 wird explizit im nachfolgenden Teil gesetzt)
 if (abAbsatz[iRowNr] == 1 && iRowNr > 1) {
  ahInnerHTML[l++] = '<br>&nbsp;'
 }

 var hInnerHTML = ahInnerHTML.join("\n")
 // The first row contains the title which is to be centered
 if (iRowNr == 1) {
  hInnerHTML = "<center>" + hInnerHTML + "<br>&nbsp;</center>"
 }

 return hInnerHTML
}



function iRowNr2hImgLink_toggleShowTranslationRomaji(iRowNr) {
 var hInnerHTML = ''
 hInnerHTML = hInnerHTML + '<a'
 hInnerHTML = hInnerHTML + ' href="javascript:fn_toggle_show_hide_RomajiTranslation()"'
 hInnerHTML = hInnerHTML + ' onMouseOver="fn_onMouseOver_show_RomajiTranslation(' + iRowNr + '); return true;"'
 hInnerHTML = hInnerHTML + ' onMouseOut="fn_onMouseOut_hide_RomajiTranslation(' + iRowNr + '); return true;"'
 hInnerHTML = hInnerHTML + '>'
 hInnerHTML = hInnerHTML + '<img src=../Icons/open16x16.gif width=17 height=17 border=0>'
 hInnerHTML = hInnerHTML + '</a>'
 return hInnerHTML
}
// Inhalte der einzelnen Tabellenzellen fuer Lektion, Translstion, und Romaji berechnen
// END ======================================================================



// START ====================================================================
// Die Zeilen und die Tebellen mit der Lektion, Translation, Romaji berechnen
//

function create_hRow_LessonTextTable(iRowNr) {
 var ahRow_LessonTextTable = new Array()
 var l=0 //length =ahRow_LessonTextTable.length
 var hInnerHTML = iRowNr2hInnerHTML(iRowNr)
 var sClassTd = iRowNr_sCellType2sClass(iRowNr,"td")
 var sClassTh = iRowNr_sCellType2sClass(iRowNr,"th")

 ahRow_LessonTextTable[l++] = '<tr>'
 ahRow_LessonTextTable[l++] = '<td class= ' + sClassTh + ' align=left  valign=top width=17>' + iRowNr2hImgLink_toggleShowTranslationRomaji(iRowNr) + '</td>'
 ahRow_LessonTextTable[l++] = '<td class= ' + sClassTh + ' align=right valign=top width=20>' + iRowNr + '&nbsp;&nbsp;' + '</td>'
 ahRow_LessonTextTable[l++] = '<td class= ' + sClassTd + ' align=left  valign=top         >' + hInnerHTML + '</td>'
 ahRow_LessonTextTable[l++] = '</tr>'

 return ahRow_LessonTextTable.join('\n')
}


function create_hTable_LessonTextTable(iRowsNumber) {
 var ahTable_LessonTextTable = new Array()
 var l=0 //length
 ahTable_LessonTextTable[l++] = '<table align=center class=frame border=0 cellpadding=0 cellspacing=1 width=95%><tr><td>'
 ahTable_LessonTextTable[l++] = '<table border=0 cellpadding=2 cellspacing=0 width=100% id=idLessonTextTable>'

 for (var iRowNr=1; iRowNr<=iRowsNumber; iRowNr++) {
  ahTable_LessonTextTable[l++] = create_hRow_LessonTextTable(iRowNr)
 }

 ahTable_LessonTextTable[l++] = '</table>'
 ahTable_LessonTextTable[l++] = '</td></tr></table>'

 return ahTable_LessonTextTable.join('\n')
}

// globals: sLessonFileName used
//          iNewKanjiAnzahl used
function fn_get_hButtonsTable_toggleRomajiTranslation() {
 var hButtonsTable_toggleGrammarRomaji = ''
 hButtonsTable_toggleGrammarRomaji = hButtonsTable_toggleGrammarRomaji + '<table align="center" width="95%"><tr><td>'
 hButtonsTable_toggleGrammarRomaji = hButtonsTable_toggleGrammarRomaji + '<a href="javascript:fn_toggle_show_hide_RomajiTranslation();"><img id="trIconAll" src="../Icons/open16x16.gif" width=16 height=16 border=0> Display/hide all Romaji and Translations</a> &nbsp;'
 // Werden in dieser Lektionneue Kanji eingefuehrt? Wenn ja, erzeuge einen Link zu der Tabelle
 // mit den neuen Kanjis
 if (iNewKanjiAnzahl > 0) {
  hButtonsTable_toggleGrammarRomaji = hButtonsTable_toggleGrammarRomaji + '<a href=' + sLessonFileName  + '#K><img src="../Icons/k_RTR.gif" width=17 height=17 border=0> New kanji used in this lesson</a>'
 }
 hButtonsTable_toggleGrammarRomaji = hButtonsTable_toggleGrammarRomaji + '</td></tr></table>'

 return hButtonsTable_toggleGrammarRomaji
}

// Die Zeilen und die Tebellen mit der Lektion, Translation, Romaji berechnen
// END ======================================================================





// START ====================================================================
// Funktionen zur Bearbeitung und Zugriff auf die Arrays mit den Lektion L T R Inhalten

// Erzeugt aus aLesson_sKanjiWriting_SpaceSeparated das Array aLessonInnerHTML
// Darin enthalten sind die einzelnen Zeilen der Lektion in KanjiEuc
// aLesson_sKanjiWriting_SpaceSeparated enthaelt Eintraege der Art "b5febbd2a4b5a4f3a1a4 a4eaa4e7a4a6a4eaa4ac a4c7a4ada1a3"
// aLessonInnerHTML enthaelt Eintraege der Art <a href=../KanjiInfoSystem/bbd2.html class=kanji target=KIS><img src="../Kanji16/bbd2.gif" border=0 height=16 width=16></a><img src="../Kanji16/a4b5.gif" border=0 height=16 width=16>&nbsp;...
function aLesson_sKanjiWriting_SpaceSeparated2aLessonInnerHTML() {
 // Globale Var
 var aLessonInnerHTML = new Array()
 for (var i=0; i<aLesson_sKanjiWriting_SpaceSeparated.length; i++) {
  aLessonInnerHTML[i] = sKanjiWriting_SpaceSeparated2hKanjiWriting(aLesson_sKanjiWriting_SpaceSeparated[i])
 }
 return aLessonInnerHTML
}


//Test var sKanjiWriting_SpaceSeparated = "b5febbd2a4b5a4f3a1a4 a4eaa4e7a4a6a4eaa4ac a4c7a4ada1a3"
//Test aLessonInnerHTML[2] = sKanjiWriting_SpaceSeparated2hKanjiWriting(sKanjiWriting_SpaceSeparated)

var acSelection2aInnerHTML = new Array()
acSelection2aInnerHTML["L"] = aLesson_sKanjiWriting_SpaceSeparated2aLessonInnerHTML()
acSelection2aInnerHTML["T"] = aTranslationInnerHTML
acSelection2aInnerHTML["R"] = aRomajiInnerHTML

function cSelection2aInnerHTML(cSelection) {
 return acSelection2aInnerHTML[cSelection]
}
// Funktionen zur Bearbeitung und Zugriff auf die Arrays mit den Lektion L T R Inhalten
// END ======================================================================



// START ====================================================================
// Main: 

var iRowsNumber = aLesson_sKanjiWriting_SpaceSeparated.length
//Test document.write("iRowsNumber=" + iRowsNumber)

var hButtonsTable_toggleRomajiTranslation = fn_get_hButtonsTable_toggleRomajiTranslation()
document.writeln(hButtonsTable_toggleRomajiTranslation)


var hLessonTranslationRomaji_Table = create_hTable_LessonTextTable(iRowsNumber)
/* Veraendert nebenbei auch die Farbangaben #ff3344
// Vor jedem anchor # den Dateinamen setzten z.B. lesson05_text.html#
hLessonTranslationRomaji_Table = hLessonTranslationRomaji_Table.replace(/#/g,sLessonFileName + '#')
*/
document.write(hLessonTranslationRomaji_Table)


// Main: 
// END ======================================================================


