// JavaScript Document

//	Ultimo tasto premuto
var ultimoTasto;

//	Entra nella chat
//	idNickname: id del nominativo per l'ingresso nella chat
//	idInput: id della casella di testo contenente il messaggio
//	idConferma: id del messaggio di conferma dell'ingresso in chat
function entraChat(idNickname, idInput, idConferma) {
	var nickname = document.getElementById(idNickname);
	var input = document.getElementById(idInput);
	var conferma = document.getElementById(idConferma);
	
	//	Richiama la funzione tramite AJAX	
	jQuery.ajax({
		type: 'POST',
		url: 'admin/ajax.php',
		data: 'op=entraChat&nickname='+nickname.value,
		async: false,
		success: function(responso) {
			if (responso) {
				//	Visualizza il messaggio di conferma
				conferma.innerHTML = responso;
				
				//	Riattiva la casella dei messaggi
				input.disabled = false;
			}
		}
	});
}


//	Inserisce i messaggi nella chat
//	idUltimaId: id che conserva il valore dell'ultima id del messaggio
//	idNickname: id del nominativo per l'ingresso nella chat
//	idInput: id della casella di testo contenente il messaggio
//	idOutput: id del tag che riceve il messaggio
function scriviChat(idUltimaId, idNickname, idInput, idOutput) {
	var nickname = document.getElementById(idNickname);
	var input = document.getElementById(idInput);
	var output = document.getElementById(idOutput);

	//	Scrive il messaggio solo se viene premuto il tasto INVIO
	if (event.keyCode == 13 && ultimoTasto != 13) {
		//	Disattiva la casella del messaggio
		input.readOnly = true;
		
		//	Salva l'ultimo tasto premuto
		ultimoTasto = event.keyCode;
				
		//	Ignora i messaggio vuoti
		if (Trim(input.value)) {
			//	Richiama la funzione tramite AJAX	
			jQuery.ajax({
				type: 'POST',
				url: 'admin/ajax.php',
				data: 'op=scriviChat&nickname='+nickname.value+'&msg='+input.value,
				async: false,
				success: function(responso) {
					//	Riattiva la casella del messaggio
					input.readOnly = false;
				}
			});
		}
		
		//	Riattiva la casella del messaggio
		else input.readOnly = false;
	}
	
	//	Salva l'ultimo tasto premuto
	else ultimoTasto = event.keyCode;
}

//	Resetta la finestra del messaggio
//	idInput: id della casella di testo contenente il messaggio
function azzeraChat(idInput) {
	var input = document.getElementById(idInput);
	
	//	Cancella il messaggio solo se viene premuto il tasto INVIO
	if (event.keyCode == 13) input.value = '';
}

//	Recupera l'ultima id del messaggio inserita
//	idUltimaId: id che conserva il valore dell'ultima id del messaggio
function recuperaUltimaIdChat(idUltimaId) {
	var ultimaId = document.getElementById(idUltimaId);
	
	//	Richiama la funzione tramite AJAX	
	jQuery.ajax({
		type: 'POST',
		url: 'admin/ajax.php',
		data: 'op=recuperaUltimaIdChat',
		async: false,
		success: function(responso) {
			if (responso) {			
				ultimaId.value = responso;
			}
		}
	});
}

//	Recupera i messaggi della chat
//	idUltimaId: id che conserva il valore dell'ultima id del messaggio
//	idOutput: id del tag che riceve il messaggio
function recuperaChat(idUltimaId, idOutput) {
	var ultimaId = document.getElementById(idUltimaId);
	var output = document.getElementById(idOutput);
	
	//	Richiama la funzione tramite AJAX	
	jQuery.ajax({
		type: 'POST',
		url: 'admin/ajax.php',
		data: 'op=recuperaChat&id='+ultimaId.value,
		success: function(responso) {
			if (responso) {		
				//	Accoda il messaggio
				output.value = output.value ? output.value+'\n'+Trim(responso) : Trim(responso);
							
				//	Scorrimento alla fine
				output.scrollTop = output.scrollHeight - output.clientHeight;
			}
		}
	});
}
