	var terms = [];

	$(function()
	{
		$("ol.terms li a").each(function()
		{
			if($(this).parent().hasClass("skip"))
				return;
			
			var parts = $(this).attr("href").match(/word=(.*)$/);
			var url = parts[1];
			var id = "jargon-term-"+url;
			$(this).parent().attr("id", id);
			
			var text = $(this).text().toLowerCase();
			terms[terms.length] = {word:text, node:"#"+id};
		});
		
		$("#jargon-search-input").keyup(function()
		{
			$("ol.terms")[0].scrollTo(0);
		
			var val = $(this).attr("value");
			
			if(!val)
			{
				$("ol.terms li:not(.skip)").show();
				return;
			}
			
			var rx = new RegExp(val.toLowerCase());
			for(var t, i = 0; t = terms[i]; i++)
			{
				if(t.word.match(rx))
					$(t.node).show();
				else
					$(t.node).hide();
			}
				
		});
		
		// Set up scrolling
		$("ol.terms").jScrollPane({showArrows:true, scrollbarWidth:24, scrollbarMargin:0});
	});