
   NS4 = (document.layers) ? 1 : 0;
   IE4 = (document.all) ? 1 : 0;
   if (!IE4)
      MOZ = (document.getElementById) ? 1 : 0;
   else
      MOZ=0;

   function showById (name) {
      jQuery("#" + name).show();
   }

   function hideById (name) {
      jQuery("#" + name).hide();
   }

	function loadImage(name,image) {
	    el = document.getElementById(name);
	    if(jQuery(el).find("img.js_img_loaded").size() == 0) {
		  el.innerHTML = '<img class="js_img_loaded" src="' + image + '" border="0">';
		}
	}

	function showtrail(name,image){
		jQuery("#" + name).show();
		setTimeout("loadImage('"+name+"','"+image+"')",1000);
	}

   function showError (name) {
	  var y=100;//(screen.height)/2;
	  var x=400;//(screen.width)/2;
      if (NS4) {
         document.layers[name].xpos = parseInt(x);
         document.layers[name].left = parseInt(x);
         document.layers[name].ypos = parseInt(y);
         document.layers[name].top = parseInt(y);
         document.layers[name].visibility = "show";
      }
      if (IE4) {
         document.all[name].style.left = self.document.body.scrollLeft + parseInt(x);
         document.all[name].style.top = self.document.body.scrollTop + parseInt(y);
         document.all[name].style.visibility = "visible";
      }
      if (MOZ) {
         document.getElementById(name).style.left = parseInt(x);
         document.getElementById(name).style.top = parseInt(y);
         document.getElementById(name).style.visibility = "visible";
      }
   }


	function afficheSelect(toThis) {
		if (document.all) {
			document.all["select_all"].innerHTML = toThis;
		} else if (document.getElementById) {
			document.getElementById("select_all").innerHTML = toThis;
		}
	}

	function rollover(id,image) {
		el = document.getElementById(id);
		el.src = image;
	}

    function toggleById(id) {
		el = document.getElementById(id);
		var display = el.style.display ? '' : 'none';
		el.style.display = display;
	}

	function toggle_ajout(id) {
		toggleById(id);
	}

	var old_id_toggle_modif = '' ;
	function toggle_modif(id) {
		if ( old_id_toggle_modif != '' && old_id_toggle_modif!=id) {
			// on ferme celui qui est deja ouvert....
			toggleById(old_id_toggle_modif);
		}
		// on ouvre ou on ferme l'element id !!
		toggleById(id);
		// maj old_id_toggle_modif
		old_id_toggle_modif = ( id == old_id_toggle_modif )?'':id ;
	}

	function ouvrir_fermer(numero) {
		el = document.getElementById('description_' + numero);
		el.style.display = el.style.display ? '' : 'none';
		el = document.getElementById('ouvrir_fermer_' + numero);
		el.className = el.className=='ic_ouvert'?'ic_ferme':'ic_ouvert';
		el = document.getElementById('modif_' + numero);
		el.style.display = 'none';
	}

	function ouvrir_fermer_contact(numero) {
		el = document.getElementById('detail_contact_' + numero);
		el.style.display = el.style.display ? '' : 'none';
		el = document.getElementById('ouvrir_fermer_contact_' + numero);
		el.className = el.className=='ic_ouvert_contact'?'ic_ferme_contact':'ic_ouvert_contact';
		el = document.getElementById('modif_contact_' + numero);
		if(el && el.style && el.style.display) {
            el.style.display = 'none';
        }
	}

	var _tab_contact = new Array();
	function iframe_ajouter_contact(mail){
		for(i=0;i<parent._tab_contact.length;i++) {
			if ( parent._tab_contact[i]==mail) {
				alert('Le Mel [' + mail +'] est déjà dans la liste des destinataires');
				return false;
			}
		}
		parent._tab_contact[i] = mail ;
		el = top.document.getElementById("list_destinataires") ;
		el.innerHTML = el.innerHTML + "<br/>" + mail ;
		alert('Le Mel [' + mail +'] a été ajouté à la liste des destinataires');
	}

	function ajouter_contact(mail) {
		if ( VerifMail(mail) ) {
			for(i=0;i<_tab_contact.length;i++) {
				if ( _tab_contact[i]==mail) {
					alert('Le Mel [' + mail +'] est déjà dans la liste des destinataires');
					return false;
				}
			}
			_tab_contact[i] = mail ;
			el = document.getElementById("list_destinataires") ;
			el.innerHTML = el.innerHTML + "<br/>" + mail ;
			alert('Le Mel [' + mail +'] a été ajouté à la liste des destinataires');
		} else {
			alert('Le Mel n\'est pas valide');
		}
	}

	function init_contact() {
		el = document.getElementById("list_destinataires") ;
		el.innerHTML = "" ;
		for(i=0;i<_tab_contact.length;i++) {
			_tab_contact[i]="" ;
		}
	}

	function supprimer_contact() {
		init_contact();
		alert('La liste des destinataires a été vidée');
	}

	function lancerRecherche(form,fct){
		// Test de Sélection groupes, structures, fonctions
		structures_selected=false;
		for(i=0;i<form.structures_id.length;i++){
			if(form.structures_id.options[i].selected==true && form.structures_id.options[i].value>0){
				structures_selected=true;
				break;
			}
		}
		groupes_selected=false;
		for(i=0;i<form.groupes_id.length;i++){
			if(form.groupes_id.options[i].selected==true && form.groupes_id.options[i].value>0){
				groupes_selected=true;
				break;
			}
		}
		fonctions_selected=false;
		if ( fct ) {
			for(i=0;i<form.fonctions_id.length;i++) {
				if(form.fonctions_id.options[i].selected==true && form.fonctions_id.options[i].value>0){
					fonctions_selected=true;
					break;
				}
			}
		}
		if ( form.contenu.value=='') {
			if (!structures_selected && !groupes_selected && !fonctions_selected){
				alert("Vous devez renseigner le formulaire de recherche");
				form.contenu.focus();
				return false;
			}
		} else {
            if (!form.recherche_contact_nom.checked &&  !form.recherche_contact_prenom.checked) {
                form.recherche_contact_nom.checked = true;
                form.recherche_contact_prenom.checked = true;
    		}
		}

		if (!form.recherche_contact_nom.checked &&  !form.recherche_contact_prenom.checked) {
			if (!structures_selected && !groupes_selected && !fonctions_selected){
			alert("Vous devez renseigner un critère de recherche");
			return false;
		}
		}
		el = document.getElementById("resultat") ;
		el.style.display = "";

		form.submit();
	}

	function lancerRechercheRepertoire(form){
		// Test de Sélection groupes, structures, fonctions
		structures_selected=false;
		for(i=0;i<form.structures_id.length;i++){
			if(form.structures_id.options[i].selected==true && form.structures_id.options[i].value>0){
				structures_selected=true;
				break;
			}
		}
		fonctions_selected=false;
		for(i=0;i<form.fonctions_id.length;i++) {
			if(form.fonctions_id.options[i].selected==true && form.fonctions_id.options[i].value>0){
				fonctions_selected=true;
				break;
			}
		}
		if ( form.contenu.value=='') {
			if (!structures_selected && !fonctions_selected){
				alert("Vous devez renseigner le formulaire de recherche");
				form.contenu.focus();
				return false;
			}
		} else {
            if (!form.recherche_repertoire_nom.checked &&  !form.recherche_repertoire_prenom.checked) {
                form.recherche_repertoire_nom.checked = true;
                form.recherche_repertoire_prenom.checked = true;
    		}
		}

		if (!form.recherche_repertoire_nom.checked &&  !form.recherche_repertoire_prenom.checked) {
			if (!structures_selected && !fonctions_selected){
			alert("Vous devez renseigner un critère de recherche");
			return false;
		}
		}
		el = document.getElementById("resultat") ;
		el.style.display = "";

		form.submit();
	}
	
	var _nb_check_groupes = 0 ;
	function check_groupes(id,nb) {
		if ( document.getElementById(id).checked == true ) {
			_nb_check_groupes+=nb;
		} else {
			_nb_check_groupes-=nb;
		}
		document.getElementById("nb_check_groupes").innerHTML = "(" + _nb_check_groupes + ")";
	}

	var _nb_check_fonctions = 0 ;
	function check_fonctions(id,nb) {
		if ( document.getElementById(id).checked == true ) {
			_nb_check_fonctions+=nb;;
		} else {
			_nb_check_fonctions-=nb;
		}
		document.getElementById("nb_check_fonctions").innerHTML = "(" + _nb_check_fonctions + ")";
	}

	var _nb_check_structures = 0 ;
	function check_structures(id,nb) {
		if ( document.getElementById(id).checked == true ) {
			_nb_check_structures+=nb;
		} else {
			_nb_check_structures-=nb;
		}
		document.getElementById("nb_check_structures").innerHTML = "(" + _nb_check_structures + ")";
	}

	function VerifMail(mail) {
		var place   = mail.indexOf("@",1);
		var point   = mail.indexOf(".",place+1);
		if ((place > -1)&&(mail.length >2)&&(point > 1)) {
			return true;
		}
		return false ;
	}

	/************************************************/
	var val_checked = true ;
	function select_all() {
		var nb  = document.formulaire_select.nb_select.value ;
		for (j=0;j<nb;j++) {
			box = eval("document.formulaire_select" + j + ".id" + j);
			box.checked = val_checked;
		}
		val_checked = !val_checked ;
		if ( val_checked == true ) {
			afficheSelect("Tout sélectionner") ;
		} else {
			afficheSelect("Tout désélectionner") ;
		}
		return true ;
	}

	function DeleteListItem() {
		var nb  = document.formulaire_select.nb_select.value ;
		document.formulaire_select.select.value = '';
		for (j=0;j<nb;j++) {
			box = eval("document.formulaire_select" + j + ".id" + j);
			if ( box.checked == true ) {
				document.formulaire_select.select.value += box.value + "|"  ;
			}
		}
		if ( document.formulaire_select.select.value != '' ) {
			ans=window.confirm('Suppression ?');
			if(ans)	{
				document.formulaire_select.submit();
				return true;
			}
		}
		return false;
	}

	/************************************************/
	var val_checked_2 = true ;
	function afficheSelect_2(toThis) {
		if (document.all) {
			document.all["select_all_2"].innerHTML = toThis;
		} else if (document.getElementById) {
			document.getElementById("select_all_2").innerHTML = toThis;
		}
	}

	function select_all_2() {
		var nb  = document.formulaire_select_2.nb_select_2.value ;
		for (j=0;j<nb;j++) {
			box = eval("document.formulaire_select_2_" + j + ".id" + j);
			box.checked = val_checked;
		}
		val_checked = !val_checked ;
		if ( val_checked == true ) {
			afficheSelect_2("Tout sélectionner") ;
		} else {
			afficheSelect_2("Tout désélectionner") ;
		}
		return true ;
	}

	function DeleteListItem_2() {
		var nb  = document.formulaire_select_2.nb_select_2.value ;
		document.formulaire_select_2.select_2.value = '';
		for (j=0;j<nb;j++) {
			box = eval("document.formulaire_select_2_" + j + ".id" + j);
			if ( box.checked == true ) {
				document.formulaire_select_2.select_2.value += box.value + "|"  ;
			}
		}
		if ( document.formulaire_select_2.select_2.value != '' ) {
			ans=window.confirm('Suppression ?');
			if(ans)	{
				document.formulaire_select_2.submit();
				return true;
			}
		}
		return false;
	}

	function checkNum(str) {
		if (str == "") {
			return false;
		}
		for (var i = 0; i < str.length; i++) {
			var ch = str.substring(i, i + 1);
			if ((ch < "0" || ch > "9") && ch!="") {
				return false;
			}
		}
		return true;
	}

	function AdminAjoutFonctions(form) {
		if ( form.libelle.value == '' ) {
			alert('Le libelle est vide');
			form.libelle.focus();
			return false;
		}
		if ( form.ordre.value != '' ) {
			if (checkNum(form.ordre.value)==false) {
				alert('L\'ordre n\'est pas valide');
				form.ordre.value='';
				form.ordre.focus();
				return false;
			}
		}

		form.submit();
	}

	function AdminMajFonctions(form) {
		if ( form.libelle.value == '' ) {
			alert('Le libelle est vide');
			form.libelle.focus();
			return false;
		}
		if ( form.ordre.value != '' ) {
			if (checkNum(form.ordre.value)==false) {
				alert('L\'ordre n\'est pas valide');
				form.ordre.value='';
				form.ordre.focus();
				return false;
			}
		}
		form.submit();
	}

	function AdminAjoutRubriques(form) {
		if ( form.libelle.value == '' ) {
			alert('Le libelle est vide');
			form.libelle.focus();
			return false;
		}
		if ( form.espaces_id[form.espaces_id.selectedIndex].value == 0 ) {
			alert('L\'espace n\'est pas renseigné');
			form.espaces_id.focus();
			return false;
		}
		form.submit();
	}

	function AdminMajRubriques(form) {
		if ( form.libelle.value == '' ) {
			alert('Le libelle est vide');
			form.libelle.focus();
			return false;
		}
		if ( form.espaces_id[form.espaces_id.selectedIndex].value == 0 ) {
			alert('L\'espace n\'est pas renseigné');
			form.espaces_id.focus();
			return false;
		}
		form.submit();
	}

	function AdminMajUtilisateurs(form,tailleMinMdp,tailleMinLogin) {
		var login = form.identifiant.value;
		var mot_de_passe =form.mdp.value;

		if ( form.nom.value=='') {
			alert('Le nom est vide');
			form.nom.focus();
			return false;
		}
		if ( form.prenom.value=='') {
			alert('Le prénom est vide');
			form.prenom.focus();
			return false;
		}
		if (form.mdp.value=='' ) {
			alert('le champ mot de passe est vide.');
			form.mdp.focus();
			return false;
		}
		if (form.email.value != '') {
			if ( !VerifMail(form.email.value) ) {
				alert("Le Mel n\'est pas valide");
				form.email.focus();
				return false;
			}
		}
		if(login.length<tailleMinLogin){
			alert('L\'identifiant doit comporter au moins '+tailleMinLogin+' caractères');
			return false
		}
		if (form.mdp.value!=form.mdp_md5.value ) {
			if(mot_de_passe.length<tailleMinMdp){
				alert('Le mot de passe doit comporter au moins '+tailleMinMdp+' caractères');
				return false
			}
			//si la valeur est différent : on a retapé le mots de passe
				form.mdp_md5.value = MD5(form.mdp.value);
				form.mdp.value = '';
		}
		form.submit();
	}

	function AdminAjoutUtilisateurs(form,tailleMinMdp,tailleMinLogin) {
		var mot_de_passe=form.mdp.value;
		var login= form.identifiant.value;
		if ( form.nom.value=='') {
			alert('Le nom est vide');
			form.nom.focus();
			return false;
		}
		if ( form.prenom.value=='') {
			alert('Le prénom est vide');
			form.prenom.focus();
			return false;
		}
		if (form.mdp.value==''){
			alert('le champ mot de passe est vide.');
			form.mdp.focus();
			return false;
		}
		if (form.email.value != '') {
			if ( !VerifMail(form.email.value) ) {
				alert("Le Mel n\'est pas valide");
				form.email.focus();
				return false;
			}
		}
		if(login.length<tailleMinLogin){
			alert('L\'identifiant doit comporter au moins '+tailleMinLogin+' caractères');
			return false
		}
		if(mot_de_passe.length<tailleMinMdp){
			alert('Le mot de passe doit comporter au moins '+tailleMinMdp+' caractères');
			return false
		}
		form.mdp_md5.value=MD5(form.mdp.value);
		form.mdp.value='';
		form.submit();
	}


	function AdminAjoutGroupes(form) {
		if ( form.libelle.value == '' ) {
			alert('Le libelle est vide');
			form.libelle.focus();
			return false;
		}
		if (form.email.value != '') {
			if ( !VerifMail(form.email.value) ) {
				alert("Le Mel n\'est pas valide");
				form.email.focus();
				return false;
			}
		}
		if ( form.ordre.value != '' ) {
			if (checkNum(form.ordre.value)==false) {
				alert('L\'ordre n\'est pas valide');
				form.ordre.value='';
				form.ordre.focus();
				return false;
			}
		}
		form.submit();
	}

	function AdminMajGroupes(form) {
		if ( form.libelle.value == '' ) {
			alert('Le libelle est vide');
			form.libelle.focus();
			return false;
		}

		if (form.email.value != '') {
			if ( !VerifMail(form.email.value) ) {
				alert("Le Mel n\'est pas valide");
				form.email.focus();
				return false;
			}
		}

		if ( form.ordre.value != '' ) {
			if (checkNum(form.ordre.value)==false) {
				alert('L\'ordre n\'est pas valide');
				form.ordre.value='';
				form.ordre.focus();
				return false;
			}
		}

		form.submit();
	}

	function AdminAjoutStructures(form) {
		if ( form.libelle.value == '' ) {
			alert('Le libelle est vide');
			form.libelle.focus();
			return false;
		}

		if (form.email.value != '') {
			if ( !VerifMail(form.email.value) ) {
				alert("Le Mel n\'est pas valide");
				form.email.focus();
				return false;
			}
		}

		if ( form.ordre.value != '' ) {
			if (checkNum(form.ordre.value)==false) {
				alert('L\'ordre n\'est pas valide');
				form.ordre.value='';
				form.ordre.focus();
				return false;
			}
		}

		form.submit();
	}
	
	function AdminAjoutEspace(form) {
        if ( form.libelle.value == '' ) {
			alert('Le libelle est vide');
			form.libelle.focus();
			return false;
		}
		
		form.submit();
    }

	function AdminMajStructures(form) {
		if ( form.libelle.value == '' ) {
			alert('Le libelle est vide');
			form.libelle.focus();
			return false;
		}
		if (form.email.value != '') {
			if ( !VerifMail(form.email.value) ) {
				alert("Le Mel n\'est pas valide");
				form.email.focus();
				return false;
			}
		}
		if ( form.ordre.value != '' ) {
			if (checkNum(form.ordre.value)==false) {
				alert('L\'ordre n\'est pas valide');
				form.ordre.value='';
				form.ordre.focus();
				return false;
			}
		}
		form.submit();
	}

	function AdminAjoutRessources(form) {
		if ( form.libelle.value == '' ) {
			alert('Le libelle est vide');
			form.libelle.focus();
			return false;
		}
		form.submit();
	}

	function AdminMajRessources(form) {
		if ( form.libelle.value == '' ) {
			alert('Le libelle est vide');
			form.libelle.focus();
			return false;
		}
		form.submit();
	}

	function AdminAjoutDroits(form) {
		if ( form.utilisateurs_id.value == '0' ) {
			alert('Aucun utilisateur sélectionné');
			form.utilisateurs_id.focus();
			return false;
		}
		form.submit();
	}

	function AdminMajDroits(form) {
		if ( form.utilisateurs_id.value == '' ) {
			alert('Le libelle est vide');
			form.utilisateurs_id.focus();
			return false;
		}
		form.submit();
	}

	function AdminAjoutRubriques(form) {
		if ( form.libelle.value == '' ) {
			alert('Le libelle est vide');
			form.libelle.focus();
			return false;
		}
		if ( form.espaces_id.value == '0' ) {
			alert('Veuillez sélectionner un espace');
			form.espaces_id.focus();
			return false;
		}
		if ( form.ordre.value != '' ) {
			if (checkNum(form.ordre.value)==false) {
				alert('L\'ordre n\'est pas valide');
				form.ordre.value='';
				form.ordre.focus();
				return false;
			}
		}
		form.submit();
	}

	function AdminMajRubriques(form) {
		if ( form.libelle.value == '' ) {
			alert('Le libelle est vide');
			form.libelle.focus();
			return false;
		}
		if ( form.espaces_id.value == '0' ) {
			alert('Veuillez sélectionner un espace');
			form.espaces_id.focus();
			return false;
		}
		if ( form.ordre.value != '' ) {
			if (checkNum(form.ordre.value)==false) {
				alert('L\'ordre n\'est pas valide');
				form.ordre.value='';
				form.ordre.focus();
				return false;
			}
		}
		form.submit();
	}

	function AdminAjoutStatistiques(form) {
		if ( form.annee_mois.value == '' ) {
			alert('Le champ annee/mois est vide');
			form.annee_mois.focus();
			return false;
		}
		if ( form.rubriques_id.value == '' ) {
			alert('Le rubrique est vide');
			form.rubriques_id.focus();
			return false;
		}
		form.submit();
	}

	function AdminMajStatistiques(form) {
		if ( form.annee_mois.value == '' ) {
			alert('Le champ annee/mois est vide');
			form.annee_mois.focus();
			return false;
		}
		if ( form.rubriques_id.value == '' ) {
			alert('Le rubrique est vide');
			form.rubriques_id.focus();
			return false;
		}
		form.submit();
	}

	function AdminMajEspaces(form) {
		if ( form.libelle.value == '' ) {
			alert('Le libellé est vide');
			form.libelle.focus();
			return false;
		}
		form.submit();
	}

	function AdminAjoutContributeurs(form) {
		form.submit();
	}

	function EspaceAjouterDocument(form) {
        if ( typeof(form.file) != "undefined" && form.file.value != "" ) {
            jQuery.blockUI();
        }
        
        form.submit();
	}

	function nouveauHTML() {
	}

	function EspaceMajDocuments(form) {
		if ( form.nom_fichier.value == '' ) {
			alert('Le nom du fichier est vide');
			form.nom_fichier.focus();
			return false;
		}
		if ( typeof(form.file) != "undefined" ) {
            if ( form.file.value!="" ) {
				conf=window.confirm('Voulez vous remplacer le document ?');

                if (!conf) {
					return false;
				}
				
				jQuery.blockUI();
			}
		}
		form.submit();
	}

	function EspaceSupprimerDocuments(num) {
		ans=window.confirm('Suppression ?');
		if(ans)	{
			form = document.getElementById("form_supprimer_" + num);
			form.submit();
			return true;
		}
	}

	function EspaceAjouterForum(form) {
		if ( form.sujet.value == '' ) {
			alert('Le sujet est vide');
			form.sujet.focus();
			return false;
		}
		if ( form.message.value == '' ) {
			alert('Le message est vide');
			form.message.focus();
			return false;
		}
		form.submit();
	}

	function EspaceAjouterReponse(index_form) {
		form=document.getElementById("form_rep_post"+index_form);
		if (form.message.value == '') {
			alert("La réponse est vide");
			form.message.focus();
			return false;
		}
		form.submit();
	}

	function EspaceMajForum(form) {
		if (form.name=="form_modif_sujet"){
			if ( form.sujet_modifie.value == '' ) {
				alert('Le sujet est vide');
				form.sujet_modifie.focus();
				return false;
			}
			if ( form.message_modifie.value == '' ) {
				alert('Le message est vide');
				form.message_modifie.focus();
				return false;
			}
		}
		else if (form.name=="form_rep_modifie"){
			if ( form.rep_modifie.value == '' ) {
				alert('La réponse est vide');
				form.rep_modifie.focus();
				return false;
			}
		}
		form.submit();
	}

	function EspaceSupprimerForum(index_form) {
		ans=window.confirm('Suppression ?');
		if(ans)	{
			document.getElementById("form_supprimer_sujet"+index_form).submit();
			return true;
		}
	}

	function EspaceSupprimerForumReponse(index_form) {
		ans=window.confirm('Suppression ?');
		if(ans)	{
			document.getElementById("form_supprimer_reponse"+index_form).submit();
			return true;
		}
	}

	function ProfilPersonnelMaj(form,tailleMinMdp,tailleMinLogin){
		if ( form.nom.value=='') {
			alert('Le nom est vide');
			form.nom.focus();
			return false;
		}
		if ( form.prenom.value=='') {
			alert('Le prénom est vide');
			form.prenom.focus();
			return false;
		}
		if (form.mdp.value=='' ) {
			alert('le champ mot de passe est vide.');
			form.mdp.focus();
			return false;
		}
		if (form.email.value != '') {
			if ( !VerifMail(form.email.value) ) {
				alert("Le Mel n\'est pas valide");
				form.email.focus();
				return false;
			}
		}
		var login= form.identifiant.value;
		if(login.length<tailleMinLogin){
			alert('L\'identifiant doit comporter au moins '+tailleMinLogin+' caractères');
			return false
		}
			//si la valeur est différent : on a retapé le mots de passe
		if (form.mdp.value!=form.mdp_md5.value ) {
			var mot_de_passe=form.mdp.value;
			if(mot_de_passe.length<tailleMinMdp){
				alert('Le mot de passe doit comporter au moins '+tailleMinMdp+' caractères');
				return false;
			}
				form.mdp_md5.value = MD5(form.mdp.value);
				form.mdp.value = '';
		}
		form.submit();
	}
	function AgendaAjoutEvenementSimple(form) {
		if ( form.date_debut.value == '' ) {
			alert('La date de début est vide');
			form.date_debut.focus();
			return false;
		}
		if ( form.date_fin.value == '' && form.type_duree.value == "0") {
			alert('La date de fin est vide');
			form.date_fin.focus();
			return false;
		}
		if ( form.libelle.value == '' ) {
			alert('Le libellé est vide');
			form.libelle.focus();
			return false;
		}
		form.submit();
	}

	function AgendaAjoutEvenement(form) {
    	if ( form.date_evenement.value == '' ) {
			alert("La date de l'événement est vide");
			form.date_debut.focus();
			return false;
		}
        if ( form.heure_debut.value == '' ) {
			alert("L'heure du début de l'événement est vide");
			form.heure_debut.focus();
			return false;
		}
        if ( form.heure_fin.value == '' ) {
			alert("L'heure de fin de l'événement est vide");
			form.heure_fin.focus();
			return false;
		}
        if ( form.libelle.value == '' ) {
			alert('Le libellé est vide');
			form.libelle.focus();
			return false;
		}
		form.submit();
	}
	
	function AgendaReserverRessource(form) {
        if ( form.date_evenement.value == '' ) {
			alert("La date de l'événement est vide");
			form.date_debut.focus();
			return false;
		}
        if ( form.heure_debut.value == '' ) {
			alert("L'heure du début de l'événement est vide");
			form.heure_debut.focus();
			return false;
		}
        if ( form.heure_fin.value == '' ) {
			alert("L'heure de fin de l'événement est vide");
			form.heure_fin.focus();
			return false;
		}
		if(jQuery("#ressource").find("option:selected").size() == 0) {
            alert("Vous devez sélectionner au moins une ressource");
			return false
        }
        
        form.submit();
    }

	function AgendaSupprimerEvenement(form) {
		ans=window.confirm('Suppression ?');
		if(ans)	{
			form.submit();
		}
	}

	function AgendaMajEvenement(form) {
		if ( form.libelle.value == '' ) {
			alert('Le libellé est vide');
			form.libelle.focus();
			return false;
		}
		form.submit();
	}

    function AgendaPlanningChoixDate(form) {
		form.submit();
	}

	function AgendaMajReservation(form){
		if ( form.libelle.value == '' ) {
			alert('Le libellé est vide');
			form.libelle.focus();
			return false;
		}
		form.submit();
	}

	function AgendaSupprimerReservation(form) {
		ans=window.confirm('Suppression ?');
		if(ans)	{
			form.submit();
		}
	}

	function zoneRecherche(form){
		if(form.zone_recherche.value==''){
			alert('La zone de recherche est vide');
			form.zone_recherche.focus();
			return false;
		}
		form.submit();
	}

	function EspaceMajDossier(index_form) {
		form=document.getElementById("form_ren_dossier"+index_form);
		if (form.nom_fichier.value == '') {
			alert("Le nom du dossier est vide");
			form.nom_fichier.focus();
			return false;
		}
		form.submit();
	}

	function AdminInsererCVS(form){
		if(form.file.value==''){
			alert('Veuillez séléctionner un fichier');
			form.file.focus();
			return false;
		}
		form.submit();
	}

    function exportFonctions(format) {
        var fonctions_selected = "" ;
		form=document.getElementById("form_repertoire_recherche");        
		for(i=0;i<form.fonctions_id.length;i++) {
			if(form.fonctions_id.options[i].selected==true && form.fonctions_id.options[i].value>0){
				fonctions_selected += form.fonctions_id.options[i].value + ";";
			}
		}
		if ( fonctions_selected == "" ) {
			alertDialog();
			return false;
		} else {
            var yesFunction = function() {
                var thewin = window.open();
                thewin.location.replace(HTTP_MAIN+"repertoire/export-"+format+"/fonctions_id/"+fonctions_selected+"/detail/1");
            }
            
            var noFunction = function() {
                var thewin = window.open();
                thewin.location.replace(HTTP_MAIN+"repertoire/export-"+format+"/fonctions_id/"+fonctions_selected);
            }

            confirmDialog(yesFunction,noFunction);
    		return true ;
        }        
    }
    
    function exportStructures(format) {
        var format = format;
        var structures_selected = "" ;
		var form = document.getElementById("form_repertoire_recherche");
		for(i=0;i<form.structures_id.length;i++) {
			if(form.structures_id.options[i].selected==true && form.structures_id.options[i].value>0){
				structures_selected += form.structures_id.options[i].value + ";" ;
			}
		}
		if ( structures_selected == "" ) {
			alertDialog();
			return false;
		} else {
            var yesFunction = function() {
                var thewin = window.open();
                thewin.location.replace(HTTP_MAIN+"repertoire/export-"+format+"/structures_id/"+structures_selected+"/detail/1");
            }		

            var noFunction = function() {
                var thewin = window.open();
                thewin.location.replace(HTTP_MAIN+"repertoire/export-"+format+"/structures_id/"+structures_selected);
            }

            confirmDialog(yesFunction,noFunction);
    		return true ;
        }
    }    

    function EspaceEmailContributeurs(form) {
		if ( form.objet.value == '' ) {
			alert('Vous devez saisir un objet pour le message');
			form.objet.focus();
			return false;
		}
		if ( form.message.value == '' ) {
			alert('Vous devez saisir un message');
			form.message.focus();
			return false;
		}
		form.submit();
		return true;        
    }
    
    function ChangeDateVisibility(selectElement) {
        var elements = jQuery("#calendar_fin").add("#cell_date_fin").add("#cell_au").add("#cell_du");

        if(jQuery(selectElement).val() == 0 ) {
            elements.show();
        } else {
            elements.hide();
            calendar_date_fin = null;
            jQuery('#date_fin').val('');
        }
    }
    
    function RecupererRessourcesDisponibles() {
        //Vérification de la saisie de la date
        if(jQuery.trim(jQuery("#date_evenement").val()).length == 0) {
            alert("Veuillez d'abord sélectionner une date pour l'événement.");
            jQuery("#date_evenement").focus();
            return false;
        }

        //Vérification de la saisie de l'heure de début
        if(jQuery.trim(jQuery("#heure_debut").val()).length == 0) {
            alert("Veuillez d'abord sélectionner une heure de début pour l'événement.");
            jQuery("#heure_debut").focus();
            return false;
        }

        //Vérification de la saisie de l'heure de fin
        if(jQuery.trim(jQuery("#heure_fin").val()).length == 0) {
            alert("Veuillez d'abord sélectionner une heure de fin pour l'événement.");
            jQuery("#heure_fin").focus();
            return false;
        }

        //Initialisation du select qui accueil les ressources
        var el = jQuery("#ressource").html("");
          
        //On récupère dispo les ressources sur le serveur
        jQuery.ajax({
            url : HTTP_MAIN + "agenda/ajaxRecupererRessourcesDisponibles",
            type : "POST",
            data : {
                date_reservation : jQuery("#date_evenement").val(),
                heure_debut : jQuery("#heure_debut").val(),
                heure_fin : jQuery("#heure_fin").val()
            },
            dataType : "json",
            success : function(json){
                var find = false;

                //Pour chaque ressources contenu dans notre structure json
                jQuery(json).each(function() {
                    if(this.id && this.libelle && this.libelle.length > 0) {
                        el.append('<option value="' + this.id + '">' + this.libelle + '</option>');
                        find = true;
                    }
                });

                //Si on a des ressources dans le select
                if(find) {
                    el.attr("disabled","");
                } else {
                    el.attr("disabled","disabled").append("<option>Aucune ressource disponible</option>");
                }
                
                el.find("option").attr("selected","").end().fadeIn("normal");
            },
            error : function() {
                el.append("<option>Aucune ressource disponible</option>")
                  .attr("disabled","disabled")
                  .find("option")
                  .attr("selected","")
                  .end()
                  .fadeIn("normal");
            }
        });
    }
    
    function ResetRessourceDisponible() {
        jQuery("#ressource").fadeOut("normal",function(){
            jQuery(this).html("");
        });
    }
    
    function ChangeAcl(target,url) {
        var src;
        
        //On met à jour dans la base
        jQuery.ajax({url : url,type : "GET"});
        
        //On met toutes les images à OFF
        jQuery(target).parent().find("img").each(function(){
            src = jQuery(this).attr("src");
            src = src.replace(/_on.png/,'_off.png');
            jQuery(this).attr("src",src);
        });
        
        //On met à ON l'image du lien cliqué
        src = jQuery(target).find("img").attr("src");
        src = src.replace(/_off.png/,'_on.png');
        jQuery(target).find("img").attr("src",src);
    }

    function ChangeAclUser(target,url) {
        //On met à jour dans la base
        call_ajax(url);
        //On supprime la ligne
        jQuery(target).parents("tr:eq(0)").hide();
    }
    
    function DelAclUser(target,url) {
        ChangeAclUser(target,url);
    }

    function swapImageEspaces(target,image) {
        jQuery(target).parent().find("img").attr("src",image);
    }

    function call_ajax(url) {
        //On appel la page
        jQuery.ajax({url : url,type : "GET"});    
    }

    function load_ajax(url,element) {
        //On appel la page
        jQuery.ajax({
            url : url,
            type : "GET",
            dataType : "html",
            success : function(data){
                jQuery("#" + element).before(data).remove();
            }
        });    
    }

    function afficherFavoris() {
        jQuery("#favoris_content:hidden").slideDown();
    }

    function masquerFavoris() {
        jQuery("#favoris_content:visible").slideUp();
    }
    
    function setNbFavoris(nb) {
        jQuery("#ic_favoris span.number").text(nb);
    }
    
    function getNbFavoris() {
        var nbFavoris = jQuery("#ic_favoris span.number").text();
        return parseInt(nbFavoris);
    }
    
    function supprimerTousLesFavoris() {
        if(confirm("Êtes-vous sûr de vouloir supprimer tous vos favoris ?")) {
            //On les supprime de la liste
            jQuery("#favoris_content ul li").each(function(){
                jQuery(this).fadeOut("normal",function(){
                    jQuery(this).remove();
                });
            });

            //On met à jour le nombre
            setNbFavoris("0");

            //On restaure les icones de l'explorateur le cas échéant
            jQuery("a.favoris img").each(function(){
                jQuery(this).attr("src",jQuery(this).attr("src").replace(/favoris_supprimer/,'favoris_ajout'));
            });

            //On appelle en AJAX la méthode effaçant les favoris de l'utilisateur
            jQuery.ajax({url : HTTP_MAIN + "favoris/ajaxSupprimerTout",type : "GET"});
        }
    }

    function supprimerFavoris(document_id) {
        //On les supprime de la liste
        jQuery("#favoris_content ul li#document_" + document_id + ":first").fadeOut("normal",function(){
            jQuery(this).remove();
        });
        
        //On met à jour le nombre
        setNbFavoris((getNbFavoris() - 1));
        
        //On cherche l'image
        var img = jQuery("img#img_favoris_" + document_id);

        //On remplace l'image si on la trouve
        if(img.size() > 0) {
        var src = img.attr("src").replace(/favoris_supprimer/,'favoris_ajout');
        img.attr("src",src);
        }
        
        //On efface sur le serveur
        jQuery.ajax({url : HTTP_MAIN + "favoris/ajaxSupprimer/document_id/" + document_id,type : "GET"});
    }

    function UpdateFavoris(target,document_id) {
        var img = jQuery("img#img_favoris_" + document_id)
        
        //Si on ajoute le favoris
        if(img.attr("src").indexOf("favoris_ajout") != -1) {
            
            //On remplace l'image
            var src = img.attr("src").replace(/favoris_ajout/,'favoris_supprimer');
            img.attr("src",src);
            
            //On récupère l'attribut src de l'image de suppression, le nom du fichier et son icone
            var srcDel = jQuery("#favoris_content h2 img.favoris_del").attr("src");
            var fileName = jQuery(target).parent().find("a.nom_fichier:last").text();
            var fileIconeSrc = jQuery(target).parent().find("img.ic_doc:first").attr("src");

            //On l'ajoute dans la liste
            jQuery("#favoris_content ul").append('<li id="document_' + document_id + '"> <img class="favoris_del" src="' + srcDel + '" onclick="supprimerFavoris(' + document_id + ')" alt="" /> <img src="' + fileIconeSrc + '" class="ic_doc" border="0" /> <a href="' + HTTP_MAIN + 'favoris/redirect/document_id/' + document_id + '">' + fileName + '</a> </li>')
            
            //On incrémente le nombre de favoris
            setNbFavoris((getNbFavoris() + 1));
            
            //On envoie la requête ajax
            jQuery.ajax({url : HTTP_MAIN + "favoris/ajaxAjouter/document_id/" + document_id,type : "GET"});
            
        } else {
            supprimerFavoris(document_id);
        }
    }

    function loadRubriques(espace_id,document_id,name) {
		jQuery("#" + name).html('<center><img src="' + HTTP_SKIN + '/images/load.gif" border="0"></center>');
		url = HTTP_MAIN + "rubrique/ajax-lister-rubriques/espace_id/" + espace_id + "/document_id/" + document_id  ;
        jQuery.ajax({
            url : url,
            type : "GET",
            dataType : "html",
            success : function(data){
                var select = jQuery("#" + name).html(data).find('option:selected').val();
                loadRepertoires(select,"select_repertoire_" + document_id);
            }
        });    
    }

    function loadRepertoires(rubrique_id,name) {
		jQuery("#" + name).html('<center><img src="' + HTTP_SKIN + '/images/load.gif" border="0"></center>');
		url = HTTP_MAIN + "rubrique/ajax-lister-repertoires/rubrique_id/" + rubrique_id ;
        jQuery.ajax({
            url : url,
            type : "GET",
            dataType : "html",
            success : function(data){
                jQuery("#" + name).html(data);
            }
        });    
    }
    
    function loadFormulaireDeplacer(espace_id,rubrique_id,document_id,name) {
        var text = jQuery.trim(jQuery("#" + name).text());

        if(text.length == 0) {
            jQuery("#" + name).show();
    		jQuery("#" + name).html('<center><img src="' + HTTP_SKIN + '/images/load.gif" border="0"></center>');
    		url = HTTP_MAIN + "rubrique/ajax-formulaire-deplacer/espace_id/"+espace_id+"/rubrique_id/" + rubrique_id +"/document_id/" + document_id ;
            jQuery.ajax({
                url : url,
                type : "GET",
                dataType : "html",
                success : function(data){
                    jQuery("#" + name).html(data);
                }
            });
        } else {
            jQuery("#" + name).toggle();
        }
    }
    
    function SelectDossier(target,dossier_id) {
        //On met à jour le champs hidden
        jQuery(target).parents("form:first").find("input:hidden[@name=select_dossier]").val(dossier_id);
        
        //On supprime la classe selected des liens l'ayant
        jQuery(target).parent().find("a.selected").removeClass("selected");
        
        //On l'ajoute au lien cliqué
        jQuery(target).addClass("selected");
    }
    
