var foParam1 = '_off.';    //通常表示画像名
var foParam2 = '_on.';     //オンマウス表示画像名
var foParam3 = 40;         //フェイドの時間設定


new function(){
	function set01FadeOver(){
		if(!document.images){return;}
		var imgfile = document.images;
		var inbox = [];
		for(var i=0;i<imgfile.length;i++){
		var imgname = imgfile[i].src.split(foParam1);
			if((imgname[1])&&(imgfile[i].parentNode.tagName=='A')){
				var OnImg = document.createElement('img');
				OnImg.src = imgname[0]+foParam2+imgname[1];
				var effect = 0;
				OnImg.currentEffect = effect;
				OnImg.style.opacity = effect/100;
				OnImg.style.filter = 'alpha(opacity='+effect+')';
				OnImg.style.position = 'absolute';

				add01FadeOver(OnImg,'mouseover',function(){setINIfade(this,100);});
				add01FadeOver(OnImg,'mouseout',function(){setINIfade(this,0);});
				inbox[inbox.length] = {position:imgfile[i],element:OnImg};
			}
		}
		for(var i=0;i<inbox.length;i++){
			var parent = inbox[i].position.parentNode;
			parent.insertBefore(inbox[i].element,inbox[i].position);
		}
	}


	function setINIfade(targetAbc,targetEffect){
		targetAbc.targetEffect = targetEffect;
		if(targetAbc.currentEffect==undefined){
			targetAbc.currentEffect = 100;
		}
		if(targetAbc.currentEffect==targetAbc.targetEffect){
			return;
		}
		if(!targetAbc.fading){
			if(!targetAbc.fadeCon){
				targetAbc.fadeCon = fadeCon;
			}
			targetAbc.fading = true;
			targetAbc.fadeCon();
		}
	}


	function fadeCon(){
		this.currentEffect += (this.targetEffect - this.currentEffect)*0.2;
		if(Math.abs(this.currentEffect-this.targetEffect)<1){
			this.currentEffect = this.targetEffect;
			this.fading = false;
		}
		var effect = parseInt(this.currentEffect);
		this.style.opacity = effect/100;
		this.style.filter = 'alpha(opacity='+effect+')';
		if(this.fading){
			var scope = this;
			setTimeout(function(){fadeCon.apply(scope)},foParam3);
		}
	}


	function add01FadeOver(param01fo, param02fo, param03fo){
		if(param01fo.addEventListener){
			param01fo.addEventListener(param02fo, param03fo, false);
		}else if(window.attachEvent){
			param01fo.attachEvent('on'+param02fo, function(){param03fo.apply(param01fo);});
		}
	}

	add01FadeOver(window,'load',set01FadeOver);

}


