var filters ={}

$(document).ready(function() {
	filters['filter[recipe_type_id]'] = "";
	filters['filter[difficulty_id]'] = "";
	filters['filter[seasonality_id]'] = "";
	filters['filter[beer_category_id]'] = "";
	filters['filter[beer_style_id]'] = "";

	$('#recipe_recipe_type_id').change(function(){
		set_filter(1);
	});

	$('#recipe_difficulty_id').change(function(){
		set_filter(1);
	});

	$('#recipe_seasonality_id').change(function(){
		set_filter(1);
	});

	$('#recipe_beer_style_id').live('change', function(){
		set_filter(1);
	});

	$("#recipe_beer_category_id").change(function(){
		$.ajax({
			type: "POST",
			url: "/beer_styles",
			data: "authenticity_token=" + AUTH_TOKEN + "&id=" + this.value,
			success: function (html) {
				$("#beer-style").html(html);
			}
		});
		set_filter(1);
	});

	$('div.pagination a').live('click',function(){
		page = 1;
		current = new Number($('div.pagination span.current').html());

		if($(this).hasClass("prev_page")){
			page = current - 1;
		} else if($(this).hasClass("next_page")) {
			page = current + 1;
		}else{
			page = $(this).html();
		}
		set_filter(page);
		return false;
	});

});

function set_filter(page){
	filters['filter[recipe_type_id]'] = $('#recipe_recipe_type_id').val();
	filters['filter[difficulty_id]'] = $('#recipe_difficulty_id').val();
	filters['filter[seasonality_id]'] = $('#recipe_seasonality_id').val();
	filters['filter[beer_category_id]'] = $('#recipe_beer_category_id').val();
	filters['filter[beer_style_id]'] = $('#recipe_beer_style_id').val();
	update_results(page);
}

function update_results(page){
	$('#post_list').fadeOut("slow",function(){
		$('#post_list').animate({
			height: 200
		}, 500 );
		$('#post_list').html("<div id='filter_results_spinner'></div>");
		$('#post_list').fadeIn("slow",function(){
			$.ajax({
				type: "POST",
				url: "/recipe_filter",
				data: jQuery.param(filters) + "&pagenum=" + page + "&authenticity_token=" + AUTH_TOKEN,
				success: function (html) {
					$('#post_list').fadeOut("slow", function(){
						$('#post_list').html(html);

						//code to get incoming height
						$('#post_list').show();
						var h = $('#post_list_wrapper').height();
						$('#post_list').hide();

						$('#post_list').animate({
							height: h
						}, 700 );
						$('#post_list').fadeIn("slow");
					});
				}
			});
		});
	});
}