/* =================================================================================
** Fonction de validation pour l'envoi de mail dans la partie Contact
*/

function ContactEnvoyerMail(form) {
	var _nb_contact=0;

    for(i=0;i<_tab_contact.length;i++){
		if(_tab_contact[i]!=''){
			_nb_contact++;
		}
	}

    var _nb_check= _nb_check_groupes + _nb_check_fonctions + _nb_check_structures + _nb_contact;

	if ( form.objet.value == '' ) {
		alert('Vous devez saisir un objet pour le message');
		form.objet.focus();
		return false;
	}
	if ( form.message.value == '' ) {
		alert('Vous devez saisir un message');
		form.message.focus();
		return false;
	}
	
	var el = document.getElementById("list_destinataires") ;

    if ( el.innerHTML == "" ) {
		if ( _nb_check_groupes==0 && _nb_check_fonctions==0 && _nb_check_structures==0){
			alert('La liste des destinataires est vide');
			return false;
		}
	}
	
	var yesFunction = function() {
        document.getElementById("liste_dest").value = el.innerHTML;
    	form.submit();
    }

    confirmDialog(yesFunction);

    
    return false;
}

/* =================================================================================
** Gestion de l'envoi des mails dans la partie contact lorsque le CRON n'est pas activé
*/
    
    function startSendMail(listeDesId,index) {
        var id = listeDesId[index];
        
        if(id) {
            jQuery.ajax({
                url : HTTP_MAIN + "contact/ajax-send-mail/id/" + id,
                type : "GET",
                dataType : "json",
                success : function(bool){
                    var img = jQuery("#img_etat_" + id);
                    var ok = img.attr("src").replace(/ic_envoi_mail/,'ok');
                    var ko = img.attr("src").replace(/ic_envoi_mail/,'ko');

                    if(bool) {
                        img.attr("src",ok);
                    } else {
                        img.attr("src",ko);
                        img.wrap('<a href="javascript:location.reload()"></a>');
                    }
                    
                    //Récupère les infos de la progress bar
                    var max = jQuery("#progress-bar").data().max;
                    var current = jQuery("#progress-bar").data().current;
                    
                    //On incrémente le nombre d'élément traité
                    current = jQuery("#progress-bar").data().current = ++current;
                    
                    //On calcul le pourcentage
                    var percent = Math.ceil(current/max*100) + "%";

                    //Parano
                    if(percent > 100) {
                        percent = 100;
                    }

                    //Changement de la progress bar
                    jQuery("#progress-bar div#progression-graphique:first").width(percent);
                    jQuery("#progress-bar p#progression-text:first").text( current + " / " + max + " (" + percent + ")");

                    setTimeout(function(){
                        startSendMail(listeDesId,++index);
                    },1000);
                }
            });
        } else {
            jQuery.unblockUI();
        alertDialog();
        }
    }
    
    jQuery(document).ready(function(){
        setTimeout(function(){
            var structure = new Array();
            
            jQuery(".mailer").each(function(){
                structure.push(jQuery(this).data().id);
            });
            
            //Appel de la fonction recursive
            if(structure.length > 0) {
                jQuery.blockUI();
                startSendMail(structure,0);
            }
        },1500);
    });
    
    
