//-----------------------------------------------
// globale Variablen
//-----------------------------------------------
  
// für die Bestandteile des Seitentitels
var strSiteTitle = "";
var strMainTitle = "";
var strChapterTitle = "";

// für die Ergänzung der erzeugten Link-URLS
// abhängig ob Start- oder eine andere Seite
var strTopPrefix = "";
var strBottomPrefix = "";

// Zeiger auf die verwendeten Menuü-Daten
var ptrServiceMenu = null;
var ptrMainMenu = null;
var ptrChapterMenu = null;

// Hilfsvariable
var item1, item2, item3, item4;

//-----------------------------------------------
// Definition des Menü-Objektes incl. Methoden
//-----------------------------------------------
function addMenuItem(item) {
	this.next = item;
}

function addSubMenu(item) {
	this.sub = item;
}

function objMenuItem(title, url) {
	this.title = title;
	this.url = url;
	this.next = null;
	this.sub = null;
	this.addMenuItem = addMenuItem;
	this.addSubMenu = addSubMenu;
}

//-----------------------------------------------
// Instanziierung des Service-Menüs
//-----------------------------------------------
ptrServiceMenu = new objMenuItem("Startseite", "index.htm"); item1 = ptrServiceMenu;
item1.addMenuItem(new objMenuItem("Impressum", "impressum.htm")); item1 = item1.next;
item1.addMenuItem(new objMenuItem("Links", "links.htm")); item1 = item1.next;
item1.addMenuItem(new objMenuItem("History", "history.htm")); item1 = item1.next;

//-----------------------------------------------
// Instanziierung des Main-Menüs
//-----------------------------------------------
//ptrMainMenu = new objMenuItem("Manching", "man.htm"); item1 = ptrMainMenu;
//item1.addMenuItem(new objMenuItem("Klettern", "kl.htm")); item1 = item1.next;
//item1.addMenuItem(new objMenuItem("Kirner Dolomiten", "kd.htm")); item1 = item1.next;
//item1.addMenuItem(new objMenuItem("Reisen", "re.htm")); item1 = item1.next;

//-----------------------------------------------
// Instanziierung des Kapitel-Menüs
//-----------------------------------------------
ptrMainMenu = new objMenuItem("Manching", "man.htm"); item1 = ptrMainMenu;
	item1.addSubMenu(new objMenuItem("Allgemeines", "man.htm")); item2 = item1.sub;
	item2.addMenuItem(new objMenuItem("Sehenswertes", "man_sw.htm")); item2 = item2.next;
	item2.addMenuItem(new objMenuItem("Nähere Umgebung", "man_nu.htm")); item2 = item2.next;
