%# BEGIN BPS TAGGED BLOCK {{{
%#
%# COPYRIGHT:
%#
%# This software is Copyright (c) 1996-2025 Best Practical Solutions, LLC
%#                                          <sales@bestpractical.com>
%#
%# (Except where explicitly superseded by other copyright notices)
%#
%#
%# LICENSE:
%#
%# This work is made available to you under the terms of Version 2 of
%# the GNU General Public License. A copy of that license should have
%# been provided with this software, but in any event can be snarfed
%# from www.gnu.org.
%#
%# This work is distributed in the hope that it will be useful, but
%# WITHOUT ANY WARRANTY; without even the implied warranty of
%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
%# General Public License for more details.
%#
%# You should have received a copy of the GNU General Public License
%# along with this program; if not, write to the Free Software
%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
%# 02110-1301 or visit their web page on the internet at
%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
%#
%#
%# CONTRIBUTION SUBMISSION POLICY:
%#
%# (The following paragraph is not intended to limit the rights granted
%# to you to modify and distribute this software under the terms of
%# the GNU General Public License and is only of importance to you if
%# you choose to contribute your changes and enhancements to the
%# community by submitting them to Best Practical Solutions, LLC.)
%#
%# By intentionally submitting any modifications, corrections or
%# derivatives to this work, or any other work intended for use with
%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
%# you are the copyright holder for those contributions and you grant
%# Best Practical Solutions,  LLC a nonexclusive, worldwide, irrevocable,
%# royalty-free, perpetual, license to use, copy, create derivative
%# works based on those contributions, and sublicense and distribute
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
% if ( $Multiple ) {
<textarea \
% if ( defined $Cols ) {
cols="<% $Cols %>" \
% }
% if ( defined $Rows ) {
rows="<% $Rows %>" \
% }
name="<% $name %>" id="<% $name %>" class="CF-<%$CustomField->id%>-Edit"><% $Default || '' %></textarea>

<script type="text/javascript">
var id = <% "$name" |n,j%>;
id = id.replace(/:/g,'\\:');
jQuery('#'+id).autocomplete( {
    source: RT.Config.WebHomePath + "/Helpers/Autocomplete/CustomFieldValues?"+<% $Context |n,j %>+<% $name |n,u,j%>,
    focus: function () {
        // prevent value inserted on focus
        return false;
    },
    select: function(event, ui) {
        var terms = this.value.split(/\n/);
        // remove the current input
        terms.pop();
        // add the selected item
        terms.push( ui.item.value );
        // add placeholder to get the comma-and-space at the end
        terms.push("");
        this.value = terms.join("\n");
        return false;
    }
}
);
% } else {
<input type="text" id="<% $name %>" name="<% $name %>" class="CF-<%$CustomField->id%>-Edit" value="<% $Default || '' %>"/>
<script type="text/javascript">
var id = <% $name |n,j%>;
id = id.replace(/:/g,'\\:');
jQuery('#'+id).autocomplete( {
    source: RT.Config.WebHomePath + "/Helpers/Autocomplete/CustomFieldValues?"+<% $Context |n,j %>+<% $name |n,u,j%>
}
);
% }
</script>
<%INIT>
my $name = $Name || $NamePrefix . $CustomField->Id . ( $Multiple ?  '-Values' : '-Value' );
if ( $Default && !$Multiple ) {
    $Default =~ s/\s*\r*\n\s*/ /g;
}
if ( $Multiple and $Values ) {
    $Default = '';
    while (my $value = $Values->Next ) {
        $Default .= $value->Content ."\n";
    }
}
my $Context = "";
if ($CustomField->ContextObject) {
    $Context .= "ContextId="  . $CustomField->ContextObject->Id  . "&";
    $Context .= "ContextType=". ref($CustomField->ContextObject) . "&";
}
</%INIT>
<%ARGS>
$CustomField => undef
$NamePrefix  => undef
$Name        => undef
$Default     => undef
$Values      => undef
$Multiple    => undef
$Rows        => undef
$Cols        => undef
</%ARGS>
