// Nicht für Enterprise Portraits / Advertisements !!

/* Inhalt *
Fragen
Struktur für neuen Seitenstil aufbauen
*/

/* Was tun mit den h2-Titeln, die Bilder enthalten? 
Einfach stehen lassen? oder oben integrieren? dann mit Namen!
Flags Contents (mit Nummern!) Zeilenabstand zu groß!?
"be patient" noch ändern (muss oben bleiben, noch besser nach Laden verschwinden)
"from..." usw. verhindert Löschen der Trenner in: AFRanks, AFMapping
*/

/* für History eine Änderung in Seitenmitte! Testen!
Es geht darum ob nach aufgelösten Tags innerhalb einer h3-Überschrift
ein Blank stehen muss/darf 
*/

//--------------------------------------------------------------
// Entfernen: Trenner, "back"-Links
//
// Braucht doch mal man einen back-Link, muss er
// einfach nur history.back(1) geschrieben werden!
// (Beispiel siehe History.html ganz unten)

x = document.getElementsByTagName("p");
for (i=0; i<x.length; i++) {
	while (x[i].innerHTML.indexOf("Trenner.gif") >= 0 || x[i].innerHTML.indexOf("history.back()") >= 0) {
		x[i].parentNode.removeChild(x[i]);
		if (i >= x.length) break;
	}
}

//--------------------------------------------------------------
// Erstellen einer Tabelle
// Titel darüber
// Content und Related in linke (Nav-) Spalte
// body nach rechts

if (parent.location.href.toLowerCase().indexOf("online") >= 0) {
// neuer Stil nur für online-Version (nicht für Buch-Version)
	alles = document.body.innerHTML;
	document.body.innerHTML = "";
	t_table = document.createElement("table");
	t_tbody = document.createElement("tbody");
	t_tr = document.createElement("tr");
	t_tdl = document.createElement("td");
	t_tdr = document.createElement("td");
	t_tr.appendChild(t_tdl);
	t_tr.appendChild(t_tdr);
	t_tbody.appendChild(t_tr);
	t_table.appendChild(t_tbody);
	t_table.className = "seite";
	t_tdl.className = "navi";
	t_tdl.width = "150";
	t_tdr.className = "inhalt";
	t_tdr.innerHTML = alles;
	document.body.appendChild(t_table);

	// h2 und evtl. anschließender Zusatz
	x = document.getElementsByTagName("h2")[0];
	// noch einfügen: mitverschieben folgender <p> wenn kein Trenner.gif (sind Erläuterungen zum Titel)
	document.body.insertBefore(x, document.body.firstChild);
	t_bild = x.getElementsByTagName("img");
	for (i=0; i<t_bild.length; i++) {
		x.insertBefore(t_bild[i], x.firstChild);
	}

	// Contents
	// 1. Ggf. vorhandenes Verzeichnis löschen
	t_test = t_tdr.getElementsByTagName("table");
	for (i=0; i<t_test.length; i++) {
		if (t_test[i].outerHTML.indexOf("Contents:") >= 0) t_test[i].parentNode.removeChild(t_test[i]);
		break;
	}
	// 2. Contents aus Überschriften h3 erzeugen, falls mehr als nur eine vorhanden
	if (document.getElementsByTagName("h3").length > 1) {
		// Platzhalter für Inhaltsverzeichnis anlegen
		t_tdl.innerHTML = '<p id="menu">Contents:<a name="anfang"></a></p>';

		ueb = document.getElementsByTagName("h3");
		// H3 mit clickbaren Elementen zerlegen und reine data zusammenfügen:
		// <h3>text <a...>text</a> text</h3>
		for (i=0; i<ueb.length; i++) {
			ueb_i = ueb[i];
			ueb_c0 = ueb_i.innerHTML;
			ueb_c1 = ueb_c0.split("<");
			ueb_c2 = ueb_c1[0];
			for (j=1; j<ueb_c1.length; j++) {
				ueb_c2 = ueb_c2 + ueb_c1[j].split(">")[1];
				/* für History besser ein blank einfügen:
				ueb_c2 = ueb_c2 + ueb_c1[j].split(">")[1] + " ";
				/* geht das auf anderen Seiten auch? */
			}
			list_i = document.getElementById("menu");
			list_i.appendChild (document.createElement("p"));
			list_i.lastChild.className = "taste";
			list_i.lastChild.appendChild (document.createElement("a"));
			list_i.lastChild.lastChild.setAttribute("href", "#" + i);
			list_i.lastChild.lastChild.setAttribute("target", "_self");
			list_i.lastChild.lastChild.appendChild(document.createTextNode(ueb_c2));
			ueb_i.innerHTML = '<a name="' + i + '"></a>' + ueb_i.innerHTML;
			//hier könnte noch ein zurück-Verweis nach #anfang eingebaut werden
		}
	} // Ende Contents

	// Related
	verschieb("p", "related topic", t_tdl); // gibt x zurück!
	if (done) { // also nur wenn etwas verschoben wurde
		// alle <font size>-Angaben unter related, auch die auf verschiedenen Ebenen, entfernen
		for (i=0; i<x.getElementsByTagName("font").length; i++) {
			x.getElementsByTagName("font")[i].removeAttribute("size");
		}
		// Links untereinander: <a> wird in <p> eingeschlossen
		reltopics = x.getElementsByTagName("a");
		for (i=0; i<reltopics.length; i++) {
			reltopic = document.createElement("p");
			reltopic.className = "taste";
			reltopics[i].parentNode.insertBefore (reltopic, reltopics[i]);
			if (reltopics[i].nextSibling) if (reltopics[i].nextSibling.tagName != "A") reltopics[i].parentNode.removeChild (reltopics[i].nextSibling);
			reltopic.appendChild (reltopics[i]);
		}
	}
}

