//function which hides/shows scrollbuddy div
function doScroll($ScrollBuddy){
    
    //get scroll position
    var scrollTop = $(window).scrollTop();
    
    //set scrollbuddy div position on page
    $ScrollBuddy.css({
        position:   'absolute',
        top:        $(window).height() + scrollTop - $ScrollBuddy.outerHeight() + 'px',
        left:       $(window).width() - 20 - $ScrollBuddy.outerWidth() + 'px'
    });
    
    //if user scrolls more than 20px, or all page content is in view
    if(scrollTop > 20 || $(window).height() > $('body').outerHeight()){
        
        //hide scrollbuddy div
        $ScrollBuddy.stop().fadeTo('slow', 0, function(){$ScrollBuddy.css('top','-999px');});
        
    }
    
    //otherwise
    else {
        
        //show scrollbudy div
        $ScrollBuddy.stop().fadeTo('slow', 1);
        
    }
    
}
  
//when page has loaded  
$(document).ready(function() {
    
    //create and append scrollbuddy div to page
    $('<div><span>&darr;</span> Scroll for more <span>&darr;</span></div>')
        .attr('id', 'ScrollBuddy')
        .hide()
        .appendTo('body');
    
    //cache scrollbuddy div
    $ScrollBuddy = $('#ScrollBuddy');
    
    //add event handlers for window scrolling and re-size to show/hide scrollbuddy div
    $(window).bind({
        scroll:function(){doScroll($ScrollBuddy)},
        resize:function(){doScroll($ScrollBuddy)}
    });
    
    //initiate scrollbuddy
    setTimeout(function(){doScroll($ScrollBuddy);},1000);
});

