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

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

	$("loadingdiv").style.display = "none";

	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" });

		if ( rows[i].result_type != "attachment" ) {

			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].unescaped)
				+ 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>";
		}
		else {

			li.innerHTML =
				sprintf("<a href='%s'>%s</a>", rows[i].url, ac_str_htmlescape(rows[i].title))
				+ sprintf("<div>%s <br/>", rows[i].unescaped)
				+ "</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())
		;

	search_offset = parseInt(offset, 10);
	search_term = '';
	for (i in search_terms) {
		search_term += i + ' ';
		//search_term = i;
	}
	if ( typeof search_type == 'undefined' ) search_type = 'fulltext';
	ac_ajax_call_cb(this.ajaxURL, this.ajaxAction, paginateCB, this.id, search_sort, search_offset, search_limit, search_filterid, search_term, search_type);
}

function search_filter() {
	var post = ac_form_post("filter_form");

	/*
	if (post.content == '') {
		alert(search_noquery);
		return;
	}
	*/

	post.limit = paginators[1].limit;
	$("loadingdiv").style.display = "";
	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    = {};
	search_type     = ary.type;

	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"));

	if (ary.row) {
		for (var i = 0; i < ary.row.length; i++) {
			var tr = Builder.node("tr", [
				Builder.node("td", { width: "125" }, ary.row[i].title),
				ac_custom_fields_cons(ary.row[i])
			]);
			$("search_tbody_cfields").appendChild(tr);
		}
	}
}

