function seg(x,y,name,iname,isrc)
{
  this.divName = name;
  this.imgName = iname;
  this.divObj = new lib_obj(name);
  this.divObj.moveIt(x,y);

  this.imgObj=bw.dom?document.getElementById(iname): bw.ns4?document.layers[name].document.images[iname]: bw.ie?document.all.images[iname]:0;

  this.imgObj.src = isrc;
};

seg.prototype.moveLeft = function ()
{
  this.divObj.moveBy(-2,0);
  if (this.divObj.x < segment_PfadMin) // Dieses Segment ist nun ganz links angekommen
  {
    this.divObj.moveIt(segment_PfadMax,segment_PfadOben); // schiebe es nach rechts zurück an Anfang
    this.imgSwap(segmente_src_ptr+5); // Lade das nächste img in dieses Segment
    segmente_src_ptr++;
    if (segmente_src_ptr > max_segment_in_array)
    {
      segmente_src_ptr = 0;
    };
  };
};

seg.prototype.moveRight = function ()
{
  this.divObj.moveBy(2,0);
  if (this.divObj.x > segment_PfadMax){
    this.divObj.moveIt(segment_PfadMin,segment_PfadOben);
    segmente_src_ptr--;
    if (segmente_src_ptr < 0)
    {
      segmente_src_ptr =  max_segment_in_array;
    };
    this.imgSwap(segmente_src_ptr);
  };
};


seg.prototype.imgSwap = function (ptr)
{
  if (ptr > max_segment_in_array)
  {
    ptr = ptr - (max_segment_in_array+1);
  };
  this.imgObj.src = segmente_src_name[ptr];
};


function pano()
{
  segment_PfadMax = pano_start_x + (segment_breite * max_segment_sichtbar);
  segment_PfadMin = pano_start_x - segment_breite;
  segment_PfadOben = pano_start_y;
  segmente_src_ptr = 0;
  this.Aktiv = null;
  this.FensterOffen = false;
  this.Segment = new Array();
  this.Segment[0] = new seg(pano_start_x,pano_start_y,'divseg0','imgseg0',segmente_src_name[0]);
  this.Segment[1] = new seg(pano_start_x + (1*segment_breite),pano_start_y,'divseg1','imgseg1',segmente_src_name[1]);
  this.Segment[2] = new seg(pano_start_x + (2*segment_breite),pano_start_y,'divseg2','imgseg2',segmente_src_name[2]);
  this.Segment[3] = new seg(pano_start_x + (3*segment_breite),pano_start_y,'divseg3','imgseg3',segmente_src_name[3]);
  this.Segment[4] = new seg(pano_start_x + (4*segment_breite),pano_start_y,'divseg4','imgseg4',segmente_src_name[4]);

  this.Laden = new Array();
  this.Laden[0] = new lib_obj('laden1');
  this.Laden[1] = new lib_obj('laden2');
  this.Laden[2] = new lib_obj('laden3');
  this.Laden[3] = new lib_obj('laden4');
};

pano.prototype.rotateLeft = function()
{
 this.Segment[0].moveLeft();
 this.Segment[1].moveLeft();
 this.Segment[2].moveLeft();
 this.Segment[3].moveLeft();
 this.Segment[4].moveLeft();
};


pano.prototype.rotateRight = function ()
{
 this.Segment[4].moveRight();
 this.Segment[3].moveRight();
 this.Segment[2].moveRight();
 this.Segment[1].moveRight();
 this.Segment[0].moveRight();
};

pano.prototype.stop = function ()
{
 window.clearInterval(this.Aktiv);
};

pano.prototype.openFenster = function ()
{
 var y = pano_start_y - 3;
 var x = pano_start_x - 132; // 112 = Ladenbreite; 20 = Offset
 this.Laden[0].slideIt(x,y,5,5);
 this.Laden[1].slideIt(x - 3,y,5,5);
 x = pano_end_x + 20; // 20 = Offset
 this.Laden[2].slideIt(x + 3,y,5,5);
 this.Laden[3].slideIt(x,y,5,5);
 this.FensterOffen = true;
};

pano.prototype.closeFenster = function ()
{
 var y = pano_start_y - 3;
 var x = pano_start_x - 20; // 20 = Offset
 this.stop();
 this.Laden[0].slideIt(x,y,5,5);
 this.Laden[1].slideIt(x + 112,y,5,5);
 x = pano_end_x - 86; // // -112 = Ladenbreite; +20 = Offset
 this.Laden[3].slideIt(x,y,5,5);
 this.Laden[2].slideIt(x - 112,y,5,5);
 this.FensterOffen = false;
};


function init()
{
  // Diese Zeile ist ein Hack für NS4.7
  if (!bw){self.location.reload();};
  panorama = new pano();
};

function nachlinks()
{
  panorama.stop();
  if ((panorama.FensterOffen == true))
  {
    panorama.Aktiv = setInterval("panorama.rotateLeft()",20);
  };
};

function nachrechts()
{
  panorama.stop();
  if ((panorama.FensterOffen == true))
  {
    panorama.Aktiv = setInterval("panorama.rotateRight()",20);
  };
};

function oeffnen()
{
  panorama.openFenster();
};

function stop()
{
  panorama.stop();
};

function schliessen()
{
  panorama.stop();
  panorama.closeFenster();
};