function imageReplace(whichPic)
{
  if (!document.getElementById("feature_img")) return true;
  var source = whichPic.getAttribute("href");
  var feature_img = document.getElementById("feature_img");
  feature_img.setAttribute("src",source);
  return false;
}

function simpleRollover(img, which)
{
  img.src = img.getAttribute(which || "origsrc");
  // rollovers for associated text
  if (document.getElementById("project-nav")) {
    var link_id = img.getAttribute('id') + "_link";
    if (which) {
      $(link_id).setStyle({
        color: '#c00'
      });
    } else {
      $(link_id).setStyle({
        color: '#bbb'
      });
    }
  }
}

function remoteRollover(link, which)
{
  var link_id = link.getAttribute('id');
  var target = link_id.replace("_link", "");
  img = document.getElementById(target);
  img.src = img.getAttribute(which || "origsrc");
  if (document.getElementById("project-nav")) {
    var link_id = img.getAttribute('id') + "_link";
    if (which) {
      $(link_id).setStyle({
        color: '#c00'
      });
    } else {
      $(link_id).setStyle({
        color: '#bbb'
      });
    }
  }
}

function highlightText(link, state)
{
  var link_id = link.getAttribute('id');
  link_text = $$(link_id);
  alert(link_id);
}

function swapCaption(img)
{
  if (!document.getElementById("feature_caption")) return true;
  var caption = document.getElementById('feature_caption');
  if (!caption.childNodes[0]) {
   var text = document.createTextNode('');
   caption.appendChild(text);
  }
  caption.childNodes[0].nodeValue = img.title;
}

function applyRollovers(images)
{
  for (var i = 0; i < images.length; i++) 
  {
    var altimg = images[i].src.replace("_rollover", "");
    // preload rollovers
    images[i].oversrc_img = new Image();
    images[i].oversrc_img.src = altimg;
    // set event handlers
    images[i].setAttribute("oversrc", altimg);
    images[i].onmouseover = new Function("simpleRollover(this, 'oversrc');");
    images[i].onmouseout = new Function("simpleRollover(this);");
    images[i].onclick = new Function("swapCaption(this);");
    images[i].setAttribute("origsrc",images[i].src);
  }
}

function applyRemoteRollovers()
{
  if (!document.getElementById("project-nav")) return false;
  if (!document.getElementById("imgoverview")) return false;
  var projects = document.getElementById("project-nav");
  var links = projects.getElementsByTagName("a");
  for (var i = 0; i < links.length; i++)
  { 
    links[i].onmouseover = new Function("remoteRollover(this, 'oversrc');");
    links[i].onmouseout = new Function("remoteRollover(this);");
  }
}

function setupRollovers()
{
  if (document.getElementById("imgnav"))
  {
    var imgnav = document.getElementById("imgnav");
    var images = imgnav.getElementsByTagName("img");
    applyRollovers(images);
  }
  if (document.getElementById("imgoverview"))
  {
    var imgoverview = document.getElementById("imgoverview");
    var images = imgoverview.getElementsByTagName("img");
    applyRollovers(images);
  }
}

function applyImageReplace()
{
  if (!document.getElementsByTagName) return false;
  if (!document.getElementById) return false;
  if (!document.getElementById("imgnav")) return false;
  var gallery = document.getElementById("imgnav");
  var links = gallery.getElementsByTagName("a");
  for (var i = 0; i < links.length; i++) 
  {
    links[i].onclick = function() {
      return imageReplace(this);
    }
  }
}

function prepareGallery()
{
  setupRollovers();
  applyImageReplace();
  applyRemoteRollovers();
}


if(window.FastInit) {
	FastInit.addOnLoad(prepareGallery);
} else {
	Event.observe(window, 'load', prepareGallery);
}