	function memory_start() {
		paar = 0;
		versuche = 0;
		paare = 0;
		dauer_start = 0;
		aufgedeckt = 0;
		kartenpaare = new Array("1a", "1b", "2a", "2b", "3a", "3b", "4a", "4b", "5a", "5b", "6a", "6b", "7a", "7b", "8a", "8b");
		ids = new Array();
		for(i=0; i<750; i++) {
			zufall = Math.random();
			zufall = zufall * 10;
			zufall = Math.round(zufall);
			neu1 = kartenpaare.shift();
			neu2 = kartenpaare[zufall];
			kartenpaare.splice(zufall, 1, neu1);
			kartenpaare.push(neu2);
		}
		for(i=0; i<16; i++) {
			pos = i + 1;
			id_neu = "karte" + kartenpaare[i] + "_pos" + pos;
			document.getElementById("karte" + pos).id = id_neu;
			ids.push(id_neu);
		}
	}

	function memory_neustart() {
		document.getElementById("meldung_versuche").firstChild.nodeValue = "0";
		document.getElementById("meldung_dauer").firstChild.nodeValue = "0:00";
		pos = 0;
		for(i=1; i<=aufgedeckt; i++) {
			pos++;
			document.getElementById("aufgedeckt" + [i]).id = "karte" + pos;
			document.getElementById("karte" + pos).firstChild.src = "images2/memory_karte_verdeckt.gif";
		}
		for(i=0; i<16; i++) {
			if(document.getElementById(ids[i])) {
				pos++;
				document.getElementById(ids[i]).id = "karte" + pos;
			}
		}
		memory_start();
	}

	function memory_aufdecken(id) {
		if(dauer_start == 0) {
			zeit = new Date();
			dauer_start = zeit.getTime();
			memory_dauer();
		}
		if(id.substr(0, 10) != "aufgedeckt") {
			paar++;
			if(paar <= 2){
				karte = id.substr(5, 1);
				pos = id.substr(id.length - 2, 2);
				if(pos.substr(pos.length - 2, 1) == "s") pos = pos.substr(1, 2);
				document.getElementById(id).firstChild.src = "images2/memory_karte" + karte + ".jpg";
				if(paar == 2) {
					versuche++;
					id_uebergabe2 = id;
					karte_uebergabe2 = karte;
					if(karte_uebergabe1 != karte_uebergabe2) {
						window.setTimeout("memory_zudecken(id_uebergabe1, id_uebergabe2)", 500);
					} else {
						paar = 0;
						paare++;
						aufgedeckt++;
						document.getElementById(id_uebergabe1).id = "aufgedeckt" + aufgedeckt;
						aufgedeckt++;
						document.getElementById(id_uebergabe2).id = "aufgedeckt" + aufgedeckt;
					}
				} else {
					id_uebergabe1 = id;
					karte_uebergabe1 = karte;
				}
			}
			document.getElementById("meldung_versuche").firstChild.nodeValue = versuche;
			if(paare == 8) document.getElementById("meldung").firstChild.nodeValue = "Geschafft mit " + versuche + " Versuchen in " + dauer_formatiert + " Minuten.";
		}
	}

	function memory_zudecken(id1, id2) {
		document.getElementById(id1).firstChild.src = "images2/memory_karte_verdeckt.gif";
		document.getElementById(id2).firstChild.src = "images2/memory_karte_verdeckt.gif";
		paar = 0;
	}

	function memory_dauer() {
		zeit = new Date();
		dauer_ende = zeit.getTime();
		dauer_differenz = Math.round((dauer_ende - dauer_start) / 1000);
		dauer_minuten = Math.floor(dauer_differenz / 60);
		dauer_sekunden = dauer_differenz - dauer_minuten * 60;
		dauer_sekunden = "0" + dauer_sekunden;
		if(dauer_sekunden.length > 2) dauer_sekunden = dauer_sekunden.substr(1, 2);
		dauer_formatiert = dauer_minuten + ":" + dauer_sekunden;
		document.getElementById("meldung_dauer").firstChild.nodeValue = dauer_formatiert;
		if(paare < 8 && dauer_start != 0) {
			window.setTimeout("memory_dauer()", 100);
		} else if(dauer_start == 0) {
			document.getElementById("meldung_dauer").firstChild.nodeValue = "0:00";
		}
	}

