var Dom = YAHOO.util.Dom,
    Event = YAHOO.util.Event;

function regionHeight( itemid )
{
  var region_itemid = Dom.getRegion( itemid );
  return ( region_itemid.bottom - region_itemid.top );
}

function ocAnim( itemid )
{       
  var item_height = regionHeight( itemid );

  if ( item_height > 0 )
  {
    itemClose( itemid );
  }
  else
  {
    itemOpen( itemid );
  }
}

function anim( itemid, itemid_height )
{
  var attributes =
  {
    height: { to: itemid_height }
  };
  
	var duration = 0.5;
  var anim = new YAHOO.util.Anim( itemid, attributes, duration );

  if( itemid_height == 0 )
  {
    anim.onComplete.subscribe( function()
    {
			if( itemid == 'languages' )
			{
				Dom.addClass( Dom.get( 'lgwrap' ), 'displaynone' );
			}
			Dom.addClass( Dom.get( itemid ).parentNode, 'displaynone' );
    }, this, true );
  }
  anim.animate();
}

function afterHeight( itemid )
{
  var itemid_beforeheight = regionHeight( itemid );
  Dom.get( itemid ).style.height = 'auto';
  var itemid_afterheight = regionHeight( itemid );
  Dom.get( itemid ).style.height = itemid_beforeheight;
  return itemid_afterheight;
}

function itemOpen( closed_itemid )
{
  if( closed_itemid == 'languages' )
  {
		Dom.removeClass( Dom.get( 'lgwrap' ), 'displaynone' );
  }
	Dom.removeClass( Dom.get( closed_itemid ).parentNode, 'displaynone' );
	anim( closed_itemid, afterHeight( closed_itemid ) );
}

function itemClose( opened_itemid )
{
	anim( opened_itemid, 0 );
}
