window.addEvent('domready', function() {
  // Global actions
  $each(['alluptodate'], function(action) {
    $$('[name=action-thread-' + action + ']').each(function(el) {
      el.addEvent('click', function(event) {
        event.stop();

        var mid = $('action-form-mid');
        if (mid)
          mid.set('value', '');
        $('action-form-tid').set('value', '');
        $('action-form-action').set('value',  action);
        /* FIXME: Setup throbber so the user knows something is happening? */
        $('action-form').send();
      });
    });
  });

  // Thread actions
  $each(['sticky', 'unsticky', 'delete', 'undelete', 'track', 'untrack', 'uptodate'], function(action) {
    $$('[name=action-thread-' + action + ']').each(function(el) {
      el.addEvent('click', function(event) {
        event.stop();

        var mid = $('action-form-mid');
        if (mid)
          mid.set('value', '');
        $('action-form-tid').set('value', el.get('data-tid'));
        $('action-form-action').set('value',  action);
        /* FIXME: Setup throbber so the user knows something is happening? */
        $('action-form').send();
      });
    });
  });

  // Message actions
  $each(['blog', 'delete', 'undelete'], function(action) {
    $$('[name=action-message-' + action + ']').each(function(el) {
      el.addEvent('click', function(event) {
        event.stop();

        $('action-form-mid').set('value', el.get('data-mid'));
        $('action-form-tid').set('value', '');
        $('action-form-action').set('value',  action);
        /* FIXME: Setup throbber so the user knows something is happening? */
        $('action-form').send();
      });
    });
  });

  var form = $('action-form');
  if (form) {
    form.set('send', {
      onComplete: function(resp) {
        resp = JSON.decode(resp);
        if (resp && resp.result == 'success')
          window.location.reload(true);
        else
          console.log('resp: %o', resp);
      }
    });
  }
});

