document.write('<script type="text/javascript" src="admin/view/parts/js/dvsk_common.js"></script>');

var dvsk_site = {};

dvsk_site.jsScroll = {
    go: function(scrollId, contentId){
        if (!$(scrollId)) return;
        var handleId = scrollId+'-handle';
        var content = $(contentId);
        if (content.scrollHeight > content.offsetHeight) {
            var prop = content.getHeight() / content.scrollHeight;
            $(handleId).style.height = parseInt(content.getHeight() * prop) + 'px';
            $(scrollId).show();
            if (!dvsk_site.jsScroll.slider){
                dvsk_site.jsScroll.slider = {};
            }
            if (dvsk_site.jsScroll.slider[scrollId]) {
                dvsk_site.jsScroll.slider[scrollId].dispose();
            }
            dvsk_site.jsScroll.slider[scrollId] = new Control.Slider(handleId, scrollId, {axis: 'vertical'});
            dvsk_site.jsScroll.slider[scrollId].options.onSlide = function(v) {
                dvsk_site.jsScroll.scrollVertical(v, content, dvsk_site.jsScroll.slider[scrollId]);
            };
            dvsk_site.jsScroll.slider[scrollId].options.onChange = function(v) {
                dvsk_site.jsScroll.scrollVertical(v, content, dvsk_site.jsScroll.slider[scrollId]);
            }
            dvsk_site.jsScroll.slider[scrollId].setEnabled();
            // mozilla
            Event.observe(contentId, 'DOMMouseScroll', function(e){
                dvsk_site.jsScroll.wheel(e, scrollId);
            });
            // IE/Opera
            Event.observe(contentId, 'mousewheel', function(e){
                dvsk_site.jsScroll.wheel(e, scrollId);
            });
        }
        else if (dvsk_site.jsScroll.slider && dvsk_site.jsScroll.slider[scrollId]){
            dvsk_site.jsScroll.slider[scrollId].setDisabled();
            $(scrollId).hide();
        }
    },
    // scroll the element vertically based on its width and the slider maximum value
    scrollVertical: function(value, element, slider) {
        element.scrollTop = Math.round(value/slider.maximum*(element.scrollHeight-element.offsetHeight));
    },
    wheel: function(event, scrollId){
        var delta = 0;
        event = dvsk_common.getEvent(event);
        if (event.wheelDelta) { /* IE/Opera. */
            delta = event.wheelDelta/120;
            /** In Opera 9, delta differs in sign as compared to IE. */
//            if (window.opera)
//                delta = -delta;
        } else if (event.detail) { /** Mozilla case. */
            /** In Mozilla, sign of delta is different than in IE.
             * Also, delta is multiple of 3.
             */
            delta = -event.detail/3;
        }
        /** If delta is nonzero, handle it.
         * Basically, delta is now positive if wheel was scrolled up,
         * and negative, if wheel was scrolled down.
         */
        if (delta)
            dvsk_site.jsScroll.slider[scrollId].setValueBy(-delta/3)

        /** Prevent default actions caused by mouse wheel.
         * That might be ugly, but we handle scrolls somehow
         * anyway, so don't bother here..
         */
        if (event.preventDefault)
            event.preventDefault();

        event.returnValue = false;
    }
};

dvsk_site.loginFailed = function(msg){
    /* do nothing */
}

document.observe("dom:loaded", function(){
    // vertical slider control
    dvsk_site.jsScroll.go('vscroll', 'content-text');
});
