﻿function makeScrollableSimpleDiv(wrapper, scrollable) {
    // Get jQuery elements
    var wrapper = JQ(wrapper), scrollable = JQ(scrollable);

    // Remove scrollbars
    wrapper.css({ overflow: 'hidden' });

    scrollable.slideDown('slow', function() { enable(); });

    function enable() {
        // height of area at the top at bottom, that don't respond to mousemove
        var inactiveMargin = 100;
        // Cache for performance
        var wrapperWidth = wrapper.width();
        var wrapperHeight = wrapper.height();
        // Using outer height to include padding too
        var scrollableHeight = scrollable.outerHeight() + 2 * inactiveMargin;
        // Do not cache wrapperOffset, because it can change when user resizes window
        // We could use onresize event, but it's just not worth doing that
        // var wrapperOffset = wrapper.offset();

        //When user move mouse over menu
        wrapper.mousemove(function(e) {
            var wrapperOffset = wrapper.offset();
            // Scroll menu
            var top = (e.pageY - wrapperOffset.top) * (scrollableHeight - wrapperHeight) / wrapperHeight - inactiveMargin;

            if (top < 0) {
                top = 0;
            }

            wrapper.scrollTop(top);
        });
    }
}
