$(document).ready(function(){
	$menu = $('#header_menu');
	size_menus($menu);
	position_menus($menu);
	menu_hover($menu);
});

function menu_hover($menu){

	if( $menu.size() > 0 ){
		$('ul.menu > li.menu-item', $menu).live('hover', function(event){
			var dir = (event.type == 'mouseover')? 'in': 'out';
			menu_animation(this, $menu, dir);
		});
	}
}

function menu_animation(elm, $menu, dir){
	$link = $(elm).find('> a');
	if(dir == 'in'){
		//$link.find('div.bg_filler').stop(true,true).fadeIn(100, 'linear');
		$link.find('div.bg_filler').stop(true,true).show();
	}else{
		//$link.find('div.bg_filler').stop(true,true).fadeOut(100, 'linear');
		$link.find('div.bg_filler').stop(true,true).hide();
	}
	
	$subnav = $($link.attr('rel'), $menu);
	if($subnav.size() > 0){
		if(dir == 'in'){
			//$subnav.stop(true,true).fadeIn(300, 'swing');
			$subnav.stop(true,true).show();
		}else{
			//$subnav.stop(true,true).fadeOut(300, 'swing');
			$subnav.stop(true,true).hide();
		}
		
	}
}
function menu_fade_out(elm, $menu){
	$link = $(elm).find('> a');
	//$link.find('div.bg_filler').fadeIn(100, 'linear');
	$link.find('div.bg_filler').show();

	$subnav = $($link.attr('rel'), $menu);
	if($subnav.size() > 0){
		//$subnav.stop().fadeIn(300);
		$subnav.stop().show();
	}
}

function hover_submav(menu){

}

function size_menus($menu){
	$menu.find('ul.submenu').each(function(){
		var widths = 0;
		$(this).find('li').each(function(i, elm){
			widths += $(elm).outerWidth();
		});
		//set a minimum width
		if(widths < 275){
			//widths = 275;
		}
		
		$(this).width(widths);
		$(this).closest('li').css('position', 'relative');
	});
}

function position_menus($menu){

	if( $menu.size() > 0 ){
		$('li.menu-item a', $menu).each(function(){
			
			$subnav = $($(this).attr('rel').toString());
			if($subnav.size() > 0){
				if($subnav.attr('id') == 'our-mission' ){
					var $poser = $('#header_menu');
				}else{
					var $poser = $subnav.closest('li');
				}
			
				$subnav.position({
					my: 'center top',
					at: 'center bottom',
					of: $poser,
					collision: 'none none'
				});
			}
			$subnav.hide();
		});
	}
}
