/**
 *
 */

var search_suggestions_request;
var search_suggestions_delay = 500;

/**
 *
 */
jQuery(document).ready(function() {
	setupSearchSuggestionBehaviours();
});

/**
 *
 */
function setupSearchSuggestionBehaviours() {
	jQuery('#search').bind("keyup", function() {
		var search_value = jQuery(this).val();
		if(search_value.length >= 3) {
			clearTimeout(search_suggestions_request);
			search_suggestions_request = setTimeout(function() {
				jQuery.getJSON(
					'/ajax_request',
					{
						"action": "getSearchSuggestions",
						"search_value": search_value
					},
					function(data) {
						jQuery('#search_suggestions').empty();
						jQuery.each(data.search_results, function(i, search_result) {
							jQuery('#search_suggestions').append('<div class="search_suggestion"><a href="/' + ((search_result.content_type_name != 'product_variation')?search_result.node_permalink:search_result.node_parent_permalink) + '" title="' + search_result.node_title + '">' + search_result.node_title + '</a></div>');
						});
						jQuery('#search_suggestions').css('display', '');
					}
				);
			}, search_suggestions_delay);
		}
	});

	/*
	 * @todo Use CSS to show and hide the search_suggestions <div>
	 */
	jQuery('#search').blur(function() {
		setTimeout(function() {
			jQuery('#search_suggestions').css('display', 'none');
		}, 500);
	});
}