item1.addMenuItem(new objMenuItem("Klettern", "kl.htm")); item1 = item1.next;
	item1.addSubMenu(new objMenuItem("Allgemeines", "kl.htm")); item2 = item1.sub;
	item2.addMenuItem(new objMenuItem("Mittelgebirge", "kl_mg.htm")); item2 = item2.next;
		item2.addSubMenu(new objMenuItem("Sächsische Schweiz", "kl_mg_ss.htm")); item3 = item2.sub;
		item3.addMenuItem(new objMenuItem("Zittauer Gebirge", "kl_mg_zg.htm")); item3 = item3.next;
		item3.addMenuItem(new objMenuItem("Thüringer Wald", "kl_mg_tw.htm")); item3 = item3.next;
		item3.addMenuItem(new objMenuItem("Harz", "kl_mg_hz.htm")); item3 = item3.next;
		item3.addMenuItem(new objMenuItem("Ith", "kl_mg_it.htm")); item3 = item3.next;
	item2.addMenuItem(new objMenuItem("Hochgebirge", "kl_hg.htm")); item2 = item2.next;
		item2.addSubMenu(new objMenuItem("Hochtouren", "kl_ht_allalinhorn.htm")); item3 = item2.sub;
			item3.addSubMenu(new objMenuItem("Allalinhorn", "kl_ht_allalinhorn.htm")); item4 = item3.sub;
			item4.addMenuItem(new objMenuItem("Ankogel", "kl_ht_ankogel.htm")); item4 = item4.next;
			item4.addMenuItem(new objMenuItem("Balmenhorn", "kl_ht_balmenhorn.htm")); item4 = item4.next;
			item4.addMenuItem(new objMenuItem("Hochalmspitze", "kl_ht_hochalmspitze.htm")); item4 = item4.next;
			item4.addMenuItem(new objMenuItem("Ludwigshöhe", "kl_ht_ludwigshoehe.htm")); item4 = item4.next;
			item4.addMenuItem(new objMenuItem("Parrotspitze", "kl_ht_parrotspitze.htm")); item4 = item4.next;
			item4.addMenuItem(new objMenuItem("Pigne d'Arolla", "kl_ht_pignedarolla.htm")); item4 = item4.next;
			item4.addMenuItem(new objMenuItem("Punta Giordani", "kl_ht_puntagiordani.htm")); item4 = item4.next;
			item4.addMenuItem(new objMenuItem("Schwarzhorn", "kl_ht_schwarzhorn.htm")); item4 = item4.next;
			item4.addMenuItem(new objMenuItem("Signalkuppe", "kl_ht_signalkuppe.htm")); item4 = item4.next;
			item4.addMenuItem(new objMenuItem("Vincentpyramide", "kl_ht_vincentpyramide.htm")); item4 = item4.next;
			item4.addMenuItem(new objMenuItem("Weissmies", "kl_ht_weissmies.htm")); item4 = item4.next;
			item4.addMenuItem(new objMenuItem("Gr. Wiesbachhorn", "kl_ht_wiesbachhorn.htm")); item4 = item4.next;
			item4.addMenuItem(new objMenuItem("Zumsteinspitze", "kl_ht_zumsteinspitze.htm")); item4 = item4.next;
		item3.addMenuItem(new objMenuItem("Klettersteige", "kl_ks_alpspitze.htm")); item3 = item3.next;
			item3.addSubMenu(new objMenuItem("Alpspitze", "kl_ks_alpspitze.htm")); item4 = item3.sub;
			item4.addMenuItem(new objMenuItem("Ellmauer Halt", "kl_ks_ellmauer_halt.htm")); item4 = item4.next;
			item4.addMenuItem(new objMenuItem("Paternkofel", "kl_ks_paternkofel.htm")); item4 = item4.next;
			item4.addMenuItem(new objMenuItem("Plattkofel", "kl_ks_plattkofel.htm")); item4 = item4.next;
			item4.addMenuItem(new objMenuItem("Rax", "kl_ks_tbss.htm")); item4 = item4.next;
			item4.addMenuItem(new objMenuItem("Zugspitze", "kl_ks_zugspitze.htm")); item4 = item4.next;
		item3.addMenuItem(new objMenuItem("Klettertouren", "kl_kt_bischofsmuetze.htm")); item3 = item3.next;
			item3.addSubMenu(new objMenuItem("Bischofsmütze", "kl_kt_bischofsmuetze.htm")); item4 = item3.sub;
			item4.addMenuItem(new objMenuItem("Gimpel", "kl_kt_gimpel.htm")); item4 = item4.next;
			item4.addMenuItem(new objMenuItem("Hochtor", "kl_kt_hochtor.htm")); item4 = item4.next;
			item4.addMenuItem(new objMenuItem("Kampenwand", "kl_kt_kampenwand.htm")); item4 = item4.next;
			item4.addMenuItem(new objMenuItem("Ruchenköpfe", "kl_kt_ruchenkoepfe.htm")); item4 = item4.next;
item1.addMenuItem(new objMenuItem("Kirner Dolomiten", "kd.htm")); item1 = item1.next;
	item1.addSubMenu(new objMenuItem("Allgemeines", "kd.htm")); item2 = item1.sub;
	item2.addMenuItem(new objMenuItem("Oberhäuser Wand", "kd_ow.htm")); item2 = item2.next;
	item2.addMenuItem(new objMenuItem("Oberhäuser Grat li.", "kd_og_l.htm")); item2 = item2.next;
	item2.addMenuItem(new objMenuItem("Oberhäuser Grat re.", "kd_og_r.htm")); item2 = item2.next;
	item2.addMenuItem(new objMenuItem("Jungfrau", "kd_jf.htm")); item2 = item2.next;
	item2.addMenuItem(new objMenuItem("Kallenfelser Wand", "kd_kw.htm")); item2 = item2.next;
	item2.addMenuItem(new objMenuItem("Unbekannter Fels", "kd_uf.htm")); item2 = item2.next;
	item2.addMenuItem(new objMenuItem("Schwarze Wand", "kd_sw.htm")); item2 = item2.next;
	item2.addMenuItem(new objMenuItem("Wehlenfels", "kd_wf.htm")); item2 = item2.next;
