



var _Ver = navigator.appVersion.charAt(0);
var _Ie = ( navigator.userAgent.indexOf("MSIE") != -1 );
var _Mac = ( navigator.appVersion.indexOf("Mac") != -1 );


function vGetObj(id) {
	var d = document;
	if( d.getElementById ) return d.getElementById( id );
	if( d.all ) return d.all( id );
	return d[id];
}



function vScrollToTop() {
	vScrollTo(0);
}

function vScrollToObj( id ) {
	var y = _v_GetObjPosY(id);
	vScrollTo( y );
}

function vScrollTo( y ) {
	var w = window;
	var d = document.documentElement;
	var b = document.body;
	var mac = _Mac && _Ie;
	var windowH = (w.innerHeight) ? w.innerHeight : (!mac) ? d.offsetHeight : b.scrollHeight;
	var pageH   = (!mac) ? b.scrollHeight : d.offsetHeight;
	var maxY    = (pageH > windowH) ? pageH - windowH : 0;
	if( _v_scrollTimer ) clearInterval( _v_scrollTimer );
	_v_scrollToY = y < maxY ? y : maxY;
	_v_scrollLastY = _v_GetScrollPosY();
	_v_scrollTimer = setInterval( '_v_ScrollDo();', 20 );
}




var _v_scrollToY;
var _v_scrollLastY;
var _v_scrollTimer;

function _v_ScrollDo() {
	var d = _v_scrollLastY - _v_scrollToY;
	var done = false;
	if( Math.abs(d)<1 ) {
		done = true;
		_v_scrollLastY = _v_scrollToY;
	} else if( _v_GetScrollPosY() != Math.floor(_v_scrollLastY) ) done = true;
	else _v_scrollLastY -= d / 6;
	self.scrollTo( 0, Math.floor(_v_scrollLastY) );
	if( done ) {
		clearInterval( _v_scrollTimer );
		_v_scrollTimer = null;
	}
}



function _v_GetScrollPosY() {
	var w = window;
	var d = document.documentElement;
	var b = document.body;
	return (w.scrollY) ? w.scrollY : (d.scrollTop) ? d.scrollTop  : b.scrollTop;
}



function _v_GetObjPosY( id ) {
	var o = vGetObj(id);
	if( document.getElementById ) return o.offsetTop;
	if( _Ie ) return o.style.pixelTop;
	return o.top;
}








