// JavaScript Document
function searchTeacherReferences() {
	var teacherNameId	= document.getElementById("teacherNameId");
	if(parseInt(teacherNameId.value) > 0) {
		var school 			= document.getElementById("referenceSchoolId");
		var action 			= 'getTeacherReferences';
		sendSjax(searchTeacherReferences_callback, 'POST', _SERVER_PATH+'inc/ajax/referenceVyucujicich.php', 
	      'action='+action+'&id='+teacherNameId.value+'&skola='+school.value);
	} else {
		alert('Nebyl vybrán vyučující!');
	}
}

function searchTeacherReferences_callback(xmlHttp) {
    var my_JSON_object = !(/[^,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]/.test(xmlHttp.responseText.replace(/"(\\.|[^"\\])*"/g, ''))) && eval('(' + xmlHttp.responseText+ ')');
    window.location = my_JSON_object.url;
}

function searchSubjectReferences() {
	var subjectNameId	= document.getElementById("subjectNameId");
	if(parseInt(subjectNameId.value) > 0) {
		var school 			= document.getElementById("referenceSchoolId");
		var action 			= 'getSubjectReferences';
		sendSjax(searchSubjectReferences_callback, 'POST', _SERVER_PATH+'inc/ajax/referenceVyucujicich.php', 
	      'action='+action+'&id='+subjectNameId.value+'&skola='+school.value);
	} else {
		alert('Nebyl vybrán předmět!');
	}
}

function searchSubjectReferences_callback(xmlHttp) {
    var my_JSON_object = !(/[^,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]/.test(xmlHttp.responseText.replace(/"(\\.|[^"\\])*"/g, ''))) && eval('(' + xmlHttp.responseText+ ')');
    window.location = my_JSON_object.url;
}

function addReference() {
	var schoolId = document.getElementById("school");
	if(parseInt(schoolId.value) > 0) {
		var subjectNameId = document.getElementById("subjectNameId");
		if(parseInt(subjectNameId.value) > 0) {
			var teacherNameId = document.getElementById("teacherNameId");
			if(parseInt(teacherNameId.value) > 0) {
				var rating 				= document.getElementById("rating-1");
				var note				 	= document.getElementById("note");
				var showName			= document.getElementById("showName");
				
				if(parseInt(rating.value) < 0 || parseInt(rating.value) > 5 || rating.value == '') {
					alert('Musíš ohodnotit vyučujícího pomocí hvězdiček.');
					return false;
				}
				
				if(note.value == '') {
					alert('Nenapsal jsi referenci vyučujícího.');
					return false;
				}
				
				if(document.getElementById('fakultaInputId')) {
					var fakultaInputId = document.getElementById('fakultaInputId');
					var fakulta = parseInt(fakultaInputId.value);
				} else {
					var fakulta = 0;
				}
				
				var newReferenceObj 				= {};
				newReferenceObj.predmetID 			= parseInt(subjectNameId.value);
				newReferenceObj.vyucujiciID 		= parseInt(teacherNameId.value);
				newReferenceObj.skola 				= parseInt(schoolId.value);
				newReferenceObj.fakulta 			= fakulta;
				//newReferenceObj.reference			= nl2br(note.value, true);
				newReferenceObj.security_level 	= parseInt(showName.value);
				newReferenceObj.hodnoceni 			= parseInt(rating.value);
				
				//var jsonReference = JSON.stringify(newReferenceObj);
				var jsonReference 		= $.json.encode(newReferenceObj);
				var action 			= 'addReference';
							
				sendSjax(addReference_callback, 'POST', _SERVER_PATH+'inc/ajax/referenceVyucujicich.php', 
      			'action='+action+'&reference='+jsonReference+'&text='+note.value);
			} else {
				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".');
				} else {
					alert("Nezadal jsi vyučujícího, pro kterého chceš referenci 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š referenci přidat. Kliknutím na odkaz 'Založ nový' můžeš přidat předmět.");
			}
		}
	} else {
		alert('Nemáš vybranou žádnou školu.');
	}
}

function addReference_callback(xmlHttp) {
	var my_JSON_object = !(/[^,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]/.test(xmlHttp.responseText.replace(/"(\\.|[^"\\])*"/g, ''))) && eval('(' + xmlHttp.responseText+ ')');
   var subjectNameId = document.getElementById("subjectNameId");
   subjectNameId.value = 0;
   var teacherNameId = document.getElementById("teacherNameId");
   teacherNameId.value = 0;
   var note				 	= document.getElementById("note");
   note.value = '';
	var teacherName = document.getElementById("teacherName");
	teacherName.value = '';
	var subjectName = document.getElementById("subjectName");
	subjectName.value = '';
	var ratingDiv = document.getElementById("ratingDiv");
	var result = "star_" + Math.round(Math.random() * 1235242);
	var name = "rating_" + Math.round(Math.random() * 242);
// 	var rating = '<input class="'+result+'" type="radio" name="'+name+'" value="1" title="Nic moc" />';
// 	rating += '<input class="'+result+'" type="radio" name="'+name+'" value="2" title="Jde to" />';
// 	rating += '<input class="'+result+'" type="radio" name="'+name+'" value="3" title="Dobrý" />';
// 	rating += '<input class="'+result+'" type="radio" name="'+name+'" value="4" title="Velmi dobrý" />';
// 	rating += '<input class="'+result+'" type="radio" name="'+name+'" value="5" title="Nejlepší" />';
//    ratingDiv.innerHTML = rating;
//    jQuery('.'+result).rating({
// 	  	required: true
// 	});
//    $('.'+result).rating({
// 	  	required: true
// 	});
	if($.growlUI){
		$.growlUI('Informace', (my_JSON_object.message).replace(/\n/gi,'<br />'), 3000, 'pridat-referenci.html');
   } else {
		alert(my_JSON_object.message);
   }
}

function getReferenceVyucujicihoPage(strana, vid, pocet) {
	var action 			= 'getReferenceVyucujiciho';
	sendSjax(getReferenceVyucujicihoPage_callback, 'POST', _SERVER_PATH+'inc/ajax/referenceVyucujicich.php', 
      'action='+action+'&strana='+strana+'&vid='+vid+'&pocet='+pocet);
}

function getReferenceVyucujicihoPage_callback(xmlHttp) {
	var my_JSON_object = !(/[^,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]/.test(xmlHttp.responseText.replace(/"(\\.|[^"\\])*"/g, ''))) && eval('(' + xmlHttp.responseText+ ')');
	if(my_JSON_object.status != '---KO---') {
		var listDiv = document.getElementById('referenceList');
		var results = my_JSON_object.reference;
		var resultsCount = results.length;
		listDiv.innerHTML = '';
		var text = '<table>';
		text += '	<tr>';
		text += '		<th class="subject">Předmět</th>';
		text += '		<th class="date">Datum</th>';
		text += '		<th class="rating">Hodnocení</th>';
		text += '		<th class="link">&nbsp;</th>';
		text += '	</tr>';
		for(var i = 0; i < resultsCount; i++) {
			text += '	<tr>';
			text += '		<td>'+ results[i].nazev +'</td>';
			text += '		<td>'+ results[i].datum +'</td>';
			text += '		<td class="ratingItem rating" title="'+ results[i].hodnoceni_title +'">';
			text += '	<img src="'+_SERVER_PATH+'images/podklad/'+results[i].hodnoceni.hodnoceni+'stars.gif" alt="" />';
			text += '		</td>';
			text += '		<td><a href="'+_SERVER_PATH+'index.php?menu=reference-predmetu&amp;pid='+ results[i].id_predmety +'" title="Zobrazit ostatní předměty tohoto vyučujícího">Zobrazit ostatní předměty tohoto vyučujícího</a></td>';
			text += '	</tr>';
			text += '	<tr>';
			text += '		<td colspan="4" class="text">'+ results[i].reference;
			if(results[i].show_author) {
				text += '<a href="'+_SERVER_PATH+ results[i].user_seo +'-='+ results[i].id_uzivatele +'.html" title="Zobrazit profil '+ results[i].jmeno +' '+ results[i].prijmeni +'" class="who">'+ results[i].jmeno +' '+ results[i].prijmeni +'</a>';
			}
			text += '		</td>';
			text += '	</tr>';
		}
		text += '</table>';
		listDiv.innerHTML = text;
		var strankovaniDiv = document.getElementById("referenceVyucujicichStrankovani");
		strankovaniDiv.innerHTML = my_JSON_object.strankovani;
	} else {
		alert(my_JSON_object.message);
	}
}

function updateReferenceSuggestions(deleteInputs) {
	var school 					= document.getElementById('school');
	var action 					= 'getFakultsCount';
	sendAjax(updateReferenceSuggestions_callback, 'POST', _SERVER_PATH+'inc/ajax/skola.php', 
      'action='+action+'&sid='+school.value+'&deleteInputs='+deleteInputs);   
}

function updateReferenceSuggestions_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(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() {updateReferenceSuggestions(false, pocet)};
// 	var teacherName = document.getElementById('teacherName');
// 	teacherName.onclick = function() {updateReferenceSuggestions(false, pocet)};
// 	var fakultaInput = document.getElementById('fakultaInput');
// 	fakultaInput.onclick = function() {updateReferenceSuggestions(true, pocet)};
	if(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($.fn.jSuggest);
	//$("body").remove('#jSuggestContainer');
	$("#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 showSchoolFacults(skola) {
    $("#fakulty_"+skola).animate({ height: 'show', opacity: 'show' }, 'slow');
    return false;
}


// jQuery functions
$(function() {
        $('#showReferencesFilterLink').toggle(function() {
		$("#referencesFilter").animate({ height: 'show', opacity: 'show' }, 'slow');
		this.innerHTML = 'Schovat filtr pro vyhledávání';
		this.title = 'Schovat filtr pro vyhledávání';
                $('.hidden_title').css('display', 'inline');
	},function(){
		$("#referencesFilter").animate({ height: 'hide', opacity: 'hide' }, 'slow');
		this.innerHTML = 'Zobrazit filtr pro vyhledávání';
		this.title = 'Zobrazit filtr pro vyhledávání';
                $('.hidden_title').css('display', 'none');
	});
	$('.reference-star').rating({
		readOnly: true,
	  	required: true
	});
	$('.addReference-star').rating({
	  	required: true
	});
	$('.teacher-subject-rating-1').rating({
		readOnly: true,
	  	required: true
	});
	$('.teacher-subject-rating-2').rating({
		readOnly: true,
	  	required: true
	});
	$('.teacher-subject-rating-3').rating({
		readOnly: true,
	  	required: true
	});
	$('.teacher-subject-rating-4').rating({
		readOnly: true,
	  	required: true
	});

	if(document.getElementById('referenceSchool')) {
		$("#referenceSchool").jSuggest({
			url: _SERVER_PATH+"inc/ajax/skola.php?action=getListOfOnlySchools",
			type: "POST",
			data: "keyword",
			autoChange: false,
			updateFakulta: true,
			skolaInput: "referenceSchool",
			fakultaInput: "fakultaInput",
			updateFakulta: true,
			updateSubject: true,
			updateTeacher: true
		});
		var referenceSchoolId = document.getElementById('referenceSchoolId');
                $("#fakultaInput").focus(function () {
                    if(parseInt(referenceSchoolId.value) > 0) {

                    } else {
                        alert('Nejprve musíš vybrat školu!');
                        $("#referenceSchool").focus();
                        return false;
                    }
                });
		$("#fakultaInput").jSuggest({
			url: _SERVER_PATH+"inc/ajax/skola.php?sid="+parseInt(referenceSchoolId.value)+"&action=getListOfFakults",
			type: "POST",
			data: "keyword",
			autoChange: false,
			skolaInput: "referenceSchool",
			fakultaInput: "fakultaInput",
			updateFakulta: false,
			updateSubject: true,
			updateTeacher: true
		});
		var fakultaInputId = document.getElementById('fakultaInputId');
                $("#subjectName").focus(function () {
                    if(parseInt(referenceSchoolId.value) > 0) {

                    } else {
                        alert('Nejprve musíš vybrat školu!');
                        $("#referenceSchool").focus();
                        return false;
                    }
                });
                $("#teacherName").focus(function () {
                    if(parseInt(referenceSchoolId.value) > 0) {
                        
                    } else {
                        alert('Nejprve musíš vybrat školu!');
                        $("#referenceSchool").focus();
                        return false;
                    }
                });
		$("#subjectName").jSuggest({
			url: _SERVER_PATH+"inc/ajax/predmety.php?sid=" + parseInt(referenceSchoolId.value) + "&action=getListOfSubjects&fid="+parseInt(fakultaInputId.value),
			type: "POST",
			data: "keyword",
			autoChange: false
		});
		$("#teacherName").jSuggest({
			url: _SERVER_PATH+"inc/ajax/materialy.php?sid=" + parseInt(referenceSchoolId.value) + "&action=getListOfTeachers&fid="+parseInt(fakultaInputId.value),
			type: "POST",
			data: "keyword",
			autoChange: false
		});
	}
});
