2 var l_list_isol = 0x01;
3 var l_prefs_list_idx = new Array( 0x00, 0x01 );
4 var l_prefs_list_id = new Array( "all", "isol" );
5 var l_comps_name = new Array('s_fg_r', 's_fg_g', 's_fg_b', 's_bg_r', 's_bg_g', 's_bg_b');
8 function client_prefs(old)
11 this.listen = old.listen;
12 this.supp_comp = old.supp_comp;
16 client_prefs.prototype = {
18 supp_comp: 'ff00ffff00'
21 function prefs_assign(content)
26 s = "prefs_new = " + content;
32 function prefs_apply(prefs_new, is_update, is_volat)
37 if (typeof(g_prefs) == 'undefined')
39 /* listen management */
40 if (g_prefs.listen != prefs_new.listen || is_update) {
41 for (i = 0 ; i < l_prefs_list_idx.length ; i++) {
42 set_checked_value($('ra_listen_'+l_prefs_list_id[i]), prefs_new.listen);
43 if (prefs_new.listen == l_prefs_list_idx[i]) {
45 $('list_'+l_prefs_list_id[i]).style.color = 'red';
46 $('list_info').innerHTML = mlang_commons['tit_list'][i][g_lang];
50 $('list_'+l_prefs_list_id[i]).style.color = 'black';
57 // supporter component management
58 if (g_prefs.supp_comp != prefs_new.supp_comp || is_update) {
60 for (i = 0 ; i < 6 ; i++) {
61 $(l_comps_name[i]).value = parseInt(prefs_new.supp_comp.substr(i*2,2), 16);
63 $('s_img').src = 'suprend.php?comp='+prefs_new.supp_comp;
66 if (relo || !is_update) {
67 $$('tr.noauth').css("display", (prefs_new.listen == l_list_isol ? 'none' : ''));
68 $$('td.noauth').css("display", (prefs_new.listen == l_list_isol ? 'none' : ''));
70 if (prefs_new.listen == l_list_isol) {
78 // ricalculation of standup area
79 if (standup_data_old != null) {
80 standup_data = standup_data_old;
81 standup_data_old = null;
82 j_stand_cont(standup_data);
87 g_prefs.listen = prefs_new.listen;
88 g_prefs.supp_comp = prefs_new.supp_comp;
91 function prefs_load(content, is_update, is_volat)
95 // console.log('prefs_load('+content+')');
97 if ((prefs_new = prefs_assign(content)) == null)
100 return prefs_apply(prefs_new, is_update, is_volat);
103 function prefs_save()
107 if (typeof(g_prefs) == 'undefined')
110 ret = server_request('mesg', 'prefs|save','__POST__', 'prefs', JSON.stringify(g_prefs));
113 $('preferences').style.visibility = 'hidden';
120 function prefs_reset()
124 ret = server_request('mesg', 'prefs|reset');
127 function prefs_update(field)
132 // console.log("prefs_update("+field+")");
134 if (typeof(g_prefs) == 'undefined')
137 prefs_new = new client_prefs(g_prefs);
139 if (field == 'listen') {
140 /* listen management */
141 for (i = 0 ; i < l_prefs_list_idx.length ; i++) {
142 prefs_new.listen = get_checked_value($('ra_listen_'+l_prefs_list_id[i]));
143 if (prefs_new.listen != '')
147 else if (field == 'supp') {
148 for (i = 0 ; i < 6 ; i++) {
149 if (parseInt($(l_comps_name[i]).value) < 0 || parseInt($(l_comps_name[i]).value) > 255 ||
150 isNaN(parseInt($(l_comps_name[i]).value))) {
156 prefs_new.supp_comp = "";
157 for (i = 0 ; i < 6 ; i++) {
158 prefs_new.supp_comp += dec2hex(parseInt($(l_comps_name[i]).value), 2);
162 // console.log("prefs_update:: i break "+i+" ["+prefs_new.supp_comp+"]");
164 for (i = 0 ; i < 6 ; i++) {
165 $(l_comps_name[i]).value = parseInt(prefs_new.supp_comp.substr(i*2, 2), 16);
169 /* from form to struct */
170 prefs_apply(prefs_new, true, true);
173 function list_set(what, is_update, info)
177 var old_st = readCookie("CO_list");
179 if (what == 'isolation') {
180 $('list_isol').style.color = 'red';
181 $('list_all').style.color = 'black';
182 if (old_st != 'isolation')
184 g_listen = l_list_isol;
187 $('list_isol').style.color = 'black';
188 $('list_all').style.color = 'red';
189 if (old_st == 'isolation')
191 g_listen = l_list_all;
194 set_checked_value($('ra_listen_isol'), what);
195 set_checked_value($('ra_listen_all'), what);
197 $('list_info').innerHTML = info;
199 createCookie("CO_list", what, 24*365, cookiepath);
203 if (relo || !is_update) {
204 $$('tr.noauth').css("display", (what == 'isolation' ? 'none' : ''));
205 $$('td.noauth').css("display", (what == 'isolation' ? 'none' : ''));
207 if (what == 'isolation') {
215 // ricalculation of standup area
216 if (standup_data_old != null) {
217 standup_data = standup_data_old;
218 standup_data_old = null;
219 j_stand_cont(standup_data);