/* =================================================================================
** Gestion des contributeurs
*/
    function basculerContributeur(option) {
        var url = HTTP_MAIN + "admin/contributeurs/";
    
        //Si l'élément option représentant l'utilisateur dispose de la classe contributeur
        if(jQuery(option).is(".contributeurs")) {
            var appendTo = "select#select_users";
            var removeClass = "contributeurs";
            var addClass = "users";
            url += "ajax-supprimer";
        } else {
            var appendTo = "select#select_contributeurs";
            var removeClass = "users";
            var addClass = "contributeurs";
            url += "ajax-ajouter";
        }
        
        //On déplace et modifie l'élément option représentant l'utilisateur
        jQuery(option).remove().appendTo(appendTo).removeClass(removeClass).addClass(addClass);

        //Fix IE7
        if(jQuery.browser.msie) {
            jQuery("select#select_users").add("select#select_contributeurs").attr("size",Math.round((Math.random() + 1 ) * 50));
    }
    
        //Ajout des paramètre de l'URL
        url += "/rubriques_id/" + jQuery(option).data().rubriques_id;
        url += "/contributeurs_id/" + jQuery(option).data().contributeurs_id;
        
        //Envoie de la requête AJAX
        jQuery.ajax({url : url,type : "GET"});
    }
    
    jQuery(document).ready(function(){
        //IE => pas d'événement onclick sur l'élément option
        if(jQuery.browser.msie) {
            //Gestion du double click sur le select tout entier
            jQuery("select#select_users").add("select#select_contributeurs").dblclick(function(){
                var option = jQuery("option:selected:first",this);
        
                if(option.size() > 0) {
                    basculerContributeur(option.get(0));
                }
            });
        }
        else {
            //Gestion du double click sur les options
            jQuery("select#select_users option").add("select#select_contributeurs option").dblclick(function(){
                basculerContributeur(this);
        });
        
            //Gestion du Drag
            jQuery("select#select_contributeurs option").add("select#select_users option").Draggable({
            zIndex : 1000,
            ghosting : false,
    	    opacity : 0.5,
    	    fx : 0,
    	    revert : true
            }).css("cursor","move");
        
            //Gestion du drop sur le select des simples utilisateurs
            jQuery("select#select_users").Droppable({
            accept: "contributeurs",
            tolerance: "intersect",
            //Quand l'élément déplacé est droppé sur la cellule
            ondrop:	function(drag) {
                    basculerContributeur(drag);
            }
        });
        
            //Gestion du drop sur le select des contributeurs
            jQuery("select#select_contributeurs").Droppable({
            accept: "users",
            tolerance: "intersect",
            //Quand l'élément déplacé est droppé sur la cellule
            ondrop:	function(drag) {
                    basculerContributeur(drag);
            }
        });
        }
    });

