/*
<a id="ssLink" href="#red" title="Red"><img id="ssImage" src="banner_01.jpg" alt="red" border="0"/></a>
<script type="text/javascript" src="slideshow.js"></script>
<script type="text/javascript">
var slideshow = new SlideShow();
slideshow.addSlide('r.gif', 'red', 'http://localhost/red');
slideshow.addSlide('b.gif', 'blue', 'http://localhost/blue');
slideshow.addSlide('g.gif', 'green', 'http://localhost/green');
slideshow.linkId='ssLink';
slideshow.imageId='ssImage';
slideshow.speed=10;
slideshow.duration=1.5;
slideshow.start('slideshow');
</script>
*/

function SlideShow() {
	var name;
	var slides = new Array();
	var imageId;
	var image;
	var linkId;
	var current = 0;
	var speed;
	var duration;
	
	var started = false;
	
	var preLoad = new Array();
	
	var isPreloaded = false;
	
	this.addSlide = function (src, title, href) {
		addSlide(src, title, href, null);
	}
	
	this.addSlide = function (src, title, href, event) {
		slide = new Object();
		slide.src = src;
		slide.title = title;
		slide.href = href;
		slide.event = event;
		slides[slides.length] = slide;
		
	}
	
	this.preload = function() {
		var x = current;
		for (i = x; i < slides.length; i++){
		   slides[i].image = new Image();
		   slides[i].image.src = slides[i].src;
		}
		for (i = 0; i < x; i++) {
		   slides[i].image = new Image();
		   slides[i].image.src = slides[i].src;
		}
		this.isPreloaded = true;
	}
	
	this.randomize = function() {
		current = Math.floor(Math.random() * slides.length);
	}
	
	this.start = function(ssName) {

		if (!this.isPreloaded) {
			this.preload();
		}
		
		//var link = document.getElementById(this.linkId);
		var link;
		
		try {
			link = document.getElementById(this.linkId);
		} catch (e) { }
		
		var image = document.getElementById(this.imageId);
		
		if (document.all && this.started) {
			image.style.filter="blendTrans(duration=" + this.duration + ")";
			image.filters.blendTrans.apply();
			image.filters.blendTrans.play();
		}
		else if (this.started) {
			
		}
		
		image.src = slides[current].image.src;
		image.title = slides[current].title;
		
		var event = slides[current].event;
		
		if (event != null) {
			eval(event);
		}
		
		try {
			link.href = slides[current].href;
			link.alt = slides[current].title;
		} catch (e) {}
		
		current++;
		if (current > slides.length - 1) {
			current = 0;
		}
		
		var speed = this.speed*1000;
		
		if (!this.started) {
			speed = speed - (this.duration*1000);
			this.started = true;
		}
		
		
		
		setTimeout('slideshow.start(\'' + ssName + '\')', speed);
		
	}

}
