﻿//Fichiers des fonctins javscript pour la page des messages
var crtPage = 1;
var nbLignesParPage = 15;
var resultatRecherche;


//Variable indiquant si le texte de recherche dans le corps du message a changé
var chgtText = false;
function searchTextChanged() {
    chgtText = true;
}

function chargerMessagesAvecParmText() {
    if (chgtText) {
        chargerMessages();
    } else {

    }
}

//Affichage des conversations et messages
chargerMessages();

//Fonction d'affichage des conversations et des messages
function chargerMessages() {
    $('convMessDiv').innerHTML = '<img src="../images/small_waiting.gif" />&nbsp;';
    //Langue sélectionnée
    var langue = $('langSelect').value;
    var numMbre = '';
    var msgText = $('msgText').value;
    if (msgText == textRecherche) {
        msgText = '';
    }

    //Récupération de la listte des conversations et messages selon les critères
    var convMessageList = new Array();
    convMessageList = SessionManager.conversationsParCriteres(-1, msgText, false, langue, numMbre, '', false, '', msgText, crtPage, nbLignesParPage, function(result) { afficherMessages(result); });   
}


function afficherMessages(resultat, chgtPage) {
    var convMessageList;
    var conversation;
    var message;
    var innerHTML = '';
    var msgPluriel = '';
    var deleteButton = "";
    var updateButton = "";
    var nbResultats;
    var convDeDebut = 0;

    if (resultat) {
        if (!chgtPage) {
            resultatRecherche = resultat;
        }
        convMessageList = resultat.liste;
        nbResultats = resultat.nbre;
        convDeDebut = (crtPage - 1) * nbLignesParPage;
    }
    //Construction de l'affichage    
    if (convMessageList && convMessageList.length > convDeDebut) {
        for (i = convDeDebut; i < crtPage * nbLignesParPage; i++) {
            if (!convMessageList[i]) {
                break;
            }
            conversation = convMessageList[i].conv;
            var libelleMessage = libelleMessageSing;
            deleteButton = '';
            updateButton = '';
                        
            convMbre = convMessageList[i].convMbre;
            if (convMessageList[i].mess.length > 1) libelleMessage = libelleMessagePlur;
            innerHTML += '<h1 class="accordion_toggle"><span style="float:left;">' + conversation.Sujet + '   <span class="convTitreNomDate">[' + conversation.DateMaj.format('dd/MM/yyyy') + '&nbsp;-&nbsp;' + convMbre.Prenom + " " + convMbre.Nom + '] &nbsp; ' + convMessageList[i].mess.length + '&nbsp;' + libelleMessage + '</span></span> <div class="updateConv" id="' + conversation.Id + '"> </div></h1>';
            innerHTML += '<div class="accordion_content" style="heigth:100px">';

            //Si la conversation contient des messages, ils sont affichés.
            if (convMessageList[i].mess.length > 0) {
                for (j = 0; j < convMessageList[i].mess.length; j++) {
                    message = convMessageList[i].mess[j];
                    innerHTML += '<div class="oldMessage" onmouseover="oldmsgOver(this)" onmouseout="oldmsgOut(this)">';
                    innerHTML += '<span style="font-size:9px;border-bottom:1px dotted gray;"><img src="../images/icon_arrow.png"/>&nbsp;' + message.Auteur + ' - ' + message.DateCreation.format('dd/MM/yyyy HH:mm') + '</span><br/>';
                    innerHTML += message.MsgCorps + '</div>';
                }
            } else {
                innerHTML += '<div class="oldMessage">' + pasDeMessage + '</div>';
            }
            innerHTML += '</div>';
        }
        if (Math.ceil(nbResultats / nbLignesParPage) > 1) {
            innerHTML += "<div id='divPagination' >" + libellePage + '&nbsp;';
            var elmtClass = '';
            for (j = 1; j <= Math.ceil(nbResultats / nbLignesParPage); j++) {
                elmtClass = 'numPage';
                if (crtPage == j) elmtClass = 'selectedPage';
                innerHTML += "<span class=\"" + elmtClass + "\" onclick='page(" + j + ")'>" + j + "</span>";
            }
            innerHTML += "</div>";
        }
        $('convMessDiv').innerHTML = innerHTML;
        loadAccordions();
    } else {
        $('convMessDiv').innerHTML = pasConvMess;
    }
    chgtText = false;
}

function page(numPage) {
    if (numPage != crtPage) {
        crtPage = numPage;
        afficherMessages(resultatRecherche, true)
    }
}

/*************FIN CONVERSATION**************************/


function nouveauMessage(id) {
    window.open('detailConversation.aspx?action=public&convId=' + id, '', "width=720,scrollbars=yes");
}
//Functions pour accordéon

function loadAccordions() {
    var topAccordion = new accordion('convMessDiv');
}
/****
Fonctions pour la zone du texte à rechercher ds le message
*/
function msgTextFocus() {
    if ($('msgText').value == textRecherche) {
        $('msgText').value = '';
    }
}

function msgTextBlur() {
    if ($('msgText').value == '') {
        $('msgText').value = textRecherche;
    }
}
/****************/

function oldmsgOver(elmt) {
    //elmt.addClassName('oldMsgOver');
    elmt.className += " oldMsgOver";
}

function oldmsgOut(elmt) {
    elmt.className = "oldMessage";
}

