FIX petites corrections à deux balles
[euphorik.git] / js / pageMinichat.js
index 5ce2793..770fc42 100755 (executable)
@@ -240,16 +240,9 @@ PageMinichat.prototype.envoyerMessage = function(pseudo, message)
             {  \r
                $("form input.message").val("")
                         
-               // met à jour la classe des messages auquel repond celui ci (c'est un peu de la triche)
+               // met à jour la classe des messages auquel repond celui ci (c'est un peu de la triche) TODO : ya mieux ?
                for (var i = 0; i < repondA.length; i++)
-               {
-                  $("#conversations div#" + repondA[i]).addClass("repondu")
-                  /* Ca sert à rien, TODO : tester/virer
-                  for (var c = 0; c < thisPageMinichat.messages.conversations.length; c++)
-                     for (var m = 0; m < thisPageMinichat.messages.conversations[c].messages.length; m++)
-                        thisPageMinichat.messages.conversations[c].messages[m].clientARepondu = true
-                  */
-               }
+                  $("#conversations div#mess" + repondA[i].toString(36)).addClass("repondu")
             }
             else if (data["reply"] == "error")
             {
@@ -382,7 +375,7 @@ function Conversation(num, util, formateur, client)
    $("#conversations").append(
       '<div id="' + this.getId() + '" class="conversation">\
       <div class="titre">' +
-         (num == 0 ? '' : '<div class="fermer">x</div><div class="lien">c</div>') +
+         (num == 0 ? '' : '<div class="fermer"></div><div class="lien"></div>') +
          '<span class="next">&lt;</span><span class="numPage">1</span><span class="prev">&gt;</span>\
          </div>\
       </div>'
@@ -504,7 +497,7 @@ Conversation.prototype.flush = function(funClickOuvrirConv)
       
    // construction de l'XHTML des messages
    var XHTML = ""
-   for (var i = this.messages.length - 1; i >= 0; i--)
+   for (var i = 0; i < this.messages.length; i++)
       if (this.messages[i].id > this.idDernierMessageAffiche)
       {      
          var message = this.messages[i]
@@ -516,9 +509,16 @@ Conversation.prototype.flush = function(funClickOuvrirConv)
             this.formateur.traitementComplet(message.pseudo) + "<span class=\"login\">(" + this.formateur.traitementComplet(message.login) +")</span>" )
          
          var XHTMLrepondA = ""
+         var debut = true
          for (var id in message.repondA)
-            XHTMLrepondA += this.formateur.traitementComplet(message.repondA[id].pseudo) + "&gt; "
-         XHTMLrepondA = "<span class=\"repondA\">" + XHTMLrepondA + "</span>"
+         {
+            if (!debut) XHTMLrepondA += ", "
+            dumpObj(message.repondA.count)
+            XHTMLrepondA += this.formateur.traitementComplet(message.repondA[id].pseudo)
+            debut = false
+         }
+         if (XHTMLrepondA != "")
+            XHTMLrepondA = "<span class=\"repondA\">" + XHTMLrepondA + "</span><span class=\"delimitationRepondA\"></span>"
          
          XHTML += 
             "<div id=\"mess" + message.id.toString(36) + "\" class=\"" + (messagePair ? "messagePair" : "messageImpair") + " message" +
@@ -528,9 +528,9 @@ Conversation.prototype.flush = function(funClickOuvrirConv)
                (this.messages[i].systeme ? " systeme" : "") +
                (this.messages[i].ekMaster ? " ekMaster" : "") +
             "\">" +
-               "<div class=\"extraire\">&gt;</div>" +
+               "<div class=\"extraire\"></div><span class=\"entete\">" +
                "[<span class=\"date\">" + message.date + "</span>]" +
-               "<span class=\"pseudo\"><span class=\"id\" style=\"display: none\">" + message.auteurId + "</span class=\"ident\">" + identifiant + "</span>:" +
+               "<span class=\"pseudo\"><span class=\"id\" style=\"display: none\">" + message.auteurId + "</span class=\"ident\">" + identifiant + "</span></span><span class=\"delimitationEntete\"></span>" +
                XHTMLrepondA +
                "<span class=\"contenu\">" + this.formateur.traitementComplet(message.contenu, message.pseudo) + "</span>" +
             "</div>"
@@ -538,16 +538,17 @@ Conversation.prototype.flush = function(funClickOuvrirConv)
          messagePair = !messagePair
       }
       
-   $("#conversations #" + this.getId()).prepend(XHTML)
-   
    // enlève les messages exedentaires
    var nbMessagesAffiche = $("#conversations #" + this.getId() + " .message").size()
    
    if (nbMessagesAffiche > this.nbMessageMax)
       $("#conversations #" + this.getId() + " .message").slice(this.nbMessageMax, nbMessagesAffiche).empty()
-
-   // ajoute les événements liés à chaque nouveau message
-   $("#conversations #" + this.getId() + " .message").filter(function(){ return parseInt($(this).attr("id").substr(4), 36) > thisConversation.idDernierMessageAffiche }).each(
+   
+   
+   //.filter(function(){ return parseInt($(this).attr("id").substr(4), 36) > thisConversation.idDernierMessageAffiche })
+   
+   var DOM = $(XHTML)
+   DOM.each(
       function()
       {
          $(".lienConv", this).click(
@@ -635,6 +636,7 @@ Conversation.prototype.flush = function(funClickOuvrirConv)
          )
       }
    )
+   DOM.prependTo("#conversations #" + this.getId())
    
    if (this.messages.length > 0)
       this.idDernierMessageAffiche = this.messages[this.messages.length-1].id
@@ -857,8 +859,11 @@ Messages.prototype.supprimerConversation = function(num)
   */
 Messages.prototype.ajusterLargeurConversations = function()
 {\r
-   // le "- 0.01" evite que IE se chie dessus lamentablement et affiche les conversations les unes au dessus des autres
-   $("#conversations .conversation").css("width", (100 / this.conversations.length) - 0.01 + "%")
+   var largeurPourcent = (100 / this.conversations.length)   \r
+   // le "- 0.01" evite que IE se chie dessus lamentablement et affiche les conversations les unes au dessus des autres\r
+   if($.browser["msie"])\r
+      largeurPourcent -= 0.01
+   $("#conversations .conversation").css("width", largeurPourcent + "%")
 }
 
 /**
@@ -930,7 +935,13 @@ Messages.prototype.rafraichirMessages = function(vider)
          {
             case "new_troll" :
                thisMessages.trollIdCourant = data["troll_id"]
-               $("#trollCourant .troll").html(thisMessages.formateur.traitementComplet(data["content"]))
+               $("#trollCourant .troll").html(thisMessages.formateur.traitementComplet(data["content"])).unbind().click(
+                  function()
+                  {
+                     thisMessages.ouvrirConversation(data["message_id"])
+                  }
+               )
+               
                $("#trollCourant .troll a[@rel*=lightbox]").lightBox()
                break