
var query_value_global = "";

function suggest(query_value) {

	var requestUrl = '/ajax/suggest.php?query=##query##';

	requestUrl = requestUrl.replace('##query##', escape(query_value) );

	query_value_global = query_value;

	var ajax = new Ajax();
	ajax.Output = function(txt) { output_suggest(txt); }
	ajax.Request(requestUrl);
}

var keywords = new Array();

function output_suggest(response_text) {

	var suggest_output = document.getElementById('suggest_output');

	if( suggest_output == null ) return;

	if( response_text == "" ) {
		suggest_output.style.visibility = 'hidden';
		return;
	}

	keywords = response_text.split(";");

	var output = '';

	for ( var kw in keywords ) {
		output += '<a href="javascript:select(' + kw + ');" ';
		output += 'id="' + kw + '" class="suggest_result" onmouseover="select_out('+ kw +');">';
		output += keywords[kw] + '</a>';
	}

	suggest_output.innerHTML = output;
	suggest_output.style.visibility = 'visible';
}

function select(i) {

	if ( keywords[i] != null && keywords[i] != "" ) {
		var query = document.query_form.query;
		query.value = keywords[i];
		query.focus();
		document.query_form.submit();
	}
}

function select_out(i) {

	if ( keywords[i] != null && keywords[i] != "" ) {
		var query = document.query_form.query;
		var start = query_value_global.length;
		var length = keywords[i].length;
		query.value = keywords[i];

		if (query.createTextRange) {
			var range = query.createTextRange();
			range.moveStart("character", start);
			range.moveEnd("character", length - start);
			range.select();
		} else if (query.setSelectionRange) {
			query.setSelectionRange(start, length);
		}
		query.focus();
	}
}

document.onmouseup = function() {

	var suggest_output = document.getElementById('suggest_output');

	if( suggest_output == null ) return;

	suggest_output.style.visibility = 'hidden';
}

