var t = 0;
	function showPortData(data) {
		$("#main").html(data);
		return null;
	}
	function destroySearch() {
		$("#header_search_results").remove();
		$("#header_search").val("");
		return null;
	}
	function populateSearch(data) {
					
		var s = $("#search");
		var sp = $(s).position();
		var spb = sp.top + s.height()+5;
		if ($("#header_search_results").length < 1) {
			$("*").click(function(e) {
				var searchPos = $("#header_search_results").offset();
				var searchH = $("#header_search_results").height();
				var searchW = $("#header_search_results").width();
				if (e.pageX < searchPos.left || e.pageX > (searchPos.left + searchW) || e.pageY < searchPos.top || e.pageY > (searchPos.top + searchH)) {
					destroySearch();
				}
			});
			$("<div><ul></ul></div>").prependTo("#header").attr("id","header_search_results").css({ left: sp.left, top: spb}).prepend("<div id=\"close_search\"><a href=\"#\" onclick=\"return false;\"><img src=\"images/close.png\" /></a></div>");
		}

		
		$("#header_search_results ul").children().remove();		// removes previous search results before populating with new ones
                $("#header_search_results ul").append(data);
	$("li.header a").toggle(function() {
		var searchType = $(this).text();
		$("[class$="+searchType+"]").css({display: "none"});
		$(this).css({backgroundColor: "#339"});
		$(this).find("div img").attr("src","images/expand.png");
		return false;
	}, function() {
		var searchType = $(this).text();
		$("[class$="+searchType+"]").css({display: "block"});
		$(this).css({backgroundColor: ""});
		$(this).find("div img").attr("src","images/collapse.png");
		return false;
	});

	$("li.ports a").not(":contains('See more results')").click(function() {
		var portSearch = $(this).text();
		
			$.ajax({
				url: "port.php",
				type: "POST",
				data: {from: "boatsByPort", search: portSearch},
				success: function(data) { showPortData(data);},
				error: function(XMLHttpRequest, textStatus, errorThrown) {
					alert(textStatus);
							return false;
				}
			});
			destroySearch();
			return false;

	});
	return null;
	}
	function mainSearch() {
	var searchval = $("#header_search").val();
		if (searchval) {
			$.ajax({
				url: "quicksearch",
                                data: { search: searchval},
				type: "POST",
				success: function(data) { populateSearch(data); },

				error: function(XMLHttpRequest, textStatus, errorThrown) {
					alert("Status: "+ textStatus+"\r\nError: "+errorThrown+"\r\nXHR: "+XMLHttpRequest.status);
				}
			});
			$("#close_search").click( function() {
				destroySearch();
			});
		} else {
			destroySearch();
		}
		return false;
	}

$(document).ready( function() {
	
	$("#header_search").keyup(function(e) {
		if (e.keyCode == '27') {
			destroySearch();
		}
		if (!t) {
			t = setTimeout("mainSearch()",1000);			
		} else {
			clearTimeout(t);
			t = setTimeout("mainSearch()",500);	
		}


	});
});
