// Fading Image Showcase
// Version 1.00
//
// Copyright 2006 Pointy Computers Limited
// All Rights Reserved.
//
// http://www.pointycomputers.co.uk/web

var imageFiles = new Array( 
"bottle-bank.jpg",
"cable-management.jpg",
"concertina-door.jpg",
"conveyor.jpg",
"cup-brush.jpg",
"escalator.jpg",
"external-coil.jpg",
"finger-guard.jpg",
"gear-lever-seal.jpg",
"lift-door.jpg",
"rodent-brush.jpg",
"rollerbrush.jpg",
"roller-door-seal.jpg",
"shaft-seal.jpg",
"statstrip.jpg",
"vacuum-head-brush.jpg",
"wire-brush.jpg"
);

var imagePath = "/images/showcase";
var onScreen = new Array;
var showcaseImageTimer = 3000;
var showcaseFadeTimer = 500;

var screenImgs;
var showcaseImageCache = new Array();
var lastImagePos = new Array();
var readyNext = 0;
var nextImg = 0;

function initShowcase() {
	var i;

	screenImgs = document.getElementsByName( "showcase");

	for( i = 0; i < screenImgs.length; i++) {
		onScreen[ i] = i;
		showcaseImageCache[ i] = 0;
	}

	for( i = 0; i < Math.round( onScreen.length /2); i++) {
		var aVal = myRand( onScreen.length -1);

		while( arrayPos( aVal, lastImagePos) != -1)
			aVal = myRand( onScreen.length -1);

		lastImagePos.push( aVal);
	}

	getNext();
	setTimeout( "doShowcase();", showcaseImageTimer);
}

function getNext() {

	while( arrayPos( nextImg, onScreen) != -1)
		nextImg = myRand( imageFiles.length -1);

	if( !showcaseImageCache[ nextImg]) {
		showcaseImageCache[ nextImg] = new Image();
		showcaseImageCache[ nextImg].src = imagePath + "/" + imageFiles[ nextImg];
	}

	setTimeout( "showcaseCacheCheck();", 50);
}

function showcaseCacheCheck() {

	if( showcaseImageCache[ nextImg].complete)
		readyNext = 1;
	else
		setTimeout( "showcaseCacheCheck();", 50);
}

function doShowcase() {
	if( !readyNext) return;
	readyNext = 0;

	var pos = myRand( onScreen.length -1);

	while( arrayPos( pos, lastImagePos) != -1)
		pos = myRand( onScreen.length -1);

	lastImagePos.shift();
	lastImagePos.push( pos);

	if (document.all) {
		screenImgs[ pos].style.filter = "blendTrans( duration = showcaseFadeTimer)";
		screenImgs[ pos].filters.blendTrans.Apply();
	}

	screenImgs[ pos].setAttribute( "src", showcaseImageCache[ nextImg].src);
	onScreen[ pos] = nextImg;

	if (document.all)
		screenImgs[ pos].filters.blendTrans.Play()

	getNext();
	setTimeout( "doShowcase();", showcaseImageTimer);
}

addEvent( window, "load", initShowcase);
