function ttestforgroups
%   This software is protected by german copyright and international treaties.             
%   Copyright 2004 Markus Junghöfer & Peter Peyk. All Rights Reserved.                     
%                                                                                          
%   THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE        
%   NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO,    
%   WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE    
%   OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS,
%   TRADEMARKS OR OTHER RIGHTS. COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT,       
%   INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE      
%   OR DOCUMENTATION.                                                                      
global gruppcell cellstr vergleichecell anzahldims anzahlstimuli dim paramat

xachsenpopup=findobj('tag','xachsenpopup');
aktivexachsecell=get(xachsenpopup,'String');
aktivexachse=get(xachsenpopup,'Value');

yachsenpopup=findobj('tag','yachsenpopup');
aktiveyachsecell=get(yachsenpopup,'String');
aktiveyachse=get(yachsenpopup,'Value');

zachsenpopup=findobj('tag','zachsenpopup');
aktivezachsecell=get(zachsenpopup,'String');
aktivezachse=get(zachsenpopup,'Value');

gruppenpopup=findobj('tag','gruppenpopup');
aktivegruppecell=get(gruppenpopup,'String');
aktivegruppe=get(gruppenpopup,'Value');

    
if iscell(aktivexachse)
    aktivexachse=aktivexachse{1};
end
aktivexachse=aktivexachse;
 if iscell(aktiveyachse)
    aktiveyachse=aktiveyachse{1};
end
aktiveyachse=aktiveyachse;

if iscell(aktivegruppe)
        aktivegruppe=aktivegruppe{1};
end    
aktivegruppe=aktivegruppe;


elements=finddiffel(paramat(:,find(strcmp(gruppcell{aktivegruppe},dim))-1));
anzahlgruppen=length(elements);
celladressmat=elements';
tteststimnummercell=cell(anzahlgruppen,1);
for i=1:anzahlgruppen
    tteststimnummercell{i}=find(elements(i)==paramat(:,find(strcmp(gruppcell{aktivegruppe},dim))-1));
end
gleichreqs=cell(noverr(anzahlgruppen,2),4);
combis=nchoosek(celladressmat,2);
for h=1:size(combis,1)
        gleichreqs{h,1}=h;
        gleichreqs{h,2}=combis(h,1);
        gleichreqs{h,3}=combis(h,2);
        gleichreqs{h,4}=dim{aktivexachse};
        gleichreqs{h,5}=0.05;
end
for h=(size(combis,1)+1):(2*size(combis,1))
        gleichreqs{h,1}=h;
        gleichreqs{h,2}=combis(h-size(combis,1),1);
        gleichreqs{h,3}=combis(h-size(combis,1),2);
        gleichreqs{h,4}=dim{aktiveyachse};
        gleichreqs{h,5}=0.05;
end








% %gruppengroessen
% groessenreqinds=zeros(1,3); % :  reqnumber ; gruppengroesse ; celladdress;
% j=1;
% 
% absolutreqs =cell(1,4); % reqnumber; absolutWert ; celladdress ; dimension; operator;
% k=1;
% 
% kleinerreqs = cell(1,4); %reqnumber; cell1adress; cell2adress; dimension; alpha;
% l_k=1;
% 
% groesserreqs = cell(1,4); %reqnumber; cell1adress; cell2adress; dimension; alpha;
% l_g=1;
% 
% gleichreqs = cell(1,4); %reqnumber; cell1adress; cell2adress; dimension; alpha;
% l_e=1;

 fprintf(1,'Zellengroessen:\n\n');
 
 for k=1:anzahlgruppen
     fprintf(1,['Zelle ',num2str(k),': ',num2str(length(tteststimnummercell{k})),' Items\n']);
 end
 
 fprintf(1,'\n');
 
 fprintf(1,'\n');
 fprintf(1,'Deskriptive Statistik (Mittelwert):\n\n');
 
 fprintf(1,'Zelle\t');
 for k=2:size(dim,2)-1
     fprintf(1,[dim{k},'\t']);
 end
 fprintf(1,'\n');
 fprintf(1,'--------------------------------------------\n');
 
 for k=1:length(celladressmat)
     fprintf(1,['Zelle',num2str(celladressmat(k)),':']);
     for l=2:size(dim,2)-1
        fprintf(1,[,'\t',num2str(mean(paramat(tteststimnummercell{k},l-1)))]);
     end
     fprintf(1,'\n');
 end
 fprintf(1,'--------------------------------------------\n');
 fprintf(1,'\n\n');

%gleichreqs
if ~isempty(gleichreqs{1,1})
    fprintf(1,'Gleichheitsbedingungen:\n\n');
    for j=1:size(gleichreqs,1)
        fprintf(1,['Bedingung ',num2str(j),': Zelle ',num2str(gleichreqs{j,2}),' = Zelle ',num2str(gleichreqs{j,3}),' auf ', gleichreqs{j,4},': p = ']);
        cell1adress=gleichreqs{j,2};
        cell2adress=gleichreqs{j,3};
        cell1anzahlstim=length(tteststimnummercell{find(elements==cell1adress)});
        cell2anzahlstim=length(tteststimnummercell{find(elements==cell2adress)});
        sample1=zeros(cell1anzahlstim,1);
        sample2=zeros(cell2anzahlstim,1);
        for dimzaehler=1:length(dim)
            if ~isempty(findstr(dim{dimzaehler},gleichreqs{j,4}))
                dimnummer=dimzaehler;
            end
        end
        for zaehler=1:cell1anzahlstim
            sample1(zaehler,1)=paramat(tteststimnummercell{find(elements==cell1adress)}(zaehler),dimnummer);
        end
        for zaehler=1:cell2anzahlstim
            sample2(zaehler,1)=paramat(tteststimnummercell{find(elements==cell2adress)}(zaehler),dimnummer);
        end
        h=0;
        if var(sample1)*var(sample2)~=0
           [h,significance,ci] = ttest2(sample1,sample2,gleichreqs{j,5},0);
            fprintf(1,'%6.4f',significance);
            fprintf(1,'\n');
        else
           fprintf(1,['keine Varianz!\n']); 
        end
    end
end 


msgbox('Ergebnisse im Command-window!','Achtung:');
return