function cl_badtimes(data, config, pflags, figpos, yr)
% cl_badtimes(data, config, pflags, figwidgh, yr)
%
% This program does not stand alone: it is a callback for gautoedit 
%
% data should have data.dday, data.bins, data.[fn] ('fn' is field name)
% config is from agetmat(prefix)
% yr is yearbase
% click on the endpoints and  it adds an entry to badtimes.asc 
%     with bad profile times

prefix = 'a_';  %for gautoedit
outfile = 'abadtimes.asc';   	% writes here by default

config.flagged = pflags;


%%% specific to gautoedit
buttonhandle = findobj('Tag','cl_badtimesButton');
buttonstrings = get(buttonhandle, 'string');
buttonval = get(buttonhandle, 'value');
buttonstring = buttonstrings{buttonval};

set(buttonhandle, 'value', 1);

fighandle = findobj('Tag','gautoedit_fig');
AA = get(fighandle,'userdata');

if (isfield(data, buttonstring))
   fprintf('selecting bad time range from data field %s\n', buttonstring)
   fn = buttonstring;
else
   fprintf('select a field from the popup menu to use for profile deletion\n')
end


badtimefig = figure;
set(gcf, 'menubar','none','toolbar','none', 'pos', ...
         [figpos(1:3) round(figpos(4)/4)])
whitebg(gcf,'w')
new_pos = [.08 NaN .92 NaN];   %(new xstart and new width)
ax1 = axes;
pos = get(ax1, 'pos');

set(ax1, 'pos', [new_pos(1)  pos(2) new_pos(3) pos(4)])

if (strcmp(fn, 'uabs_sm') | ...
    strcmp(fn, 'vabs_sm') | ...
    strcmp(fn, 'fabs_sm') )
   config.var_range = [-60 60];
end

config.xlim = [config.start_dd config.start_dd+config.ddrange];
cfg = aplotit(data, config, 'cur_ax', ax1, 'fn', fn);

axes(cfg.cur_ax)

tr = ginput(2);
tr = tr(:,1)';

%------------------------ start copy from mkbadtimes --------------------
te = data.dday;                       % ensemble times
[nsm, nc]=size(te);
 
[ntr, nn]=size(tr);	

% create a logical mask, the size of t, where value is set
%  to 1 for those times which fall within the timeranges

onesec = 1/86400;


%since we clicked on a pcolor plot, the timestamp for a given stripe 
%  is the timestamp BEFORE the ginput value.  Find those ensemble times:

i_use = find( (te>= tr(1)) & (te<= tr(2))  );
[ne,ns]=size(i_use);

tbad=te(i_use);

tbad=tbad-onesec;		% subtract one second to ensure our times are 
                     %before ensemble times in codasdb

ddate=to_date(yr,tbad,'s');	% convert to string format

fil=[ -1 0 0 ];
fill=fil(ones(length(tbad),1),:);	% first 3 columns

%create an ASCII file in the format as same as badprf.asc


aa=ddate(:,1:19);
bb='  -1    0   0 ';
bb=bb(ones(length(tbad),1),:);
cc=[bb aa];
  FID=fopen(outfile, 'a');
	for ii=1:length(tbad)
		fprintf(FID,'%31s\n',cc(ii,:));
	end
fclose(FID);

fprintf('wrote %d bad profile times to %s\n', length(tbad), outfile)


set(badtimefig, 'position',  [figpos(1:3) round(figpos(4)/4)]);
close(badtimefig);