function ayuda(action);
%Perteneciente al programa MECDI

if nargin<1,
    action='initialize';
end;
	%********************Ventana y ejes
if strcmp(action,'initialize'),

    fay=figure( ...
      'Name','MECDI:Ayuda', ...
      'resize','off','color',[0 .5 .6],...
      'NumberTitle','off','units','normalized', ...
	'Visible','off','menubar','none','pointer','watch', ...
	'Position',[.2 .2 .6 .7]);

    %===================================
    % Set up the Help Window
    top=0.95;
    left=0.05;
    right=0.75;
    bottom=0.05;
    labelHt=0.05;
    spacing=0.005;

    % First, the Text Window frame
    frmBorder=0.02;
    frmPos=[left-frmBorder bottom-frmBorder ...
        (right-left)+2*frmBorder (top-bottom)+2*frmBorder];
    uicontrol( ...
        'Style','frame', ...
        'Units','normalized', ...
        'Position',frmPos, ...
	'BackgroundColor',[0.5 0.5 0.6]);
    % Then the text label
    labelPos=[left top-labelHt (right-left) labelHt];
    tit=uicontrol( ...
	'Style','text', ...
        'Units','normalized', ...
        'Position',labelPos, ...
        'BackgroundColor',[0.5 0.5 0.6], ...
        'ForegroundColor',[1 1 1], ...
        'String',' ');
    	txtPos=[left bottom (right-left) top-bottom-labelHt-spacing];
    	tay=uicontrol( ...
    	    'Style','edit', ...
    	    'Units','normalized', ...
          'HorizontalAlignment','left', ...
    	    'Max',20, ...
    	    'String',' ', ...
    	    'BackgroundColor',[1 1 1], ...
	    'Visible','on', ...
    	    'Position',txtPos);

    %====================================
    % Information for all buttons
    labelColor=[0.8 0.8 0.8];
    top=0.95;
    bottom=0.05;
    yInitPos=0.80;
    left=0.80;
    btnWid=0.15;
    btnHt=0.10;
    % Spacing between the button and the next command's label
    spacing=0.05;

    %====================================
    % The CONSOLE frame
    frmBorder=0.02;
    yPos=bottom-frmBorder;
    frmPos=[left-frmBorder yPos btnWid+2*frmBorder 0.9+2*frmBorder];
    uicontrol( ...
        'Style','frame', ...
        'Units','normalized', ...
        'Position',frmPos, ...
	'BackgroundColor',[0.5 0.5 0.6]);

    %====================================
    % All required BUTTONS
	uicontrol( ...
    	    'Style','pushbutton', ...
    	    'Units','normalized', ...
    	    'Position',[left top-btnHt btnWid btnHt], ...
    	    'String','INDICE', ...
	    'Userdata',[tay,tit], ...
	    'Visible','on', ...
    	    'Callback','ayuda(''INDICE'');');
	uicontrol( ...
    	    'Style','pushbutton', ...
    	    'Units','normalized', ...
    	    'Position',[left top-btnHt-(btnHt+spacing) btnWid btnHt], ...
    	    'String','T1', ...
	    'Userdata',[tay,tit], ...
	    'Visible','on', ...
    	    'Callback','ayuda(''T1'');');
	uicontrol( ...
    	    'Style','pushbutton', ...
    	    'Units','normalized', ...
    	    'Position',[left top-btnHt-2*(btnHt+spacing) btnWid btnHt], ...
    	    'String','T2', ...
	    'Userdata',[tay,tit], ...
	    'Visible','on', ...
    	    'Callback','ayuda(''T2'');');
	uicontrol( ...
    	    'Style','pushbutton', ...
    	    'Units','normalized', ...
    	    'Position',[left top-btnHt-3*(btnHt+spacing) btnWid btnHt], ...
    	    'String','T3', ...
	    'Userdata',[tay,tit], ...
	    'Visible','on', ...
    	    'Callback','ayuda(''T3'');');
	uicontrol( ...
    	    'Style','pushbutton', ...
    	    'Units','normalized', ...
    	    'Position',[left top-btnHt-4*(btnHt+spacing) btnWid btnHt], ...
    	    'String','T4', ...
	    'Userdata',[tay,tit], ...
	    'Visible','on', ...
    	    'Callback','ayuda(''T4'');');
    %====================================
    % The CLOSE button
    uicontrol( ...
        'Style','pushbutton', ...
        'Units','normalized', ...
        'Position',[left 0.05 btnWid 0.10], ...
        'String','CERRAR', ...
        'Callback','close(gcf);');

  ayuda1= ...           
        ['                                                  '  
         ' Bienvenido a la Ayuda de MECDI.                  '  
         '                                                  '  
         ' Seleccione en el menú derecho el Tema de Ayuda   '  
         ' que desee visualizar:                            '  
         '                                                  '  
         '  T1: Introducción de los parámetros de diseño.   '  
         '                                                  '  
         '  T2: Elección del tipo de análisis.              '  
         '                                                  '  
         '  T3: Introducción de variables y Resultados.     '
         '                                                  '  
         '  T4: Almacenamiento de resultados.               '  
         '                                                  ' 
         '  Puede regresar a esta pantalla pulsando INDICE  '  
         '                                                  '];

