var ticker_layer = false ;
var step_time = 25 ;
var freeze_time = 2000 ;
var news_index = 0 ;
var title_index = 0 ;
var end_title = "_" ;
var title_max_size = 62 ; // 62
var pause = false ;
var freeze_timeout_id ;
var step_timeout_id ;
var step_char_length = 1 ;

var foo = false ;

function prepare(){
	var container_size = 650 ; // 475
	for ( var i = 0 ; i < news.length - 1 ; i++ ){
		var t = news[i][0] ;

		t = t.replace(/\&quot;/gi,'"') ;
		t = t.replace(/\&amp;/gi,'&') ;
		t = t.replace(/\&#039;/gi,'\'') ;
		t = t.replace(/\&quot;/gi,"'") ;

		var dummy = document.createTextNode( t ) ;
		document.getElementById('dummy').appendChild( dummy ) ;
		var size = document.getElementById('dummy').offsetWidth ;

		while( size > container_size ){
			t = t.substring( 0 , t.lastIndexOf( ' ' ) ) ;
			t += '...';
			clear_element( 'dummy' ) ;
			var dummy = document.createTextNode( t ) ;
			document.getElementById('dummy').appendChild( dummy ) ;
			size = document.getElementById('dummy').offsetWidth ;
		}
		clear_element( 'dummy' ) ;
		news[i][0] = t ;
	}
}

function clear_element( name ){
	/* esvaziar dummy */
	if ( document.getElementById( name ) ){
		while ( document.getElementById( name ).lastChild != null ){
			child = document.getElementById( name ).lastChild ;
			document.getElementById( name ).removeChild( child ) ;
		}
	}
}

function begin_roll_ticker(){
	window.setTimeout( "roll_ticker()" , step_time ) ;
}
function roll_ticker(){
	prepare() ;

	var title ;
	if ( title_index == 0 ){
		while ( document.getElementById('ticker').lastChild != null ){
			child = document.getElementById('ticker').lastChild ;
			document.getElementById('ticker').removeChild( child ) ;
		}
	}

	if ( news_index < news.length + 2 && news[news_index][0].length >= title_index ){
		title = news[ news_index ] ;

		document.getElementById('ticker_anchor').setAttribute( "href" , title[1] ) ;

		if ( news_index == 0 && typeof( ticker_ad ) != "undefined" ){
			document.getElementById('ticker_anchor').setAttribute( "target" , "_blank" ) ;
			document.getElementById('ticker_anchor').style.color = "#0033cc" ;
		}
		else{
			document.getElementById('ticker_anchor').setAttribute( "target" , "_parent" ) ;
			document.getElementById('ticker_anchor').style.color = "#FF6600" ;
		}

		s_text = title[0].substring( title_index  , title_index + step_char_length ) ;
		title_index += step_char_length ;

		if ( step_char_length > 1 ){
			step_char_length = 1 ;
		}

		if ( document.getElementById('ticker').lastChild != null ){
			if ( document.getElementById('ticker').lastChild.nodeValue == "_" ){
				child = document.getElementById('ticker').lastChild ;
				document.getElementById('ticker').removeChild( child ) ;
			}
		}

		txt = document.createTextNode( s_text ) ;
		document.getElementById('ticker').appendChild( txt ) ;

		if ( title[0].length > title_index ) {
			if ( title_index % 10 != 0 ){
				txt = document.createTextNode( "_" ) ;
				document.getElementById('ticker').appendChild( txt ) ;
			}
		}

		step_timeout_id = window.setTimeout( "roll_ticker()" , step_time ) ;
	}
	else{
		title_index = 0 ;

		if ( !pause ){
			next_line( freeze_time ) ;
		}
	}
}
function next_line( t ){
	news_index >= news.length - 2 ? news_index = 0 : news_index++ ;
	freeze_timeout_id = window.setTimeout( "roll_ticker()" , t ) ;
}