/**
 * Slider javascrip
 */
var hotnewsSlider = new HotnewsSlider({
    mainDiv:    '#hotnewsSlider',
	controlDiv: '#hotnewsControl',
    autoSlide:  5
});

$(document).ready(function() {
	hotnewsSlider.init();
    hotnewsSlider.setCurrentSlide(0);
    setTimeout('hotnewsSlider.startAutoScroll()', (hotnewsSlider.config.autoSlide*1000));
});

function HotnewsSlider(config) {
    var self = this;

    self.construct = function(config) {
		self.config = config;
	}

	self.init = function(config) {
        self.initScreenList();
        self.initControls();
	}

    self.startAutoScroll = function() {
        self.stopAutoScroll();
        self.autoScrollInterval = setInterval('hotnewsSlider.showNextSlide()', (hotnewsSlider.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.setControls();
        }
        self.startAutoScroll();
    }

    self.showSlide = function(slideNumber) {
        if(slideNumber > self.getSliderCount()) {
           slideNumber = 0
        } else if(slideNumber < 0) {
            slideNumber = self.getSliderCount();
        }
		$(''+self.config.controlDiv+'').find('.counter').html((slideNumber+1) + "/" + (self.getSliderCount()+1));

        $(self.screens).fadeOut('fast');
        $(self.screens[slideNumber]).fadeIn();

        return slideNumber;
    }

    self.setControls = function() {
        controls = $(''+self.config.controlDiv+'').find('a');
        $(controls).removeClass('selected');
        $(controls[self.getCurrentSlide()]).addClass('selected');
    }

    self.showNextSlide = function () {
        self.setCurrentSlide(self.getCurrentSlide()+1);
    }

    self.showPrevSlide = function () {
        self.setCurrentSlide(self.getCurrentSlide()-1);
    }

    self.initControls = function() {
        $(''+self.config.mainDiv+'').hover(
            function() { self.stopAutoScroll(); },
            function() { self.startAutoScroll(); }
        );

        $('#hotnews-next').bind('click', function() {
            self.showNextSlide();
            return false;
        });

        $('#hotnews-prev').bind('click', function() {
            self.showPrevSlide();
            return false;
        });
    }
    self.construct(config);
}