item1.addMenuItem(new objMenuItem("Reisen", "re.htm")); item1 = item1.next;
	item1.addSubMenu(new objMenuItem("Allgemeines", "re.htm")); item2 = item1.sub;
	item2.addMenuItem(new objMenuItem("Nordeuropa", "re_neu.htm")); item2 = item2.next;
		item2.addSubMenu(new objMenuItem("Südnorwegen", "re_neu_suednorwegen.htm")); item3 = item2.sub;
		item3.addMenuItem(new objMenuItem("Nordkap", "re_neu_nordkap.htm")); item3 = item3.next;
	item2.addMenuItem(new objMenuItem("Osteuropa", "re_oeu.htm")); item2 = item2.next;
		item2.addSubMenu(new objMenuItem("Fagaras", "re_oeu_fagaras.htm")); item3 = item2.sub;
		item3.addMenuItem(new objMenuItem("Winter-Tatra 1", "re_oeu_wtatra1.htm")); item3 = item3.next;
		item3.addMenuItem(new objMenuItem("Sommer-Tatra 1", "re_oeu_statra1.htm")); item3 = item3.next;
		item3.addMenuItem(new objMenuItem("Winter-Tatra 2", "re_oeu_wtatra2.htm")); item3 = item3.next;
		item3.addMenuItem(new objMenuItem("Rila", "re_oeu_rila.htm")); item3 = item3.next;
		item3.addMenuItem(new objMenuItem("Sommer-Tatra 2", "re_oeu_statra2.htm")); item3 = item3.next;
	item2.addMenuItem(new objMenuItem("Südeuropa", "re_seu.htm")); item2 = item2.next;
		item2.addSubMenu(new objMenuItem("Triglav", "re_seu_triglav.htm")); item3 = item2.sub;
		item3.addMenuItem(new objMenuItem("Dalmatien", "re_seu_dalmatien.htm")); item3 = item3.next;
	item2.addMenuItem(new objMenuItem("Westeuropa", "re_weu.htm")); item2 = item2.next;
		item2.addSubMenu(new objMenuItem("Schottland", "re_weu_schottland.htm")); item3 = item2.sub;
		item3.addMenuItem(new objMenuItem("Jungfrau-Joch", "re_weu_jungfraujoch.htm")); item3 = item3.next;
		item3.addMenuItem(new objMenuItem("Berner Oberland", "re_weu_boberland.htm")); item3 = item3.next;
		item3.addMenuItem(new objMenuItem("Südengland/Wales", "re_weu_suedengland.htm")); item3 = item3.next;
	item2.addMenuItem(new objMenuItem("Afrika", "re_afr.htm")); item2 = item2.next;
		item2.addSubMenu(new objMenuItem("Kilimanjaro", "re_afr_kibo.htm")); item3 = item2.sub;

// ----------------------------------------------
// Lesen und Zerlegen des Seitentitels
//-----------------------------------------------
function getTitle() {
	var larrTitleArray;
	
	// prüfen, ob verwertbarer Titel existiert
	if (document.title.length > 0) {
		// wenn ja, aufsplitten des gesamten Titels
		// Trenner ist die Zeichenkette " > "
		// Ergebnis wird in ein Array geschrieben
		larrTitleArray = document.title.split(" > ");
		// wenn wenigstens eine Teilzeichenkette existiert
		// diese als Site-Titel speichern
		if (larrTitleArray.length > 0)
			strSiteTitle = larrTitleArray[0];
		// existiert eine zweite Teilzeichenkette
		// diese als Haupt-Titel speichern
		if (larrTitleArray.length > 1)
			strMainTitle = larrTitleArray[1];
		// existiert eine dritte Teilzeichenkette
		// diese als Kapitel-Titel speichern
		if (larrTitleArray.length > 2)
			strChapterTitle = larrTitleArray[2];

		// läuft das Script in der Startseite (index.htm)
		if (strMainTitle == "Startseite") {
			// prefix für eine Ebene tiefer liegende Seiten
			strBottomPrefix = "html\/";
			// prefix für eine Ebene höher liegende Seiten
			strTopPrefix = "";
		} else {
			// prefix für eine Ebene tiefer liegende Seiten
			strBottomPrefix = "";
			// prefix für eine Ebene höher liegende Seiten
			strTopPrefix = "..\/";
		}
	}
}

