/*
	Copyright (c) 2009 Elliot Swan (http://www.elliotswan.com)
	Version: 3.0 alpha
*/

(function($) { 
jQuery.fn.betterSearch = function(options) {
	options = $.extend({
		form: "#search",
		input: "#s",
		results: "#results",
		close: "#s-close"
	}, options);
	var form = $(options.form);
	
	function close() {
		var results = $(options.results);
		if(results) { results.slideUp("fast", function() {results.remove(); $(options.close).remove(); }) }
	}
	
	$(options.input).click( function(event) {
		if($(this).val() == "Better-Than-Live Search") {$(this).val("")}	
	});
	$(options.input).blur( function(event) {
		if($(this).val() == "") {$(this).val("Better-Than-Live Search")}
	});	
	this.submit(
		function(event) {
		event.preventDefault();
		if($("#s").val() != "") {
			$.ajax({
				type: "POST",
				url: "/index.php",
				cache: false,
				data: "s="+$(options.input).val(),
				beforeSend: function() {
					close();
					form.append('<p class="loading">Loading...</p>').fadeIn("slow");
				},
				success: function(data) {					
					form.after(data).next(options.results).hide();
					var results = $(options.results);				
					results.after('<a href="#" id="s-close">Close</a>');
					$(options.close).hide();
					form.find(".loading").slideUp("normal", function() { form.find(".loading").remove(); });
					results.animate({
						height: "toggle", 
						opacity: "toggle"
					}, 800,
					function() { 
						$(options.close).fadeIn("normal")
						.click(function(event) { event.preventDefault(); close(); });
					}
					)
				}
			})
		}
		}
	);
};
})(jQuery);