#include "declare.h"
void help(int mst)
{
  FILE *fhlp;
  int i;
  int hlp[26][2]={
                {0,5},  // 0 - задание      
                {26,3}, // 1 - исходные данные
                {0,0},  // 2 - область
		{0,0},  // 3 - результаты
		{0,0},  // 4 - выход
		{5,2},  // 5 - моделирование
		{36,3}, // 6 - фильтрация
		{12,2}, // 7 - идентификация
		{39,3}, // 8 - вычисление информационной матрицы
		{42,4}, // 9 - планирование оптимального входа
		{29,7}, //10 - загрузить
		{0,0},  //11 - задать модель
		{0,0},  //12 - сохранить конфигурацию
		{0,0},  //13 - временная
		{0,0},  //14 - частотная
		{0,0},  //15 - просмотр
		{0,0},  //16 - вывод
        	{0,0},  //17 - с сохранением
		{0,0},  //18 - без сохранения
		{7,3},  //19 - шаг интегрирования
		{10,2}, //20 - расчет
		{14,4}, //21 - ридж-оценивание
		{18,3}, //22 - коридоры фильтрации
		{0,0},  //23 - расчет
		{21,3}, //24 - наблюдения
		{24,2}  //25 - управления
                };
  extern int s_v;
  extern char win[5][6];
  union REGS r;  
  char *hlp_line;
  char *buf_help;
  if(!hlp[mst][1]) return;
  buf_help = new char [1500];
  hlp_line = new char [50];
  fhlp = fopen("hlp.tch","r");  
            for(i=0;i<=13;++i) save_video(win[4][0],win[4][1]+i,win[4][2]-win[4][0]+3,buf_help);
            s_v = 0;
            make_window(win[4][0],win[4][1],win[4][2],win[4][3],win[4][5],1);
            menu(35,win[4][1]," Справка ",win[4][5]);
            maliar_space(win[4][0]+1,win[4][1]+1,win[4][2]-1,win[4][3]-1,win[4][4]);
            maliar(win[4][2]+1,win[4][1]+1,win[4][2]+2,win[4][3]+1,8);
	    maliar(win[4][0]+1,win[4][3]+1,win[4][2],win[4][3]+1,8);
	    fseek(fhlp,49*hlp[mst][0],SEEK_SET);
	     for(i=0;i<hlp[mst][1];i++)
	     {
	      fgets(hlp_line,49,fhlp);
	      r.h.ah = 2;
	      r.h.bh = 0;
	      r.h.dl = win[4][0]+1;
	      r.h.dh = win[4][1]+i+1;
	      int86(0x10,&r,&r); 
	      puts(hlp_line);
             }
	    r.h.ah = 2;
            r.h.bh = 0;
            r.x.dx = 0x1900;
            int86(0x10,&r,&r);
            bioskey(0);
            for(i=0;i<=13;++i) restore_video(win[4][0],win[4][1]+i,win[4][2]-win[4][0]+3,buf_help);            delete hlp_line;
            s_v = 0;
            delete buf_help;
            fclose(fhlp);
}