var livesearch_str_found = 'KB Article(s) May Answer Your Question.';
var livesearch_str_view = 'View Articles';
var livesearch_str_matches = 'Possible Article Matches';
var livesearch_str_show = 'Show Articles';
var livesearch_str_hide = 'Hide Articles';

var livesearch_counter = null;
var livesearch_delay = 3; // 3 seconds delay

function livesearch(obj, url2call) {
	if ( typeof url2call == 'undefined' ) url2call = apipath;

	var val = ac_form_value_get(obj);
	if ( !val && obj.innerHTML ) val = obj.innerHTML;

	if ( val.length > 5 /*&& input_field.value.length % 5 == 0*/ ) {
		if ( livesearch_counter ) {
			clear_livesearch();
		}
		// trigger
		livesearch_counter = window.setTimeout(
			function() {
				ac_ajax_call_cb(url2call, "articles.article_get_search", livesearch_cb, val);
			},
			livesearch_delay * 1000
		);
	} else {
		clear_livesearch();
	}
}

function livesearch_cb(xml) {
	var ary = ac_dom_read_node(xml, null);
	ac_ui_api_callback();

	if (ary.cnt > 0) {
		var livesearch_status = "<div>";
		livesearch_status += "<strong>" + ary.cnt + "</strong> " + livesearch_str_found + " ";
		livesearch_status += "<span id='livesearch_view_articles_link'><a href='#' onclick='livesearch_results_show();return false;'>" + livesearch_str_view + "</a></span>";
		livesearch_status += "</div>";

		$("livesearch_status").innerHTML = livesearch_status;
		$("livesearch_status").className = "livesearch_alert";

		var livesearch_results = "<h3>" + livesearch_str_matches + "</h3>";
		livesearch_results += "<div class='box'>";
		livesearch_results += "<ul>";

		for (i = 0; i < ary.rows.length; i++) {
			livesearch_results += "<li>";
			livesearch_results += "<a href='" + ary.rows[i].url + "' target='_blank'>" + ac_str_htmlescape(ary.rows[i].title) + "</a>";
			livesearch_results += "<div>" +  ary.rows[i].preview + "</div>"
			livesearch_results += "</li>";
		}

		livesearch_results += "</ul>";
		livesearch_results += "</div>";

		$("livesearch_results").innerHTML = livesearch_results;
	}
	else {
		$("livesearch_results").className = "ac_hidden";
	}
}

function livesearch_results_show() {
	$("livesearch_view_articles_link").innerHTML = "<a href='#' onclick='livesearch_results_hide();return false;'>" + livesearch_str_hide + "</a>";
	$("livesearch_results").className = "";
}

function livesearch_results_hide() {
	$("livesearch_view_articles_link").innerHTML = "<a href='#' onclick='livesearch_results_show();return false;'>" + livesearch_str_show + "</a>";
	$("livesearch_results").className = "ac_hidden";
}

function clear_livesearch() {
	window.clearTimeout(livesearch_counter);
	livesearch_counter = null;
}

