// Preload
var photos = Array();
var sites = Array(
  {name:"gwc",size:5},
  {name:"gg",size:5},
	{name:"obh",size:2},
	{name:"el",size:6},
	{name:"gbh",size:2},
	{name:"cyo",size:9},
  {name:"sd",size:3}
);
onload = function () {
  var count = 0;
  for (var i=0;i<sites.length;++i) {
    photoTransitioning[sites[i].name] = false;    
		photos[sites[i].name] = Array();
    for (var j=1;j<=sites[i].size;++j) {
			photos[sites[i].name][j] = new Image();
			// Change this to the correct path
      photos[sites[i].name][j].src = "/pics/sites/" + sites[i].name + "/" + sites[i].name + j + ".jpg";
    }
    ++count;
  }
}

// Global values
var currentPhoto = Array();
var fadeValue = Array();
var nextPhoto = Array();
var fadeInc = 10;
var fadeDelay = 50;
var photoSwitched = Array();
var photoTransitioning = Array();
var photoEx = /^(.*\/)?([a-zA-Z_]+)(\d+)thumb.jpg$/;

function swapImg(imgSrc) {
	var ar = imgSrc.match(photoEx);
	var siteName = ar[2];
	var imgNum = ar[3];
  if (!photoTransitioning[siteName]) {
    currentPhoto[siteName] = document.getElementById(siteName+"Photo");
    nextPhoto[siteName] = photos[siteName][imgNum];
    fadeValue[siteName] = 100;
    photoSwitched[siteName] = false;
    photoTransitioning[siteName] = true;
    transitionPhoto(siteName);
  }
  return false;
}

function transitionPhoto(siteName) {
  // Fade Out
  if (!photoSwitched[siteName]) {
    if (fadeValue[siteName] > 0) {
      fadeValue[siteName] -= fadeInc;
      setImgOpacity(siteName);
      setTimeout("transitionPhoto('"+siteName+"');",fadeDelay);
    }
    else {
      fadeValue[siteName] = 0;
      photoSwitched[siteName] = true;
      currentPhoto[siteName].setAttribute("src",nextPhoto[siteName].src);
      setTimeout("transitionPhoto('"+siteName+"');",fadeDelay);
    }
  }
  // Fade In
  else {
    if (fadeValue[siteName] < 100) {
      fadeValue[siteName] += fadeInc;
      setImgOpacity(siteName);
      setTimeout("transitionPhoto('"+siteName+"');",fadeDelay);
    }
    else {
      fadeValue[siteName] = 100;
      photoSwitched[siteName] = false;
      photoTransitioning[siteName] = false;
    }
  }
}

// function setImgOpacity()
if (document.all) { // IE
  setImgOpacity = function (siteName) {
    currentPhoto[siteName].style.filter = "alpha(opacity="+fadeValue[siteName]+")";
  }
}
else { // Other
  setImgOpacity = function (siteName) {
    currentPhoto[siteName].style.opacity = fadeValue[siteName]/100;
  }
}
