/*
 *	Skript zum Beschränken der Zeilenanzahl der Hauptnavigation
 *  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */

var maxZeilen= 2;
 

var navigation= document.getElementById("hauptnavi");
// alle Li-ChildNodes der 1. Unterbene ansprechen im Array liFeld speichern
var liFeld= new Array();
var arrayCount= 0;
for (i= 0; i < navigation.childNodes.length; i++) {
	if (navigation.childNodes[i].tagName == "LI") {
		liFeld[arrayCount]= navigation.childNodes[i];
		arrayCount++;
	}
}

// die A-Tags finden, die als parent eines der liTags haben und im Array aFeld speichern
var aFeld= new Array();
arrayCount= 0;
for (i= 0; i < liFeld.length; i++) {
	for (j= 0; j < liFeld[i].childNodes.length; j++) {
		if (liFeld[i].childNodes[j].tagName == "A") {
			aFeld[arrayCount]= liFeld[i].childNodes[j];
			arrayCount++;
		}
	}
}

// Alle SPAN-Tags der Klasse Inhalt finden und im array spanFeldTop speichern
var spanFeldTop= new Array();
arrayCount= 0;
for (i= 0; i < aFeld.length; i++) {
	spanFeld= aFeld[i].getElementsByTagName("SPAN");
	for (j= 0; j < spanFeld.length; j++) {

		/*
		 *	Um das class-Attribut abzufragen benötigt der IE den String "className" und FF und Opera den String "class"
		 *  Deshalb diese Unterscheidung hier.
		 *  Erläuterung auf: http://msdn.microsoft.com/workshop/author/dhtml/reference/methods/getattribute.asp
		 *
		 *  Da der IE bei geAttribute("class") NULL zurückgibt kann man dies als Weiche benutzen
		 *
		 */
		 
		if ((spanFeld[j].getAttribute("className") == "inhalt") || (spanFeld[j].getAttribute("class") == "inhalt")) {
			spanFeldTop[arrayCount]= spanFeld[j];
			arrayCount++;
		}
	}
}


// Es wird die Zeile bestimmt, in der das "..." steht. Ist es in Zeile 3, dann muss gelöscht werden.

for (j= 0; j < spanFeldTop.length; j++) {
	//alert("amgekommen");
	alreadyErasedTags= 0;
	do {
		var prevOffsetTop= -1000;
		var zeile= 0;
		//alert("hier");
		spans= spanFeldTop[j].getElementsByTagName("SPAN");
		for (i= 0; i < spans.length; i++) {
			if (spans[i].offsetTop > prevOffsetTop) {
				zeile++;
				prevOffsetTop= spans[i].offsetTop;
			}
		}
		// Wenn das "..." in einer Zeile steht, die größer als 3 ist, dann wird das vorhergehende SPAN-Tag gelöscht
		if (zeile >= maxZeilen+1) {
			spans[spans.length - 2 - alreadyErasedTags].style.display= "none";
			alreadyErasedTags++;
		}
	} while (zeile >= maxZeilen+1);
}
