lastest modifies
[brisk.git] / web / info.js
index 1d4e197..d75212a 100644 (file)
@@ -25,10 +25,21 @@ var mlang_info = { 'btn_close' : { 'it' : 'Chiudi.',
                                    'en' : 'Close.' }
                  };
 
+function info_onlyifknown_isvisible_cb(item)
+{
+    var vis = 'inherit';
+
+    if (item.value == 'black' || item.value == 'unknown') {
+        vis = 'hidden';
+    }
+
+    $('info').getElementsByClassName('onlyifknown_gid')[0].style.visibility = vis;
+    return true;
+}
 
 function info_fld(dobj)
 {
-    var fields = { login: { type: 'value' },
+    var fields = { login: { type: 'value', perms: 'key' },
                    state: { type: 'value', perms: 'ro' },
                    guar: { type: 'value', perms: 'ro' },
 
@@ -47,18 +58,17 @@ function info_fld(dobj)
                    match: { type: 'value', perms: 'ro' },
                    game: { type: 'value', perms: 'ro' },
                    party: { type: 'value', perms: 'ro' },
-                   friend: { type: 'radio' },
+                   friend: { type: 'radio', cb: info_onlyifknown_isvisible_cb },
                    skill: { type: 'radio' },
                    trust: { type: 'radio' }
                  };
 
-    var ret = new Fieldify([dobj], fields);
-    return (ret);
+    return (new Fieldify([dobj], fields));
  }
 
 function info_show(username)
 {
-    var info_in_in = server_request('mesg', 'chatt|/info ' +
+    var info_in_in = server_request('index_wr.php', sess, 'mesg', 'chatt|/info ' +
                                             encodeURIComponent(username));
     var info_in = JSON.parse(info_in_in);
     var info = null;
@@ -66,7 +76,6 @@ function info_show(username)
     if (info_in.ret == 0) {
         info = info_fld($('info'));
         info.json2dom(info_in);
-        info_onlyifknown_isvisible();
         info.visible(true);
         }
     else {
@@ -90,45 +99,21 @@ function info_reset()
 {
     var ret, target;
 
-    target = $('info').getElementsByClassName('login_id')[0].innerHTML;
-    return info_show(target);
+    Fieldify.reset($('info'));
 }
 
 function info_save()
 {
     var info, jinfo, ret;
 
-    info = info_fld($('info'));
-    jinfo = info.dom2json();
+    jinfo = Fieldify.dom2json($('info'));
 
-    ret = server_request('mesg', 'info|save','__POST__', 'info', JSON.stringify(jinfo));
+    ret = server_request('index_wr.php', sess, 'mesg', 'info|save','__POST__', 'info', JSON.stringify(jinfo));
 
     if (ret == 1) {
-        $('info').style.visibility = 'hidden';
+        Fieldify.actualize($('info'));
     }
     else {
         alert(ret);
     }
 }
-function info_onlyifknown_isvisible()
-{
-    var vis = 'inherit';
-    var arr = fieldify_get_dom_element([$('info')], 'friend');
-    var obj = null;
-
-    for (var k = 0 ; k < arr.length ; k++) {
-        if (arr[k].checked == true) {
-            obj = arr[k];
-            break;
-        }
-    }
-    if (obj == null) {
-        return false;
-    }
-
-    if (obj.value == 'black' || obj.value == 'unknown') {
-        vis = 'hidden';
-    }
-    $('info').getElementsByClassName('onlyifknown_gid')[0].style.visibility = vis;
-    return true;
-}