var newel = null;
var oldel = null;

// 锚点(Anchor)间平滑跳转
function scroller(el, duration,ischange) {
	var newel = el;
	if (typeof el != "object") {
		el = document.getElementById(el);
	}
	if (!el) {
		return;
	}
	var z = this;
	z.el = el;
	z.p = getPos(el);
	z.s = getScroll();
	z.clear = function () {
		window.clearInterval(z.timer);
		z.timer = null;
	};
	z.clear();
	z.t = (new Date).getTime();
	z.step = function () {
		var t = (new Date).getTime();
		var p = (t - z.t) / duration;
		if (t >= duration + z.t) {
			z.clear();
			window.setTimeout(function () {
				z.scroll(z.p.y, z.p.x);
			}, 13);
			if(newel != null && ischange == null && newel != oldel){
		    document.getElementById(newel).className = 'fg_List_Titlan';
	        }
	        if(oldel != null && ischange == null && newel != oldel){
	        document.getElementById(oldel).className = 'fg_List_Tithui';
	        }
	        oldel = newel;
		} else {
			st = ((-Math.cos(p * Math.PI) / 2) + 0.5) * (z.p.y - z.s.t) + z.s.t;
			sl = ((-Math.cos(p * Math.PI) / 2) + 0.5) * (z.p.x - z.s.l) + z.s.l;
			z.scroll(st, sl);
		}
	};
	z.scroll = function (t, l) {
		window.scrollTo(l, t);
	};
	z.timer = window.setInterval(function () {
		z.step();
	}, 13);
}

// 转换为数字 
function intval(v) {
	v = parseInt(v);
	return isNaN(v) ? 0 : v;
}  
// 获取元素信息 
function getPos(e) {
	var l = 0;
	var t = 0;
	var w = intval(e.style.width);
	var h = intval(e.style.height);
	var wb = e.offsetWidth;
	var hb = e.offsetHeight;
	while (e.offsetParent) {
		l += e.offsetLeft + (e.currentStyle ? intval(e.currentStyle.borderLeftWidth) : 0);
		t += e.offsetTop + (e.currentStyle ? intval(e.currentStyle.borderTopWidth) : 0);
		e = e.offsetParent;
	}
	l += e.offsetLeft + (e.currentStyle ? intval(e.currentStyle.borderLeftWidth) : 0);
	t += e.offsetTop + (e.currentStyle ? intval(e.currentStyle.borderTopWidth) : 0);
	return {x:l, y:t, w:w, h:h, wb:wb, hb:hb};
}  
// 获取滚动条信息 
function getScroll() {
	var t, l, w, h;
	if (document.documentElement && document.documentElement.scrollTop) {
		t = document.documentElement.scrollTop;
		l = document.documentElement.scrollLeft;
		w = document.documentElement.scrollWidth;
		h = document.documentElement.scrollHeight;
	} else {
		if (document.body) {
			t = document.body.scrollTop;
			l = document.body.scrollLeft;
			w = document.body.scrollWidth;
			h = document.body.scrollHeight;
		}
	}
	return {t:t, l:l, w:w, h:h};
}
