function [ydot,isterminal,direction] = fkt(t,y,flag)
% system of differential equations 
% for the jogger-dog problem
% where the jogger runs with constant 
% velocity on an ellipse 
global a b m c w
A =  cos(y(3)); B =  sin(y(3));
X = m(1) + a*A; Y = m(2) + b*B;
h = [X;Y] -y(1:2); nh = norm(h);
zs =  (w/nh)*h;

if nargin < 3 | isempty(flag) % normal output
    ydot = [zs;c/sqrt((a*B)^2+(b*A)^2)];
else
    switch(flag)
    case 'events' % at norm(h)=0 there is a singularity
        ydot= nh-(1e-3); % zero crossing at pos_dog=pos_jogger
        isterminal= 1;   % this is a stopping event 
        direction= 0;    % don't care if decrease or increase
    otherwise
        error(['Unknown flag ''' flag '''.']);
    end
end

