// Slideshow Functions
// Joseph Hobbs 2007
// Based on code by Adam Roughton

var bufferedPics = new Array();
var count=0;
var rate=0.85
var pics = 
  ["images/rampage.jpg",
  "images/second_sin.jpg",
  "images/second_sin_interior.jpg",
  "images/brisa.jpg",
  "images/kapanui.jpg"];

var alts = 
  ["Rampage",
   "Second Sin",
   "Second Sin Interior",
   "Brisa",
   "Kapanui"];

function init_slideshow(){
  // sets pic
  setPic(count);
  setAlpha(0);
  bufferPics()
  setTimeout('nextPic()', 8000);
}

function bufferPics(){
  for(var i in pics){
    bufferedPics[i] = new Image();
    bufferedPics[i].src = pics[i];
  }
}

function setPic(i){
  setAlpha(0);
  picture = document.getElementById('imageObject');
  picture.src = pics[i];
  picture.alt = alts[i];
  fadeIn(0.01);  
}

function nextPic(){
  fadeOut(1);
  setTimeout('nextPic()',8000);
}

function fadeOut(x){
    setAlpha(x);
    if(x > 0.01) setTimeout('fadeOut('+(x*rate)+')',1);
    else {
      setAlpha(0);
      setTimeout('setPic('+(++count%pics.length)+')',500);
    }
}

function fadeIn(x){
    setAlpha(x);
    if(x <= 1) setTimeout('fadeIn('+(x/rate)+')',1);
}

function setAlpha(x){
  var transDiv = document.getElementById('imageArea');
  
  if (typeof transDiv.style.opacity == "string") transDiv.style.opacity = x;
  else if (typeof transDiv.style.MozOpacity == "string") transDiv.style.MozOpacity = x;
  else {
	var o = Math.round(x*100);
	transDiv.style.filter = 'alpha(opacity:' + o + ')';
  }
}