var menu_timer = 0;
var active = false;
var timeout = 300;
var slide = 300;

$(document).ready( function() {
	$('.level1').each( function(){
		if( $(this).find('.level2_container').html() != '' )
		{
			$(this).find('.level1_title').bind( 'mouseover', level1_over ).bind('mouseout', level1_out );
			$(this).find('.level2_container').bind( 'mouseover', level2_over).bind('mouseout', level2_out );
			
			//set level2_container in place
			//$(this).find('.level2_container').css('margin-left', Math.round( ( $(this).find('.level1_title').outerWidth() - $(this).find('.level2_container').outerWidth() ) / 2 ) );
		}
		else
		{
			$(this).find('.level2_container').remove();
			$(this).find('.level1_title').bind( 'mouseover', level1_over3 ).bind( 'mouseout', level1_out2 );
		}
	});
	$('.menu_level2_link').bind( 'mouseover', level2_link_over ).bind( 'mouseout', level2_link_out );
	$("div[active='1']").css({'font-weight':'bold'}).addClass( 'mod_menu_active' );
});

var level1_over = function()
{
	//if( $(active) != $(this).parent().parent().find('.level2_container') && active != false )
	//{
		level2_hide();
	//}
	$(this).addClass('mod_menu_active')
	$(this).parent().parent().find('.level2_container').stop().css({'height':'','padding-top':'','padding-bottom':''}).slideDown(slide);
	$(this).unbind( 'mouseover', level1_over ).bind( 'mouseover', level1_over2 );
}
var level1_over2 = function()
{
	
	//if( $(active) != $(this).parent().parent().find('.level2_container') && active != false )
		//level2_hide();
		
	clearTimeout( menu_timer );
}
var level1_over3 = function()
{
	$(this).addClass('mod_menu_active');
}
var level1_out = function()
{
	var elements = $(this).parent().parent().find('.level2_container');
	active = elements[0];
	menu_timer = setTimeout( 'level2_hide()', timeout );
}
var level1_out2 = function()
{
	if( $(this).attr('active') == '0' )
	{
		$(this).removeClass('mod_menu_active');
	}
}

var level2_over = function()
{
	if( active != this  && active != false )
		level2_hide();
	clearTimeout( menu_timer );
}
var level2_out = function()
{
	active = this;
	menu_timer = setTimeout( 'level2_hide()', timeout );

	if( $(this).attr('active') == '0' )
	{
		$(this).removeClass('mod_menu_active');
	}
}

var level2_hide = function()
{
	var active_copy = active;
	if( active )
	{
		$(active).slideUp(slide, function(){if( $(active_copy).parent().find('.level1_title').attr('active') == '0' ){$(active_copy).parent().find('.level1_title').removeClass('mod_menu_active');}});
		$(active).parent().find('.level1_title').unbind( 'mouseover', level1_over2 ).bind( 'mouseover', level1_over );
	}
	active = false;
	clearTimeout( menu_timer );
}

var level2_link_over = function()
{
	$(this).addClass('mod_menu_active');
}

var level2_link_out = function()
{
	if( $(this).attr('active') == '0' )
	{
		$(this).removeClass('mod_menu_active');
	}
}
