
	// -------------------------- Image Swapper ---------------------

	var imageSwapper = new Array();
	function ImageSwapper(id, speed, isBackground, ly){
		this.id = id;
		this.isBackground = isBackground;
		this.speed = speed;
		(this.speed > 0) ? this.autoSwap = true : this.autoSwap = false; 
		this.layer = ly;
		this.path = '';
		this.startSpeed = this.speed;
		this.images = new Array();
		this.selected = 0;
		this.nr = imageSwapper.length;
		imageSwapper[imageSwapper.length] = this;
		this.timeoutId = 0;
		
		this.init = ImageSwapper_init;
		this.swap = ImageSwapper_swap;
		this.addImage = ImageSwapper_addImage;
	}
	
	function ImageSwapper_init() {
		if (this.autoSwap) this.timeoutId = setTimeout('pass(imageSwapper[' + this.nr + '].swap())', this.startSpeed);
		cacheImages(this.images, this.path);
	}
	
	function ImageSwapper_addImage(img) {
		this.images[this.images.length] = img;
	}
	
	function ImageSwapper_swap(target) {
		clearTimeout(this.timeoutId);
		if (target == -1) { // previous image
			this.selected--;
			if (this.selected < 0) this.selected = this.images.length - 1;
		} else if (target == 0) {  // first image
			this.selected = 0; 
		} else if (target == 2) { // last image
			this.selected = this.images.length - 1;
		} else { // next image
			this.selected++;
			if (this.selected >= this.images.length) this.selected = 0;
		}
		changeImage(this.id, this.path + this.images[this.selected], this.isBackground, this.layer);
		if (this.autoSwap) this.timeoutId = setTimeout('pass(imageSwapper[' + this.nr + '].swap())', this.speed);
	}
	
	function changeImage(object, url, isBackground, ly) {
		
		if ( isBackground )
		{
		    newImage = 'url(' + url + ')';
		    element(object).style.backgroundImage = newImage;
		}
		else
		{
			element(object).src = url;
		}
	}
		
		


