﻿(function($) {
  $.fn.categories = function(param) {   
    var settings = {
      viewHeight: 50,    
      moreText: "More",
      lessText: "Less",
      speed: 1000  
    };     
    var cfg = $.extend(settings, param);   
          
    var $me = $(this);
    var height = $me.height();
    var expanded = false; 
    var $trigger = $me.parent().find("a.more");
      
      var onClick = function(e){        
        if (expanded){
            $me.animate({height: cfg.viewHeight}, cfg.speed);  
            $trigger.attr("class", "more").text(cfg.moreText);        
            expanded = false;
        }else{
            $me.animate({height: height}, cfg.speed);  
            $trigger.attr("class", "less").text(cfg.lessText);                    
            expanded = true;        
        }
        
        e.preventDefault();
      }
      
      var initialize = function(){
        $me.css({ height: cfg.viewHeight, overflow: 'hidden'});
        $trigger.bind("click", onClick);
      }; initialize();
    };
                                                                   
    return $(this)    
})(jQuery);

