// swap_image.js

var imagesNormal = new Object();
var imagesHilite = new Object();
function SwapImage (name,normalSrc,hiliteSrc) {
   this.name = name;
   this.normalSrc = normalSrc;
   this.hiliteSrc = hiliteSrc;
}

function setupSwapImages(swapImages) {
    preloadSwapImages(swapImages);
    setupSwapEvent(swapImages);
}

function preloadSwapImages (a) {
    for (var i=0; i < a.length; i++){
        imagesNormal[a[i].name] = new Image();
        imagesNormal[a[i].name].src = a[i].normalSrc;
        imagesHilite[a[i].name] = new Image();
        imagesHilite[a[i].name].src = a[i].hiliteSrc;
    }
}

function setupSwapEvent (a) {
    for (var i=0; i<a.length; i++){
        var images = getElementsByClassName(a[i].name);
        for (var j=0; j<images.length; j++){
            var image = images[j];
            if (image.getAttribute("src")){
               image.onmouseover = function () {swapImage( this, "hilite" );}
               image.onmouseout  = function () {swapImage( this, "normal" );}
            }
        }
    }
}

function swapImage(image,type){
    if (type=="hilite") {
       image.src = imagesHilite[image.className].src;
    } else if (type=="normal") {
       image.src = imagesNormal[image.className].src;
    }
}

// http://prototype.conio.net/
function getElementsByClassName (className) {
  var children = document.getElementsByTagName('*') || document.all;
  var elements = new Array();
  for (var i = 0; i < children.length; i++) {
    var child = children[i];
    var classNames = child.className.split(' ');
    for (var j = 0; j < classNames.length; j++) {
      if (classNames[j] == className) {
        elements.push(child);
        break;
      }
    }
  }
  return elements;
}

// preload
var swapImages = [
	new SwapImage('navi01','images/navi_01_off.gif', 'images/navi_01_over.gif'),
	new SwapImage('navi02','images/navi_02_off.gif', 'images/navi_02_over.gif'),
	new SwapImage('navi03','images/navi_03_off.gif', 'images/navi_03_over.gif'),
	new SwapImage('navi04','images/navi_04_off.gif', 'images/navi_04_over.gif'),
	new SwapImage('navi05','images/navi_05_off.gif', 'images/navi_05_over.gif')
];
window.onload = function () {setupSwapImages(swapImages);};
