MOD affichage des smiles dans une fenetre
[euphorik.git] / js / pageMinichat.js
index 31d19ba..9a88dce 100755 (executable)
@@ -14,14 +14,13 @@ function PageMinichat(client, formateur, util)
 
 PageMinichat.prototype.contenu = function()
 {
-// <input class="captcha" name="captcha" type="text" size="12"></input>\
    return '\
-<div id="smiles"></div>\
 <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>\
+      <button class="smiles"></button>\
       <button class="return"></button>\
    </p>\
 </form>\
@@ -41,8 +40,10 @@ PageMinichat.prototype.charger = function()
    \r
    this.util.setCaretToEnd(jQuery("form input.message")[0])
 
+   // <smiles>
+   jQuery("body").append("<div id=\"smiles\"></div>")
    // affichage des smiles
-   jQuery("#smiles").html(this.formateur.getSmilesHTML()).children().each(
+   jQuery("#smiles").append(this.formateur.getSmilesHTML()).children().each(
       function(i)
       {
          var opacityBase = jQuery(this).css("opacity")
@@ -72,12 +73,28 @@ PageMinichat.prototype.charger = function()
          )
       }
    )
+   jQuery("form button.smiles").hover(
+      function(e)
+      {
+         var offset = jQuery(e.target).offset()
+         jQuery("#smiles").css("top", offset.top).css("left", offset.left).show()
+      },
+      function(e){}
+   )
+   jQuery("#smiles").hover(
+      function(){},
+      function(e)
+      {
+         jQuery("#smiles").hide()
+      }
+   )
+   // </smiles>
    
-   /// événements
-   jQuery("form button.return").click(
+   // événements
+   var nouveauMessage = 
       function()
-      {  \r
-         // captcha anti bot\r
+      {  
+         // captcha anti bot
          if (jQuery("form input.captcha").val() != "") return
       
          thisPage.envoyerMessage(
@@ -87,9 +104,19 @@ PageMinichat.prototype.charger = function()
             
          jQuery("form input.message")[0].focus()
       }
+      
+   jQuery("form input.message").keypress(
+      function(e)
+      {
+         if (e.which == 13) // return
+            nouveauMessage()
+      }
    )
+   
+   jQuery("form button.return").click(nouveauMessage)
+   
    // interdiction de submiter le formulaire
-   jQuery("form").submit(function(){return false})
+   jQuery("form").submit(function(){ return false})
    
    jQuery("input.pseudo").click(
       function()
@@ -431,8 +458,9 @@ Conversation.prototype.flush = function(funClickOuvrirConv)
          
          // construit l'identifiant de la personne
          var identifiant = 
-            this.client.nickFormat == "nick" ? message.pseudo : 
-            (this.client.nickFormat == "login" ? message.login : message.pseudo + "(" + message.login +")" )
+            this.client.nickFormat == "nick" ? 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>" )
          
          var XHTMLrepondA = ""
          for (var id in message.repondA)
@@ -448,7 +476,7 @@ Conversation.prototype.flush = function(funClickOuvrirConv)
             "\">" +
                "<div class=\"extraire\">&gt;</div>" +
                "[<span class=\"date\">" + message.date + "</span>]" +
-               "<span class=\"pseudo\">" + this.formateur.traitementComplet(identifiant) + "</span>:" +
+               "<span class=\"pseudo\">" + identifiant + "</span>:" +
                XHTMLrepondA +
                "<span class=\"contenu\">" + (message.systeme ? this.formateur.remplacerBalisesHTML(message.contenu) : this.formateur.traitementComplet(message.contenu, message.pseudo)) + "</span>" +
             "</div>"