comunic/assets/js/panneau_private_chat.js

129 lines
3.6 KiB
JavaScript
Raw Permalink Normal View History

2016-11-19 11:08:12 +00:00
// 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 &eacute;lev&eacute;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 &eacute;t&eacute; ajout&eacute;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 &eacute;t&eacute; ferm&eacute;e.", "", 2);
}