function AprofundamentoMenuJogo(){var menuAprofundamentoMandante=new AprofundamentoMenuAutocompleteJogo({container:$('#busca-mandante')});var menuAprofundamentoVisitante=new AprofundamentoMenuAutocompleteJogo({container:$('#busca-visitante')});this.bind();}
AprofundamentoMenuJogo.prototype.bind=function(){var _self=this;$('.fechar-aprofundamento-menu').bind('click',function(){$('.aprofundamento-menu').slideUp();$('.aprofundamento-menu-jogo').css('overflow','hidden');$('#menu-principal a').removeClass('marcado');});$('#go-to-confronto').bind('click',function(){if(!$(this).hasClass('desativado')){_gaq.push(['_trackEvent','menu','aprofundamento','jogos']);window.location.href='/confronto/'+$('#busca-mandante input').attr('data-slug')+'-x-'+$('#busca-visitante input').attr('data-slug');}});};function FutpediaAutoComplete(inputTarget,renderTarget,filtered){this.data=0;this.filteredData=null;this.inputTarget=$(inputTarget);this.renderTarget=$(renderTarget);this.filtered=filtered;this.keyCode=null;this.keyDownList=[];this.makeKeyDownList();this.preSelect=-1;this.selectedItem=null;}
FutpediaAutoComplete.prototype.startsWith=function(palavra,termo){return(palavra.toLowerCase().indexOf(termo.toLowerCase())!=-1);};FutpediaAutoComplete.prototype.filterData=function(data,term,count){var result=[];var ehFiltrado=(data!=null&&this.filtered);if(ehFiltrado){var i;for(i=0;i<data.length;i++){var item=data[i];var maped=this.map(item);if(this.startsWith(maped,term)){result.push(item);}}}
else{result=data;}
if(!count){count=5;}
return result.slice(0,count);};FutpediaAutoComplete.prototype.filter=function(term){this.inputTarget.removeClass('escolhido');var result=[];var data=this.data;if(data!=0){result=this.filterData(data,term);if(result&&result.length==0){var resultInvoke=this.invoke('notFound');if(resultInvoke.invoked){this.renderTarget.html(resultInvoke.value);this.show();}
else{this.hide();}}}
this.filteredData=result;return result;};FutpediaAutoComplete.prototype.renderAll=function(elements){var result="";var i;for(i=0;i<elements.length;i++){result+=this.render(elements[i]);}
return result;};FutpediaAutoComplete.prototype.mixin=function(target){var mix=['filter','startsWith','selected','invoke','bindClick','renderAll','filtered','preSelect','bind','resetInput','makeKeyDownList','data','filteredData','show','hide','renderTarget','keyCode','keyDownList','preSelect','keyEnter','keyEsc','keyTab','keyUp','keyDown','selectedItem','filterData'];var i;for(i=0;i<mix.length;i++){target[mix[i]]=FutpediaAutoComplete.prototype[mix[i]];}};FutpediaAutoComplete.prototype.invoke=function(methodName,param){var action=this[methodName];var result={invoked:false,value:null};if(action&&typeof(action)=="function"){result.value=this[methodName](param);result.invoked=true;}
return result;};FutpediaAutoComplete.prototype.selected=function(item){if(item){this.hide();this.selectedItem=item;this.select(item);}};FutpediaAutoComplete.prototype.bind=function(){var inputTarget=this.inputTarget;var _this=this;$("#glb-doc").bind('click',function(){_this.hide();});if(inputTarget){inputTarget.bind('keydown',function(e){if(e.keyCode){var action=_this.keyDownList[e.keyCode];_this.keyCode=e.keyCode;if(action){_this.hasChanged=false;action(_this);}else{_this.invoke("change",this);_this.preSelect=0;_this.hasChanged=true;}
_this.invoke("afterKeyDown",e);}
return true;});var timeOut;inputTarget.bind('keyup',function(){clearTimeout(timeOut);timeOut=setTimeout(function(){if(_this.hasChanged){_this.preSelect=-1;if(inputTarget.val().length>1){_this.load();var termo=inputTarget.val();var elements=_this.filter(termo);if(elements&&elements.length>0){var html=_this.renderAll(elements);_this.renderTarget.html(html);_this.show();_this.bindClick();}}else{_this.renderTarget.html("");_this.hide();}}},300);inputTarget.bind('blur',function(){_this.invoke("focusOut",this);});inputTarget.bind('focus',function(){_this.invoke("focus",this);});});this.bindClick();}};FutpediaAutoComplete.prototype.bindClick=function(){var _this=this;$('.ac-item',_this.renderTarget).bind('click',function(){_this.selected(_this.filteredData[$(this).index()]);});};FutpediaAutoComplete.prototype.show=function(){this.renderTarget.parents('.autocomplete-container').show();};FutpediaAutoComplete.prototype.hide=function(){this.renderTarget.parents('.autocomplete-container').hide();};FutpediaAutoComplete.prototype.resetInput=function(){var inputTarget=this.inputTarget;inputTarget.val('');return this.invoke('afterResetInput');};FutpediaAutoComplete.prototype.makeKeyDownList=function(){this.keyDownList=[];this.keyDownList[9]=this.keyTab;this.keyDownList[13]=this.keyEnter;this.keyDownList[27]=this.keyEsc;this.keyDownList[38]=this.keyUp;this.keyDownList[40]=this.keyDown;this.preSelect=-1;};FutpediaAutoComplete.prototype.keyEnter=function(context){if(context.preSelect==-1){context.preSelect=0;}
if(context.filteredData){var item=context.filteredData[context.preSelect];context.selected(item);}};FutpediaAutoComplete.prototype.keyTab=function(context){var preSelect=-1;var data=false;if(context.preSelect&&context.filteredData!=null){preSelect=context.preSelect==-1?0:context.preSelect;data=context.filteredData[preSelect];}
if(data){context.selected(data);}};FutpediaAutoComplete.prototype.keyEsc=function(context){context.resetInput();context.hide();context.inputTarget.val('');};FutpediaAutoComplete.prototype.keyDown=function(context){if(context.filteredData){if(context.preSelect<context.filteredData.length-1){context.preSelect+=1;}}};FutpediaAutoComplete.prototype.keyUp=function(context){if(context.preSelect>0){context.preSelect-=1;}
else{context.preSelect=0;}};function EdicaoCampeonatoAutoComplete(campeonatoAutoComplete){var input="#aprofundamento-ano-campeonato";var lista="#scroll-ano-campeonato > ul";var autoComplete=new FutpediaAutoComplete(input,lista,true);autoComplete.mixin(this);this.makeKeyDownList();this.inputTarget=$(input);this.renderTarget=$(lista);this.filtered=true;this.campeonatoSlug="";this.campeonatoAutoComplete=campeonatoAutoComplete;}
EdicaoCampeonatoAutoComplete.prototype.select=function(item){this.inputTarget.val(item.ano);this.inputTarget.attr("data-slug",item.ano);this.inputTarget.addClass("escolhido");var go=$("#go-to-campeonato");go.attr('href','/campeonato/'+this.campeonatoSlug+'/'+item.ano);go.text("ver edição do campeonato");};EdicaoCampeonatoAutoComplete.prototype.render=function(item){var campeoes="";if(item&&item.campeoes&&item.campeoes.length===1){campeoes=item.campeoes[0];}
else{if(item.campeoes){campeoes=item.campeoes.length+" campeões";}}
return'<li class="ac-item"><span class="ano-campeonato">'+item.ano+'</span><span class="campeao-campeonato">'+campeoes+'</span></li>';};EdicaoCampeonatoAutoComplete.prototype.map=function(item){var campeoes="";if(item.campeoes){var i;for(i=0;i<item.campeoes.length;i++){campeoes+=item.campeoes[i];}}
var str=item.ano.toString()+campeoes;return(str);};EdicaoCampeonatoAutoComplete.prototype.load=function(){var _this=this;var campeonatoSlug=this.campeonatoAutoComplete.selectedItem.slug;if(this.ultimoCampeonato!=this.campeonatoSlug){this.data=[];this.ultimoCampeonato=this.campeonatoSlug;$.ajax({async:false,url:"/suggest/edicoes/"+this.campeonatoSlug+".json",success:function(data){_this.data=data;_this.ultimoCampeonato=_this.campeonatoSlug;}});}};EdicaoCampeonatoAutoComplete.prototype.afterKeyDown=function(e){if(e.keyCode==38||e.keyCode==40){this.renderTarget.find('.selecionado').removeClass('selecionado');this.renderTarget.find('li').eq(this.preSelect).addClass('selecionado');}};EdicaoCampeonatoAutoComplete.prototype.reset=function(){var input=this.inputTarget;input.val('');input.attr('disabled','disable');input.removeClass('escolhido');this.hide();};EdicaoCampeonatoAutoComplete.prototype.change=function(){var go=$("#go-to-campeonato");go.attr('href','/campeonato/'+this.campeonatoSlug);go.text("ver campeonato");};EdicaoCampeonatoAutoComplete.prototype.notFound=function(){var msg='<li class="mensagem-nao-encontrado-autocomplete">Não foi encontrada nenhuma edição.</li>';return msg;};EdicaoCampeonatoAutoComplete.prototype.focus=function(){this.inputTarget.removeClass("escolhido");};EdicaoCampeonatoAutoComplete.prototype.focusOut=function(input){if(this.inputTarget.attr('data-slug')){this.inputTarget.addClass("escolhido");}};function CampeonatoAutoComplete(campeonatos){this.campeonatos=campeonatos;var inputId='#aprofundamento-nome-campeonato';var listId='#scroll-nome-campeonato ul';var autoComplete=new FutpediaAutoComplete(inputId,listId,true);autoComplete.mixin(this);this.makeKeyDownList();this.inputTarget=$(inputId);this.renderTarget=$(listId);this.filtered=true;this.inputAno=$("#aprofundamento-ano-campeonato");this.go=$("#go-to-campeonato");this.anoAutoComplete=new EdicaoCampeonatoAutoComplete(this);this.anoAutoComplete.bind();}
CampeonatoAutoComplete.prototype.focus=function(input){this.inputTarget.removeClass("escolhido");};CampeonatoAutoComplete.prototype.focusOut=function(input){if(this.inputTarget.attr('data-slug')){this.inputTarget.addClass("escolhido");}};CampeonatoAutoComplete.prototype.map=function(item){return item.nome;};CampeonatoAutoComplete.prototype.load=function(){this.data=this.campeonatos;this.inputAno.val('');};CampeonatoAutoComplete.prototype.render=function(item){return'<li class="ac-item"><span class="nome-campeonato">'+item.nome+'</span></li>';};CampeonatoAutoComplete.prototype.select=function(item){this.inputTarget.val(item.nome);this.inputTarget.attr("data-slug",item.slug);this.inputTarget.addClass("escolhido");this.go.attr('href',"/campeonato/"+item.slug);this.go.text('ver campeonato');this.go.removeClass("desativado");if(item.tipo==="campeonato"){this.inputAno.removeAttr('disabled');this.inputAno[0].focus();this.anoAutoComplete.campeonatoSlug=item.slug;}};CampeonatoAutoComplete.prototype.afterKeyDown=function(e){if(e.keyCode==38||e.keyCode==40){this.renderTarget.find('.selecionado').removeClass('selecionado');this.renderTarget.find('li').eq(this.preSelect).addClass('selecionado');}};CampeonatoAutoComplete.prototype.notFound=function(){var msg='<li class="mensagem-nao-encontrado-autocomplete">Não foi encontrado nenhum campeonato.</li>';return(msg);};CampeonatoAutoComplete.prototype.change=function(input){this.anoAutoComplete.reset();this.inputTarget.removeAttr('data-slug');this.go.removeAttr("href");this.go.text('ver campeonato');this.go.addClass("desativado");};$(document).ready(function(){if(CAMPEONATOS_BUSCA){var campeonatoAutoComplete=new CampeonatoAutoComplete(CAMPEONATOS_BUSCA);campeonatoAutoComplete.bind();}
$("#go-to-campeonato").unbind().bind('click',function(){if(!$(this).hasClass('desativado')){_gaq.push(['_trackEvent','menu','aprofundamento','campeonatos']);}});});function AprofundamentoMenuAutocompleteJogo(options){this.options={container:"",resultado:[],templateAutocomplete:'<li data-nome="#{nome}" data-slug="#{slug}" data-escudo="#{escudo_medio}">'+'<img src="#{escudo_pequeno}" width="30" height="30"/>'+'<span class="time">#{nomeTime}</span>'+'</li>'};$.extend(this.options,options);this.bind();this.input=$('input',this.options.container);this.escudo=$('img',this.options.container);this.autocomplete=$('.autocomplete-jogo',this.options.container);}
AprofundamentoMenuAutocompleteJogo.prototype.requestBuscaTime=function(str){var _self=this;var _container=this.options.container;this.escudo.attr('src','/es/fp/images/escudogenerico45x45.png');this.input.removeClass('escolhido');$('#go-to-confronto').addClass('desativado');$.ajax({type:'GET',dataType:'JSON',url:'/suggest/times/'+str,success:function(data){$('ul li',_container).remove();$('.glb-aprofundamento-menu').css('overflow','visible');_self.options.resultado=data;var html="";if(data.length>0){html=_self.montarHtml(data);}else{html='<li class="mensagem-nao-encontrado-autocomplete">Não foi encontrado nenhum time</li>';}
$('ul',_self.options.container).append(html);_self.autocomplete.show();}});};AprofundamentoMenuAutocompleteJogo.prototype.montarHtml=function(lista){var html="";for(var i=0;i<lista.length;i++){var temp=this.options.templateAutocomplete;temp=temp.replace('#{nome}',lista[i].nomePopular);temp=temp.replace('#{nomeTime}',lista[i].nomePopular);temp=temp.replace('#{escudo_pequeno}',lista[i].escudoPequeno_s);temp=temp.replace('#{slug}',lista[i].slug_s);temp=temp.replace('#{escudo_medio}',lista[i].escudoMedio_s);html+=temp;}
return html;};AprofundamentoMenuAutocompleteJogo.prototype.bind=function(){var _self=this;var _container=_self.options.container;var clearTimeOut="";var option=-1;_container.click(function(){if(_self.input.hasClass('escolhido')){_self.input.removeClass('escolhido');}});_container.delegate('input','keydown',function(e){if(e.keyCode==9){if(!_self.input.hasClass('escolhido')){if(option==-1){_self.selectOption(0);}else{_self.selectOption(option);}
_self.autocomplete.hide();_self.liberaBotao();}}
if(e.keyCode==8){_self.escudo.attr('src','/es/fp/images/escudogenerico45x45.png');_self.input.attr('data-slug','');_self.liberaBotao();}
if(e.keyCode==27){_self.input.val('');_self.escudo.attr('src','/es/fp/images/escudogenerico45x45.png');_self.input.attr('data-slug','');_self.autocomplete.hide();_self.liberaBotao();}
if(e.keyCode==38){var total=$('li',_container).length;if(option>0&&option<total){if(option>-1){option--;}
$('li',_container).removeClass('selecionado');$('li',_container).eq(option).addClass('selecionado');}}
if(e.keyCode==40){var total=$('li',_container).length;if(option>=-1&&option<total){if(option<total-1){option++;}
$('li',_container).removeClass('selecionado');$('li',_container).eq(option).addClass('selecionado');}}
if(e.keyCode==13){if(option==-1){_self.selectOption(0);}else{_self.selectOption(option);}
_self.autocomplete.hide();_self.liberaBotao();if($(this).attr('id')=='aprofundamento-nome-mandante'&&$('#aprofundamento-nome-visitante').attr('data-slug')==''){$('#aprofundamento-nome-visitante').focus();}
if($(this).attr('id')=='aprofundamento-nome-visitante'&&$('#aprofundamento-nome-mandante').attr('data-slug')==''){$('#aprofundamento-nome-mandante').focus();}}});$('input',_container).unbind().bind('keyup',function(e){var _this=$(this);clearTimeout(clearTimeOut);if(_this.val().length>=2&&e.keyCode!=27&&e.keyCode!=38&&e.keyCode!=40&&e.keyCode!=13&&e.keyCode!=9){clearTimeOut=setTimeout(function(){_self.requestBuscaTime(_this.val());option=-1;},250);}else if(_this.val().length<2){_self.autocomplete.hide();}});$("#glb-doc").bind('click',function(e){var target=$(e.target);if(target.attr('id')!='busca-mandante'||target.attr('id')!='busca-visitante'){$('.autocomplete-jogo').hide();_self.liberaBotao();}});$('li',_container).live('click',function(){$('li',_container).removeClass('selecionado');_self.selectOption($(this).index());_self.autocomplete.hide();_self.liberaBotao();});};AprofundamentoMenuAutocompleteJogo.prototype.liberaBotao=function(){var inputMandante=$('#aprofundamento-nome-mandante');var inputVistante=$('#aprofundamento-nome-visitante');var _input=this.input;if(_input.attr('data-slug')!=''){_input.addClass('escolhido');}else{_input.removeClass('escolhido');}
if(inputMandante.attr('data-slug')!=inputVistante.attr('data-slug')&&inputMandante.attr('data-slug')!=""&&inputVistante.attr('data-slug')!=""){$('#go-to-confronto').removeClass('desativado');}else{$('#go-to-confronto').addClass('desativado');}};AprofundamentoMenuAutocompleteJogo.prototype.selectOption=function(posicao){var item=$('.autocomplete-jogo li',this.options.container).eq(posicao);var input=this.input;var escudo=this.escudo;input.val(item.attr('data-nome'));input.attr('data-slug',item.attr('data-slug'));input.addClass('escolhido');escudo.attr('src',item.attr('data-escudo'));};
