Ext.define("Ozone.components.focusable.Focusable",{extend:"Ext.AbstractPlugin",alias:"plugin.focusable",constructor:function(a,b){this.init=function(c){c.on("afterrender",function(){var d=a?c[a]:c.el;Ozone.components.focusable.Focusable.setupFocus(d,c,b)})}}});Ozone.components.focusable.Focusable.setupFocus=function(d,e,c){c=c||"x-focus";d=Ext.get(d);e=e||Ext.create("Ext.util.Observable");if(!d){return}var a=true;e.mon(d,"focus",function(f,g){if(a){Ext.fly(g).addCls(c)}});e.mon(d,"blur",function(f,g){Ext.fly(g).removeCls(c)});e.mon(d,"mousedown",function(){a=false});function b(){a=true}e.mon(d,{mouseup:b,mouseout:b});Ozone.components.focusable.Focusable.clearOutline(d)};Ozone.components.focusable.Focusable.clearOutline=function(a){a=Ext.get(a);if(!a){return}a.dom.tabIndex=0;a.dom.hideFocus=true;a.dom.style.outlineStyle="none"};