
// ロールオーバースクリプト

function initRollovers() {
	loadEvent();
	if (!document.getElementById) return
	
	var aPreLoad = new Array();
	var sTempSrc;
	var aImages = document.getElementsByTagName('img');

	for (var i = 0; i < aImages.length; i++) {		
		if (aImages[i].className == 'imgover') {
			var src = aImages[i].getAttribute('src');
			var ftype = src.substring(src.lastIndexOf('.'), src.length);
			var hsrc = src.replace(ftype, '_ro'+ftype);

			aImages[i].setAttribute('hsrc', hsrc);
			
			aPreLoad[i] = new Image();
			aPreLoad[i].src = hsrc;
			
			aImages[i].onmouseover = function() {
				sTempSrc = this.getAttribute('src');
				this.setAttribute('src', this.getAttribute('hsrc'));
			}	
			
			aImages[i].onmouseout = function() {
				if (!sTempSrc) sTempSrc = this.getAttribute('src').replace('_ro'+ftype, ftype);
				this.setAttribute('src', sTempSrc);
			}
		}
	}
}







//----------------------------------------------------------
// カレントページへのリンクを無効化
// 引数：付加するクラス名（オプション）
// 返値：無効化したリンクの数
//----------------------------------------------------------
function removeCurrentLink(addClassName){

  var count = 0;  // 無効化した数

  // 全アンカーの取得
  var elmsAnchor = document.getElementsByTagName("a");

  for(var i=0; i<elmsAnchor.length; i++){
    var elmAnchor = elmsAnchor.item(i);

    // 自分を指すリンクであれば
    if(elmAnchor.href == location.href){
      elmAnchor.removeAttribute("href");    // 属性を削除

      // 引数でクラス名が指定されていれば
      if(addClassName){
        elmAnchor.className = addClassName; // クラス名を付加
      }
      count++;
    }
  }
  return count;
}


//----------------------------------------------------------
// クラス名を追加
// 引数：対象ノード, クラス名
// 返値：0 = 追加した; 1 = すでにある
//----------------------------------------------------------
function addClassName(argNode, argClassName){
  if(isClassName(argNode, argClassName) != "-1"){
    return 1;  // すでにある場合は無視
  }
  // 空白とともに追加
  argNode.className += " " + argClassName;
  return 0;
}


//----------------------------------------------------------
// クラス名が含まれるか判別
// 引数：対象ノード, クラス名
// 返値：-1 = ない; 0以上 = 見つかった場所(一番左を0とする)
//----------------------------------------------------------
function isClassName(argNode, argClassName){
  if(argNode.className != ""){
    var aryClassName = String(argNode.className).split(" ");
    for(i=0; i<aryClassName.length; i++){
      if(aryClassName[i] == argClassName){ return i; }
    }
  }
  return -1;  // 見つからなければ -1 を返す
}


//----------------------------------------------------------
// onload で実行する関数
//----------------------------------------------------------
function loadEvent(){

  // カレントページへのリンクを無効化
  removeCurrentLink("active"); // クラス名 "active"を付加
}



window.onload = initRollovers;
