var bestzeit = 106;
// 10. Bestzeit in Sekunden

var feld=Array();
var pic=Array();
var bild=Array();
var check=Array();
var zaehler = 0;
var ok=Array();
var weiter=Array();
var auswahl=Array();
var strafe=Array();

var num = 0;
var zufall = 0;


bild[1] = "memory01.jpg";
bild[2] = "memory02.jpg";
bild[3] = "memory03.jpg";
bild[4] = "memory04.jpg";
bild[5] = "memory05.jpg";
bild[6] = "memory06.jpg";
bild[7] = "memory07.jpg";
bild[8] = "memory08.jpg";
bild[9] = "memory09.jpg";
bild[10] = "memory10.jpg";
bild[11] = "memory11.jpg";
bild[12] = "memory12.jpg";
bild[13] = "memory13.jpg";
bild[14] = "memory14.jpg";
bild[15] = "memory15.jpg";
bild[16] = "memory16.jpg";
bild[17] = "memory17.jpg";
bild[18] = "memory18.jpg";

weiter[1] = "default.php?pic=1";
weiter[2] = "default.php?pic=2";
weiter[3] = "default.php?pic=3";
weiter[4] = "default.php?pic=4";
weiter[5] = "default.php?pic=5";
weiter[6] = "default.php?pic=6";
weiter[7] = "default.php?pic=7";
weiter[8] = "default.php?pic=8";
weiter[9] = "default.php?pic=9";
weiter[10] = "default.php?pic=10";
weiter[11] = "default.php?pic=11";
weiter[12] = "default.php?pic=12";
weiter[13] = "default.php?pic=13";
weiter[14] = "default.php?pic=14";
weiter[15] = "default.php?pic=15";
weiter[16] = "default.php?pic=16";
weiter[17] = "default.php?pic=17";
weiter[18] = "default.php?pic=18";
// zufallszahl

function NextRandomNumber()
{
  var hi   = this.seed / this.Q;
  var lo   = this.seed % this.Q;
  var test = this.A * lo - this.R * hi;
  if (test > 0)
    this.seed = test;
  else
    this.seed = test + this.M;
  return (this.seed * this.oneOverM);
}

function RandomNumberGenerator()
{
  var d = new Date();
  this.seed = 2345678901 +
    (d.getSeconds() * 0xFFFFFF) +
    (d.getMinutes() * 0xFFFF);
  this.A = 48271;
  this.M = 2147483647;
  this.Q = this.M / this.A;
  this.R = this.M % this.A;
  this.oneOverM = 1.0 / this.M;
  this.next = NextRandomNumber;
  return this;
}

var rand = new RandomNumberGenerator();

// init feld

for (var i = 0; i < 36; i++)
{
    ok[i] = 0;
    feld[i] = 0;
    strafe[i] = 0;
}

for (var iBild = 1; iBild < 19; iBild++)
{
    for (var i = 0; i < 2; i++)
    {
        zufall = Math.round (rand.next() * 35) + 1;
        num = zufall + (zufall * i);
        if (num > 36)
        {
        num = num - 36;
        }
        zufall = Math.round (rand.next() * 35) + 1;
        num = num + zufall;
        if (num > 36)
        {
        num = num - 36;
        }

        if (feld[num] == 0)
        {
           feld[num] = iBild;
           pic[num] = new Image(); pic[num].src = bild[iBild];
           auswahl[num] = weiter[iBild];
        }
        else
        {
           for (var j = zufall+1; j < 36; j++)
           {
               if (feld[j] == 0)
               {
                  zaehler = j;
               }
           }
           for (var j = 0; j < zufall; j++)
           {
               if (feld[j] == 0)
               {
                  zaehler = j;
               }
           }
           feld[zaehler] = iBild;
           pic[zaehler] = new Image(); pic[zaehler].src = bild[iBild];
           auswahl[zaehler] = weiter[iBild];
        }
    }
}

var first = 0;
var treffer = 0;
var stelle1 = 0;
var stelle2 = 0;
var art = 0;
var start = 0;
var ende = 0;
var zeit = 0;
var minuten = 0;
var sekunden = 0;
var count = 0;
var strafzeit = 0;
var totalzeit = 0;

qa = new Image();
qa.src = "ruecken2a.gif";
qb = new Image();
qb.src = "ruecken2b.gif";
q1 = new Image();
q1.src = "fertig.gif";
n1 = new Image();
n1.src = "ruecken1.gif";


