/*
 * obsluha ajaxovych filtru
 */

$(document).ready(function() {
	updateFilter();
});

/* aktualizuje fomrulare filtru */
function updateFilter()
{
	/* skryt prvky, ktere se nemaji pri zapnutem js zobrzovat */
	$('.filtr .nojs').hide();

	/* workaround - odstraneni struktury selectboxu */
	$('.selectBox-dropdown-menu').remove();
	
	/* vytvorit posuvnik filtru cen */
	$(".filtr.cenovy-filtr .slider .range").slider({
		min: parseInt($(".filtr.cenovy-filtr input[name=priceMin]").val()),
		max: parseInt($(".filtr.cenovy-filtr input[name=priceMax]").val()),
		step: parseInt($(".filtr.cenovy-filtr input[name=priceStep]").val()),
		range: true,
		animate: true,
		values: [
			parseInt($(".filtr.cenovy-filtr input[name=priceFrom]").val()),
			parseInt($(".filtr.cenovy-filtr input[name=priceTo]").val())
		],
		slide: function(event, ui) {
			$(".filtr.cenovy-filtr input[name=priceFrom]").val(ui.values[0]);
			$(".filtr.cenovy-filtr input[name=priceTo]").val(ui.values[1]);
			$(".filtr.cenovy-filtr input[name=priceChanged]").val(1);
			
			/* zobrazit aktualne zvolene ceny */
			showPriceRange();
		},
		stop: function(event, ui) {
			$(".filtr.cenovy-filtr form").submit();
		}
	});
	
	showPriceRange();

	/* pri zaskrtnuti checkboxu odeslat formular */
	$(".filtr.filtr-vyrobcu input[type=checkbox],#ajax-wrapper select[name=itemsOnPage]").change(function(){
		$(this).parents("form").submit();
	});
	
	/* pokud se ma pouzit ajaxove nacitani */
	if ($('#ajax-wrapper').length)
	{
		/* pridame skryty input pro priznak ajaxoveho requestu */
		$(".filtr form,.moznosti-zobrazeni form").append("<input type='hidden' name='isAjax' value='1'>");
	
		/* nabindujeme ajaxForm (formular se odesle ajaxem a aktualizuje obsah divu #ajax-wrapper) */
		$(".filtr form,.moznosti-zobrazeni form").ajaxForm({
			target: '#ajax-wrapper',
			beforeSubmit: function(){
				/*$("<div class='loading-layer'>").prependTo(".filtr");*/

				/* zesedniti filtru behem nacitani */
				$(".filtr,.moznosti-zobrazeni").addClass('loading').fadeTo("fast", 0.5);
			},
			success: function(){
				/* aktualizovat hodnoty filtru */
				$('#levy .cenovy-filtr').replaceWith($('#ajax-wrapper .cenovy-filtr'));
				$('#levy .filtr-vyrobcu').replaceWith($('#ajax-wrapper .filtr-vyrobcu'));
				/*$('#levy .filtr-priznaku').replaceWith($('#ajax-wrapper .filtr-priznaku')); -- neni potreba aktualizovat */

				/* formulare byly prenacteny, je potreba je znovu nabindovat */
				updateFilter();
			}
		});
	}

	$('.moznosti-zobrazeni select').selectBox();
}

/* zobrazit aktualni zvolene hodnoty v posuvniku filtru cen */
function showPriceRange()
{
	$(".filtr.cenovy-filtr .valueFrom").text(symbolLevy + $(".filtr.cenovy-filtr input[name=priceFrom]").val() + ' ' + symbolPravy);
	$(".filtr.cenovy-filtr .valueTo").text(symbolLevy + $(".filtr.cenovy-filtr input[name=priceTo]").val() + ' ' + symbolPravy);
}

