/***************************************************

    [ 動作確認済みブラウザ ]

    WinXP:  IE6SP2, Firefox2.0.0.7
    Linux:  Firefox2.0.0.11
    MacOSX: Safari1.3.2

 ***************************************************/

/* 画像のスワップ */
function swapImage1(obj) {
  if (obj.tagName != "IMG") return;
  var src = obj.src;
  if (src.match(/\.gif$/)) {
    if (src.match(/\_on\.gif$/))
      obj.src = src.replace(/\_on\.gif$/, ".gif");
    else
      obj.src = src.replace(/\.gif$/, "_on.gif");
  } else if (src.match(/\.jpg$/)) {
    if (src.match(/\_on\.jpg$/))
      obj.src = src.replace(/\_on\.jpg$/, ".jpg");
    else
      obj.src = src.replace(/\.jpg$/, "_on.jpg");
  }
}

/* イベント ハンドラ */
function doRollover(e) {
  var obj = e.srcElement || e.target;
  if (obj == null) return;
  var src = obj.src;
  if (src.match(/\.gif$/)) {
    if (!src.match(/\_on\.gif$/))
      obj.src = src.replace(/\.gif$/, "_on.gif");
  } else if (src.match(/\.jpg$/)) {
    if (!src.match(/\_on\.jpg$/))
      obj.src = src.replace(/\.jpg$/, "_on.jpg");
  }
}

function doDeRollover(e) {
  var obj = e.srcElement || e.target;
  if (obj == null) return;
  var src = obj.src;
  if (src.match(/\.gif$/)) {
    if (src.match(/\_on\.gif$/))
      obj.src = src.replace(/\_on\.gif$/, ".gif");
  } else if (src.match(/\.jpg$/)) {
    if (src.match(/\_on\.jpg$/))
      obj.src = src.replace(/\_on\.jpg$/, ".jpg");
  }
}

function doFocus(e) {
  var obj = e.srcElement || e.target;
  if (obj != null) {
	var src = obj.firstChild.src;
    if (src.match(/\.gif$/)) {
      if (!src.match(/_on\.gif$/))
        obj.firstChild.src = src.replace(/\.gif$/, "_on.gif");
    } else if (src.match(/\.jpg$/)) {
      if (!src.match(/_on\.jpg$/))
        obj.firstChild.src = src.replace(/\.jpg$/, "_on.jpg");
    }
  }
}

function doDeFocus(e) {
  var obj = e.srcElement || e.target;
  if (obj != null) {
	var src = obj.firstChild.src;
    if (src.match(/_on\.gif$/)) {
      obj.firstChild.src = src.replace(/_on\.gif$/, ".gif");
    } else if (src.match(/_on\.jpg$/)) {
      obj.firstChild.src = src.replace(/_on\.jpg$/, ".jpg");
    }
  }
}

/* ロールオーバー除外設定 */
function doSet(obj) {
  if (rollover_preference[1]) {
    var src = obj.src;
    if (src.match(/\.gif$/))
      obj.src = src.replace(/\.gif$/, "_on.gif");
    else if (src.match(/\.jpg$/))
      obj.src = src.replace(/\.jpg$/, "_on.jpg");
  }
  if (rollover_preference[2]) {
    var pobj = obj.parentNode;
    if (pobj.tagName == "A") pobj.removeAttribute("href");
  }
}

/* サブメニューのスタイル変更 */
function selectSubmenu(id) {
  var obj = document.getElementById(id);
  if (obj != null) obj.className = 'select';
}

/* イベントの登録 */
var pre200811261319 = window.onload;
window.onload = function() {
  var obj, i;
  for (i = 0; i < document.images.length; i++) {
    obj = document.images[i];
    if (obj.className.match(/\bROLLOVER\b/) == null) continue;
    if (obj.id == rollover_preference[0]) { doSet(obj); continue; }
    if (obj.attachEvent) {
      obj.attachEvent("onmouseover", doRollover);
      obj.attachEvent("onmouseout", doDeRollover);
    } else {
      obj.addEventListener("mouseover", function(e) { doRollover(e); }, true);
      obj.addEventListener("mouseout", function(e) { doDeRollover(e); }, true);
    }
  }

  var anchors = document.getElementsByTagName('A');
  for (i = 0; i < anchors.length; i++) {
    obj = anchors[i];
	if (obj.firstChild == null) continue;
	var s = new String(obj.firstChild.className);
    if (s.match(/\bROLLOVER\b/) == null) continue;
    if (obj.firstChild.id == rollover_preference[0]) { continue; }
    if (obj.attachEvent) {
      obj.attachEvent("onfocus", doFocus);
      obj.attachEvent("onblur", doDeFocus);
    } else {
      obj.addEventListener("focus", function(e) { doFocus(e); }, true);
      obj.addEventListener("blur", function(e) { doDeFocus(e); }, true);
    }
  }

  for (i = 3; i < rollover_preference.length; i++)
    selectSubmenu(rollover_preference[i]);

  if (pre200811261319 != null) pre200811261319();
}

