function ajout_evenement(elem, type_even, fct)
{  // event_listener cross browser
	if(elem.addEventListener)
	{
		elem.addEventListener(type_even, fct, false);
		return true;
	}
	else if(elem.attachEvent)
	{
		return elem.attachEvent('on'+type_even,fct);
	}
	else
	{
		el['on'+type_elem]=fct;
	}
}

function scroll_box()
{
	this.the_id = '';
	this.the_box_outside = '';
	this.the_box_inside = '';
	this.the_txt = ''
	this.scrolling=false;
	this.outer_height = '';
	this.inner_height = '';
	this.the_offset = 0;
	this.timer = null;
}

function start_scroll(sb)
{
	if(sb.outer_height < sb.inner_height && !sb.scrolling)
	{
		sb.scrolling = true;
		recursiv_scroll(sb);
	}
}

function stop_scroll(sb)
{
	sb.scrolling = false;
	clearTimeout(sb.timer)
}

function make_scrolling(the_id)
{
	var sb = new scroll_box();
	sb.the_id = the_id;
	sb.the_box_outside = document.getElementById(the_id);
	sb.the_box_inside = sb.the_box_outside.getElementsByTagName('DIV')[0];
	sb.the_txt = sb.the_box_inside.innerHTML;
	sb.the_offset = 0;
	
	sb.the_box_outside.style.overflow='hidden';
	sb.the_box_outside.style.position = 'relative';
	sb.the_box_inside.style.position = 'relative';
	sb.outer_height = sb.the_box_outside.offsetHeight;
	sb.inner_height = sb.the_box_inside.offsetHeight ;
	
	ajout_evenement(sb.the_box_outside,'mouseout',function(){start_scroll(sb)});
	ajout_evenement(sb.the_box_outside,'mouseover',function(){stop_scroll(sb)});
	
	if(sb.outer_height < sb.inner_height)
	{
		sb.the_txt = sb.the_txt + sb.the_txt;
		sb.the_box_inside.innerHTML = sb.the_txt;
		start_scroll(sb);
	}
}

function recursiv_scroll(sb)
{	
	sb.the_offset=(sb.the_offset+1)%sb.inner_height;
	sb.the_box_inside.style.top  = '-'+sb.the_offset+'px';
	if(sb.scrolling) sb.timer = setTimeout(function (){recursiv_scroll(sb)}, 50)
	else clearTimeout(sb.timer);
;
}
