var ie6 = $.browser.msie && $.browser.version=="6.0";
/*--------------------------------------------------------------------------*/

var SlideShow = function (container, slides, delay, initial) {
    this.container = $(container);
    this.slides = $(slides);
	
    this.delay = delay;
    this.current = initial;
    //this.togglers = this.container.find('.togglers li');
	//this.prevBtn = this.container.find('.prev:first');
	//this.nextBtn = this.container.find('.next:first');
    this.setup();
};
SlideShow.prototype = {
    setup: function () {
		var self = this;
		this.toggleList = $('<ul />').addClass('togglers');
		this.slides.each(function (idx) {
			var btn = $('<li />').text(idx + 1);
			self.toggleList.append(btn); 
		});
		//this.container.append(this.toggleList);
		//this.togglers = this.container.find('.togglers li');
		//$(this.togglers[this.current]).addClass('active');
        /*
        this.togglers.click(function () {
            self.pause();
            self.goTo($(this).index());
        });
		*/
		var toggles = $('<div />').addClass('toggles');
		var prevBtn = $('<div />').addClass('toggle prev').text('Previous');
		var nextBtn = $('<div />').addClass('toggle next').text('Next');
		toggles.append(prevBtn);
		toggles.append(nextBtn);
		this.container.append(toggles);
        
        this.showOnly($(this.slides[this.current]));

		this.container.find('.prev').click(function () { self.back(); });
		
		this.container.find('.next').click(function () { self.next(); });
		
		this.start();
    },
    showOnly: function (el) {
        this.slides.hide();
        el.show();
    },
    goTo: function (idx) {
        var self = this;
		
        if (idx === this.current) {	return; }
		
        //$(this.togglers[this.current]).removeClass('active');
        $(this.slides[this.current]).fadeOut('slow');
        this.current = idx;
		
        //$(this.togglers[this.current]).addClass('active');
        $(this.slides[this.current]).fadeIn('slow');
		
        this.start();
    },
    start: function () {
		var self = this;
        if (this.timer) { return; }
        var self = this;
        this.timer = setTimeout(function(){
            self.next();
        }, this.delay * 1000);
    },
    pause: function () {
        if (this.timer) {
            clearTimeout(this.timer);
            this.timer = false;
        }
        else { return; }
    },
	back: function () {
		this.pause();
		if (this.current == 0) { this.goTo(this.slides.length - 1); }
		else { this.goTo(this.current - 1); }
	},
	next: function () {
		this.pause();
		this.timer = false;
		if (this.current === this.slides.length - 1) { this.goTo(0);}
		else { this.goTo(this.current + 1); }
		this.start();
	}
};

/*--------------------------------------------------------------------------*/

$(document).ready(function () {
	if ($('.slideshow').length) {
		new SlideShow($('.slideshow'), $('.slideshow img'), 5, 0);
	}
});
