//
// requires tools.js
//

var NUM_SECONDS_PREVIEW_DELAY = 4;

AppendToWindowOnload(function ()
{
	new PreviewRotater(NUM_SECONDS_PREVIEW_DELAY, previewImages);
});

function PreviewRotater(intervalSeconds, previewImageFilenames)
{
	this.previewContainer = document.getElementById('layout_preview_image');
	this.previewImageFilenames = previewImageFilenames;
	this.previewImages = Array();
	this.containerPadding = 20;
	
	this._LoadPreviews();
	

	if(this.previewImages.length == 0) return;
	this.currentImageIndex = -1;
	this._NextPreview();	

	if(this.previewImages.length == 1) return; // no need to alternate

	var boundMember = this._NextPreview.bind(this);
	setInterval(function () { boundMember(); } , intervalSeconds * 1000);
}


PreviewRotater.prototype._NextPreview = function()
{
	this.currentImageIndex = (this.currentImageIndex + 1) % this.previewImages.length;
	
	var image = this.previewImages[this.currentImageIndex];

	ClearChildren(this.previewContainer);
	var width  = (image.width == 0) ? 200 : image.width;
	var height = (image.height == 0) ? 200 : image.height;
	this.previewContainer.style.width  = width + this.containerPadding;
	this.previewContainer.style.height = height + this.containerPadding;
	this.previewContainer.appendChild(image);	
}


/// loads the preview pictures
PreviewRotater.prototype._LoadPreviews = function()
{
	for(var i=0; i<this.previewImageFilenames.length; i++)
	{
		var img = new Image();
		img.src = this.previewImageFilenames[i];
		img.className = "preview_img";
		
		this.previewImages.push(img);
	}
}

