/******************************************************** * *  拡張ロールオーバー・オブジェクト * *  Copyright (c) 2008.12.29 AOK. * ********************************************************/function imageRollover(exceptId, canSwap, notLink) {  var prev = null;  /* URL のスワップ */  var swapURL = function(src, over) {    if (src.match(/\.gif$/)) {      if (!over && src.match(/\-over\.gif$/))        return src.replace(/\-over\.gif$/, '.gif');      else if (over && !src.match(/\-over\.gif$/))        return src.replace(/\.gif$/, '-over.gif');    } else if (src.match(/\.jpg$/)) {      if (!over && src.match(/\-over\.jpg$/))        return src.replace(/\-over\.jpg$/, '.jpg');      else if (over && !src.match(/\-over\.jpg$/))        return src.replace(/\.jpg$/, '-over.jpg');    }    return src;  }  /* 画像のスワップ */  var swapImage = function(obj, over) {    if (obj.tagName != 'IMG') return;    obj.src = swapURL(obj.src, over);  }  /* イベント ハンドラ */  var doRollover = function(e) {    var obj = e.srcElement || e.target;    if (obj != null && obj.tagName == 'A') obj = obj.firstChild;    if (prev != null) swapImage(prev, false);    if (obj != null) swapImage(obj, true);    prev = obj;  }  var doRollout = function(e) {    var obj = e.srcElement || e.target;    if (obj != null && obj.tagName == 'A') obj = obj.firstChild;    if (prev != null) swapImage(prev, false);    if (obj != null) swapImage(obj, false);    prev = null;  }  /* ロールオーバー除外設定 */  var doSet = function(obj) {    if (canSwap) {      var src = obj.src;      if (src.match(/\.gif$/))        obj.src = src.replace(/\.gif$/, '-self.gif');      else if (src.match(/\.jpg$/))        obj.src = src.replace(/\.jpg$/, '-self.jpg');    }    if (notLink) {      var pobj = obj.parentNode;      if (pobj != null && pobj.tagName == 'A')        pobj.removeAttribute('href');    }  }  /* 画像先読み */  var preLoad = function(obj) {    var img = new Image();    img.src = swapURL(obj.src, true);  }  /* イベントの登録 */  this.onloadHandler = function() {    for (var i = 0; i < document.images.length; i++) {      var obj = document.images[i];      if (obj.className == null) continue;      if (obj.className.match(/\bROLLOVER\b/) == null) continue;      if (exceptId != null && obj.id == exceptId) { doSet(obj); continue; }      var pobj = obj.parentNode;      if (obj.attachEvent) {        obj.attachEvent('onmouseover', doRollover);        obj.attachEvent('onmouseout', doRollout);        if (pobj != null && pobj.tagName == 'A') {          pobj.attachEvent('onfocus', doRollover);          pobj.attachEvent('onblur', doRollout);        }      } else {        obj.addEventListener('mouseover', doRollover, false);        obj.addEventListener('mouseout', doRollout, false);        if (pobj != null && pobj.tagName == 'A') {          pobj.addEventListener('focus', doRollover, false);          pobj.addEventListener('blur', doRollout, false);        }      }      preLoad(obj);    }  }  if (window.attachEvent)    window.attachEvent('onload', this.onloadHandler);  else    window.addEventListener('load', this.onloadHandler, false);}/******************************************************** var IRollover = new imageRollover(); var IRollover = new imageRollover('page1', true, false); ********************************************************/