var photos = new Class({
  Implements: [Events, Options],  
    options: {
      containerHeight: 320,
      containerWidth: 320
    },
    initialize: function(container){
      var params = Array.link(arguments, {'options': Object.type, 'element': $defined});
      this.setOptions(params.options || { });
      this.container = $$(container);
      this.buttons = this.container.getChildren(".photo-gall")[0].getChildren(".page")[0];
      this.oday = this.container.getChildren(".photo-gall")[0].getChildren(".page-image")[0][0];
      this.list = this.container.getChildren(".container")[0].getFirst();
      this.list.setStyle("top", 0);
      
      this.initButtons();
    },
    initButtons: function(){
      this.buttons.each(function(item, index){
        item.addEvent("click", function(e){
          if(!item.hasClass("selected")){
            this.buttons.each(function(t, i){
              if(t.hasClass("selected")) t.toggleClass("selected");
              if(i == index){
                t.toggleClass("selected");
                this.list.tween("top", -184*index);
              };
            }.bind(this));
            if(this.oday.hasClass("sele")) this.oday.toggleClass("sele");
          };
          e.stop();
        }.bind(this));
      }.bind(this));
      this.oday.addEvent("click", function(e){
        if(!this.oday.hasClass("sele")){
           this.buttons.each(function(t, i){
            if(t.hasClass("selected")) t.toggleClass("selected");
          });
          this.oday.toggleClass("sele");
          this.list.tween("top", -184*6);
        };
        e.stop();
      }.bind(this));
    }
});