/**
 * Slider javascrip
 */
var infobarSlider = new InfobarSlider({
    mainDiv:    '#infoBarRotator',
    autoSlide:  5
});

$(document).ready(function() {
    if(infobarSlider.init()) {
		infobarSlider.setCurrentSlide(0);
		setTimeout('infobarSlider.startAutoScroll()', (infobarSlider.config.autoSlide*1000));
	}
});

function InfobarSlider(config) {
    var self = this;

    self.construct = function(config) {
        self.config = config;
	}

    self.init = function(config) {
        self.initScreenList();
		if (self.screens.length > 0) {
			return true;
		} else {
			return false;
		}
	}

    self.startAutoScroll = function() {
        self.stopAutoScroll();
        self.autoScrollInterval = setInterval('infobarSlider.showNextSlide()', (infobarSlider.config.autoSlide*1000));
    }

    self.stopAutoScroll = function() {
        if(self.autoScrollInterval) {
            clearTimeout(self.autoScrollInterval);
        }
    }

    self.initScreenList = function() {
        self.screens = $(''+self.config.mainDiv+'').children(".slideScreen");
    }

    self.getSliderCount = function() {
       return $(''+self.config.mainDiv+'').find('.slideScreen').length-1;
    }

    self.getCurrentSlide = function() {
        return self.currentSlide;
    }

    self.setCurrentSlide = function(slideNumber) {
        if(slideNumber != self.currentSlide) {
            self.currentSlide = self.showSlide(slideNumber);
        }
        self.startAutoScroll();
    }

    self.showSlide = function(slideNumber) {
        if(slideNumber > self.getSliderCount()) {
           slideNumber = 0
        } else if(slideNumber < 0) {
            slideNumber = self.getSliderCount();
        }


        $(self.screens).fadeOut('fast');
        $(self.screens[slideNumber]).fadeIn();

        return slideNumber;
    }

    self.showNextSlide = function () {
        self.setCurrentSlide(self.getCurrentSlide()+1);
    }

    self.showPrevSlide = function () {
        self.setCurrentSlide(self.getCurrentSlide()-1);
    }

    self.construct(config);
}