/* Funktionen */
	function checkPhpActivatedPoints(){
		/* Prim */
		$.myns.phpPrimActiv = $('ul#main_navigation > li.first_activ').attr('id');
		if(!$.myns.phpPrimActiv){ $.myns.phpPrimActiv = $('ul#main_navigation > li.first_stat_activ').attr('id'); }
		if(!$.myns.phpPrimActiv){ $.myns.phpPrimActiv = $('ul#main_navigation > li.stat_activ').attr('id'); }
		/* Seku */
		$.myns.phpSekuActiv = $('#s' + $.myns.phpPrimActiv + ' > li[class=stat_activ]').attr('id');
		/* Tert */
		$.myns.phpTertActiv = $('#s' + $.myns.phpSekuActiv + ' > li[class=stat_activ]').attr('id');
		/* Erzwingt, dass die Links innerhalb der statischen activs immer weiß bleiben */
		$('li.stat_activ > a.activ').css('color', '#ffffff');
	}

	function deactivateActivPrim(){
		/* deaktiviert alle */
		if($('ul#main_navigation > li.activ').attr('id')!=null){ $('ul#main_navigation > li.activ').removeClass(); }
		if($('ul#main_navigation > li.first_activ').attr('id')!=null){ $('ul#main_navigation > li.first_activ').attr('class', 'first'); }
	}

	function checkDisableBox(){
		if($.myns.box_over == 1 && $.myns.main_over == 1 && $.myns.imgbox_over == 1){
			/* Navigations-Box entfernen */
			$("#js_navigation").remove();
			/* Activ-Zustand des letzten aktiven li entfernen */
			deactivateActivPrim();
		}
	}

	function buildPreActivatedNaviBox(){
		if($.myns.phpSekuActiv){
			if(tert = $("ul#s" + $.myns.phpSekuActiv).clone().html()){
				/* Elemente in die Navi-Box einfügen */
				$("#nav_contents").append('<ul id="tertnav">' + tert + '</ul>');
				/* Ausgleich der ul-Höhen untereinander */
				if($('#sekunav').height() < $('#tertnav').height()){ $('#sekunav').height($('#tertnav').height()); }
				if($('#sekunav').height() > $('#tertnav').height()){ $('#tertnav').height($('#sekunav').height()); }
			}
			if($.myns.phpTertActiv){
				/* neue Image-Box einfügen */
				$("#nav_contents").append($.myns.img_box);
				/* Hintergrundbild der Image-Box auf Position verschieben */
				$("#nav_contents .nav_pimg").css({'background-image' : 'url(../../media/images/' + $.myns.bg_product[$.myns.phpTertActiv][1] + '.jpg)', 'background-position' : $.myns.bg_product[$.myns.phpTertActiv][0] + ' center'});
			}
		}
	}

	function highlightSekuNav(level, obj, func){
		if(func == 'show'){
			if($.myns.sekuNavTimer){
				window.clearTimeout($.myns.sekuNavTimer);
				$.myns.sekuLevel = '';
				$.myns.sekuObj = '';
			}

			$.myns.sekuLevel = level;
			$.myns.sekuObj = obj;

			$.myns.sekuNavTimer = window.setTimeout(function(){
				if($.myns.sekuObj){
					$("#" + $.myns.sekuLevel +" a.activ").removeClass();
					$($.myns.sekuObj).find('a').addClass('activ');

					/* Id lesen und Elemente der Liste kopieren */
					var id = $($.myns.sekuObj).attr("id");
					var tert = $("ul#s" + id).clone().html();
					/* evtl. bestehende Tert entfernen */
					if($("#tertnav").length > 0){ $("#tertnav").remove(); }
					/* ggf. vorhandenes Bild und Bild-Timer entfernen */
					if(tert){
						if($(".nav_pimg").length > 0){ $(".nav_pimg").remove(); }
					}
					window.clearTimeout($.myns.timer);

					if(tert){ $("#nav_contents").append('<ul id="tertnav">' + tert + '</ul>'); }

					/* Ausgleich der ul-Höhen untereinander */
					if($('#sekunav').height() < $('#tertnav').height()){ $('#sekunav').height($('#tertnav').height()); }
					if($('#sekunav').height() > $('#tertnav').height()){ $('#tertnav').height($('#sekunav').height()); }

					$.myns.sekuLevel = '';
					$.myns.sekuObj = '';
				}
			}, 400);
		}
	}

	function highlightTertNav(level, obj, func){
		if(func == 'show'){
			if($.myns.sekuNavTimer){
				window.clearTimeout($.myns.sekuNavTimer);
			}
			if($.myns.tertNavTimer){
				window.clearTimeout($.myns.tertNavTimer);
				$.myns.tertLevel = '';
				$.myns.tertObj = '';
			}

			$.myns.tertLevel = level;
			$.myns.tertObj = obj;

			$.myns.tertNavTimer = window.setTimeout(function(){
				if($.myns.tertObj){
					$("#" + $.myns.tertLevel +" a.activ").removeClass();
					$($.myns.tertObj).find('a').addClass('activ');

					/* Id lesen und Elemente der Liste kopieren */
					var id = $($.myns.tertObj).attr("id");

					/* evtl. bestehende Image-Box entfernen */
					if($("#nav_contents .nav_pimg").length > 0){ $("#nav_contents .nav_pimg").remove(); }
					/* neue Image-Box einfügen */
					$("#nav_contents").append($.myns.img_box);
					/* Hintergrundbild der Image-Box auf Position verschieben */
					$("#nav_contents .nav_pimg").css({'background-image' : 'url(../../media/images/' + $.myns.bg_product[id][1] + '.jpg)', 'background-position' : $.myns.bg_product[id][0] + ' center', 'cursor' : 'pointer'});
					/* MouseHover-Status für Image-Box aktualisieren */
					$($.myns.tertObj).css('cursor', 'pointer');
					$(".nav_pimg").hover(
						function(){
							$.myns.imgbox_over = 2;
							/* ggf existierenden Timer vom letzten MouseOut dieser Ebene stoppen */
							if($.myns.timer){ window.clearTimeout($.myns.timer); }
						},
						function(){ $.myns.imgbox_over = 1; }
					);
					/* Image-Box klickbar machen */
					var link = $($.myns.tertObj).find('a').attr('href');
					$(".nav_pimg").bind('click', function(){ window.location = link; });

					$.myns.tertLevel = '';
					$.myns.tertObj = '';
				}
			}, 400);
		}
	}

	function checkMaxTert(){
		var highest = 0;
		$("li.first > ul.mainslave > li > ul.mainslave").each(function(index){
			if($(this).children().length > highest){ highest = $(this).children().length; }
		});

		return highest;
	}

	function checkTertExists(obj){
		var id = $(obj).attr("id");
		var count = $("ul#s" + id).children().length;
		if(count > 0){ return true; }
		else{ return false; }
	}

	function showProductImgForSekuNav(obj){
		$.myns.pimgNavTimer = window.setTimeout(function(){
			/* ggf existierende Seku-Ebene entfernen */
			if($("#tertnav").length > 0){ $("#tertnav").remove(); }

			/* Id lesen */
			var id = $(obj).attr("id");
			/* evtl. bestehende Image-Box entfernen */
			if($("#nav_contents .nav_pimg").length > 0){ $("#nav_contents .nav_pimg").remove(); }
			/* Prüfen ob es ein Image gibt */
			if($.myns.bg_product[id]){
				/* neue Image-Box einfügen */
				$("#nav_contents").append($.myns.img_box);
				/* Hintergrundbild der Image-Box auf Position verschieben */
				$("#nav_contents .nav_pimg").css({'background-image' : 'url(../../media/images/' + $.myns.bg_product[id][1] + '.jpg)', 'background-position' : $.myns.bg_product[id][0] + ' center', 'cursor' : 'pointer'});
				/* MouseHover-Status für Image-Box aktualisieren */
				$("#nav_contents .nav_pimg").css('cursor', 'pointer');

				$(".nav_pimg").hover(
					function(){
						$.myns.imgbox_over = 2;
						/* ggf existierenden Timer vom letzten MouseOut dieser Ebene stoppen */
						if($.myns.timer){ window.clearTimeout($.myns.timer); }
					},
					function(){ $.myns.imgbox_over = 1; }
				);
				/* Image-Box klickbar machen */
				var link = $($.myns.sekuObj).find('a').attr('href');
				$(".nav_pimg").bind('click', function(){ window.location = link; });
			}
		}, 400);
	}

