//toAnchor();で呼び出します
/*user-defined object check*/
/*NS4 = 1, IE4 = 2, IE5+ = 3, NS6 = 4, others = 0*/
checkObj = document.all?(document.getElementById?3:2):(document.getElementById?4:(document.layers?1:0));
function initObj(){
	checkObj = document.all?(document.getElementById?3:2):(document.getElementById?4:(document.layers?1:0));
	}

function getWindowXOffset(){
	if(checkObj == 2 || checkObj == 3){
		return document.body.scrollLeft;
	}else if(checkObj == 1 || checkObj == 4){
		return window.pageXOffset;
	}else{
		return 0;
	}
}

function getWindowYOffset(){
	if(checkObj == 2 || checkObj == 3){
		return document.body.scrollTop;
	}else if(checkObj == 1 || checkObj == 4){
		return window.pageYOffset;
	}else{
		return 0;
	}
}

/*PageScroller*/
var pageScrollTimer;
function pageScroll(toX,toY,frms,cuX,cuY) {
	if(pageScrollTimer) clearTimeout(pageScrollTimer);
	if(!toX || toX < 0) toX = 0;
	if(!toY || toY < 0) toY = 0;
	if(!cuX) cuX = 0 + getWindowXOffset();
	if(!cuY) cuY = 0 + getWindowYOffset();
	if(!frms) frms = 6;

	cuX += (toX - getWindowXOffset()) / frms;
	if (cuX < 0) cuX = 0;
	cuY += (toY - getWindowYOffset()) / frms;
	if (cuY < 0) cuY = 0;
	posX = Math.floor(cuX);
	posY = Math.floor(cuY);
	window.scrollTo(posX, posY);
	if(posY < 1){
		window.scroll(0,0);
	}else if(posX != toX || posY != toY){
		pageScrollTimer = setTimeout("pageScroll("+toX+","+toY+","+frms+","+cuX+","+cuY+")",16);
	}else{
		clearTimeout(pageScrollTimer);
	}
}

function Scroll(idName) {
	if(checkObj == 1 || checkObj == 2 || checkObj == 3 || checkObj == 4){
		if(!!idName){
			anchorX = 0;
			anchorY = getTagTop(idName);
			mouseX = getWindowXOffset();
			mouseY = getWindowYOffset();
			endY = endPositionY();
			if(anchorY < 1){
				location.hash = idName;
			}else if(anchorY > endY){
				pageScroll(anchorX,endY,6,mouseX,mouseY);
			}else{
				pageScroll(anchorX,anchorY,6,mouseX,mouseY);
			}
		}else{
			pageScroll(0,0,6);
		}
	}else{
		if(!!idName){
			location.hash = idName;
		}else{
			location.hash = "top";
		}
	}
}
