// Rollover/preload script by Matt Ditter (Nov. 2007)
// version 1.2 (Dec. 2007)
var prePaths = [], preImages = [], rollImages = [];
function addEvent(evt,func,obj) {
 obj = obj ? obj : window;
 if (obj.addEventListener) { obj.addEventListener(evt,func,false); return true; }
 else if (obj.attachEvent) { var ev = obj.attachEvent('on'+evt,func,event); return ev; }
 else return false;
}
function preload() {
 for (var i=0, path; path = prePaths[i]; i++) {
  var l = preImages.length;
  preImages[l] = new Image();
  preImages[l].src = path;
}}
function preroll() {
 var pre = [], pics = document.getElementsByTagName('img'), links = document.getElementsByTagName('a');
 for (var i=0, pic; pic = pics[i]; i++) {
  if (pic.className.match(/[^\-]\bover\b[^\-]|^over$|^over\b[^\-]|[^\-]\bover$/i)) {
   var wrap = pic.parentNode, path = pic.src, dot = path.lastIndexOf('.');
   if (path && (dot > 0)) prePaths[prePaths.length] = path.substring(0,dot)+'-o'+path.substring(dot,path.length);
   if (wrap && wrap.tagName == 'A') {
    addEvent('mouseover',rollover,wrap);
    addEvent('mouseout',rollout,wrap);
    addEvent('focus',rollover,wrap);
    addEvent('blur',rollout,wrap);
 }}}
 for (var i=0, a; a = links[i]; i++)
  if (a.onmouseover && a.childNodes[0].tagName == 'IMG') a.onfocus = a.onmouseover;
 for (var i=0, arg; arg = arguments[i]; i++) prePaths[prePaths.length] = arg;
 addEvent('load',preload);
}
function rollover(e) {
 var ev = e ? e : window.event, srcEl = ev.target ? ev.target : ev.srcElement;
 if (srcEl.nodeType == 3) srcEl = srcEl.parentNode; // Safari fix
 srcEl = srcEl.tagName == 'IMG' ? srcEl : srcEl.childNodes[0];
 var path = srcEl.src, dot = path.lastIndexOf('.');
 srcEl.src = (srcEl.className.indexOf('activeimg') > -1) ? path.replace('-a.','-o.') : (!path.match(/\-o\./gi)) ? path.substring(0,dot)+'-o'+path.substring(dot,path.length) : path;
}
function rollout(e) {
 var ev = e ? e : window.event, srcEl = ev.target ? ev.target : ev.srcElement;
 if (srcEl.nodeType == 3) srcEl = srcEl.parentNode; // Safari fix
 srcEl = srcEl.tagName == 'IMG' ? srcEl : srcEl.childNodes[0];
 var path = srcEl.src;
 srcEl.src = (srcEl.className.indexOf('activeimg') > -1) ? path.replace('-o.','-a.') : path.replace('-o.','.'); 
}
// roll() function only used for inline event handlers
function roll(e) {
 var a = arguments;
 if (a.length < 2) for (var i=0, img; img = rollImages[i]; i++) img.src = img.old;
 else {
  for (var i=0, pic; pic = document.getElementById(a[i]); i=i+2) {
   var flag = 0, path = a[i+1], ev = window.event ? window.event : e, srcEl = ev.target ? ev.target : ev.srcElement;
   if (!path || !ev) return;
   if (srcEl && srcEl.nodeType == 3) srcEl = srcEl.parentNode; // Safari fix
   for (var j=0, img; img = rollImages[j]; j++)
    if (pic == img) { flag = 1; break; }
   if (!flag) rollImages[rollImages.length] = pic;
   if (!pic.old) pic.old = pic.src;
   pic.src = path;
   if (!i) {
    addEvent('mouseout',roll,srcEl);
    addEvent('blur',roll,srcEl);
}}}}