set(fay,'Visible','on');
set(fay,'pointer','arrow');
set(tay,'string',ayuda1);
set(tit,'string','INDICE');

elseif strcmp(action,'INDICE'),
  ayuda1= ...           
        ['                                                  '  
         ' Bienvenido a la Ayuda de MECDI.                  '  
         '                                                  '  
         ' Seleccione en el menú derecho el Tema de Ayuda   '  
         ' que desee visualizar:                            '  
         '                                                  '  
         '  T1: Introducción de los parámetros de diseño.   '  
         '                                                  '  
         '  T2: Elección del tipo de análisis.              '  
         '                                                  '  
         '  T3: Introducción de variables y Resultados.     '
         '                                                  '  
         '  T4: Almacenamiento de resultados.               '  
         '                                                  ' 
         '  Puede regresar a esta pantalla pulsando INDICE  '  
         '                                                  '];

us=get(gco,'userdata');
tay=us(1); tit=us(2);
set(tay,'string',ayuda1);
set(tit,'string','INDICE');
elseif strcmp(action,'T1'),

  ayuda2= ...           
        ['                                                  '  
         ' Se realiza en la primera pantalla que aparece al '  
         ' arrancar el programa, o bien al pulsar el botón  '  
         ' NUEVO situado en la parte inferior derecha de    '
         ' cualquiera de las pantallas de análisis que      '  
         ' posee el programa.                               ' 
         '                                                  '  
         ' Aparece una lista de parámetros cuyos valores hay'  
         ' que introducir en los campos correspondientes, y '  
         ' dentro de los rangos establecidos.               '  
         '                                                  ' 
         '                                                  '  
         ' Los valores pueden ser introducidos manualmente, '  
         ' o bien cargarlos desde un archivo *.mat con el   '  
         ' botón EXAMINAR. Dicho archivo debe haber sido    '  
         ' creado previamente con el botón GUARDAR.         '  
         '                                                  ' 
         '                                                  '  
         '                                                  '  
         ' Pulsando ACEPTAR se procesarán todos los datos.  '];

us=get(gco,'userdata');
tay=us(1); tit=us(2);
set(tay,'string',ayuda2);
set(tit,'string','T1: Introducción de los parámetros de diseño');

