function priceFilter(href, categoryId, levySymbol, pravySymbol) {
	$(".filters-box .price_filter_form").append($("<input>",{type: "hidden", name: "ajax_view", "value": 1}));
	$(".filters-box .price_filter_form").append($("<input>",{type: "hidden", name: "KID", "value": categoryId}));
	var date = new Date();
	$(".filters-box .price_filter_form").append($("<input>",{type: "hidden", name: "uniqueHash", "value": date.getTime()}));
	$(".filters-box .price_filter_form").ajaxForm({
	  target: "#category_content",
	  beforeSubmit: function() {
			displayLoadingLayers();
		},
		success: function() {
			reloadFilters({producer : 1, rating: 1, parameters : 1}, href, categoryId, levySymbol, pravySymbol);
			var date = new Date();
			$(".filters-box .price_filter_form input[name=uniqueHash]").attr('value',date.getTime());
			$("#filters_load").remove();
			hideLoadingLayers();
	  },
	  error: function(a,b) {
			alert(a);
		}
	});

	var step = 5;
	var minPrice = Number($(".filters-box input[name=minPrice]").val());
	var maxPrice = Number($(".filters-box input[name=maxPrice]").val());
	if (minPrice == maxPrice)
		maxPrice += step;
	var priceFrom = Number($(".filters-box .price_filter_form_from").val());
	if (priceFrom == 0 || priceFrom == '') priceFrom = minPrice;
	var priceTo = Number($(".filters-box .price_filter_form_to").val());
	if (priceTo == 0 || priceTo == '') priceTo = maxPrice;
	if (priceFrom == priceTo)
		priceTo += step;

	$(".filters-box .price_filter_form").hide();
	
	$(".filters-box .price_slider").slider({
		range: true,
		min: minPrice,
		max: maxPrice,
		values: [priceFrom,priceTo],
		animate: true,
		step : step,
		slide : function(event, ui) {
			$(".filters-box .price_slider_from").html(levySymbol + ui.values[0] + ' ' + pravySymbol);
			$(".filters-box .price_slider_to").html(levySymbol + ui.values[1] + ' ' + pravySymbol);
		},
		stop : function(event, ui) {
			$(".filters-box .price_filter_form_from").val(ui.values[0]);
			$(".filters-box .price_filter_form_to").val(ui.values[1]);
			$(".filters-box .price_filter_form").submit();
		}		
	});
	$(".filters-box .price_slider_from").html(levySymbol + $(".filters-box .price_slider").slider("values", 0) + ' ' + pravySymbol);
	$(".filters-box .price_slider_to").html(levySymbol + $(".filters-box .price_slider").slider("values", 1) + ' ' + pravySymbol);

	$(".filters-box .price_slider_box").show();
}

function producerFilter(href, categoryId, levySymbol, pravySymbol,flag) {
	$(".filters-box .producer_filter input[type=submit]").hide();
	$(".filters-box .producer_filter input[type=checkbox]").click(function() {
		$(".filters-box .producer_filter_form").submit();
	});
	if ($.browser.msie && $.browser.version >= 7.0 && $.browser.version <9.0) {
		$(".filters-box .producer_filter label").click(function() {
			if ($("input[type=checkbox]",$(this).parent()).attr('checked'))
				$("input[type=checkbox]",$(this).parent()).attr('checked',false);
			else
				$("input[type=checkbox]",$(this).parent()).attr('checked',true);
			$(".filters-box .producer_filter_form").submit();
		});
	}
	
	$(".filters-box .producer_filter_form").append($("<input>",{type: "hidden", name: "ajax_view", "value": 1}));
	$(".filters-box .producer_filter_form").append($("<input>",{type: "hidden", name: "KID", "value": categoryId}));
	var date = new Date();
	$(".filters-box .producer_filter_form").append($("<input>",{type: "hidden", name: "uniqueHash", "value": date.getTime()}));
	$(".filters-box .producer_filter_form").ajaxForm({
		target: "#category_content",
		beforeSubmit: function() {
			displayLoadingLayers();
		},
		success: function() {
			reloadFilters({producer : 1, rating: 1, parameters : 1}, href, categoryId, levySymbol, pravySymbol);
			var date = new Date();
			$(".filters-box .producer_filter_form input[name=uniqueHash]").attr('value',date.getTime());
			$("#filters_load").remove();
			hideLoadingLayers();
		},
		error: function(a,b) {
			alert(a);
		}
	});
}

