X-Git-Url: https://mop.ddnsfree.com/gitweb/?a=blobdiff_plain;f=web%2Fprefs.js;h=e880506848f9f4f5b75b34ad74f7e59a7c959403;hb=1fc2a56fc5b81d917ce929be0e2f0d53672a26fa;hp=4fe20b8cb4519aa0b0d6febb7b39bc8d7d050f58;hpb=b65dddf6cb8fdc5a98719ed170ca38c2059b362c;p=brisk.git diff --git a/web/prefs.js b/web/prefs.js index 4fe20b8..e880506 100644 --- a/web/prefs.js +++ b/web/prefs.js @@ -1,6 +1,9 @@ -var l_list_all = 0x00; -var l_list_auth = 0x01; -var l_list_isol = 0x02; +var l_list_all = 0x00; +var l_list_isol = 0x01; +var l_prefs_list_idx = new Array( 0x00, 0x01 ); +var l_prefs_list_id = new Array( "all", "isol" ); +var l_comps_name = new Array('s_fg_r', 's_fg_g', 's_fg_b', 's_bg_r', 's_bg_g', 's_bg_b'); + function client_prefs(old) { @@ -26,9 +29,6 @@ function prefs_assign(content) 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; @@ -38,16 +38,16 @@ function prefs_apply(prefs_new, is_update, is_volat) return false; /* listen management */ if (g_prefs.listen != prefs_new.listen || is_update) { - 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]) { + for (i = 0 ; i < l_prefs_list_idx.length ; i++) { + set_checked_value($('ra_listen_'+l_prefs_list_id[i]), prefs_new.listen); + if (prefs_new.listen == l_prefs_list_idx[i]) { if (!is_volat) - $('list_'+prefs_list_id[i]).style.color = 'red'; + $('list_'+l_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'; + $('list_'+l_prefs_list_id[i]).style.color = 'black'; } } @@ -56,11 +56,15 @@ function prefs_apply(prefs_new, is_update, is_volat) // supporter component management if (g_prefs.supp_comp != prefs_new.supp_comp || is_update) { + + for (i = 0 ; i < 6 ; i++) { + $(l_comps_name[i]).value = parseInt(prefs_new.supp_comp.substr(i*2,2), 16); + } $('s_img').src = 'suprend.php?comp='+prefs_new.supp_comp; } if (relo || !is_update) { - for (i = g_tables_auth_n ; i < g_tables_n ; i++) { + for (i = g_tables_appr_n ; i < g_tables_n ; i++) { if (i % 4 == 0) { $('tr_noauth'+i).style.display = (prefs_new.listen == l_list_isol ? 'none' : ''); } @@ -107,10 +111,21 @@ function prefs_save() if (typeof(g_prefs) == 'undefined') return false; - ret = server_request('mesg', 'prefs','__POST__', 'prefs', JSON.stringify(g_prefs)); + ret = server_request('mesg', 'prefs|save','__POST__', 'prefs', JSON.stringify(g_prefs)); - if (ret == 1) + if (ret == 1) { $('preferences').style.visibility = 'hidden'; + } + else { + alert(ret); + } +} + +function prefs_reset() +{ + var ret; + + ret = server_request('mesg', 'prefs|reset'); } function prefs_update(field) @@ -118,7 +133,6 @@ function prefs_update(field) var i; var prefs_new; var relo = false; - // console.log("prefs_update("+field+")"); if (typeof(g_prefs) == 'undefined') @@ -128,14 +142,32 @@ function prefs_update(field) if (field == 'listen') { /* listen management */ - for (i = 0 ; i < prefs_list_idx.length ; i++) { - prefs_new.listen = get_checked_value($('ra_listen_'+prefs_list_id[i])); + for (i = 0 ; i < l_prefs_list_idx.length ; i++) { + prefs_new.listen = get_checked_value($('ra_listen_'+l_prefs_list_id[i])); if (prefs_new.listen != '') break; } } else if (field == 'supp') { - prefs_new.supp_comp = "" + dec2hex($('s_fg_r').value, 2) + dec2hex($('s_fg_g').value, 2) + dec2hex($('s_fg_b').value, 2) + dec2hex($('s_bg_r').value, 2) + dec2hex($('s_bg_g').value, 2) + dec2hex($('s_bg_b').value, 2); + for (i = 0 ; i < 6 ; i++) { + if (parseInt($(l_comps_name[i]).value) < 0 || parseInt($(l_comps_name[i]).value) > 255 || + isNaN(parseInt($(l_comps_name[i]).value))) { + break; + } + } + + if (i == 6) { + prefs_new.supp_comp = ""; + for (i = 0 ; i < 6 ; i++) { + prefs_new.supp_comp += dec2hex(parseInt($(l_comps_name[i]).value), 2); + } + } + + // console.log("prefs_update:: i break "+i+" ["+prefs_new.supp_comp+"]"); + + for (i = 0 ; i < 6 ; i++) { + $(l_comps_name[i]).value = parseInt(prefs_new.supp_comp.substr(i*2, 2), 16); + } } /* from form to struct */ @@ -148,16 +180,7 @@ function list_set(what, is_update, info) var relo = false; var old_st = readCookie("CO_list"); - if (what == 'auth') { - $('list_auth').style.color = 'red'; - $('list_isol').style.color = 'black'; - $('list_all').style.color = 'black'; - if (old_st == 'isolation') - relo = true; - g_listen = l_list_auth; - } - else if (what == 'isolation') { - $('list_auth').style.color = 'black'; + if (what == 'isolation') { $('list_isol').style.color = 'red'; $('list_all').style.color = 'black'; if (old_st != 'isolation') @@ -165,7 +188,6 @@ function list_set(what, is_update, info) g_listen = l_list_isol; } else { - $('list_auth').style.color = 'black'; $('list_isol').style.color = 'black'; $('list_all').style.color = 'red'; if (old_st == 'isolation') @@ -173,7 +195,6 @@ function list_set(what, is_update, info) g_listen = l_list_all; } - set_checked_value($('ra_listen_auth'), what); set_checked_value($('ra_listen_isol'), what); set_checked_value($('ra_listen_all'), what); @@ -184,7 +205,7 @@ function list_set(what, is_update, info) if (relo || !is_update) { - for (i = g_tables_auth_n ; i < g_tables_n ; i++) { + for (i = g_tables_appr_n ; i < g_tables_n ; i++) { if (i % 4 == 0) { $('tr_noauth'+i).style.display = (what == 'isolation' ? 'none' : '');