SmoothScroll = {

	easeOut:8,  

	scrollPos: function (){
        if( typeof(window.pageYOffset) == 'number' ) return window.pageYOffset; 
        else if( document.body && document.body.scrollTop ) return document.body.scrollTop;
        else if( document.documentElement && document.documentElement.scrollTop ) return document.documentElement.scrollTop;
	    return 0;
	},

	scroll: function(destPos){
		var curPos = SmoothScroll.scrollPos();
		var newPos = Math.ceil(curPos + (destPos-curPos) / SmoothScroll.easeOut);
        var diff = Math.abs(curPos - newPos);
        if (diff < 15) { 
           newPos = Math.ceil(curPos + (destPos-curPos) / (SmoothScroll.easeOut / 2));
        }
	  	if(SmoothScroll.curPos == newPos) {
	  	    window.scrollTo(0, destPos);
            clearInterval(SmoothScroll.interval);
	  	} else {
	  	    window.scrollTo(0, newPos);
	  	    SmoothScroll.curPos = newPos;
        }	  	  
	},       
	
	scrollTo: function(destPos){  
   		clearInterval(SmoothScroll.interval);
   		SmoothScroll.interval = setInterval('SmoothScroll.scroll('+destPos+')',10);     
	}
	
}
