//ボタンhoverの透明化
//Gradual Elements Fader- By Dynamic Drive at http://www.dynamicdrive.com  
//Last updated: Nov 8th, 07'  
  
var gradualFader={}  
  
gradualFader.baseopacity=0 //set base opacity when mouse isn't over element (decimal below 1)  
gradualFader.increment=0.2 //amount of opacity to increase after each iteration (suggestion: 0.1 or 0.2)  
  
document.write('<style type="text/css">\n') //write out CSS to enable opacity on "gradualfader" class  
document.write('.gradualfader{filter:progid:DXImageTransform.Microsoft.alpha(opacity='+gradualFader.baseopacity*100+'); -moz-opacity:'+gradualFader.baseopacity+'; opacity:'+gradualFader.baseopacity+';}\n')  
document.write('</style>')  
  
gradualFader.setopacity=function(obj, value){ //Sets the opacity of targetobject based on the passed in value setting (0 to 1 and in between)  
    var targetobject=obj  
    if (targetobject && targetobject.filters && targetobject.filters[0]){ //IE syntax  
        if (typeof targetobject.filters[0].opacity=="number") //IE6  
            targetobject.filters[0].opacity=value*100  
        else //IE 5.5  
            targetobject.style.filter="alpha(opacity="+value*100+")"  
        }  
    else if (targetobject && typeof targetobject.style.MozOpacity!="undefined") //Old Mozilla syntax  
        targetobject.style.MozOpacity=value  
    else if (targetobject && typeof targetobject.style.opacity!="undefined") //Standard opacity syntax  
        targetobject.style.opacity=value  
    targetobject.currentopacity=value  
}  
  
gradualFader.fadeupdown=function(obj, direction){  
    var targetobject=obj  
    var fadeamount=(direction=="fadeup")? this.increment : -this.increment  
    if (targetobject && (direction=="fadeup" && targetobject.currentopacity<1 || direction=="fadedown" && targetobject.currentopacity>this.baseopacity)){  
        this.setopacity(obj, targetobject.currentopacity+fadeamount)  
        window["opacityfader"+obj._fadeorder]=setTimeout(function(){gradualFader.fadeupdown(obj, direction)}, 80)  
    }  
}  
  
gradualFader.clearTimer=function(obj){  
if (typeof window["opacityfader"+obj._fadeorder]!="undefined")  
    clearTimeout(window["opacityfader"+obj._fadeorder])  
}  
  
gradualFader.isContained=function(m, e){  
    var e=window.event || e  
    var c=e.relatedTarget || ((e.type=="mouseover")? e.fromElement : e.toElement)  
    while (c && c!=m)try {c=c.parentNode} catch(e){c=m}  
    if (c==m)  
        return true  
    else  
        return false  
}  
  
gradualFader.fadeinterface=function(obj, e, direction){  
    if (!this.isContained(obj, e)){  
        gradualFader.clearTimer(obj)  
        gradualFader.fadeupdown(obj, direction)  
    }  
}  
  
gradualFader.collectElementbyClass=function(classname){ //Returns an array containing DIVs with specified classname  
    var classnameRE=new RegExp("(^|\\s+)"+classname+"($|\\s+)", "i") //regular expression to screen for classname within element  
    var pieces=[]  
    var alltags=document.all? document.all : document.getElementsByTagName("*")  
    for (var i=0; i<alltags.length; i++){  
        if (typeof alltags[i].className=="string" && alltags[i].className.search(classnameRE)!=-1)  
            pieces[pieces.length]=alltags[i]  
    }  
    return pieces  
}  
  
gradualFader.init=function(){  
    var targetobjects=this.collectElementbyClass("gradualfader")  
    for (var i=0; i<targetobjects.length; i++){  
        targetobjects[i]._fadeorder=i  
        this.setopacity(targetobjects[i], this.baseopacity)  
        targetobjects[i].onmouseover=function(e){gradualFader.fadeinterface(this, e, "fadeup")}  
        targetobjects[i].onmouseout=function(e){gradualFader.fadeinterface(this, e, "fadedown")}  
    }  
}


/*
	Standards Compliant Rollover Script
	Author : Daniel Nolan
	http://www.bleedingego.co.uk/webdev.php
*/

function initRollovers() {
	if (!document.getElementById) return
	
	var aPreLoad = new Array();
	var sTempSrc;
	var aImages = document.getElementsByTagName('img');

	for (var i = 0; i < aImages.length; i++) {		
		if (aImages[i].className == 'imgover') {
			var src = aImages[i].getAttribute('src');
			var ftype = src.substring(src.lastIndexOf('.'), src.length);
			var hsrc = src.replace(ftype, '_on'+ftype);

			aImages[i].setAttribute('hsrc', hsrc);
			
			aPreLoad[i] = new Image();
			aPreLoad[i].src = hsrc;
			
			aImages[i].onmouseover = function() {
				sTempSrc = this.getAttribute('src');
				this.setAttribute('src', this.getAttribute('hsrc'));
			}	
			
			aImages[i].onmouseout = function() {
				if (!sTempSrc) sTempSrc = this.getAttribute('src').replace('_on'+ftype, ftype);
				this.setAttribute('src', sTempSrc);
			}
		}
	}
}

window.onload = initRollovers;




/*
ページのトップへスクロールして移動
(c)Sapphirus.Biz

HREFに「#TOP」（大文字・小文字の区別は無し）があるリンクを
クリックした場合、スクロールしてページの一番上に移動します。
Ex.) <a href="#TOP">PAGE TOP</a>
*/
function setGoTop() {
	var aTagList = document.getElementsByTagName('a');
	for (var i = 0; i < aTagList.length; i++) {
		if (aTagList[i].href.match(/#top/i)) {
			aTagList[i].onclick = goPageTop;
		}
	}
}
var goTopMove = 20; // 加速度（0:停止〜大きいほど遅くなる）
var goTopPosi;
function goPageTop() { // 距離取得と実行
	var yPos = document.body.scrollTop || document.documentElement.scrollTop;
	mObj(yPos);
	return false;
}
function mObj(y, s) { // 上に加速移動
	if (s) goTopMove = s;
	goTopPosi = parseInt(y - y * 2 / goTopMove);
	scrollTo(0, goTopPosi);
	if (goTopPosi > 0) setTimeout('mObj(goTopPosi, goTopMove)', 1);
}
if (window.addEventListener) window.addEventListener('load', setGoTop, false);
if (window.attachEvent) window.attachEvent('onload', setGoTop);
