(function(a){var b;window.addCompleter=function(c,d){c=a(c);b=new autoComplete(c,d);c.bind("blur",b,b.hideBlur);c.bind("keyup keydown",b,b.kupdn);a(":submit",c[0].form).bind("click",b,b.formSubmit);if(jQuery.browser.opera){c.bind("keypress",function(e){if(e.keyCode==13){voidDefault(e)}})}return b};window.bindCompleter=function(c){c=c||b;c.field.bind("blur",c,c.hideBlur);c.field.bind("keyup keydown",c,c.kupdn);c.field.attr("autocomplete","off");a(":submit",c.field[0].form).bind("click",c,c.formSubmit);if(jQuery.browser.opera){c.field.bind("keypress",function(d){if(d.keyCode==13){voidDefault(d)}})}};window.delCompleter=function(c){c=c||b;c.field.unbind("blur",c.hideBlur);c.field.unbind("keyup keydown",c.kupdn);c.field.unbind("keypress",function(d){if(d.keyCode==13){voidDefault(d)}});a(":submit",c.field[0].form).unbind("click",c.formSubmit);c.field.attr("autocomplete","on")}})(jQuery.noConflict());function voidDefault(a){a.preventDefault&&a.preventDefault();a.returnValue=false;a.stopPropagation&&a.stopPropagation();a.cancelBubble=true}function autoComplete(b,c){b=jQuery(b);b.attr("autocomplete","off");this.field=b;this.value=b.val();this.selected=false;this.wait=false;this.enter=13;this.up=38;this.down=40;this.esc=27;var d=b.position();var a=this.list=jQuery(document.createElement("div")).addClass("autoCompleteList").css({position:"absolute",left:d.left,top:d.top+b.height()+4,display:"none","z-index":"20"}).appendTo(c||b.parent());this.filterEvent=function(e){var g=e.type,h=e.target,f=e.originalEvent.keyCode;e=e.originalEvent;if(g=="keyup"){if(this.value!=jQuery.trim(h.value)){this.value=jQuery.trim(h.value);if(this.value===""){this.hide(true)}else{this.execute()}}else{voidDefault(e);switch(f){case this.up:this.navigation("up");break;case this.down:this.navigation("down");break;case this.esc:this.hide();break;case this.enter:this.confirm()}}}else{f==this.enter&&voidDefault(e)}};this.hide=function(e){if(this.wait&&!e){return}this.list.fadeOut("fast");jQuery("#iframeBack").remove()};this.confirm=function(){if(this.selected){var e=jQuery("."+this.selected+" :first",this.list);if(e.length){location.href=this.url+e.text().replace(".","-").toLowerCase()}}this.hide()};this.navigation=function(g){if(this.list.css("display")=="none"){return this.execute()}var e=jQuery("li",this.list),f=jQuery(".ativo",this.list);if(e.length<=1){return}if(this.selected===false||!f.length){if(g=="down"){this.selected=e.get(0).className;jQuery(e.get(0)).addClass("ativo")}else{this.selected=e.get(e.length-1).className;jQuery(e.get(e.length-1)).addClass("ativo")}return}f=f.removeClass("ativo").get(0);f=g=="down"?f.nextSibling||f.parentNode.firstChild:f.previousSibling||f.parentNode.lastChild;this.selected=f.className;jQuery(f).addClass("ativo")};this.execute=function(){if((this.value=jQuery.trim(this.value))==""){return this.hide()}var e=window.api;if(!e){e=new UOLFinance()}e.list({type:"asset/stock",search:this.value,size:10,callback:binder(this,this.createList),param:true});this.wait=true};this.createList=function(o){if(!o.parameters||o.parameters.search!==b.val()){return this.hide(true)}o=o.data;this.wait=false;if(jQuery("ul",this.list).length){var j=jQuery("ul",this.list),l=jQuery("a",this.list),p;if(o.length===1){l.attr("href",this.url+o[0].code.replace(".","-").toLowerCase())}else{l.attr("href",this.url+"ativo-resultado_busca.jhtm?busca="+escape(this.value))}l.text('Ver todos os resultados para "'+this.value+'"');j.empty()}else{var j=jQuery(document.createElement("ul")),l=jQuery(document.createElement("a")).appendTo(document.createElement("p")),p,n;j.addClass("clear-box");if(o.length===1){l.attr("href",this.url+o[0].code.replace(".","-").toLowerCase())}else{l.attr("href",this.url+"ativo-resultado_busca.jhtm?busca="+escape(this.value))}l.text('Ver todos os resultados para "'+this.value+'"');this.list.append(j).append(l.parent())}if(o.length&&this.value){var q=new RegExp("(^|\\s)("+this.value+")","gi");for(var g=0,h=o.length,m,e,k;g<h;g++){m=o[g];e=m.code;k=m.companyName;p=jQuery(document.createElement("li"));p.addClass(e.replace(/\./g,"").replace(/\s/g,"").toLowerCase());n=jQuery(document.createElement("span"));e=e.replace(q,"<strong>$1$2</strong>");n.html(e);n.addClass("code");p.append(n);n=jQuery(document.createElement("span"));k=k.replace(q,"<strong>$1$2</strong>");n.html(k);n.addClass("company");p.append(n);p.bind("mouseover",this,function(i){var r=this;if(r.tagName.toLowerCase()!="li"){while(r.tagName.toLowerCase()!="li"){r=r.parentNode}}jQuery(".ativo",i.data.list).removeClass("ativo");i.data.selected=r.className;jQuery(r).addClass("ativo")});p.bind("click",this,function(i){i.data.confirm.apply(i.data)});j.append(p)}if(this.selected){jQuery("li",this.list).removeClass("ativo");var f=jQuery("."+this.selected,j);if(f.length){f.addClass("ativo")}}this.list.fadeIn("fast",binder(this,function(){if(jQuery.browser.msie&&jQuery.browser.version.toString()=="6.0"){var i=this.list.position();bgIframe({width:(this.list.width()+18)+"px",height:(this.list.height()+18)+"px",left:i.left+"px",top:i.top+"px","z-index":19,position:"absolute"},this.list)}}))}else{this.hide()}};this.hideBlur=function(e){setTimeout(function(){e.data.hide.apply(e.data,[true])},100)};this.kupdn=function(e){e.data.filterEvent.apply(e.data,[e])};this.formSubmit=function(e){var f=jQuery("li",e.data.list);if(f.length===1){location.href=e.data.url+f.eq(0).find(".code").text().toLowerCase().replace(".","-");return false}location.href=e.data.url+"ativo-resultado_busca.jhtm?busca="+escape(e.data.field.val());return false}}function binder(b,a){return function(){for(var d=0,c=[];d<arguments.length;d++){c[c.length]=arguments[d]}a.apply(b,c)}}function bgIframe(a,c){var b=document.createElement("iframe");jQuery(b).attr({src:'javascript:"";',id:"iframeBack"}).css(a);b.style.filter="progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)";jQuery(c).parent().append(b)};