Suagencia.Paineis = 
{
	defaultOptions: $H( {grupo:'default',altura:'300px', transicao: Effect.Transitions.linear , duration:0.8} ),
	config: function( event , vDOM)
	{
		if( vDOM )
			{allBarras = $(vDOM).select("*[suag:objeto~=painel]");}
		else
			{allBarras = $$("*[suag:objeto~=painel]");}
		
		allBarras.each( function (myPainel , i) {
			var vOptions = null;
			if (myPainel.readAttribute("suag:painelParam"))
				{var vOptions = $H(myPainel.readAttribute("suag:painelParam").evalJSON());}
			new Suagencia.Classes.Painel( myPainel.id , vOptions );
		})
	},
	changeDefaultOptions: SuagenciaFramework.changeDefaultOptions
}

Suagencia.Classes.Painel =  Class.create( Suagencia.Classes.BaseDisplay , {
	initialize: function( $super, vID , vOptions )
	{
		var vDOM;
		var vSelector = "";

		this.ID = vID;
	
		vSelector = "#" + this.ID + " [suag:objeto~=painel-conteudo]";
		vDOM = $$( vSelector ).entries()[0];

		if (vOptions)
			{this.Options = Suagencia.Paineis.defaultOptions.merge( vOptions );}
		else
			{this.Options = Suagencia.Paineis.defaultOptions.clone();}

		if (this.Options.get("altura") == "auto")
		{
			this.Options.set("altura" , vDOM.getHeight() + "px") 
		}
		this.Options.set( "display", vDOM );

		vSelector = "#" + this.ID + " [suag:objeto~=painel-link]";

		this.Options.set( "trigger" , [vSelector] );
		this.Options.set( "action" , ["click"] );


		if( $( this.ID ).hasClassName("ativo") )
			{ vDOM.setStyle({"height":this.Options.get("altura"),"visibility":"visible"});}
		else
			{vDOM.setStyle({"height":"0px","visibility":"visible"});}

		$super( vID, this.Options )
	},
	aparecer: function() {
		return new Effect.Morph(this.display , {sync:true, style:{height:this.Options.get("altura")}, transition:this.Options.get("transicao")});
	},
	sumir: function() {
		return new Effect.Morph(this.display , {sync:true, style:{height:"0px"}, transition:this.Options.get("transicao")});
	}

});