// Datei pictshow.js
// Überarbeitung (c) Mai 2005 Michael Ziemke, Koeln

////////////////////////////////////////////////
// dmx slidershow by robert engelhardt © 2003 //
//              womstar@uni.de                //
//       vermerk bitte stehn lassen!          //
////////////////////////////////////////////////
//               Überarbeitung:               //
//     (c) Mai 2005 Michael Ziemke, Koeln     //
////////////////////////////////////////////////


var aktuell  = 0;
var allePos  = new Array();
var thePos   = dimx = Dimx =0, time;
var bildverz = bildVerzeichnis;   // z.B. 'images' ; ggf. anpassen
var stepPos  = stepperPos;   // Position der Stepper (Erster/Voriger/Nächster/Letzter):
                             // 0 = unterhalb  1 = links  2 = rechts der Bilder
var offset   = 0;

/****************************************************/
/* Die Bilder sollten alle die gleiche Größe haben  */
/* Es können Portrait und Landscape gemischt werden */
/****************************************************/

  var einoffset = rahmenBreite - rahmenHoehe/4*3
      // Einzel-Offset vor Portrait-Bild; z.B. 210 bei BxH 270x360 statt 480x360)
    /*
    // Angabe für einzelne Bilder:
    var bilder = new Array("bild1.gif","bild2.gif");
    */

  // Angabe für durchnummerierte Bilder:
  // Array alleBilder muss zuvor gebildet worden sein!
  var bilder = alleBilder;

  // Flag-Array für Formate aller Bilder: 0=landscape 1=portrait
  // Array alleFlags muss zuvor gebildet worden sein!
  var port_land = alleFlags;

  rahmenRand    = 2;
  rahmenStil    = "solid";
  rahmenFarbe   = "000000";
  rahmenHintergrundFarbe  = "999999";
  schriftArt    = "verdana";
  schriftFarbe    = "000000";
  schriftGroesse    = 1;
  trennZeichen    = " "; //  bisher "-"    // trennzeichen zwischen den links
  srollVarianten    = scrolling;    // 0 = von unten nach oben, 1 = von rechts nach links
  // Variable scrolling zuvor individuell initialisieren!

function showPict (art) {
  switch (art) {
  case 'e':
    aktuell = 0;
    getPos(allePos[aktuell]);
    break;
  case 'v':
    if (aktuell>0) aktuell -= 1;
    getPos(allePos[aktuell]);
    break;
  case 'n':
    if (aktuell<bilder.length-1) aktuell += 1;
    getPos(allePos[aktuell]);
    break
  case 'l':
    aktuell = bilder.length-1;
    getPos(allePos[aktuell]);
    break;
  default:
    if (!isNaN(art))
      {
        aktuell = art;
        getPos(allePos[aktuell]);
      }
    else
      alert ('Fehlerhafter Parameter: ' + art + '\nerlaubt: e , v , n , l');
    break;
  }  // von switch
  document.getElementById("bildnr").innerHTML = (aktuell+1).toString();
  document.getElementById("bildanz").innerHTML = bilder.length.toString();
}

function getPos(pos)
{
  thePos  = pos-(pos*2)+18;
  browser = navigator.appName;
  usAgent = navigator.userAgent;

  if (browser == "Microsoft Internet Explorer" || usAgent.indexOf("Opera") >-1)
     clearTimeout(time);

  dmx();
}

function dmx()
{
  time  = setTimeout("dmx()",0);

  dimx  = Math.round(Dimx+=((thePos)-Dimx)*4/20);
  if (document.getElementById)
  {
    (srollVarianten==0) ?
    document.getElementById("jumper").style.top  = dimx :
    document.getElementById("jumper").style.left = dimx;
  }
  else if (document.all)
  {
    (srollVarianten==0) ?
    document.all["jumper"].style.top  = dimx :
    document.all["jumper"].style.left = dimx;
  }

  if (thePos == dimx) clearTimeout(time);
}


//////////////////////////////
// BEGINN DES BODY-AUFBAUS:
//////////////////////////////

document.write (
          '<table width="100%" cellpadding="3" cellspacing="1" border="0">'
 + '\n' + '  <tr>'
 );

// Stepper soll rechts dargestellt werden:
  if (stepPos == 2)
     document.write (
       '    <td style="text-align:left;vertical-align:middle;width:50px;">'
     );
// Stepper links darstellen:
 if (stepPos == 1)
     document.write (
       '    <td style="text-align:left;vertical-align:middle;width:50px;">'
     + '\n' + '      [<a href="javascript:showPict(' + "'e'" + ');">Erstes</a>]<br>'
     + '\n' + '      [<a href="javascript:showPict(' + "'v'" + ');">Voriges</a>]<br>'
     + '\n' + '      [<a href="javascript:showPict(' + "'n'" +');">Nächstes</a>]<br>'
     + '\n' + '      [<a href="javascript:showPict(' + "'l'" + ');">Letztes</a>]'
     + '\n' + '    </td>'
     );

  document.write(
    '    <td class="body2">'
 );

  document.write("<center>"
  +"<div id='rahmen' style='width:"
  +(rahmenBreite+40)+"; height:"
  +(rahmenHoehe+40)+"; border:"
  +rahmenRand+"px "
  +rahmenStil+" #"
  +rahmenFarbe+"; background-color:#"
  +rahmenHintergrundFarbe+";overflow:hidden'>");

  (srollVarianten==0) ?
  document.write("<div id='jumper' style='position:relative;top:18;left:0'>") :
  document.write("<div id='jumper' style='position:relative;left:18;top:18'>");

  (srollVarianten==0) ?
  document.write("<table width="
  +rahmenBreite+" cellspacing=0 cellpadding=0>") :
  document.write("<table height="
  +rahmenHoehe+" cellspacing=0 cellpadding=0>");

