/*
//////////////////////////////////////////////////////////////////////
// scroll.js
// last update : 2006.09.15
//////////////////////////////////////////////////////////////////////
*/



/* -------------------------------------------------------------------
	Config
------------------------------------------------------------------- */
var autoScrollSpeed = 20;
var autoScrollMove = 1;
var scrollTopSpeed = 30;
var targetId ='pagetop';
var positinTop = 72;


/* -------------------------------------------------------------------
	GetUserAgent
------------------------------------------------------------------- */
var uAgent = navigator.userAgent;
	this.ie  = (uAgent.indexOf('MSIE')>0);
	this.ff  = (uAgent.indexOf('Firefox')>0);
	this.sf  = (uAgent.indexOf('Safari')>0);
	this.mie  = (uAgent.indexOf('Mac')>0 && uAgent.indexOf('MSIE')>0);


/* -------------------------------------------------------------------
	floatingControlBox
------------------------------------------------------------------- */
window.onscroll = function floatingBox(){
	var scrollMeter = document.body.scrollTop;
	document.getElementById('conBox').style.top = scrollMeter + positinTop +'px' ;
}


/* -------------------------------------------------------------------
	autoScroll
------------------------------------------------------------------- */
var autoScrollTimer;

function autoScroll(){
	scrollBy(0,autoScrollMove);

	var scrollDistance = document.body.scrollTop;
		if(!this.ie) scrollDistance = window.pageYOffset;
	var documentEnd = document.body.scrollHeight - document.body.clientHeight;
		if (this.sf) documentEnd = document.height - window.innerHeight;

	if(scrollDistance >= documentEnd){
		stop();
	} else {
		autoScrollTimer = setTimeout('autoScroll()',autoScrollSpeed);
	}
}


/* -------------------------------------------------------------------
	scrollStop and setEvent
------------------------------------------------------------------- */
function stop() {
	clearTimeout(autoScrollTimer);
}

if(document.attachEvent){
	document.onmousewheel = stop;
	document.onmousedown = stop;
} else if(document.addEventListener){
	document.addEventListener('DOMMouseScroll', stop, false);
	document.addEventListener('mousedown', stop, false);
}


/* -------------------------------------------------------------------
	scrollBack
------------------------------------------------------------------- */
var scrollTopTimer;

function scrollTop(){
	var documentEnd = document.body.scrollTop;

	if(documentEnd >= 3){
		var scrollTopMove = Math.ceil(documentEnd*0.2);
	} else {
		scrollTopMove = documentEnd++;
	}

	scrollBy(0,-scrollTopMove);

	if(scrollTopMove == 0){
		clearTimeout(scrollTopTimer);
	} else {
		scrollTopTimer = setTimeout('scrollTop()',scrollTopSpeed);
	}
}


/* -------------------------------------------------------------------
	setScrollTop
------------------------------------------------------------------- */
function setScrollTop(){
	var anchorElement = document.getElementsByTagName('a');
	for (var i=0; i<anchorElement.length; i++) {
		var anchorElements = anchorElement[i];
		if(anchorElements.getAttribute('href').indexOf('#'+ targetId)>=0){
			anchorElements.href = 'javascript:scrollTop();'
		}
	}
}


/* End of Script -------------------------------------------------- */


