﻿var images;
var loop = true;

function StartSlideshow(numberImages) {
	images = new Array(numberImages*2);
	for (var i = 0; i < numberImages; i ++) {
		images[i*2] = new ImageFade(i, 0, 100, 100, 0);
		images[i*2 + 1] = new ImageFade(i, 100, -100, 100, 10000);
	}
	Merchistoun.Animation.ImgFader.Start();
}

/*
*******************************************
Slideshow.js
© 2009 Merchistoun Ltd
*******************************************
*/
 
function registerNS(ns) {
	var nsParts = ns.split(".");
	var root = window;

	for (var i = 0; i < nsParts.length; i++) {
		if (typeof root[nsParts[i]] == "undefined") root[nsParts[i]] = new Object();
		root = root[nsParts[i]];
	}
}
registerNS("Merchistoun.Animation.ImgFader");


function ImageFade(imageNumber, startValue, step, speed, startDelay) {
	this.imageNumber = imageNumber;
	this.image = document.getElementById('FaderImg' + imageNumber);
	this.value = startValue;
	this.step = step;
	this.speed = speed;
	this.startDelay = startDelay;
}

Merchistoun.Animation.ImgFader.ImageNumber = 0;
Merchistoun.Animation.ImgFader.IntervalTimer = null;

Merchistoun.Animation.ImgFader.Start = function() {
	Merchistoun.Animation.ImgFader.Fade(0);
}

Merchistoun.Animation.ImgFader.Fade = function(imageNumber) {

	Merchistoun.Animation.ImgFader.ImageNumber = imageNumber;
	Merchistoun.Animation.ImgFader.IntervalTimer = setInterval('Merchistoun.Animation.ImgFader.SetFadeValue()', images[imageNumber].speed);
}

Merchistoun.Animation.ImgFader.SetFadeValue = function() {

	var startNext = false;
	var image = images[Merchistoun.Animation.ImgFader.ImageNumber];

	// add/subtract step to fade amount;
	image.value += image.step;

	// stop when counter reaches limit
	if (image.value >= 100) {
		clearInterval(Merchistoun.Animation.ImgFader.IntervalTimer);
		image.value = 100;
		startNext = true;
	}
	if (image.value <= 0) {
		clearInterval(Merchistoun.Animation.ImgFader.IntervalTimer);
		image.value = 0;
		startNext = true;
	}

	// apply fade amount
	//	image.image.className = 'FaderImg' + image.imageNumber + ' Fade' + image.value;
	image.image.className = 'CatalogSlideshowPanel Fade' + image.value;

	// start next animation
	if (startNext) {
		Merchistoun.Animation.ImgFader.ImageNumber++;
		if (Merchistoun.Animation.ImgFader.ImageNumber < images.length) {
			setTimeout('Merchistoun.Animation.ImgFader.Fade(' + Merchistoun.Animation.ImgFader.ImageNumber + ');', images[Merchistoun.Animation.ImgFader.ImageNumber].startDelay);
		}
		else {
			// start from beginning
			if (loop) Merchistoun.Animation.ImgFader.Start();
		}
	}
}