function gotoGalleryImage( gallery, relIndex ) {
  // alle Listen-Eintraege ermitteln
  var listNode = document.getElementById( gallery );
  var dtNodes = listNode.getElementsByTagName( 'dt' );
  var ddNodes = listNode.getElementsByTagName( 'dd' );
  var itemCount = dtNodes.length;
  // aktiven Eintrag ermitteln
  var itemIndex = 0;
  for ( var i = 0; i < itemCount; ++i ) {
    if ( dtNodes[i].className != 'off' ) {
      itemIndex = i;
    }
  }
  // Aktiven Eintrag wechseln
  var newItemIndex = ( itemIndex + itemCount + relIndex ) % itemCount;
  dtNodes[itemIndex].className = 'off';
  ddNodes[itemIndex].className = 'off';
  dtNodes[newItemIndex].className = 'on';
  ddNodes[newItemIndex].className = 'on';
}


function initGallery( gallery ) {
  // alle Listen-Eintraege ermitteln
  var listNode = document.getElementById( gallery );
  var dtNodes = listNode.getElementsByTagName( 'dt' );
  var ddNodes = listNode.getElementsByTagName( 'dd' );
  var imgNodes = listNode.getElementsByTagName( 'img' );
  var itemCount = dtNodes.length;
  // max Dimension ermitteln + ersten Eintrag aktivieren
  var maxHeight = 100;
  var maxWidth  = 300;
  if ( itemCount > 0 ) {
    maxHeight = Math.max( maxHeight, imgNodes[0].height );
    maxWidth  = Math.max( maxWidth,  imgNodes[0].width );
    dtNodes[ 0 ].className = 'on';
    ddNodes[ 0 ].className = 'on';
  }
  for ( var i = 1; i < itemCount; ++i ) {
    maxHeight = Math.max( maxHeight, imgNodes[i].height );
    maxWidth  = Math.max( maxWidth,  imgNodes[i].width );
    dtNodes[ i ].className = 'off';
    ddNodes[ i ].className = 'off';
  }
  // Dimension ueberall anpassen
  for ( var i = 0; i < itemCount; ++i ) {
    ddNodes[i].style.paddingBottom = ( maxHeight - imgNodes[i].height ) + 'px';
  }
  listNode.style.width = ( maxWidth + 2 ) + 'px';
}
