/* A result formatter for YUI autocompleter */
var yuiAutoComplete_formatResult = function(aResultItem, sQuery) {
	var sKey = aResultItem[0]; // the entire result key
	var sKeyQuery = sKey.substr(0, sQuery.length); // the query itself
	var sKeyRemainder = sKey.substr(sQuery.length); // the rest of the result
	var addInfo = aResultItem[1]; // AddInfo
	var aMarkup = [
		"<div id=\"ysearchresult\">",
			"<span style=\"text-align: right; clear: right; float: right; padding-left: 5px; \">",
				addInfo,
			"</span>",
			"<span style=\"font-weight:bold\">",
				sKeyQuery,
			"</span>",
			sKeyRemainder,
		"</div>"
	];
	return (aMarkup.join(""));
};


/* global varible, for AJAX-output, Auto-Complete */

var ds_array = new Array(); // save the xxx_ds objects

var ac_filter = "filter1=D"; // default value as ac_filter

function ac_resetAutocompleteFilter() {
	// through all the xxx_ds objects and add the parameter "filter1=XX"
	var i = 0;
	for (i; i <ds_array.length; i++) {
		if (ac_filter) {
			ds_array[i].scriptQueryAppend = ds_array[i].scriptQueryAppend_original + "&" + ac_filter;
		} else {
			ds_array[i].scriptQueryAppend = ds_array[i].scriptQueryAppend_original;
		}
	}
}

function ac_autocompleteFilter(options, filter) {
	var i = 0;
	for (i; i <options.length; i++) {
	    if (options[i].selected == true) {
	       	if (trim(options[i].value) == "") {
	       		ac_filter = '';
	       	} else {
	       		ac_filter = filter + '=' +options[i].value;
	       	}
	    }
	}
	ac_resetAutocompleteFilter();
}

function ac_flushCache() {
	var i = 0;
	for (i; i <ds_array.length; i++) {
		ds_array[i].flushCache();
	}
}

function trim(str) {
   return str.replace(/^\s*|\s*$/g, "");
}