// UTF-8// クロスフェードするロールオーバー処理// by KAZUMiX// http://d.hatena.ne.jp/KAZUMiX/20071017/rollover2new function(){    function setRollOver2(){        if(!document.images){return;}        var imgs = document.images;        var insert = [];        for(var i=0;i<imgs.length;i++){            var splitname = imgs[i].src.split('_rollout.');            if((splitname[1])&&(imgs[i].parentNode.tagName=='A')){                var rolloverImg = document.createElement('img');                rolloverImg.src = splitname[0]+'_rollover.'+splitname[1];                var alpha = 0;                rolloverImg.currentAlpha = alpha;                rolloverImg.style.opacity = alpha/100;                rolloverImg.style.filter = 'alpha(opacity='+alpha+')';                rolloverImg.style.position = 'absolute';                //ロールオーバー・アウト処理それぞれを設定                addEvent(rolloverImg,'mouseover',function(){setFader(this,100);});                addEvent(rolloverImg,'mouseout',function(){setFader(this,0);});                // 後で追加するために追加場所と共に保存しておく                // この時点で追加するとdocument.imagesが書き換わって不都合                insert[insert.length] = {position:imgs[i],element:rolloverImg};            }        }        // ↑で作ったロールオーバー画像を追加        for(var i=0;i<insert.length;i++){            var parent = insert[i].position.parentNode;            parent.insertBefore(insert[i].element,insert[i].position);        }    }    // 指定要素を指定透明度にするためのフェードアニメを設定する関数    function setFader(targetObj,targetAlpha){        targetObj.targetAlpha = targetAlpha;        if(targetObj.currentAlpha==undefined){            targetObj.currentAlpha = 100;        }        if(targetObj.currentAlpha==targetObj.targetAlpha){            return;        }        if(!targetObj.fading){            if(!targetObj.fader){                targetObj.fader = fader;            }            targetObj.fading = true;            targetObj.fader();        }    }    // アルファ値をターゲット値に近づける関数    // ターゲット値になったら終了    function fader(){        this.currentAlpha += (this.targetAlpha - this.currentAlpha)*0.2;        if(Math.abs(this.currentAlpha-this.targetAlpha)<1){            this.currentAlpha = this.targetAlpha;            this.fading = false;        }        var alpha = parseInt(this.currentAlpha);        this.style.opacity = alpha/100;        this.style.filter = 'alpha(opacity='+alpha+')';        if(this.fading){            var scope = this;            setTimeout(function(){fader.apply(scope)},25);        }    }    // イベントを追加する関数    function addEvent(eventTarget, eventName, func){        if(eventTarget.addEventListener){            // モダンブラウザ            eventTarget.addEventListener(eventName, func, false);        }else if(window.attachEvent){            // IE            eventTarget.attachEvent('on'+eventName, function(){func.apply(eventTarget);});        }    }    addEvent(window,'load',setRollOver2);}