// SetOpacity and ChangeOpacity functions copyright (C) 2008 http://www.cryer.co.uk/.
// Script is free to use provided this copyright header is included.
// ImageFade code based on FadeInImage code from http://www.cryer.co.uk
// New code copyright (c) 2010 Ryan Fitzgerald

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 ImageFade (foregroundID, backgroundID, newImg)
{
  var foreground = document . getElementById (foregroundID);
  var background = document . getElementById (backgroundID);
  if (foreground && background) {
    background . style . backgroundImage = 'url(' + foreground . src + ')';
    background . style . backgroundRepeat = 'no-repeat';
    foreground . src = newImg;
    SetOpacity (foreground, 0);
    if (foreground . timer)
       window . clearTimeout (foreground . timer);
    var startMS = (new Date ()) . getTime ();
    foreground . timer = window . setTimeout ("ChangeOpacity('" + foregroundID + "',3000," + startMS + ",0,100)", 10);
  }
}

function Fade1To4 () {
  ImageFade ("mural1", "mural4", "./graphics/mural4.png");
}

function Fade2To5 () {
  ImageFade ("mural2", "mural5", "./graphics/mural5.png");
}

function Fade3To6 () {
  ImageFade ("mural3", "mural6", "./graphics/mural6.png");
}

function Fade4To1 () {
  ImageFade ("mural1", "mural4", "./graphics/mural1.png");
}

function Fade5To2 () {
  ImageFade ("mural2", "mural5", "./graphics/mural2.png");
}

function Fade6To3 () {
  ImageFade ("mural3", "mural6", "./graphics/mural3.png");
}

function Mural1 () {
  Fade3To6 (); 
  setTimeout ("Fade2To5 ();", 2000); 
  setTimeout ("Fade1To4 ();", 4000);
  setTimeout ("Mural2 ();", 10000); 
}

function Mural2 () {
  Fade6To3 (); 
  setTimeout ("Fade5To2 ();", 2000); 
  setTimeout ("Fade4To1 ();", 4000);
  setTimeout ("Mural1 ();", 10000); 
}

function MU_FaderInit () {
  ImageFade ("mural1", "mural4", "./graphics/mural1.png");
  ImageFade ("mural2", "mural5", "./graphics/mural2.png");
  ImageFade ("mural3", "mural6", "./graphics/mural3.png");
  setTimeout ("Mural1 ();", 5000);
}

