var Torcidometro = Class.create();
Torcidometro.RequestURL = "http://homologacao.lanceactivo.com.br/Torcidometro.ashx";
Torcidometro.Log = {
	info:function(msg){},
	debug:function(msg){},
	warn:function(msg){},
	error:function(msg){},
	fatal:function(msg){}
};
Torcidometro.prototype = {

	initialize:function( quantidade )
	{
		this.log = Torcidometro.Log;
		this.log.info("inicializando...");
		
		this.urlRequest = Torcidometro.RequestURL;
		this.updateArea = $('idconteudo');
		this.abaAma = $('idabaama');
		this.abaOdeia = $('idabaodeia');
		this.loader = $('estatistica_preview_loader');
		this.quantidade = quantidade == null ? 8 : quantidade;
		
		this.abaAma.observe("click", (function(){ this.showTime("ama"); }).bind(this));
		this.abaOdeia.observe("click", (function(){ this.showTime("odeia"); }).bind(this));
	},
	desenharBarra:function(item, mode)
	{
		this.log.info("desenhando barra modo: " + mode);
		var corbarra = "";
		if(mode == "ama")
		{
			corbarra = "http://homologacao.lanceactivo.com.br/img/barraverde.jpg";
		}
		if(mode == "odeia")
		{
			corbarra = "http://homologacao.lanceactivo.com.br/img/barrared.jpg";
		}
		
		var element = "";
		element += " <div class='area_time'>";
		element += " 	<div class='barra_porcentagem'>";
		element += " 		<div><img style='border-width: 0px; height: "+ item.Barra +"px; width: 20px;' src='" + corbarra + "'/></div>";
		element += " 	</div>";
		element += " 	<div class='torcidometro torcidometro_" + item.Nome + "' title='" + item.NomeFull + "'> </div>";
		element += " 	<span class='font'>" + item.Valor + "%</span>";
		element += " </div>";
		return element;
		
	},
	showTime:function(mode)
	{
		this.log.info("exibindo time: " + mode);
		this.loader.show();
		new Ajax.Request(this.urlRequest, { method:'get', parameters:{mode:mode}, onSuccess: (function(transport){ this.showTimeComplete(transport, mode); }).bind(this)} );
	},
	showTimeComplete:function(transport, mode)
	{
		this.log.info("requisição do torcidometro completa, avaliando...");	
		var times = eval(transport.responseText);
		
		this.log.info("Avaliação feita, total de times obtidos: " + times.length );	
		var updateStr = "";
		for(var i=0; i < this.quantidade ;i++)
		{
			this.log.info("Desenhando barra " + i );	
			updateStr += this.desenharBarra(times[i], mode);
		}
		this.log.info("atualizando area");	
		this.updateArea.update(updateStr);
		this.selecionarAba(mode);
		this.loader.hide();
		this.log.info("torcidometro completo!");	
	},
	selecionarAba:function(mode)
	{
		this.log.info("selecionando aba: " + mode);	
		if(mode == "ama")
		{
			this.abaAma.addClassName("here");
			this.abaOdeia.removeClassName("here");
		}
		if(mode == "odeia")
		{
			this.abaAma.removeClassName("here");
			this.abaOdeia.addClassName("here");
		}
		this.log.info("aba selecionada");	
	}
};


