//ochrana proti viacnasobnemu znovunacitaniu filtra
var IS_PRODUCTS_FILTER_RELOADING = false;

//zoznam otvorenych ("more values")
var MORE_VALUES_ID = new Array();

//zoznam otvorenych ("Accordion")
var OPEN_ACCORDION_FIELDSET = new Array();

$(document).ready(function()
{
	//odstranenie nepotrebnuch optionov
	$('.prFltr form select option:disabled').remove();
	
	//zatvor polovicu Accordion (ak je ich viac ako 4)
	var filter_fields_count = $('.prFltr .filter_fields fieldset').length;
	
	if ( filter_fields_count > 4 )
	{
		$('.ncl .prFltr .filter_fields fieldset').each(function(i, elm)
		{
			if ( (i + 1) > parseInt(filter_fields_count / 2) )
			{
				$(this).addClass('closed');
				$(this).find('.attr-values').css('display', 'none');
				OPEN_ACCORDION_FIELDSET.push($(this).attr('id'));
			}
		});
	}	
	
	/** ----------------------------------------
	/**  Znovunacitanie filtra
	/** ----------------------------------------*/
		
	function filter_reload($elm)
	{
		//len jedno nacitanie
		if ( IS_PRODUCTS_FILTER_RELOADING )	
		{
			return;
		}
		else
		{
			IS_PRODUCTS_FILTER_RELOADING = true;
		}
		
		var $form 		= $($elm).parents('form'),
			category	= $form.find('input[name="cat"]').val();
					
		//odstranenie ACT udalosti 
		$form.find('input[name="ACT"]').remove();
		
		//odstranenie skrytych checkboxov
		$form.find('.more_values').remove();
		
		//efekty
		$('.prFltr .filter_fields').css('opacity','0.7');
		$('.prFltr #filter_fields_overlay').show();
		
		//odoslanie poziadavky na server
		$.ajax(
		{
			url	: '/ajax-filter/' + category,
			type	: 'POST',
			data	: $form.serializeArray(),
			success	: function(data)
			{
				$form.find('.filter_fields').html($(data).find('.filter_fields').html());
				
				//nastavenie ACT
				$form.find('div.hiddenFields').prepend($(data).find('input[name="ACT"]'));

				//odstranenie nepotrebnuch optionov
				$form.find('select option:disabled').remove();
				
				//ak boli otvorene niektore "more_values"
				$.each(MORE_VALUES_ID, function(index, id)
 				{
 					$form.find('a[href="' + id + '"]').click();
 				});
 				
 				//zatvor taby
 				$.each(OPEN_ACCORDION_FIELDSET, function(index, id)
 				{
 					$form.find('#' + id).addClass('closed').find('.attr-values').css('display', 'none');;
 				});

			},
			complete: function(data)
			{				
				//efekty
				$('.prFltr .filter_fields').css('opacity','1.0');
				$('.prFltr #filter_fields_overlay').hide();
						
				IS_PRODUCTS_FILTER_RELOADING = false;
				
				//nastavenie tooltipu
				tooltip();
			}
		}); 
	}	
		
	/** ----------------------------------------
	/**  Nastavenie jednotlivych udalosti
	/** ----------------------------------------*/	
		
	//selecty	
	$("body").delegate('.prFltr form select', "change", function()
	{
		filter_reload($(this));		
	});
	
	//checkboxy
	$("body").delegate('.prFltr form input[type="checkbox"]', "click", function()
	{
		//checkboxy ako radiobuttony
		if ( $(this).hasClass('radio') )
		{
			$(this).parents('ul').find('input.radio').not($(this)).attr('checked', false);
		}
		
		//zmazanie intervalu
		$(this).parents('.attr-values').find('.interval_custom_values input[type="text"]').val('');
		
		filter_reload($(this));		
	});

	//radiobuttony
	$("body").delegate('.prFltr form input[type="radio"]', "click", function()
	{		
		//zmazanie intervalu
		$(this).parents('.attr-values').find('.interval_custom_values input[type="text"]').val('');
		
		filter_reload($(this));		
	});
	
	//buttony
	$("body").delegate('.prFltr form input[type="button"]', "click", function()
	{
		$(this).parents('form').submit();		
	});
	
	//zadat vlastny interval hodnot
	$("body").delegate('.prFltr form .show_interval_custom_values', "click", function()
	{
		$(this).hide();
		$($(this).attr('href')).show();		
		
		return false;
	});
	
	//zobrazit viac hodnot
	$("body").delegate('.prFltr form .show_more_values', "click", function()
	{
		$(this).parents('.attr-values').find('ul:first').remove();
		$($(this).attr('href')).show().removeClass('more_values');
		
		//nastavenie velkosti sidebaru
		refresh_main_container_height();	
		
		//ak som dal zobrazit viacej hodnot, zapamatam si id 
		MORE_VALUES_ID.push($(this).attr('href'));	
		
		$(this).remove();
		
		return false;
	});
	
	/** ----------------------------------------
	/**  Submit form
	/** ----------------------------------------*/
	
	$('.prFltr form').submit(function()
	{
		//odstranenie skrytych checkboxov
		$(this).find('.more_values').remove();
		
		return true;
	});
	
	/** ----------------------------------------
	/**  Accordion
	/** ----------------------------------------*/
	
	$("body").delegate('.ncl .prFltr .title a', "click", function()
	{
		var $fieldset = $($(this).attr('href'));
		
		if ( $fieldset.hasClass('closed') )
		{
			$fieldset.removeClass('closed');
			$fieldset.find('.attr-values').show();
		}
		else
		{
			$fieldset.addClass('closed');
			$fieldset.find('.attr-values').hide();
		}
		
		//zatvorene taby
		OPEN_ACCORDION_FIELDSET = new Array();
		
		$('.prFltr .filter_fields fieldset.closed').each(function()
		{
			OPEN_ACCORDION_FIELDSET.push($(this).attr('id'));
		});

		return false;
	});
	
	$("body").delegate('.con .prFltr .title a', "click", function()
	{
		return false;
	});
});

