/***************************************************************************

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


/***************************************************************************

Control function

***************************************************************************/

dom.event.addEventListener(window,'load',smartRollover);
dom.event.addEventListener(window,'load',zebra);
dom.event.addEventListener(window,'load',SmoothScroll);


/***************************************************************************

Definition of function

***************************************************************************/

/*--------------------------------------------------------------------------*
 *  image rollover
 *--------------------------------------------------------------------------*/

function smartRollover() {
	if(document.getElementsByTagName) {
		var images = document.getElementsByTagName("img");

		for(var i=0; i < images.length; i++) {
			if(images[i].getAttribute("src").match("_off."))
			{
				images[i].onmouseover = function() {
					this.setAttribute("src", this.getAttribute("src").replace("_off.", "_on."));
				}
				images[i].onmouseout = function() {
					this.setAttribute("src", this.getAttribute("src").replace("_on.", "_off."));
				}
			}
		}
	}
}

/*--------------------------------------------------------------------------*
 *  zebra table
 *--------------------------------------------------------------------------*/
 
function zebra(){
	var zebraTable = getElementsByClassName(document.getElementById("contents"),"tbody","zebra-table");
	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";
				}
		}
	}
}

function getElementsByClassName(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
 *  
 *--------------------------------------------------------------------------*/

function SmoothScroll(){
	if(document.body.id != 'top'){
		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)}
			}
		}
	}
}

function SmoothScrollControl(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)
}


