YAHOO.namespace('widget.slideshow');

//Seconds Timeout
YAHOO.widget.slideshow = {
    timeOut: 5,

    //Current Slide
    currentSlide: 0,

    //zindex
    currentZindex: 900,

    //Timer Holder
    timer: null,

    //Effect Attrs
    fadeIn: { opacity: { from: 0, to: 1 } },
    fadeOut: { opacity: { from: 1, to: 0 } },

    loadNextSlide : function() {
        var nextSlide = (YAHOO.widget.slideshow.currentSlide + 1);
        if (!YAHOO.widget.slideshow.slides[nextSlide]) {
            nextSlide = 0;
        }
        YAHOO.widget.slideshow.loadSlide(YAHOO.widget.slideshow.currentSlide, nextSlide);
        YAHOO.widget.slideshow.currentSlide = nextSlide;
    },

    loadSlide: function(previousId, nextId) {
        var Dom = YAHOO.util.Dom;
        var animate = function(slide, poperties){
            new YAHOO.util.Anim(slide, poperties, 1, YAHOO.util.Easing.easeOut).animate();
        };

        if (YAHOO.widget.slideshow.slides[nextId]) {
            var nextSlide = Dom.get('slideshow_' + nextId);
            var previousSlide = Dom.get('slideshow_' + previousId);
            animate(nextSlide, YAHOO.widget.slideshow.fadeIn);
            if(nextSlide != previousSlide){
                animate(previousSlide, YAHOO.widget.slideshow.fadeOut);
            }
            Dom.setStyle(nextSlide, 'z-index', YAHOO.widget.slideshow.currentZindex);
            YAHOO.widget.slideshow.currentZindex++;
            YAHOO.widget.slideshow.timer = setTimeout('YAHOO.widget.slideshow.loadNextSlide()', (YAHOO.widget.slideshow.timeOut * 1000));
        }
    },
    
    slides: [],

    init: function(slideID) {
        var yws = YAHOO.widget.slideshow;
        var Dom = YAHOO.util.Dom;
        //Array of Images
        var cslides = Dom.getElementsByClassName("yui-slide-item", "DIV", Dom.get('yui-slide-show'));
        if (cslides.length == 1){ 
            Dom.setStyle(cslides[0], 'opacity', 1); 
        }else if(cslides.length > 1){
            for(var i = 0; i < cslides.length; i++){ yws.slides.push(cslides[i]); }
            yws.loadSlide(0, 0);
        }
    }
}

YAHOO.util.Event.addListener(window, 'load', YAHOO.widget.slideshow.init, YAHOO.widget.slideshow, true);