//-----------------------------------------------
// Ausgabe des Service-Menüs
//-----------------------------------------------
function printServiceMenu() {

	var lptrTemp = ptrServiceMenu;
	var lstrActive = "";

	// Titelinformation der Seite besorgen
	getTitle();

	document.write("<ul id=\"sm\">");
	while (lptrTemp != null) {
		lstrActive = (lptrTemp.title == strMainTitle) ? "class=\"active\" " : "";
		
		if (lptrTemp.title == "Startseite")
			document.write("<li><a " + lstrActive + "href=\"" + strTopPrefix + lptrTemp.url + "\">" + lptrTemp.title + "<\/a><\/li>");
		else
			document.write("<li><a " + lstrActive + "href=\"" + strBottomPrefix + lptrTemp.url + "\">" + lptrTemp.title + "<\/a><\/li>");
		
		if (lptrTemp.next != null)
			document.write(" &middot; ");

		lptrTemp = lptrTemp.next;
	}
	document.writeln("<\/ul>");
}

//-----------------------------------------------
// Ausgabe des Main-Menüs
//-----------------------------------------------
function printMainMenu() {
	var lptrTemp = ptrMainMenu;
	var lstrActive = "";
	
	document.write("<ul id=\"mm\">");
	while (lptrTemp != null) {

		if (lptrTemp.title == strMainTitle) {
			lstrActive = "class=\"active\" ";
			ptrChapterMenu = lptrTemp;
		} else {
			lstrActive = "";
		}
		
		if (lptrTemp.title == "Startseite")
			document.write("<li><a " + lstrActive + "href=\"" + strTopPrefix + lptrTemp.url + "\">" + lptrTemp.title + "<\/a><\/li>");
		else
			document.write("<li><a " + lstrActive + "href=\"" + strBottomPrefix + lptrTemp.url + "\">" + lptrTemp.title + "<\/a><\/li>");
		
		//if (lptrTemp.next != null)
		//	document.write(" &middot; ");
	
		lptrTemp = lptrTemp.next;
	}
	document.writeln("<\/ul>");
}

//-----------------------------------------------
// Ausgabe des Kapitel-Menüs
//-----------------------------------------------
function compareTitle(ptr, title) {
	var lptrTemp = ptr;
	
	while (lptrTemp != null) {
		//alert("O: " + lptrTemp.title + " vs S: " + title);
		if (lptrTemp.title == title)
			return true;
		if (lptrTemp.sub != null)
			if (compareTitle(lptrTemp.sub, title))
				return true;
		lptrTemp = lptrTemp.next;
	}
	return false;
}

function printChapterMenuItems(ptrObject, strSearchTitle, bFull) {
	var lptrTemp = ptrObject;
	var lstrLink1, lstrLink2;
	
	// Durchlaufen aller Items einer Ebene
	while (lptrTemp != null) {
		//if (lptrTemp.url != "") {
		if (lptrTemp.title == strSearchTitle) {
			if (lptrTemp.sub != null) {
				lstrLink1 = "<a class=\"subsactive\" href=\"" + lptrTemp.url + "\">";
			} else {
				lstrLink1 = "<a class=\"active\" href=\"" + lptrTemp.url + "\">";
			}
		} else {
			if (lptrTemp.sub != null) {
				lstrLink1 = "<a class=\"subs\" href=\"" + lptrTemp.url + "\">";
			} else {
				lstrLink1 = "<a href=\"" + lptrTemp.url + "\">";
			}
		}
		lstrLink2 = "<\/a>";
		//} else {
		//	lstrLink1 = "";
		//	lstrLink2 = "";
		//}
		document.writeln("<li>" + lstrLink1 + lptrTemp.title + lstrLink2 + "<\/li>");
		
		if (lptrTemp.sub != null && bFull) {
			if (lptrTemp.title == strSearchTitle) {
				prepareChapterMenu(lptrTemp.sub, strSearchTitle, false);
			}
			if (compareTitle(lptrTemp.sub, strSearchTitle)) {
				prepareChapterMenu(lptrTemp.sub, strSearchTitle, true);
			}
		}
		lptrTemp = lptrTemp.next;
	}
}

function prepareChapterMenu(ptrObject, strSearchTitle, bFull) {
	document.writeln("<ul>");
	printChapterMenuItems(ptrObject, strSearchTitle, bFull);
	document.writeln("<\/ul>");
}

function printChapterMenu() {

	var lptrTemp = ptrChapterMenu;
	
	if (lptrTemp != null) {
		if (lptrTemp.sub != null) {
			document.writeln("<h4>INHALT <span class=\"normal\">" + lptrTemp.title + "<\/span><\/h4>");
			prepareChapterMenu(lptrTemp.sub, strChapterTitle, true);
		}
	}
}

