FIX légère optimisation du rafraichissement des messages
[euphorik.git] / js / pageMinichat.js
index 1f6a118..217069d 100755 (executable)
@@ -19,8 +19,8 @@ PageMinichat.prototype.contenu = function()
 <form method="post" action="">\
    <p>\
       <input class="captcha" name="captcha" type="text" size="8" maxlength="8"></input>\
-      <input class="pseudo" name="pseudo" type="text" size="12" maxlength="50" value="&lt;nick&gt;"></input>\
-      <input class="message" name="message" type="text" size="80" maxlength="500" value=""></input>\
+      <input class="pseudo" name="pseudo" type="text" maxlength="50" value="&lt;nick&gt;"></input>\
+      <input class="message" name="message" type="text" maxlength="500" value=""></input>\
       <button class="smiles"></button>\
       <button class="return"></button>\
    </p>\
@@ -97,8 +97,12 @@ PageMinichat.prototype.charger = function()
    $("form button.smiles").hover(
       function(e)
       {
-         var offset = $(e.target).offset()
-         $("#smiles").css("top", offset.top).css("left", offset.left).show()
+         var position = $(e.target).offset()
+         // le décalage pour ne pas dépasser à droite (10 correspond à la marge pour éviter de coller le bord)
+         var decalage = $("body").width() - $("#smiles").width() - position.left - 10
+         decalage = decalage > 0 ? 0 : decalage
+         
+         $("#smiles").css("top", position.top).css("left", position.left + decalage).show()
       },
       function(e){}
    )
@@ -123,7 +127,7 @@ PageMinichat.prototype.charger = function()
             $("form input.message").val()
          )
             
-         $("form input.message")[0].focus()
+         $("form input.message").focus()
       }
       
    $("form").keypress(
@@ -488,10 +492,10 @@ Conversation.prototype.flush = function(funClickOuvrirConv)
       if (this.messages[i].id > this.idDernierMessageAffiche)
       {      
          var message = this.messages[i]
-         
+        
          // construit l'identifiant de la personne
          var identifiant = 
-            this.client.nickFormat == "nick" ? this.formateur.traitementComplet(message.pseudo) : 
+            this.client.nickFormat == "nick" || message.login == "" ? this.formateur.traitementComplet(message.pseudo) : 
             (this.client.nickFormat == "login" ? this.formateur.traitementComplet(message.login) : 
             this.formateur.traitementComplet(message.pseudo) + "<span class=\"login\">(" + this.formateur.traitementComplet(message.login) +")</span>" )
          
@@ -548,7 +552,7 @@ Conversation.prototype.flush = function(funClickOuvrirConv)
                function(e)
                {     
                   var userId =  parseInt($(this).attr("id").substr(4))
-                  var element = $(e.target)
+                  var element = $(this)
                   var h = element.height()
                   var offset = element.offset()
                   var outils = $("#outilsBan").css("top", offset.top - 2).css("left", offset.left - 2).height(h < 16 ? 16 : h).width(element.width() + 16 * 3 + 4 + 64).show()
@@ -713,8 +717,8 @@ Messages.prototype.getJSONConversations = function()
   */
 Messages.prototype.ajouterMessages = function(elements, numConversation)
 {
-   if (elements["messages"].length == 0 && typeof(this.conversations[numConversation]) == "undefined")
-      return false
+   if (elements["messages"].length == 0)
+      return this.conversations[numConversation] != undefined
 
    for (var i = 0; i < elements["messages"].length; i++)
       this.ajouterMessage(elements["messages"][i], numConversation)
@@ -910,6 +914,7 @@ Messages.prototype.rafraichirMessages = function(vider)
             case "new_troll" :
                thisMessages.trollIdCourant = data["troll_id"]
                $("#trollCourant .troll").html(thisMessages.formateur.traitementComplet(data["content"]))
+               $("#trollCourant .troll a[@rel*=lightbox]").lightBox()
                break
                
             case "new_messages" :