/*
 * JS + jQuery image slideshow with overlay support
 * By Roman Bezlepkin <roman.bezlepkin@webfullcircle.com>
 */

try{ 
var jq = jQuery || false;
} catch(e) {  alert ("JQuery is not included on this page. Please place the reference (<script src=\"/scripts/jquery.js\"></script>) to jQuery before using the JSlideshow"); }

function JSSlideShow(imageId, speed, delay, images)
{
	var self = this;
	this.imageId = imageId;
	this.speed = speed;
	var delay = delay;
	this.images = images;
    var targetImage = document.getElementById(imageId);
	var imageIndex = 0;
	var timeoutId;

	this.init = function() {
	   
	    if (document.images) {
	        var preloadImage = new Image();
	        for (var i = 0; i < this.images.length; i++) {
	            preloadImage.src = images[i];
	        }
	    }
	    targetImage.src = images[0];
	    timeoutId = setInterval(function() { self.changeImage(); }, delay);
	};

	this.changeImage = function() {
	    clearInterval(timeoutId);
	    var count = images.length - imageIndex;
	    if (count == 1)  // go to first image
	        imageIndex = 0;
	    else
	        imageIndex++;
	    jQuery("#" + this.imageId).fadeTo(this.speed, 0, function() {
	        targetImage.src = images[imageIndex];
	    });
	    jQuery("#" + this.imageId).fadeTo(this.speed, 1, function() {
	        timeoutId = setInterval(function() { self.changeImage(); }, delay);
	    });
	};
}
