<!--
 //Copyright: Axel Hennig - webmaster@australienbilder.de
 var relDir = "";
 var ImgType = ".jpg";
 var ImgName = "devils";
 var ImgOffset = 4;
 var Gap = 20;
 var Try = 0;
 var P = new CreatePatch();
 var newWin;
 var React = true;

 function CreatePatch()
  {
   this.length = 20;
   for (var i = 1; i < this.length; i++)
   { this[i] = i;
   }
   this[20] = 0;
  }

 function ShowCards()
  {
   for (var cnr = 1; cnr < 21; cnr++)
    {
     if (P[cnr] != 0)
      { document.images[cnr+ImgOffset-1].src = relDir + ImgName + P[cnr] + ImgType; }
     else
      { document.images[Gap+ImgOffset-1].src = relDir + "mfertig" + ImgType; }
    }
  }

 function TestEnd()
  {
   var CouFin = 0;
   for (var cnr = 1; cnr < 21; cnr++)
    {
     if (P[cnr] == cnr)
      { CouFin++; }
    }
    document.score.right.value = CouFin;
    if (CouFin == 19)
     { 
      alert("Congratulations! Finished after " + Try + " tries.");
      React = false;
     }
    return CouFin;
  }

 function Shuffle()
  {
   var z = 0;
   var Rich;
   var aRich = 0;
   do
    {
     Rich = Math.round(Math.random() * 4) + 1;
     if ((Rich == 1) && (aRich != 2))
      {
       if ((Gap != 1) && (Gap != 6) && (Gap != 11) && (Gap != 16))
        {
         P[Gap] = P[Gap - 1];
         P[Gap - 1] = 0;
         Gap--;
         z++;
         aRich = Rich;
        }
      }
     if ((Rich == 2) && (aRich != 1))
      {
       if ((Gap != 5) && (Gap != 10) && (Gap != 15) && (Gap != 20))
        {
         P[Gap] = P[Gap + 1];
         P[Gap + 1] = 0;
         Gap++;
         z++;
         aRich = Rich;
        }
      }
     if ((Rich == 3) && (aRich != 4))
      {
       if (Gap > 5)
        {
         P[Gap] = P[Gap - 5];
         P[Gap - 5] = 0;
         Gap -= 5;
         z++;
         aRich = Rich;
        }
      }
     if ((Rich == 1) && (aRich !=3))
      {
       if (Gap < 16)
        {
         P[Gap] = P[Gap + 5];
         P[Gap + 5] = 0;
         Gap += 5;
         z++;
         aRich = Rich;
        }
      }
    }
   while (z < 1000)
   ShowCards();
  }

 function NewPuzzle()
  {
   var x, y, tmp, cards;
   for (x = 1; x < P.length+1; x++)
    {
     if (P[x] != 0) 
       { document.images[x+ImgOffset-1].src = relDir + ImgName + x + ImgType; }
     else
       { document.images[x+ImgOffset-1].src = relDir + "mfertig" + ImgType; }
    }
   Try = 0;
   Gap = 20;
   document.score.tries.value = Try;
   cards = window.open("e-verzie.htm","Ziel","height=520,width=484");
   Shuffle();
   TestEnd();
  }

 function TestCard(Tile)
  {
   if (React)
   {
   var NeueLuecke = 0;
   if ((Tile + 1 == Gap) && (Tile != 5) && (Tile != 10) && (Tile != 15) && (Tile != 20))
     { NeueLuecke = Tile; }
   if ((Tile - 1 == Gap) && (Tile != 1) && (Tile != 6) && (Tile != 11) && (Tile != 16))
     { NeueLuecke = Tile; }
   if (Tile + 5 == Gap)
     { NeueLuecke = Tile; }
   if (Tile - 5 == Gap)
     { NeueLuecke = Tile; }
   if (NeueLuecke != 0)
     {
      P[Gap] = P[NeueLuecke];
      document.images[Gap+ImgOffset-1].src = relDir + ImgName + P[Gap] + ImgType;
      document.images[NeueLuecke+ImgOffset-1].src = relDir + "mfertig" + ImgType;
      P[NeueLuecke] = 0;
      Gap = NeueLuecke;
      Try++;
      document.score.tries.value = Try;
      TestEnd();
     }
   }
   return; 
  }

 function ShowDirect(Kach)
  {
   var PfeilDat = "";
   var NeueLuecke = 0;
   if (React)
   {
   ShowCards();
   if ((Kach + 1 == Gap) && (Kach != 5) && (Kach != 10) && (Kach != 15) && (Kach != 20))
     { PfeilDat = "vpfeilr.gif"; }
   if ((Kach - 1 == Gap) && (Kach != 1) && (Kach != 6) && (Kach != 11) && (Kach != 16))
     { PfeilDat = "vpfeill.gif"; }
   if (Kach + 5 == Gap)
     { PfeilDat = "vpfeilu.gif"; }
   if (Kach - 5 == Gap)
     { PfeilDat = "vpfeilo.gif"; }
   if (PfeilDat != "")
     {
      document.images[Gap+ImgOffset-1].src = relDir + PfeilDat;
     }
      else
     {
      document.images[Gap+ImgOffset-1].src = relDir + "mfertig" + ImgType;
     }
    if (document.help.show.checked)
     {
      if (P[Kach] != 0)
       {
       if (P[Kach] == Kach)
       {document.images[P[Kach]+ImgOffset-1].src = relDir + "gut.gif";}
       else
       {document.images[P[Kach]+ImgOffset-1].src = relDir + "hier.gif";}
       }
     }
   }
   return; 
  }

 //-->

