/* 
Super Simple Mouseover Menu

1. add menu class to the menus top UL
2. all menu text with sub menus need to be an anchor (<a>)
3. include jquery
4. include this script
5. ????
6. PROFIT!

This goodie was brought to you by kkruit

Note: Margins or offset settings that makes stuff float in space may make menus
hide because, well, the mouse is leaving them. This is just a theroy I havn't
tried it.
*/

function initMenu($) {
	// change these if you want I don't care.
	var settings = {
		'menu_speed':'fast',
		'offset_top':0,
		'offset_left':0
	};
	if($.browser.msie && $.browser.version < 8){
		settings.offset_left = -40;
	}
	var menu_speed = 'normal';
	$('ul.menu ul').hide();
	$('ul.menu ul').each(function(){
		p = $(this).prev('a');
		pos = p.position();
		
		$(this).attr("style","display: none; position: absolute; left:"+String(pos.left+settings.offset_left)+"px; top:"+String(pos.top+p.outerHeight()+settings.offset_top)+"px;");
	});
	$('ul.menu li a').bind('mouseover',
		function() {
			var checkElement = $(this).next();
			$(this.parentNode).addClass('is_over');
			$(this.parentNode).removeClass('to_hide');
			if((checkElement.is('ul'))) {
				if(checkElement.is(':not(:visible)')){
					checkElement.slideDown(settings.menu_speed);
				}
				return false;
			}
		}
	);
	menuDoHide = function(){
		$('.to_hide').each(function(){
			if(!$(this).find('.is_over').length && !$(this).is('.is_over')){
				$(this).find('ul:visible').slideUp(settings.menu_speed, function(){if($(this).parent('.is_over').length)$(this).slideDown(settings.menu_speed);});
			}
			$(this).removeClass('to_hide');
		});
	};
	$('ul.menu li').bind('mouseover', function(){
		$(this).addClass('is_over');
		$(this).removeClass('to_hide');
	});
	$('ul.menu li').bind('mouseout',
		function() {
			$(this).removeClass('is_over');
			$(this).addClass('to_hide');
			setTimeout('menuDoHide()', 50);
		}
	);
}
jQuery(document).ready(function() {initMenu(jQuery);});

