+ this.ajouterMessageRepond(mess)
+}
+
+/**
+ * Enlève tous les messages auquel l'utilisateur souhaite répond.
+ */
+Messages.prototype.enleverMessagesRepond = function()
+{
+ for (var messId in this.messagesRepond)
+ this.enleverMessageRepond(this.messagesRepond[messId])
+
+ // on réinitialise pour être sur que tout est bien enlevé
+ this.messagesRepond = {}
+ $("#conversations div.message").removeClass("repondEnEvidence")
+ $("form#posterMessage #repondA .messages").empty()
+}
+
+/**
+ * Définit un message comme n'y répondant plus.
+ */
+Messages.prototype.enleverMessageRepond = function(mess)
+{
+ $("#" + mess.getId()).removeClass("repondEnEvidence")
+ $("#" + mess.getId(this.prefixIdMessage)).remove()
+ delete this.messagesRepond[mess.id]
+ this.rafraichireNombreMessagesRepond()
+}
+
+/**
+ * Définit un message comme y répondant.
+ */
+Messages.prototype.ajouterMessageRepond = function(mess)
+{
+ var thisMessages = this
+
+ // est-ce que le message fait partie de la même conversation que les autres messages ?
+ // TODO : solution plus élégante pour prendre un mess parmis messagesRepond !?
+ var mess2
+ for(mess2 in this.messagesRepond){ break; }
+ mess2 = this.messagesRepond[mess2]
+
+ if (mess2 != undefined && mess2.racineId != mess.racineId)
+ {
+ this.util.messageDialogue("Impossible de répondre à deux messages ne faisant pas partie de la même conversation")
+ return
+ }
+
+ $("form#posterMessage #repondA .messages").append(mess.XHTML(undefined, this.prefixIdMessage))
+ this.messagesRepond[mess.id] = mess
+ $("#" + mess.getId(this.prefixIdMessage) + ", #" + mess.getId()).addClass("repondEnEvidence")
+ $("#" + mess.getId(this.prefixIdMessage)).click(
+ function()
+ {
+ $(this).fadeOut("normal", function(){
+ thisMessages.enleverMessageRepond(mess)
+ $("form#posterMessage #repondA .messages").hide()
+ })
+ }
+ )
+ this.rafraichireNombreMessagesRepond()
+}
+
+/**
+ * Met à jour le nombre qui indique à l'utilisateur à combien de messages il répond.
+ */
+Messages.prototype.rafraichireNombreMessagesRepond = function()
+{
+ // TODO : ya pas mieux pour trouver le nombre d'objet ?
+ var nb = 0
+ for (m in this.messagesRepond)
+ nb += 1
+ $("#posterMessage #repondA .nb").text(nb)
+
+ var boite = $("#posterMessage #repondA")
+ if (nb > 0) boite.show()
+ else boite.hide()
+}
+
+/**
+ * Affiche les messages auquel l'utilisateur souhaite répondre au sein des messages des conversations.
+ * Utilisé lorsqu'une conversation est extraite.
+ */
+Messages.prototype.afficherMessagesRepondConversations = function()
+{
+ var expr = ""
+ for(var messId in this.messagesRepond)
+ expr += "#" + this.messagesRepond[messId].getId() + ","
+ $(expr).addClass("repondEnEvidence")