﻿/*
簡単ロールオーバーイメージ
(c)Sapphirus.Biz

「_off」と「_over」という名前が含まれるイメージファイルを二つ用意します。
「_off」が通常のイメージとなり、マウスオーバーすると「_over」のイメージファイルに
入れ変わります。マウスを外すと「_off」の画像に戻ります。
Ex.) イメージファイル「menu1_off.gif」「 menu1_over.gif」
<img src="menu1_off.gif" />
*/
function setRollOver() {
	var loadedImg = new Array();
	if (!document.getElementsByTagName) return false;
	var ovrImgList = document.getElementsByTagName('img');
	for (var i = 0; i < ovrImgList.length; i++) {
		if (ovrImgList[i].src.match(/_off\./i)) {
			loadedImg[i] = new Image();
			loadedImg[i].src = ovrImgList[i].src.replace(/_off\./i, '_over.');
			ovrImgList[i].onmouseover = function() { // マウスオーバー
				this.src = this.src.replace(/_off\./i, '_over.');
			}
			ovrImgList[i].onmouseout = function() { // マウスアウト
				this.src = this.src.replace(/_over\./i, '_off.');
			}
			if (navigator.userAgent.indexOf('MSIE') < 0) ovrImgList[i].onmouseup = function() { // クリック後のロールオーバー解除
				this.src = this.src.replace(/_over\./i, '_off.');
			}
		}
	}
	return true;
}

var Kaas = {
	/**
	 * @param	obj:* - id名 || ELEMENT_NODE || undefined
	 * @return	{Object}
	 */
	$: function(obj) {
		var doc = document;
		if (obj && typeof obj == 'string') {
			if (doc.getElementById(obj)) {
				return doc.getElementById(obj);
			} else {
				throw new Error('There is no "' + obj + '" ');
			}
		} else if (obj && obj.nodeType == 1) {
			return obj;
		} else {
			return doc;
		}
	},
	
	/**
	 * @param	target:Object - ELEMENT_NODE
	 * @param	value:String
	 * @return	{Boolean}
	 */
	hasRel: function(target, value) {
		if (!target.getAttribute('rel')) return false;
		var c = target.getAttribute('rel').split(' ');
		var i = c.length;
		while(i--) {
			if (c[i] == value) {
				return true;
				break;
			}
		}
	},
	
	externalLink: function(container) {
		var t = Kaas.$(container);
		var e = t.getElementsByTagName('a');
		for (var i = 0, l = e.length; i < l; i++) {
			var a = e[i];
			if (Kaas.hasRel(a, 'external')) {
				if (a.title) a.title += ' : 新しいウィンドウで開きます';
				a.onclick = function() {
					window.open(this.getAttribute('href'), '_blank');
					return false;
				};
			}
		}
	}
};

if (window.addEventListener) {
	window.addEventListener('load', function(e) {
		setRollOver();
		Kaas.externalLink();
	}, false);
} else if (window.attachEvent) {
	window.attachEvent('onload', function(e) {
		setRollOver();
		Kaas.externalLink();
	});
}

