Element.Events.extend({
	'wheelup': {
		type: Element.Events.mousewheel.type,
		map: function(event){
			event = new Event(event);
			if (event.wheel >= 0) this.fireEvent('wheelup', event)
		}
	},
 
	'wheeldown': {
		type: Element.Events.mousewheel.type,
		map: function(event){
			event = new Event(event);
			if (event.wheel <= 0) this.fireEvent('wheeldown', event)
		}
	}
});

function init_scrolling() {
   var scrollStep = 40;
   
   $$('div.scrollable').each(
      function(item, index) {
         
         var scrHeight = item.getSize().scrollSize.y;
         var viewHeight = item.getSize().size.y;
         //alert(scrHeight);
         //alert(viewHeight);
         if (scrHeight <= viewHeight)
            return;
         else {
            item.setStyle('width', (item.getSize().size.x - 30) + 'px');
            item.setStyle('overflow', 'hidden');
            scrHeight = item.getSize().scrollSize.y;
            viewHeight = item.getSize().size.y;
         }
            
         var scrollCont = new Element('div');
         var scrollKnob = new Element('div');
         
         scrollCont.addClass('scrollbar');
         scrollKnob.addClass('knob');
         
         //tupy IE potrebuje specialni zachazeni s PNG
         /*if (window.ie && !window.ie7) {
            scrollKnob.setStyle('background','none');
            scrollCont.setStyle('background', 'url(obrazy/blank.gif)');
            scrollKnob.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='obrazy/knob.png',sizingMethod='scale')";
            scrollCont.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='obrazy/track.png',sizingMethod='scale')";
         }*/
            
         //vlozit do odstavce s textem
         scrollKnob.injectInside(scrollCont);
         scrollCont.injectAfter(item);
         
         //vytvoreni posuvniku
         var slr = new Slider(scrollCont, scrollKnob, {
            steps : scrHeight - viewHeight,
            mode : 'vertical',
            onChange : function(step) {
               item.scrollTo(0,step);
            }
         }).set(0);
         
         //navazani udalosti na skrollovani
         item.addEvents({
            'wheelup': function(e) {
               e = new Event(e).stop();
               slr.set(slr.step - scrollStep);
            },
            'wheeldown': function(e) {
               e = new Event(e).stop();
               slr.set(slr.step + scrollStep);
            }
        
         });
         
      }
   );
}

