/**
 * fade
 * 2010/03/04
 */


Kaas.ready(function() {
	Kaas.fade.init();
	Kaas.pulldownMenu.init('7', ['gN0', 'gN1', 'gN2', 'gN3']);
});


Kaas.fade = {
	
	//targetClass 使わない時はコメントアウト
	targetClass : 'fade',
	interval: 20,
	opacity : .8,
	

	init: function() {
		
		var imgs = document.getElementsByTagName('img');
		for (var i = 0, l = imgs.length; i < l; i++) this.set(imgs[i], i);
		
		if(Kaas.fade.targetClass !== undefined) this.setAnchor(Kaas.fade.targetClass);
			
	},
	
	
	set: function(target) {
			
		var t = Kaas.$(target);
		var _src = t.getAttribute('src');
		t.index = (typeof arguments[1] == 'number')? arguments[1] : 0;
		
		if (_src && _src.match(/_fade\./)) Kaas.fade.setMouseEventFade(t);
			
	},
	
	
	setAnchor: function(target) {
		
		var elm = document.getElementsByTagName('*');
		
		for(var j = 0, m = elm.length; j < m; j++) {
			
			if(Kaas.hasClassName(elm[j], target)) {
				
				var _a = elm[j].getElementsByTagName('a');
				for(var k = 0, n = _a.length; k < n; k++) this.setMouseEventFade(_a[k], k);
			}
		}
	},
	
	
	setMouseEventFade: function(target) {
		
		if (!target) return;
		
		var t = Kaas.$(target);
	
		t.style.filter = 'alpha(opacity=100)';
		t.style.opacity = '1';
		t.style.MozOpacity = '1';
		
		t.onmouseover = function() { Kaas.fade.fadeEvent(t, 'on');};
		t.onmouseout = t.onmouseup = function() { Kaas.fade.fadeEvent(t, 'off');};
		
	},
	
	
	fadeEvent: function(t, mouse) {
		
		if (t.fade) clearTimeout(t.fade);
		
		if(t.style.filter) {
			var xxx = t.style.filter.replace(/alpha\(opacity=/,'');
			var startOpacity = xxx.replace(/\)/,'');
			
		} else if (t.style.opacity) { var startOpacity = t.style.opacity.toString() * 100;
		} else { var startOpacity = t.style.MozOpacity.toString() * 100;
		}
		
		if (mouse == 'on') var finalOpacity = Kaas.fade.opacity * 100;
		if (mouse == 'off') var finalOpacity = 100;
		
		if(startOpacity == finalOpacity) return false;
		if(startOpacity > finalOpacity) startOpacity--;
		if(startOpacity < finalOpacity) startOpacity++;
		
		t.style.filter = 'alpha(opacity=' + startOpacity + ')';
		t.style.opacity = startOpacity.toString() / 100;
		t.style.MozOpacity = startOpacity.toString() / 100;
		
		var repeat = function(){ Kaas.fade.fadeEvent(t, mouse);};
		
		t.fade = setTimeout(repeat, Kaas.fade.interval);
		
	}
	
}


/**
 * pulldownMenu
 * 2010/03/04
 */


Kaas.pulldownMenu = {
	
	init: function(ie, t){
		
		if (Kaas.isIEVer(ie)){
						 
			for (var i = 0, l = t.length; i < l; i++){
				
				var target = document.getElementById(t[i]);
				
				target.onmouseover = function(){ this.getElementsByTagName('ul')[0].style.display = 'block'};
				target.onmouseout = function(){ this.getElementsByTagName('ul')[0].style.display = 'none'};
				
			}
		}
	}
}

