var resizeHandler, resizing;

function resizeSidebar(elem) {
    if (resizing) return;
    elem = $(elem);
    w = $(window).width();
    p = elem.offset();

    margin = 10;
    min = 160;
    max = 750;

    elemWidth = w - p.left - margin;

    if (elemWidth < min) elemWidth = min;
    else if (elemWidth > max) elemWidth = max;

    elem.add('#sidebar div.jScrollPaneContainer,#sidebar div.inner').width(elemWidth);
    //clearTimeout(resizeHandler);
    //resizeHandler = setTimeout(setScrollBar,900);
}

function setScrollBar() {
    resizing = true;
    $('#sidebar .inner').jScrollPane({
        scrollbarWidth: 6,
        scrollbarOnLeft: true
    });
    resizing = false;;
}

function setBars() {
    resizeSidebar('#sidebar');

    $('.info .inner').jScrollPane({
        scrollbarWidth: 6
    });
}

function visited_hover(elem) {
    var fade = $('> .preview', elem);
    var description = $('> .description', elem);
    
    description.stop(true).fadeTo("fast", 0);
    fade.stop(true).fadeTo(500, 0);
}

function visited_out(elem) {
    var fade = $('> .preview', elem);
    var description = $('> .description', elem);
    
    description.stop(true).fadeTo("fast", 1.0);
    fade.stop(true).fadeTo(250, 1);
}

function set_sidebar_hover() {
    $('#sidebar li a').hover(function () {
        visited_out(this);
    }, function () {
        visited_hover(this);
    });
}

$(document).ready(function() {
    $('#sidebar ul').localScroll({
        target: '#pages',
        hash: true, 
        easing: 'easeInOutCirc',
        duration: 2000
    });

    $('<img class="preview" src="/media/css/images/page_thumb.png">').appendTo('#sidebar li a');

    set_sidebar_hover();
    //$('#sidebar li a').click(set_sidebar_hover);
    setBars();

    $("#sidebar ul").vgrid({
        onFinish: function () {
            clearTimeout(resizeHandler);
            resizeHandler = setTimeout(setScrollBar, 100);
        }
    });

    setTimeout(function () {
        setBars();
        setScrollBar();
    }, 400);
    
});

$(window).resize(function () {
    resizeSidebar('#sidebar');
});

