var request;
var string = "";
var	allowedStatuses = new Array(-1, 0, 1, 2);

try {
	request = new XMLHttpRequest();
}
catch (microsoft) {
	try {
		request = new ActiveXObject("Msxml2.XMLHTTP");
	}
	catch (microsoftOther) {
		try {
			request = new ActiveXObject("Microsoft.XMLHTTP");
		}
		catch (failed) {
			request = false;
		}
	}
}

if (!request)
	alert("Błąd Javascript. Aplikacja może działać niepoprawnie");

function updateWord() {

	if (request.readyState == 4 || request.readyState == "complete")
		if (request.status == 200) {
		
			var response = request.responseText.split("|");

			if(allowedStatuses.indexOf(response)) {
				var wordTR = document.getElementById("word_" + response[0]);
				var TDs = wordTR.getElementsByTagName("td");

				for (i = 0; i < TDs.length; i++) {
					var currentTD = TDs[i];
				
					if (currentTD.className == 'plus') {
						var TDimg = currentTD.firstChild.firstChild;
						if (response[1] == 1)
							TDimg.src = "/gfx/syllabus_tbody_plus_icon_checked.gif";
						else
							TDimg.src = "/gfx/syllabus_tbody_plus_icon.gif";
					}
					else if (currentTD.className == 'tick') {
						var TDimg = currentTD.firstChild.firstChild;
						if (response[1] == 2)
							TDimg.src = "/gfx/syllabus_tbody_tick_icon_checked.gif";
						else
							TDimg.src = "/gfx/syllabus_tbody_tick_icon.gif";
					}
					else if (currentTD.className == 'name') {
						var wordSpan = currentTD.lastChild.previousSibling.previousSibling;

						if (response[1] == 1)
							wordSpan.className = "in_bank";
						else if (response[1] == 2)
							wordSpan.className = "remembered";
						else
							wordSpan.className = "";
					}
				}
			}
			else
				alert("Niepoprawny status słówka");
		}
		else {
			alert("Poprzednia operacja w trakcie...");
		}
}

function updateSyllabus() {
	
	if (request.readyState == 4 || request.readyState == "complete")
		if (request.status == 200) {
		
			var response = request.responseText.split("|");

			if(allowedStatuses.indexOf(response)) {
				var syllabusTR = document.getElementById("s" + response[0]);
				var TDs = syllabusTR.getElementsByTagName("td");
			
				for (i = 0; i < TDs.length; i++) {
					var currentTD = TDs[i];
				
					if (currentTD.className == 'plus') {
						var TDimg = currentTD.firstChild.firstChild;
						if (response[1] == 1)
							TDimg.src = "/gfx/syllabus_tbody_plus_icon_checked.gif";
						else
							TDimg.src = "/gfx/syllabus_tbody_plus_icon.gif";
					}
					else if (currentTD.className == 'tick') {
						var TDimg = currentTD.firstChild.firstChild;
						if (response[1] == 2)
							TDimg.src = "/gfx/syllabus_tbody_tick_icon_checked.gif";
						else
							TDimg.src = "/gfx/syllabus_tbody_tick_icon.gif";
					}
					else if (currentTD.className == 'name') {
						var wordSpan = currentTD.lastChild;
						if (response[1] == 1)
							wordSpan.className = "in_bank";
						else if (response[1] == 2)
							wordSpan.className = "remembered";
						else
							wordSpan.className = "";
					}
				}
			}
			else
				alert("Niepoprawny status słówka");
		}
		else {
			alert("Poprzednia operacja w trakcie...");
		}
}

function showCustomerWords() {
	
	if (request.readyState == 4 || request.readyState == "complete")
		if (request.status == 200) {
		
			var response = request.responseText.split("|");
			var currTR = document.getElementById('syllabus' + response[0]);
			
			var newTR = document.createElement('tr');
			newTR.setAttribute('id', 'ns' + response[0]);
			
			var newTD = document.createElement('td');
			newTD.setAttribute('colspan', 8);
			newTD.colSpan = 8;
			newTD.setAttribute('class', 'word');
			newTD.className='word';
			
			words = response[1].split(":");
			for (i = 0; i < words.length; i++) {
				wordArray = words[i].split(",");
				if (wordArray[0] != "")
					newTD.innerHTML += wordArray[1] + ": " + wordArray[2] + "<br />";
					// + " | <a href='/" + wordArray[0] + "'>usuń słówko</a><br />";
			}
			newTR.appendChild(newTD);
			currTR.parentNode.insertBefore(newTR, currTR.nextSibling);
	
		}
}


function showWords(syllabusId) {
	
	if (newTR = document.getElementById('ns' + syllabusId)) {
		return false;
	}
	
	var url = "/customer_ajax.php?action=syllabus_words&syllabusId=" + syllabusId  + "&rand=" + Math.random();
	request.open("GET", url, true);
	request.onreadystatechange = showCustomerWords;
	request.send(null);
}

function wordStatus(wordId, syllabusId, wordStatus) {
	var url = "/customer_ajax.php?action=word_status&wordId=" + wordId + "&wordStatus=" + wordStatus + "&syllabusId=" + syllabusId + "&rand=" + Math.random();
	request.open("GET", url, true);
	request.onreadystatechange = updateWord;
	request.send(null);
}

function syllabusStatus(syllabusId, unitId, syllabusStatus) {
	var url = "/customer_ajax.php?action=syllabus_status&syllabusId=" + syllabusId + "&syllabusStatus=" + syllabusStatus + "&unitId=" + unitId + "&rand=" + Math.random();
	request.open("GET", url, true);
	request.onreadystatechange = updateSyllabus;
	request.send(null);
}

