/*
 Author : http://www.yomotsu.net
 Licensed under the GNU Lesser General Public License version 2.1
*/

/* 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);

/* 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(new RegExp("_n"+ ftype + "\\b").exec(src)) {
			
			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);


/* Open new win
----------------------------------------*/


yomotsuOpenWinConf = {
	className : "external",//リンク先を別ウインドウで開きたいa要素につけるclass名
	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);


/* clearDefaultValue
----------------------------------------*/
function yomotsuClearDefaultValue(){
	var input = document.getElementsByTagName("input");
	var textarea = document.getElementsByTagName("textarea");

	/* input */
	for (i=0;i<input.length;i++){
		if((input[i].getAttribute("type") == "text")||(input[i].getAttribute("type") == null)){
			if (input[i].value == input[i].defaultValue){
				input[i].className += " default-value"
			}
			input[i].onfocus = function(){
				if (this.value == this.defaultValue){
					this.value = "";
					this.className = this.className.replace(/ default-value/, "");
				}
			}
			input[i].onblur = function(){
				if (this.value == ""){
					this.value = this.defaultValue;
					this.className += " default-value"
				}
			}
		}
	}
	/* textarea */
	for (i=0;i<textarea.length;i++){
		if (textarea[i].value == textarea[i].defaultValue){
			textarea[i].className += " default-value"
		}
		textarea[i].onfocus = function(){
			if (this.value == this.defaultValue){
				this.value = "";
				this.className -= " default-value"
			}
		}
		textarea[i].onblur = function(){
			if (this.value == ""){
				this.value = this.defaultValue;
				this.className += " default-value"
			}
		}
	}	
}

addEvent(window, 'load', yomotsuClearDefaultValue);

/* backToTop
----------------------------------------*/

backToTopBootConf = {
	topFlag : "#document" //"ページの先頭へ戻る"のhrefの値
}

function yomotsuBackToTopBoot(){
	var a = document.getElementsByTagName("a");
	for(i=0;i<a .length;i++){
		if(new RegExp(backToTopBootConf.topFlag + "\\b").exec(a[i].getAttribute("href"))) {
			
			a[i].onclick = function(){
				this.removeAttribute("href")
				backToTop();
				this.setAttribute("href",backToTopBootConf.topFlag);
				return false;
			}
		}
	}
}


function backToTop() {
	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("backToTop()", 25);
	}
	else if (navigator.userAgent.indexOf("AppleWebKit") == -1){
		location.href = backToTopBootConf.topFlag;
	}
		
}

addEvent(window, 'load', yomotsuBackToTopBoot);


/* 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;
	}
}