function [ diaI diaIstr ] = getTestDate ( D1, diaIstr, delta, showError )
%
% Verifica se a data 'diaIstr' esta contida nos limites.
% Se for dia nao util:
%     delta > 0    ==>   Passa ao primeiro dia util seguinte
%     delta < 0    ==>   Passa ao primeiro dia util anterior
%     delta = 0    ==>   Nao faz qualquer alteracao
% 
% 'showError' - E' uma opcao para dar ou nao mensagem de erro
%
%    diaI = getTestDate (DataStructD1, diaIstr, 1, 1);
%
diaInum = datenum(diaIstr);

if ((diaInum < D1.nDate(1)) || (diaInum > D1.nDate(end)))
    s1 = datestr(D1.nDate(1));
    s2 = datestr(D1.nDate(end));
    if (showError == 1)
        fprintf ('\n  ERRO-O ficheiro tem datas entre %s e %s\n\n', s1, s2);
    end
    diaI = (-1);
    return;
end

if (delta > 0)
    delta = 1;
end
if (delta < 0)
    delta = (-1);
end

diaI = find (D1.nDate == diaInum);
while ((size(diaI,1) == 0) && (diaInum <= D1.nDate(end)) && (delta ~= 0))
    diaInum = diaInum + delta;
    diaI = find (D1.nDate == diaInum);
end
diaIstr = datestr(D1.nDate(diaI));

end

