/*
 *  名称: smoothScroll.js
 *  用途: 可使同一页面内各锚点之间的滚动等为平滑
 *  用法: 将该js文件引入页面即可
 *  作者: wong2
 *  联系: wonderfuly@gmail.com
 *  最后修改: 2010/9/26
 */

var _fast = 100;
var _medium = 10;
var _slow = 50;

var scrollTimer, destiY;
var moveby = 15;

if(navigator.userAgent.indexOf("AppleWebKit") != -1){
	//Chrome or Safari
	var _type = 1;
}
else{
	//Firefox or IE
	var _type = 0;
}

function getY(e){
	var y = 0;
	while(e){
		y += e.offsetTop;
		e = e.offsetParent;
	}
	return y;
}

function smoothScrollToAnchor(originObj, move_speed)
{
    clearInterval(scrollTimer);
	var anchorName = originObj.href.split("#")[1];
	var speed = move_speed || _medium;
	if (_type) {
		var originY = document.body.scrollTop;
	}
	else {
		var originY = document.documentElement.scrollTop;
	}
	destiY = getY(document.getElementsByName(anchorName)[0]);
	moveby *= (destiY-originY > 0 ? 1:-1);
	scrollTimer = setInterval(smoothScroll, speed);
}

function smoothScroll(){
	if (_type) {
		var y = document.body.scrollTop;
	}else{
		var y = document.documentElement.scrollTop;
	}
	if(y >= destiY-Math.abs(moveby) && y <= destiY+Math.abs(moveby)){
		if (_type) {
			document.body.scrollTop = destiY;
		}else{
			document.documentElement.scrollTop = destiY;
		}
		clearInterval(scrollTimer);
		destiY = 0;
		moveby = Math.abs(moveby);
	}
	else{
		if (_type) {
			document.body.scrollTop = y + moveby;
		}else{
			document.documentElement.scrollTop = y + moveby;
		}
	}
}

