$(document).ready(livesearch);
var lastLiveSearchActiveElement = null;

function selectLiveSearchValue( qsVal ){
	if(qsVal == ''){ return false; }
	$('#searchfield').val(qsVal);
	$('#livesearch').hide();
	$('#searchfield').focus();
    $(":hidden[@name='input[p_g]']").val('1');
}


function livesearch(){
	$(document).click(function () {
		$("#livesearch").hide();
	});
	/*
	if( $.browser.msie ){
		$("#livesearch").width( parseInt(($("#searchfield").width())) );
	} else if( $.browser.mozilla || $.browser.opera ){
		$("#livesearch").width( parseInt(($("#searchfield").width())) );
	}
	*/
	$("#searchfield").keydown(function(e){
		var searchVal = jQuery.trim(this.value);
		if (searchVal.length > 2) {
			if (e.keyCode == 40) {
		    	if( lastLiveSearchActiveElement == null ){
		    		lastLiveSearchActiveElement = $("#livesearch a:first");
		    	}else if( lastLiveSearchActiveElement.attr('id') == $("#livesearch a:last").attr('id') ){
		    		lastLiveSearchActiveElement.toggleClass("highlight");
		    		lastLiveSearchActiveElement = $("#livesearch a:first");
		    	}else{
		    		lastLiveSearchActiveElement.toggleClass("highlight");
		    		lastLiveSearchActiveElement = lastLiveSearchActiveElement.next('a');
		    	}
		    	lastLiveSearchActiveElement.toggleClass("highlight");
		    	$(this).val(lastLiveSearchActiveElement.text());
		    	$(this).focus();
			}else if (e.keyCode == 38) {
		    	if( lastLiveSearchActiveElement == null ){
		    		lastLiveSearchActiveElement = $("#livesearch a:last");
		    	}else if( lastLiveSearchActiveElement.attr('id') == $("#livesearch a:first").attr('id') ){
		    		lastLiveSearchActiveElement.toggleClass("highlight");
		    		lastLiveSearchActiveElement = $("#livesearch a:last");
		    	}else{
		    		lastLiveSearchActiveElement.toggleClass("highlight");
		    		lastLiveSearchActiveElement = lastLiveSearchActiveElement.prev('a');
		    	}
		    	lastLiveSearchActiveElement.toggleClass("highlight");
		    	$(this).val(lastLiveSearchActiveElement.text());
		    	$(this).focus();
			}
		}
	});
	$("#searchfield").keyup(function(e){
		$(":hidden[@name='input[p_g]']").val('0');
		var searchVal = jQuery.trim(this.value);
		if (searchVal.length > 2) {
			if (e.keyCode == 40 || e.keyCode == 38) {
				return;
			}else if (e.keyCode == 13) {
				$("#livesearch").hide();
			} else {
				$("#livesearch").load('/gesundheit/livesearch/?' + encodeURIComponent(searchVal), function(data){
						if (data.length > 1) {
							$("#livesearch").show('slow');
						} else {
							$("#livesearch").hide();
						}
						lastLiveSearchActiveElement = null;
					}
				);
			}
		} else {
			$("#livesearch").hide();
		}
	});
}