/* rollover
----------------------------------------*/

function yomotsuRollover() {
	if (!document.getElementById) return
	
	var img = document.getElementsByTagName("img");
	
	for(i=0;i<img.length;i++){

		var src   = img[i].getAttribute("src");
		var ftype = src.substring(src.lastIndexOf("."), src.length);
		
		if(src.slice(0, -1*ftype.length+1).lastIndexOf("_n.") >= 0){
			
			img[i].onmouseover = function() {
				var curSrc   = this.getAttribute("src");
				var curFtype = curSrc.substring(curSrc.lastIndexOf("."), curSrc.length);
				this.setAttribute("src", curSrc.slice(0, -1*(curFtype.length + 2)) + "_r" + curFtype);
			}	
			
			img[i].onmouseout = function() {
				var curSrc   = this.getAttribute("src");
				var curFtype = curSrc.substring(curSrc.lastIndexOf("."), curSrc.length);
				this.setAttribute("src", curSrc.slice(0, -1*(curFtype.length + 2)) + "_n" + curFtype);
			}
			
		}
	}
}

addEvent(window, "load", yomotsuRollover);

/* IE png
----------------------------------------*/
function yomotsuIePng(){
	if (document.all && !window.opera && !window.XMLHttpRequest && (typeof document.getElementsByTagName("body")[0].style.outline == "undefined"))/* IE+Opera - opera - ie7up - macIE */{
		for (var i = 0; i <document.getElementsByTagName("img").length; i++) { 
		
		if (document.getElementsByTagName("img")[i].getAttribute("src").lastIndexOf(".png") != -1){
			
			var pngSrc = document.getElementsByTagName("img")[i].getAttribute("src");
			var blankSrc = pngSrc.slice(0, pngSrc.lastIndexOf("/")+1) + "blank.gif";
			
			document.getElementsByTagName("img")[i].style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+pngSrc+"')";
			document.getElementsByTagName("img")[i].setAttribute("src",blankSrc);
			
			}
		}
	}
}

addEvent(window, 'load', yomotsuIePng);


/* altenation table
----------------------------------------*/
function yomotsuAlternationTable(){
	var table = document.getElementsByTagName("table");
	
	for(i=0;i<table.length;i++){
		var tr = table[i].getElementsByTagName("tr");
		for(ii=0;ii<tr.length;ii++){
			if(ii%2==0){
				tr[ii].className += " odd";
			}
			else{
				tr[ii].className += " even";
			}
		}		
	}
}

addEvent(window, 'load', yomotsuAlternationTable);



/* for table decoration
----------------------------------------*/

function datatableSpacer (){
	var table = document.getElementsByTagName("table");

	for(i=0;i<table.length;i++){
	 if (/\bdatatable\b/.exec(table[i].className)) {
			var div = document.createElement("div");
			div.className="datatable-spacer";
			table[i].parentNode.insertBefore(div,table[i].nextSibling);
		}
	}
}

addEvent(window, 'load', datatableSpacer);

/* open win
----------------------------------------*/

yomotsuOpenWinConf = {
	className : "external",
	popupClassName : "detail",
	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;
			}
			
		}
		
		else if (new RegExp("\\b" + yomotsuOpenWinConf.popupClassName + "\\b").exec(a[i].className)){

			a[i].onclick = function() {
				var href = this.getAttributeNode("href").value;
				this.setAttribute("href","javascript:;");	
				window.open(href, "", "width=610, height=670, toolbar=no, location=no, directories=no, status=yes, menubar=no, 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, "", "width=610, height=670, toolbar=no, location=no, directories=no, status=yes, menubar=no, scrollbars=yes, resizable=yes, close=yes");
				this.setAttribute("href",href);
				return false;
			}
			
		}
	}
}

addEvent(window, 'load', yomotsuOpenWin);


/* scrollToTop
----------------------------------------*/

backToTopConf = {
	topId : "#header"//topへ戻るで戻り先に指定しているID
}

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));
	
	//xとyが0になるまでbackToTop()をインターバルで実行
	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;
	}
}
