$(function() {
	var sidebar = $('#sidebar');
	if (!sidebar) return;

	var offset = sidebar.offset();
	if (!offset) return;

	var topPadding = 15;

	var barHeight = sidebar.height();
	var bodyHeight = document.body.scrollHeight;
	var maxTop = bodyHeight - barHeight - 180;

	$(window).scroll(function() {
		if ($(window).scrollTop() > offset.top) {
			if ($(window).scrollTop() < maxTop) {
				sidebar.stop().animate({
					marginTop: $(window).scrollTop() - offset.top + topPadding
				});
			}
		} else {
			sidebar.stop().animate({
				marginTop: 0
			});
		}
	});
});
