/*
YUI 3.4.1 (build 4118)
Copyright 2011 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
*/
YUI.add("base-base",function(d){var g=d.Object,h=d.Lang,o=".",q="destroy",b="init",r="initialized",m="destroyed",n="initializer",j="bubbleTargets",e="_bubbleTargets",a=Object.prototype.constructor,c="deep",p="shallow",k="destructor",f=d.Attribute,l=function(v,u,t){var w;for(w in u){if(t[w]){v[w]=u[w];}}return v;};function i(){d.stamp(this);f.call(this);var s=d.Plugin&&d.Plugin.Host;if(this._initPlugins&&s){s.call(this);}if(this._lazyAddAttrs!==false){this._lazyAddAttrs=true;}this.name=this.constructor.NAME;this._eventPrefix=this.constructor.EVENT_PREFIX||this.constructor.NAME;this.init.apply(this,arguments);}i._ATTR_CFG=f._ATTR_CFG.concat("cloneDefaultValue");i._ATTR_CFG_HASH=d.Array.hash(i._ATTR_CFG);i.NAME="base";i.ATTRS={initialized:{readOnly:true,value:false},destroyed:{readOnly:true,value:false}};i.prototype={init:function(s){this._yuievt.config.prefix=this._eventPrefix;this.publish(b,{queuable:false,fireOnce:true,defaultTargetOnly:true,defaultFn:this._defInitFn});this._preInitEventCfg(s);this.fire(b,{cfg:s});return this;},_preInitEventCfg:function(t){if(t){if(t.on){this.on(t.on);}if(t.after){this.after(t.after);}}var u,s,w,v=(t&&j in t);if(v||e in this){w=v?(t&&t.bubbleTargets):this._bubbleTargets;if(h.isArray(w)){for(u=0,s=w.length;u<s;u++){this.addTarget(w[u]);}}else{if(w){this.addTarget(w);}}}},destroy:function(){this.publish(q,{queuable:false,fireOnce:true,defaultTargetOnly:true,defaultFn:this._defDestroyFn});this.fire(q);this.detachAll();return this;},_defInitFn:function(s){this._initHierarchy(s.cfg);if(this._initPlugins){this._initPlugins(s.cfg);}this._set(r,true);},_defDestroyFn:function(s){if(this._destroyPlugins){this._destroyPlugins();}this._destroyHierarchy();this._set(m,true);},_getClasses:function(){if(!this._classes){this._initHierarchyData();}return this._classes;},_getAttrCfgs:function(){if(!this._attrs){this._initHierarchyData();}return this._attrs;},_filterAttrCfgs:function(w,t){var u=null,s,v=w.ATTRS;if(v){for(s in v){if(t[s]){u=u||{};u[s]=t[s];t[s]=null;}}}return u;},_initHierarchyData:function(){var u=this.constructor,t=[],s=[];while(u){t[t.length]=u;if(u.ATTRS){s[s.length]=u.ATTRS;}u=u.superclass?u.superclass.constructor:null;}this._classes=t;this._attrs=this._aggregateAttrs(s);},_aggregateAttrs:function(z){var v,A,u,s,B,t,y,x=i._ATTR_CFG_HASH,w={};if(z){for(t=z.length-1;t>=0;--t){A=z[t];for(v in A){if(A.hasOwnProperty(v)){u=l({},A[v],x);s=u.value;y=u.cloneDefaultValue;if(s){if((y===undefined&&(a===s.constructor||h.isArray(s)))||y===c||y===true){u.value=d.clone(s);}else{if(y===p){u.value=d.merge(s);}}}B=null;if(v.indexOf(o)!==-1){B=v.split(o);v=B.shift();}if(B&&w[v]&&w[v].value){g.setValue(w[v].value,B,s);}else{if(!B){if(!w[v]){w[v]=u;}else{l(w[v],u,x);}}}}}}}return w;},_initHierarchy:function(y){var u=this._lazyAddAttrs,z,A,C,w,t,B,x,v=this._getClasses(),s=this._getAttrCfgs();for(C=v.length-1;C>=0;C--){z=v[C];A=z.prototype;x=z._yuibuild&&z._yuibuild.exts;if(x){for(w=0,t=x.length;w<t;w++){x[w].apply(this,arguments);}}this.addAttrs(this._filterAttrCfgs(z,s),y,u);if(A.hasOwnProperty(n)){A.initializer.apply(this,arguments);}if(x){for(w=0;w<t;w++){B=x[w].prototype;if(B.hasOwnProperty(n)){B.initializer.apply(this,arguments);}}}}},_destroyHierarchy:function(){var w,x,A,y,u,s,v,z,t=this._getClasses();for(A=0,y=t.length;A<y;A++){w=t[A];x=w.prototype;v=w._yuibuild&&w._yuibuild.exts;if(v){for(u=0,s=v.length;u<s;u++){z=v[u].prototype;if(z.hasOwnProperty(k)){z.destructor.apply(this,arguments);}}}if(x.hasOwnProperty(k)){x.destructor.apply(this,arguments);}}},toString:function(){return this.name+"["+d.stamp(this,true)+"]";}};d.mix(i,f,false,null,1);i.prototype.constructor=i;d.Base=i;},"3.4.1",{requires:["attribute-base"]});