jQuery(function($){

var scroller = $('#share-in').length ? $('#share-in') : $('#share'),
	scroller_position = scroller.position(),
	scroller_y_maxed = false,
	scroller_top_padding = 30,
	scroller_ie6_hack = $.browser.msie && $.browser.version <= 6,
	container = $('#share-in').length ? $('#body-in') : $('#cms'),
	max_pos = parseInt(container.css('height')) - parseInt(scroller.css('height')) - 50,
	min_pos = scroller_position.top,
	extra = $('#share-in').length ? 0 : 200;

$(window).scroll(function(){

	var reference = $(this),
		scroll_y = reference.scrollTop(),
		pos = scroller_position.top - scroll_y - scroller_top_padding;

	if (scroll_y > max_pos) // past max (prevent from overlapping footer)
	{
		scroller_y_maxed = true;
		return
	}

	if (scroller_y_maxed && scroll_y < max_pos) // no longer past max (no longer on top of footer)
	{
		scroller_y_maxed = false;
	}
	
	if (pos < 0) // fix (scroll with page)
	{
		scroller.css('top', scroll_y - scroller_position.top + extra);
	}
	else // unfix (position normally)
	{
		scroller.css('top', Math.max(scroll_y - scroller_position.top, min_pos));
	}

});

});
