// EUC-JP

(function(){

    var addEvent = function(eventTarget,eventName,func){};
    if(window.addEventListener){ // モダンブラウザ
        addEvent = function(eventTarget,eventName,func){eventTarget.addEventListener(eventName, func, false);}
    }else if(window.attachEvent){ // IE
        addEvent = function(eventTarget,eventName,func){eventTarget.attachEvent('on'+eventName, function(){func.apply(eventTarget);});}
    }


    changeStyle();
				setRollOver2();

    // CSS切り替え用
    function changeStyle(){
        //クエリーにstylesheetがあれば切り替え関数呼び出し
        location.search.match(/\bstylesheet=([\w]+)/);
        var titleValue = RegExp.$1;
        if(titleValue){
            changeStyle(titleValue);
        }

        // CSS切り替え関数
        // 引数titleValueと一致したtitle属性を持つlink要素を有効にする
        // 一致しなかったものは無効にする
        // もともとtitle属性が無いものには何もしない
        function changeStyle(titleValue){
            //relとtitle属性の有るlinkを配列に格納
            //var links = $('link[@rel*=style][@title]');
            var head = document.getElementsByTagName('head')[0];
            var allLinks = head.getElementsByTagName('link');
            var links = [];
            for(var i=0; i<allLinks.length; i++){
                var link = allLinks[i];
                var linkRel = link.getAttribute('rel');
                var linkTitle = link.getAttribute('title');
                if(linkTitle && linkRel.match(/\bstylesheet\b/)){
                    links.push(link);
                }
            }
            //すべてDOMから撤去する
            var matchedLink;
            for(var i=0;i<links.length;i++){
                links[i].disabled = true;
                links[i].parentNode.removeChild(links[i]);
                //引数と一致したものをmatchedLinkに保存する
                if(links[i].title == titleValue){
                    matchedLink = links[i];
                }
            }
            if(!matchedLink)return;
            //有効にするlinkのrelをstylesheetにし、新規にDOMに追加
            var link = document.createElement('link');
            link.disabled = true;
            var attrs = matchedLink.attributes;
            for(var i=0;i<attrs.length;i++){
                var nodeValue = attrs[i].nodeValue;
                var nodeName = attrs[i].nodeName;
                if(nodeValue){
                    if(nodeName=='rel'){
                        nodeValue='stylesheet';
                    }
                    link.setAttribute(nodeName,nodeValue);
                }
            }
            head.appendChild(link);
            link.disabled = false;
        }
    }
    
    // ロールオーバー割り当て関数
    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'))continue;

            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.3;
        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)},30);
        }
    }


})();

// イベントCV表示用
function showhide(id) {
	var obj = document.getElementById(id);

	if (obj.style.display == 'none') {
		obj.style.display = 'block';
	} else {
		obj.style.display = 'none';
	}
}