/* =============================================================================
/* Gestion des messages d'erreurs et de confirmations
*/
    jQuery(document).ready(function(){
        jQuery.extend(jQuery.blockUI.defaults, { closeMessage: "",pageMessage : "<h1>Traitement en cours...</h1>" });
        jQuery.extend(jQuery.blockUI.defaults.overlayCSS, { opacity: 0.5, backgroundColor : "#000", cursor : "wait" });
        
        jQuery("#docelia_erreur").find("input").click(function(){
            jQuery.blockUI.impl.boxRemove();
        }).end().displayBox();
        
        jQuery("#confirmation-message").each(function(){
            displayMessage(this);
        });
    });

/* =============================================================================
/* Fonction d'affichage des messages de confirmation
*/

function displayMessage(message) {
    var normalColor = "#ffffff";
    var highlightColor = "#ffcc00";
    var timeBeforeHide = 1500;
    var fadeInSpeed = "normal";
    var fadeOutSpeed = "normal";
    var stepToHighlight = 50;
    var stepToNormal = 80;
    var backgroundEffectPause = 1500;

    //Affichage du message
    jQuery(message).appendTo("body").width(jQuery("body").width())
    
    //Show message
    .fadeIn(fadeInSpeed,function(){
        //On show, fade the background
        jQuery(this).backgroundFade({sColor:normalColor,eColor:highlightColor,steps:stepToHighlight},function() {
            var el = this;
            //Pause before unfade background
            setTimeout(function() {
                //Unfade background
                jQuery(el).backgroundFade({sColor:highlightColor,eColor:normalColor,steps:stepToNormal},function(){
                    //Pause before hide message
                    setTimeout(function(){
                        jQuery(el).fadeOut(fadeOutSpeed,function(){
                            jQuery(el).stopAlwaysOnTop().remove();
                        });                    
                    },timeBeforeHide);                     
                });
            },backgroundEffectPause);
        });
    })
    .alwaysOnTop();
}

