var slideshow = new function() {
	this.slides = new Array();
	this.started = false;
	this.image_delay = 0;
	this.transition_time = 0;
	this.container_selector = "";	
	
	this.index = 0;
	this.timer = 0;
	
	this.container = null;

	this.setup = function(slides, image_delay, transition_time, container_selector) {
		if (!this.started) {
			this.started = true;
			this.slides = slides;
			this.image_delay = image_delay;
			this.transition_time = transition_time;
			this.container = jQuery(container_selector);
	
			this.setupHTML();
			this.start();
		}
	}
	
	this.change = function() {	
		var next_id = this.index + 1;
		if (next_id >= this.slides.length)
			next_id = 0;
			
		var current_slide = this.container.children('div.slide-' + this.index);
		var next_slide = this.container.children('div.slide-' + next_id);
		
		current_slide.css('z-index',10);
		next_slide.css({'z-index':9, 'opacity':1,'display':'block'});
		
		current_slide.fadeTo(this.transition_time, 0);
		
		this.index = next_id;
	}
		
	this.start = function() {
		this.timer = setInterval("slideshow.tick()", this.image_delay);
	}
	
	this.setupHTML = function() {
		for(var i=0; i<this.slides.length; i++) {
			var slide = '<div class="slide slide-' + i + '">' + unescape(this.slides[i]) + '</div>';
			this.container.append(slide);
		}		
		this.container.children('div.slide-0').show();
	}
	
	this.tick = function() {
		this.change();
	}
}
