jQuery.fn.scriptFocus = function() {
	return this.find('li').each(function() {
		
		// cover mouseovers in IE
		if ($.browser.msie) {
			$(this).hover(
				function() { $(this).addClass('scriptfocus') },
				function() { $(this).removeClass('scriptfocus') }
				);
			}
		
		// for keyboard-activated menus in all browsers
		var menu = this;
		$(this).find('a').each(function() {
			var menuTimer = null;
			
			$(this).focus(onMenuFocus).blur(onMenuBlur);
			
			function onMenuFocus() {
				if(menuTimer !== null) clearTimeout(menuTimer);
				menuTimer = null;
				menuTimer = setTimeout(function() { menuTimer = null; $(menu).addClass('scriptfocus'); }, 0);
				}
			
			function onMenuBlur() {
				if(menuTimer !== null) clearTimeout(menuTimer);
				menuTimer = null;
				menuTimer = setTimeout(function() { menuTimer = null; $(menu).removeClass('scriptfocus'); }, 0);
				}
			
			});
		});
	};

