/* aizuyaichi.or.jp | (C)Kaizu */
/*@cc_on _d=document;eval('var document=_d')@*/


function SKSP() {
	this.env = {};
	this.env.ua       = navigator.userAgent;
	this.env.isMac    = this.env.ua.match(/Mac/);
	this.env.isWin    = this.env.ua.match(/Win/);
	this.env.isGecko  = this.env.ua.match(/Gecko\//);
	this.env.isSafari = this.env.ua.match(/AppleWebKit/);
	this.env.isOpera  = window.opera;
	this.env.isIE     = (document.all && !this.env.isOpera);
	this.env.isIE4    = this.env.ua.match(/MSIE 4\./);
	this.env.isIE5    = this.env.ua.match(/MSIE 5\./);
	this.env.isIE6    = this.env.ua.match(/MSIE 6\.0/);
	this.env.isMacIE  = (this.env.isMac && this.env.isIE);
	this.env.isOldIE  = (this.env.isIE4 || this.env.isIE5 || this.env.isIE6 || this.env.isMacIE);
	this.env.DOMok    = (document.documentElement && document.getElementsByTagName);
	this.conf = {};
	this.conf.mouseOverSuffix = '_o';
	this.conf.png = '/img/back/png.gif';
	this.preloadImages = {};
	if (this.env.isIE6) {
		try {
			document.execCommand("BackgroundImageCache", false, true);
		} catch(err) {}
	}
}


SKSP.prototype = {
	
	addEvent : function (o, e, f, c) {
		if (!o) return false;
		if (o.addEventListener) {
			o.addEventListener(e, f, c);
		} else {
			o.attachEvent('on' + e, f);
		}
	},

	removeEvent : function (o, e, f, c) {
		if (!o) return false;
		if (o.removeEventListener) {
			o.removeEventListener(e, f, c);
		} else {
			o.detachEvent('on' + e, f);
		}
	},
	
	getElementsByClassName : function(tagName, className)
	{
		var results  = new Array();
		var elements = document.getElementsByTagName(tagName);
		for (var i = 0, elmLength = elements.length; i < elmLength; i++) {
			if (!elements[i].className) continue;
			var classes = elements[i].className.split(' ');
			for (var j = 0, clsLength = classes.length; j < clsLength; j++) {
				if (classes[j] == className) {
					results[results.length] = elements[i];
					break;
				}
			}
		}
		return results;
	},
	
	setupRollOverImage : function() {
		var nav = (document.getElementById('nav')) ? document.getElementById('nav').getElementsByTagName('img') : null;
		var pickup = (document.getElementById('pickup')) ? document.getElementById('pickup').getElementsByTagName('img') : null;
		var sidebar = (document.getElementById('sidebar')) ? document.getElementById('sidebar').getElementsByTagName('img') : null;
		var targets = new Array();
		if (nav) for (var i = 0, length = nav.length; i < length; i++) targets.push(nav[i]);
		if (pickup) for (var i = 0, length = pickup.length; i < length; i++) targets.push(pickup[i]);
		if (sidebar) for (var i = 0, length = sidebar.length; i < length; i++) targets.push(sidebar[i]);
		if (document.getElementById('feature')) {
			targets.push(document.getElementById('feature').getElementsByTagName('img')[0]);
		}
		for (var i = 0, targetLength = targets.length; i < targetLength; i++) {
			var target = targets[i];
			if (target.parentNode.tagName.toLowerCase() == 'a') {			
				target._original  = target.src;
				target._mouseover = target.src.replace(/(\.gif|\.jpg|\.png)/, S.conf.mouseOverSuffix + '$1');
				S.addEvent(target, 'mouseover', function(e) {
					var o = (document.addEventListener) ? this : e.srcElement;
					o.src = o._mouseover;
				});
				S.addEvent(target, 'mouseout',  function(e) {
					var o = (document.addEventListener) ? this : e.srcElement;
					o.src = o._original;
				});
				S.preloadImages[i] = new Image();
				S.preloadImages[i].src = target._mouseover;
			}
		}
	}
		
}

var S = new SKSP();
S.addEvent(window, 'load', S.setupRollOverImage);
