function addEvent(elm, evType, fn, useCapture) {
  // cross-browser event handling for IE5+, NS6 and Mozilla 
  // By Scott Andrew 
  if (elm.addEventListener) { 
    elm.addEventListener(evType, fn, useCapture); 
    return true; 
  } else if (elm.attachEvent) { 
    var r = elm.attachEvent('on' + evType, fn); 
    return r; 
  } else {
    elm['on' + evType] = fn;
  }
}

/* Pre-load rollover images. */
function preLoadImages()
{
  var imgNames = ['amb','amb_over','bellbead','bellbead_over','earrings2','earrings2_over','earthbeadandclasp2',
  'earthbeadandclasp2_over','earthbeads2','earthbeads2_over','greenearrings2','greenearrings2_over',
  'greenearrings-2','greenearrings-2_over','mesaverde2_sm','mesaverde2_sm_over','pendant2_s','pendant2_s_over',
  'pendant3_s','pendant3_s_over','tripleclasp_s','tripleclasp_s_over','tubebracelet','tubebracelet_over'];
  
  var imgObjects = [];
  
  for (var i = 0; i < imgNames.length; i++)
  {
    imgObjects[i] = new Image();
    imgObjects[i].src = imgNames[i] + ".jpg";
  }
}
/*
Rollover script: this script provides the rollover
functionality for the image grid in the center of the
home page. The original script is from the Sitepoint book 
"DHTML Utopia: Modern Web Design Using Javacript and the DOM"
by Stuart Langridge, pages 34 through 40. ISBN - 0-9579218-9-6
*/

function setUpRollOvers() 
{
  if (!document.getElementsByTagName)
  return;
  var all_links = document.getElementsByTagName('a');
  for (var i = 0; i < all_links.length; i++) 
  {
    var link = all_links[i];
    if (link.className && (' ' + link.className + ' ').indexOf(' rollover ') != -1)
    {
      if (link.childNodes && link.childNodes.length == 1 && link.childNodes[0].nodeName.toLowerCase() == 'img')     
      {
        link.onmouseover = mouseover;
        link.onmouseout = mouseout;
      }    
    }
  }
}

function findTarget(e)
{
  var target;
  if (window.event && window.event.srcElement) target = window.event.srcElement;
  else if (e && e.target) target = e.target;
  if (!target) return null;
  while (target != document.body && target.nodeName.toLowerCase() != 'a') target = target.parentNode;
  if (target.nodeName.toLowerCase() != 'a') return null;
  
  return target;
}

function mouseover(e) 
{
  var target = findTarget(e);
  if (!target) return;
  var img_tag = target.childNodes[0];
  img_tag.src = img_tag.src.replace(/(\.[^.]+)$/, '_over$1');
}

function mouseout(e) 
{
  var target = findTarget(e);
  if (!target) return;
  var img_tag = target.childNodes[0];
  img_tag.src = img_tag.src.replace(/_over(\.[^.]+)$/, '$1');
}
/* End of the rollover script. */

/* Call addEvent to pre-load images and
attach event listeners for the rollovers. */
addEvent(window, "load", preLoadImages, false);
addEvent(window, "load", setUpRollOvers, false);