    var x = new Array( );
    var direction = new Array( );
    var increment = new Array( );
    var timer = new Array( );
    var active = new Array( );
    var width = new Array( );
    var full = new Array( );
    var running = false;

    function pan( id )
      {
      if ( active[id] )
        {
        document.getElementById( id ).style.backgroundPosition = x[id] + "px 0px";
        x[id] += direction[id] * increment[id];
        if ( ! full[id] )
          {
          if ( -x[id] >= width[id] - document.getElementById( id ).offsetWidth )
            {
            x[id] = direction[id] * ( width[id] - document.getElementById( id ).offsetWidth );
            direction[id] = -direction[id];
            }
          if ( x[id] >= 0 ) { x[id] = 0; direction[id] = -direction[id]; }
          }
        }
      }

    function initpan( id, url, w, f, interval )
      {
      running = true;
      active[id] = true;
      document.getElementById( id ).style.background = 'url(' + url + ')';
      document.getElementById( id ).style.width = Math.min( 1000, w ) + 'px';
      x[id] = 0;
      direction[id] = -1;
      increment[id] = interval || 1;
      width[id] = w;
      full[id] = ( f ? true : false );
      if ( w >= document.getElementById( id ).offsetWidth )
        { timer[id] = setInterval( "pan( '" + id + "' )", 15 ); }
      }

    function closepan( id )
      {
      clearInterval( timer[id] );
      }

    function pausepan( id )
      { active[id] = 1 ^ active[id]; }

    function keypress( e, id )
      {
      var r = true;
      if ( running )
        {
        keynum = e.keyCode;
        if ( keynum == 39 ) { x[id] -= 10; r = false; }
        else if ( keynum == 13 ) { r = false; }
        else if ( keynum == 37 ) { x[id] += 10; r = false; }
        else if ( keynum == 38 ) { x[id] += 100; r = false; }
        else if ( keynum == 40 ) { x[id] -= 100; r = false; }
        else if ( keynum == 33 ) { x[id] += 500; r = false; }
        else if ( keynum == 34 ) { x[id] -= 500; r = false; }
        else if ( e.charCode == 32 ) { pausepan( id ); r = false; }

        if ( ! full[id] )
          {
          if ( x[id] >= 0 ) { x[id] = 0; }
          else if ( -x[id] >= width[id] - document.getElementById( id ).offsetWidth )
            { x[id] = -( width[id] - document.getElementById( id ).offsetWidth ); }
          }
        document.getElementById( id ).style.backgroundPosition = x[id] + "px 0px";
        }

      return r;
      }

    SqueezeBox.parsers.pan = function( preset )
      { return ( preset ? this.url : false );  }
 
    SqueezeBox.handlers.pan = function( url )
      {
      var x = document.getElementById( "divPano" );
      initpan( "divPano", url, this.options.width, this.options.full || false, Math.max( 1, Math.min( 4, Math.round( ( this.options.width / 600. / 2.5 ) ) ) ) );
      x.style.display = 'block';
      x.parentNode.removeChild( x );
      return x;
      };

 
    window.addEvent( 'domready', function( )
      {
      SqueezeBox.initialize ( { onClose: function ( ) { running = false; closepan( "divPano" ); } } );

SqueezeBox.onKeyPress = function(e) {
      var id = 'divPano';
      var r = true;
      if ( running )
        {
        keynum = e.code;
        if ( keynum == 39 ) { x[id] -= 10; r = false; }
        else if ( keynum == 13 ) { r = false; }
        else if ( keynum == 37 ) { x[id] += 10; r = false; }
        else if ( keynum == 38 ) { x[id] += 100; r = false; }
        else if ( keynum == 40 ) { x[id] -= 100; r = false; }
        else if ( keynum == 33 ) { x[id] += 500; r = false; }
        else if ( keynum == 34 ) { x[id] -= 500; r = false; }
        else if ( e.code == 32 ) { pausepan( id ); r = false; }

        if ( ! full[id] )
          {
          if ( x[id] >= 0 ) { x[id] = 0; }
          else if ( -x[id] >= width[id] - document.getElementById( id ).offsetWidth )
            { x[id] = -( width[id] - document.getElementById( id ).offsetWidth ); }
          }
        document.getElementById( id ).style.backgroundPosition = x[id] + "px 0px";
        }

      return r;
}
SqueezeBox.bound.keyPress = SqueezeBox.onKeyPress.bind( SqueezeBox );

      SqueezeBox.assign ( $$('a.boxed'), { parse: 'rel' } );

/*alert( $$('a') );
$$('a').addEvent( 'click', function(e) { this.href = "www.google.de"; } );*/

      });

