/* Copyright (c) 2009 Atomic Orange */

var slider_vert;

document.observe('dom:loaded', function () {

    if($('scrollable') != undefined) {

        // vertical slider control
        slider_vert = new Control.Slider('handle1', 'track1', {
            axis: 'vertical',
            onSlide: function(v) { scrollVertical(v, $('scrollable'), slider_vert);  },
            onChange: function(v) { scrollVertical(v, $('scrollable'), slider_vert); }
        });
//        var slider_hor = new Control.Slider('handle4', 'track4', {
//            onSlide: function(v) { scrollHorizontal(v, $('scrollable'), slider_hor);  },
//            onChange: function(v) { scrollHorizontal(v, $('scrollable'), slider_hor); }
//        });

        if ($('scrollable').scrollHeight <= $('scrollable').offsetHeight) {
            slider_vert.setDisabled();
            $('wrap1').hide();
        }
//        if ($('scrollable').scrollWidth <= $('scrollable').offsetWidth) {
//            slider_hor.setDisabled();
//            $('wrap4').hide();
//        }
    }
});

function scrollVertical(value, element, slider) {
    var limit_ceil = element.scrollHeight - element.offsetHeight;
    element.scrollTop = Math.round( value / slider.maximum * limit_ceil );
}
function mouseScrollVertical(scrDirection, element) {
    var el_limit = element.scrollHeight - element.offsetHeight;
    var hl_limit = $('track1').offsetHeight - $('handle1').offsetHeight;
    var new_scr_point;

    switch(scrDirection) {
    case "up":
        new_scr_point = $('handle1').offsetTop + 7;
        if(new_scr_point > hl_limit)  new_scr_point = hl_limit;
        break;
    case "down":
        new_scr_point = $('handle1').offsetTop - 7;
        if(new_scr_point < 0)  new_scr_point = 0;
        break;
    }
    element.scrollTop = (new_scr_point / hl_limit) * el_limit;
    $('handle1').setStyle({ top: new_scr_point });
}
//function scrollHorizontal(value, element, slider) {
//    element.scrollLeft = Math.round(value/slider.maximum*(element.scrollWidth-element.offsetWidth));
//}
