$(document).ready(function()
{
	var catHeight = $("ul.categories").height();
	
	$("ul.categories").css({overflow:"hidden",height:"100px"}).bind("mouseover", function()
	{
		$(this).stop().animate({height:catHeight + "px"}, 500);
	}).bind("mouseout", function()
		{
			$(this).stop().animate({height:"100px"}, 500);
		});
	
	$("#search").attr("autocomplete", "off").css("outline", "0");
	
	$("#search").typeWatch(
	{    
		callback:function(){ search(); },
		wait:500,
		highlight:true,
		captureLength:2
	});
	
	$("form").bind("submit", function()
	{
		if($("#search").val() == '' && $("#search").val().length > 2)
		{
			$("ul.searchresults").slideUp("fast", function()
			{
				$(this).remove();
			});
		}
		else
		{
			performsearch();
		}
		
		return false;
	});
	
	$("li.expand a").bind("click", function()
	{
		var elem = $(this);
		
		$.getJSON(elem.attr('href'), function(e)
		{
			
			elem.parent().fadeOut("fast", function()
			{
				for(var i=0; i < e.categories.length; i++)
				{
					if(e.categories[i].featured == 1)
					{
						$(elem).parent().parent().prepend("<li class='featured faded' style='display:none'><a href='/blog/category/" + e.categories[i].id + "'>" + e.categories[i].title + "</a></li>");
					}
					else
					{
						$(elem).parent().parent().prepend("<li class='cat faded' style='display:none'><a href='/blog/category/" + e.categories[i].id + "'>" + e.categories[i].title + "</a></li>");
					}
					
					$("li.faded").fadeIn("fast");
				}
			});
		});
		
		return false;
	});
	
});

function search()
{
	if($("ul.searchresults").length > 0)
	{
		$("ul.searchresults").slideUp("fast", function()
		{
			performsearch();
		});
	}
	else
	{
		$("#search").parent().after("<ul class='searchresults' style='display:none;'></ul>");
		performsearch();
	}
}

function performsearch()
{
	if($("#search").val() == '')
	{
		$("ul.searchresults").slideUp("fast", function()
		{
			$(this).remove();
		});
	}
	else
	{
		$.ajax(
		{
			type : "POST",
			url : "/blog/search",
			dataType : "json",
			data : "query=" + $("#search").val(),
			success : function(e)
			{
				$("ul.searchresults").empty();
				
				if(parseInt(e.rows) >= 5)
				{
					$("ul.searchresults").append("<li class='first'>Top " + e.rows + " results for <strong>" + e.query + "</strong></li>");
				}
				else
				{
					$("ul.searchresults").append("<li class='first'>" + e.rows + " results for  <strong>" + e.query + "</strong></li>");
				}
				
				
				for(var i = 0; i < e.post.length; i++)
				{
					$("ul.searchresults").append("<li><a href='/blog/permalink/" + e.post[i].id + "'>" + e.post[i].title + "</a></li>");
				}
				
				$("ul.searchresults").slideDown("fast");
			}
		});
	}
}