anchor.diff:                                     true, false, Self.VyhPrestavenaNC, Self.VyhNeprestavenaNC);
          end;
   
  -      Self.fstaveni.nextVyhybka := stavim;
  +      Self.fstaveni.nextVyhybka := nextVyhybka;
   
         writelog('Krok 100: prejezdy: uzaviram', WR_VC);
         for i := 0 to Self.fproperties.Prejezdy.Count-1 do
  
positive.code:  if (Self.fstaveni.nextVyhybka < Self.fproperties.Vyhybky.Count) then
    begin
     // stavim dalsi vyhybku
  
     for i := Self.fstaveni.nextVyhybka to Self.fproperties.Vyhybky.Count-1 do
      begin
       Blky.GetBlkByID(Self.fproperties.Vyhybky[i].Blok, Blk);
       if (not (Blk as TBlkVyhybka).Stav.locked) then
        begin
         (Blk as TBlkVyhybka).SetPoloha(TVyhPoloha(Self.fproperties.Vyhybky[i].Poloha),
                                        true, false, Self.VyhPrestavenaNC, Self.VyhNeprestavenaNC);
         if ((Blk as TBlkVyhybka).Poloha <> TVyhPoloha(Self.fproperties.Vyhybky[i].Poloha)) then
          begin
           Self.fstaveni.nextVyhybka := i+1;
           Exit();
          end;
        end;
      end;
  
     // sem se skoci, pokud vsechny zbyvajici vyhybky byly ve spravne poloze
     Self.fstaveni.nextVyhybka := Self.fproperties.Vyhybky.Count;
    end;
  
   if (Self.fstaveni.nextVyhybka < Self.fproperties.Vyhybky.Count+Self.fproperties.Odvraty.Count) then
    begin
     odvrat := Self.fstaveni.nextVyhybka - Self.fproperties.Vyhybky.Count;
     for i := odvrat to Self.fproperties.Odvraty.Count-1 do
      begin
       // nastaveni odvratu
       Blky.GetBlkByID(Self.fproperties.Odvraty[i].Blok, Blk);
       if (not (Blk as TBlkVyhybka).Stav.locked) then
        begin
         TBlkVyhybka(Blk).SetPoloha(TVyhPoloha(Self.fproperties.Odvraty[i].Poloha),
                                    true, false, Self.VyhPrestavenaNC, Self.VyhNeprestavenaNC);
         if ((Blk as TBlkVyhybka).Poloha <> TVyhPoloha(Self.fproperties.Odvraty[i].Poloha)) then
          begin
           Self.fstaveni.nextVyhybka := i+1;
           Exit();
          end;
        end;
      end;
  
     // sem se skoci, pokud vsechny zbyvajici odvraty byly ve spravne poloze
     Self.fstaveni.nextVyhybka := -1;
    end;
  end;//procedure
  
  ////////////////////////////////////////////////////////////////////////////////
  
negative.code: 
        Self.fstaveni.nextVyhybka := -1;
        stavim := 0;
        nextVyhybka := -1;
        for i := 0 to Self.fproperties.Vyhybky.Count-1 do
         begin
          Blky.GetBlkByID(Self.fproperties.Vyhybky[i].Blok, Blk);
          if ((Blk as TBlkVyhybka).Poloha <> TVyhPoloha(Self.fproperties.Vyhybky[i].Poloha)) then
           begin
            if (stavim >= _JC_MAX_VYH_STAVENI) then
             begin
              if (nextVyhybka = -1) then
                nextVyhybka := i;
              continue;
             end;
            Inc(stavim);
           end;
  
  