/* =============================================================================
/* Fonction d'affichage de la fenêtre de confirmation
/* Requiert de placer du code HTML dans la page à l'aide du Helper adéquat
*/

function confirmDialog(yesFunction,noFunction,id) {
    //On définit la fonction de fermeture de la fenêtre
    var closeFunction = function() {
        jQuery.blockUI.impl.boxRemove();
    };

    var element = typeof id != "undefined" ? jQuery("div#" + id + ":first") : jQuery("div.confirmation-dialog:first");

    //Affichage de la fenêtre de confirmation
    if(element.size() > 0) {
        setTimeout(function() {
            //On clone notre DIV et on affecte les evenements sur les boutons
            element.clone().find("input[@name]").each(function(){
                var name = jQuery(this).attr("name");

                //Bouton OUI
                if(name == "yes" && jQuery.isFunction(yesFunction)) {
                    jQuery(this).click(yesFunction);
                }

                //Bouton NON
                if(name == "no" && jQuery.isFunction(noFunction)) {
                    jQuery(this).click(noFunction);
                }

                //On bind la fermeture de la fenêtre sur les trois boutons standards
                if(name == "no" || name == "yes" || name == "cancel") {
                    jQuery(this).click(closeFunction);
                }
            }).end().show().displayBox();
        },50);
    }
}

