/**
 * NBproMedia.com
 *
 * (en) nav_main animation
 * (de) Animation der Hauptnavigation
 *
 * @copyright       Copyright 2010, NBproMedia WebDesign GbR, Nils Barenbrock und Felizitas Boecher
 *
 * @link            http://www.NBproMedia.com
 * @version         1.0.0
 * @lastmodified    $Date: 2010-06-05 18:16:15 +0100 (, 05. Jun 2010) $
 */

var firstLoad = true;

$(document).ready(function() {
	
	$('#nav_main ul ul').hide();
	$('#nav_main').addClass('js');
	$('#nav_main').append('<div id="nav_main_slidebox"><div class="nav_main_slider-gu">&nbsp;</div><div class="nav_main_slider-g">&nbsp;</div><div class="nav_main_slider-b">&nbsp;</div><div class="nav_main_slider-r">&nbsp;</div></div><div id="nav_main_sub"><ul></ul></div>');
	var actItem = $('#nav_main > ul > li:has(strong) a').attr('id');
	if(!actItem) {
		actItem = $('#nav_main > ul > li:first-child a').attr('id');
	}
	$('#nav_main #nav_main_slidebox div').fadeTo(0,0);
	
	getSubNavItem(actItem);
	
	$('#nav_main > ul > li a').bind('mouseenter',  naviOver);
	
	$('#main, #searchform').bind('mouseenter', 
		function(e){
			getSubNavItem(actItem);
		}
	);
});

function naviOver(e){
	getSubNavItem(e.target.id);	
}

function getNavItemPos(Item) {
	var $NavItemPos = 0.0833;
	var $prefNavItemCount = $('#nav_main > ul > li:has(a#'+Item+')').prevAll().length;
	for(i = 0; i < $prefNavItemCount; i++){
		$NavItemPos += $('#nav_main > ul > li:has(a#'+Item+')').prevAll().eq(i).width()/12;
		}
	$NavItemPos += $prefNavItemCount/12;
	return $NavItemPos;
}


function getSubNavItem(Item){
	var lis = '';
	var $childli = $('#nav_main > ul > li:has(a#'+Item+') ul > li');
	var $childlia = $('#nav_main > ul > li:has(a#'+Item+') ul > li a');
    var $Class = $('#nav_main > ul > li:has(a#'+Item+')').attr('class');
	var $actSliderClass = $('#nav_main > #nav_main_slidebox div.actSlider').attr('class');
	if($actSliderClass == 'nav_main_slider-gu actSlider') {
	  $actSliderClass = 'gu';
	}
	if($actSliderClass == 'nav_main_slider-g actSlider') {
	  $actSliderClass = 'g';
	}
	if($actSliderClass == 'nav_main_slider-b actSlider') {
	  $actSliderClass = 'b';
	}
	if($actSliderClass == 'nav_main_slider-r actSlider') {
	  $actSliderClass = 'r';
	}
	$actSliderClassFirst = $actSliderClass+' first';
	if(firstLoad) {
		firstLoad = false;
		if($Class == 'gu first' || $Class == 'gu') {
			$('#nav_main #nav_main_slidebox div.nav_main_slider-gu').fadeTo(0,0.7);
			$('#nav_main #nav_main_slidebox div.nav_main_slider-gu').addClass('actSlider');
		}
		if($Class == 'g first' || $Class == 'g') {
			$('#nav_main #nav_main_slidebox div.nav_main_slider-g').fadeTo(0,0.7);
			$('#nav_main #nav_main_slidebox div.nav_main_slider-g').addClass('actSlider');
		}
		if($Class == 'b first' || $Class == 'b') {
			$('#nav_main #nav_main_slidebox div.nav_main_slider-b').fadeTo(0,0.7);
			$('#nav_main #nav_main_slidebox div.nav_main_slider-b').addClass('actSlider');
		}
		if($Class == 'r first' || $Class == 'r') {
			$('#nav_main #nav_main_slidebox div.nav_main_slider-r').fadeTo(0,0.7);
			$('#nav_main #nav_main_slidebox div.nav_main_slider-r').addClass('actSlider');
		}
		$('div#nav_main_sub').css('left', getNavItemPos(Item)+'em');
		$('div#nav_main_slidebox').css('left', getNavItemPos(Item)+'em');
		
		for(i = 0; i < $childli.length; i++){
			lis += '<li>'+$childli.eq(i).html()+'</li>';
		}
		if(!lis) {
			lis = '<li>&nbsp;</li>';
		}
		$('div#nav_main_sub ul').append(lis);
	}
	else {
		$('div#nav_main_sub').stop(1,0).animate({left: getNavItemPos(Item)+'em'}, 600);
		$('div#nav_main_slidebox').stop(1,0).animate({left: getNavItemPos(Item)+'em'}, 600, function() {
				if($Class != $actSliderClass && $Class != $actSliderClassFirst) {
					if($Class == 'gu first' || $Class == 'gu') {
						$('#nav_main #nav_main_slidebox div.nav_main_slider-gu').addClass('nextSlider');
						$('#nav_main > #nav_main_slidebox div.actSlider').fadeTo(300,0).removeClass('actSlider');
						$('#nav_main #nav_main_slidebox div.nav_main_slider-gu').fadeTo(300,0.7).removeClass('nextSlider').addClass('actSlider');
					}
					if($Class == 'g first' || $Class == 'g') {
						$('#nav_main #nav_main_slidebox div.nav_main_slider-g').addClass('nextSlider');
						$('#nav_main > #nav_main_slidebox div.actSlider').fadeTo(300,0).removeClass('actSlider');
						$('#nav_main #nav_main_slidebox div.nav_main_slider-g').fadeTo(300,0.7).removeClass('nextSlider').addClass('actSlider');
					}
					if($Class == 'b first' || $Class == 'b') {
						$('#nav_main #nav_main_slidebox div.nav_main_slider-b').addClass('nextSlider');
						$('#nav_main > #nav_main_slidebox div.actSlider').fadeTo(300,0).removeClass('actSlider');
						$('#nav_main #nav_main_slidebox div.nav_main_slider-b').fadeTo(300,0.7).removeClass('nextSlider').addClass('actSlider');
					}
					if($Class == 'r first' || $Class == 'r') {
						$('#nav_main #nav_main_slidebox div.nav_main_slider-r').addClass('nextSlider');
						$('#nav_main > #nav_main_slidebox div.actSlider').fadeTo(300,0).removeClass('actSlider');
						$('#nav_main #nav_main_slidebox div.nav_main_slider-r').fadeTo(300,0.7).removeClass('nextSlider').addClass('actSlider');
					}
				}
			});
		if($childlia.attr('id') != $('div#nav_main_sub li a').attr('id') ) {
			$('div#nav_main_sub ul').fadeOut(300, function() {
				$('div#nav_main_sub li').remove();
				for(i = 0; i < $childli.length; i++){
					lis += '<li>'+$childli.eq(i).html()+'</li>';
				}
				if(!lis) {
					lis = '<li>&nbsp;</li>';
				}
				$('div#nav_main_sub ul').append(lis).fadeIn(300);
			});
		}
	}
}