ADD nouveaux smiles
[euphorik.git] / js / euphorik.js
index 7af2708..3b17bf5 100755 (executable)
@@ -21,19 +21,26 @@ var conf = {
       "bigsmile" : [/:D/g, /:-D/g],\r
       "clin" : [/;\)/g, /;-\)/g],\r
       "cool" : [/8\)/g, /8-\)/g],\r
-      "eheheh" : [/:P/g, /:-P/g],\r
-      "oh" : [/:o/g, /:O/g],\r
+      "eheheh" : [/:P/g, /:-P/g],
+      "lol" : [/\[-lol\]/g],
+      "spliff" : [/\[-spliff\]/g],\r
+      "oh" : [/:o/g, /:O/g],
+      "heink" : [/\[-heink\]/g],
+      "hum" : [/\[-hum\]/g],
+      "boh" : [/\[-boh\]/g],
+      "sniff" : [/:\(/g, /:-\(/g],
+      "triste" : [/\[-triste\]/g],\r
       "pascontent" : [/>\(/g, />\(/g],\r
-      "sniff" : [/:\(/g, /:-\(/g],\r
-      "argn" : [/\[:argn\]/g],\r
-      "bunny" : [/\[:lapin\]/g],\r
-      "chat" : [/\[:chat\]/g],\r
-      "renne" : [/\[:renne\]/g],\r
-      "lol" : [/\[:lol\]/g],\r
-      "spliff" : [/\[:spliff\]/g],\r
-      "star" : [/\[:star\]/g],\r
-      "triste" : [/\[:triste\]/g],\r
-      "kirby" : [/\[:kirby\]/g]\r
+      "argn" : [/\[-argn\]/g],
+      "redface" : [/\[-redface\]/g],\r
+      "bunny" : [/\[-lapin\]/g],\r
+      "chat" : [/\[-chat\]/g],\r
+      "renne" : [/\[-renne\]/g],\r
+      "star" : [/\[-star\]/g],\r
+      "kirby" : [/\[-kirby\]/g],
+      "slurp" : [/\[-slurp\]/g],
+      "agreed" : [/\[-agreed\]/g],
+      "dodo" : [/\[-dodo\]/g]\r
    }\r
 }\r
 
@@ -183,6 +190,29 @@ Util.prototype.replaceSelection = function(input, replaceString) {
    }\r
 }
 
+Util.prototype.rot13 = function(chaine)
+{
+   var ACode = 'A'.charCodeAt(0)
+   var aCode = 'a'.charCodeAt(0)
+   var MCode = 'M'.charCodeAt(0)
+   var mCode = 'm'.charCodeAt(0)
+   var ZCode = 'Z'.charCodeAt(0)
+   var zCode = 'z'.charCodeAt(0)
+
+   var f = function(ch, pos) {
+      if (pos == ch.length)
+         return ""
+      
+      var c = ch.charCodeAt(pos);
+      return String.fromCharCode(
+         c +
+         (c >= ACode && c <= MCode || c >= aCode && c <= mCode ? 13 :
+         (c > MCode && c <= ZCode || c > mCode && c <= zCode ? -13 : 0))
+      ) + f(ch, pos + 1)
+   }
+   return f(chaine, 0)
+}
+
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
 function Pages()
@@ -392,6 +422,7 @@ Client.prototype.resetDonneesPersonnelles = function()
    this.password = ""\r
    this.email = ""\r
    this.css = jQuery("link#cssPrincipale").attr("href")
+   this.nickFormat = "nick"
    
    this.pagePrincipale = 1
    
@@ -527,6 +558,7 @@ Client.prototype.getJSONProfile = function()
       "nick" : this.pseudo,
       "email" : this.email,
       "css" : this.css,
+      "nick_format" : this.nickFormat,
       "main_page" : this.pagePrincipale < 1 ? 1 : this.pagePrincipale,
       "conversations" : this.getJSONConversations()
    }
@@ -564,6 +596,7 @@ Client.prototype.authentifie = function()
 
 Client.prototype.setStatut = function(statut)
 {  
+   //alert(statut)
    // conversation en "enum" si en "string"\r
    if (typeof(statut) == "string")\r
    {
@@ -636,7 +669,8 @@ Client.prototype.connexion = function(messageJson)
 }\r
 \r
 Client.prototype.deconnexion = function()\r
-{\r
+{
+   this.flush()\r
    this.setStatut(statutType.deconnected) // deconnexion\r
    this.resetDonneesPersonnelles()\r
    this.delCookie ()\r
@@ -657,6 +691,7 @@ Client.prototype.chargerDonnees = function(data)
       this.pseudo = data["nick"]\r
       this.email = data["email"]\r
       this.css = data["css"]
+      this.nickFormat = data["nick_format"]
       
       // la page de la conversation principale
       this.pagePrincipale = data["main_page"] == undefined ? 1 : data["main_page"]
@@ -753,12 +788,6 @@ jQuery.noConflict()
 jQuery(document).ready(
    function()
    {  
-      /* FIXME : ce code pose problème sur konqueror, voir : http://www.kde-forum.org/thread.php?threadid=17993
-      var p = new DOMParser();
-      var doc =  p.parseFromString("<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n<action/>", "text/xml")
-      var s = new XMLSerializer()
-      alert(s.serializeToString(doc)) */
-   
       var util = new Util()
       var client = new Client(util)
       var pages = new Pages()
@@ -773,7 +802,6 @@ jQuery(document).ready(
       jQuery(window).unload(
          function()
          {
-            //alert("ok")
             client.flush(false)
          }
       )
@@ -792,10 +820,12 @@ jQuery(document).ready(
          )
       })
       jQuery("#menu .register").click(function(){ pages.afficherPage("register") })
+      jQuery("#menu .about").click(function(){ pages.afficherPage("about") })
 
       pages.ajouterPage(new PageMinichat(client, formateur, util))
       pages.ajouterPage(new PageProfile(client, formateur, util))
       pages.ajouterPage(new PageRegister(client, formateur, util))
+      pages.ajouterPage(new PageAbout(client, formateur, util))
       pages.afficherPage("minichat")
    }
 )
\ No newline at end of file