var search_offset   = 0;
var search_filterid = 0;
var search_limit    = 10;
var search_sort     = "01";
var search_terms    = "";

function search_tabelize(rows, offset) {
	ac_ui_api_callback();
	ac_dom_remove_children($("list"));

	if (rows.length == 0) {
		$("search").className = "ac_hidden";
		$("nothing").className = "ac_block";
		return;
	}

	for (var i = 0; i < rows.length; i++) {
		var li = Builder.node("li", { className: "search_result" });
		var stars = ac_stars(rows[i].rating);

		li.innerHTML =
			sprintf("<img src='%s/images/%s' align='absmiddle' />", plink, (rows[i].icon == '' ? 'articleicon.gif' : 'article_icons/' + rows[i].icon))
			+ sprintf("<a href='%s'>%s</a>", rows[i].url, ac_str_htmlescape(rows[i].title))
			+ sprintf("<div>%s <br/>", rows[i].preview)
			+ sprintf("%s - %s ", stars, sql2date(rows[i]['mdate']).format(dateformat))
			+ (ac_js_site["articles_display_mostsimilar"] > 0 ? sprintf("- <a href='index.php?action=article_similar&id=%s'>%s</a>", rows[i].id, jsSimilarArticles) : "")
			+ "</div>";

		$("list").appendChild(li);
	}

	//ac_dom_highlight($("list"), search_terms, false);
	//ac_dom_highlight_replace($("list"), search_terms, "search_highlight");

	$("search").className = "ac_block";
	$("nothing").className = "ac_hidden";

	ac_dom_highlight($("list"), search_terms, false);
	ac_dom_highlight_replace($("list"), search_terms, "article_highlight_search");
}

function search_paginate(offset) {
	if (!ac_loader_visible() && !ac_result_visible() && !ac_error_visible())
		ac_ui_api_call(jsLoading);

	search_offset = parseInt(offset, 10);
	ac_ajax_call_cb(this.ajaxURL, this.ajaxAction, paginateCB, this.id, search_sort, search_offset, search_limit, search_filterid);
}

function search_filter() {
	var post = ac_form_post("filter_form");
	post.limit = paginators[1].limit;
	ac_ajax_post_cb(apipath, "search_filter", search_filter_cb, post);
}

function search_filter_cb(xml) {
	var ary = ac_dom_read_node(xml, null);
	search_filterid = ary.filterid;
	search_limit    = ary.limit;
	search_sort     = ary.sort;
	search_terms    = {};

	var tmp = ary.terms.toString().split(" ");
	for (var i = 0; i < tmp.length; i++) {
		search_terms[tmp[i]] = tmp[i];
	}

	paginators[1].limit = search_limit;
	paginators[1].paginate(0);
}

function search_category_change(id) {
	ac_ajax_call_cb(apipath, "search.search_category_change", ac_ajax_cb(search_category_change_cb), id);
}

function search_category_change_cb(ary) {
	ac_dom_remove_children($("search_tbody_cfields"));

	for (var i = 0; i < ary.row.length; i++) {
		var tr = Builder.node("tr", [
			Builder.node("td", ary.row[i].title),
			ac_custom_fields_cons(ary.row[i])
		]);

		$("search_tbody_cfields").appendChild(tr);
	}
}