/// Funktionen nach Aufbau der Seite
$(document).ready(function(){
	/* Einstellungen */
	$.myns = {}
	$.myns.phpPrimActiv;
	$.myns.phpSekuActiv;
	$.myns.phpTertActiv;
	$.myns.box_over 		= 1;
	$.myns.main_over		= 1;
	$.myns.imgbox_over		= 1;
	$.myns.main_navi_box	= '<div id="js_navigation"><div id="nav_contents"></div></div>';
	$.myns.img_box			= '<div class="nav_pimg"></div>';

	$.myns.sekuLevel;
	$.myns.sekuObj;
	$.myns.tertLevel;
	$.myns.tertObj;

	$.myns.timer;
	$.myns.sekuNavTimer;
	$.myns.tertNavTimer;
	$.myns.pimgNavTimer;

	$.myns.maxTertNumber = checkMaxTert();

	$.myns.bg_product = new Array;
	/* deutsche Navigation */
	$.myns.bg_product[20] = new Array('-1px', 'basic/fitness_nav_pre');
	$.myns.bg_product[21] = new Array('-323px', 'basic/fitness_nav_pre');
	$.myns.bg_product[22] = new Array('-646px', 'basic/fitness_nav_pre');
	$.myns.bg_product[23] = new Array('-969px', 'basic/fitness_nav_pre');
	$.myns.bg_product[24] = new Array('-1292px', 'basic/fitness_nav_pre');
	$.myns.bg_product[25] = new Array('-1615px', 'basic/fitness_nav_pre');
	$.myns.bg_product[86] = new Array('-1939px', 'basic/fitness_nav_pre');
	$.myns.bg_product[26] = new Array('-2261px', 'basic/fitness_nav_pre');
	$.myns.bg_product[27] = new Array('0px', 'basic/medical_nav_pre');
	$.myns.bg_product[28] = new Array('-323px', 'basic/medical_nav_pre');
	$.myns.bg_product[29] = new Array('-646px', 'basic/medical_nav_pre');
	$.myns.bg_product[30] = new Array('-969px', 'basic/medical_nav_pre');
	$.myns.bg_product[31] = new Array('-1292px', 'basic/medical_nav_pre');
	$.myns.bg_product[88] = new Array('-323px', 'basic/medical_nav_pre');
	$.myns.bg_product[32] = new Array('0px', 'basic/high_perf_nav_pre');
	$.myns.bg_product[33] = new Array('-323px', 'basic/high_perf_nav_pre');
	$.myns.bg_product[34] = new Array('0px', 'basic/zirkel_nav_pre');
	$.myns.bg_product[35] = new Array('-323px', 'basic/zirkel_nav_pre');
	$.myns.bg_product[36] = new Array('0px', 'basic/cardio_nav_pre');
	$.myns.bg_product[37] = new Array('-323px', 'basic/cardio_nav_pre');
	$.myns.bg_product[38] = new Array('-646px', 'basic/cardio_nav_pre');
	$.myns.bg_product[39] = new Array('-969px', 'basic/cardio_nav_pre');
	$.myns.bg_product[91] = new Array('-1291px', 'basic/cardio_nav_pre');
	$.myns.bg_product[18] = new Array('0px', 'basic/software_nav_pre');
	$.myns.bg_product[19] = new Array('0px', 'basic/enforbike_nav_pre');
	$.myns.bg_product[72] = new Array('0px', 'basic/zubehoer_nav_pre');
	/* englische Navigation */
	$.myns.bg_product[120] = new Array('-1px', 'basic/fitness_nav_pre');
	$.myns.bg_product[121] = new Array('-323px', 'basic/fitness_nav_pre');
	$.myns.bg_product[122] = new Array('-646px', 'basic/fitness_nav_pre');
	$.myns.bg_product[123] = new Array('-969px', 'basic/fitness_nav_pre');
	$.myns.bg_product[124] = new Array('-1292px', 'basic/fitness_nav_pre');
	$.myns.bg_product[125] = new Array('-1615px', 'basic/fitness_nav_pre');
	$.myns.bg_product[186] = new Array('-1939px', 'basic/fitness_nav_pre');
	$.myns.bg_product[126] = new Array('-2261px', 'basic/fitness_nav_pre');
	$.myns.bg_product[127] = new Array('0px', 'basic/medical_nav_pre');
	$.myns.bg_product[128] = new Array('-323px', 'basic/medical_nav_pre');
	$.myns.bg_product[129] = new Array('-646px', 'basic/medical_nav_pre');
	$.myns.bg_product[130] = new Array('-969px', 'basic/medical_nav_pre');
	$.myns.bg_product[131] = new Array('-1292px', 'basic/medical_nav_pre');
	$.myns.bg_product[188] = new Array('-323px', 'basic/medical_nav_pre');
	$.myns.bg_product[132] = new Array('0px', 'basic/high_perf_nav_pre');
	$.myns.bg_product[133] = new Array('-323px', 'basic/high_perf_nav_pre');
	$.myns.bg_product[134] = new Array('0px', 'basic/zirkel_nav_pre');
	$.myns.bg_product[135] = new Array('-323px', 'basic/zirkel_nav_pre');
	$.myns.bg_product[136] = new Array('0px', 'basic/cardio_nav_pre');
	$.myns.bg_product[137] = new Array('-323px', 'basic/cardio_nav_pre');
	$.myns.bg_product[138] = new Array('-646px', 'basic/cardio_nav_pre');
	$.myns.bg_product[139] = new Array('-969px', 'basic/cardio_nav_pre');
	$.myns.bg_product[191] = new Array('-1291px', 'basic/cardio_nav_pre');
	$.myns.bg_product[118] = new Array('0px', 'basic/software_nav_pre');
	$.myns.bg_product[119] = new Array('0px', 'basic/enforbike_nav_pre');
	$.myns.bg_product[172] = new Array('0px', 'basic/zubehoer_nav_pre');


	/* Änderung des Mauszeigers in "Link" */
	$('ul#main_navigation li').css('cursor', 'pointer');

	/* Active Navi speichern */
	checkPhpActivatedPoints();

	/* Mouse-Event Hover der Main-Navigation definieren */
	$('ul#main_navigation li').hover(
		function(){
			/* Activ-Zustand des letzten aktiven li entfernen */
			deactivateActivPrim();
			/* sämtliche Timer löschen */
			window.clearTimeout($.myns.timer);
			window.clearTimeout($.myns.sekuNavTimer);
			window.clearTimeout($.myns.tertNavTimer);

			/* Activ-Zustand des li in der Main-Navigation setzen */
			if($(this).attr('class')=='first'){ $(this).attr('class','first_activ'); }
			else if($(this).attr('class')=='first_stat_activ' || $(this).attr('class')=='stat_activ'){ /* mache nichts */ }
			else{ $(this).attr('class','activ'); }

			/* ggf. Bild und Timer für Bild entfernen */
			if($("#nav_contents .nav_pimg").length > 0){ $("#nav_contents .nav_pimg").remove(); }
			window.clearTimeout($.myns.timer);
			/* wenn Navi bereits ausgeklappt diese entfernen */
			if($("#js_navigation").length > 0){ $("#js_navigation").remove(); }

			/* Elemente aus erster Ebene lesen */
			var id = $(this).attr("id");
			/* Elemente aus der Navigation kopieren */
			var seku = $("ul#s" + id).clone().html();
			/* wenn Elemente vorhanden */
			if(seku){
				/* Position des Buttons (in der Main-Navigation) im Viewport auslesen */
				var offset = $(this).offset();
				/* Navigations-Box einfügen */
				$("body").append($.myns.main_navi_box);
				/* Navigations-Box an Button ausrichten */
				$("#js_navigation").css('left', offset.left);
				/* Elemente in die Navi-Box einfügen */
				$("#nav_contents").append('<ul id="sekunav">' + seku + '</ul>');
				/* Breite der Sekunav anpassen wenn der 1. Navipunkt aktiv (ist 4px schmaller) */
				if($(this).hasClass('first') || $(this).hasClass('first_activ') || $(this).hasClass('first_stat_activ')){
					$("#sekunav li a").css('width', '135px');
					/* Prüft ob Seku künstlich größer gemacht werden muss */
					var liHeight = $("#sekunav > li").height();
					if($("#sekunav").children().length < $.myns.maxTertNumber){
						$("#sekunav").height($("#sekunav").height() + liHeight);
					}
				}
			}

			if($(this).attr("id") == $.myns.phpPrimActiv){ buildPreActivatedNaviBox(); }

			/* Mouseover-Status auf "Activ" setzen */
			$("#js_navigation").bind('mouseover', function(){ $.myns.box_over = 2; });
			/* Mouseover-Status bei Verlassen der kompletten Navigation auf "Activ" entfernen */
			$("#js_navigation").bind('mouseleave', function(){
				$.myns.box_over = 1;
				/* Zeitverzögertes entfernen der Navigations-Box und des Activ-Zustandes der Main-Navi */
				$.myns.main_over = 1;
				window.setTimeout(checkDisableBox, 10);
			});

			/* Navi mit zweiter Ebene füllen */
			$('ul#sekunav li').bind('mouseover', function(){
				/* Wenn keine tert-Ebene vorhanden wird Product-Image sofort geladen */
				if(!checkTertExists(this)){ showProductImgForSekuNav(this); }
				/* Link-Status der Seku-Ebene auf activ/inactiv setzen */
				highlightSekuNav('sekunav', this, 'show');
				/* Navi mit Produktbild füllen */
				$('ul#tertnav li').live('mouseover', function(){
					/* ggf existierenden Timer vom letzten MouseOut dieser Ebene stoppen */
					if($.myns.timer){ window.clearTimeout($.myns.timer); }

					/* Link-Status der Tert-Ebene auf activ/inactiv setzen */
					highlightTertNav('tertnav', this, 'show');
				});
				$('ul#tertnav li').live('mouseout', function(){
					highlightTertNav('tertnav', '', 'hide');
					window.clearTimeout($.myns.timer);
				});
			});
			$('ul#sekunav li').bind('mouseout', function(){
				highlightSekuNav('sekunav', '', 'hide');
			});
			/* Mouseover-Status für li aktualisieren */
			$.myns.main_over = 2;
		},
		function(){
			/* Mouseover-Status für li aktualisieren */
			$.myns.main_over = 1;
			/* Zeitverzögertes entfernen der Navigations-Box und des Activ-Zustandes der Main-Navi */
			window.setTimeout(checkDisableBox, 10);
		}
	);
});