$(document).ready(function(){

     $(window).bind('scroll',function(){

         var thisWindow = $(this);
         var thisWindowHeight = thisWindow.height();
         var scrollPos = thisWindow.scrollTop();
         var wrapper = $('#wrapper');
         var wrapperHeight = wrapper.height();
         var px = 0;
         
         var sidebarHeight = 530;
         var sidebarDistanceToWindowTop = 395;
         var sidebarScrollOffset = 25;
         var sidebarPosRelativeToWrap = 75;
         var footerHeight = 200;
         
         var sidebar = $('#sidebar');
         var contentAreaHeight = $('#contentwrapper').height();

         if(scrollPos >= sidebarDistanceToWindowTop){
         
			var availViewport = thisWindowHeight - footerHeight;

             if(availViewport <= sidebarHeight){
             	
             	var sidebarPos = sidebar.position();
             	
             	 //px = sidebarPosRelativeToWrap;
             	 var freaky = (contentAreaHeight - (sidebarPosRelativeToWrap + sidebarScrollOffset));
             	
             	 if(scrollPos > freaky){
             	 	scrollPos = freaky;
             	 }

             	 px = scrollPos - sidebarDistanceToWindowTop + sidebarPosRelativeToWrap + sidebarScrollOffset;
             }
             else {
             	
             	 px = scrollPos - sidebarDistanceToWindowTop + sidebarPosRelativeToWrap + sidebarScrollOffset;
             }
         }
         else {
         	
             px = sidebarPosRelativeToWrap;
         }
         
         sidebar.stop(true,false).animate({
             top: (px) + 'px'
         },'normal');
     });
});

