if ("undefined" == typeof(RadDockNamespace))
{
	RadDockNamespace = new Object();
}

RadDockNamespace.InitDockableObjectCommand = function(element, dockableObject, params)
{
	if (!element)
		return;
		
	Object.Extend(element, RadDockNamespace.RadDockableObjectCommand);

	element.ParentDockableObject = dockableObject;
	
	var i = 0;	
	element.Name = params[i++];
	element.PostBackClientEventString = params[i++];
	element.OnCommand = eval(params[i++]);	
}

RadDockNamespace.RadDockableObjectCommand = {

	ParentDockableObject : null,
	Name : "",
	PostBackClientEventString : "",
	OnCommand : null,
	
	Dispose : function ()
	{
		this.onclick = null;
		this.ParentDockableObject = null;
	},

	onclick : function (eventArgs)
	{
		this.Exec();
	},

	Exec : function ()
	{
		if (!this.ParentDockableObject)
			return;

		var doPostBack = true;
		
		var func = this.OnCommand;	
		if ("function" == typeof(func))
		{
			doPostBack = (false != func(this.ParentDockableObject, this));
		}
		
		if (doPostBack && this.PostBackClientEventString)
		{
			eval(this.PostBackClientEventString);
		}
	},

	Enable : function (enabled)
	{
		this.style.display = ((enabled != false) ? "" : "none");
	},

	IsEnabled : function ()
	{
		return (this.style.display != "none");
	}
};
//BEGIN_ATLAS_NOTIFY
if (typeof(Sys) != "undefined")
{
    if (Sys.Application != null && Sys.Application.notifyScriptLoaded != null)
    {
        Sys.Application.notifyScriptLoaded();
    }
}
//END_ATLAS_NOTIFY
