FIX barre d'outils slap/kick/ban, elle se ferme correctement maintenant
[euphorik.git] / js / pageMinichat.js
index ec0a924..07d5d8f 100755 (executable)
@@ -32,7 +32,7 @@ PageMinichat.prototype.contenu = function()
 {
    return '\
 <div id="trollCourant">Troll de la semaine : <span class="troll"></span></div>\
-<form method="post" action="">\
+<form method="post" action="" id ="posterMessage">\
    <p>\
       <input class="captcha" name="captcha" type="text" size="8" maxlength="8"></input>\
       <input class="pseudo" name="pseudo" type="text" maxlength="50" value="&lt;nick&gt;"></input>\
@@ -60,25 +60,19 @@ PageMinichat.prototype.charger = function()
    // les outils de bannissement (uniquement pour les ekMaster)
    if (this.client.ekMaster)
    {    
-      $(
-         '<div id="outilsBan">' +
+      this.util.outilsBan = $(
+         '<span id="outilsBan">' +
          '<form action=""><p><input id="raison" name="raison" type="text" size="10" maxlength="200"></input></p></form>' +
          '<img id="ban" src="img/ban.gif" alt="Ban de 3 jours" />' +
          '<img id="kick" src="img/kick.gif" alt="Ban de 15min" />' +
          '<img id="slap" src="img/slap.gif" alt="Avertissement" />' +
-         '</div>'
-      ).hover(
-         function(){},
-         function()
-         {
-            $("#outilsBan").hide()
-         }
-      ).appendTo("body")
+         '</span>'
+      )
       
-      this.util.infoBulle("Slap", $("#outilsBan #slap"))
-      this.util.infoBulle("Kick (" + conf.tempsKick + "min)", $("#outilsBan #kick"))
-      this.util.infoBulle("Ban (" + conf.tempsBan / 24 / 60 + " jours)", $("#outilsBan #ban"))
-      this.util.infoBulle("La raison", $("#outilsBan input"))
+      this.util.infoBulle("Slap", $("#slap", this.util.outilsBan))
+      this.util.infoBulle("Kick (" + conf.tempsKick + "min)", $("#kick", this.util.outilsBan))
+      this.util.infoBulle("Ban (" + conf.tempsBan / 24 / 60 + " jours)", $("#ban", this.util.outilsBan))
+      this.util.infoBulle("La raison", $("input", this.util.outilsBan))
    }
    
    this.util.infoBulle("Ouvrir la conversation liĆ©e au troll de la semaine", $("#trollCourant .troll")) 
@@ -180,7 +174,6 @@ PageMinichat.prototype.decharger = function()
    this.messages.pageEvent.stopAttenteCourante()
    
    $("body #smiles").remove()
-   $("body #outilsBan").remove()
 }
 
 PageMinichat.prototype.getJSONMessage = function(pseudo, message, repondA)
@@ -587,9 +580,9 @@ Conversation.prototype.flush = function(funClickOuvrirConv)
                   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()
-                  $("img", outils).unbind("click")
-                  $("#slap", outils).click(
+                  thisConversation.util.outilsBan.css("top", offset.top - 2).css("left", offset.left - 2).height(h < 16 ? 16 : h).width(element.width() + 16 * 3 + 4 + 64).prependTo(this).show()
+                  $("img", thisConversation.util.outilsBan).unbind("click")
+                  $("#slap", thisConversation.util.outilsBan).click(
                      function(e)
                      {
                         thisConversation.client.slap(userId, $("#outilsBan input").val())
@@ -597,7 +590,7 @@ Conversation.prototype.flush = function(funClickOuvrirConv)
                         $("#outilsBan").hide()
                      }
                   )
-                  $("#kick", outils).click(
+                  $("#kick", thisConversation.util.outilsBan).click(
                      function(e)
                      {
                         thisConversation.client.kick(userId, $("#outilsBan input").val())
@@ -605,7 +598,7 @@ Conversation.prototype.flush = function(funClickOuvrirConv)
                         $("#outilsBan").hide()
                      }
                   )
-                  $("#ban", outils).click(
+                  $("#ban", thisConversation.util.outilsBan).click(
                      function(e)
                      {
                         thisConversation.client.ban(userId, $("#outilsBan input").val())
@@ -614,7 +607,10 @@ Conversation.prototype.flush = function(funClickOuvrirConv)
                      }
                   )
                },
-               function(){}
+               function(e)
+               {
+                  $("#outilsBan", this).hide()
+               }
             )
          
          thisConversation.util.infoBulle("Extraction de la conversation", $(".extraire", this))
@@ -622,7 +618,7 @@ Conversation.prototype.flush = function(funClickOuvrirConv)
          $(this).click(
             function(event)
             {
-               if ($(event.target).is("a")) return
+               if ($(event.target).is("a") || $(event.target).parents().is("#outilsBan")) return
                
                // l'id du message
                var idMess = $(this).attr("id").substr(4)