for (i=0;i<bilder.length;i++)
{
  (srollVarianten==0) ?
  document.write("<tr><td width="
  +rahmenBreite+" height="
  +rahmenHoehe+">") :
  document.write("<td width="
  +rahmenBreite+" height="
  +rahmenHoehe+">");

  (srollVarianten==0) ?
  document.write("<img src="+ bildverz + bilder[i]+"></td></tr>"
  +"<tr><td height=25></td></tr>") :
  document.write("<img src="+ bildverz + bilder[i]+"></td>"
  +"<td><div style='width:25'></div></td>");
}

 document.write("</table></div></div><br>");

 document.write (
   '<p>'
 + '  Bild <span id="bildnr">1</span> von <span id="bildanz">' + bilder.length.toString() + '</span> Bildern'
 + '</p>'
  );

  if (QuickSteps.length > 0)
   for (i = 0; i < QuickSteps.length; i++)
     {
      // posY = QuickSteps[i][1];
      StepNr = QuickSteps[i][1];
      StepText = QuickSteps[i][0];
      //  "<a href='javascript:getPos(" + posY + ")' onfocus='this.blur()' "
      document.write(
        "<a href='javascript:showPict(" + StepNr + ")' onfocus='this.blur()' "
        + "style='text-decoration:none'><font size=" + schriftGroesse
        + " color=" + schriftFarbe+" face=" + schriftArt + ">["+StepText+"]</font></a>"
        + "<font style='cursor:default'> " + trennZeichen+" </font>"
      );
     }

for (i = 0; i < bilder.length; i++)
 {
  offset += port_land[i]*einoffset/2;
  if (i == bilder.length-1) trennZeichen = "";
  (srollVarianten==0) ?
  (i == 0) ? posY = 0 : posY = (rahmenHoehe*i)+(25*i) :
  (i == 0) ? posY = 0 - offset : posY = (rahmenBreite*i)+(25*i) - offset;
  allePos[allePos.length] = posY;

    if (QuickSteps.length == 0 && mitSteps == true)
          // Einzelbilder-Links (abgeschaltet)
          //  "<a href='javascript:getPos(" + posY + ")' onfocus='this.blur()' "
          document.write(
            "<a href='javascript:showPict(" + i + ")' onfocus='this.blur()' "
            + "style='text-decoration:none'><font size=" + schriftGroesse
            + " color=" + schriftFarbe+" face=" + schriftArt + ">["+(i+1)+"]</font></a>"
            + "<font style='cursor:default'> " + trennZeichen+" </font>"
          );

  offset += port_land[i]*einoffset/2;
 }

 document.write("</center>");

  document.write (
          '    </td>');

 // Darstellung der Stepper Erster / Voriger / Nächster / Letzter
 // unterhalb (stepPos==0), oder rechts (2):
 switch (stepPos) {
   case 0:
     document.write (
       '  </tr>'
     + '\n' + '  <tr>'
     + '\n' + '    <td style="text-align:center;">'
     + '\n' + '      [<a href="javascript:showPict(' + "'e'" + ');">Erstes</a>]&nbsp;'
     + '\n' + '      [<a href="javascript:showPict(' + "'v'" + ');">Voriges</a>]&nbsp;'
     + '\n' + '      [<a href="javascript:showPict(' + "'n'" +');">Nächstes</a>]&nbsp;'
     + '\n' + '      [<a href="javascript:showPict(' + "'l'" + ');">Letztes</a>]'
     + '\n' + '    </td>'
     + '\n' + '  </tr>'
     );
     break;
   case 1:
     // Stepper wurde links dargestellt:
     document.write (
       '    <td style="text-align:left;vertical-align:middle;width:50px;">'
       );
     break;
   case 2:
     document.write (
       '    <td style="text-align:left;vertical-align:middle;width:50px;">'
     + '\n' + '      [<a href="javascript:showPict(' + "'e'" + ');">Erstes</a>]<br>'
     + '\n' + '      [<a href="javascript:showPict(' + "'v'" + ');">Voriges</a>]<br>'
     + '\n' + '      [<a href="javascript:showPict(' + "'n'" +');">Nächstes</a>]<br>'
     + '\n' + '      [<a href="javascript:showPict(' + "'l'" + ');">Letztes</a>]'
     + '\n' + '    </td>'
     + '\n' + '  </tr>'
     );
     break;
   default:
   break;
   }
 document.write (' </table>');

document.write ('<hr>Bilderanzeige mit dem Programm <a href="http://www.ziemke-koeln.de/download/index.htm#pictshow" target="_blank">PictShow</a> &copy; 2005 M. Ziemke, K&ouml;ln');
