/* 
 * Init suggest funtionality for search module
 */
$(document).ready(
	function () {
		$("#term").autocomplete('search/index/autocomplete/', {
			autoFill: false,
			width: '224px',
			minChars: 4,
			selectFirst: false,
			resultsClass: "ac_results search_suggest_result",
			formatItem: formatListItem,
			scroll: false,
			delay: 400,
			max: 100
		}).result(function(event, item) {
			if(item[0].match(/gallery\/index\/gallery_id\/\d+/)) {
				$(event.target).val(item[1]);
				openLightbox(baseUrl(item[0]), 766, 501, 100);
			}
			else {
				$(event.target).val(item[1]);
				location.href = baseUrl(item[0]);
			}
		});
	}
);

function formatListItem(row) {

	// Define return string
	returnString = '';

	// Special treatment for more link
	switch (row[2]) {
		case 'header':
			returnString += '<div class="suggestHeader" id="suggestHeaderItem" onkeypress="unbindParent(this);" onmousemove="removeClass(this);" onmouseover="unbindParent(this);">' + row[3] + '</div><div>' + row[1] + '</div>';
			//returnString += div.out;
			break;

		case 'more':
			returnString += '<div class="suggestHeader" onkeypress="unbindParent(this);" onmousemove="removeClass(this);" onmouseover="unbindParent(this);" onclick="location.href=\'' + row[4] + '\';return false;">' + row[3] + '</div>';
			break;

		default:
			// Normal processing of list entry
			returnString += '<div class="suggestElement">' + row[1] + '</div>';
	}

	return returnString;
	
}

function removeClass(obj) {

	$(obj).parent().removeClass('ac_over');
	return false;

}

function unbindParent(obj) {

	// Bind new click event
	$(obj).bind('click mouseover', function(evt) {
		evt.stopPropagation();
	});

	return false;
	
}