// TODO : replace older dated posts with newer

jQuery(document).ready(function() {

    var postMinimisedLimit = 3;
    var postMaximisedLimit = 10;

    var allFilters = jQuery(".filter");
    var allPosts = jQuery(".playerFeed > .feed");
    var expander = jQuery(".expand");

    allPosts.addClass("filterOn");

    allPosts.filter(":gt("+postMinimisedLimit+")").hide();
    allFilters.addClass("selected");
		
    if (allPosts.length <= (postMinimisedLimit + 1))
        expander.hide();
		
    allFilters.each(function(){
        var filter = jQuery(this);
        var filterName = filter.attr("name");				
        var feed_count = allPosts.filter(".postType"+filterName).length;
        if(feed_count == 0){
            filter.removeClass("selected");
            filter.css('cursor', 'default');
        }
    });
		
    function is_available_feeds(filter){
		
        var filterName = filter.attr("name");
        var feed_count = allPosts.filter(".postType"+filterName).length;
        if(feed_count == 0)
            return false;
        else
            return true;
    }
	

    function postsForFilterName(name){

        return  allPosts.filter(".postType"+name);
    
    }

    allFilters.click(function(){
        var filter = jQuery(this);
        if(!is_available_feeds(filter))
            return false;
        filter.toggleClass("selected");
        var filterName = filter.attr("name");
        var isShown = filter.hasClass("selected");
        filterPosts = postsForFilterName(filterName);

        if(isShown){        
            filterPosts.addClass("filterOn");
        }else{
            filterPosts.removeClass("filterOn");
        }
				
				allPosts.slideUp('slow');
				
        if (expander.hasClass("selected")){

					allPosts.filter(".filterOn").filter(":lt("+postMaximisedLimit+")").slideDown('slow');    

        } else{
				
					allPosts.filter(".filterOn").filter(":lt("+(postMinimisedLimit + 1)+")").slideDown('slow');        
           
        }
            
    });

    expander.click(function(){

        jQuery(this).toggleClass("selected");
        if (expander.hasClass("selected")){
				
          allPosts.filter(".filterOn").filter(":lt("+postMaximisedLimit+")").slideDown('slow');  
        } else{
				
          allPosts.filter(".filterOn").filter(":gt("+postMinimisedLimit+")").slideUp('slow');
        }
       
    })

});

