// JavaScript Document
// rollover.js
// sourse by hori-uchi.com
// http://hori-uchi.com/
var imagesNormal = new Object();
var imagesHighlight = new Object();
function SwapImage (name,normalSrc,highlightSrc) {
   this.name = name;
   this.normalSrc = normalSrc;
   this.highlightSrc = highlightSrc;
}
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;
        imagesHighlight[a[i].name] = new Image();
        imagesHighlight[a[i].name].src = a[i].highlightSrc;
    }
}
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, "highlight" );}
               image.onmouseout  = function () {swapImage( this, "normal" );}
            }
        }
    }
}
function swapImage(image,type){
    if (type=="highlight") {
       image.src = imagesHighlight[image.className].src;
    } else if (type=="normal") {
       image.src = imagesNormal[image.className].src;
    }
}
// copied from prototype.js v1.3.1
// 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;
}
