var $$ = $.fn;

$$.extend({
  SplitID : function()
  {
    return this.attr('id').split('-').pop();
  },

  Slideshow : {
    Ready : function()
    {
      $('div.home-slide-show-control')
        .hover(
          function() {
            $(this).addClass('home-slide-show-control-on');
          },
          function() {
            $(this).removeClass('home-slide-show-control-on');
          }
        )
        .click(
          function() {
            $$.Slideshow.Interrupted = true;

            $('div.home-slide').hide();
            $('div.home-slide-show-control').removeClass('home-slide-show-control-active');

            $('div#home-slide-' + $(this).SplitID()).fadeIn('slow')
            $(this).addClass('home-slide-show-control-active');
          }
        );

      this.Counter = 1;
      this.Interrupted = false;

      this.Transition();
    },

    Transition : function()
    {
      if (this.Interrupted) {
        return;
      }

      this.Last = this.Counter - 1;

      if (this.Last < 1) {
        this.Last = $('div.home-slide').length;
      }

      $('div#home-slide-' + this.Last).fadeOut(
        'slow',
        function() {
          $('div#home-slide-show-control-' + $$.Slideshow.Last).removeClass('home-slide-show-control-active');
          $('div#home-slide-show-control-' + $$.Slideshow.Counter).addClass('home-slide-show-control-active');
          $('div#home-slide-' + $$.Slideshow.Counter).fadeIn('slow');

          $$.Slideshow.Counter++;

          if ($$.Slideshow.Counter > $('div.home-slide').length) {
            $$.Slideshow.Counter = 1;
          }

          setTimeout('$$.Slideshow.Transition();', 8000);
        }
      );
    }
  }
});

$(document).ready(
  function() {
    $$.Slideshow.Ready();
  }
);
