var categories_ajax_timeout = 0;
var categories_ajax_created = 0;
var search_field = 0;
var old_search_value = 0;
var old_search_field = 0;
var categories_ajax_autocomplete_state = 1;

$(function(){
	
	$('input.categories_search_button').keyup(function(){
		if (categories_ajax_autocomplete_state == 1)
		{
			search_field = $(this);
			search_value = search_field.attr('value');
			//show loading image (if any)
			if ((old_search_value == search_value) && (old_search_field == search_field)) return; 
			old_search_value = search_value;
			old_search_field = search_field;
			//setTimeout
			if (categories_ajax_timeout != 0) { 
				clearTimeout(categories_ajax_timeout); 
			}
			categories_ajax_timeout = setTimeout(function(){
					categories_ajax_autocomplete(search_value);
			},300);
		}
	});
});

function categories_ajax_autocomplete(search_value)
{	
	if (search_value.length > 3)
	{
		categories_ajax_timeout = 0;
		search_field = $(search_field);
		search_field_offset = search_field.offset();
		element_parent = search_field.parent();
		element_parent_offset = element_parent.offset();
		element_offset = [];
		element_offset_left = parseInt(element_parent_offset.left);
		element_offset_top = parseInt(element_parent_offset.top) + parseInt(element_parent.css('height').replace("px",""));
		
		element_offset_top = element_offset_top; // mahame 6px za da e tochno pod poleto za tursene
		element_offset_left = element_offset_left+3; // dobavqme 1px za da e tochno pod poleto za tursene
		
		if (categories_ajax_created != 1)
		{
			content_div = "<div id='div_ajax_autocomplete_container'><div id='div_ajax_autocomplete'></div></div>";
			$(element_parent).append(content_div);
			categories_ajax_created = 1;
		}
		
		content_div = $('div#div_ajax_autocomplete');
		content_div_parent = $("#div_ajax_autocomplete_container");
		$.post(http_site_root+"index.php",
			{ l: "search", a: "categories_autocomplete", s: search_value },
			function(data){
				content_div.html(data);
				content_div_parent.css("position","absolute").css("display","block").css("top",element_offset_top+"px").css("left",element_offset_left+"px");
				content_div_parent.css("z-index",10000);
			}
		);
	}
}

function categories_autocomplete_itemClicked(el)
{
	el = $(el);
	search_field.val($(el).html());
	$('#div_ajax_autocomplete_container').css('display','none');
}

function categories_ajax_autocomplete_setState(state)
{
	switch (state)
	{
		case 0:
			if (!search_field) return;
			if($("#div_ajax_autocomplete_container")) {
				$('#div_ajax_autocomplete_container').css('display','none');
				var search_parent = search_field.parent();
				var search_offset = search_field.offset();
				
				var input_tag_style = "background:transparent url(img/autocomplete/iconAutofillDown_12x10.gif) no-repeat scroll center center;";
				input_tag_style += "border:0px;";
				input_tag_style += "width: 18px; cursor: pointer;";
				input_tag_style += "position: absolute;z-index:999;";
				
				input_tag_style += "top: "+ (search_offset.top + 1) +"px;";
				input_tag_style += "height: 20px;";
				input_tag_style += "left: "+ (search_offset.left + parseInt(search_field.css('width').replace("px","")) - 12) +"px;";
				
				var input_tag = "<div class='div_ajax_autocomplete_enabled' style='"+input_tag_style+"' onclick=\"javascript:categories_ajax_autocomplete_setState(1);\"></div>";
				$(search_parent).append(input_tag);
			}
			break;
		case 1:
			$('.div_ajax_autocomplete_enabled').remove();
			break;
	}
	//categories_ajax_autocomplete_state = parseInt(state);
}

// Close aotocomplete on enscape
$(window).keypress(function (e){
	if (e.keyCode==27) {
		categories_ajax_autocomplete_setState(0);
	}
});