jQuery(function($) { field_id = document.getElementById('tags') ? "tags" : "field-keywords"; // toggle (remove or add) a keyword tag to the field function addRemoveTag(w) { var el = document.getElementById(field_id); var orig = el.value; // remove the keyword including white spaces and separator, match case-insensitive var filter = function(v) { return v.length !== w.length || v.toLowerCase() !== w.toLowerCase(); }; var newval = $.grep(orig.split(/[;,\s]+/), filter).join(' '); var link = document.getElementById('trac-keyword-' + w); if (orig != newval) { // keyword remove if(link) link.className = ''; } else { // keyword add newval = orig + (orig ? ' ' : '') + w; if(link) link.className = 'trac-keyword'; } //strip leading and trailing white spaces and separator el.value = newval.replace(/^[;,\s]+|[;,\s]+$/, ''); } function regexp_escape(text) { // Escape special regex characters (except hyphen, comma, underscore, 0-9, A-Z and a-z) return text.replace(/[^-,_0-9A-Za-z]/g, '\\$&'); } if($('#trac-keywords').length > 0) {return}// avoid duplicate insertion of keyword section var $fieldset = $('
'); $fieldset.append('') $ul = $('