var img_slideshow;
window.onload = function() {
    slides = new Array();
    slides[0] = $('slider_slide1');
    slides[1] = $('slider_slide2');
    slides[2] = $('slider_slide3');
    slides[3] = $('slider_slide4');
    
    img_slideshow = new MBSlideshow();
    img_slideshow.init('slider_slides', slides, {
        speed: 5000,
        control: 'slider_control'
    });
    
    slides = new Array();
    slides[0] = $('slider_testimonial1');
    slides[1] = $('slider_testimonial2');
    slides[2] = $('slider_testimonial3');
    slides[3] = $('slider_testimonial4');
    slides[4] = $('slider_testimonial5');
    var tes_slideshow = new MBSlideshow();
    tes_slideshow.init('slider_testimonials', slides, {
        speed: 10000
    });
}

function MBSlideshow() {
    var slides;
    var timer;
    var current_slide;
    var prev_slide;
    var total;
    var speed;
    var _self;
    var control;
    
    this.init = function(parent, slide_array, options) {
        _self = this;
        if($(parent)) {
            slides = slide_array;
            total = slides.length;
            current_slide = 0;
            prev_slide = (total - 1);
            
            if(options.speed != null)
                speed = options.speed;
            else
                speed = 2000;
            
            if(options.control != null)
                control = $(options.control);
            
            for(var i=0;i<=(total - 1);i++) {
                slides[i].hide();
            }
            
            this.slideit();
        }
    }
    
    this.slideit = function() {
        slides[prev_slide].fade();
        slides[prev_slide].removeClassName('current');
        slides[current_slide].appear();
        slides[current_slide].setStyle({
            display: 'block'
        });
        slides[current_slide].addClassName('current');

        if(current_slide == (total - 1)) {
            current_slide = 0;
        }
        else {
            current_slide++;
        }
        
        if(current_slide == 0) {
            prev_slide = (total - 1);
        }
        else {
            prev_slide = current_slide - 1;
        }
        
        if(control != null) {
            var children = control.childElements();
            children[prev_slide].removeClassName('current');
            children[current_slide].addClassName('current');
        }
            
        
        timer = setTimeout(_self.slideit, speed)
    }

    this.goToSlide = function(slide_number) {
        this.stop();
        prev_slide = current_slide;
        current_slide = slide_number;
        this.slideit();
    }

    this.stop = function() {
        clearTimeout(timer);
        for(var i=0;i<=(total - 1);i++) {
            slides[i].hide();
        }
    }
}
