// #require mootools.js
var selectors = [
	"a.rollover",	// ˆê”ÊA
	"img.rollover",	// ˆê”ÊB
	"input.rollover"	// ˆê”ÊC
];

if (window.addEvent) {
	window.addEvent('domready', function(){
		// ‰æ‘œ‚ÌØ‚è‘Ö‚¦•\Ž¦
		var fn_mover_factory = function(theObj) {
			return function () {
				theObj.target.src = theObj.sw_img.src;
			};
		};
		var fn_mout_factory = function(theObj) {
			return function () {
				theObj.target.src = theObj.or_img.src;
			};
		};
		(function (selectors) {
			selectors = selectors.filter(function(flg){return !!flg;});
			return $$(selectors.join(','));
		})(selectors).each(function (elm) {
			var imgs = [elm];
			if (!elm.src) {
				imgs = elm.getElements('img');
			}
			imgs.each(function (img) {
				if (img.src.test(/^.+-(act|on)\.(gif|jpg|jpeg|xbm|png)(\?.*)?$/))	return;
				var or_img = new Image;
				var sw_img = new Image;
				if (window.IEPNGFIX && (img.filters[IEPNGFIX.filter] || (/\.png(\?.*)?$/i).test(img.src))) {
					IEPNGFIX.fix(img);
					or_img.src = img.filters[IEPNGFIX.filter].src;
					sw_img.src = or_img.src.replace(
						/^(.+)(?:-on)?(\.(gif|jpg|jpeg|xbm|png)(\?.*)?)$/,
						"$1-on$2");
					var obj = {
						"target": img.filters[IEPNGFIX.filter],
						"or_img": or_img,
						"sw_img": sw_img
					};
				} else {
					or_img.src = img.src;
					sw_img.src = img.src.replace(
						/^(.+)(?:-on)?(\.(gif|jpg|jpeg|xbm|png)(\?.*)?)$/,
						"$1-on$2");
					var obj = {
						"target": img,
						"or_img": or_img,
						"sw_img": sw_img
					};
				}
				this.addEvent('mouseenter', fn_mover_factory(obj));
				this.addEvent('mouseleave', fn_mout_factory(obj));
			}, elm);
		});
	});
}
