-/**
- * Création d'un nouveau message.
- * Les message sont données dans l'ordre de leur id.
- * @param element un element xml représentant le message
- * @param numConversation le numéro de la conversation, 0 = principale
- */
-Messages.prototype.ajouterMessage = function(element, numConversation)
-{
- // pas d'utilisation de jquery pour des raisons de performance
- this.idDernierMesssage = element.getAttribute("id")
-
- var message = new Message(
- this.idDernierMesssage, \r
- jQuery("date", element).text(),\r
- jQuery("pseudo", element).text(),\r
- jQuery("contenu", element).text()
- ) \r
-
- message.appartientAuClient = jQuery("proprietaire", element).text() == "true"
- message.clientARepondu = jQuery("repondu", element).text() == "true"
- message.estUneReponse = jQuery("reponse", element).text() == "true"
- message.systeme = jQuery("systeme", element).text() == "true"
- message.setRepondA(jQuery("repondA", element))
-
- if (this.conversations[numConversation] == null)
- this.conversations[numConversation] = new Conversation()
- this.conversations[numConversation].ajouterMessage(message)
-}
-
-/**
- * Demande à toutes les conversations de se flusher (afficher les messages non-affichés).
- */
-Messages.prototype.flush = function()
-{
- for (var i = 0; i < this.conversations.length; i++)
- this.conversations[i].flush().
-}
-
-/**
- * Etablit une liste des messages à mettre en evidence et des messages à cacher.
- * Puis applique un plan diabolique.
- * @param element un message de la liste des messages
- */
-Messages.prototype.afficherConversation = function(element)
-{
- // cherche le message selectionné
- var id = jQuery(element).attr("id")
- var message = this.messagesParId[id]
- if (message == undefined) return
-
- mess = message.afficherConversation(this)
- \r
- // FIXME : cet appel est très lent
- jQuery("#messages .message").each(
- function()
- {
- var jq = jQuery(this)
- if (!mess.hasOwnProperty(jq.attr("id")))
- jq.addClass("cache")
- else
- jq.removeClass("cache")