function pageTransition(trigger, target){
  $$(target).invoke('hide');
  $$(trigger).invoke('observe', 'click', fadeAndFollowLink.bindAsEventListener(this, target));
}
  
function fadeAndFollowLink(event, target) {
  var element = event.element();
  // images within a link seem to take precedence
  var link = (element.match('img')) ? element.up('a') : element;
  $$(target).invoke('fade', {duration: 0.5});
  window.setTimeout(function() { window.location = link; }, 500);
  event.stop();
}

function fadeOnLoad(target) {
  Event.observe(window, 'load', function(){
    $$(target).invoke('appear', {duration: 0.5});
  });
}

// solves onload events not firing on use of back or forward buttons
window.onunload = function(){};