%Funkce NalezeniVlnDelky složí k automatickému výběru vlnové délky. Pokud
%uživatel použije první tlačítko Použít, program vybere vhodnou vlnovou délku
%v zadaném rozmezí. Toto proběhne když parametr není roven 1. V jiném případě
%uživatel použil druhé tlačítko použít pro konkrétní vlnovou délku a
%program použije vlnovou délku vybranou uživatelem. V kažedém případě dojde
%k ověření zadaných vstupů u editujících polí. 

function [index_vln_delka, vysl_vln_delka] = NalezeniVlnDelky(master_str, parametr,val, handles)
if parametr == 2
     %ověření vstupů
    if ~isempty(get(handles.ThisWvlE, 'String')) && ~isnan(str2double(get(handles.ThisWvlE, 'String')))
        aa = get(handles.ThisWvlE, 'String');
    else
         warndlg('Chyba - špatně zvolená vlnová délka.', 'Chyba');  
    end
    uu = (min(master_str{val}.mat_x)-1);
    vysl_vln_delka = str2double(aa);
    index_vln_delka = vysl_vln_delka-uu;






else 
    [poc_vln,poc_stupnu] = size(master_str{val}.mat_y);
    suma = zeros(1,poc_stupnu);
    %ověření vstupů
    if ~isempty(get(handles.StartVwlE, 'String')) && ~isnan(str2double(get(handles.StartVwlE, 'String')))
        zadany_start = str2double(get(handles.StartVwlE, 'String'));
    else
         warndlg('Chyba - špatně zvolená vlnová délka.', 'Chyba');
    end
    if ~isempty(get(handles.StopWvlE, 'String')) && ~isnan(str2double(get(handles.StopWvlE, 'String')))
        zadany_stop = str2double(get(handles.StopWvlE, 'String'));
    else
         warndlg('Chyba - špatně zvolená vlnová délka.', 'Chyba');  
    end
    uu = (min(master_str{val}.mat_x)-1);
    start = minus(zadany_start,uu);
    stop =  minus(zadany_stop,uu);
    odecet = zeros(poc_vln,1);
    for k = 1:poc_stupnu 
            for i = start:stop
                 suma(1,k) = suma(1,k) + master_str{val}.mat_y(i,k);    
            end
    end
    [soucet_max,index_max] = max(suma);    
    [soucet_min,index_min] = min(suma);    
    % diferenční spektrum
    for i = start:stop
        odecet(i) = minus(master_str{val}.mat_y(i,index_max),master_str{val}.mat_y(i,index_min));      
    end
    odecet_spread = odecet(start:stop);
    % v dif. spektru najde vhodnou vlnovou délku (max)
    [vysl_max,wvl_delka] = max(odecet_spread);
    index_vln_delka = wvl_delka+start-1;
    vysl_vln_delka = index_vln_delka+uu;
end
