
jQuery.extend(jQuery.expr[':'], {
  containsIC: "(a.textContent||a.innerText||jQuery(a).text()||'').toLowerCase().indexOf(m[3].toLowerCase()||'')>=0"
});

$(document).ready(function(){

	
	var $queryString = '';
	var $newQueryString = '';
	var $queryStrings = new Array();
	var $thisIndex = '';
	var $showThis = true;
	var $accompanyingDesc = '';
	var $shown = '';
	
	var $parentDivs = $("div#posts").children("div.postRoot");
	var $titleDivs = $parentDivs.children(":even");
	var $titleLinks = $titleDivs.find("a.postTitle");
	var $descDivs = $parentDivs.children(":odd");
	
	if (hideDesc)
		$descDivs.hide();

	$("input#q").bind("keyup", function () {
		$newQueryString = $(this).val();
		if ($newQueryString != $queryString) {
			$queryString = $newQueryString;
			$queryStrings = $queryString.split(" ");
			
			$parentDivs.hide();
			if (!hideDesc && $queryString == '')
				$descDivs.show();
			else
				$descDivs.hide();
			
			$parentDivs
				.filter(function (index) {
					$showThis = true;
					for ($thisIndex in $queryStrings) {
						$showThis = $showThis && $(this).is(":containsIC('"+$queryStrings[$thisIndex]+"')");
					}
					return $showThis;
				})
				.show();
		}
		return false;
			  
	});

	$titleLinks.bind("click", function () {
		$accompanyingDesc = $(this).parents("div.postRoot").children(":odd");
		$shown = $accompanyingDesc.css("display");
		if ( $shown == 'block' || (!hideDesc && $shown == '') )
			$accompanyingDesc.hide();
		else
			$accompanyingDesc.show();

		return false;
	});
	
	$("a#clearSearch").bind("click", function () {
		$("input#q").attr("value", "");
		$parentDivs.show();
		if (hideDesc)
			$descDivs.hide();
		else
			$descDivs.show();

		return false;
			  
	});

});
