// DOM object get/move/show/hide routines
//#######################################
//#######################################
//#######################################

// sfxGetElement - find DOM object
//////////////////////////////////
function sfxGetElement( elemId ) {
  if( document.getElementById )
    return( document.getElementById( elemId ) );
  else if( document.all )
    return( document.all[elemId] );
  else if( document.layers )
    return( document.layers[elemId] ); }

// sfxToggleVisibility - hide/show object
/////////////////////////////////////////
function sfxToggleVisibility( elemId, makeVisible ) {
  sfxElementToggleVisibility( sfxGetElement( elemId ), makeVisible ); }
function sfxElementToggleVisibility( elem, makeVisible ) {
  if( elem == null ) return;
  var elemStyle = elem.style;
  if( makeVisible == null )
    makeVisible = (elemStyle.display!='' && elemStyle.display!='block')
  if( makeVisible ) {
    elemStyle.display = 'block';
    elemStyle.visibility = 'visible'; }
  else {
    elemStyle.display = 'none';
    elemStyle.visibility = 'hidden'; } }

// sfxMoveObj - move DOM object
///////////////////////////////
function sfxMoveObj( elemId, xcoord, ycoord ) {
  var elem = sfxGetElement( elemId );
  var elemStyle = elem.style;
  if( elemStyle ) {
    elemStyle.left = xcoord+'px';
    elemStyle.top = ycoord+'px';
	return( true ); }
  else
    return( false ); }

// page sections show/hide routines
//#################################
//#################################
//#################################

// sfxExpandObj/sfxContractObj - show/hide section
//////////////////////////////////////////////////
function sfxExpandObj( objId ) {
  sfxToggleVisibility('expandLink'+objId, false );
  sfxToggleVisibility('expanded'+objId, true ); }

function sfxContractObj( objId ) {
  sfxToggleVisibility('expandLink'+objId, true );
  sfxToggleVisibility('expanded'+objId, false ); }

// sfxSwitchTab - show/hide tab section
////////////////////////////////////
function sfxSwitchTab(tabGroupNumber,activeTabNumber,totalTabs) {
  for( var tabIdx = 1; tabIdx <= totalTabs; ++tabIdx )
    if( tabIdx == activeTabNumber )
      sfxToggleVisibility('switchTab_'+tabGroupNumber+'_'+tabIdx, true );
    else
      sfxToggleVisibility('switchTab_'+tabGroupNumber+'_'+tabIdx, false ); }

// legacy api support
//###################
//###################
//###################
if( !window.getElement )
  window.getElement
    = sfxGetElement;
if( !window.toggleVisibility )
  window.toggleVisibility
    = sfxToggleVisibility;
if( !window.expandObj )
  window.expandObj
    = sfxExpandObj;
if( !window.contractObj )
  window.contractObj
    = sfxContractObj;
if( !window.switchTab )
  window.switchTab
    = sfxSwitchTab;

