jQuery(document).ready(function() {


	var allFilters = jQuery(".super_feed_filters > .source_item");
	var postMaximisedLimit = 20;
	var allPosts = jQuery(".superfeed > .super_feed");			
	allPosts.addClass("filter_on");
	allFilters.addClass("selected");
	allPosts.filter(":gt("+postMaximisedLimit+")").hide();				

	function postsForFilterName(name){
	
		return  allPosts.filter(".postType"+name);
	}
	
	function handleFilter(filter){
		
	filter.toggleClass("selected");
		
		var filterName = filter.attr("name");		
		var isShown = filter.hasClass("selected");
		
		filterPosts = postsForFilterName(filterName);
		
		if(filterName == 'All')
		{
			allPosts.addClass("filter_on");
			allFilters.addClass("selected");
			isShown=true;
			filterPosts = allPosts;		
		}

		if(isShown)
		{        
				filterPosts.addClass("filter_on");
		}else{
				filterPosts.removeClass("filter_on");
		}		
		allPosts.slideUp('slow');
		allPosts.filter(".filter_on").filter(":lt("+postMaximisedLimit+")").slideDown('slow');
	}

	allFilters.click(function(){
		var filter = jQuery(this);	
		handleFilter(filter);
	            
	});
});
