$( document ).ready(
	function()
	{
		//var mainMenu = $( '#topmenu-firstlevel>li:not(.selected)' );
		var mainMenu = $( '#topmenu-firstlevel>li' );
		var subMenu = $( '#topmenu-firstlevel>li div.sub_menu>ul>li' );
		var sub2Menu = $( '#topmenu-firstlevel>li div.sub_menu>ul>li div.sub_menu_2>ul>li' );
		var sub3Menu = $( '#topmenu-firstlevel>li div.sub_menu>ul>li div.sub_menu_2>ul>li div.sub_menu_3>ul>li' );
		//var menu_current = $( '#topmenu-firstlevel li.current' );
		var current_level = 0;
		var mainMenuEvent = false;
		var fadetimeout =400;
		var fadetimein = 400;
	//	var timer = 0;                    //////////////  <<<<<<<<<<<<<<<<<<<<<<<<<<
		
		/*
		
		
		if( menu_current.length > 0 )
		{
			test_level = $( menu_current ).parent();
			
			while ( $( test_level ).attr("id") != "topmenu-firstlevel" )
			{
				current_level++;
				$( test_level ).parent().show();
				if ( current_level != 1 )
				{
					$( test_level ).parent().children('span.path').hide();
				}
				test_level = $( test_level ).parent().parent().parent();
			}
		}
		var static_current_level = current_level;*/
		
		
		var mainMenuNotSelected = $( '#topmenu-firstlevel>li:not(.selected)' );
		mainMenuNotSelected.each( 
			function()
			{
				$(this).mouseenter(
					function()
					{  
						var r_subMenu = $( '#topmenu-firstlevel>li div.sub_menu' );
						var r_sub2Menu = $( '#topmenu-firstlevel>li div.sub_menu>ul>li div.sub_menu_2' );
						var r_sub3Menu = $( '#topmenu-firstlevel>li div.sub_menu>ul>li div.sub_menu_2>ul>li div.sub_menu_3' );
						$( r_subMenu ).hide();
						$( r_sub2Menu ).hide();
						$( r_sub3Menu ).hide();
//						var r_hit = $( '#topmenu-firstlevel>li div.sub_menu>baseURI' );
//						if($( this ).baseURI='$( '#topmenu-firstlevel>li div.sub_menu' );'){
						
//							alert($(r_subMenu).text());
//						 }

						$( this ).children( 'div.sub_menu' ).show();
						
						
						current_level = 0;
						addEvents();
					}
				);
			}
		);
		////// 
		
		function mainMenuMouseEnter()
		{
			var currentSubMenu = $(this).find('.sub_menu');
			if ( currentSubMenu.length != 0 )
			{
				currentSubMenu.fadeIn(fadetimein);
			}
			$(this).addClass( 'current' );
		}
		
		function mainMenuMouseLeave()
		{
			var currentSubMenu = $(this).find('.sub_menu');
			if ( currentSubMenu.length != 0 )
			{
				currentSubMenu.fadeOut(fadetimeout);  ///   <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
			}
			$(this).removeClass( 'current' );
		}
		
		function subMenuMouseEnter()
		{
			var currentSubMenu = $(this).find('.sub_menu_2');
			if ( currentSubMenu.length != 0 )
			{
				$(this).parent().parent().children('span.path').fadeOut(fadetimein);  ///  <<<<<<<<<<<<<<<<<<<<<<<
				//currentSubMenu.find( 'ul.sub_2' ).css( 'left', $( this ).offset().left - $( this ).parent().offset().left );
				currentSubMenu.fadeIn(fadetimeout);    //////////////////////////  <<<<<<<<<<<<<<<<<<
			}
			else
			{
				$(this).parent().parent().children('span.path').fadeIn(fadetimein);
			}
		}
		
		function subMenuMouseLeave()
		{
				$(this).parent().parent().children('span.path').fadeIn(fadetimein);
				var currentSubMenu = $(this).find('.sub_menu_2');
				if ( currentSubMenu.length != 0 )
				{
					currentSubMenu.fadeOut(fadetimeout);
				}

		}
		
		function sub2MenuMouseEnter()
		{
			var currentSub2Menu = $(this).find('.sub_menu_3');
			if ( currentSub2Menu.length != 0 )
			{
				$(this).parent().parent().children('span.path').fadeOut(fadetimeout);
				//currentSub2Menu.find( 'ul.sub_2' ).css( 'left', $( this ).offset().left - $( this ).parent().offset().left );
				currentSub2Menu.fadeIn(fadetimein);
			}
			else
			{
				$(this).parent().parent().children('span.path').fadeIn(fadetimein);
			}
		}
		
		function sub2MenuMouseLeave()
		{
				$(this).parent().parent().children('span.path').fadeIn(fadetimein);
				var currentSub2Menu = $(this).find('.sub_menu_3');
				if ( currentSub2Menu.length != 0 )
				{
					currentSub2Menu.fadeOut(fadetimeout)    ///  <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
				}
		}
		
		var addEvents = function()
		{
			if( !mainMenuEvent )
			{
				mainMenuEvent = true;
				mainMenu.each( 
					function()
					{
						$(this).bind( 'mouseenter', mainMenuMouseEnter );
						$(this).bind( 'mouseleave', mainMenuMouseLeave );
					}
				);
			}
			if( current_level < 2 )
			{
				subMenu.each( 
					function()
					{
						$(this).bind( 'mouseenter', subMenuMouseEnter );
						$(this).bind( 'mouseleave', subMenuMouseLeave );
					}
				);
			}
			if( current_level < 3 )
			{
				sub2Menu.each( 
					function()
					{  
						$(this).bind( 'mouseenter', sub2MenuMouseEnter );
						$(this).bind( 'mouseleave', sub2MenuMouseLeave );
					}
				);
			}
		}
		
		addEvents();
		
	}
);
