(function($) {
$.fn.defaultvalue = function() {
	// Scope
	var elements = this;
	var args = arguments;
	var c = 0;
	return(
	elements.each(function() {
	// Default values within scope
	var el = $(this);
	var def = args[c++];
	el.val(def).focus(function() {
		if(el.val() == def) {
			el.val("");
		}
		el.blur(function() {
			if(el.val() == "") {
				el.val(def);
			}
		});
	});
}));
}})(jQuery)

function str_replace(sujet,remplacant,chaine) {
	position = chaine.indexOf(sujet);
	retour = '';
	if (position == -1) return chaine;
	retour += chaine.substring(0,position) + remplacant;
	if (position + sujet.length < chaine.length)
	retour += str_replace(sujet,remplacant,chaine.substring(position + sujet.length,chaine.length));
	return retour;
}


// initialisation des configurations globales
var time_slide 	= 300;
var time_fade 	= 800;
var tool_open	= 0;
var isConnect	= 0;

// fonction de test des champs input
function estVide(champ) {
	if (null == champ || "" == champ)
	return true; 
	else
	return false; 
}

// fonction d'affichage de messages modal
function modal(msg,t){
	alert(msg);
}

// fonction d'insertion d'un nouveau post
function add_msg(){
	$("#button_post").click(function () {
	var name = $("#name").val();
	var categorie = $("#categorie").val();
	var identifiant = $("#identifiant").val();
	var mes = $("#mes").val();
	
	if (mes=="" || mes==" " || mes=="Votre message...")
	modal("L'un des champs obligatoires n'a pas été renseigné",1000);	
	else {
	$.ajax({
	type 	: 	"POST",
	url 	: 	"/page_action.php",
	data 	: 	"action=insert&message="+mes+"&pseudo="+name+"&categorie="+categorie+"&identifiant="+identifiant,
	success : 	function(contenu,etat){
					refresh_comment(1);
					$("#mes").val('');	
					if (contenu=="flood")
					modal("Mesure antiflood , vous devez attendre un instant avant de pouvoir poster à nouveaux.",1000);
					else if (contenu=="trop")
					modal("Votre message est trop long , racourcissez le",1000);
				}
	}).responseText;
	}
	});
}

// fonction d'appel et de rafraichissement des commentaires déja postés
function refresh_comment(page){
	var identifiant = $("#identifiant").val();
	var categorie = $("#categorie").val();
	// appel en synchrone car IE ne supporte pas la récupération de donnée en asynchrone (contrairement à tous les autres naviguateurs)
	var contenu = $.ajax({
	   type	: "POST",
	   url	: "/page_comment.php",
	   data	: "page="+page+"&categorie="+categorie+"&identifiant="+identifiant,
	   async : false
	}).responseText;
	 
	$('#container_comment').fadeOut(time_slide);
	setTimeout(function(){
	$('#container_comment').hide();
	$('#container_comment').html(contenu);
	$('#container_comment').fadeIn(time_slide);
	refresh_function();
	},time_slide);
}

// fonction de changement de page
function changerPage (){
	$(".changepage").click(function () {
		var page = 	$(this).attr('id');		 
		refresh_comment(page);						 
	});
}

// fonction de suppression des messages
function supprimerMessage(){
	$(".admDel").click(function () {					 
		id = $(this).attr("numero");							 
		$.ajax({
		   type	: "POST",
		   url	: "/page_action.php",
		   data	: "action=delete&id="+id
		});	
		$("#comment_"+id).fadeOut(300);
	});
}

// fonction de modification des messages
function modifierMessage(){
	$(".admModif").click(function () {
		var id= $(this).attr("numero");	
		var save = $("#comment_mes_"+id).html();							   
		save = str_replace("<br>","\n", save);
		
		$("#comment_mes_"+id).html('<textarea class="input_comment_mes" id="input_comment_mes">'+save+'</textarea>');
		$(".input_comment_mes").blur(function () {
			var message = $(".input_comment_mes").val();				 
			$.ajax({
			type	: "POST",
			data	: "action=update&id="+id+"&message="+message,
			url		: "/page_action.php"
			});
			var save = $(".input_comment_mes").val();
			save2 = str_replace("\n","<br>", save);
			$("#comment_mes_"+id).html(save2);
		});
	});
}

// fonction container , regroupant les fonction du niveaux de la page comment.php
function refresh_function(){
	changerPage();
	supprimerMessage();
	modifierMessage();
}

// lancement de la fonction principale
$(document).ready(function(){
	$("#loader").ajaxStart(function(){$(this).hide();});
	$("#loader").ajaxStop(function(){$(this).hide();});
	$("#mes").defaultvalue("Votre message...");
	refresh_comment(1);
	add_msg();
});
