<script type="text/javascript"> var ldap_server_select = document.getElementById('rcfmd_ldap_public_servers'); if (ldap_server_select) { // attach event to ldap server drop down ldap_server_select.onchange = function() { updateLdapSearchFields(this); return false; } // update the fields on page load updateLdapSearchFields(ldap_server_select); } /** * function to change the attributes of the ldap server search fields select box * this function is triggered by an onchange event in the server select box */ function updateLdapSearchFields(element) { // get the search fields select element var search_fields = document.getElementById('rcfmd_ldap_public_search_field'); // get rid of the current options for the select for (i = search_fields.length - 1; i>=0; i--) search_fields.remove(i); // get the array containing this servers search fields var server_fields = rcmail.env[element.value + '_search_fields']; // add a new option for each of the possible search fields for the selected server for (i = 0; i < server_fields.length; i++) { // the last array value is for fuzzy search, so skip that one if (i < (server_fields.length - 1)) { var new_option = document.createElement('option'); new_option.text = server_fields[i][0]; new_option.value = server_fields[i][1]; // standards compliant browsers try { search_fields.add(new_option, null); } // for the standards challenged one... catch(e) { search_fields.add(new_option); } } else { // ok, last member of array, so check the value of fuzzy_search var fuzzy_search = server_fields[i]; var search_check_box = document.getElementById('rcmfd_ldap_public_search_type'); if (fuzzy_search == 'fuzzy') { // we should enable the check box if (search_check_box.disabled) search_check_box.disabled = false; // make sure the checkbox is unchecked if (search_check_box.checked) search_check_box.checked = false; } else { // we should disable the check box if (!search_check_box.disabled) search_check_box.disabled = true; // check the checkbox (just a visual clue for the user) if (!search_check_box.checked) search_check_box.checked = true; } } } } </script>