// Fade in script

var imgVector = new Array();


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 NewOpacity(id,NewOpac,stepOpac,stepTime)
{
  var element=document.getElementById(id);
//  var opacity = element.style.opacity * 100;
 // var msNow = (new Date()).getTime();
//  opacity = fromO + (toO - fromO) * (msNow - msStart) / msDuration;
	var opacity = NewOpac;
  if (opacity<0) 
    SetOpacity(element,0)
  else if (opacity>100)
    SetOpacity(element,100)
  else
  {
    SetOpacity(element,opacity);
    element.timer = window.setTimeout("NewOpacity('" + id + "'," + (NewOpac+stepOpac) + "," + stepOpac + "," + stepTime + ")",stepTime);
  }
}
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)",10);
  element.timer = window.setTimeout("NewOpacity('" + id + "',1,1,20)",20);
}
function FadeInImage(backgroundID, foregroundID, newImage)
{
  var foreground=document.getElementById(foregroundID);
  if (backgroundID)
  {
    var background=document.getElementById(backgroundID);
    if (background)
    {	// swap the foreground image to the background
      background.src = foreground.src;
 //     background.style.backgroundRepeat = 'no-repeat';
    }
  }
  SetOpacity(foreground,0);	// make the foreground invisible
  foreground.src = newImage.src;	// load up the new image
  if (foreground.timer) window.clearTimeout(foreground.timer); 
  var startMS = (new Date()).getTime();
  foreground.timer = window.setTimeout("ChangeOpacity('" + foregroundID + "',2000," + startMS + ",0,100)",1);
}
var foreGroundIndex = 0;
function cycleImages () {
	if (++foreGroundIndex >= imgVector.length) foreGroundIndex=0;
	FadeInImage(backImg,foreImg,imgVector[foreGroundIndex]);
	cycleTimer = window.setTimeout("cycleImages()",15000);
	setPanelColour();
}
function randomImages () {
	var next = Math.round(Math.random() * (imgVector.length-1));
	foreGroundIndex = (next == foreGroundIndex?next+1:next); 
	if (foreGroundIndex >= imgVector.length) foreGroundIndex=0;
	FadeInImage(backImg,foreImg,imgVector[foreGroundIndex]);
	cycleTimer = window.setTimeout("randomImages()",15000);
}
var backImg;
var foreImg;
function imageCycleStart(backId,foreId,vector) {
	backImg=backId;
	foreImg=foreId;
	for (i = 0; i < vector.length; i++) {
		imgVector[i] = new Image();
		imgVector[i].src = vector[i];
	}
	setPanelColour();
	cycleTimer = window.setTimeout("cycleImages()",10000);
}

function imageRandomStart(backId,foreId,vector) {
	backImg=backId;
	foreImg=foreId;
	foreGroundIndex = Math.round(Math.random() * (vector.length-1));
	document.getElementById(foreImg).src = vector[foreGroundIndex];
	for (i = 0; i < vector.length; i++) {
		imgVector[i] = new Image();
		imgVector[i].src = vector[i];
	}
	cycleTimer = window.setTimeout("randomImages()",15000);
}
/* set the colour of the main surgery panels according to the image being shown */
function setPanelColour() {
	document.getElementById('surgery1').style.color='#606060';
	document.getElementById('surgery1').firstChild.style.color='#606060';
	document.getElementById('surgery2').style.color='#606060';
	document.getElementById('surgery2').firstChild.style.color='#606060';
	document.getElementById('surgery3').style.color='#606060';
	document.getElementById('surgery3').firstChild.style.color='#606060';
	if (foreGroundIndex == 0) {
		document.getElementById('surgery1').style.color='#002b6d';
		document.getElementById('surgery1').firstChild.style.color='#002b6d';
	}
	if (foreGroundIndex == 1) {
		document.getElementById('surgery2').style.color='#002b6d';
		document.getElementById('surgery2').firstChild.style.color='#002b6d';
	}
	if (foreGroundIndex == 2) {
		document.getElementById('surgery3').style.color='#002b6d';
		document.getElementById('surgery3').firstChild.style.color='#002b6d';
	}
}
