function fade_in(who) {
  Effect.Queues.get('q_' + who).each(function(e) { e.cancel() });
  new Effect.Appear(who + '_stencil',
    { queue: { scope: 'q_' + who, position: 'end' },
      duration: 0.4 });
  new Effect.Appear(who + '_text_box',
    { queue: { scope: 'q_' + who, position: 'end' },
      duration: 0.3,
      to: 0.95 });
}
            
function fade_out(who) {
  Effect.Queues.get('q_' + who).each(function(e) { e.cancel() });
  new Effect.Fade(who + '_text_box',
    { queue: { scope: 'q_' + who, position: 'end' },
      duration: 0.2 });
  new Effect.Fade(who + '_stencil', 
    { queue: { scope: 'q_' + who, position: 'end' },
      duration: 0.3 });
}

