X-Git-Url: http://mop.ddnsfree.com/gitweb/?a=blobdiff_plain;f=web%2Fprefs.js;h=87d84c8b2166d65008442d30e5d61d2ee1f3ee10;hb=611729e22280bfa6801521e6d115469d01756c6f;hp=4fe20b8cb4519aa0b0d6febb7b39bc8d7d050f58;hpb=b65dddf6cb8fdc5a98719ed170ca38c2059b362c;p=brisk.git diff --git a/web/prefs.js b/web/prefs.js index 4fe20b8..87d84c8 100644 --- a/web/prefs.js +++ b/web/prefs.js @@ -1,6 +1,10 @@ -var l_list_all = 0x00; +var l_list_all = 0x00; var l_list_auth = 0x01; var l_list_isol = 0x02; +var l_prefs_list_idx = new Array( 0x00, 0x01, 0x02 ); +var l_prefs_list_id = new Array( "all", "auth", "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 +30,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 +39,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,6 +57,10 @@ 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; } @@ -107,10 +112,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 +134,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 +143,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 */