/*
 *
 * Slider 
 * author: 
 * version: 04/01/2010
 *
 */
(function($) {
    $.fn.Slider = function(options) {
        var settings = {
            width: 500,
            height: 200,
            timeout: 3000,
            overlay: 1000,
            effect: 'fadeOut'
        };

        //extending options
        options = options || {};
        $.extend(settings, options);

        return this.each(function() {
            var timer;
            var index = 0;
            var aCount = 0;
            var done = true;
            var a = $(this);
            var aImg = a.find('ul');
            var aNum = a.find('dl');
            var aCount = $("li", aImg).length;
            if (aCount > 1) {
                a.css({ width: settings.width, height: settings.height });
                aImg.find('img').css({ width: settings.width, height: settings.height });

                sliderStart($('ul li', this[0])[0]);

                function sliderPlay(ix) {
                    if (ix >= 0) index = ix;
                    else index++;

                    if (index > aCount - 1) index = 0;

                    sliderStop();
                    done = false;
                    var imgList = $(a).find('ul');
                    var imgNum = $(a).find('dl');
                    var old = $('>.selected', imgList);
                    if (old.length > 0) {
                        old.css('z-index', 10);
                        $('>:eq(' + index + ')', imgList).addClass('selected').show();

                        eval("old." + settings.effect + "(settings.overlay,function() {$(this).css('z-index',1).removeClass('selected');done=true;sliderStart();});");

                        //					imgNum.find('dd.selected').removeClass('selected');
                        //					$('>:eq('+index+')',imgNum).addClass('selected');
                    }
                }

                function sliderStop() {
                    clearTimeout(timer);
                }

                function sliderStart() {
                    timer = setTimeout(function() { sliderPlay(-1) }, settings.timeout);
                }

                $(aImg).mouseover(function() {
                    clearTimeout(timer);
                });
                $(aImg).mouseout(function() {
                    timer = setTimeout(function() { sliderPlay(-1) }, settings.timeout);
                });
            }


        });
    };
})(jQuery);
