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( Dom.get( itemid ).className == 'office animwrap' )
		  {
		    Dom.addClass( Dom.get( itemid ).parentNode.parentNode, 'displaynone' );
		  }
		  else
		  {
		    Dom.addClass( Dom.get( itemid ).parentNode, 'displaynone' );
		  }
			Dom.get( itemid + '_head' ).innerHTML = "More details<span>&nbsp;</span>";
    }, this, true );
  }
	else
	{
		anim.onComplete.subscribe( function()
    {
      Dom.get( itemid + '_head' ).innerHTML = "Close<span>&nbsp;</span>";
		}, this, true );
	}
  anim.animate();
}

function afterHeight( itemid )
{
  var itemid_beforeheight = regionHeight( itemid );
  document.getElementById( itemid ).style.height = 'auto';
  var itemid_afterheight = regionHeight( itemid );
  document.getElementById( itemid ).style.height = itemid_beforeheight;
  return itemid_afterheight;
}

function itemOpen( closed_itemid )
{
	if( Dom.get( closed_itemid ).className == 'office animwrap' )
	{
		Dom.removeClass( Dom.get( closed_itemid ).parentNode.parentNode, 'displaynone' );
	}
	else
	{
		Dom.removeClass( Dom.get( closed_itemid ).parentNode, 'displaynone' );
	}
	anim( closed_itemid, afterHeight( closed_itemid ) );
}

function itemClose( opened_itemid )
{
	anim( opened_itemid, 0 );
}
