X-Git-Url: https://mop.ddnsfree.com/gitweb/?a=blobdiff_plain;f=web%2Froom.js;h=8456ecfa4e5ba4f2992e002811f4600d6e8ac63f;hb=2dafd9b1a8edbf64595bee1e669be6c95921bf61;hp=0c81cff3774010dee94ccc4a3045952e0d9dc753;hpb=fa82ba0deaaab26b5b9efe37c392a34cbec50a66;p=brisk.git diff --git a/web/room.js b/web/room.js index 0c81cff..8456ecf 100644 --- a/web/room.js +++ b/web/room.js @@ -1,7 +1,7 @@ /* * brisk - room.js * - * Copyright (C) 2006-2011 Matteo Nastasi + * Copyright (C) 2006-2012 Matteo Nastasi * mailto: nastasi@alternativeoutput.it * matteo.nastasi@milug.org * web: http://www.alternativeoutput.it @@ -23,14 +23,24 @@ /* + data = [ [ flags, name ], ... ] */ + var l_list_all = 0x00; var l_list_auth = 0x01; var l_list_isol = 0x02; +function client_prefs() +{ +} + +client_prefs.prototype = { + listen: -1 +} + function state_add(flags) { var content = "", supercont = ""; @@ -86,6 +96,22 @@ function state_add(flags) name = "st_mop.png"; tit = (g_lang == 'en' ? "Mop time" : "sto rassettando"); break; + case 0xc00: + name = "st_babbo.png"; + tit = (g_lang == 'en' ? "Sto dando i regali" : "sto dando i regali"); + break; + case 0xd00: + name = "st_renna.png"; + tit = (g_lang == 'en' ? "in giro per regali" : "in giro per regali"); + break; + case 0xe00: + name = "st_pupaz.png"; + tit = (g_lang == 'en' ? "Neve a gogò" : "neve a gogò"); + break; + case 0xf00: + name = "st_visch.png"; + tit = (g_lang == 'en' ? "aspettando sotto al vischio" : "aspettando sotto al vischio"); + break; default: break; } @@ -123,7 +149,7 @@ var standup_data_old = null; function table_add(curtag, td) { - var tbody = null, tr; + var tbody = null, tr, ct; do { // console.log("wt: "+curtag.tagName); @@ -241,25 +267,7 @@ function table_walk(curtag) function j_stand_tdcont(el) { - var content = ""; - - if (el[0] & 0x01) - content += ''; - - if (el[0] & 0x02) - content += ''; - - content += el[1]; - - if (el[0] & 0x02) - content += ''; - - if (el[0] & 0x01) - content += ''; - - content += state_add(el[0]); - - return (content); + return (user_dec_and_state(el)); } function j_stand_cont(ddata) @@ -437,7 +445,7 @@ function esco_cb() { window.onbeforeunload = null; window.onunload = null; // nonunload = true; - act_logout(); + act_logout(0); }; @@ -448,20 +456,9 @@ function j_tab_cont(table_idx, data) var content = ''; for (i = 0 ; i < data.length ; i++) { - if (data[i][0] & 0x01) - content += ''; - - if (data[i][0] & 0x02) - content += ''; - - content += data[i][1]; - - if (data[i][0] & 0x02) - content += ''; - - if (data[i][0] & 0x01) - content += ''; - content += state_add(data[i][0]); + // content += user_decorator(data[i]); + // content += state_add(data[i][0]); + content += j_stand_tdcont(data[i]); content += '
'; } @@ -707,12 +704,127 @@ function j_pollbox(form) return (false); } +function prefs_assign(content) +{ + var prefs_new; + var s; + + s = "prefs_new = " + content; + eval(s); + return (prefs_new); +} + +var prefs_list_idx = new Array( 0x00, 0x01, 0x02 ); +var prefs_list_id = new Array( "all", "auth", "isol" ); +function prefs_apply(prefs_new, is_update, is_volat) +{ + var i; + var relo = false; + + if (typeof(g_prefs) == 'undefined') + return false; + + /* listen management */ + if (g_prefs.listen != prefs_new.listen) { + for (i = 0 ; i < prefs_list_idx.length ; i++) { + set_checked_value($('ra_listen_'+prefs_list_id[i]), prefs_new.listen); + if (prefs_new.listen == prefs_list_idx[i]) { + if (!is_volat) + $('list_'+prefs_list_id[i]).style.color = 'red'; + $('list_info').innerHTML = mlang_commons['tit_list'][i][g_lang]; + } + else { + if (!is_volat) + $('list_'+prefs_list_id[i]).style.color = 'black'; + } + } + + relo = true; + } + + + // TO BE ANALYZED !!! + // if (is_update) { + // createCookie("CO_list", what, 24*365, cookiepath); + // } + + + if (relo || !is_update) { + for (i = g_tables_auth_n ; i < g_tables_n ; i++) { + if (i % 4 == 0) { + $('tr_noauth'+i).style.display = (prefs_new.listen == l_list_isol ? 'none' : ''); + } + + $('td_noauth'+i).style.display = (prefs_new.listen == l_list_isol ? 'none' : ''); + } + if (prefs_new.listen == l_list_isol) { + tra.hide_noauth(); + } + else { + tra.show_noauth(); + } + + if (false) { + // ricalculation of standup area + if (standup_data_old != null) { + standup_data = standup_data_old; + standup_data_old = null; + j_stand_cont(standup_data); + } + } + } + + g_prefs.listen = prefs_new.listen; +} + +function prefs_load(content, is_update, is_volat) +{ + var prefs_new; + + if ((prefs_new = prefs_assign(content)) == null) + return false; + + return prefs_apply(prefs_new, is_update, is_volat); +} + +function prefs_save() +{ + if (typeof(g_prefs) == 'undefined') + return false; + + console.log(server_request('mesg', 'prefs', '__POST__', 'prefs', JSON.stringify(g_prefs))); + // close the win: + // $('preferences').style.visibility = 'hidden'; +} + +function prefs_update() +{ + var i; + var prefs_new; + var relo = false; + + if (typeof(g_prefs) == 'undefined') + return false; + + prefs_new = new client_prefs(); + + /* listen management */ + for (i = 0 ; i < prefs_list_idx.length ; i++) { + prefs_new.listen = get_checked_value($('ra_listen_'+prefs_list_id[i])); + if (prefs_new.listen != '') + break; + } + + /* TODO SAVE TEMPORARY */ + /* from form to struct */ + console.log("Prefs_update"); + prefs_apply(prefs_new, true, true); +} function list_set(what, is_update, info) { - // console.log(what); var i; var relo = false; var old_st = readCookie("CO_list");