/*------------------------------------------------------------
	[JavaScript framework by skylovedesign]
	
	Last Modified at 2009.11.19
	http://www.skyld.net/

------------------------------------------------------------*/


/***************************************************************************

Declaration for browser-compatibility

***************************************************************************/

var dom = new Object;
dom.event = new Object;


//add event for all browser
dom.event.addEventListener = function(elm,type,func){
	if(!elm){return false;}
	if(elm.addEventListener){
		elm.addEventListener(type,func,false);
	}else if(elm.attachEvent){
		elm.attachEvent("on"+type,func);
	}else{
		return false;
	}
	return true;
}


//remove event for all browser
dom.event.removeEventListener = function(elm,type,func){
	if(!elm){return false;}
	if(elm.removeEventListener){
		elm.removeEventListener(type,func,false);
	}else if(elm.detachEvent){
		elm.detachEvent("on"+type,func);
	}else{
		return false;
	}
	return true;
}


/***************************************************************************

Definition of function

***************************************************************************/

var jmodule = {};

/*--------------------------------------------------------------------------*
 *  image rollover
 *--------------------------------------------------------------------------*/

jmodule.smartRollover = function(){
	if(document.getElementsByTagName){
		var aPreLoad = new Array();
		var images = document.getElementsByTagName("img");

		for(var i=0; i < images.length; i++){
			if(images[i].getAttribute("src").match("_off.")){
				
				//preload
				var src = images[i].getAttribute("src");
				var ftype = src.substring(src.lastIndexOf("."), src.length);
				var hsrc = src.replace("_off"+ftype, "_on"+ftype);
				images[i].setAttribute('hsrc', hsrc);
				aPreLoad[i] = new Image();
				aPreLoad[i].src = hsrc;

				//rollover
				images[i].onmouseover = function(){
					this.setAttribute("src", this.getAttribute("src").replace("_off.", "_on."));
				}
				//rollout
				images[i].onmouseout = function(){
					this.setAttribute("src", this.getAttribute("src").replace("_on.", "_off."));
				}
			}
		}
	}
}

/*--------------------------------------------------------------------------*
 *  zebra table
 *--------------------------------------------------------------------------*/
 
jmodule.zebra = function(){
	if(document.getElementById("contents")){
		var zebraTable = jmodule.getElementsByClassName(document.getElementById("contents"),"tbody","zebra-table");
		if(zebraTable.length > 0){
			var zebraTableTr = new Array;
			for(var j = 0 ; j < zebraTable.length ; j++){
				zebraTableTr[j] = zebraTable[j].getElementsByTagName("tr");
				for(var i = 0 ; i < zebraTableTr[j].length ; i++){
					if(i%2 == 0){
						zebraTableTr[j][i].className = "zebra";
					}
				}
			}
		} else {
			return false;
		}
	} else {
		return false;
	}
}

//getElementsByClassName
jmodule.getElementsByClassName = function(oElm, strTagName, strClassName){
	
	var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
	var arrReturnElements = new Array();
	strClassName = strClassName.replace(/-/g, "\-");
	var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
	var oElement;
	for(var i=0; i<arrElements.length; i++){
		oElement = arrElements[i];
		if(oRegExp.test(oElement.className)){
			arrReturnElements.push(oElement);
		}
	}
	return arrReturnElements;
	
}


/*--------------------------------------------------------------------------*
 *  
 *  SmoothScroll JavaScript Library beta1
 *  
 *  MIT-style license. 
 *  
 *  2007 Kazuma Nishihata 
 *  http://www.webcreativepark.net
 *  
 *  modified by www.skyld.net 
 *  
 *--------------------------------------------------------------------------*/

jmodule.SmoothScroll = function(){
	
	var anchors = document.getElementsByTagName("a");
	for(var i = 0 ; i<anchors.length ; i++){
		if(anchors[i].href.replace(/\#[-_a-zA-Z0-9]+/,"") == location.href.replace(/\#[-_a-zA-Z0-9]+/,"")){
			anchors[i].rel = anchors[i].href;
			anchors[i].href = "javascript:void(0)";
			anchors[i].onclick=function(){SmoothScrollControl(this)}
		}
	}
	
	SmoothScrollControl = function(a){

		if(document.getElementById(a.rel.replace(/.*\#/,""))){
			var e = document.getElementById(a.rel.replace(/.*\#/,""));
		}else{
			return;
		}
		
		//移動位置
		//var end=e.offsetTop;
		
		//移動位置(IE6 Bug-Fix)
		var end = 0;
		do {
			end += e.offsetTop || 0;
			e = e.offsetParent;
		} while (e);
	
		//現在位置
		var start=window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;
		
		var flag=(end<start)?"up":"down";
	
		function scrollMe(start,end,flag){
	
			setTimeout(
				function(){
					if(flag=="up" && start >= end){
						start=start-(start-end)/20-1;
						window.scrollTo(0,start)
						arguments.callee(start,end,flag);
	
					}else if(flag=="down" && start <= end){
						start=start+(end-start)/20+1;
	
						window.scrollTo(0,start)
						arguments.callee(start,end,flag);
	
					}else{
						scrollTo(0,end);
					}
				}
				,200
			);
			
		}
		
		scrollMe(start,end,flag);
		
	}
}

//window open
function wopen(file){
	window.open(file,"win","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,width=800,height=650");
}

function wopen02(file){
	window.open(file,"win","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=600,height=550");
}

function wopen03(file){
	window.open(file,"win","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=750,height=550");
}

function wopens(file,w,h){
	window.open(file,"win","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width="+w+",height="+h);
}

//google map
jmodule.gmapa = function(){
	if(document.getElementById('mapa')){
		if(GBrowserIsCompatible()){
			//マップを表示するブロック
			var map = new GMap2(document.getElementById("mapa"));
			//中央座標を指定
			point = new GLatLng(33.557804, 130.46134);
			map.setCenter(point); // set global location
			map.setZoom(12); // set zoom-scale
			//マーカーの座標を指定
			var marker = new GMarker(point);
			//マーカーをセット
			map.addOverlay(marker);
		}
	} else {
		return false;
	}
}

//Page Prit
function pagePrint(){
	window.print();
	return false;
}


/***************************************************************************

Control function

***************************************************************************/

dom.event.addEventListener(window,'load',jmodule.smartRollover);
dom.event.addEventListener(window,'load',jmodule.zebra);
dom.event.addEventListener(window,'load',jmodule.SmoothScroll);
//dom.event.addEventListener(window,'load',jmodule.gmapa);


