/*
 * JS + jQuery image slideshow with overlay support
 * By Roman Bezlepkin <roman.bezlepkin@webfullcircle.com>
 */


function JSSlideShow(imageId, speed, delay, images, randomize)
{
	var self = this;
	this.imageId = imageId;
	this.speed = speed;
	this.randomize = randomize;
	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];
	        }
	    }
	    if(this.randomize)
	    {
	    	var rg = Math.floor(Math.random() * images.length);
	    	//alert(rg);
	    	targetImage.src = images[rg];
	    }
	    else
	    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++;
	    if(this.randomize)
	    {
	    	var rg = Math.floor(Math.random() * images.length);
	    	alert(rg);
	    	imageIndex = rg;
	    }
	    $("#" + this.imageId).fadeTo(this.speed, 0, function() {
	        targetImage.src = images[imageIndex];
	    });
	    $("#" + this.imageId).fadeTo(this.speed, 1, function() {
	        timeoutId = setInterval(function() { self.changeImage() }, delay);
	    });
	}
}