var GoalSelectAll = Behavior.create({
  onclick: function(e) {
    $$('.goal_select').each( function(goal) { goal.checked=true; } );
    this.element.fire('goals_table:toggled');
    this.element.addClassName('hidden');
    this.element.next('a').removeClassName('hidden');
    Event.stop(e);
  }
});

var GoalSelectNone = Behavior.create({
  onclick: function(e) {
    $$('.goal_select').each( function(goal) { goal.checked=false; } );
    this.element.fire('goals_table:toggled');
    this.element.addClassName('hidden');
    this.element.previous('a').removeClassName('hidden');
    Event.stop(e);
  }
});

var GoalsTableActionToggler = Behavior.create({
  initialize: function(){
    this.buttons = this.element.next('.box');
    this.toggleButtons();
    // this.observer = new Form.Observer(this.up('form'), 0.3, this.toggleButtons.bind(this));
  },
  onclick: function(){
    this.toggleButtons();
  },
  'ongoals_table:toggled': function(){
    this.toggleButtons();
  },
  toggleButtons: function(){
    if(this.buttons) {
      if(this.element.select('input[type=checkbox]').any(function(cb){ return cb.checked; }))
        this.buttons.select('button').invoke('show');
      else
        this.buttons.select('button').invoke('hide');
    }
  }
});