// Automatische Site-Navigation mit dynamisch erzeugtem Javascript
//
// (c) Nov 1999 Marco Zierl
// Kontakt: mzierl@gmx.net
var root_directory = "";
var image_dir = "/nav/";
var default_height = 34;
var default_width = 150;
var default_target = "_self";
var mouseover_extension = "_h";

var default_menu = new Array( 'home','metallhand','ausbildung','orga','leistungen','mitglieder','sitemap');
var html_extension = ".html";
var mouseover_effects = true; // oder false;
var file_type = ".gif";
var MenuEntries=new Object();
var current_entry =0;

function add_subentry(name, mother, link){
	if(MenuEntries[mother].child_counter == null){
		MenuEntries[mother].child_counter=0;
		MenuEntries[mother].children = new Array();
	}
	var child_count = MenuEntries[mother].child_counter;
	MenuEntries[mother].children[child_count]=name;
	MenuEntries[mother].child_counter++;

	// mormalen Eintrag für Kind erzeugen
	if(! link){
		add_entry(name);
	} else {
		add_entry(name, link);
	}
	MenuEntries[name].mother = mother;
}

// add_entry()
//
// fügt einen eintrag zur Sammlung der Menüeinträge hinzu
// dabei werden default-einstellungen eingetragen, die man
// manuell ändern kann

function add_entry(name, link){ //, image, link, alt, image_h){
	MenuEntries[name] = new Object();
	MenuEntries[name].name = name;
	MenuEntries[name].image = name;
	if(mouseover_effects == true){
		MenuEntries[name].image_h = name + mouseover_extension;
	}
	MenuEntries[name].alt = name;
	if(!link){
		MenuEntries[name].link = root_directory + "/" + name + html_extension;
	} else {
		MenuEntries[name].link = root_directory + "/" + link;
	}

	if(mouseover_effects == true){
		// image objekte zum mouseover-austausch anlegen
		eval(name + '= new Image()');
		eval(name + '.src="' + root_directory + image_dir + MenuEntries[name].image + file_type + '"');
		eval(name + '_h= new Image()');
		eval(name + '_h.src="' + root_directory + image_dir + MenuEntries[name].image_h + file_type + '"');
	}
	current_entry++;
}

function build_nav(page_menu, highlight){

	var mother="";
	// check for mother node
	if(highlight != null){
		if(MenuEntries[highlight].mother != null){
			mother = MenuEntries[highlight].mother;
		}
	}

	for(i=0; i< page_menu.length; i++){
		var current_entry = page_menu[i];

		// link und image tags schreiben (mit document.write
		write_html(current_entry, highlight);

		if(current_entry == mother){
			for(var j=0; j<MenuEntries[current_entry].children.length; j++){
				write_html(MenuEntries[current_entry].children[j], highlight);
			}
		}

		if(MenuEntries[current_entry].name == highlight &&
			MenuEntries[current_entry].child_counter != null){
			// Untermenü vorhanden
			for(var j=0; j<MenuEntries[current_entry].children.length; j++){
				write_html(MenuEntries[current_entry].children[j], highlight);

			}
		}
	}
}

function	write_html(current_entry, highlight){
		var extension = "";
		var curr_name = MenuEntries[current_entry].name;
		// abprüfen, ob eintrag als ausgewählt angezeigt wird
		if(curr_name == highlight){
			extension = mouseover_extension; // highlight grafik
		}

		// höhe und breite der grafik setzen
		if(!MenuEntries[current_entry].height ){
			height = default_height;
		} else {
			height = MenuEntries[current_entry].height;
		}

		if(!MenuEntries[current_entry].width ){
			width = default_width;
		} else {
			width = MenuEntries[current_entry].width;
		}

		output="";

		// html Ausgabe erzeugen
		if(MenuEntries[current_entry].name != highlight){

			// <a> Tag aufbauen: href
			output = '<a href="' + MenuEntries[current_entry].link + '"';
			if(mouseover_effects == true ){
				// mouse events einfügen
				output+= ' onMouseOver="ch(\'' + curr_name + '\',\'' + curr_name;
				output+= '_h\'); return true"';
				output+= ' onMouseOut="ch(\'' + curr_name + '\',\'' + curr_name;
				output+= '\'); return true"';
			}
			if(!MenuEntries[current_entry].target ){
				target = default_target;
				} else {
				target = MenuEntries[current_entry].target;
						}
			output += 'target='+ target
			output += '>';
		}

		// image tag aufbauen- src, height, width  und alt
		output += '<img src="' + root_directory + image_dir + MenuEntries[current_entry].image;
		output += extension + '.gif" height=' + height;
		output += ' width="' + width + '" border=0 alt="';
		output += MenuEntries[current_entry].alt + '" name="' + curr_name;
		output += '"></a><br>';

		document.write(output);
}

function ch(im,sr) {
	eval('document.'+im+'.src='+sr+'.src');
}

