new login consistency constraint added (no more than 2 consecutive same char or digits)
[brisk.git] / web / room.js
index 2dd207c..e914fbf 100644 (file)
@@ -460,6 +460,10 @@ function j_tab_act_cont(idx, act)
         // MLANG 1
         $("table_act"+idx).innerHTML = '<input type="button" class="button" name="xhenter'+idx+'"  value="'+(g_lang == 'en' ? "Sit down." : "Mi siedo.")+'" onclick="act_sitdown('+idx+');">';
     }
+    else if (act == 'sitappr') {
+        // MLANG 1
+        $("table_act"+idx).innerHTML = '<input type="button" style="background-repeat: no-repeat; background-position: center; background-image: url(\'img/okappr.png\');" class="button" name="xhenter'+idx+'"  value="'+(g_lang == 'en' ? "Sit down." : "Mi siedo.")+'" onclick="act_sitdown('+idx+');" title="'+(g_lang == 'en' ? "reserved table for authenticated and apprentice users only" : "tavolo riservato agli utenti registrati e agli apprendisti")+'" alt="'+(g_lang == 'en' ? "reserved table for authenticated and apprentice users only" : "tavolo riservato agli utenti registrati e agli apprendisti")+'">';
+    }
     else if (act == 'sitreser') {
         // MLANG 1
         $("table_act"+idx).innerHTML = '<input type="button" style="background-repeat: no-repeat; background-position: center; background-image: url(\'img/okauth.png\');" class="button" name="xhenter'+idx+'"  value="'+(g_lang == 'en' ? "Sit down." : "Mi siedo.")+'" onclick="act_sitdown('+idx+');" title="'+(g_lang == 'en' ? "reserved table for authenticated users only" : "tavolo riservato agli utenti registrati")+'" alt="'+(g_lang == 'en' ? "reserved table for authenticated users only" : "tavolo riservato agli utenti registrati")+'">';
@@ -487,6 +491,8 @@ function j_tab_act_cont(idx, act)
 
 function j_check_login(login, ret)
 {
+    var cmp;
+
     if (login.length > 12) {
         // FIXME LANG
         ret.ret += (g_lang == 'en' ? "Nickname too long." : "Nickname troppo lungo.");
@@ -498,15 +504,24 @@ function j_check_login(login, ret)
         if ((login[i] >= '0' && login[i] <= '9') ||
             (login[i] >= 'a' && login[i] <= 'z') ||
             (login[i] >= 'A' && login[i] <= 'Z')) {
-            if (old_c != login[i]) {
-                old_c = login[i];
-                old_ct = 0;
+            if (login[i] >= '0' && login[i] <= '9')
+                cmp = '0';
+            else
+                cmp = login[i];
+
+            if (old_c != cmp) {
+                old_c = cmp;
+                old_ct = 1;
             }
             else {
-                if (old_ct > 3) {
+                if (old_ct > 2) {
                     // FIXME LANG
-                    ret.ret = (g_lang == 'en' ? "More than three contiguous '" + old_c + "' not allowed." :
-                               "Il nickname contiene più di tre caratteri '" + old_c + "' consecutivi.");
+                    if (old_c == '0')
+                        ret.ret = (g_lang == 'en' ? "More than two contiguous digits not allowed." :
+                                   "Il nickname contiene più di 2 cifre consecutive.");
+                    else
+                        ret.ret = (g_lang == 'en' ? "More than two contiguous '" + old_c + "' not allowed." :
+                                   "Il nickname contiene più di 2 caratteri '" + old_c + "' consecutivi.");
                     return (false);
                 }
             }
@@ -635,7 +650,7 @@ function mesgtoadm_formtext_hilite(form)
 
 function j_check_email(email, ret)
 {
-    if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,10})+$/.test(email))
+    if (/^\w+([\.-]*\w+)*@\w+([\.-]*\w+)*(\.\w{2,10})+$/.test(email))
         return (true);
     ret.ret += (g_lang == 'en' ? "Invalid email address. " :
                 "Indirizzo e-mail non valido.");