var bilder = new Array (); // bildpfade
var kurl   = new Array (); // K?nstler-url-segmente
var bid    = new Array (); // Bild-IDs
var felder  = new Array (); // Zuordnung, auf welchem Feld welcher Index liegt
var partner = new Array (); // Zuordnung, welches Feld als Partner zum Feld geh?rt
var treffer = new Array (); // Angabe, ob das Bild aufgedeckt ist

var letztesFeld = -1; // Zuletzt aufgedeckte FeldNr
var anzahlVersuche = 0;
var anzahlTreffer = 0;
var fertig = false;

function resetMemory() {
    for (i=0; i<felder.length; i++ ) {
		document.getElementById("link"+i)		.href	="javascript:memoClick("+i+")";
		document.getElementById("bildanzeige"+i).src	=blackBild;
    }
	
	initMemory();

	document.getElementById("versucheanzahl").firstChild.nodeValue=anzahlVersuche;

	var h = document.getElementById("versuche")
	h.style.display="block";
}


function initMemory() {

	initArrays();

	letztesFeld = -1; // Zuletzt aufgedeckte FeldNr
	anzahlVersuche = 0;
	anzahlTreffer = 0;
	fertig = false;
	
    for (i=0; i<2*bilder.length; i++ ) {
//	    alert ("Init Feld i = " + i);
        felder[i] = -1;
        treffer[i] = false;
    }

	for (i=0; i<bilder.length; i++) {
//	    alert ("Zuordnen von Bild i = " + i);
		nextFeldNr = Math.floor(Math.random() * (2*bilder.length));
		n = nextFeldNr ;
		while (felder[n] >= 0) {
//		    alert ("n = " + n);
//		    alert ("felder[n] = " + felder[n]);
		    if (n > 0) {
		        n--;
		    } else {
		        n = 2*bilder.length - 1 ;
		    }
		}
		felder[n] = i ;
		
		partnerFeldNr = Math.floor(Math.random() * (2*bilder.length));
		p = partnerFeldNr ;
		while (felder[p] >= 0) {
//		    alert ("p = " + p);
//		    alert ("felder[p] = " + felder[p]);
		    if (p > 0) {
		        p--;
		    } else {
		        p = 2*bilder.length - 1;
		    }
		}
		felder[p] = i ;
		partner[p] = n;
		partner[n] = p;
		
	}
}

function versteckeBilder(feld1, feld2) {
      document.getElementById("bildanzeige"+feld1).src=blackBild;
      document.getElementById("bildanzeige"+feld2).src=blackBild;
}

function memoClick(feld) {

  document.getElementById("bildanzeige"+feld).src=bilder[felder[feld]];
  
  if ( treffer[feld] ) {
	  alert("Diese Karte haben Sie schon aufgedeckt!" );
      /* nix tun */
  } else if ( letztesFeld == -1 ) {
      letztesFeld = feld ;
  } else if (letztesFeld == feld) {
	  alert("Gute Idee: Doppelt h?lt besser!");
     /* nochmal dasselbe */
  } else if (letztesFeld == partner[feld]) {

      treffer[feld] = true; 
      treffer[letztesFeld] = true; 
      anzahlVersuche++;
      var h = document.getElementById("versucheanzahl")
//      alert("h.tagName:"+h.tagName);
	  document.getElementById("versucheanzahl").firstChild.nodeValue=anzahlVersuche;
      
      anzahlTreffer++;
      
	  document.getElementById("link"+feld)			.href="index.php?section=kuenstlerdetail&kurl="+kurl[felder[feld]]+"&bid="+bid[felder[feld]]+"&breite="+getBreite() ;
	  document.getElementById("link"+letztesFeld)	.href="index.php?section=kuenstlerdetail&kurl="+kurl[felder[feld]]+"&bid="+bid[felder[feld]]+"&breite="+getBreite() ;

      letztesFeld = -1 ;
      
      if (anzahlTreffer == bilder.length) {
		  document.fertigsound.play();
		  document.getElementById("text1").firstChild.nodeValue = "Wir gratulieren! Sie haben das Spiel mit "+anzahlVersuche+" Versuchen beendet.";
		  switchToLinks();
      } else {
      	  document.treffersound.play();
      }
  } else {
	  setTimeout("versteckeBilder("+feld+","+letztesFeld+")",1000);

      letztesFeld = -1 ;
      anzahlVersuche++;
      
      var h = document.getElementById("versucheanzahl")
	  document.getElementById("versucheanzahl").firstChild.nodeValue=anzahlVersuche;
      
	  document.fehlersound.play();
  }
}     
 
function switchToLinks() {

    for (i=0; i<felder.length; i++ ) {
//		alert("bildanzeige"+i+": "+document.getElementById("bildanzeige"+i).src);
		document.getElementById("bildanzeige"+i).src=bilder[felder[i]];
//		alert("link "+i+"      : "+document.getElementById("link"+i).href);
		document.getElementById("link"+i)		.href="index.php?section=kuenstlerdetail&kurl="+kurl[felder[i]]+"&bid="+bid[felder[i]]+"&breite="+getBreite() ;
    }
	var h = document.getElementById("versuche")
	h.style.display="none";


}

