var cache_filter_categories = [];
var cache_filter_regions = [];
function filter_categories(val)
{
	if(val == '') {return;}
	if(typeof(cache_filter_categories[val]) != 'undefined')  {
		$('#sub_category_id').html(cache_filter_categories[val]);
		if($('#sub_category_'+sub_category_id).length) {
			$('label',$('#sub_category_id').next()).html($('#sub_category_'+sub_category_id).text());
		} else {
			$('label',$('#sub_category_id').next()).html($('#sub_category_id option:first').text());
		}
	}
	else {
		$.post(xhr_url+'?method=filter_categories',{id: val, sub_category_id: sub_category_id},function(data){
			$('#sub_category_id').html(data);
			if($('#sub_category_'+sub_category_id).length) {
				$('label',$('#sub_category_id').next()).html($('#sub_category_'+sub_category_id).text());
			} else {
				$('label',$('#sub_category_id').next()).html($('#sub_category_id option:first').text());
			}
			cache_filter_categories[val] = data;
		});
	}
}

function filter_categories_flat(val)
{
	if(val == '') {return;}
	if(typeof(cache_filter_categories[val]) != 'undefined')  {
		$('#sub_category_id').html(cache_filter_categories[val]);
		if($('#sub_category_'+sub_category_id).length) {
			$('label',$('#sub_category_id').next()).html($('#sub_category_'+sub_category_id).html());
		} else {
			$('label',$('#sub_category_id').next()).html($('#sub_category_id option:first').html());
		}
	}
	else {
		$.post(xhr_url+'?method=filter_categories_flat',{id: val, sub_category_id: sub_category_id},function(data){
			$('#sub_category_id').html(data);
			if($('#sub_category_'+sub_category_id).length) {
				$('label',$('#sub_category_id').next()).html($('#sub_category_'+sub_category_id).html());
			} else {
				$('label',$('#sub_category_id').next()).html($('#sub_category_id option:first').html());
			}
			cache_filter_categories[val] = data;
		});
	}
}

function filter_regions(val)
{
	if($('.checkboxes_holder ul').length)
	{
		if(typeof(cache_filter_regions[val]) != 'undefined')  {
			$('.checkboxes_holder ul').html(cache_filter_regions[val]);
		}
		else {
			$.post(xhr_url+'?method=filter_regions',{id: val, sub_regions : sub_regions},function(data){
				$('.checkboxes_holder ul').html(data);
				cache_filter_regions[val] = data;
			});
		}
	}
}

function clear_regions()
{
	if($('#sub_regions').length)
	{
		$('#sub_regions').val('');
	}

	if($('.ac_results').length)
	{
		$("#filter_sub_region_with_auto_complete #autocomplete_select").autocomplete().flushCache();
		$('.ac_results ul').html('<li></li>');
	}
}

$(function(){
	if($('.flat').length) {
		filter_categories_flat($('#category_id').val());
	}
	else {
		filter_categories($('#category_id').val());	
	}
	filter_regions($('#region').val());
	if($(".date_picker_field").length > 0) {$
		(".date_picker_field").datepicker({inline : true});
	}
});