// ###### BASE JAVASCRIPT ######// Call to initiate preroll()// 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);}}}}
