// #require mootools.js
function scrollToTop(options) {
	var fireOnComplete = options.onComplete || Class.empty;
	if (window.getScrollTop() == 0) {
		fireOnComplete();
		return;
	}
	(function () {
		var ypos = window.getScrollTop();
		var dy = ypos * 0.25;
		dy = (dy < 1) ? 1 : Math.round(dy);
		window.scrollTo(false, ypos - dy);
		if (ypos > dy) {
			setTimeout(arguments.callee, 30);
		} else {
			fireOnComplete();
		}
	})();
}
window.addEvent('domready', function () {
	$$('a.to-top').addEvent('click', function (event) {
		event = new Event(event).stop();
		scrollToTop({
			onComplete: (function() {
				if (!window.webkit419) {
					window.location.hash = this.hash;
				}
			}).bind(event.target)
		});
	});
});

