var $j = jQuery.noConflict();
$j(document).ready(function(){

	

	var actives = [];
	var allcats = [];
	$j("#cat_names a").each(function(){
		allcats.push($j(this).text());
		actives = allcats;
	});
	
	setAll();
	
	$j("#cat_names a").not("#all").click(function(){
		var newcat = $j(this).parent("li").attr("class");
		
		if(actives == allcats){
			actives = new Array(newcat);
		} else if( activesContains(newcat) >= 0){
			actives.splice(activesContains(newcat),1);
		} else {
			actives.push(newcat);
		}
		
		resetActivesCats();
	});
	
	$j("#cat_names #all").click(function(){
		setActive($j("#top_menu .menu_col li"));
		setAll();
		actives = [];
	});
	
	function setAll(){
		all_li = $j("#cat_names #all").parent();
		setActive(all_li);
		setInactive($j("#cat_names li").not(all_li));
	}
	
	//resetActivesCats();
	
	function activesContains(cat){
		
		for(var i=0; i < actives.length; i++){
			if(actives[i] == cat){
				return i;
			}
		}
		return -1;
		
	}
	
	function resetActivesCats(){
	//alert(actives);
		//setInactive($j("#top_menu .menu_col li"));
		
		
		$j("#cat_names li").each(function(){
			if(activesContains($j(this).attr("class")) >= 0){
				setActive($j(this));
			} else {
				setInactive($j(this));
			}
		});

		$j("#top_menu .menu_col li").each(function(){
			var currentcats = $j(this).attr("class").split(" ");
			
			var found = false;
			for (var i=0; i < currentcats.length; i++){
				for(var j=0; j < actives.length; j++){
					if(actives[j] == currentcats[i]){
						setActive($j(this));
						found = true;
						break;
					} 
				}
				
				if(found){ break; }
				
			}
			
			if(!found){
				setInactive($j(this));
			}


			//if(actives.contains($j(this).attr("class"))){}
		});

	}
	
	function setInactive(el){
		el.stop(true,true).fadeTo(100,0.3);
	}
	
	function setActive(el){
		el.stop(true,true).fadeTo(100,1);
	}
	
	
	
// filter-by menu :	
/*

	var active_cats = [];
	$j('#menu_cats div').bind("click", function() {
		
		if ($j(this).hasClass('all_cats')) {
			$j(this).addClass('boldtext');
			$j('.check_box_inner', this).addClass('checked');
			$j('#menu_cats div').not(this).each(function() {  				
				$j(this).removeClass('boldtext');
				$j('.check_box_inner', this).removeClass('checked');
			});
			$j('#menu_names li').each(function() {
				$j(this).slideDown();
			});
			active_cats = [];
		} 
		
		
		else if ($j('.check_box_inner', this).hasClass('checked')){
		
				var checkcheck = false;
				$j('.check_box_inner', this).removeClass('checked');
				$j(this).removeClass('boldtext');
				var cat = $j(this).attr('class');
				//PULL OUT CHECKED CLASS
				var i; for (i = 0; i < active_cats.length; ++i) {
				if (cat == active_cats[i]) {
					active_cats.splice(i, 1);
				}
			}
			if (active_cats.length === 0) {
					$j('#menu_names li').slideDown();
				} else {		
					
					$j('#menu_names li').each(function() {
				    var isactive = false;
				    	var g; for (g = 0; g < active_cats.length; ++g) {
				    		if ($j(this).hasClass(active_cats[g])) {
				    			isactive = true;
				    		} 
				    	}
				    	if (isactive === true) {
				    		$j(this).slideDown();
				    	} else {
				    		$j(this).slideUp();
				    	}
				});
			}

			$j('#menu_cats div .check_box_inner').each(function() {
				if ($j(this).hasClass('checked')) {
					checkcheck = true;
				} 
			});
			if (checkcheck === false) {
				$j('.all_cats').addClass('boldtext');
				$j('.all_cats .check_box_inner').addClass('checked');
			}
		
		} else {
		
			var cat = $j(this).attr('class');
			active_cats.push(cat);
			$j(this).addClass('boldtext');
			$j('.check_box_inner', this).addClass('checked');
			$j('.all_cats').removeClass('boldtext');
			$j('.all_cats .check_box_inner').removeClass('checked');
			$j('#menu_names li').each(function() {
			    var isactive = false;
		    	for (var g = 0; g < active_cats.length; ++g) {
		    		if ($j(this).hasClass(active_cats[g])) {
		    			isactive = true;
		    		} 
		    	}
		    	if (isactive === true) {
		    		$j(this).slideDown();
		    	} else {
		    		$j(this).slideUp();
		    	}
			});
		
		}	
	
	});
*/
});
