function [err,tasktest] = TaskTest (N_runs, polort, N_basis, N_tasks, Task, N_base)
%
%   [err,] = ContrTest ()
%
%Purpose:
%   
% Generate matrix for the -glt option in 3dDevolve  
%   
%Input Parameters:
%   
%   
%   
%Output Parameters:
%   err : 0 No Problem
%       : 1  Problems
%   
%   
%      
%Key Terms:
%   
%More Info :
%   
%   
%   
%
%     Author : Gang Chen
%     Date : Mon Jul 21 18:25:31 EDT 2003
%     SSCC/NIMH/ National Institutes of Health, Bethesda Maryland


%Define the function name for easy referencing
FuncName = 'TaskTest';

%Debug Flag
DBG = 1;

%initailize return variables
err = 1;

%Create a matrix so that 3dDeconvolve uses for regressor test.

mtrx = zeros(N_tasks, (polort+1)*N_runs+N_basis*N_tasks+N_base);    %for each run, there are (polort+1) paramters in the baseline model
fprintf(1, 'Your task vectors for -glt options are:\n');

for (i = 1:1:N_tasks),
   fprintf(1,'No. %i task vector = ', i);
	tasktest(i).name = sprintf('%s_task.1D',Task(i).Label);
   fid = fopen(tasktest(i).name, 'w');
	for (j = 1:1:N_basis),
%		mtrx(i,(i-1)*N_basis+j+(polort+1)*N_runs) = 1;  %Assign one 1 for each basis function of every task 
      mtrx((i-1)*N_basis+j,(i-1)*N_basis+j+(polort+1)*N_runs) = 1; 
		for (k = 1:1:(polort+1)*N_runs+N_basis*N_tasks+N_base),
		   fprintf(1, '%g	', mtrx((i-1)*N_basis+j,k));
		   fprintf(fid, '%g ', mtrx((i-1)*N_basis+j,k));
	   end
      fprintf(fid, '\n');
	end
%	for (k = 1:1:(polort+1)*N_runs+N_basis*N_tasks),
%		fprintf(1, '%g	', mtrx(i,k));
%		fprintf(fid, '%g ', mtrx(i,k));
%	end
	fprintf(1, '\n');
	fclose(fid);	
end	

err = 0;
return;
