function  MBKS_zobraz_priradenie_sluzieb(n, m, z, weekend_indx, XOPT)
% Funkcia, ktora sluzi na zostavenie grafu, ktory obsahuje rozpis sluzieb
% na dane planovane obdobie pre kazdu sestru a kazdu smenu.
%
% Volanie
%   MBKS_zostav_zobrazenie1(n, m, z, weekend_indx, XOPT)
% Vstup:
%   n - pocet sestier
%   m - pocet dni planovaneho obdobia
%   z - pocet smien
%   weekend_indx - index vikendov 
%   XOPT2 - riesenie v tvare viacrozmernej matice
% Výstup:
%   Graf priradednia sestier na smeny
%% ABOUT
% Zobrazenie priradenia sestier na smeny prevedieme pomocou funkcie
% imagesc. Z vysledkov v XOPT2 si najskor potrebujeme vytvorit vhodnu
% maticu SLUZBY. Tato matica bude v rozmere n*z krat m, t.j. riadky
% odpovedaju sestram a smenam, prvych k riadkov predstavuje k smien pre
% prvu sestru, dalsich k riadkov k smien druhej sestry atd. Vo vystupe su
% zvyraznene vikendove dni odpovedajuce vikendovym indexom. Dalej sa
% prechadzaju prvky matice XOPT2, a teda tam kde je hodnota 1 sa
% na odpovedajucu poziciu (nie totozna) v matici SLUZBY vlozi hodnota 2, v
% obrazku modro zvyraznene. 

%% Zoznam sestier 
for i = 1:n
    sestra{i} = sprintf('Sestra %d ',i);
end

%% Deklaracia a populacia matice sluzieb
SLUZBY = zeros(n*z,m);

for i = 1:(n*z)
    for j = 1:m
        if any(weekend_indx == j) % Podmienka, ktora priraduje hodnotu jedna na poziciu odpovedajucu vikendom
            SLUZBY(i,j) = 1;
        end
    end
end

cr = 1;
for i = 1:n
    for k = 1:z
        for j = 1:m
            if XOPT(i,j,k) > 0.5 % Podmienka, ktora priraduje hodnutu 2 na poziciu odpovedajucu jednotlivym sluzbam sestier
                SLUZBY(cr,j) = 2;
            end
        end
        cr = cr + 1;
    end
end

%% Vykreslenie smien pre jednotlive sestry
imagesc(0.5:m,1:(n*z),SLUZBY) % Vykreslenie sluzieb 
set(gca,'xtick',1:m);
set(gca,'ytick',1:3:(n*z),'yticklabel',sestra);
axis tight;
set(gca,'xtick',0:20:m)
set(gca,'xlimmode','manual','ylimmode','manual','layer','bottom');
hold all;
xlabel('Den','FontSize',12);
ylabel('Sestra a smena','FontSize',12);

%% Grid
for i = 0.5:(n*z) + 0.5
    plot(xlim,[i i],'k');
end
for i = 0:m
    plot([i i], ylim,'k');
end

for i = 0.5:z:((n*z) + 0.5)
    plot(xlim,[i i],'k','LineWidth',2);
end

for i = 0:7:m
    plot([i i], ylim,'k','LineWidth',2);
end
plot([m m], ylim,'k','LineWidth',2);
plot([0 0], ylim,'k','LineWidth',2);

title('Priradednie sestier na smeny','FontSize',16);
colormap([1 1 1; 1 0.97 0.8; 0 0.5 1]);

end