var tabs2 = new Class({
  Implements: [Events, Options],  
    options: {
      containerHeight: 242,
      containerWidth: 320
    },
    initialize: function(container){
      var params = Array.link(arguments, {'options': Object.type, 'element': $defined});
      this.setOptions(params.options || { });
      this.container = $(container);
      this.items = this.container.getChildren();
      this.tabs = this.items[0].getChildren();
      this.navBar = this.items[2];
      this.content = this.items[1];
      this.height = this.content.get('atr');
      
      this.initTabs();
    },
    initTabs: function(){
      this.content.getChildren()[0].setStyles({'left': 0, 'top': 0});
      this.tabs.each(function(item, index){
        item.addEvent('click', function(e){
          if(!item.hasClass("selected")){
            this.content.getChildren()[0].tween('left', -index*this.options.containerWidth);
            this.initFilters(index,0);
            this.tabs.each(function(item){
              if(item.hasClass('selected')){
                item.toggleClass('selected');
                item.toggleClass('color');
              }
            });
            item.toggleClass('selected');
            item.toggleClass('color');
            $$('#'+this.container.id+' .more-info a')[0].href = item.href;
          }
          e.stop();
        }.bind(this));
      },this);
      this.initFilters(0,0);
    },
    initBlock: function(id,pos){
      var buttons = new Array();
      var heights = new Array();
      var top = 0;
      this.content.getChildren()[0].getChildren()[id].getChildren().each(function(item, index){
        buttons.push(item);
        heights.push(item.getChildren()[1].getScrollSize().y+10);
        if(index<pos){
          top+=item.getChildren()[1].getScrollSize().y+10;
        }
      });
      this.content.setStyle('height', heights[pos]);
      this.content.getChildren()[0].getChildren()[id].tween('top', -top);
      return buttons;
    },
    initFilters: function(id,pos){
      var buttons =  this.initBlock(id,pos);
      this.navBar.empty();
      buttons.each(function(item, index){
        var elem = new Element('a', {'text': item.getChildren('.hidden').get('text'), 'class': 'color', 'href': '#'});
        elem.inject(this.navBar);
      }.bind(this));
      this.navBar.getFirst().toggleClass('color');
      this.navBar.getFirst().toggleClass('selected');
      this.navBar.getLast().addClass('last');
      this.initFilterButtons(id);
    },
    initFilterButtons: function(id){
      this.navBar.getChildren().each(function(items,index){
        items.addEvent('click', function(e){
          if(items.hasClass('color')){
            this.initBlock(id, index);
            this.addColor();
            items.toggleClass('color');
            items.toggleClass('selected');
          };
          e.stop();
        }.bind(this));
      }.bind(this));
    },
    addColor: function(){
      this.navBar.getChildren().each(function(item){
        item.addClass('color');
        if(item.hasClass("selected")) item.toggleClass("selected");
      });
    }
});