/**
 * ------------------------------- Funzioni per il roller delle news ------------------------------------------
 * Il roller è costituito di un elemento maschera contenitore (DIV) con altezza definita e overflow:hidden, e una lista di news (DL) definita con un id specifico contenente le news vere e proprie.
 * Dopo un tempo stabilito valutato per il caricamento della pagina (NEWS_DELAY) si attiva lo scorrimento delle news e vengono attribuiti alla lista i comportamenti di arresto (onmouseover) e ripristino (onmouseout) dello scorrimento
 *
 * Parametri:
 *	NEWS_DELAY ritardo di chiamata in millisecondi (per il caricamento della pagina)
 *	BOX_NEWS id della lista contenente le news
 *	NEWS_TIME tempo in msec per lo scorrimento delle news: vel= 1px/NEWS_TIME
 *	NEWS_TOP_MARGIN buffer posizione della lista delle news (inizializzato a 0)
 *	NEWS_HEIGHT altezza del box delle news (viene calcolato)
 *
 * Chiamata: setTimeout('roll_news()',NEWS_DELAY)
 *	roll_news inizializza il roller delle news, assegna i metodi per gli eventi onmouseover e onmouseout
 *	roll_start attiva il richiamo della funzione di controllo della posizione del box news
 *	roll_move sposta il box delle news in alto di un pixel ogni intervallo definito, se il box arriva al top lo riposiziona e ricomincia da capo.
 *	roll_clear stoppa lo scorrimento delle news, richiamato come evento onmouseover
 */
 
	var NEWS_TOP_MARGIN=0;
	var NEWS_HEIGHT;
	var OBJ_NEWS
	var TIMER_START=false;
	/**
	 * roll_move
	 * attiva il rolling delle news richiamato da roll_news
	 */
	function roll_move()
	{
		if (NEWS_TOP_MARGIN==-NEWS_HEIGHT)
		{
			NEWS_TOP_MARGIN=OBJ_NEWS.parentNode.offsetHeight;
			OBJ_NEWS.style.marginTop=NEWS_TOP_MARGIN+'px';
		}
		else
		{
			NEWS_TOP_MARGIN--;
			OBJ_NEWS.style.marginTop=NEWS_TOP_MARGIN+'px';
		}
		return;
	}
	/**
	 * roll_clear
	 * disattiva il rolling delle news
	 */
	function roll_clear()
	{
		clearInterval(timer_news);
		TIMER_START=false;
		return;
	}
	/**
	 * roll_start
	 * attiva il rolling delle news
	 */
	function roll_start()
	{
		if(!TIMER_START)
		{
			timer_news=setInterval('roll_move()',NEWS_TIME);
			TIMER_START=true;
		}
		return;
	}
	/**
	 * roll_news
	 * inizializza il rolling delle news, collega gli eventi di stop e restart al box delle news
	 */
	function roll_news()
	{
		
		OBJ_NEWS = document.getElementById(BOX_NEWS);
		if(OBJ_NEWS==null)return;
		NEWS_HEIGHT= OBJ_NEWS.offsetHeight;
		roll_start();
		if(OBJ_NEWS.addEventListener)
		{
			OBJ_NEWS.addEventListener('mouseover',roll_clear,false);
			OBJ_NEWS.addEventListener('mouseout',roll_start,false);
		}
		else if(OBJ_NEWS.attachEvent)
		{
			OBJ_NEWS.attachEvent('onmouseover',roll_clear);
			OBJ_NEWS.attachEvent('onmouseout',roll_start);
		}
		return;
	}
/**
 * ------------------------------------------------- fine roller news -------------------------------------
 */
