var wbmLeftTries;
var wbmWordPool = new Array("Dachstube", "Schaufeln", "Schaukeln", "Schrauben", "Schublade", "Gartenbau", "eingebaut", "ungestört", "Werkstatt", "Heizwärme", "Lötstelle", "Dachrinne", "Rohrbruch", "Innenwand", "Türklinke", "Steckdose", "Gartenweg", "Sandkiste", "Garderobe", "Naturstein", "Erfahrung", "Schlüssel", "Ingenieur", "Gartentor", "Baustoffe", "Ressource", "Rohstoffe", "Grundbuch", "Gästebett", "Zweitauto","Zeitpunkt", "Vorgarten", "Zollstock","Vertäfeln", "Verbauung", "Baudichte","Haustiere", "Förderung", "Türrahmen", "Sympathie", "Heimatort", "Hausanzug", "Abtragung", "Abbrechen", "Grundherr");
var wbmAvailableLetters = new Array("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "ä", "ö", "ü");
var wbmUsedLetters;
var wbmCurrentWordSelected = new Array("_", "_", "_", "_", "_", "_", "_", "_", "_");
var wbmCurrentWordInput;
var wbmSelectedWord;

function wbmInit() {
	var wbmWord;
	
	wbmUsedLetters = new Array();
	wbmLeftTries = 8;
	wbmSelectedWord = wbmGetRandom(0,wbmWordPool.length-1);
	wbmWord = wbmWordPool[wbmSelectedWord].toLowerCase();
	if (wbmWord.length != wbmCurrentWordSelected.length) {
		window.location.reload();
		return;
	}
	wbmCurrentWordInput = new Array("_", "_", "_", "_", "_", "_", "_", "_", "_");
	
	for(var i = 0; i < wbmCurrentWordSelected.length; i++) {
		wbmCurrentWordSelected[i] = wbmWord.substring(i,i+1);
	}
	
	wbmSetInputText();
	wbmSetInputLetters();
	wbmSetImage(0);
	//wbmSetStatus("Sie haben noch " + wbmLeftTries + " Versuche.");
	wbmSetStatus("Klicken Sie auf die Buchstaben, die Sie im Wort vermuten. <br /><br />Sie haben <b>" + wbmLeftTries + "</b> mögliche Fehlversuche.");
	document.getElementById("wbm_input_letters").style.visibility = "visible";
}

function wbmSetInputText() {
	var output = "";
	for(var i = 0; i < wbmCurrentWordInput.length; i++) {
		output = output + wbmCurrentWordInput[i].toUpperCase() + "&nbsp;";
	}
	wbmSetInnerHtml("wbm_input_text",output);
}

function wbmSetInputLetters() {
	var output = "";
	var bLtrIsAvailable;
	for(var i = 0; i < wbmAvailableLetters.length; i++) {
		bLtrIsAvailable = true;
		for(var j = 0; j < wbmUsedLetters.length; j++) {
			if (wbmAvailableLetters[i] == wbmUsedLetters[j]) {
				bLtrIsAvailable = false;
				break;
			}
		}
		if (bLtrIsAvailable) output = output + "<a href=\"#\" onclick=\"javascript:wbmLtrInput('" + wbmAvailableLetters[i] + "'); return false;\">";
		output = output + wbmAvailableLetters[i].toUpperCase();
		if (bLtrIsAvailable) output = output + "</a>";
		output = output + "&nbsp;";
	}
	wbmSetInnerHtml("wbm_input_letters",output);
}

function wbmSetImage(number) {
	//wbmSetInnerHtml("wbm_image","Bild: " + number);
	wbmSetInnerHtml("wbm_image","<img src=\"/img/wortbaumeister/" + number + ".jpg\" />");
}

function wbmSetStatus(text) {
	wbmSetInnerHtml("wbm_status",text);
}

function wbmLtrInput(ltr) {
	var correspondingLetters = 0;
	var bHit = false;
	
	wbmUsedLetters.push(ltr);
	
	for(var i = 0; i < wbmCurrentWordSelected.length; i++) {
		if (wbmCurrentWordSelected[i] == ltr) {
			wbmCurrentWordInput[i] = ltr;
			bHit = true
		}
		if (wbmCurrentWordSelected[i] == wbmCurrentWordInput[i]) correspondingLetters++;
	}
	if (!bHit) wbmLeftTries--;
	
	wbmSetInputText();
	wbmSetInputLetters();
	wbmSetImage(correspondingLetters);
	if (correspondingLetters == wbmCurrentWordSelected.length) {
		//has won
		document.getElementById("wbm_input_letters").style.visibility = "hidden";
		wbmSetStatus("Herzlichen Glückwunsch, Sie haben gewonnen!<br /><a href=\"#\" onclick=\"javascript:wbmInit();return false;\">Neues Spiel starten?</a>");
	}
	else {
		if (wbmLeftTries < 0) {
			//has lost
			document.getElementById("wbm_input_letters").style.visibility = "hidden";
			wbmSetStatus("Leider verloren. Ihnen sind die Versuche ausgegangen. Die Lösung war <b>" + wbmWordPool[wbmSelectedWord] + "</b>.<br /><a href=\"#\" onclick=\"javascript:wbmInit();return false;\">Neues Spiel starten?</a>");
		}
		else {
			wbmSetStatus("Klicken Sie auf die Buchstaben, die Sie im Wort vermuten. <br /><br />Sie haben noch " + wbmLeftTries + " Fehlversuche.");
		}
	}
}

function wbmSetInnerHtml(id,value) {
	document.getElementById(id).innerHTML = value;
}

function wbmGetRandom(min,max) {
	if(min > max) {
		return(-1);
	}
	if(min == max) {
		return(min);
	}
	return(min + parseInt(Math.random() * (max-min+1)));
}
