// This is the implementation of SimpleSwap
// by Jehiah Czebotar
// Version 1.1 - June 10, 2005
// Distributed under Creative Commons
//
// http://jehiah.com/archive/simple-swap
//
// 2010-04-14 modified by Dominik Seeger: accept only images with css class 
// 'simpleswap' and use the valid longdesc attribute instead of oversrc 
//
// Include this script on your page, then make image rollovers like this:
// <img src="/images/img.gif" longdesc="/images/img_over.gif" class="simpleswap" />


function SimpleSwap(el,which){
  el.src=el.getAttribute(which || "origsrc");
}

function SimpleSwapSetup(){
  var x = document.getElementsByTagName("img");
  for (var i=0;i<x.length;i++){
    // check if class simpleswap is assigned
    var classes = x[i].getAttribute("class");
    if (!classes || classes.indexOf('simpleswap') < 0)
      continue;
    
    // check if longdesc is defined
    var altsrc = x[i].getAttribute("longdesc");
    if (!altsrc)
      continue;
      
    // preload image
    // comment the next two lines to disable image pre-loading
    x[i].preload_img = new Image();
    x[i].preload_img.src=altsrc;
    
    // set event handlers
    x[i].onmouseover = new Function("SimpleSwap(this,'longdesc');");
    x[i].onmouseout = new Function("SimpleSwap(this);");
    
    // save original src
    x[i].setAttribute("origsrc",x[i].src);
  }
}

// This method of attaching the SimpleSwapSetup function to the onload event
// preserves any existing functions on that event handler.
var PreSimpleSwapOnload =(window.onload)? window.onload : function(){};
window.onload = function(){PreSimpleSwapOnload(); SimpleSwapSetup();}


