(function() {

  // Create the rotator object, selfexplaining
  var rotator = new Rotator($('#slider-container>.slider>div'), 5000);

  
  var label = (function() {
    var slider = $('#slider-container>.slider');
    
    var origTop = slider.find('.label:first').css('top');
    
    return {
      show: function() {
        var label = rotator.$current.find('.label');
        
        label.stop().animate({
          top: slider.height() - label.outerHeight()
        }, 100);
      },
      
      hide: function() {
        rotator.$current.find('.label').stop().animate({
          top: origTop
        }, 100);
      },
      
      reset: function() {
        slider.find('.label').css('top',origTop);
      }
    };
  })();

  $('#slider-container>div.slider').hover(function hoverIn(e) {
    label.show();
  }, function hoverOut() {
    label.hide();
  });
  
  rotator.bind('beforeChange', function() {
    label.reset();
  });

  $('.arrow-prev').click(function(e) {
    rotator.forceChange(rotator.prevEl());

    e.preventDefault();
  });

  $('.arrow-next').click(function(e) {
    rotator.forceChange(rotator.nextEl());

    e.preventDefault();
  });

  // Start the rotate cycle
  rotator.start();

})();

