function home_page(){
  
  /*------------------------------------------------------------------------------------
    Page prep
  ------------------------------------------------------------------------------------*/
  
  $('drawers').hide();
 
  var heros = $$('.hero');
  for(var i =0; i<heros.length; i++){
    $(heros[i]).hide();
    $($(heros[i]).getElementsByClassName('promo')[0]).hide()
  } 
  var selected_hero = heros[Math.floor(Math.random()*heros.length)]  
  var promo = $(selected_hero).getElementsByClassName('promo')[0]
  
  
  /*------------------------------------------------------------------------------------
    Page Animation
  ------------------------------------------------------------------------------------*/

  // Drawer fades
  var show_drawer = function(){ $('drawers').show(); }
  var show_drawer = new Effect.Appear('drawers', {duration:0.6, synchronous:true})
  
  function promo_in(){
    var effect = new fx.Horizontal(promo, {duration:0.5*1000, transition:fx.circ});
    effect.custom(parseInt(promo.style.left), parseInt(promo._left));
    effect.toggle();
  }
  
  // Page loading order
  var content_in = new Effect.BlindDown(selected_hero, {duration:0.4});
  var promo_in = new Effect.BlindDown(promo, {duration:0.5});

  // Timeline
  Stage.Current.Timeline = new Timeline([new Effect.Pause(0.5), content_in, promo_in, new Effect.Pause(0.15), show_drawer]);
  
  // Block in the drawer nav
  var nav_items = $('drawers_nav').getElementsByTagName('li');
  var delay = 0;
  for(var i=0; i<nav_items.length; i++){
    var item = nav_items[i];
    $(item).hide();
    Stage.Current.Timeline.push(new Effect.Appear(item, {duration:0.1, synchronous:true, delay:delay}));
    delay += 0.17;
  }

  // Preload images
  /*
  Preloader.onFinish(function(){ Stage.Current.Timeline.start() });
  Preloader.load();
  */
  Stage.Current.Timeline.start()
  
  /*------------------------------------------------------------------------------------
    Page Widgets
  ------------------------------------------------------------------------------------*/

  // Setup drawer functionality
  Stage.Current.Drawer = new Drawer('drawers', {nav: 'drawers_nav', container: 'drawers_container'});

  // Minimize drawers
  function minimize_drawers(){
    var hide_drawer = function(){
      if (!Stage.Current.Drawer.container.visible()) return;
        Stage.Current.Drawer.hide_drawer();
        Stage.Current.Drawer.container.hide();
        Stage.Current.Drawer.currentActive = null;
    }
    
    var drawer_out = new Effect.BlindUp('drawers', {duration:0.3, synchronous:true, beforeFinish: hide_drawer});
    var drawer_fade  = new Effect.Fade('drawers', {duration:0.5})
    var minimize = new Timeline([drawer_out]);
    minimize.start();
    $('maximize_drawers').show();
  }
  $('drawers').getElementsByClassName('minimize')[0].observe('click', minimize_drawers);
 
  // Maximize drawers
  function maximize_drawers(){
    var drawer_in = new Effect.BlindDown('drawers', {duration:0.3, synchronous:true});
    var drawer_fade  = new Effect.Appear('drawers', {duration:0.5})
    var maximize = new Timeline([drawer_in]);
    $('maximize_drawers').hide();
    maximize.start();
  }
  $('maximize_drawers').observe('click', maximize_drawers);
 
  
  /*------------------------------------------------------------------------------------
    Misc
  ------------------------------------------------------------------------------------*/
 
  // Hover classes for IE
  $$('.drawer li').each(function(element){
   element.onmouseover = function(){ $(this).addClassName('hover')}
   element.onmouseout = function(){ $(this).removeClassName('hover')}
  });
}
Event.onDOMReady(home_page)