
//enable flyouts

window.addEvent('load', function() {
	
	
	var brand_menu_height = $('vehicle_menu').getElement('a.brand_menu_link').getSize().size.y;
	
	$$(".menu_item").each(
		function(menu_item, i) {
			if(menu_item.getElement(".menu")) {
				var menu_height = menu_item.getElement(".menu").getSize().size.y;
				
				/*
				Check for greatest flyout height
				*/
				var greatest_flyout_height = 0;
				$$('div.flyout').each(function(flyout) {
					
					/*
					calculate height of flyout
					can't be hidden or size will return 0.
					*/
					flyout.setStyle('visibility','hidden');
					flyout.setStyle('display','block');
					var flyout_height = flyout.getCoordinates().height;
					flyout.setStyle('visibility','visible');
					flyout.setStyle('display','none');
					
					if(flyout_height > greatest_flyout_height)
						greatest_flyout_height = flyout_height;
				});
				
				menu_item.getElement('.menu ul').getElements('li').each(function(li,i) {
					if(li.getElement('div.flyout')) {
						var flyout = li.getElement('div.flyout');
						
						//set the left positioning
						var menu_cord = menu_item.getCoordinates();
						flyout.setStyle('left', menu_cord.width);
						
						/*
						calculate the centered top position of the flyout, 
						and make sure the flyout isn't bigger than the menu
						*/
						var flyout_top = brand_menu_height;
						
						
						flyout.setStyle('top', flyout_top);
						
						
						
						/*
						resize the flyout to greatest height
						*/
						flyout.setStyle('height',greatest_flyout_height);
						
						
						/*
						handle events
						*/
						//if they hit the flyout, we want that to be considered leaving the menu
						flyout.addEvent("mouseenter", function(e) {
							li.fireEvent('mouseleave');
						});
						
						//show the flyout
						li.addEvent("mouseenter", function(e) {
							flyout.setStyle('display','block');
						});
						
						//hide the flyout
						li.addEvent("mouseleave", function(e) {
							flyout.setStyle('display','none');
						});
					
					}
					
				});
				
			}
			
		}
	);
	
});