function verschieb(html, text, zelle) {
	done = false;
	xa = document.getElementsByTagName(html);
	for (i=0; i<xa.length; i++) {
		x = xa[i]; // x wird oben wieder benötigt!
		if (x.innerHTML.toLowerCase().indexOf(text) >= 0) {
			zelle.appendChild(x);
			done = true;
			break;
		}
	}
}

//--------------------------------------------------------------
// Alle font size durch style font-size ersetzen
// da die Größe 2 größer ist als die neue Standardgröße 8pt < jetzt 10pt!!
// Farbinformation muss erhalten bleiben!

normaleSchriftHTML = 3;
kleineSchriftHTML  = 1;
normaleSchriftCSS  = 8;
kleineSchriftCSS   = 7;
// nach Erfahrung mit History.html wurde Standardgröße auf 10pt gesetzt:
normaleSchriftCSS  = 10;
kleineSchriftCSS   = 8;
SchriftVerhaeltnis = (normaleSchriftHTML - kleineSchriftHTML) / (normaleSchriftCSS - kleineSchriftCSS);
SchriftBasis = normaleSchriftCSS - normaleSchriftHTML / SchriftVerhaeltnis;

fontsize = document.getElementsByTagName("font");
for (i=0; i<fontsize.length; i++) {
	if (fontsize[i].size != "") {
		SchriftHTML = Number(fontsize[i].size);
		SchriftCSS = SchriftBasis + SchriftHTML / SchriftVerhaeltnis;

		Farbe = (fontsize[i].color) ? fontsize[i].color : "";

		fontsize[i].outerHTML = '<span style="font-size:' + SchriftCSS + 'pt; color: ' + Farbe + '">' + fontsize[i].innerHTML + '</span>';
		// damit ist das tag <font> weg!
		i--;
	}
}

//--------------------------------------------------------------
// a) Bildhöhe entfernen, damit proportionales Verkleinern per CSS auf jeden Fall klappt
// b) Für Bilder, die per Klick vergrößert werden können, "neues Fenster" sicherstellen
// c) alt-Text als Bildunterschrift einsetzen

bild = document.getElementsByTagName("img");
for (i=0; i<bild.length; i++) {
	with (bild[i]) {
		removeAttribute ("height");
		removeAttribute ("align");
		removeAttribute ("hspace");
		removeAttribute ("vspace");
		if (parentNode.nodeName == "A") {
			parentNode.target = "_blank";
			bildelement = parentNode;
		} else {
			bildelement = bild[i];
		}
		if (alt > "") bildelement.outerHTML = "<table class='bildrahmen' cellspacing='0'><tr><td>" + bildelement.outerHTML + "<br><span class='bildunterschrift'>" + alt + "</span></td></tr></table>";
	}
}
