// Script de gestion du panneau du chat privé // (c) Service Pierre 2015 //Fonction permettant d'afficher ou de masquer le chat privé function show_hide_panneau_private_chat(show) { //On masque le panneau if(show == 0) { show_hide_id("private_chat_contener", "hidden"); show_hide_id("private_chat_open_button", "visible"); //On vide son contenu document.getElementById('conversations_private_chat').innerHTML = ""; } //On affiche le panneau else { show_hide_id("private_chat_contener", "visible"); show_hide_id("private_chat_open_button", "hidden"); } //Requête ajax pour enregistrer le choix ajax_rapide("action.php?actionid=17&show=" + show); } //Fonction permettant de changer la taille des fenêtres de chat function up_down_panneau_private_chat(type) { //On récupère la valeur actuelle de la hauteur var hauteur = parseInt(document.getElementById("private_chat_contener").style.height); //On la modifie if(type == "up") hauteur = hauteur + 50; else hauteur = hauteur - 50; //Adaptation de la hauteur if(hauteur < 20) { hauteur = 20 } //Adaptation de la hauteur if(hauteur > 220) { hauteur = 220 } //Vérification de la hauteur if(hauteur > 20 && hauteur < 220) { //Message en cas de hauteur de 100px if(hauteur == 20) { //Message affiche_notification("Vous avez atteint la hauteur minimale.", "Note"); } if(hauteur == 220) { //Message affiche_notification("Vous avez atteint la hauteur maximale.", "Note"); } //Application de la nouvelle hauteur document.getElementById("private_chat_contener").style.height = hauteur + "px"; document.getElementById("conversations_private_chat").style.height = hauteur + "px"; //Envoi d'une requête ajax pour enregistrer la nouvelle hauteur ajax_rapide("action.php?actionid=18&size=" + hauteur); } else { //Message d'erreur affiche_notification_erreur("La hauteur choisie est trop faible ou trop élevée.", "Erreur"); } } //Fonction permettan d'ouvrir une conversation dans le chat privé function affiche_chat_prive(id) { //Ouverture de la conversation par ajax ajax_rapide("action.php?actionid=19&id=" + id); //Affichage du panneau de chat show_hide_panneau_private_chat(1); //Fenêtre de succès affiche_notification_succes("La conversation a été ajoutée.", "", 2); //Rechargement des fenêtres du chat privé refresh_fenetres_chat_decale(); } //Fonction d'actualisation des fenêtres du chat function refresh_fenetres_chat() { var xhr = new XMLHttpRequest(); xhr.open('GET', "action.php?actionid=20"); xhr.onreadystatechange = function() { // On gère ici une requête asynchrone if (xhr.readyState == 4 && xhr.status == 200) { // Si le fichier est chargé sans erreur document.getElementById('conversations_private_chat').innerHTML = xhr.responseText; } }; xhr.send(null); } //Fonction de décalage de la fonction d'actualisation des fenêtres du chat privé function refresh_fenetres_chat_decale() { //Actualisation des fenêtres du chat (en décalé) refresh_fenetres_chat(); } //Fonction permettant de fermer une conversation function close_conversation(id) { //Fermeture de la conversation par ajax ajax_rapide("action.php?actionid=19&remove=1&id=" + id); //Actualisation des fenêtres du chat refresh_fenetres_chat_decale(); //Fenêtre de succès affiche_notification_succes("La conversation a été fermée.", "", 2); }