﻿/*
 Module Rumeuroscope, partie AjaX
 Shoutbox utilisant jquery.
*/

$(document).ready(function(){
	//Variables globales
	var inputUser = $("#id_compte");
	var inputMessage = $("#message");
	var loading = $("#loading");
	var messageList = $(".content > ul");
	
	//Fonction mettant à jour le rumeuroscope
	function updateShoutbox(){
		//Envoi la requête à la partie PHP
		$.ajax({
			type: "POST", url: "modules/mod_rumeuroscope/trait_rumeurs07.php", data: "action=update",
			complete: function(data){
				messageList.html(data.responseText);
				scrollbar();
			}
		});
	}
	
	//Fonction chargeant le rumeuroscope pour la première fois
	function loadShoutbox(){
		//Effet FadeIn
		messageList.hide();
		loading.fadeIn();
		//Envoie la requête à la partie PHP
		$.ajax({
			type: "POST", url: "modules/mod_rumeuroscope/trait_rumeurs07.php", data: "action=update",
			complete: function(data){
				loading.fadeOut();
				messageList.html(data.responseText);
				messageList.fadeIn(1000);
				scrollbar();
			}
		});
	}
	
	//Vérifie que les champs soient bien remplis
	function checkForm(){
		if(inputUser.attr("value") && inputMessage.attr("value"))
			return true;
		else
			return false;
	}
	
	//Charge pour la première fois le rumeuroscope
	loadShoutbox();
	//Active le submit en cas de réactualisation
	$("#send").attr({disabled: false,value: "Poster"});
	
	//Actualise toutes les 3secondes
	var reload=setInterval(updateShoutbox, 3000);
	
	//Ajout de 10 rumeurs
	$("#add_rum").live("click",function(){
		$.ajax({
			type: "POST", url: "modules/mod_rumeuroscope/trait_rumeurs07.php", data: "action=add_nbrum",
			complete: function(data){
				updateShoutbox();
				
			}
		});
	});
	
	//Au click sur submit
	$("#form_rum").submit(function(){
		if (checkForm()) {
			var id_compte = inputUser.attr("value");
			var message = inputMessage.attr("value");
			//On désactive le submit pendant le chargement
			$("#send").attr({
				disabled: true,
				value: "Patientez..."
			});
			$("#message").attr({
				value: ""
			});
			$("#send").blur();
			$("#send").css({
				backgroundColor: "#e4e4e4"
			});
			//Envoie la requête à la partie PHP
			$.ajax({
				type: "POST",
				url: "modules/mod_rumeuroscope/trait_rumeurs07.php",
				data: "action=insert&user=" + id_compte + "&message=" + message,
				complete: function(data){
				
					updateShoutbox();					
					
					//Réactive le bouton submit
					function antiflood(){
						$("#send").attr({
							disabled: false,
							value: "Poster"
						});
						$("#send").css({
							background: "none"
						});
					}
					setTimeout(antiflood, 7000);
				}
			});
		}
		else {
			alert("Rumeur vide");
		}
		//On empêche le spam
		return false;
	});
});