function  MBKS_zobraz_pocty_vikendovych_zmien(n, m, z, w, max_wknd_den, weekend_indx, XOPT)
% Funkcia, ktora sluzi na zostavenie grafu, ktory zobrazuje pocet
% vikendovych a nevikendovych smien jednotlivych sestier za cele obdobie 
%
% Volanie
%    MBKS_zostav_zobrazenie4(n, m, z, w, max_wknd_den, weekend_indx, XOPT)
% Vstup:
%   n - pocet sestier
%   m - pocet dni planovaneho obdobia
%   z - pocet smien
%   max_wknd_den - max pocet vikendovych pracovnych dni za periodu m
%   weekend_indx - index vikendovych dni
%   XOPT - riesenie v tvare viacrozmernej matice
% Výstup:
%   Graf poctu vikendovych a nevikendovych smien jednotlivych sestier za
%   cele obdobie
%% ABOUT
% Zobrazenie poctu vikendovych a nevikendovych smien jednotlivych sestier
% za cele obdobie sa vytvara pomocou funkcie bar a k tomu pomocou funkcie
% plot sa zobrazuje maximalny pocet vikendovych smien ((w-max_wknd_den) zo
% zadania). Tu vypocitame dva stlpcove vektory. Prvy obsahujuci pocet
% vsetkych typov smien kazdej sestry cez vikend (VIKEND(i)) obsahuje
% sucet XOPT(i,j,k) cez vsetky k a cez vsetky dni, ktorych index je
% week_indx. Duhy (PRACOVNI(i)) je podobna suma, len s rozdielom, ze
% obsahuje sucet cez vsetky indexy dni, ktore niesu vo weekend_indx.
% Nasledne sa vykresluje matica, ktorej prvy stlpec je vektor VIKEND a
% druhy stlpec je vektor PRACOVNI. 

%% Deklaracia a populacia matice sluzieb cez vikend, cez pracovne dni a matice poctu smien
vknd = ones(1,n) * (w - max_wknd_den); % Inicializacia vektorov
VIKEND = zeros(1,n);
PRACOVNI = zeros(1,n);
POCTY_SMIEN = zeros(n,m);

for i = 1:n
    for j = 1:m
        for k = 1:z
            POCTY_SMIEN(i,j) = sum(XOPT(i,j,:)); % Naplnenie matice 
        end
    end
end

for i = 1:n
    VIKEND(1,i) = sum(POCTY_SMIEN(i,weekend_indx)); % Naplnenie vektoru VIKEND
end

for i = 1:n
    PRACOVNI(1,i) = sum(POCTY_SMIEN(i,1:(m - w))); % Naplnenie vektoru PRACOVNI
end

VIKENDPRAC = [VIKEND',PRACOVNI']; % Zlozenie matice z vektorov

%% Vykreslenie poctu smien jednotlivych sestier cez vikendy a pracovne dni
bar(VIKENDPRAC,'stacked') % Vykreslenie poctu smien cez vikendove a pracovne dni
hold on;
plot(vknd,'b:.','linewidth',3) % Vykreslenie max poctu vikendovych dni
hold off;
grid off;
title(['Počty smien jednotlivých sestier cez víkendové a pracovné dni'],'FontSize',16);
legend({'Víkendové smeny','Smeny v pracovné dni','Maximálny počet víkendových dní'},'Location','northeastoutside');
xlabel('Sestra','fontsize',12);
ylabel('Počty smien v danom období','fontsize',12);

end