/***** Datei: pflanzen.js *****/

function showImage() {
/* Zeigt eine Bilddatei in dem Fenster mit dem Namen "foto". Falls dieses nicht existiert,
 * wird ein neues Fenster geöffnet.
 *
 * WICHTIG: window.open() -> Parameter width und height beziehen sich auf  i n n e r e  Abmessungen
 *          window.resizeTo() -> Parameter width und height beziehen sich auf  ä u ß e r e  Abmessungen
 *
 * Parameter: 1. URL der anzuzeigenden Bilddatei
 *            2. Breite des Bildes
 *            3. Höhe des Bildes
 *            4. (optional) Zeichenkette für das alt- und title-Attribut
 */

  var urlOfImageToBeDisplayed = arguments[0];
  var imageWidth = arguments[1];
  var imageHeight = arguments[2];

  var title = "";
  if (arguments.length > 3)
    title = arguments[3];

  var left = 50;
  var top = 50;
  var width = imageWidth + 20;  // Bildbreite + 2 * 10px Abstand links und rechts
  var height = imageHeight + 20;  // Bildhöhe + 2 * 10px Abstand oben und unten
  var resizable = "yes";

  // Korrektur der y-Position für Opera
  if (navigator.userAgent.indexOf ("Opera") > -1)
    top = top >= 100 ? top - 100 : 0;

  var parameter = "left=" + left + ",top=" + top + ",width=" + width + ",height=" + height;
  parameter += ",resizable=" + resizable;
  var foto = window.open ("foto.html?" + urlOfImageToBeDisplayed + "?" + escape (title), "foto", parameter);
  foto.focus();  // muss  v o r  foto.resizeTo() aufgerufen werden

  // falls Fenster bereits existiert, an Größe des neuen Bildes anpassen
  if (foto.innerWidth)  /* Mozilla, Opera */ {
    foto.resizeTo (foto.outerWidth - foto.innerWidth + width, foto.outerHeight - foto.innerHeight + height);
  }
  else  /* MSIE */ {
    // Korrekturen für Windows XP-Design
    if (navigator.userAgent.indexOf ("Windows NT 5.1") > -1) {
      height += 30;  // +6 würde ausreichen, +30 ist aber nötig, da standardmäßig Statusleiste nicht ausgeblendet wird
      width -= 2;
    }

    foto.resizeTo (width + 10, height + 27);
  }

}

