var jqnoflict = jQuery.noConflict();

var slideShowObj = jqnoflict.fn;
var totalBannerSlide = 0;

slideShowObj.extend({
    SplitID: function() {
        return this.attr('id').split('-').pop();
    },

    Slideshow: {
        Ready: function() {
            if (jqnoflict('div.tmpSlideshowControl')) {
                jqnoflict('div.tmpSlideshowControl')
                .hover(
                  function() {
                      jqnoflict(this).addClass('tmpSlideshowControlOn');
                  },
                  function() {
                      jqnoflict(this).removeClass('tmpSlideshowControlOn');
                  }
                )
                .click(
                  function() {
                      slideShowObj.Slideshow.Interrupted = true;

                      jqnoflict('div.tmpSlide').hide();
                      jqnoflict('div.tmpSlideshowControl').removeClass('tmpSlideshowControlActive');

                      jqnoflict('div#tmpSlide-' + jqnoflict(this).SplitID()).show()
                      jqnoflict(this).addClass('tmpSlideshowControlActive');
                  }
                );
            }

            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 = totalBannerSlide;
            }

            jqnoflict('div#tmpSlide-' + this.Last).fadeOut( 'slow',
                function() {
                    if (jqnoflict('div.tmpSlideshowControl')) {
                        jqnoflict('div#tmpSlideshowControl-' + slideShowObj.Slideshow.Last).removeClass('tmpSlideshowControlActive');
                        jqnoflict('div#tmpSlideshowControl-' + slideShowObj.Slideshow.Counter).addClass('tmpSlideshowControlActive');
                    }
                    jqnoflict('div#tmpSlide-' + slideShowObj.Slideshow.Counter).fadeIn('slow');

                    slideShowObj.Slideshow.Counter++;

                    if (slideShowObj.Slideshow.Counter > totalBannerSlide) {
                        slideShowObj.Slideshow.Counter = 1;
                    }

                    setTimeout('slideShowObj.Slideshow.Transition();', 5000);
                }
            );
        }
    }
});

jqnoflict(document).ready(
  function() {
      try {
          slideShowObj.Slideshow.Ready();
      } catch (ex) { alert(ex.message); }
  }
);
