
WL.Controls={};WL.Controls.Control=WL.Class(Object,function()
{this.onDisableChanging=new WL.Objects.Event();this.onDisableChange=new WL.Objects.Event();this._disabled=false;WL.attachListener(window,"unload",this.unload.bind(this));},function(type)
{type.getContainer=function(){return WL.Utils.$(this.c_id);}
type.generate=function(uniqueID)
{this.u_id=uniqueID;this.c_id=uniqueID.split('$').join('_');var container=WL.Utils.$(this.c_id);container.control=this;this.ongenerate();}
type.generate2=function(container)
{this.c_id=WL.uniqueID(container);container.control=this;this.ongenerate();}
type.ongenerate=function(){}
type.unload=function()
{var c=WL.Utils.$(this.c_id);if(c!=null)
{this.onunload();c.control=null;}}
type.onunload=function(){}
type.disable=function(disable)
{if(this._disabled==disable)return;if(this.onDisableChanging.invoke(this,{state:disable}))
{this._disabled=disable;this.onDisableChange.invoke(this,{state:disable});this.ondisabled(disable);}}
type.ondisabled=function(disabled){}
type.isDisabled=function(){return this._disabled;}});
