       $(document).ready(function()
        {
		var count=-1;
		
		$("#showresult").hide();
		$("#showresult").fadeTo("fast", 0.9);
            
		//listener on field to make dropdown invisible when not active
		$(".search_text").find("input").blur(function()
                {
			$("#showresult").fadeOut("fast");
			//$("#showresult").css("display", "none");
                });

		//listener on field to make dropdown visible when made active
		$(".search_text").find("input").focus(function()
		{
			$("#showresult").fadeIn("fast");
			//$("#showresult").css("display", "block");
		});

		//keypress listener for the tab button
		$(".search_text").find("input").keypress(function (e) {
			
			//if arrow, don't move around field
			//Doesn't seem to work...
			if ((e.keyCode == 40) || (e.keyCode == 38))
			{
				e.preventDefault();
				//alert('yo');
			}

			if($("#showresult").html() == "")
				return;
			

			//if tab
			if(e.keyCode == 9){
				event.preventDefault();

				var list=$("#showresult").children("div").children("ul");
				var size=list.children().length;
	
				//up
				if (e.shiftKey == 1)
                		{
					if(count >= 0)
                    			{
						count--;
						if(count!=-1)
							$("li:eq("+count+")").addClass("selected");
						
						$("li:eq("+ (count+1) +")").removeClass();
					}
				}
                
				//down
				else if (e.shiftKey == 0)
				{
					if(count < size-1)
					{
						count++;
						$("li:eq("+count+")").addClass("selected");

						if(count < size && count!=0)
							$("li:eq("+ (count-1) +")").removeClass();
					}
				}
				
			}
		});

		//listener for keyup on input field
		$(".search_text").find("input").keyup(function (e) {
		    
			//if there's nothing to scroll through, return
			if($("#showresult").html() == null)
			{
				
				//attempt to fill with data
				$.get("/pages/search", { q: $(".search_text").find("input").val(), record_types: "all" }, function(data)
				{
					$("#showresult").html(data);
					var aVar = $("#showresult").html();
					
					//reset count since there are new results
					count = -1;
 				});
                    	
				//alert($("#showresult").html());
			
				//if still nothing, give up.
				if($("#showresult").html() == null)
					return;
				
				
				
			}
			
			var list=$("#showresult").children("div").children("ul");
			var size=list.children().length;

			//up arrow
			if ( (e.keyCode == 38) || ((e.shiftKey == 1) && (e.keyCode == 9)) )
                	{
				if(count >= 0)
                    		{
					count--;
					if(count!=-1)
						$("li:eq("+count+")").addClass("selected");
					
					$("li:eq("+ (count+1) +")").removeClass();
                        		event.preventDefault();
				}
			}
                
			//down arrow
			else if ( (e.keyCode == 40) || ((e.shiftKey == 0) && (e.keyCode == 9)) )
			{
				if(count < size-1)
				{
					count++;
					$("li:eq("+count+")").addClass("selected");

					if(count < size && count!=0)
						$("li:eq("+ (count-1) +")").removeClass();
                        
					event.preventDefault();
				}
			}
                
			//enter key
			else if(e.keyCode == 13)
			{
				if(count!=-1)
				{
					window.location=$("li:eq("+count+")").find("a").attr("href");
				} else
				{
					$(".search_text").parents("form").submit();
				}
			}
                
			//other key
                	else
                	{
                    		$.get("/pages/ajax_search", { q: $(".search_text").find("input").val(), record_types: "all" }, function(data)
                        	{
					$("#showresult").html(data);
                        	});
                	}
		});

		//mouseover listener
		$("#showresult").hover( function(){
			var showResultDiv = this;
			$(this).children("div").children("ul").children("li").hover( function()
			{
				//var $allLIs = $(showResultDiv).children("div").children("ul").children();
				//$allLIs.removeClass("selected");
                            
				if(count != -1)
					$("li:eq("+ count +")").removeClass();
                            
				$(this).addClass("selected");
				count = $(showResultDiv).children("div").children("ul").children().index(this);
			} , 
			function()
			{
				$(this).removeClass("selected"); 
			});
		},
		function()
		{
			//left the field
			count = -1;
		});
	});
