// JavaScript Document
function showCreateNewTeacherDiv() {
	var vytvoritVyucujicihoDiv = document.getElementById('vytvoritVyucujiciho');
	vytvoritVyucujicihoDiv.style.display = 'inline';
	var vytvoritVyucujicihoLink = document.getElementById('vytvoritVyucujicihoLink');
	vytvoritVyucujicihoLink.style.display = 'none';
}

function createAndUseSubject() {
	var subjectCodeInput 	= document.getElementById('newSubjectCode');
	var subjectNameInput 	= document.getElementById('newSubjectName');
	var school 					= document.getElementById('school');
	
	if(document.getElementById('fakultaInputId')) {
		var fakultaInputId = document.getElementById('fakultaInputId');
		var fakulta = parseInt(fakultaInputId.value);
	} else {
		var fakulta = 0;
	}
		
	if(parseInt(school.value) < 1) {
		alert('Musíš vybrat školu.');
		return false;
	}
	if(subjectCodeInput.value == '') {
		alert('Musíš vyplnit kód předmětu.');
		return false;
	}
	if(subjectNameInput.value == '') {
		alert('Musíš vyplnit název předmětu.');
		return false;
	}
	
	var newSubjectObj 		= {};
	newSubjectObj.kod 		= subjectCodeInput.value;
	newSubjectObj.nazev 		= subjectNameInput.value;
	newSubjectObj.skola 		= school.value;
	newSubjectObj.fakulta 	= fakulta;
	
	//var jsonSubject = JSON.stringify(newSubjectObj);
	var jsonSubject = $.json.encode(newSubjectObj);
	var action 			= 'createAndUseSubject';
	
	sendSjax(createAndUseSubject_callback, 'POST', _SERVER_PATH+'inc/ajax/materialy.php',
      'action='+action+'&subject='+jsonSubject);
   return false;
}