function parametersFilter(href, categoryId, levySymbol, pravySymbol,flag) {
	$(".filters-box .parameters_filter input[type=submit]").hide();
	$(".filters-box .parameters_filter input[type=checkbox]").click(function() {
		$(".filters-box .parameters_filter_form").submit();
	});
	if ($.browser.msie && $.browser.version >= 7.0 && $.browser.version <9.0) {
		$(".filters-box .parameters_filter label").click(function() {
			if ($("input[type=checkbox]",$(this).parent()).attr('checked'))
				$("input[type=checkbox]",$(this).parent()).attr('checked',false);
			else
				$("input[type=checkbox]",$(this).parent()).attr('checked',true);
			$(".filters-box .parameters_filter_form").submit();
		});
	}

	$(".filters-box .parameters_filter_form").append($("<input>",{type: "hidden", name: "ajax_view", "value": 1}));
	$(".filters-box .parameters_filter_form").append($("<input>",{type: "hidden", name: "KID", "value": categoryId}));
	var date = new Date();
	$(".filters-box .parameters_filter_form").append($("<input>",{type: "hidden", name: "uniqueHash", "value": date.getTime()}));
	$(".filters-box .parameters_filter_form").ajaxForm({
		target: "#category_content",
		beforeSubmit: function() {
			displayLoadingLayers();
		},
		success: function() {
			reloadFilters({producer : 1, rating: 1, parameters : 1}, href, categoryId, levySymbol, pravySymbol);
			var date = new Date();
			$(".filters-box .parameters_filter_form input[name=uniqueHash]").attr('value',date.getTime());
			$("#filters_load").remove();
			hideLoadingLayers();
		},
		error: function(a,b) {
			alert(a);
		}
	});
}

function ratingFilter(href, categoryId, levySymbol, pravySymbol) {
	linkFilter(".rating_filter", href, categoryId, levySymbol, pravySymbol, {producer : 1, rating: 1, parameters : 1});
}

function linkFilter(selector, href, categoryId, levySymbol, pravySymbol, filters) {
	$(".filters-box " + selector + " a").click(function() {
		displayLoadingLayers();
		var url = $(this).attr("href");
		var date = new Date();
		url += "&ajax_view=1&KID=" + categoryId + "&uniqueHash=" + date.getTime();
		$.ajax(
				url,{
				success : function(html) {
					$("#category_content").html(html);
					reloadFilters(filters, href, categoryId, levySymbol, pravySymbol);
					$("#filters_load").remove();
					hideLoadingLayers();
				},
				dataType : 'html'
				});
		return false;
	});
}

function reloadFilters(filters, href, categoryId, levySymbol, pravySymbol) {
	if (filters.rating) {
		if ($("#filters_load .rating_filter").length > 0) {
			$(".filters-box .rating_filter").replaceWith($("#filters_load .rating_filter"));
		} else {
			$(".filters-box .rating_filter").empty();
		}
		ratingFilter(href, categoryId, levySymbol, pravySymbol);
	}
	if (filters.producer) {
		if ($("#filters_load .producer_filter").length > 0) {
			$(".filters-box .producer_filter").replaceWith($("#filters_load .producer_filter"));
		} else {
			$(".filters-box .producer_filter").empty();
		}
		producerFilter(href, categoryId, levySymbol, pravySymbol);
	}
	if (filters.parameters) {
		if ($("#filters_load .parameters_filter").length > 0) {
			$(".filters-box .parameters_filter").replaceWith($("#filters_load .parameters_filter"));
		} else {
			$(".filters-box .parameters_filter").empty();
		}
		parametersFilter(href, categoryId, levySymbol, pravySymbol);
	}
	// pridani informace do url a casu nacteni filtru
	location.href = location.href.replace(/(#.*)?$/, "#" + $('input[name="filters_data"]').attr('value'));
}

function displayLoadingLayers()
{
	$(".filters").each(function(){
		var position = $(this).offset();
		$("<div class='loading_layer'></div>").css({
			'top': position.top,
			'left': position.left,
			'width': $(this).outerWidth(),
			'height': $(this).outerHeight(),
			'opacity': '0.5'
		}).appendTo("BODY");
	});
}

function hideLoadingLayers() {
	$(".loading_layer").remove();
}
