/**
 * @author ricardo
 */
function limitaPalavras(texto, numPalavras){
	
	var paravras=texto.split(' ');
	
	var textoFinal='';
	for(var i=0; i<Math.min(paravras.length, numPalavras); i++){
		textoFinal+=(paravras[i]+' ');
	}
	
	if(paravras.length > numPalavras){
		textoFinal+='...';
	}
	
	return textoFinal;
}

Feeder = function(params){
				
	this.el=undefined;
	this.mais='+';
	this.tempo=10000;
	this.limitePalavras=20;
	
	this.transform=undefined;
					
	this.fila=[];
	this.contador=0;
	
	this.running=false;
	
	this.init=function(params){
		this.el=jQuery(params.div);
		
		this.mais=params.mais;
		this.tempo=params.tempo*1000;
		
		this.limitePalavras=params.limite;
				
		for(var i=0;i<params.feeds.length;i++){
			this.load(params.feeds[i].url, params.feeds[i].qtd);
		}
	}
	
	this.start=function(){
		if(!this.running){
			this.running=true;
			
			this.itera();
		}
	}
	
	this.itera=function(){
		if(this.contador>=this.fila.length){
			this.contador=0;	
		}
		
		this.show(this.fila[this.contador]);		
		
		this.contador++;
		
		var owner=this;
		window.setTimeout(function () { owner.itera(); }, owner.tempo);
	}
	
	this.load=function(url,qtd){
		var owner=this;
		
		jQuery.getFeed({
			url: url,
		    success: function(feeds) {
				//coloca feeds na fila
				for(var i=0;i<Math.min(feeds.items.length,qtd);i++){
					owner.fila.push(feeds.items[i]);	
				}
				
				owner.start();
			}
		});
	}
	
	this.show=function(item){
		//'gambiarra' para tirar a data
		
		var re = new RegExp('<span>(.*)</span>');
		var descricao=item.description.replace(re,'<!--retirado-->');
		
		/*if(descricao!=item.description){
			console.log(limitaPalavras(descricao,this.limitePalavras));	
		}*/
		
		jQuery('.tit a',this.el).html(item.title);
		jQuery('.txt p',this.el).html(limitaPalavras(descricao,this.limitePalavras)+' [<a target="_blank" href="'+item.link+'" >'+this.mais+'</a>]'); //+link
		jQuery('.tit a',this.el).attr('href',item.link);					
	}
	
	//init
	this.init(params);
}
