var menu_timer = null;
var can_hide_nav_menus = true;
function hide_nav_menus()
{
	$('#nav li.selected').removeClass('selected');
	can_hide_nav_menus = true;
	$(document).unbind('click');
	//$('#nav').unbind('click');
}
var nav_search_prev        = '';
var nav_search_lastresults = '';
var nav_search_timer       = '';
function doNavSearch(q)
{
	clearTimeout(nav_search_timer);
	$.get('/ajax/search', {q:q}, function(html) {
		if (html != nav_search_lastresults)
		{
			$('#search_results').fadeOut('fast', function() {
				$(this).html(html).fadeIn('fast');
			});
			nav_search_lastresults = html;
		}
		else
		{
			// have to replace "Searching..."
			$('#search_results').html(html);
		}
	});
}
$(function() {
	$('#nav :input').focus(function(e) { e.stopPropagation(); can_hide_nav_menus = false; }).blur(function() { can_hide_nav_menus = true; });
	$('.nav-tab').parent().hover(function() {
		clearTimeout(menu_timer);
		$this = $(this);
		if (!$this.hasClass('selected'))
		{
			hide_nav_menus();
			$(this).addClass('selected');
			if ($('ul', this).length)
			{
				$(document).bind('click', hide_nav_menus);
				$('#nav').bind('click', function(e) { if (e.target.tagName != 'A') { e.stopPropagation(); return false; } else return true; });
			}
		}
	}, function() {
		if (can_hide_nav_menus)
		{
			menu_timer = setTimeout(hide_nav_menus, 500);
		}
	});
	$('#nav tbody tr').hover(function() {
		$(this).addClass('hover');
	}, function() {
		$(this).removeClass('hover');
	});
	$('ul.search input').keyup(function() {
		var q = $(this).val();
		if (q != nav_search_prev && (q == '' || q.length >= 3))
		{
			clearTimeout(nav_search_timer);
			nav_search_timer = setTimeout(function() {
				$('#search_results').html('<li><img src="public/images/ajax-loader.gif" alt="" /> Searching...</li>');
				doNavSearch(q);
			}, 250);
			nav_search_prev = q;
		}
	});
});