function Wahl(Indexnr)
{
 if (ok[Indexnr] == 0 || (first == 2 && (Indexnr == stelle1 || Indexnr == stelle2)) || treffer == 18)
 {
    count++
    if (count == 1)
    {
       start = new Date();
    }
    if (treffer == 18)
    {
       window.location.href=auswahl[Indexnr];
    }
    first++
    if (first == 1)
    {
       window.document.images[Indexnr].src = pic[Indexnr].src;
       stelle1 = Indexnr;
       if (ok[stelle1] == 0)
       {
          strafe[stelle1]++
          if (strafe[stelle1] > 2)
          {
             strafzeit = strafzeit + 3;
          }
       }
       ok[stelle1] = 1;

    }

    if (first == 2)
    {
       window.document.images[Indexnr].src = pic[Indexnr].src;
       stelle2 = Indexnr;
       if (ok[stelle2] == 0)
       {
          strafe[stelle2]++
          if (strafe[stelle2] > 2)
          {
             strafzeit = strafzeit + 3;
          }
       }
       ok[stelle2] = 1;
       if (feld[stelle1] == feld[stelle2])
       {
          treffer++
          if (treffer == 18)
          {
             window.document.images[36].src = q1.src;
             var straf = 0;
             var spielzeit = 0;
             ende = new Date();
             zeit = Math.round ((ende.getTime() - start.getTime()) / 1000);
             totalzeit = zeit + strafzeit;
             if (totalzeit < bestzeit)
             {
                minuten = Math.round((zeit / 60) - 0.5);
                sekunden = Math.round(zeit - (minuten * 60));
                if (sekunden < 10)
                {
                   sekunden = "0" + sekunden;
                }
                spielzeit = minuten + ":" + sekunden;

                minuten = Math.round((strafzeit / 60) - 0.5);
                sekunden = Math.round(strafzeit - (minuten * 60));
                if (sekunden < 10)
                {
                   sekunden = "0" + sekunden;
                }
                straf = minuten + ":" + sekunden;

                minuten = Math.round((totalzeit / 60) - 0.5);
                sekunden = Math.round(totalzeit - (minuten * 60));
                if (sekunden < 10)
                {
                   sekunden = "0" + sekunden;
                }
                totalzeit = minuten + ":" + sekunden;

                // formularfenster
                var Url = "default.php?pic=1";
                Url = Url + "#" + escape(spielzeit);
                Url = Url + "#" + escape(straf);
                Url = Url + "#" + escape(totalzeit);

window.open(Url,'formular','directory=0,scrollbars=no,toolbar=no,menubar=no,status=no,resize=no,width=440,height=480,pageXoffset=0,pageYoffset=0,left=100,top=20');
             }
          }
       }
    }

    if (first == 3)
    {
       first = 0;
       if (feld[stelle1] == feld[stelle2])
       {
          if ((Indexnr != stelle1) && (Indexnr != stelle2))
          {
             window.document.images[Indexnr].src = pic[Indexnr].src;
             stelle1 = Indexnr;
             if (ok[stelle1] == 0)
             {
                strafe[stelle1]++
                if (strafe[stelle1] > 2)
                {
                    strafzeit = strafzeit + 3;
                }
             }
             ok[stelle1] = 1;
             first = 1;
          }
       }
       else
       {
          window.document.images[stelle1].src = n1.src;
          window.document.images[stelle2].src = n1.src;
          ok[stelle1] = 0;
          ok[stelle2] = 0;

          window.document.images[Indexnr].src = pic[Indexnr].src;
          stelle1 = Indexnr;
          if (ok[stelle1] == 0)
          {
             strafe[stelle1]++
             if (strafe[stelle1] > 2)
             {
                strafzeit = strafzeit + 3;
             }
          }
          ok[stelle1] = 1;
          first = 1;
       }

    }
 }
}

function Bildwechsel(Indexnr,art)
{
  if (ok[Indexnr] == 0)
  {
     if (art == 1)
     {
        window.document.images[Indexnr].src = n1.src;
     }
     else
     {
        if (first == 1)
        {
           window.document.images[Indexnr].src = qb.src;
        }
        else
        {
           window.document.images[Indexnr].src = qa.src;
        }
     }
  }
}

function Go()
{
  var straf = 0;
  var spielzeit = 0;

  if (count > 0 && treffer < 18)
  {
    ende = new Date();

    zeit = Math.round ((ende.getTime() - start.getTime()) / 1000);
  }
  totalzeit = zeit + strafzeit;
  minuten = Math.round((zeit / 60) - 0.5);
  sekunden = Math.round(zeit - (minuten * 60));
  if (sekunden < 10)
  {
    sekunden = "0" + sekunden;
  }
  spielzeit = minuten + ":" + sekunden;

  minuten = Math.round((strafzeit / 60) - 0.5);
  sekunden = Math.round(strafzeit - (minuten * 60));
  if (sekunden < 10)
  {
    sekunden = "0" + sekunden;
  }
  straf = minuten + ":" + sekunden;

  minuten = Math.round((totalzeit / 60) - 0.5);
  sekunden = Math.round(totalzeit - (minuten * 60));
  if (sekunden < 10)
  {
    sekunden = "0" + sekunden;
  }
  totalzeit = minuten + ":" + sekunden;

  var Url = "default.php?pic=1"
  Url = Url + "#" + escape(spielzeit);
  Url = Url + "#" + escape(straf);
  Url = Url + "#" + escape(totalzeit);

  window.open(Url,'highscore','directory=0,scrollbars=no,toolbar=no,menubar=no,status=no,resize=no,width=450,height=550,pageXoffset=0,pageYoffset=0,left=100,top=20');
}
