var filter_authors = [];
var filter_motives = [];
var filter_tech = [];
var filter_all = [];

var filterDefaultPosition = 1200;// $('filter').positionedOffset();

function filterItems() {
	var delay = setTimeout(function(){
		$$('.motive').each(function(el){
			el.hide();
		})

		var a=filter_authors.length,b=filter_motives.length,c=filter_tech.length;
		// filter_all = filter_authors.intersect(filter_motives);

		if(a <= 0 && b <= 0 && c <= 0){
			$$('.motive').each(function(el){
				el.show();
			})
			$$('.item input').each(function(el){
				el.checked = false;
			})
			$('filter_off').checked = true;
			filter_authors.clear();
			filter_motives.clear();
			filter_tech.clear();
		}else{
			if(a > 0 && b > 0 && c > 0){
				filter_all = filter_authors.intersect(filter_motives);
				filter_all = filter_all.intersect(filter_tech);
			}else if(a > 0 && b > 0 && c <= 0){
				filter_all = filter_authors.intersect(filter_motives);
			}else if(a > 0 && b <= 0 && c > 0){
				filter_all = filter_authors.intersect(filter_tech);
			}else if(a <= 0 && b > 0 && c > 0){
				filter_all = filter_motives.intersect(filter_tech);
			}else if(a > 0 && b <= 0 && c <= 0){
				filter_all = filter_authors;
			}else if(a <= 0 && b > 0 && c <= 0){
				filter_all = filter_motives;
			}else if(a <= 0 && b <= 0 && c > 0){
				filter_all = filter_tech;
			}

			filter_all.each(function(el){
				$(el).show();
			})
		}
		new Effect.Move($('filter'), { x: 0, y: 0, mode: 'absolute' });
	}, 600)
	if($('filter_off').checked == true) $('filter_off').checked = false;
	document.location.hash = '';
	Effect.ScrollTo('catalog',{duration:.5});
}



Event.observe(window, 'load', function() {
	
	// reset filtru při reloadu
	$$('.item input, .filter_tech').each(function(elem){
		elem.checked = false;
	})
	$('filter_off').checked = true;
	
	var i = 1;
	$$('.motive').each(function(elem){
		elem.writeAttribute('id', 'item_' + i);
		i++;
	})
	
	$('filter_dobrocinne').observe('click', function(){
		$('motive_27').simulate('click');
		if(this.checked == true){
			document.location.hash = 'dobrocinne-novorocenky'
		}
		return false;
	})
	
	$$('#filter_authors input').each(function(elem){
		elem.observe('click', function(event){
			filter_authors.clear();
			if(elem.checked == true){
				$$('.motive').each(function(el){
					if(el.readAttribute('data-author') == elem.readAttribute('value')){
						filter_authors.push(el.identify());
					}
				})
			}
			$$('#filter_authors input:checked').each(function(e){
				if(elem != e) e.checked = false;
			})
			filterItems();
		})
	})
	
	
	$$('#filter_motives input').each(function(elem){
		elem.observe('click', function(event){
			filter_motives.clear();
			if(elem.checked == true){
				$$('.motive').each(function(el){
					var item_motives = [];
					var selected_motive = [];

					item_motives = el.readAttribute('data-motive').split(',');
					selected_motive.push(elem.readAttribute('value'));

					var arrays_intersect = selected_motive.intersect(item_motives);
					if(arrays_intersect.length > 0){	
						filter_motives.push(el.identify());
					}
				})
			}
			$$('#filter_motives input:checked').each(function(e){
				if(elem != e) e.checked = false;
			})
			filterItems();
		})
	})
	
	$$('.filter_tech').each(function(elem){
		elem.observe('click', function(event){
			filter_tech.clear();
			if(elem.checked == true){
				$$('.motive').each(function(el){
					var item_motives = [];
					var selected_motive = [];

					item_motives = el.readAttribute('data-tech').split(',');
					selected_motive.push(elem.readAttribute('value'));

					var arrays_intersect = selected_motive.intersect(item_motives);
					if(arrays_intersect.length > 0){	
						filter_tech.push(el.identify());
					}
				})
			}
			$$('.filter_tech:checked').each(function(e){
				if(elem != e) e.checked = false;
			})
			filterItems();
		})
	})
	
	$('filter_off').observe('click', function(){
		$$('.motive').each(function(el){
			el.show();
		})
		$$('.item input').each(function(el){
			el.checked = false;
		})
		this.checked = true;
		filter_authors.clear();
		filter_motives.clear();
		filter_tech.clear();
	})
		
	var positionFilter = $('filter').positionedOffset();
	
	
	document.observe('scroll', function(){
		var containerHeight = parseInt($('container').getHeight()) - parseInt($('submenu').getHeight() + 75);
		var offsetDocument = document.viewport.getScrollOffsets();
		var offsetFilter = $('filter').cumulativeScrollOffset();
		
		var limit = parseInt(offsetFilter.top) + parseInt($('filter').getHeight());
		// $('filter').insert(limit + ' x ' + containerHeight + ' | ')
		if(offsetDocument.top >= positionFilter.top && containerHeight >= limit){
			new Effect.Move($('filter'), { x: 0, y: parseInt(offsetDocument.top) - parseInt(positionFilter.top), mode: 'absolute' });
		}else if(offsetDocument.top <= positionFilter.top){
			new Effect.Move($('filter'), { x: 0, y: 0, mode: 'absolute' });
		}
		
	})
	
	if(document.location.hash == '#dobrocinne-novorocenky'){
		$('filter_dobrocinne').simulate('click');
	}
});

Event.observe(document, 'dom:loaded', function() {
    myCustomLL = new JS_BRAMUS.lazierLoad({treshold: 20});  // Override treshold
}, false);
















