function doLightBox(v)
{
  var imgLink = document.getElementById('lightbox_rel_'+v);
  Lightbox.prototype.start(imgLink);
}

function scroller() {
  var scrolldiv=document.getElementById('content');
  if(scrolldiv)
  {
    var scrollprzez=document.getElementById('content_a');
    scrollprzez.style.overflow='hidden';
    var scrollcont=document.getElementById('contenttext');
    if((scrollcont)&&(scrollcont.offsetHeight>scrollprzez.offsetHeight))
    {
//      scrolldiv.style.width=(scrolldiv.offsetWidth-13)+"px";
      var scrollbar=document.createElement('div');
      scrollbar.id='scroll_bar';
      scrollbar.style.height=scrollprzez.offsetHeight+'px';
//      scrollbar.style.top=scrolldiv.offsetTop+'px';
//      scrollbar.style.left=(scrolldiv.offsetLeft)+'px';
      
      
      scrollbar.innerHTML='<div id="scroll_arrow_up"></div><div id="scroll_bar_i"></div><div id="scroll_arrow_down" onclick=""></div>';
      scrolldiv.parentNode.insertBefore(scrollbar,scrolldiv);
      if(scrolldiv.attachEvent)
        scrolldiv.attachEvent('onmousewheel',mousewheel);
      if(scrolldiv.addEventListener){
        scrolldiv.addEventListener('mousewheel',mousewheel,false);
        scrolldiv.addEventListener('DOMMouseScroll',mousewheel,false);
      }

    	var clip_size=scrollprzez.offsetHeight;
    	var speed=5;
    	var d=document;
    	var bar=document.getElementById('scroll_bar_i');
    	var sc=scrollcont;
//    	var buttonUp=d.getElementById('scroll_up_i')
//    	var buttonDown=d.getElementById('scroll_dn_i')
    	var clip_top=0;
    	var bar_offset=0;
      var scrolled_top=0;
      
      buttonUp=document.getElementById('scroll_arrow_up');
      buttonDown=document.getElementById('scroll_arrow_down');
      buttonDown.style.top=(scrollprzez.offsetHeight-buttonDown.offsetHeight)+'px';

      bar.style.top=buttonUp.offsetHeight+'px';
    	
    	var limit_top=buttonUp.offsetHeight;
//    	bar.style.top=(scrolldiv.offsetTop+limit_top)+'px'
    	var limit_bottom=scrollprzez.offsetHeight-bar.offsetHeight-buttonDown.offsetHeight;
    	var wheel_speed=Math.floor((limit_bottom-limit_top)/((scrollcont.offsetHeight-clip_size)/20));
    	buttonUp.onmouseup=buttonDown.onmouseup=scrollStop
    	buttonUp.onmousedown=buttonDown.onmousedown=scrollButton
    	d.onmousemove=scrollBar;
    	d.onmouseup=cast;
    	bar.onmousedown=take;
    	bar.onselectstart=stop;
    }
  }
	
	function stop() {
		return false;
	}
	
	function scrollStop() {
		clearTimeout(sc.timer);
	}
	
  function mousewheel(e)
  {
    if(e=eventIE(e))
    {
      if(window.opera)
      {
        if(e.wheelDelta>0)
    			current_speed = -wheel_speed;
    		else
    			current_speed = wheel_speed;
      } else
      {
        if ( e.wheelDelta <= 0 || e.detail > 0)
    			current_speed = -wheel_speed;
        else
    			current_speed = wheel_speed;
  		}
  	}
  	var cs=current_speed;
		var myposition = (bar.offsetTop-limit_top-cs)/(limit_bottom-limit_top);
		cs = -(scrolled_top-(Math.floor(sc.offsetHeight-clip_size) * myposition));
   	if (cs<0) {
			limitTop();
			return true;
		}
		if ((cs+clip_size) > (sc.offsetHeight)) {
			limitDown();
			return true;
		}
		clip_top -= cs;
		bar.style.top = (parseInt(getStyle(bar, "top").replace("px", "")) - current_speed) + "px";
		move();
		if((e.preventDefault)&&(e.cancelable))
		  e.preventDefault();
		return false;
  }

	function scrollButton(e) {
		// determine speed and direction
		if (e=eventIE(e)) {
			current_speed = speed;
			if (e.target.id == buttonDown.id) {
				current_speed = -speed;
			}
		}
		if (clip_top-current_speed<0) {
			limitTop();
			return;
		}
		if (clip_top+clip_size-current_speed > sc.offsetHeight) {
			limitDown();
			return;
		}
		clip_top -= current_speed;
		bar.style.top = (parseInt(getStyle(bar, "top").replace("px", "")) - current_speed) + "px";
		move();
		args = arguments;	// can't refer to 'arguments' directly in setTimeout()
		sc.timer=setTimeout('args.callee()', 1);
	}
	
	function scrollBar(e) {
		if (!bar_offset) {
			return;
		}
		e=eventIE(e)
		if (e.pageY-bar_offset<limit_top) {
			limitTop();
			return;
		}
		if (e.pageY>limit_bottom+bar_offset) {
			limitDown();
			return;
		}
		bar.style.top = (e.pageY-bar_offset) + 'px';
		move();
	}
	
	function move() {
		position = (bar.offsetTop-limit_top)/(limit_bottom-limit_top);
		sc.style.top = (scrolled_top-Math.floor((sc.offsetHeight-clip_size) * position))+'px';
		clip_top=Math.floor((sc.offsetHeight-clip_size)*position);
		sc.style.clip='rect('+clip_top+'px '+sc.offsetWidth+'px '+(clip_top+clip_size)+'px 0px)';
	}
	
	function limitTop() {
		clip_top=0;
		bar.style.top=limit_top+'px';
		sc.style.top=scrolled_top+'px';
		sc.style.clip='rect(0px '+sc.offsetWidth+'px '+clip_size+'px 0px)';
	}
	
	function limitDown() {
		bar.style.top=limit_bottom+'px';
		sc.style.top=scrolled_top+clip_size-sc.offsetHeight+'px';
		sc.style.clip='rect('+(sc.offsetHeight-clip_size)+'px '+sc.offsetWidth+'px '+sc.offsetHeight+'px 0px)';
	}
	
	
	function take(e) {
		e=eventIE(e);
		bar_offset=e.pageY-bar.offsetTop;
	}
	
	function cast() {
		bar_offset=0
	}
	
	function eventIE(e) {
		// map IE event handling to Gecko mode
		if (window.event && !window.opera) {
			e=window.event;
			e.pageY=window.event.y;
			e.target=window.event.srcElement;
		}	
		return e;
	}
	function getStyle(el, property) {
		if (el.currentStyle) {
			// IE needs camelCase here
			var matches = property.match(/\-[a-z]/g);
			if (matches) {
				for (var i = 0; i < matches.length; i++) {
					property = property.replace(new RegExp(matches[i]), matches[i].substr(1, 1).toUpperCase());
				}
			}
			return eval('el.currentStyle.' + property);
		} else {
			return d.defaultView.getComputedStyle(el, "").getPropertyValue(property);
		}
	}
}