elseif strcmp(action,'T2'),

  ayuda3= ...           
        ['                                                  '  
         ' Una vez terminado de procesar los parámetros de  '  
         ' diseño, aparece una pantalla donde podemos       '  
         ' observar como el programa analiza los parámetros '
         ' intoducidos.                                     '
         '                                                  '  
         '                                                  '  
         ' Después nos saldrá una pantalla donde elegiremos '  
         ' el tipo de análisis a realizar al motor          '
         '                                                  '  
         '   1.Ánalisis particular                          '  
         '       Nos permite un análisis pormenorizado del  '  
         '       comportamiento del motor.                  '  
         '                                                  '  
         '   2.Propiedades según régimen de giro            '
         '       Podemos conocer las prestaciones del motor '  
         '       según el régimen de giro.                  '  
         '                                                  '  
         '   3.Propiedades según el ángulo de inyección     '  
         '      Veremos las variaciones en el comportamiento'  
         '      del motor con el ángulo de inyección.       '  
         '                                                  '  
         ' Esta pantalla también estará activa al pulsar el '
         ' botón ANÁLISIS de cualquiera de las pantallas    '
         ' de ánalisis disponibles en el programa.          '
         '                                                  '  
         ' Esta pantalla, al igual que la anterior, tiene la'  
         ' posibilidad de abortar el programa con el botón  '  
         ' CANCELAR.                                        '
         '                                                  '];

us=get(gco,'userdata');
tay=us(1); tit=us(2);
set(tay,'string',ayuda3);
set(tit,'string','T2: Elección del tipo de ánalisis');

elseif strcmp(action,'T3'),

  ayuda4= ...           
        ['                                                   '  
         ' Una vez elegido el tipo de análisis a realizar    '  
         ' el programa nos lleva a la pantalla de análisis y '  
         ' resultados que hallamos elegido.                  '
         '                                                   '  
         ' Para comenzar el análisis tenemos que pulsar el   '
         ' botón ACEPTAR, no sin antes haber elegido los     '  
         ' valores correspondientes a las revoluciones, EGR, '  
         ' Inyección o Carga, según el caso.                 '  
         '                                                   '  
         ' Además en esta pantalla tenemos la posibilidad de '  
         ' ver los parámetros del motor pulsando el botón    '  
         ' PARAMETROS.                                       '  
         '                                                   '  
         '                                                   '  
         ' Una vez el programa a terminado el análisis, los  '  
         ' resultados los podremos visualizar en formato     '  
         ' gráfico sin más que pulsar cualquiera de los      '  
         ' botones del apartado GRÁFICOS.                    '  
         '                                                   '  
         ' Si nos encontramos en la pantalla de análisis     '  
         ' particular podremos ver los resultados numéricos  '  
         ' pulsando el botón RESULTADOS.                     '  
         '                                                   '];

us=get(gco,'userdata');
tay=us(1); tit=us(2);
set(tay,'string',ayuda4);
set(tit,'string','T3: Introducción de variables y Resultados . ');

elseif strcmp(action,'T4'),

  ayuda5= ...           
        ['                                                   '  
         ' Los resultados obtenidos por el programa, pueden  '  
         ' ser guardados como archivo de texto o como archivo'  
         ' binario *.mat (para un procesamiento posterior con'
         ' otro programa).                                   '
         '                                                   '
         '                                                   '
         ' Guardar como archivo de texto:                    '
         '                                                   '
         ' El menú Archivo de la pantalla principal, contiene'  
         ' el submenú Guardar tex..., que permite guardar los'
         ' datos de entrada y los resultados en el archivo   '
         ' especificado.                                     '
         '                                                   '
         '                                                   '
         ' Guardar como archivo binario *.mat:               ' 
         '                                                   '
         ' El menú Archivo de la pantalla principal, contiene'  
         ' el submenú Guardar bin..., que permite guardar los'
         ' datos de entrada y los resultados en el archivo   '
         ' especificado.                                     '
         '                                                   '
         ' En este caso sólo se almacenarán los números, y no'  
         ' las cadenas de caracteres. Estarán ordenados como '  
         ' en el archivo de texto (pero sin líneas en blanco,'
         ' y separados entre sí por una tabulación).         '
         '                                                   '
         '                                                   '
         ' El menú Archivo también nos permite visualizar    '
         ' cualquier archivo de resultados que haya sido     '
         ' guardado previamente                              '
         '                                                   '];


us=get(gco,'userdata');
tay=us(1); tit=us(2);
set(tay,'string',ayuda5);
set(tit,'string','T4: Guardar resultados en archivo');

end