
var interval = 2.5; // delay between rotating images (in seconds)
var random_display = 0; // 0 = no, 1 = yes
interval *= 2000;
 
var image_index = 0;
var image_list;
var number_of_image;

function setImages(images)
{
	image_list = images;
	number_of_image = image_list.length;
}

function startRotation(place)
{
	var recur_call = "rotateImage('"+place+"')";
	setTimeout(recur_call, interval);
}

function imageItem(image_location) 
{
	this.image_item = new Image();
	this.image_item.src = image_location;
}

function get_ImageItemLocation(imageObj) 
{
	return(imageObj.image_item.src)
}

function generate(x, y) 
{
	var range = y - x + 1;
	return Math.floor(Math.random() * range) + x;
}

function getNextImage() 
{
	if (random_display) 
	{
		image_index = generate(0, number_of_image-1);
	}
	else 
	{
		image_index = (image_index+1) % number_of_image;
	}
	var new_image = get_ImageItemLocation(image_list[image_index]);
	return(new_image);
}

function rotateImage(place) 
{
	var new_image = getNextImage();
	fadeInImage(place, new_image, "rotatingImageHolder");
	startRotation(place);
}

// Opacity and Fade in script.
// Script copyright (C) 2008 http://www.cryer.co.uk/.
// Script is free to use provided this copyright header is included.
function setOpacity(object,opacityPct)
{
  // IE.
  object.style.filter = 'alpha(opacity=' + opacityPct + ')';
  // Old mozilla and firefox
  object.style.MozOpacity = opacityPct/100;
  // Everything else.
  object.style.opacity = opacityPct/100;
}
function changeOpacity(id,msDuration,msStart,fromO,toO)
{
  var element=document.getElementById(id);
  var opacity = element.style.opacity * 100;
  var msNow = (new Date()).getTime();
  opacity = fromO + (toO - fromO) * (msNow - msStart) / msDuration;
  if (opacity<0) 
    setOpacity(element,0)
  else if (opacity>100)
    setOpacity(element,100)
  else
  {
    setOpacity(element,opacity);
    element.timer = window.setTimeout("changeOpacity('" + id + "'," + msDuration + "," + msStart + "," + fromO + "," + toO + ")",1);
  }
}
function fadeIn(id)
{
  var element=document.getElementById(id);
  if (element.timer) window.clearTimeout(element.timer); 
  var startMS = (new Date()).getTime();
  element.timer = window.setTimeout("changeOpacity('" + id + "',1000," + startMS + ",0,100)",1);
}
function fadeOut(id)
{
  var element=document.getElementById(id);
  if (element.timer) window.clearTimeout(element.timer); 
  var startMS = (new Date()).getTime();
  element.timer = window.setTimeout("changeOpacity('" + id + "',1000," + startMS + ",100,0)",1);
}
function fadeInImage(foregroundID,newImage,backgroundID)
{
  var foreground=document.getElementById(foregroundID);
  if (backgroundID)
  {
    var background=document.getElementById(backgroundID);
    if (background)
    {
		background.src = foreground.src;
      //background.style.background = 'url(' + foreground.src + ')';
      //background.style.backgroundRepeat = 'no-repeat';
    }
  }
  setOpacity(foreground,0);
  foreground.src = newImage;
  if (foreground.timer) window.clearTimeout(foreground.timer); 
  var startMS = (new Date()).getTime();
  foreground.timer = window.setTimeout("changeOpacity('" + foregroundID + "',1000," + startMS + ",0,100)",10);
}

// Image Swap Function
function swapImage(image, swapImageURL){
	var objectString,imageObject;
	if(document.images){
		if (typeof(image) == 'string') {
			objectString = 'document.' + image;
			imageObject = eval(objectString);
			if (imageObject && imageObject.src);{
				imageObject.src = swapImageURL;
			}
} else if ((typeof(image) == 'object') && image && image.src) {
		image.src = swapImageURL;
} else if ((typeof(image) == 'number') && document.images[image] &&
document.images[image].src) {
			document.images[image].src = swapImageURL;
		}
	}
}
