--- Webpacus/root/js/search.js 2005/12/26 22:02:55 328 +++ Webpacus/root/js/search.js 2005/12/27 21:36:42 329 @@ -188,11 +188,46 @@ function checkbox_click() { if (search_active) return false; - submit_results_form(); Logger.debug('checkbox_click'); + submit_results_form(); return true; } +/* toggle or select checkbox with value toggle */ + +function checkbox_toggle( name, val ) { + return checkbox_magic( name, val, 0 ); +} + +function checkbox_single( name, val ) { + return checkbox_magic( name, val, 1 ); +} + +function checkbox_magic( name, val, single ) { + + Logger.info('checkbox_magic('+name+','+val+','+single+')'); + + var form = $('results_form'); + var inputs = form.getElementsByTagName('input'); + + for (var i = 0; i < inputs.length; i++) { + var input = inputs[i]; + if (input.type != 'checkbox') continue; + if (single) { + input.checked = false; + } + if (input.name != name || input.value != val) continue; + Logger.debug('toggle '+input.name+'='+input.value+' '+input.checked); + input.checked = ! input.checked; + if (! single) { + submit_results_form(); + return false; + } + } + submit_results_form(); + return false; +} + /* reset form fields in _reset hidden field to nothing */ function reset_form() {