$(document).ready(function(){
	//Logo
	/*$("img#logo").hover(
		function(){
			$("img#logo").fadeOut(500, function() {
				$("img#logo").attr("src", "images/interface/header_logo_lighted.png");
			});
			$("img#logo").fadeIn(800);
		},
		function(){
			$("img#logo").fadeOut(500, function() {
				$("img#logo").attr("src", "images/interface/header_logo.png");
			});
			$("img#logo").fadeIn(800);
		}
	);*/
	//carousel
	$('#last_pictures').show().jcarousel({visible: 4, scroll: 4});
	$('#liste_liens').show().jcarousel({visible: 4, scroll: 4, vertical: true, auto: 3, wrap: 'both'});

	//Navigateur
	if($.browser.msie) {
		$.jGrowl("Ce site n'est pas optimisé pour Internet Explorer.<br />\n\
			Passez dès maintenant à un navigateur tel que <a href='http://www.mozilla-europe.org/fr/firefox/' target='_blank'>Firefox</a> (gratuit) \n\
			et re-découvrez le Web !",
			{sticky: false, life: 5000, header: "Information"}
		);
		if($.browser.version.substr(0,1) == '6') {
			$(this).find("img[src$=masque.png]").each(function() {
				$(this).attr('src', 'images/categories/masque.gif');
			});
			$(this).find("img[src$=header_logo_3beta.png]").each(function() {
				$(this).attr('src', 'images/interface/header_logo_3beta.gif');
			});
		}
	}

	//Opacité galeries
	$("#galerie table a").hover(function() {
		$(this).css("opacity", "0.75");
	}, function() {
		$(this).css("opacity", "1");
	});

	//Faux zoom pour les non-inscrits
	$(".fakeZoom").livequery('click',
		function(){
			$.jGrowl("Il faut être inscrit pour pouvoir regarder les photos des membres en taille maximale !",
				{sticky: false, header: "Information"}
			);
		}
	);
	$(".fakeFavoris").livequery('click',
		function(){
			$.jGrowl("Il faut être inscrit pour pouvoir ajouter des favoris !",
				{sticky: false, header: "Information"}
			);
		}
	);

	//Changer de sexe / catégorie
	$(".change_cat > select[name='sexe']").change(
		function(){
			var select = $(this);
			var id_p = select.siblings("input[name='id_p']").val();
			var fichier = select.siblings("input[name='fichier']").val();
			var new_sexe = select.val();
			var newSexeTXT = select.children("option:selected").text();
			$.getJSON(URL_SCRIPT+"ajax/smallrequest.php",
				{"do" : "changeSexePhoto", "id_p": id_p, "sexe" : new_sexe},
				function(data){
					if(data.ok == true) {
						$.jGrowl("<img src='images/miniatures/" + fichier + "' style='width: 50px; height: 50px; float: left; margin-right: 5px;' /> \n\
							Changement de sexe de la photo n°" + id_p + "<br />Maintenant : " + newSexeTXT,
							{header: "<img src='"+URL_SCRIPT+"images/logo.png' />"}
						);
						select.siblings("select[name='categorie']").hide("normal");
					}
					else {
						$.jGrowl("Erreur lors du changement de catégorie de la photo n°" + id_p, {header: "<img src='"+URL_SCRIPT+"images/logo.png' />"});
					}
				}
			);
		}
	);
	$(".change_cat > select[name='categorie']").change(
		function(){
			var id_p = $(this).siblings("input[name='id_p']").val();
			var fichier = $(this).siblings("input[name='fichier']").val();
			var new_cat = $(this).val();
			var newCatTXT = $(this).children("option:selected").text();
			$.getJSON(URL_SCRIPT+"ajax/smallrequest.php",
				{"do" : "changeCatPhoto", "id_p": id_p, "cat" : new_cat},
				function(data){
					if(data.ok == true) {
						$.jGrowl("<img src='images/miniatures/" + fichier + "' style='width: 50px; height: 50px; float: left; margin-right: 5px;' /> \n\
							Changement de la categorie de la photo n°" + id_p + "<br />Maintenant : " + newCatTXT,
							{header: "<img src='"+URL_SCRIPT+"images/logo.png' />"}
						);
					}
					else {
						$.jGrowl("Erreur lors du changement de catégorie de la photo n°" + id_p, {header: "<img src='"+URL_SCRIPT+"images/logo.png' />"});
					}
				}
			);
		}
	);

	//Suppression de photo
	$(".delete_photo").click(
		function(){
			var sup = confirm("Voulez-vous vraiment supprimer cette photo ?");
			if(sup) {
				var id_p = $(this).siblings("input[name='id_p']").val();
				$.getJSON(URL_SCRIPT+"ajax/delete_photo.php",
					{"id_p": id_p},
					function(data){
						if(data.ok == true) {
							$.jGrowl("Suppression de la photo n°" + id_p + " effectuée", {header: "<img src='"+URL_SCRIPT+"images/logo.png' />"});
							$("#photo_"+id_p).fadeOut(1000, function(){
								$(this).remove();
							})
						}
						else {
							$.jGrowl("Erreur lors de la suppression de la photo n°" + id_p, {header: "<img src='"+URL_SCRIPT+"images/logo.png' />"});
						}
				  });
			}
		}
	);

	//Suppression de MP
	$(".delete_mp").click(
		function(){
			var bouton = $(this);
			var sup = confirm("Voulez-vous vraiment supprimer cet message ?");
			if(sup) {
				var id_mp = bouton.siblings("input[name='id_mp']").val();
				var lu = bouton.siblings("input[name='lu']").val();
				$.getJSON(URL_SCRIPT+"ajax/smallrequest.php",
					{"do" : "deleteMP", "id_mp" : id_mp},
					function(data){
						if(data.ok == true) {
							$.jGrowl("Suppression du MP n°" + id_mp + " effectuée", {header: "<img src='"+URL_SCRIPT+"images/logo.png' />"});
							if($("input#type_boite").val() == 'r' && (lu == '0' || lu == '')) {
								var nb_mp = parseInt($("#nb_mp").html());
								$("#nb_mp").html(nb_mp-1);
							}
							$("#mp_"+id_mp).fadeOut(1000, function(){
								$(this).remove();
							})
						}
						else {
							$.jGrowl("Erreur lors de la suppression du MP n°" + id_mp, {header: "<img src='"+URL_SCRIPT+"images/logo.png' />"});
						}
				  });
			}
		}
	);

	//Envoi de MP
	$("#mp_write input.send_mp").livequery('click',
		function(){
			var cSubmit = $("#mp_write input.send_mp");
			var cPseudoDest = $("#mp_write input[name='pseudo_dest']");
			var cObjet = $("#mp_write input[name='objet']");
			var cTexte = $("#mp_write textarea[name='message']");
			//var texte = $("#mp_write textarea[name='message']").val();

			if(cPseudoDest.val().length == 0) alert('Ajoutez un destinataire au message');
			else if(cObjet.val().length == 0) alert('L\'objet du message est vide');
			else if(cTexte.val().length == 0) alert('Votre texte est vide');
			else {
				//Loading
				$("#mp_write #loadingWriteMP").show();
				cPseudoDest.attr("disabled", "disabled");
				cObjet.attr("disabled", "disabled");
				cTexte.attr("disabled", "disabled");
				cSubmit.attr("disabled", "disabled");
				
				//vérification du pseudo
				$.getJSON(URL_SCRIPT+"ajax/smallrequest.php",
					{"do": "getIdFromPseudo", "pseudo" : cPseudoDest.val()},
					function(data){
						if(data.ok == true) {
							//envoi du message
							$.getJSON(URL_SCRIPT+"ajax/smallrequest.php",
								{"do": "sendMP", "id_r" : data.id_m, "objet" : cObjet.val(), "texte" : cTexte.val()},
								function(dataSend){
									if(dataSend.ok == true) {
										$.jGrowl("L'envoi du Message Privé à "+cPseudoDest.val()+" s'est bien déroulé !", {header: "<img src='"+URL_SCRIPT+"images/logo.png' />"});
										//on cache la boite d'ecriture
										tb_remove();
									}
									else {
										$.jGrowl("Erreur lors de l'envoi du Message Privé... Raison Inconnue :(", {header: "<img src='"+URL_SCRIPT+"images/logo.png' />"});
										$("#mp_write #loadingWriteMP").hide();
										cPseudoDest.attr("disabled", "");
										cObjet.attr("disabled", "");
										cTexte.attr("disabled", "");
										cSubmit.attr("disabled", "");
									}
							});
						}
						else {
							alert('Le pseudo donné n\'existe pas !');
							$("#mp_write #loadingWriteMP").hide();
							cPseudoDest.attr("disabled", "");
							cObjet.attr("disabled", "");
							cTexte.attr("disabled", "");
							cSubmit.attr("disabled", "");
						}
				});
			}
		}
	);

	//Perte MDP
	$("#perte_mdp input[name='submit']").livequery( 'click',
		function(){
			var email = $("#perte_mdp input[name='perte_email']").val();
			if(email.length > 0) {
				$("#perte_mdp #loadingPerteMdp").show();
				$.getJSON(URL_SCRIPT+"ajax/smallrequest.php",
					{"do" : "perteMDP", "email": email}, 
					function(data){
						if(data.ok == true) {
							$.jGrowl("Ton mot de passe a été changé et un mail t'as été envoyé", {header: "<img src='"+URL_SCRIPT+"images/logo.png' />"});
						}
						else {
							$.jGrowl("Erreur lors du renouvellement de ton mot de passe :(", {header: "<img src='"+URL_SCRIPT+"images/logo.png' />"});
							//if(data.error.length > 0) alert(data.error);
						}
						$("#perte_mdp #loadingPerteMdp").hide();
					}
				);
			}
			else alert("Il faut entrer ton adresse mail !");
		}
	);


	//Bloquer un utilisateur
	$("img.block_user").livequery('click',
		function(){
			var id_b = $(this).siblings("input[name='id_m']").val();
			$(this).hide();
			$.getJSON(URL_SCRIPT+"ajax/smallrequest.php",
				{"do" : "blockUser", "id_b": id_b},
				function(data){
					if(data.ok == true) {
						if($("ul#membres_bloques #membre_"+id_b).length == 0) {
							$.jGrowl("Le membre "+data.pseudo+" a bien été bloqué", {header: "<img src='"+URL_SCRIPT+"images/logo.png' />"});
							$("ul#membres_bloques").append("<li id=\"membre_"+id_b+"\">"+data.pseudo+"</li>");
						}
						else {
							$.jGrowl("Le membre "+data.pseudo+" est déjà bloqué", {header: "<img src='"+URL_SCRIPT+"images/logo.png' />"});
						}
					}
					else {
						$.jGrowl("Erreur lors de la tentative de bloquage :(", {header: "<img src='"+URL_SCRIPT+"images/logo.png' />"});
					}
			  });
		}
	);

	//Débloquer un utilisateur
	$("ul#membres_bloques li").livequery('click',
		function(){
			var id_html = $(this).attr("id");
			var id_b = id_html.substr(7, id_html.length);
			$.getJSON(URL_SCRIPT+"ajax/smallrequest.php",
				{"do" : "deblockUser", "id_b": id_b},
				function(data){
					if(data.ok == true) {
						$("ul#membres_bloques #membre_"+id_b).hide();
						$.jGrowl("Le membre "+data.pseudo+" a bien été débloqué", {header: "<img src='"+URL_SCRIPT+"images/logo.png' />"});
					}
					else {
						$.jGrowl("Erreur lors de la tentative de débloquage :(", {header: "<img src='"+URL_SCRIPT+"images/logo.png' />"});
					}
			  });
		}
	);

	/**
	 * Gestion des favoris
	 */
	//Ajouter un favoris
	$(".add_favoris").livequery('click',
		function(){
			var id_f = $(".add_favoris input[name='id_f']").val();
			$(this).hide();
			$.getJSON(URL_SCRIPT+"ajax/smallrequest.php",
				{"do" : "addFavoris", "id_f": id_f},
				function(data){
					if(data.ok == true) {
						$.jGrowl("Le membre "+data.pseudo+" a bien été ajouté à tes favoris", {header: "<img src='"+URL_SCRIPT+"images/logo.png' />"});
					}
					else {
						$.jGrowl("Erreur lors de la tentative d'ajout à tes favoris :(", {header: "<img src='"+URL_SCRIPT+"images/logo.png' />"});
					}
			  });
		}
	);

	//Supprimer un favoris
	$(".delete_favoris").livequery('click',
		function(){
			var id_f = $(".delete_favoris input[name='id_f']").val();
			$(this).hide();
			$.getJSON(URL_SCRIPT+"ajax/smallrequest.php",
				{"do" : "deleteFavoris", "id_f": id_f},
				function(data){
					if(data.ok == true) {
						$.jGrowl("Le membre "+data.pseudo+" a bien été supprimé de tes favoris", {header: "<img src='"+URL_SCRIPT+"images/logo.png' />"});
					}
					else {
						$.jGrowl("Erreur lors de la tentative de suppression :(", {header: "<img src='"+URL_SCRIPT+"images/logo.png' />"});
					}
			  });
		}
	);

	/**
	 * Gestion des commentaires
	 */
	//Ajouter un commentaire
	$("#add_com input[name='add_com']").livequery('click',
		function(){
			var cSubmit = $(this);
			var form = cSubmit.parents("#add_com");
			var id_p = form.find("input[name='id_p']").val();
			var cPseudoInvite = form.find("input[name='invite']");
			var pseudoInvite = "";
			var cImageVerif = form.find("input[name='valeur_image']");
			var imageVerif = "";
			var cTexte = form.find("textarea[name='commentaire']");
			
			var isInvite = false;
			if(form.find("input[name='invite']").length > 0) isInvite = true;

			var suivre = false;
			if(!isInvite) suivre = form.find("input[name='activer_suivi']").is(':checked');
			
			if(cTexte.val().length == 0) alert("Tu veux envoyer un commentaire sans texte ?"+cTexte.val());
			else if(isInvite && cPseudoInvite.val().length < 3) {
				alert("Il faut que tu rentre un pseudo de 3 caractères au minimum");
			}
			else {
				//On bloque l'accès au formulaire
				cTexte.attr("disabled", "disabled");
				if(isInvite) {
					cPseudoInvite.attr("disabled", "disabled");
					cImageVerif.attr("disabled", "disabled");
				}
				cSubmit.attr("disabled", "disabled");
				form.find("#loadingSaveCom").show();
				
				if(isInvite) {
					pseudoInvite = cPseudoInvite.val();
					imageVerif = cImageVerif.val();
				} 
				
				$.getJSON(URL_SCRIPT+"ajax/smallrequest.php",
					{"do" : "addCom", "pseudoInvite" : pseudoInvite, "valeur_image" :  imageVerif, "id_p" : id_p, "texte" : cTexte.val(), "suivre" : (suivre == true)},
					function(data){
						if(data.ok == true) {
							//TODO : Affichage du com

							form.hide();
							$("#new_com").load(URL_SCRIPT+"ajax/formatNewCom.php", {id_c: data.id_c});
							$.jGrowl("Le commentaire a bien été ajouté", {header: "<img src='"+URL_SCRIPT+"images/logo.png' />"});
						}
						else {
							if(data.wait > 0) {
								$.jGrowl("Merci d'attendre encore " + data.wait + " secondes avant de poster le commentaire", {header: "<img src='"+URL_SCRIPT+"images/logo.png' />"});
							}
							else if(data.pseudoExists == true) {
								alert("Ce pseudo existe déjà. Il faut donc en choisir un autre !");
							}
							else if(data.imageFalse == true) {
								alert("Vous avez mal recopié l'image affichée");
							}
							else {
								$.jGrowl("Erreur lors de l'ajout du commentaire :(", {header: "<img src='"+URL_SCRIPT+"images/logo.png' />"});
							}
							
							//On libère le formulaire dans tous les cas
							cTexte.attr("disabled", "");
							if(isInvite) {
								cImageVerif.attr("disabled", "");
								cPseudoInvite.attr("disabled", "");
							}
							cSubmit.attr("disabled", "");
							form.find("#loadingSaveCom").hide();
						}
					}
				);
			}
		}
	);

	//Suivre un commentaire
	$("img.gerer_suivi").livequery('click',
		function(){
			var image = $("img.gerer_suivi");
			var id_p = image.siblings("input[name='id_p']").val();
			var cSuivre = image.siblings("input[name='suivre']");
			var suivre = cSuivre.val();

			$.getJSON(URL_SCRIPT+"ajax/smallrequest.php",
				{"do" : "gererSuivi", "id_p": id_p, "suivre": suivre},
				function(data){
					if(data.ok == true) {
						if(suivre == '1') image.attr("src", image.attr("src").replace("red", "green"));
						else image.attr("src", image.attr("src").replace("green", "red"));
						var next = (suivre == '1') ? 0 : 1;
						cSuivre.val(next);
						
						$.jGrowl("Le suivi de la photo a bien été modifié", {header: "<img src='"+URL_SCRIPT+"images/logo.png' />"});
					}
					else {
						$.jGrowl("Impossible de modifier le suivi sur cette photo :(", {header: "<img src='"+URL_SCRIPT+"images/logo.png' />"});
					}
			  });
		}
	);

	$("img.faq_item").click(
		function(){
			var id_item = $(this).attr('alt');
			$.getJSON(URL_SCRIPT+"faq.php",
				{"item" : id_item},
				function(data){
					if(data.ok == true) {
						$.jGrowl(data.reponse, {header: data.question, sticky: true});
					}
					else {
						$.jGrowl("Erreur :(", {header: "<img src='"+URL_SCRIPT+"images/logo.png' />"});
					}
				}
			);
		}
	);

	/************************
	 *    Administration    *
	 ************************/
	//Regeneration de miniature
	$("img.genere_thumb").click(
		function(){
			var id_p = $(this).siblings("input[name='id_p']").val();
			$.getJSON(URL_SCRIPT+"ajax/admin.php",
				{"do" : "genereThumb", "id_p": id_p},
				function(data){
					if(data.ok == true) {
						$.jGrowl("La miniature de la photo "+id_p+" a bien été générée", {header: "<img src='"+URL_SCRIPT+"images/logo.png' />"});
					}
					else {
						$.jGrowl("Erreur lors de la tentative de regenération de miniature :(", {header: "<img src='"+URL_SCRIPT+"images/logo.png' />"});
					}
				}
			);
		}
	);

	//Suppression d'un commentaire
	$("img.delete_com").livequery('click',
		function(){
			var id_c = $(this).siblings("input[name='id_c']").val();
			var id_m = $(this).siblings("input[name='id_m']").val();
			$.getJSON(URL_SCRIPT+"ajax/admin.php",
				{"do" : "deleteCom", "id_m": id_m, "id_c": id_c},
				function(data){
					if(data.ok == true) {
						$.jGrowl("Le commentaire a bien été supprimé", {header: "<img src='"+URL_SCRIPT+"images/logo.png' />"});
						$("#com_"+id_c).hide("slow");
					}
					else {
						$.jGrowl("Erreur lors de la tentative de suppression de commentaire :(", {header: "<img src='"+URL_SCRIPT+"images/logo.png' />"});
					}
				}
			);
		}
	);

	/**
	 * GESTION DES TAGS
	 */

	//Suppression d'un tag
	$("#gererTags img.delete_tag").livequery('click',
		function(){
			var id_t = $(this).parent("span");
			id_t = id_t.attr("id").substr(4, id_t.attr("id").length);
			var id_p = $("#gererTags input[name='id_p']").val();

			$.getJSON(URL_SCRIPT+"ajax/smallrequest.php",
				{"do" : "deleteTag", "id_t": id_t, "id_p": id_p},
				function(data){
					if(data.ok == true) {
						$.jGrowl("Le tag a bien été supprimé", {header: "<img src='"+URL_SCRIPT+"images/logo.png' />"});
						$("#tag_"+id_t).hide();
					}
					else {
						$.jGrowl("Erreur lors de la tentative de suppression du tag :(", {header: "<img src='"+URL_SCRIPT+"images/logo.png' />"});
					}
				}
			);
		}
	);

	//Ajouter un tag
	$("#gererTags img.add_tag").livequery('click',
		function(){
			var id_p = $("#gererTags input[name='id_p']").val();
			var tag_str = $("#gererTags input[name='new_tag']").val();

			if(tag_str.length == 0) alert("Il faut rentrer un ou des tags, séparés par des virgules");
			else {
				$.getJSON(URL_SCRIPT+"ajax/smallrequest.php",
					{"do" : "addTag", "tags_str": tag_str, "id_p": id_p},
					function(data){
						if(data.ok == true) {
							$.jGrowl("Les tags ont bien été ajouté.<br />Rafraichissez la page pour les voir.", {header: "<img src='"+URL_SCRIPT+"images/logo.png' />"});
							$("#gererTags input[name='new_tag']").val("");
						}
						else {
							$.jGrowl("Erreur lors de la tentative d'ajout de tags :(", {header: "<img src='"+URL_SCRIPT+"images/logo.png' />"});
						}
					}
				);
			}
		}
	);
		

//fin ready()
});

