﻿jQuery.fn.slideShow = function(slideSelector) {
    settings = { slideSelector: slideSelector};

    return this.each(function() {
        // alle Slides holen
        var slides = jQuery(settings.slideSelector);

        // aktuelle Index
        var currentIndex = 0;

        // Slides alle einmal zeitgesteuert anzeigen
        $(document).everyTime(10000, "slideShow", function(step) {
            if (step > 0) {
                $(slides[step - 1]).fadeOut(1000, function() {
                    $(slides[step]).fadeIn();
                    currentIndex = step;
                });
            }
        }, slides.length - 1);

        // Links in Slides mit Click-Handler versehen
        slides.each(function(index) {
            // Links auf einzelne Slides erzeugen 
            if (slides.length > 1) {
                var linkHtml = "";
                for (var i = 0; i < slides.length; i++) {
                    if (i == index) {
                        linkHtml += "<strong>" + (i+1) + "</strong>";
                    } else {
                    linkHtml += "<a class='odmLinks' title='Seite wählen' href='#'>" + (i + 1) + "</a>";
                    }

                    linkHtml += "&nbsp;";
                }

                $(".linkplaceholder", this).html(linkHtml);
            }
            $(".odmLinks", this).click(function() {
                // Animation stoppen
                $(document).stopTime("slideShow");
                // Welcher Slide soll angezeigt werden (Text aus Link)
                var slideIndexToShow = parseInt($(this).text()) - 1;
                // aktuellen Slide ausblenden
                $(slides[currentIndex]).hide();
                // gewuenschten Slide einblenden
                $(slides[slideIndexToShow]).show();
                // aktuellen Slide merken
                currentIndex = slideIndexToShow;
                // Standardaktion des Links verhindern
                return false;
            });
        });
    });
}
