jQuery(function($) {
	var menu_items = $('.menu > ul > .page_item');
	var current_item = $('.current_page_item, .current_page_parent, .current_page_ancestor').get(0);
	var active_index;

	var config = {    
		timeout: 200,
		interval: 100, // number = milliseconds for onMouseOver polling interval    

		over:
		function() {
			jQuery(this).addClass('page_active');
			active_index = menu_items.index(this);

			submenu = jQuery(this).find('> ul');
			if (submenu.length == 0) {
				submenu = $(current_item).find('> ul');
			}

			menu_items.find('> ul').hide();
			submenu.show();
		},

		out: 
		function() {
			jQuery(this).removeClass('page_active');
			jQuery(this).find("> ul").hide();

			if ( menu_items.index(this) == active_index ) {
				$(current_item).find('> ul').show();
			}
		}
		
	};

	$(".menu > ul > li").hoverIntent(config);
});
