<!--
    // Wir legen ein Feld für die Puzzleteile an ...
    var steine = new Array(20)
    // ... und initialisieren es mit den dazugehörigen
    // x- und y-Positionen als String.
    for (x=1;x<=4;x++) 
    {
      for(y=1;y<=5;y++)
      {
        steine[(((y-1)*4)+(x-1))]="x"+x+"y"+y
      }
    }
    // Jetzt brauchen wir ein Array, das sich die 
    // Verdrehungen merkt.
    var gedreht = 
      new Array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)
    // Ausserdem müssen wir für später einen 
    // Zwischenspeicher initialisieren, in dem der zu 
    // tauschende Stein zwischengespeichert wird.
    var tausch=-1

    // Die folgende Funktion dient zum Anzeigen eines 
    // Steines.
    function stein_zeigen(stein)
    {
      eval("window.document.puzzle.feld"
      +stein+".src='images/puzzle/"+steine[stein]
      +"dr"+gedreht[stein]+".jpg'")
    }

    // Die folgende Funktion wird beim Anklicken eines 
    // Steines ausgeführt.
    function klick(feld)
    {
     // if (document.puzzle.typ[1].status==true)
      if (document.puzzle.typ[1].checked)
      {
        document.puzzle.tauschfeld.value="?"
        tausch=-1
        // Drehen
        dreh=gedreht[feld]
        dreh++;
        if (dreh==4) dreh=0;
        gedreht[feld]=dreh
        stein_zeigen(feld)
      }
      else
      {
        // Tauschen
        if (tausch==-1)
        {
          tausch=feld;
          document.puzzle.tauschfeld.value=feld*1+1
          return;
        }
        tauschtemp=steine[tausch]
        steine[tausch]=steine[feld]
        steine[feld]=tauschtemp
        tauschtemp=gedreht[feld]
        gedreht[feld]=gedreht[tausch]
        gedreht[tausch]=tauschtemp
 
        stein_zeigen(tausch)
        stein_zeigen(feld)
        document.puzzle.tauschfeld.value="?"
        tausch=-1
      }
      if (geloest()) alert(
        "Hurra Hurra!\nDiddl ist wieder richtig da!")
    }

    // Im Folgenden prüfen wir, ob der User das
    // Puzzle gelöst hat.
    function geloest()
    { 
      for(x=1;x<=4;x++) 
      {
        for(y=1;y<=5;y++) 
        {
          if (!(steine[(((y-1)*4)+(x-1))]
             =="x"+x+"y"+y && gedreht[(((y-1)*4)
             +(x-1))]==0))  return false
        }
      } 
      return true 
    }

    // Das Mischen erfolgt automatisch...
    function mischen()
    {
      for (n=0;n<20;n++)
      {
	freier_stein=false
	while (!freier_stein)
 	{
	  x=Math.floor(Math.random()*4)+1
	  y=Math.floor(Math.random()*5)+1
	  name="x"+x+"y"+y
          freier_stein=true
          for (m=0;m<n;m++) 
          if (steine[m]==name) freier_stein=false
	}
	steine[n]=name
	gedreht[n]=Math.floor(Math.random()*4)
	stein_zeigen(n)
      }
    }
  function init() {
    wWidth = screen.width - 50;
    wHeight = screen.height - 50;
    window.resizeTo(wWidth,wHeight);
    window.moveTo(10,10);
    wWidth -= 150;
    wHeight -= 250;
    if (document.body.offsetWidth) {
      wWidth = document.body.offsetWidth - 100;
      wHeight = document.body.offsetHeight - 100
    }
    if (window.innerWidth) {
      wWidth = window.innerWidth - 100;
      wHeight = window.innerHeight - 100;
    } 
  }
    //-->
