(function($) {
    $.fn.mageintern = function(options) {
        var defaults = {
            miboxWidth: 713,
            autoplay: true,
            nextslidetime: 5000,
            showSlideNoDiv: true,
            showPause: true
        };
        var options = $.extend(defaults, options);
        return this.each(function() {
            var slideshow = $(this);
            var mio = options;
            var aktPosition = 0;
            var slides = $('.mi-slidebox');
            var slidesno = slides.length;
            var t;

            $('#mi-slidesContainer').css('overflow', 'hidden');
            $('.mi-slidebox').mouseover(function() {
                   setNextTimeOutHover();
                   $('.stopinfo').css('visibility', 'visible');
                    });
            $('.mi-slidebox').mouseout(function() {
            nexttimeoutClear();
            $('.stopinfo').css('visibility', 'hidden');
            if (slidesno >=2) {
            init();
            }
            });
            slides.wrapAll('<div id="slideInner"></div>')
            .css({'float': 'left', 'width': mio.miboxWidth
            });

           $('.mi-slidebox:first').clone().appendTo('#slideInner');
           $('#slideInner').css('width', mio.miboxWidth * (slidesno + 1));



        if (mio.showSlideNoDiv == true) {
               if (mio.showPause == true && mio.autoplay == true) {
                slideshow.append('<div id="slideNrBox"><span class="stopinfo">pause</span></div>');}
            else {
                slideshow.append('<div id="slideNrBox"><span class="stopinfo">&nbsp;</span></div>');}

                if (slidesno >=2) {
                for (var i = 1; i <= slidesno; i++) {
                    $('#slideNrBox').append('<span id="slide-' + i + '" class="slidenr">' + i + '</span>');
                }
                $('.slidenr').click(function() { goto(($(this).attr('id')).replace('slide-', '') - 1, false); return false; });
            }
             }

            if (slidesno >=2) {
            init();
            }

            function init() {
                showSlideNo(aktPosition);
                if (mio.autoplay == true) setNextTimeOut(mio.nextslidetime);
                }
            function nextslide() {
                aktPosition++;
                $('.stopinfo').css('visibility', 'hidden');
                if (aktPosition >= slidesno) aktPosition = 0;
                slideTo(aktPosition, true);
                }
            function prevslide() {
                aktPosition--;
                if (aktPosition < 0) aktPosition = slidesno - 1;
                slideTo(aktPosition, false);
            }
            function goto(position) {
                aktPosition = position;
                slideTo(aktPosition, false);
            }
           function setNextTimeOut() {
                t = setTimeout(function() { nextslide(); }, mio.nextslidetime);
            }
           function setNextTimeOutHover() {
                $('#slideInner').stop();
                nexttimeoutClear();
            }
           function nexttimeoutClear()
            {
                clearTimeout(t);
            }
           function slideTo(position, continuously) {
               $('#slideInner').stop();
                nexttimeoutClear();

               if (position != 0) {
                    $('#slideInner').animate({ 'marginLeft': mio.miboxWidth * (-position) }, '', '',
                        function() {
                            showSlideNo(position);
                            if (mio.autoplay == true) setNextTimeOut();
                        }
                    )
                }
                 else {
                    $('#slideInner').animate({ 'marginLeft': mio.miboxWidth * (-slidesno) }, '', '',
                        function() {
                            $('#slideInner').css('marginLeft', 0);
                            showSlideNo(position)
                            setNextTimeOut();
                        }
                    )
                }
            }
            function showSlideNo(position) {
               if (mio.showSlideNoDiv == true) {
                 $('.slidenr').removeClass("active-slider");
                 $('#slide-' + (position + 1)).addClass("active-slider");
                }
             }

if (mio.showPause == true && mio.showSlideNoDiv == false && mio.autoplay == true) {
                slideshow.append('<div id="slideNrBoxsolo"><span class="stopinfo">pause</span></div>');}

if (slidesno ==0) {
    $('#mi-slideshow').css('visibility', 'hidden');
    $('#mi-slideshow').css('width', '0px');
    $('#mi-slideshow').css('height', '0px');
}
  });
    };
})(jQuery);