add webside implementation for party show
[brisk.git] / web / info.js
index 8587e98..54d9093 100644 (file)
@@ -25,19 +25,35 @@ var mlang_info = { 'btn_close' : { 'it' : 'Chiudi.',
                                    'en' : 'Close.' }
                  };
 
+
 function info_fld(dobj)
 {
     var fields = { login: { type: 'value' },
                    state: { type: 'value', perms: 'ro' },
                    guar: { type: 'value', perms: 'ro' },
+
+                   widefriend: { type: 'fields', fields: { skill: { type: 'value', perms: 'ro' },
+                                                           black: { type: 'value', perms: 'ro' },
+                                                           test: { type: 'value', perms: 'ro'},
+                                                           friend: { type: 'value', perms: 'ro'},
+                                                           bff: { type: 'value', perms: 'ro'}
+                                                         } },
+                   narrowfriend: { type: 'fields', fields: { skill: { type: 'value', perms: 'ro' },
+                                                             black: { type: 'value', perms: 'ro'},
+                                                             test: { type: 'value', perms: 'ro'},
+                                                             friend: { type: 'value', perms: 'ro'},
+                                                             bff: { type: 'value', perms: 'ro'}
+                                                         } },
                    match: { type: 'value', perms: 'ro' },
                    game: { type: 'value', perms: 'ro' },
+                   party: { type: 'value', perms: 'ro' },
                    friend: { type: 'radio' },
                    skill: { type: 'radio' },
                    trust: { type: 'radio' }
                  };
 
-    return (new Fieldify(dobj, fields));
+    var ret = new Fieldify([dobj], fields);
+    return (ret);
  }
 
 function info_show(username)
@@ -50,6 +66,7 @@ function info_show(username)
     if (info_in.ret == 0) {
         info = info_fld($('info'));
         info.json2dom(info_in);
+        info_onlyifknown_isvisible();
         info.visible(true);
         }
     else {
@@ -93,3 +110,25 @@ function info_save()
         alert(ret);
     }
 }
+function info_onlyifknown_isvisible()
+{
+    var vis = 'inherit';
+    var arr = $('info').getElementsByClassName('friend_id');
+    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_id')[0].style.visibility = vis;
+    return true;
+}