var flyoutOpen = { width: { to: 100 } };
var flyoutClose = { width: { to: 0 } };

var mouseTimeout;
var flyoutEl;
var flyoutAnim;

var hideFlyout = function()
{
	var flyout = this.getEl();
	flyout.style.display = 'none';
}

function openFlyout( event )
{
	clearTimeout( mouseTimeout );
	var el = document.getElementById( this.id + '-flyout' );
	
	if ( el.style.display != 'block' )
		el.style.display = 'block';
	
	flyoutAnim = new YAHOO.util.Anim( el, flyoutOpen );
	flyoutAnim.method = YAHOO.util.Easing.easeOut;
	flyoutAnim.animate();
	
	YAHOO.util.Event.addListener( this.id + "-flyout", "mouseout", startFlyoutClose );
}

function closeFlyout()
{
	var el = document.getElementById( flyoutEl.id );
	
	if ( !el.id.match( '-flyout' ) )
	{
		el = document.getElementById( el.id + '-flyout' );
	}
	
	flyoutAnim = new YAHOO.util.Anim( el, flyoutClose );
	
	if ( el.nodeName != 'A' )
	{
		flyoutAnim.method = YAHOO.util.Easing.easeOut;
		flyoutAnim.onComplete.subscribe( hideFlyout );
		flyoutAnim.animate();
	}
}

function startFlyoutClose( ev )
{
	mouseTimeout = setTimeout( 'closeFlyout()', 500 );
	flyoutEl = this;
	YAHOO.util.Event.removeListener( "music-flyout", "mouseout" );
}