/*
 * jQuery Menu 
 * 42blue.com
 ** enhanced by Peter Jordan 
 ** jordan.de
 ** multiple sublevels
 ** highlight active link, parent levels and open the submenues 
 ** open overview page even if has ul
 ** toggle visibility of div class more for long pages
 ** works also with # anchor links
 */
    
$(document).ready(function() {

	var thishref = document.location.href; // liefert Dateinamen mit Pfad
	var thisfilename = escape(thishref);
	var x = thisfilename.lastIndexOf("/");
	var thisfilename = unescape(thisfilename.substring(x+1)); // liefert Dateinamen OHNE Pfad
	
	if(thisfilename == "") thisfilename = "index.htm";
		var thisfilename = thisfilename.replace(/.htm/, ""); //stripped filename von .htm 
	var thisfilename = thisfilename.replace(/.html/, ""); //.htm wird bei gleichzeitig # nicht gefunden
	var x = thisfilename.lastIndexOf("#"); //textmarke suchen
	if(x>0){
		var thisfilename1 = thisfilename.substring(0,x);  //filename ohne #
		var thisfilename2 = thisfilename.substring(x+1);} //textmarke ohne#
	else{
		var thisfilename1 = thisfilename;
		var thisfilename2 = "";}
	
//alert('thisfilename: '+thisfilename1 +'+'+thisfilename2);



if(thisfilename2 != ""){
	var $menulinks = $("#navigation li a[href]"); // sucht alle links die filename2 enthalten
	var $setnew = $menulinks.slice(0, 0); //variable als jquery object definieren
	var $menulinks = $menulinks.filter('[href$='+thisfilename2+']'); // sucht alle links die filename2 enthalten
//	var $menulinks = $menulinks.filter('[href*='+thisfilename1+']'); // sucht darin alle Links die auch filename1 enthalten **funktioniert nicht
	$menulinks.each(function(index){  // da filter nicht funktioniert einzeln durchsuchen und neue selection aufbauen
		mlink = (escape(this.href));
		x = mlink.indexOf(thisfilename1);
		//alert("index: "+ index + "x: "+ x);
		if(x>0){
			$setnew = $menulinks.add($menulinks.slice(index, index));
			//alert($setnew.length + "  " + $setnew.get(index).href); 
		}
	});
	var $menulinks = $setnew;

//	alert(' menulink0: '+ $menulinks.length);
//	alert(' menulink0: '+ $menulinks.get(0).href);
//	alert(' menulink0: '+ $menulinks2.length);
//	alert(' menulink0: '+ $menulinks.get(0).href);
} 
else{
	var $menulinks = $('#navigation li a[href*='+thisfilename1+']');} // sucht alle links die filename1 enthalten

//alert('thisfilename: '+thisfilename1 +'+'+thisfilename2 + ' menulinks: '+ $menulinks.length);
//alert('menulinks2: '+ $menulinks2.length);

if(thisfilename1 != "index"){
	$menulinks.addClass("activelink"); //highlight Klasse des a tags angeben
	$menulinks.parents().addClass("current-cat"); //Klasse des ul tags

	$menulinks.parent().parent().parent().parent().parent().addClass("parent-li"); //Klasse des parent li tags
	$menulinks.parent().parent().parent().addClass("parent-li"); //Klasse des parent li tags
	$menulinks.parent().removeClass("parent-li"); //Klasse des li tags
	$menulinks.parent().addClass("current-li"); //Klasse des li tags
	$menulinks.parent().parent().parent().removeClass("current-li"); //Klasse des parent li tags
//	alert('Hello: '+$menulinks.parent().parent().parent().get(0).tagName);
}
  
var $menu = $('#navigation li');
$menu.filter(':not(.current-cat)').children('ul').css("display","none"); //klappt alle submenues zu die nicht die Klasse current-cat haben

//wenn ul definiere eigene funktion
$menu.filter(':has(ul)').children(':first-child').click(function(){
	var thislink = $(this).attr("href"); /* get Dateiname dieses links*/
  	var thislink = escape(thislink); 
  	var x = thislink.lastIndexOf("/"); 
  	var thislink = unescape(thislink.substring(x+1)); 
  	if(thislink == "") thislink = "#"; 
  	if(thislink == "#") thislink = thisfilename1; 
	var thislink = thislink.replace(/.htm/, ""); // stripped .htm wird bei gleichzeitig # nicht gefunden
	var thislink = thislink.replace(/.html/, "");
	var x = thislink.lastIndexOf("#"); //textmarke suchen
	if(x>0){
		var thislink1 = thislink.substring(0,x);  //filename ohne #
		var thislink2 = thislink.substring(x+1);} //textmarke ohne#
	else{
		var thislink1 = thislink; //link ohne #
		var thislink2 = "";} //textmarke ohne#
	
	//die href der Menupunkte "Übersicht" mit folgender ul müssen immer auch eine gültige Seite aufrufen, sonst funktioniert das aufklappen nicht richtig
	  	
	if(thislink2 != ""){ //wenn textmarke
		if(thislink2 == thisfilename2 && thislink1 == thisfilename1){
		    $(this).parent().siblings().children('ul:visible').slideUp('fast'); //öffne submenues
		    $(this).next().slideToggle('fast');}
		else {
			$("div.layout-3col-more").toggleClass("less");
		    $("div.more").toggleClass("less");
			$(this.attr("href").click());}} /* öffne die Übersichtsseite */
	else{  //wenn KEINE Textmarke
		if(thislink1 == thisfilename1){
		    $(this).parent().siblings().children('ul:visible').slideUp('fast'); //öffne submenues
		    $(this).next().slideToggle('fast');}
		else {
			$("div.layout-3col-more").addClass("less");
		    $("div.more").removeClass("less");
			$(this.attr("href").click());}} /* öffne die Übersichtsseite */

	return false;
});

// toggle visibility of div class more
// die nächsten Zeile aktiv blendet Inhalt more nach dem Laden aus / Inaktiv bleibts
// if(thisfilename2 == ""){$("div.more").addClass("less");} else{$("div.layout-3col-more").addClass("less");}
 $("a.more").click(function(){
    $("div.more").toggleClass("less");
//    $("div.layout-3col-more").toggleClass("less");
 });



});