function createAndUseSubject_callback(xmlHttp) {
	var my_JSON_object = !(/[^,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]/.test(xmlHttp.responseText.replace(/"(\\.|[^"\\])*"/g, ''))) && eval('(' + xmlHttp.responseText+ ')');
	if($.growlUI){
		$.growlUI('Informace', (my_JSON_object.message).replace(/\n/gi,'<br />'));
   } else {
		alert(my_JSON_object.message);
   }
	if(my_JSON_object.status != '---KO---') {
		var subjectCodeInput 	= document.getElementById('newSubjectCode');
		subjectCodeInput.value = '';
		var subjectNameInput 	= document.getElementById('newSubjectName');
		subjectNameInput.value = '';
		var vytvoritPredmetDiv = document.getElementById('vytvoritPredmet');
		vytvoritPredmetDiv.style.display = 'none';
		var vytvoritPredmetLink = document.getElementById('vytvoritPredmetLink');
		vytvoritPredmetLink.style.display = 'inline';
		var subjectNameDiv = document.getElementById("subjectName");
		subjectNameDiv.value = my_JSON_object.predmet.kod + ' - ' + my_JSON_object.predmet.nazev;
		var subjectNameId = document.getElementById("subjectNameId");
		subjectNameId.value = my_JSON_object.id_predmety; 
	} else {
	
	}
   return false;
}

function createAndUseTeacher() {
	var teacherNameInput 		= document.getElementById('newTeacherName');
	var teacherSurnameInput 	= document.getElementById('newTeacherSurname');
	var teacherTitlesBefore		= document.getElementById('newTeacherTitlesBefore');
	var teacherTitlesAfter		= document.getElementById('newTeacherTitlesAfter');
	var school 						= document.getElementById('school');
	
	if(document.getElementById('fakultaInputId')) {
		var fakultaInputId = document.getElementById('fakultaInputId');
		var fakulta = parseInt(fakultaInputId.value);
	} else {
		var fakulta = 0;
	}
	
	if(parseInt(school.value) < 1) {
		alert('Musíš vybrat školu.');
		return false;
	}
	if(teacherNameInput.value == '') {
		alert('Musíš vyplnit jméno vyučujícího.');
		return false;
	}
	if(teacherSurnameInput.value == '') {
		alert('Musíš vyplnit příjmení vyučujícího.');
		return false;
	}
	
	var titlesBeforeCount = teacherTitlesBefore.options.length;
	var titulyPred = '';
	for(var i=0; i<titlesBeforeCount; i++) {
		if(teacherTitlesBefore.options[i].selected) {
			if(i != (titlesBeforeCount-1)) {
				titulyPred += teacherTitlesBefore.options[i].value+' ';
			} else {
				titulyPred += teacherTitlesBefore.options[i].value;
			}
		}
	}
	
	var titlesAfterCount = teacherTitlesAfter.options.length;
	var titulyZa = '';
	for(var i=0; i<titlesAfterCount; i++) {
		if(teacherTitlesAfter.options[i].selected) {
			if(i != (titlesAfterCount-1)) {
				titulyZa += teacherTitlesAfter.options[i].value+' ';
			} else {
				titulyZa += teacherTitlesAfter.options[i].value;
			}
		}
	}
	
	var newTeacherObj 			= {};
	newTeacherObj.jmeno 			= teacherNameInput.value;
	newTeacherObj.prijmeni 		= teacherSurnameInput.value;
	newTeacherObj.titulyPred	= titulyPred;
	newTeacherObj.titulyZa		= titulyZa;
	newTeacherObj.skola 			= school.value;
	newTeacherObj.fakulta 		= fakulta;
	
	//var jsonTeacher = JSON.stringify(newTeacherObj);
	var jsonTeacher = $.json.encode(newTeacherObj);
	var action 			= 'createAndUseTeacher';
	
	sendAjax(createAndUseTeacher_callback, 'POST', _SERVER_PATH+'inc/ajax/materialy.php',
      'action='+action+'&teacher='+jsonTeacher);
   return false;
}

function createAndUseTeacher_callback(xmlHttp) {
	var my_JSON_object = !(/[^,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]/.test(xmlHttp.responseText.replace(/"(\\.|[^"\\])*"/g, ''))) && eval('(' + xmlHttp.responseText+ ')');
	if($.growlUI){
		$.growlUI('Informace', (my_JSON_object.message).replace(/&lt;br\/&gt;/,'<br />'));
   } else {
		alert(my_JSON_object.message);
   }
	if(my_JSON_object.status != '---KO---') {
		var teacherNameInput 		= document.getElementById('newTeacherName');
		teacherNameInput.value = '';
		var teacherSurnameInput 	= document.getElementById('newTeacherSurname');
		teacherSurnameInput.value = '';
		var teacherTitlesBefore		= document.getElementById('newTeacherTitlesBefore');
		var pocet = teacherTitlesBefore.options.length;
		for(var i = 0; i < pocet; i++) {
			teacherTitlesBefore.options[i].selected = false;
		}
		var teacherTitlesAfter		= document.getElementById('newTeacherTitlesAfter');
		var pocet = teacherTitlesAfter.options.length;
		for(var i = 0; i < pocet; i++) {
			teacherTitlesAfter.options[i].selected = false;
		}
		var vytvoritVyucujicihoDiv = document.getElementById('vytvoritVyucujiciho');
		vytvoritVyucujicihoDiv.style.display = 'none';
		var vytvoritVyucujicihoLink = document.getElementById('vytvoritVyucujicihoLink');
		vytvoritVyucujicihoLink.style.display = 'inline';
		var teacherNameDiv = document.getElementById("teacherName");
		var teacher = '';
		if(my_JSON_object.vyucujici.titulyPred != '') {
			teacher += my_JSON_object.vyucujici.titulyPred + ' ';
		}
		teacher += my_JSON_object.vyucujici.jmeno + ' ' + my_JSON_object.vyucujici.prijmeni;
		if(my_JSON_object.vyucujici.titulyZa != '') {
				teacher += ' ' + my_JSON_object.vyucujici.titulyZa;
		}
		teacherNameDiv.value = teacher;
		var teacherNameId = document.getElementById("teacherNameId");
		teacherNameId.value = my_JSON_object.teacherID; 
	} else {
	
	}
   return false;
}

function addMaterial() {
	var schoolId = document.getElementById("school");
	var teacherNameId = document.getElementById("teacherNameId");
	//CheckExtention('file');
	if(parseInt(teacherNameId.value) == 0) {
		var teacherNameInput 		= document.getElementById('newTeacherName');
		var teacherSurnameInput 	= document.getElementById('newTeacherSurname');
		if(teacherNameInput.value != '' && teacherSurnameInput.value != '') {
			alert('Pro přidání nového vyučujícího klikni na tlačítko "uložit".');
			return false;
		}
	}
	if(parseInt(schoolId.value) > 0) {
		var subjectNameId = document.getElementById("subjectNameId");
		if(parseInt(subjectNameId.value) > 0) {
// 			if(parseInt(teacherNameId.value) > 0) {
			var materialTyp 		= document.getElementById("materialType");
			var materialName 		= document.getElementById("materialName");
			var note				 	= document.getElementById("note");
			var showName			= document.getElementById("showName");
			var file					= document.getElementById("file");
			
			if(parseInt(materialTyp.value) > 0) {
			
			} else {
				alert('Nezadal jsi typ materiálu.');
				return false;
			}
			if(materialName.value == '') {
				alert('Nezadal jsi název materiálu.');
				return false;
			}
			if(file.value == '') {
				alert('Nevybral jsi materiál, který chceš nahrát na server.');
				return false;
			}
			
			var addMaterialForm  = document.getElementById("addMaterialForm");
			addMaterialForm.submit();
// 			} else {
// 				alert("Nezadal jsi vyučujícího, pro kterého chceš materiál přidat. Kliknutím na odkaz 'Vytvoř nového' můžeš vytvořit nového vyučujícího.");
// 			}
		} else {
			var subjectCodeInput 	= document.getElementById('newSubjectCode');
			var subjectNameInput 	= document.getElementById('newSubjectName');
			if(subjectCodeInput.value != '' && subjectNameInput.value != '') {
				alert('Pro založení nového předmětu klikni na tlačítko "uložit".');
			} else {
				alert("Nezadal jsi předmět, pro který chceš materiál přidat. Kliknutím na odkaz 'Založ nový' můžeš přidat předmět.");
			}
		}
	} else {
		alert('Nemáš vybranou žádnou školu.');
	}
}

function najitMaterialy(strana, uid, pocet) {
    var action 				= 'najitMaterialy';
    //var newURL = window.location.protocol + "//" + window.location.host;
    var newURL = _SERVER_PATH;
    // 	if(window.location.pathname != '') {
    // 		pathArray = window.location.pathname.split('/');
    // 		newURL += "/" + pathArray[1];
    // 	}
    newURL += 'index.php?menu=materialy';
    newURL += '&skola='+$("#searchSchool").val();
    newURL += '&fakulta='+$("#searchFakulta").val();
    newURL += '&skolaId='+parseInt($("#searchSchoolId").val());
    newURL += '&fakultaId='+parseInt($("#searchFakultaId").val());
    newURL += '&predmet='+$("#subjCode").val();
    newURL += '&vyucujici='+$("#searchTeacherName").val();
    newURL += '&typ='+$("#materialTyp").val();
    newURL += '&strana='+strana;
    //alert(urlencode(newURL));
    window.location.href = newURL;
// 	var najitMaterialyObj = {};
// 	najitMaterialyObj.skola 			= skola.value;
// 	najitMaterialyObj.fakulta 			= fakulta.value;
// 	najitMaterialyObj.skolaId 			= parseInt(skolaId.value);
// 	najitMaterialyObj.fakultaId 		= parseInt(fakultaId.value);
// 	najitMaterialyObj.predmet 			= predmet.value;
// 	najitMaterialyObj.vyucujici 		= vyucujici.value;
// 	najitMaterialyObj.typ 				= typ.value;
// 	jsonNajitMaterialy = $.json.encode(najitMaterialyObj);
// 	//alert(jsonNajitMaterialy);
// 	//jsonNajitMaterialy 					= JSON.stringify(najitMaterialyObj);
// 	sendSjax(najitMaterialy_callback, 'POST', 'inc/ajax/materialy.php', 
//       'action='+action+'&searchForm='+jsonNajitMaterialy+'&strana='+strana);
}

function najitMaterialy_callback(xmlHttp) {
	var my_JSON_object = !(/[^,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]/.test(xmlHttp.responseText.replace(/"(\\.|[^"\\])*"/g, ''))) && eval('(' + xmlHttp.responseText+ ')');
	// Vyhledávání materiálů se podařilo
	if(my_JSON_object.status != '---KO---') {
		var results = my_JSON_object.materialy;
		var najitMaterialyResultsDiv = document.getElementById("najitMaterialyResults");
		najitMaterialyResultsDiv.innerHTML = '';
		var resultsCount = results.length;
		najitMaterialyResultsDiv.innerHTML += '<h2>Výsledky hledání</h2>';
		var najitMaterialyRes = '';
		if(resultsCount > 0) {
			najitMaterialyRes += '<table>';
			najitMaterialyRes += '	<tr>';
			najitMaterialyRes += '		<th class="code">Kód</th>';
			najitMaterialyRes += '		<th class="subject">Předmět</th>';
			najitMaterialyRes += '		<th class="material">Materiál</th>';
			najitMaterialyRes += '		<th class="download"></th>';
			najitMaterialyRes += '		<th class="type">Typ</th>';
			najitMaterialyRes += '		<th class="teacher">Vyučující</th>';
			najitMaterialyRes += '		<th class="date">Datum</th>';
			najitMaterialyRes += '		<th class="rating">Hodnocení</th>';
			najitMaterialyRes += '	</tr>';
			for(var i=0; i<resultsCount; i++) {
				najitMaterialyRes += '<tr>';
				najitMaterialyRes += '	<td>' + results[i].kod + '</td>';
				najitMaterialyRes += '	<td>' + results[i].predmet + '</td>';
				najitMaterialyRes += '	<td><a href="index.php?menu=material&amp;mid=' + results[i].id_materialy + '" title="Detail materiálu ' + results[i].material + '">' + results[i].material + '</a></td>';
				najitMaterialyRes += '	<td><a href="getMaterial.php?mid=' + results[i].uniqid + '" title="Stáhnout materiál ' + results[i].material + '" onclick="window.open(this.href); return false;"><img src="images/podklad/download_icon.jpg" alt="download_icon" /></a></td>';
				najitMaterialyRes += '	<td>' + results[i].typ + '</td>';
				najitMaterialyRes += '	<td>' + results[i].vyucujici + '</td>';
				najitMaterialyRes += '	<td>' + results[i].datum + '</td>';
				najitMaterialyRes += '	<td id="materialRatingSpan"';
				if(results[i].hodnoceni.pocet > 0) {
					najitMaterialyRes += ' title="Hodnotilo ' + results[i].hodnoceni.pocet;
					if(results[i].hodnotil) {
						najitMaterialyRes += ' včetně tebe';
					}
					najitMaterialyRes += '"';
				} else {
					najitMaterialyRes += ' title="Nikdo nehodnotil"';
				}
				najitMaterialyRes += '>';
				najitMaterialyRes += '	<img src="images/podklad/'+results[i].hodnoceni.hodnoceni+'stars.gif" alt="" />';
				najitMaterialyRes += '</td>';
				najitMaterialyRes += '</tr>';
			}
			najitMaterialyRes += '</table>';
		} else {
			najitMaterialyRes += '<p>Žádné materiály nevyhovují zadaným podmínkám.</p>';
		}
		var strankovaniDiv = document.getElementById("najitMaterialyStrankovani");
		if(my_JSON_object.strankovani) {
			strankovaniDiv.innerHTML = my_JSON_object.strankovani;
		} else {
			strankovaniDiv.innerHTML = '';
		}
	} else {
		var najitMaterialyResultsDiv = document.getElementById("najitMaterialyResults");
		najitMaterialyResultsDiv.innerHTML = '';
		najitMaterialyResultsDiv.innerHTML += '<h2>Výsledky hledání</h2>';
		var najitMaterialyRes = '';
		najitMaterialyRes += '<p>Žádné materiály nevyhovují zadaným podmínkám.</p>';
		var strankovaniDiv = document.getElementById("najitMaterialyStrankovani");
		strankovaniDiv.innerHTML = '';
	}
	najitMaterialyResultsDiv.innerHTML += najitMaterialyRes;
}

function updateSuggestions(deleteInputs) {
	var school 					= document.getElementById('school');
	var action 					= 'getFakultsCount';
	sendAjax(updateSuggestions_callback, 'POST', _SERVER_PATH+'inc/ajax/skola.php',
      'action='+action+'&sid='+school.value+'&deleteInputs='+deleteInputs);   
}

function updateSuggestions_callback(xmlHttp) {
	var my_JSON_object = !(/[^,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]/.test(xmlHttp.responseText.replace(/"(\\.|[^"\\])*"/g, ''))) && eval('(' + xmlHttp.responseText+ ')');
	var school 					= document.getElementById('school');
	if(my_JSON_object.deleteInputs) {
		var subjectName 			= document.getElementById('subjectName');
		var subjectNameId 		= document.getElementById('subjectNameId');
		var teacherName			= document.getElementById('teacherName');
		var teacherNameId 		= document.getElementById('teacherNameId');
		if(document.getElementById('fakultaInputId')) {
			var fakultaInputId		= document.getElementById('fakultaInputId');
			fakultaInputId.value = 0;
			var fakultaInput		= document.getElementById('fakultaInput');
			fakultaInput.value = '';
		}
		subjectName.value = '';
		teacherName.value = '';
		subjectNameId.value = 0;
		teacherNameId.value = 0;
	}
// 	var subjectName = document.getElementById('subjectName');
// 	subjectName.onclick = function() {updateSuggestions(false, pocet)};
// 	var teacherName = document.getElementById('teacherName');
// 	teacherName.onclick = function() {updateSuggestions(false, pocet)};
// 	var fakultaInput = document.getElementById('fakultaInput');
// 	fakultaInput.onclick = function() {updateSuggestions(true, pocet)};
	if(my_JSON_object.pocet > 0) {
		var skola_fakulta = document.getElementById('skola_fakulta');
		skola_fakulta.style.display = 'block';
		$("#fakultaInput").unbind($.jSuggest);
		$("#fakultaInput").jSuggest({
			url: _SERVER_PATH+"inc/ajax/skola.php?sid=" + school.value + "&action=getListOfFakults",
			type: "POST",
			data: "keyword",
			autoChange: false,
			skolaInput: "school",
			isSelectBox: true,
			fakultaInput: "fakultaInput",
			updateFakulta: false,
			updateSubject: true,
			updateTeacher: true
		});
	} else {
		var skola_fakulta = document.getElementById('skola_fakulta');
		skola_fakulta.style.display = 'none';
	}
	if(document.getElementById('fakultaInputId')) {
		var fakultaInputId = document.getElementById('fakultaInputId');
		var fakulta = parseInt(fakultaInputId.value);
	} else {
		var fakulta = 0;
	}
	$("#teacherName").unbind($.jSuggest);
	$("#teacherName").jSuggest({
		url: _SERVER_PATH+"inc/ajax/materialy.php?sid=" + school.value + "&action=getListOfTeachers&fid="+fakulta,
		type: "POST",
		data: "keyword",
		autoChange: false
	});
	$("#subjectName").unbind($.jSuggest);
	$("#subjectName").jSuggest({
		url: _SERVER_PATH+"inc/ajax/predmety.php?sid=" + school.value + "&action=getListOfSubjects&fid="+fakulta,
		type: "POST",
		data: "keyword",
		autoChange: false
	});
}

$(function(){
	if(document.getElementById('school')) {
		var school 					= document.getElementById('school');
		if(document.getElementById('fakultaInputId')) {
			var fakultaInputId = document.getElementById('fakultaInputId');
			var fakulta = parseInt(fakultaInputId.value);
		} else {
			var fakulta = 0;
		}
		$("#teacherName").jSuggest({
			url: _SERVER_PATH+"inc/ajax/materialy.php?sid=" + school.value + "&action=getListOfTeachers&fid="+fakulta,
			type: "POST",
			data: "keyword",
			autoChange: false
		});
	}
	if(document.getElementById('searchSchool')) {
		$("#searchSchool").jSuggest({
			url: _SERVER_PATH+"inc/ajax/skola.php?action=getListOfOnlySchools",
			type: "POST",
			data: "keyword",
			autoChange: false,
			updateFakulta: true,
			skolaInput: "searchSchool",
			fakultaInput: "searchFakulta",
			updateFakulta: true,
			updateSubject: false,
			updateTeacher: false
		});
		var searchSchoolId = document.getElementById('searchSchoolId');
		$("#searchFakulta").jSuggest({
			url: _SERVER_PATH+"inc/ajax/skola.php?sid="+parseInt(searchSchoolId.value)+"&action=getListOfFakults",
			type: "POST",
			data: "keyword",
			autoChange: false,
			skolaInput: "referenceSchool",
			fakultaInput: "searchFakulta",
			updateFakulta: false,
			updateSubject: false,
			updateTeacher: false
		});
	}
	if(document.getElementById('show_verejne_link')) {
	   $('#show_verejne_link').click(function() {
			$('li.vysoke_verejne_hidden').animate({ height: 'show', opacity: 'show' }, 'slow');
			$('#show_verejne_link').css('display', 'none');
			return false;
		});
	}
	if(document.getElementById('show_soukrome_link')) {
	   $('#show_soukrome_link').click(function() {
			$('li.vysoke_soukrome_hidden').animate({ height: 'show', opacity: 'show' }, 'slow');
			$('#show_soukrome_link').css('display', 'none');
			return false;
		});
	}
	if(document.getElementById('show_statni_link')) {
	   $('#show_statni_link').click(function() {
			$('li.vysoke_statni_hidden').animate({ height: 'show', opacity: 'show' }, 'slow');
			$('#show_statni_link').css('display', 'none');
			return false;
		});
	}
	if(document.getElementById('show_vyssi_link')) {
	   $('#show_vyssi_link').click(function() {
			$('li.vyssi_odborne_hidden').animate({ height: 'show', opacity: 'show' }, 'slow');
			$('#show_vyssi_link').css('display', 'none');
			return false;
		});
	}
	if(document.getElementById('show_stredni_link')) {
	   $('#show_stredni_link').click(function() {
			$('ul.stredni_skoly_hidden').animate({ height: 'show', opacity: 'show' }, 'slow');
			$('#show_stredni_link').css('display', 'none');
			return false;
		});
	}
        if(document.getElementById('show_subjects_link')) {
	   $('#show_subjects_link').click(function() {
                $('ul.predmety_hidden').animate({ height: 'show', opacity: 'show' }, 'slow');
                $('#show_subjects_link').css('display', 'none');
                return false;
            });
	}
        if(document.getElementById('show_teachers_link')) {
	   $('#show_teachers_link').click(function() {
                $('ul.vyucujici_hidden').animate({ height: 'show', opacity: 'show' }, 'slow');
                $('#show_teachers_link').css('display', 'none');
                return false;
            });
	}
});
