
  /**
   * Zuletzt angesehenes Video
   */
  var lastWatched = null;
  
  /**
   * Player
   */
  var player = null;
  
  /**
   * Alle Videos
   */
  var videos = null;

  /**
   * Alle Videos klein machen
   */
  function collapse_all_videos()
  {
    // Alle Videos ausblenden
    for( var x = 0; x < videos.length; x++ )
    {
      videos[x].select('.hidden').each( function( item ) { item.hide(); } );
      
      // Klick auf dem DIV registrieren
      videos[x].style.cursor = 'pointer';
      videos[x].onclick = function()
      {
        startVideo( this );
      }
      
      // Link hinzufügen
      var video = videos[x].select('embed')[0];
      var link = new Element('a', { href: video.src }).update( showVideoMsg );
      link.onclick = function()
      {
        return( false );
      }
      
      var p = new Element('p', { className: 'showvideo' } ).update('&raquo; ');
      p.appendChild( link );
      videos[x].appendChild( p );
    }
  }
  
  /**
   * Video anzeigen
   */
  function startVideo( video )
  {
    video = $(video);
    if( lastWatched != video )
    {
      // Ansicht kleiner machen
      $('page').addClassName('javascript');
      
      // Letztes Video demarkieren
      if( lastWatched )
      {
        lastWatched.removeClassName('watching');
      }
      
      // Letztes Video merken
      video.addClassName('watching');
      lastWatched = video;
      
      // Browser-Adresszeile ändern
      for( var x = 0; x < videos.length; x++ )
      {
        if( videos[x] == video )
        {
          document.location.href = '#v'+ (x + 1);
          break;
        }
      }
      
      // Inhalt des Videoframes löschen
      videoDiv = $('video');
      videoDiv.update('');
      
      // Neues Video laden
      var item = video.firstChild;
      do
      {
        if( item.tagName && item.tagName.toLowerCase() == 'object' )
        {
          var videoElement = new Element('div', { id: 'videoplayer' });
          videoDiv.appendChild( videoElement );
          delete videoElement;
          
          var playerSrc = item.select('embed')[0].src + '&autoplay=1&enablejsapi=1&playerapiid=videoplayerobj&rel=0&showinfo=0';
          var params = { allowScriptAccess: 'always', allowFullScreen: 'true' };
          var atts = { id: 'videoplayerobj' };
          player = swfobject.embedSWF( playerSrc, 'videoplayer', '600', '362', '8', null, null, params, atts );
        }
        else if ( item.tagName && item.tagName.toLowerCase() == 'p' && item.hasClassName('showvideo') )
        {
          // Ignorieren
        }
        else
        {
          videoDiv.appendChild( item.cloneNode(true) );
          videoDiv.select('.hidden').each( function( item ) { if( item.hasClassName('nevervisible') == false ) { item.show(); } } );
        }
        item = item.nextSibling;
      }
      while( item );
      delete item;
    }
  }
  
  /**
   * Richtigen Tab herausfinden
   */
  function getLoadVideo()
  {
    if( document.location.href.match(/#v([0-9]+)/) )
    {
      var loc = parseInt( RegExp.$1 );
      startVideo( videos[ loc - 1 ] );
      return( 1 );
    }
  }
  
  /**
   * Wenn das Dokument geladen wurde, dann die Videos entfernen und eine Suchergebnis-Liste ausgeben
   */
  Event.observe
  (
    window,
    'load', 
    function()
    {
      // Alle Videos laden
      videos = $('videos').select('div.video')
      
      // Neuen Video-Div erzeugen
      var videosDiv = document.getElementById('videos');
      var videoDiv = document.createElement('div');
      videoDiv.setAttribute('id', 'video');
      videosDiv.parentNode.insertBefore( videoDiv, videosDiv );
      
      // Alle Videos einklemmen
      collapse_all_videos();
      
      // Video starten
      if( getLoadVideo() != 1 && typeof(startVideoIndex) == 'number' )
      {
        startVideo( videos[ startVideoIndex - 1 ] );
      }
    },
    false
  );