﻿///<reference path="/_js/jQuery/1.4.1/jquery-1.4.1-vsdoc.js"/>

(function ($) {

    $.fn.DidYouKnowSidebarSlider = function (options) {

        //defaults are last
        var settings = $.extend({}, $.fn.DidYouKnowSidebarSlider.defaults, options);

        //perform these actions on each element
        return this.each(function () {

            var vars = {
                currentPosition: 0,
                slides: 0,
                running: false,
                paused: false
            };

            var self = $(this); //get itself
            self.data('DidYouKnowSidebarSlider:vars', vars);

            //how many slides do we have?
            vars.slides = $("div.slides div.slide", self).size() - 1;

            //before we start, set the first slide to have a display of block
            $("div.slides div.slide:eq(0)", self).css("display", "block");
            //$("div.DidYouKnowSbsNav div.dots div.sliderNavDot:eq(0)", self).addClass("active");

            //start it up!
            var timer = 0;
            timer = setInterval(function () { sliderRun(self); }, settings.duration);

            //for the hover pausing
            $("div.slides, div.left, div.right, div.dots", self).hover(function () {
                //while over
                vars.paused = true;
                clearInterval(timer);
                timer = '';
            }, function () {
                //when gone
                vars.paused = false;
                timer = setInterval(function () { sliderRun(self); }, settings.duration);
            });

            //take care of the navigation buttons
            $("div.DidYouKnowSbsNav div.left", self).click(function () {
                var next = vars.currentPosition - 1;
                if (next < 0) {
                    next = vars.slides;
                }
                jumpTo(self, next);
            });

            $("div.DidYouKnowSbsNav div.right", self).click(function () {
                var next = vars.currentPosition + 1;
                if (next > vars.slides) {
                    next = 0;
                }
                jumpTo(self, next);
            });

            //take care of the navigation buttons
            //$("div.DidYouKnowSbsNav div.dots div.sliderNavDot", self).click(function () {
                //get the index
            //    var index = $(this).index();

                //animate our header
            //    jumpTo(self, index);
            //});
        });

        function sliderRun(self) {
            //Get our vars
            var vars = self.data('DidYouKnowSidebarSlider:vars');
            if (!vars) return false;

            //figure out how many there are, yadda yadda
            var next = vars.currentPosition + 1;

            if (next > vars.slides) {
                next = 0;
            }

            //animate our header
            animateself(self, vars.currentPosition, next);
            //moveActiveThumbnail(self, vars.currentPosition, next);

            vars.currentPosition = next;
        }

        function jumpTo(self, pos) {
            //Get our vars
            var vars = self.data('DidYouKnowSidebarSlider:vars');
            if (!vars) return false;

            animateself(self, vars.currentPosition, pos);
            //moveActiveThumbnail(self, vars.currentPosition, pos);

            vars.currentPosition = pos;
        }

        //function moveActiveThumbnail(self, currentPos, next) {
        //    $("div.DidYouKnowSbsNav div.dots div.sliderNavDot:eq(" + currentPos + ")", self).removeClass("active");
        //    $("div.DidYouKnowSbsNav div.dots div.sliderNavDot:eq(" + next + ")", self).addClass("active");
        //}

        function animateself(self, oldPos, newPos) {
            var currentSlide = $("div.slides div.slide:eq(" + oldPos + ")", self);
            var nextSlide = $("div.slides div.slide:eq(" + newPos + ")", self);

            var nextImg = $("div.image", nextSlide).css("background-image");

            self.css("background-image", nextImg);

            currentSlide.fadeOut("slow");
            nextSlide.fadeIn("slow");
        }
    };

    $.fn.DidYouKnowSidebarSlider.defaults = {
        duration: 5000
    };
})(jQuery);
