
/* ------------------------------------------------------------------------
ロールオーバー
	Copyright (c) 2009, Matsumoto.JS All rights reserved.

【使用方法】（なるべく<head>タグ内にて）
<script src="js/prototype.js" type="text/javascript"></script>
<script src="js/rollover.js" type="text/javascript"></script>

【パラメータの説明】
オブジェクトリテラルで指定
	hclass: 差し替えするIMGタグのクラス名（default:"imgover"）
	suffix: マウスオーバー時のファイル名末尾（default:"_o"）

HTML: (rollover_o.gif)
	<img src="rollover.gif" alt="myImage" class="imgover" />
 ------------------------------------------------------------------------ */

var RollOver = Class.create();
RollOver.prototype = {
initialize: function(option) {
	var props = { hclass : "imgover", suffix : "_o" };
	if(option) for(var key in option) props[key] = option[key];

	$$('img.'+props.hclass,'input.'+props.hclass).each(
		function(el){
			var osrc = el.getAttribute('src');
			if (!osrc) return;
			var hsrc = osrc.replace(/(\.gif|\.jpg|\.png)/,props.suffix+'$1');
			//preload & add handler
			(new Image()).src = hsrc;
			el.observe("mouseover",function(){
				el.setAttribute('src', hsrc);
			}).observe("mouseout",function(){
				el.setAttribute('src', osrc);
			});
		}
	);
}
}//prototype
Event.observe(window,'load',function(){new RollOver();});


/* ------------------------------------------------------------------------
セルフリンク（現在のページにリンクされている画像を差し替える）
	Copyright (c) 2009, Matsumoto.JS All rights reserved.

【使用方法】（なるべく<head>タグ内にて）
<script src="js/prototype.js" type="text/javascript"></script>
<script src="js/rollover.js" type="text/javascript"></script>
<script>
	Event.observe(window,'load',function(){new SelfLink();});
</script>
HTML: (menu_h.gif)
	<a href="#" class="selflink"><img src="menu.gif" /></a>

【パラメータの説明】
オブジェクトリテラルで指定
	hclass: 差し替えするIMGタグのクラス名（default:"selflink"）
	suffix: ハイライト時のファイル名末尾（default:"_h"）

 ------------------------------------------------------------------------ */

var SelfLink = Class.create();
SelfLink.prototype = {
initialize: function(option) {
	var props = { hclass : "selflink", suffix : "_h" };
	if(option) for(var key in option) props[key] = option[key];

	$$('a.'+props.hclass).each( function(el){
		var href = el.getAttribute('href');
		//pathname==href ?
		if (location.pathname != href) return;
		el.select('img').each( function(img){
			var osrc = img.getAttribute('src');
			if (!osrc) return;
			img.src = osrc.replace(/(\.gif|\.jpg|\.png)/,props.suffix+'$1');
			//remove rollOver events
			img.stopObserving("mouseover");
			img.stopObserving("mouseout");
		});
	});
}
}//prototype
