// Create an array to contain image groups
groupList = new Array();

// Create an object that contains an image object and the location of the object
function imageItem(image_location) {
	this.image_item = new Image();
	this.image_item.src = image_location;
}

// Generate a random number between x-y
function generate(x, y) {
	var range = y - x + 1;
	return Math.floor(Math.random() * range) + x;
}

// Retrieve the next image in sequence from group "groupName"
function getNextImage(groupName)
{
	var index = groupList[groupName]["index"] % groupList[groupName]["imageCount"]; // Keep in bounds
	var nextImage = groupList[groupName]["images"][index].image_item.src;
	groupList[groupName]["index"]++; // Increment index value
	return(nextImage);
}

// Adds image "imageLocation" to group "groupName"
function addImage(groupName, imageLocation)
{
	var index = groupList[groupName]["imageCount"];
	groupList[groupName]["images"][index] = new imageItem(imageLocation);
	groupList[groupName]["imageCount"]++;
	//groupList[groupName]["index"] = generate(0, groupList[groupName]["imageCount"] - 1); // Generate random starting point
}

// Create a image group "groupName", initialize image array and imageCount variables
function createImageGroup(groupName)
{
	groupList[groupName] = new Array();
	groupList[groupName]["imageCount"] = 0;
	groupList[groupName]["images"] = new Array();
	groupList[groupName]["index"] = 0;
}	

// Rotates image in container named "name" with image from "imageGroup" every "interval" seconds
function rotateImage(elementName, interval, imageGroup) {
	var newImage = getNextImage(imageGroup);
	document[elementName].src = newImage;
	var selfFunction = "rotateImage('" + elementName + "'," + interval + ",'" + imageGroup + "')";
	setTimeout(selfFunction, interval * 1000);
}

// Add groups and images here
// Group 1
createImageGroup("group1");
addImage("group1", "http://www.bfsins.com/img/logo/aologo.gif");
addImage("group1", "http://www.bfsins.com/img/logo/assurant.gif");
addImage("group1", "http://www.bfsins.com/img/logo/blue-cross.gif");
addImage("group1", "http://www.bfsins.com/img/logo/ccc.gif");
addImage("group1", "http://www.bfsins.com/img/logo/celtic.gif");
addImage("group1", "http://www.bfsins.com/img/logo/delta.gif");
addImage("group1", "http://www.bfsins.com/img/logo/foremost.gif");
addImage("group1", "http://www.bfsins.com/img/logo/stpaul.gif");
addImage("group1", "http://www.bfsins.com/img/logo/hagerty.gif");
addImage("group1", "http://www.bfsins.com/img/logo/harleysville.gif");
addImage("group1", "http://www.bfsins.com/img/logo/hartford.gif");
addImage("group1", "http://www.bfsins.com/img/logo/humana.gif");
addImage("group1", "http://www.bfsins.com/img/logo/logosafeco.gif");
addImage("group1", "http://www.bfsins.com/img/logo/metlife.gif");
addImage("group1", "http://www.bfsins.com/img/logo/piiai.gif");
addImage("group1", "http://www.bfsins.com/img/logo/progressive.gif");
addImage("group1", "http://www.bfsins.com/img/logo/travelers3.gif");
addImage("group1", "http://www.bfsins.com/img/logo/trust.gif");
addImage("group1", "http://www.bfsins.com/img/logo/uslic.gif");
addImage("group1", "http://www.bfsins.com/img/logo/destiny.gif");
// End Group 1

// Group 2
createImageGroup("group2");
addImage("group2", "http://www.bfsins.com/img/logo/stpaul.gif");
addImage("group2", "http://www.bfsins.com/img/logo/hagerty.gif");
addImage("group2", "http://www.bfsins.com/img/logo/harleysville.gif");
addImage("group2", "http://www.bfsins.com/img/logo/hartford.gif");
addImage("group2", "http://www.bfsins.com/img/logo/humana.gif");
addImage("group2", "http://www.bfsins.com/img/logo/logosafeco.gif");
addImage("group2", "http://www.bfsins.com/img/logo/metlife.gif");
addImage("group2", "http://www.bfsins.com/img/logo/piiai.gif");
addImage("group2", "http://www.bfsins.com/img/logo/progressive.gif");
addImage("group2", "http://www.bfsins.com/img/logo/travelers3.gif");
addImage("group2", "http://www.bfsins.com/img/logo/trust.gif");
addImage("group2", "http://www.bfsins.com/img/logo/uslic.gif");
addImage("group2", "http://www.bfsins.com/img/logo/destiny.gif");
addImage("group2", "http://www.bfsins.com/img/logo/aologo.gif");
addImage("group2", "http://www.bfsins.com/img/logo/assurant.gif");
addImage("group2", "http://www.bfsins.com/img/logo/blue-cross.gif");
addImage("group2", "http://www.bfsins.com/img/logo/ccc.gif");
addImage("group2", "http://www.bfsins.com/img/logo/celtic.gif");
addImage("group2", "http://www.bfsins.com/img/logo/delta.gif");
addImage("group2", "http://www.bfsins.com/img/logo/foremost.gif");


// End Group 2

// Group 3
createImageGroup("group3");
addImage("group3", "http://www.bfsins.com/img/logo/metlife.gif");
addImage("group3", "http://www.bfsins.com/img/logo/piiai.gif");
addImage("group3", "http://www.bfsins.com/img/logo/progressive.gif");
addImage("group3", "http://www.bfsins.com/img/logo/travelers3.gif");
addImage("group3", "http://www.bfsins.com/img/logo/trust.gif");
addImage("group3", "http://www.bfsins.com/img/logo/uslic.gif");
addImage("group3", "http://www.bfsins.com/img/logo/destiny.gif");
addImage("group3", "http://www.bfsins.com/img/logo/aologo.gif");
addImage("group3", "http://www.bfsins.com/img/logo/assurant.gif");
addImage("group3", "http://www.bfsins.com/img/logo/blue-cross.gif");
addImage("group3", "http://www.bfsins.com/img/logo/ccc.gif");
addImage("group3", "http://www.bfsins.com/img/logo/celtic.gif");
addImage("group3", "http://www.bfsins.com/img/logo/delta.gif");
addImage("group3", "http://www.bfsins.com/img/logo/foremost.gif");
addImage("group3", "http://www.bfsins.com/img/logo/stpaul.gif");
addImage("group3", "http://www.bfsins.com/img/logo/hagerty.gif");
addImage("group3", "http://www.bfsins.com/img/logo/harleysville.gif");
addImage("group3", "http://www.bfsins.com/img/logo/hartford.gif");
addImage("group3", "http://www.bfsins.com/img/logo/humana.gif");
addImage("group3", "http://www.bfsins.com/img/logo/logosafeco.gif");

// End Group 3