/* =============================================================================
/* Fonction d'affichage de la fenêtre de confirmation
/* Requiert de placer du code HTML dans la page à l'aide du Helper adéquat
*/

function alertDialog(id) {
    //On définit la fonction de fermeture de la fenêtre
    var closeFunction = function() {
        jQuery.blockUI.impl.boxRemove();
    };

    var element = typeof id != "undefined" ? jQuery("div#" + id + ":first") : jQuery("div.alert-dialog:first");

    //Affichage de la fenêtre de confirmation
    if(element.size() > 0) {
        setTimeout(function() {
            //On clone notre DIV et on affecte les evenements sur les boutons
            element.clone().find("input[@name]").each(function(){
                var name = jQuery(this).attr("name");

                //Bouton ANNULER
                if(name == "ok") {
                    jQuery(this).click(closeFunction);
                }
            }).end().show().displayBox();
        },50);
    }
}

/* =============================================================================
/* Message de confirmation sur la suppression des éléments non validés dans l'agenda
*/

    jQuery(document).ready(function(){
        jQuery("a.valider-evenement")
        .add("a.supprimer-evenement")
        .add("a.valider-reservation")
        .add("a.supprimer-reservation")
        .click(function(e){
            var link = jQuery(e.target).parent();
            var confirmation = true;

            //On met un message de confirmation pour la suppression
            if(link.is(".supprimer-evenement") || link.is(".supprimer-reservation")) {
                confirmation = confirm("Confirmez-vous la suppression ?");
            } 

            //Si c'est confirmé
            if(confirmation) {
                //On bloque l'interface
            jQuery.blockUI();

                //On envoie la requête AJAX
            jQuery.ajax({
                url : link.attr("href"),
                type : "GET",
                dataType : "json",
                success : function(bool) {
                    jQuery.unblockUI();

                    if(bool) {
                        link.parent("li").fadeOut("normal",function(){
                            jQuery(this).remove();
                        });
                    }
                    else {
                        alert("Une erreur est survenue");
                    }
                }
            });
            }
            
            //On stop la propagation du click
            return false;
        });
    });

