 function [vP,R2,vT,zP,Q,kP,S,kT]=vyrovnaniDelek(vP,R,vT,zP,Q,kP,S,kT,fvz)
i=0;
while sum(abs(diff([length(vP),length(R),length(vT),length(zP),length(Q),length(kP),length(S),length(kT)])))>0 && i<10
    i=i+1;
    m=zP(1); % vyrovnani poctu zacatku, aby byly urceny jen cele cykly
    if Q(1)<m
        Q(1)=[];
    end
    if kT(1)<m
        kT(1)=[];
    end
    if vT(1)<m
        vT(1)=[];
    end
    if kP(1)<m
        kP(1)=[];
    end
    if vP(1)<m
        vP(1)=[];
    end
    if S(1)<m
        S(1)=[];
    end
    if R(1)<m
        R(1)=[];
    end

    %vyrovnani poctu koncu
    m=kT(end)-20;
    if Q(end)>m
        Q(end)=[];
    end
    if zP(end)>m
        zP(end)=[];
    end
    if vT(end)>m
        vT(end)=[];
    end
    if kP(end)>m
        kP(end)=[];
    end
    if vP(end)>m
        vP(end)=[];
    end
    if S(end)>m
        S(end)=[];
    end
    if R(end)>m
        R(end)=[];
    end
end
R2=R;
    if i==10
        k=1;
        R=[0 R 2*max(R)];
        if sum(S<R(2))~=0
            S(S<R(2))=[];
        end
        if sum(vT<R(2))~=0
            vT(vT<R(2))=[];
        end
        if sum(kT<R(2))~=0
            kT(kT<R(2))=[];
        end
       for i=2:length(R)-1
           rTed=R(i);rPred=R(i-1);rPo=R(i+1);
           if sum(zP<=rTed&zP>=rPred)~=1
               zP(zP<=rTed&zP>=rPred)=[];
               vP(vP<=rTed&vP>=rPred)=[];
               kP(kP<=rTed&kP>=rPred)=[];
               Q(Q<=rTed&Q>=rPred)=[];
               R2(i-k)=[];k=k+1;
               S(S>=rTed&S<=rPo)=[];
               vT(vT>=rTed&vT<=rPo)=[];
               kT(kT>=rTed&kT<=rPo)=[];
           elseif sum(vP<=rTed&vP>=rPred)~=1
               zP(zP<=rTed&zP>=rPred)=[];
               vP(vP<=rTed&vP>=rPred)=[];
               kP(kP<=rTed&kP>=rPred)=[];
               Q(Q<=rTed&Q>=rPred)=[];
               R2(i-k)=[];k=k+1;
               S(S>=rTed&S<=rPo)=[];
               vT(vT>=rTed&vT<=rPo)=[];
               kT(kT>=rTed&kT<=rPo)=[];
           elseif sum(kP<=rTed&kP>=rPred)~=1
               zP(zP<=rTed&zP>=rPred)=[];
               vP(vP<=rTed&vP>=rPred)=[];
               kP(kP<=rTed&kP>=rPred)=[];
               Q(Q<=rTed&Q>=rPred)=[];
               R2(i-k)=[];k=k+1;
               S(S>=rTed&S<=rPo)=[];
               vT(vT>=rTed&vT<=rPo)=[];
               kT(kT>=rTed&kT<=rPo)=[];
           elseif sum(Q<=rTed&Q>=rPred)~=1
               zP(zP<rTed&zP>rPred)=[];
               vP(vP<rTed&vP>rPred)=[];
               kP(kP<rTed&kP>rPred)=[];
               Q(Q<rTed&Q>rPred)=[];
               R2(i-k)=[];k=k+1;
               S(S>rTed&S<rPo)=[];
               vT(vT>rTed&vT<rPo)=[];
               kT(kT>rTed&kT<rPo)=[];
           elseif sum(S>=rTed&S<=rPo)~=1
               zP(zP<=rTed&zP>=rPred)=[];
               vP(vP<=rTed&vP>=rPred)=[];
               kP(kP<=rTed&kP>=rPred)=[];
               Q(Q<=rTed&Q>=rPred)=[];
               R2(i-k)=[];k=k+1;
               S(S>=rTed&S<=rPo)=[];
               vT(vT>=rTed&vT<=rPo)=[];
               kT(kT>=rTed&kT<=rPo)=[];
           elseif sum(vT>=rTed&vT<=rPo)~=1
               zP(zP<=rTed&zP>=rPred)=[];
               vP(vP<=rTed&vP>=rPred)=[];
               kP(kP<=rTed&kP>=rPred)=[];
               Q(Q<=rTed&Q>=rPred)=[];
               R2(i-k)=[];k=k+1;
               S(S>=rTed&S<=rPo)=[];
               vT(vT>=rTed&vT<=rPo)=[];
               kT(kT>=rTed&kT<=rPo)=[];
           elseif sum(kT>=rTed&kT<=rPo)~=1
               zP(zP<=rTed&zP>=rPred)=[];
               vP(vP<=rTed&vP>=rPred)=[];
               kP(kP<=rTed&kP>=rPred)=[];
               Q(Q<=rTed&Q>=rPred)=[];
               R2(i-k)=[];k=k+1;
               S(S>=rTed&S<=rPo)=[];
               vT(vT>=rTed&vT<=rPo)=[];
               kT(kT>=rTed&kT<=rPo)=[];
           end
       end
       if sum(zP>R2(end))~=0
            zP(zP>R2(end))=[];
       end
       if sum(vP>R2(end))~=0
            vP(vP>R2(end))=[];
       end
       if sum(kP>R2(end))~=0
            kP(kP>R2(end))=[];
       end
       if sum(Q>R2(end))~=0
            Q(Q>R2(end))=[];
       end
    end
 end
