var nonUsedIdx = new Array();
var cntShownQuestions;
var curIdx = -1;
var maxQuestions = 0;
var lernmodus = true;
var styles = "<style type='text/css'>body{font-family:Verdana;}</style>";
var started = false;
var shownQuestions = "";

function showNewQuestion() {
	if (!started) {started = true;initIdxArray();}
	if (cntShownQuestions == maxQuestions) {
		alert("Keine neuen Fragen mehr vorhanden.");
		top.frames['frage'].document.clear();top.frames['frage'].document.open();top.frames['frage'].document.write("");top.frames['frage'].document.close();
		top.frames['antwort'].document.clear();top.frames['antwort'].document.open();top.frames['antwort'].document.write("");top.frames['antwort'].document.close();
		document.getElementById("curPage").innerHTML = "";
		document.getElementById("maxPage").innerHTML = "";
	} else {
		var newIdx = getNewIdx();
		curIdx = nonUsedIdx[newIdx];
		deleteElement(newIdx);
		cntShownQuestions++;
		top.frames['frage'].document.clear();top.frames['frage'].document.open();top.frames['frage'].document.write(styles+questions[curIdx]);top.frames['frage'].document.close();
		top.frames['antwort'].document.clear();top.frames['antwort'].document.open();
		if (lernmodus) top.frames['antwort'].document.write(styles+answers[curIdx]);
		else top.frames['antwort'].document.write("");
		top.frames['antwort'].document.close();
		document.getElementById("curPage").innerHTML = cntShownQuestions;
		if (lernmodus) {
			document.getElementById("maxPage").innerHTML = " von "+maxQuestions+" <span style='font-weight:normal'>Zeile "+((curIdx*3)+4)+"</span>";
		} else {
			document.getElementById("maxPage").innerHTML = " von "+maxQuestions;		
		}
	}
}

function getNewIdx() {
	var	newIdx = Math.floor(Math.random()*(nonUsedIdx.length-1));
	return newIdx;
}

function deleteElement(idx) {
	nonUsedIdx = removeElementFromArray(nonUsedIdx,idx);
}

function showAnswer() {
	top.frames['antwort'].document.clear();top.frames['antwort'].document.open();
	top.frames['antwort'].document.write(styles+answers[curIdx]);
	top.frames['antwort'].document.close();
}

function initIdxArray() {
	maxQuestions = Math.floor(Number(document.getElementById("anzFragen").value));
	if (isNaN(maxQuestions)) {
		alert("Keine korrekte Anzahl eingegeben");
		maxQuestions = questions.length;
		document.getElementById("anzFragen").value = questions.length;
	}
	document.getElementById("anzFragen").value = maxQuestions;
	if (maxQuestions>questions.length || maxQuestions<0) {
		maxQuestions = questions.length;
		document.getElementById("anzFragen").value = questions.length;
	}

	cntShownQuestions = 0;
	for(var i=0;i<questions.length;i++) {
		nonUsedIdx[i] = i;
	}
}

function start1() {
	started = true;
	initIdxArray();
	showNewQuestion	();
}

function start2() {
	document.getElementById("anzFragen").value = "-1";
	start1();
}

function removeElementFromArray(aArray,elementIdx) {
	if (aArray==null || aArray.length == 0 || elementIdx<-1) {return false;}
	var clearedArray = new Array();
	var vectorDim = aArray[0].length;
	var elementType = typeof aArray[0];
	var k = 0;
	for (var i = 0;i<aArray.length;i++) {
		if (i!=elementIdx) {
			if (elementType == "object") {
				clearedArray[k] = new Array(vectorDim);
				for (var j = 0;j<aArray[i].length;j++) clearedArray[k][j] = aArray[i][j];
			} else {
				clearedArray[k] = aArray[i];
			}
			k++;
		}
	}
	return clearedArray;
}

function showAll() {
	var bodyText = "";
	var curCard = "";
	for(var i=0;i<questions.length;i++) {
		curCard = "<table width='70%' cellspacing='0px' cellpadding='10px'>";
		curCard += "<tr style='background-color:#444444;color:#efefef;font-weight:bold;'><td>Lernkarte "+(i+1)+"<\/td><\/tr>";
		curCard += "<tr style='color:#444444;background-color:#FF9900;'><td>"+questions[i]+"<\/td><\/tr>";
		curCard += "<tr style='color:#444444;background-color:#FFCC66;'><td>"+answers[i]+"<\/td><\/tr>";
		curCard += "<\/table><br><br>";
		bodyText += curCard;
	}
	
	var curWin = window.open('','_blank','location=no,menubar=no,status=no,toolbar=no,scrollbars=yes,resizable=yes');
	
	var displayText = "";
	displayText += headText;
	displayText += beginText;
	displayText += bodyText;
	displayText += endText;
	curWin.document.open();
	curWin.document.write(displayText);
	curWin.document.close();
	curWin.focus();
}

var headText = '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">'+'\n';
headText += '<html>'+'\n';
headText += '<head>'+'\n';
headText += '<title>Lernkarten</title>'+'\n';
headText += '<meta name="description" content="Unterrichtsmaterial">'+'\n';
headText += '<meta name="author" content="www.ingo-bartling.de">'+'\n';
headText += '<meta name="keywords" content="elearning, javascript, unterricht, Schule, Mathematik, Physik, Informatik">'+'\n';
headText += '<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">'+'\n\n';

var beginText = '</head>'+'\n\n\n'+'<body style="font-size:0.8em; font-family:Verdana;"><center>'+'\n';


var endText = '\n\n<\/center><\/body><\/html>'+'\n';

