var suggest_lastSearch = '';
var suggest_lastResult = false;
var suggest_active = false;
var jqxhr;

//check if the mouse leaved the suggest and the search-box
function suggestEventHandler(evt,mouseover) {
	if (!evt) evt = window.event;
	var from_el = (evt.srcElement) ? evt.srcElement : (evt.target) ? evt.target : null;
	var to_el = (evt.toElement) ? evt.toElement : (evt.relatedTarget) ? evt.relatedTarget : null;
	if (from_el){
		if (mouseover) {
			suggest_active = true;
		} else {
			if (to_el.id != "search_suggest" && to_el.id != "txtSearch" && to_el.id.substring(0,3) != "ss_") {
				suggest_active = false;
				suggestHide(false);
			} else {
				suggest_active = true;
			}
		}
	}
}
//Start AJAX request
function searchSuggest() {
	var str = escape($('#txtSearch').val());
	//check if we do have this search in our cache
	if ((str != suggest_lastSearch) || !suggest_lastResult){
		suggestHide(true);
		try {
			jqxhr.abort();	
		} catch (e)
		{
		} 
		suggest_lastSearch = str;
		suggest_lastResult = false;
		jqxhr = $.ajax({
			url:'ajax/searchsuggest.php?search=' + str,
			success: function(responseText) {
				$('#search_suggest').html("");
				var str = responseText.split("\n");
				for(i=0; i < str.length - 1; i++) {
					$('#search_suggest').html($('#search_suggest').html() + '<div id="ss_' + i + '">' + str[i] + '</div>');
					suggest_lastResult = true;
					$('#search_suggest').css({display:'block'});
				}	
			}
		});
	} else {
		$('#search_suggest').css({display:'block'});	
	}
}	
function suggestHide(immediate) {
	if ($('#search_suggest').css('display') =='block') {
		if (immediate) {
			$('#search_suggest').css({display:'none'});
		} else {
			setTimeout(function() {
				if ($('#search_suggest').css('display')=='block' && !suggest_active) {				
					$('#search_suggest').css({display:'none'});
				}
				$('#txtSearch').blur();
			},500); 
		}
	}
}		
