var $$ = $.fn;

$$.extend({
  SplitID : function()
  {
    return this.attr('id').split('-').pop();
  },

  Slideshow : {
    Ready : function()
    {
      $('div.homeSlideshowControl')
        .hover(
          function() {
            $(this).addClass('homeSlideshowControlOn');
          },
          function() {
            $(this).removeClass('homeSlideshowControlOn');
          }
        )
        .click(
          function() {
            $$.Slideshow.Interrupted = true;

            $('div.homeSlide').hide();
            $('div.homeSlideshowControl').removeClass('homeSlideshowControlActive');

            $('div#homeSlide-' + $(this).SplitID()).fadeIn('slow')
            $(this).addClass('homeSlideshowControlActive');
          }
        );

      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.homeSlide').length;
      }

      $('div#homeSlide-' + this.Last).fadeOut(
        'slow',
        function() {
          $('div#homeSlideshowControl-' + $$.Slideshow.Last).removeClass('homeSlideshowControlActive');
          $('div#homeSlideshowControl-' + $$.Slideshow.Counter).addClass('homeSlideshowControlActive');
          $('div#homeSlide-' + $$.Slideshow.Counter).fadeIn('slow');

          $$.Slideshow.Counter++;

          if ($$.Slideshow.Counter > $('div.homeSlide').length) {
            $$.Slideshow.Counter = 1;
          }

          setTimeout('$$.Slideshow.Transition();', 6000);
        }
      );
    }
  }
});

$(document).ready(
  function() {
    $$.Slideshow.Ready();
  }
);
