var $$ = $.fn;

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

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

            $('div.slide').hide();
            $('div.slideshowControl').removeClass('slideshowControlActive');

            $('div#slide-' + $(this).SplitID()).show()
            $(this).addClass('slideshowControlActive');
          }
        );

      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 = 3;
      }

      $('div#slide-' + this.Last).fadeOut(
        'slow',
        function() {
          $('div#slideshowControl-' + $$.Slideshow.Last).removeClass('slideshowControlActive');
          $('div#slideshowControl-' + $$.Slideshow.Counter).addClass('slideshowControlActive');
          $('div#slide-' + $$.Slideshow.Counter).fadeIn('slow');

          $$.Slideshow.Counter++;

          if ($$.Slideshow.Counter > 3) {
            $$.Slideshow.Counter = 1;
          }

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

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