var default_searchstring;
var nothing_was_found_text;
var kc_arrowdown=40;
var kc_arrowup=38;
var kc_enter=13;

$(function(){	$("#suggest").hide();	var search_string=$("#search_string");	default_searchstring=search_string.val();
	nothing_was_found_text=$.trim($("#suggest").text());
	if (nothing_was_found_text=="") { nothing_was_found_text="Nothing was found"; }
	var search_button=$("#search_button");
	search_button.click(go_to_selected_item);
	search_string.keyup(searchstring_keyup);
	search_string.keydown(function(){
		if (this.value==default_searchstring) this.value="";
		});
	search_string.click(function(){
		if (this.value==default_searchstring) this.value="";
		});
	search_string.blur(function(){		if (this.value=="") this.value=default_searchstring;
		// $("#suggest").hide();		});
})

function searchstring_keyup(event){	event.stopPropagation();	var searchstring = this.value;
	if (!searchstring) searchstring=" ";
	if ((searchstring=="") || (searchstring==" ")) {		$("#suggest").hide();
		return false;
		}
	var suggest=$("#suggest:visible");
	var kc=event.keyCode ? event.keyCode : event.which ? event.which : null;
	switch (kc) {		case kc_enter:
			go_to_selected_item();
			break;
		case kc_arrowdown:
			if (suggest) {				var this_sel=$("div.sel:first",suggest);
				var next_sel=this_sel.next("div.sg");
				if (next_sel.length>0) {					this_sel.removeClass("sel");					next_sel.addClass("sel");
					}				}
			break;
		case kc_arrowup:
			if (suggest) {
				var this_sel=$("div.sel:first",suggest);
				var prev_sel=this_sel.prev();
				if (prev_sel.length>0) {
					this_sel.removeClass("sel");
					prev_sel.addClass("sel");
					}
				}
			break;
		default:
			$.get('/response.php', 
				{ type: "searchbar", searchstring: searchstring, rand: Math.random() }, on_ajax_success_searchbar );
		}
}

function go_to_selected_item(){	var suggest=$("#suggest:visible");	if (suggest) {
		var selected_link=$("div.sel:first a",suggest).get(0);
		if ((selected_link) && (selected_link.href)) { window.location=selected_link.href; }
		}
}

function on_ajax_success_searchbar(xml)
{	var suggest_html="";
	var title="";
	lines = $("line", xml);
	lines.each(function(i){		title=$("title", this).text();
		title=title.replace(/\[/g,"<STRONG>");
		title=title.replace(/\]/g,"</STRONG>");
		suggest_html+='<div class="sg"><A href="'+$("url", this).text()+'">'+title+'</A></div>';
		})
	if (lines.length==0) { suggest_html+='<div class="sgempty">'+nothing_was_found_text+'</div>'; }
	suggest_html+='<div class="hr"></div><div class="close"><a href="#">Close</a></div>';
	$("#suggest").html(suggest_html);
	$("#suggest div.sg:first").addClass("sel");
	$("#suggest div.close").click(function(){ $("#suggest").hide(); return false; });
	$("#suggest div.sg").click(go_to_selected_item);
	$("#suggest div.sg").hover(
		function () { $("#suggest div.sel").removeClass("sel"); $(this).addClass("sel"); },
		function () { $(this).removeClass("sel"); }
		)
	$("#suggest").show();
}

