- jQuery("#messages").prepend(XHTML)\r
- \r
- if (myLightbox != null)
- myLightbox.updateImageList()
-
- var nbMessagesAffiche = jQuery("#messages .message").size()
- if (nbMessagesAffiche > this.nbMessageMax)
- jQuery("#messages .message").slice(this.nbMessageMax, nbMessagesAffiche).empty();
-
- jQuery("#messages .message").filter(function(){return parseInt(jQuery(this).attr("id"), 36) > parseInt(idDernierMessageAffiche, 36)}).each(
- function()
- {
- jQuery(this).click(
- function(event)
- {\r
- if (jQuery(event.target).is("a")) return\r
-
- var valCourant = jQuery("input.message").val()
- if (valCourant == undefined) valCourant = ""
- var tag = jQuery(".pseudo", this).text() + "{" + jQuery(this).attr("id") + "}" + ">"
- if (valCourant.indexOf(tag, 0) == -1)
- jQuery("input.message").val(tag + " " + valCourant)
- thisMessages.util.setCaretToEnd(jQuery("form input.message")[0])
- }
- )
- // Q : pourquoi pas un .hover ?
- // R : simplement pour éviter que lorsqu'un message arrive cela n'affecte la conversation actuellement mise en évidence
- .mousemove(
- function(e)
- {
- if (this !== thisMessages.messageOver)
- {
- thisMessages.afficherConversation(this)
- thisMessages.messageOver = this
- }
- }
- )
- }
- )
-}
-
-/**
- * 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")
- }
- )
-}
-
-Messages.prototype.viderMessages = function()
-{
- this.idDernierMesssage = null
- this.messages = new Array()
- jQuery("#messages").empty()
-}
-
-/**
- * Met à jour les messages de manière continue.
- * (AJAX-Comet-style proof)
- * @param vider vide tous les messages avant d'afficher les nouveaux
- */
-Messages.prototype.rafraichirMessages = function(vider)
-{
- if (this.attenteCourante != null)
- this.attenteCourante.abort()
-
- if (vider == undefined)
- vider = false
-
- if (vider)
- {
- this.idDernierMesssage = null
- this.messages = new Array()