
/* fontsize fix for Mac FF & Mac NN
----------------------------------------*/
function yomotsuFontSizeFix(){
	var macFF =(navigator.userAgent.indexOf("Firefox/") >= 0) && (navigator.userAgent.indexOf("Mac") >= 0) && !window.opera;
	var macNN =(navigator.userAgent.indexOf("Netscape/") >= 0) && (navigator.userAgent.indexOf("Mac") >= 0) && !window.opera;
	if ((macFF||macNN)){
		var fSize = document.defaultView.getComputedStyle(document.body, "").getPropertyValue("font-size");
		
		if (fSize.lastIndexOf("px") >= 0){
			fSize = fSize.slice(0, -2);
			document.body.style.fontSize = Math.round(fSize*1.15)+"px";
		}
	}
}

addEvent(window, "load", yomotsuFontSizeFix);

/* g-nav rollover
----------------------------------------*/
function gNavRolloverImage() {
	if (!document.getElementById) return
	if (document.getElementById("gNav") == null) return
	
	var aPreLoad = new Array();
	var sTempSrc;
	var aImages = document.getElementById("gNav").getElementsByTagName('img');

	for (var i = 0; i < aImages.length; i++) {		
		if (aImages[i].parentNode.nodeName == "A") {
			var src = aImages[i].getAttribute('src');
			var ftype = src.substring(src.lastIndexOf('.'), src.length);
			var hsrc = src.replace(ftype, '_act'+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('_act'+ftype, ftype);
				this.setAttribute('src', sTempSrc);
			}
			
				aImages[i].onfocus = function() {
				sTempSrc = this.getAttribute('src');
				this.setAttribute('src', this.getAttribute('hsrc'));
			}	
			
			aImages[i].onblur = function() {
				if (!sTempSrc) sTempSrc = this.getAttribute('src').replace('_act'+ftype, ftype);
				this.setAttribute('src', sTempSrc);
			}
		}
	}
}

addEvent(window, 'load', gNavRolloverImage); 


/* l-nav rollover
----------------------------------------*/
function lNavRolloverImage() {
	if (!document.getElementById) return
	if (document.getElementById("lNav") == null) return
	
	var aPreLoad = new Array();
	var sTempSrc;
	var aImages = document.getElementById("lNav").getElementsByTagName('img');

	for (var i = 0; i < aImages.length; i++) {		
		if (aImages[i].parentNode.nodeName == "A") {
			var src = aImages[i].getAttribute('src');
			var ftype = src.substring(src.lastIndexOf('.'), src.length);
			var hsrc = src.replace(ftype, '_act'+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('_act'+ftype, ftype);
				this.setAttribute('src', sTempSrc);
			}
			
				aImages[i].onfocus = function() {
				sTempSrc = this.getAttribute('src');
				this.setAttribute('src', this.getAttribute('hsrc'));
			}	
			
			aImages[i].onblur = function() {
				if (!sTempSrc) sTempSrc = this.getAttribute('src').replace('_act'+ftype, ftype);
				this.setAttribute('src', sTempSrc);
			}
		}
	}
}

addEvent(window, 'load', lNavRolloverImage); 


/* open blank window
----------------------------------------*/
yomotsuOpenWinConf = {
	className : "external",
	fileTypes : ["pdf","doc","xls","ppt"]
}

var fileTypesReg = "";
for(i = 0; i <yomotsuOpenWinConf.fileTypes.length; i++){
	fileTypesReg += "."+yomotsuOpenWinConf.fileTypes[i]+"|"
}
fileTypesReg=fileTypesReg.slice(0, -1);

function yomotsuOpenWin() {
var a = document.getElementsByTagName("a");
	for (i = 0; i <a.length; i++) {
		if (new RegExp("\\b" + yomotsuOpenWinConf.className + "\\b").exec(a[i].className)||
		(new RegExp(fileTypesReg).exec(a[i].getAttribute("href")))){

			a[i].onclick = function() {
				var href = this.getAttributeNode("href").value;
				this.setAttribute("href","javascript:;");	
				window.open(href, "", "toolbar=yes, location=yes, directories=yes, status=yes, menubar=yes, scrollbars=yes, resizable=yes, close=yes");
				this.setAttribute("href",href);
				return false;
			}
			a[i].onkeypress = function() {
				var href = this.getAttributeNode("href").value;
				this.setAttribute("href","javascript:;");	
				window.open(href, "", "toolbar=yes, location=yes, directories=yes, status=yes, menubar=yes, scrollbars=yes, resizable=yes, close=yes");
				this.setAttribute("href",href);
				return false;
			}
			
		}
	}
}

