imageSlots = new Array();
slotCount = 0;
photoCount = 104;
changeRate = 2000;
lastSlot = -1;

function rand(n)
{
	return Math.floor(Math.random() * n) + 1;
}

function chooseSlot()
{
	var slot;
	while ((slot = rand(slotCount)) == lastSlot)
		;
	lastSlot = slot;
	return slot;
}

function isShowing(photo)
{
	for (i = 1; i <= slotCount; ++i)
		if (imageSlots[i].photo == photo)
			return true;
	return false;
}

function choosePhoto()
{
	var photo;
	do {
		photo = "photos/banner-" + rand(photoCount).toString().lpad("0", 3) + ".jpg";
	} while (isShowing(photo));
	return photo;
}

function changePhoto()
{
	if (slotCount > 0) {
		var slot = chooseSlot();
		imageSlots[slot].photo = choosePhoto();
		imageSlots[slot].img.src = imageSlots[slot].photo;
		setTimeout("changePhoto()", changeRate);
	}
}

String.prototype.lpad = function(padString, length)
{
	var str = this;
    while (str.length < length)
        str = padString + str;
    return str;
}

function start()
{
	if (document.getElementById)
		for (slotCount = 1; (element = document.getElementById("banner-" + slotCount)) != null; ++slotCount)
			imageSlots[slotCount] = { img: element, photo: null };
	slotCount -= 1;
	setTimeout("changePhoto()", changeRate);
}

window.onload = start;