addEvent(window, 'load', yomotsuOpenWin);

/* first-child_last-child
----------------------------------------*/
var firstChildTargetId      = new Array("");
var firstChildTargetElement = new Array("");
var lastChildTargetId      = new Array("");
var lastChildTargetElement = new Array("");

function setFirstChildAndLastChild(){
	var fc  = firstChildTargetId;
	var fcE = firstChildTargetElement;
	var lc  = lastChildTargetId;
	var lcE = lastChildTargetElement;
	
	/* first-child */
	for (i = 0;i<fc.length;i++ ){
		/* remove "#" */
		if (fc[i].indexOf("#") >= 0){
			fc[i] = fc[i].replace("#", "");
			fcE[i] = fcE[i].toUpperCase();
			/* serch first-child element */
			for (j = 0;j<document.getElementById(fc[i]).childNodes.length;j++ ){			
				if( document.getElementById(fc[i]).childNodes[j].nodeName != "#text" ){
				break;
				}
			}
			/* set classname */
			if (document.getElementById(fc[i]).childNodes[j].nodeName == fcE[i]){
				document.getElementById(fc[i]).childNodes[j].className += " firstChild";
			}
			else if (fcE[i] == "*"){
				document.getElementById(fc[i]).childNodes[j].className += " firstChild";
			}
		}
	}
	/* last-child */
	for (i = 0;i<lc.length;i++ ){
		/* remove "#" */
		if (lc[i].indexOf("#") >= 0){
			lc[i] = lc[i].replace("#", "");
			lcE[i] = lcE[i].toUpperCase();
			/* serch first-child element */
			for (j = document.getElementById(lc[i]).childNodes.length - 1; j > 0; j-- ){	
				if( document.getElementById(lc[i]).childNodes[j].nodeName != "#text" ){
				break;
				}
			}
			/* set classname */
			if (document.getElementById(lc[i]).childNodes[j].nodeName == lcE[i]){
				document.getElementById(lc[i]).childNodes[j].className += "lastChild";
			}
			else if (lcE[i] == "*"){
				document.getElementById(lc[i]).childNodes[j].className += "lastChild";
			}
		}
	}	
}

addEvent(window, 'load', setFirstChildAndLastChild);

/* scrollToTop
----------------------------------------*/

backToTopConf = {
	topId : "#header"
}

function backToTop(){
	var a = document.getElementsByTagName("a");
	for(i=0;i<a.length;i++){
		if(a[i].getAttribute("href").lastIndexOf(backToTopConf.topId)!=-1){
			
			a[i].onclick = function(){
				this.removeAttribute("href")
				scrollToTop();
				this.setAttribute("href",backToTopConf.topId);
				return false;
			}
		}
	}  
}

function scrollToTop() {

	var x1 = x2 = x3 = 0;
	var y1 = y2 = y3 = 0;
	
	
	if (document.documentElement) {
		x1 = document.documentElement.scrollLeft || 0;
		y1 = document.documentElement.scrollTop || 0;
	}
	
	if (document.body) {
		x2 = document.body.scrollLeft || 0;
		y2 = document.body.scrollTop || 0;
	}
	
	x3 = window.scrollX || 0;
	y3 = window.scrollY || 0;
	
	var x = Math.max(x1, Math.max(x2, x3));
	var y = Math.max(y1, Math.max(y2, y3));
	
	window.scrollTo(Math.floor(x / 1.3), Math.floor(y / 1.3));
	
	if (x > 0 || y > 0) {
		window.setTimeout("scrollToTop()", 30);
	}
}

addEvent(window, 'load', backToTop);


/* add event
----------------------------------------*/

function addEvent(obj, evType, fn){
	if (obj.addEventListener){
		obj.addEventListener(evType, fn, false);
		return true;
	}
	else if (obj.attachEvent){
		var r = obj.attachEvent("on"+evType, fn);
		return r;
	}
	else {
		return false;
	}
}

